<?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>57250</bug_id>
          
          <creation_ts>2011-03-28 11:03:53 -0700</creation_ts>
          <short_desc>check-webkit-style confused by two ChangeLog entries in a row from same user</short_desc>
          <delta_ts>2011-03-29 19:01:25 -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>Windows 7</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="Jeff Miller">jeffm</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>levin</cc>
    
    <cc>paroga</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>374615</commentid>
    <comment_count>0</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-03-28 11:03:53 -0700</bug_when>
    <thetext>Earlier today, in r82114, I checked in a rubber-stamped change to WebKitLibraries without a bug number in WebKitLibraries/ChangeLog.  Then, I uploaded a patch for &lt;https://bugs.webkit.org/show_bug.cgi?id=57195&gt; at 2011-03-28 10:45 PST which also included a change to WebKitLibraries (with a bug number in the ChangeLog).  However, check-webkit-style failed on WebKitLibraries/ChangeLog for the patch with:

WebKitLibraries/ChangeLog:15:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]

I think it&apos;s confused by my earlier rubber-stamped ChangeLog entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374636</commentid>
    <comment_count>1</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-28 11:33:09 -0700</bug_when>
    <thetext>Bummer I specifically got this added to the tests that went in with that change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374705</commentid>
    <comment_count>2</comment_count>
    <who name="Jeff Miller">jeffm</who>
    <bug_when>2011-03-28 13:08:48 -0700</bug_when>
    <thetext>I&apos;m also seeing this with my patch for https://bugs.webkit.org/show_bug.cgi?id=57262</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374712</commentid>
    <comment_count>3</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-28 13:16:19 -0700</bug_when>
    <thetext>Hmmm, I don&apos;t see the reason for the false positive at the moment. I need to test this on my &quot;WebKit machine&quot;. :-(
Unfortunally I don&apos;t have time to look at this before tomorrow. I&apos;ll take care of this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374915</commentid>
    <comment_count>4</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-28 17:35:32 -0700</bug_when>
    <thetext>
I know what is going wrong with one of them:
1. The diff came out &quot;funny&quot; due to the entries in succession. When the checker logs the error for line 15 (for the following entry which has no bug number). the error filter allows the error to go through because this line is in the diff.

2. For bug 57262, the checker was correct that the ChangeLog entry starting at line 13 had no bug number but line 13 was not part of the patch for the error filter should have removed this.

We can fix these by limiting the lines given to the main check function to be just the added lines. (Of course, we&apos;ll have to adjust the lines where the errors are reported if this approach is taken.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>374929</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-28 18:08:25 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; 2. For bug 57262, the checker was correct that the ChangeLog entry starting at line 13 had no bug number but line 13 was not part of the patch for the error filter should have removed this.

Ah. 

For this one it is the same problem as #1. Even though the patch doesn&apos;t show line 13 as being part of the patch, the patch is applied locally and when the diff is done locally, then the line 1 is not part of the diff but line 13 is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375097</commentid>
    <comment_count>6</comment_count>
      <attachid>87279</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 01:03:51 -0700</bug_when>
    <thetext>Created attachment 87279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375103</commentid>
    <comment_count>7</comment_count>
      <attachid>87279</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-29 01:20:42 -0700</bug_when>
    <thetext>Comment on attachment 87279
Patch

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

LGTM

&gt; Tools/Scripts/webkitpy/style/checkers/changelog_unittest.py:-43
&gt; -

Hmmm, my style checker wanted this empty line before def.

&gt; Tools/Scripts/webkitpy/style/checkers/changelog_unittest.py:79
&gt; +                          &apos;        Example bug&apos;
&gt; +                          &apos;\n&apos;

\n into the same line

&gt; Tools/Scripts/webkitpy/style/checkers/changelog_unittest.py:106
&gt;      def test_no_error(self):

Maybe you can add an empty one too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375106</commentid>
    <comment_count>8</comment_count>
      <attachid>87279</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-29 01:24:19 -0700</bug_when>
    <thetext>Comment on attachment 87279
Patch

We ahve code for fixing up ChagneLog diffs somewehre.  Seems check-webkit-style would only want to scan the current ChangeLog and ignore the rest of hte diff.  (I haven&apos;t really looked at your patch, mabye that&apos;s what it does)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375108</commentid>
    <comment_count>9</comment_count>
      <attachid>87281</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 01:26:44 -0700</bug_when>
    <thetext>Created attachment 87281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375110</commentid>
    <comment_count>10</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 01:31:37 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 87279 [details])
&gt; We ahve code for fixing up ChagneLog diffs somewehre.  Seems check-webkit-style would only want to scan the current ChangeLog and ignore the rest of hte diff.  (I haven&apos;t really looked at your patch, mabye that&apos;s what it does)

Yes basically it does only look at the current ChangeLog.

(In reply to comment #7)
&gt; (From update of attachment 87279 [details])
&gt; &gt; Tools/Scripts/webkitpy/style/checkers/changelog_unittest.py:-43
&gt; &gt; -
&gt; 
&gt; Hmmm, my style checker wanted this empty line before def.

It still does. It doesn&apos;t complain about my patch because the error gets filtered out (due to it being a deleted line) -- tricky case.

Thanks for noticing.

Addressed the other two comments also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375111</commentid>
    <comment_count>11</comment_count>
      <attachid>87281</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-29 01:33:28 -0700</bug_when>
    <thetext>Comment on attachment 87281
Patch

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

&gt; Tools/Scripts/webkitpy/style/checkers/changelog_unittest.py:89
&gt; +                          &apos;2011-01-01  Patrick Gansterer  &lt;paroga@paroga.com&gt;\n&apos;
&gt; +                          &apos;\n        Example bug&apos;
&gt; +                          &apos;\n        http://trac.webkit.org/changeset/12345\n&apos;)

The other lines have the \n only at the end

&gt; Tools/Scripts/webkitpy/style/checkers/changelog_unittest.py:111
&gt; +        self.assert_no_error([],
&gt; +                             &apos;2011-01-01  Patrick Gansterer  &lt;paroga@paroga.com&gt;\n&apos;
&gt; +                             &apos;\n&apos;
&gt; +                             &apos;        Example bug\n&apos;
&gt; +                             &apos;        http://bugs.webkit.org/show_bug.cgi?id=12345\n&apos;)

Thx, maybe we can add and &quot;invalid&quot; entry with emty range too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375406</commentid>
    <comment_count>12</comment_count>
      <attachid>87342</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 09:10:50 -0700</bug_when>
    <thetext>Created attachment 87342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375408</commentid>
    <comment_count>13</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 09:12:47 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 87281 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87281&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/style/checkers/changelog_unittest.py:89
&gt; &gt; +                          &apos;2011-01-01  Patrick Gansterer  &lt;paroga@paroga.com (:paroga) (c)&gt;\n&apos;
&gt; &gt; +                          &apos;\n        Example bug&apos;
&gt; &gt; +                          &apos;\n        http://trac.webkit.org/changeset/12345\n&apos;)
&gt; 
&gt; The other lines have the \n only at the end

Fixed.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/style/checkers/changelog_unittest.py:111
&gt; &gt; +        self.assert_no_error([],
&gt; &gt; +                             &apos;2011-01-01  Patrick Gansterer  &lt;paroga@paroga.com (:paroga) (c)&gt;\n&apos;
&gt; &gt; +                             &apos;\n&apos;
&gt; &gt; +                             &apos;        Example bug\n&apos;
&gt; &gt; +                             &apos;        http://bugs.webkit.org/show_bug.cgi?id=12345\n&apos;)
&gt; 
&gt; Thx, maybe we can add and &quot;invalid&quot; entry with emty range too.

I don&apos;t understand because I think the lines which start with
  self.assert_error(2, range(2, 5), &apos;changelog/bugnumber&apos;
already do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375585</commentid>
    <comment_count>14</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-29 11:31:45 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; I don&apos;t understand because I think the lines which start with
&gt;   self.assert_error(2, range(2, 5), &apos;changelog/bugnumber&apos;
&gt; already do this.

I mean sth like the following:

+        self.assert_no_error([],
+                             &apos;2011-01-01  Patrick Gansterer  &lt;paroga@paroga.com&gt;\n&apos;
+                             &apos;\n&apos;
+                             &apos;        Example ChangeLog entry out of range\n&apos;
+                             &apos;        http://example.com/\n&apos;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375615</commentid>
    <comment_count>15</comment_count>
      <attachid>87381</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 11:53:28 -0700</bug_when>
    <thetext>Created attachment 87381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375616</commentid>
    <comment_count>16</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-29 11:53:55 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; I don&apos;t understand because I think the lines which start with
&gt; &gt;   self.assert_error(2, range(2, 5), &apos;changelog/bugnumber&apos;
&gt; &gt; already do this.
&gt; 
&gt; I mean sth like the following:

ok. done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375968</commentid>
    <comment_count>17</comment_count>
      <attachid>87381</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2011-03-29 18:23:24 -0700</bug_when>
    <thetext>Comment on attachment 87381
Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375988</commentid>
    <comment_count>18</comment_count>
      <attachid>87381</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 19:01:21 -0700</bug_when>
    <thetext>Comment on attachment 87381
Patch

Clearing flags on attachment: 87381

Committed r82382: &lt;http://trac.webkit.org/changeset/82382&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375989</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-29 19:01:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87279</attachid>
            <date>2011-03-29 01:03:51 -0700</date>
            <delta_ts>2011-03-29 01:26:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57250-20110329010349.patch</filename>
            <type>text/plain</type>
            <size>16241</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIxNDQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyOTFlYjUyMDhjMDk4MTJkMTE1ZDAzZjg4MmMzYjI3MTMz
YTQzY2Q3Li5lNTY0ODA4ZjEwZmNkZjY5YTQ3ODIyNThkOTVkOWNiOGZiOWY0N2RkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDMtMjkgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNoZWNrLXdlYmtpdC1z
dHlsZSBjb25mdXNlZCBieSB0d28gQ2hhbmdlTG9nIGVudHJpZXMgaW4gYSByb3cgZnJvbSBzYW1l
IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3
MjUwCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHk6IEFkZCB0
aGUgbGluZSBzaG91bGQgYmUgY2hlY2tlZCBmdW5jdGlvbiB0byBDaGFuZ2VMb2dDaGVja2VyLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weTogRml4
IHRlc3QgZHVlIHRvIHRoYXQgbmV3IGZ1bmN0aW9uLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5OiBNYWRlIHRoaXMgY29kZSBhd2FyZSBvZiB3
aGF0IGxpbmVzIHdlcmUgYmVpbmcgY2hlY2tlZC4KKyAgICAgICAgICBJdCBiYXNpY2FsbHkgYXNz
dW1lcyBvbmx5IG9uZSBDaGFuZ2VMb2cgZW50cnkgaXMgYmVpbmcgcHJvY2Vzc2VkIGJlY2F1c2Ug
dGhhdCBpcyB0aGUgc3RhbmRhcmQgY2FzZSBhbmQKKyAgICAgICAgICBjaGVja2luZyBtb3JlIHRo
YW4gdGhhdCB3b3VsZCBiZSB2ZXJ5IG1lc3NleS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NoYW5nZWxvZ191bml0dGVzdC5weTogQWRkIHRlc3RpbmcgdG8gY2F0
Y2ggdGhlIGJyb2tlbiBjYXNlLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJy
b3JfaGFuZGxlcnMucHk6IEFkZGVkIHNob3VsZF9saW5lX2JlX2NoZWNrZWQuCisKIDIwMTEtMDMt
MjggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5w
eQppbmRleCA1YTc3NzEwMTFmYWI3MDk5MDcxYTk2YjhlOTBhMmE0NDZkOTViM2Y1Li40OGFiY2Y5
YmY2NWVhMGZkNmZkODRiZGY4NWU3ZjMxYjYwZWJhNmExIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2VyLnB5CkBAIC00OTgsNyArNDk4LDEwIEBAIGNsYXNzIENoZWNrZXJEaXNw
YXRjaGVyKG9iamVjdCk6CiAgICAgICAgIGlmIGZpbGVfdHlwZSA9PSBGaWxlVHlwZS5OT05FOgog
ICAgICAgICAgICAgY2hlY2tlciA9IE5vbmUKICAgICAgICAgZWxpZiBmaWxlX3R5cGUgPT0gRmls
ZVR5cGUuQ0hBTkdFTE9HOgotICAgICAgICAgICAgY2hlY2tlciA9IENoYW5nZUxvZ0NoZWNrZXIo
ZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAgICAgICBzaG91bGRfbGluZV9i
ZV9jaGVja2VkID0gTm9uZQorICAgICAgICAgICAgaWYgaGFuZGxlX3N0eWxlX2Vycm9yOgorICAg
ICAgICAgICAgICAgIHNob3VsZF9saW5lX2JlX2NoZWNrZWQgPSBoYW5kbGVfc3R5bGVfZXJyb3Iu
c2hvdWxkX2xpbmVfYmVfY2hlY2tlZAorICAgICAgICAgICAgY2hlY2tlciA9IENoYW5nZUxvZ0No
ZWNrZXIoZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIHNob3VsZF9saW5lX2JlX2NoZWNr
ZWQpCiAgICAgICAgIGVsaWYgZmlsZV90eXBlID09IEZpbGVUeXBlLkNQUDoKICAgICAgICAgICAg
IGZpbGVfZXh0ZW5zaW9uID0gc2VsZi5fZmlsZV9leHRlbnNpb24oZmlsZV9wYXRoKQogICAgICAg
ICAgICAgY2hlY2tlciA9IENwcENoZWNrZXIoZmlsZV9wYXRoLCBmaWxlX2V4dGVuc2lvbiwKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weQppbmRl
eCA4OTM1YzJkMWZlODE4YjQ1Nzg2OTM3MGM4ZmM2ZDExNDA4ZTRhNzNjLi4xNDRkNDBhMmJlZmI1
OWY2ODM5YWEzZjk5Y2ExOWYxYTY4ZjJhNzZlIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CkBAIC0zNjksMTIgKzM2OSwxMCBAQCBjbGFz
cyBDaGVja2VyRGlzcGF0Y2hlckRpc3BhdGNoVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAg
ICAiIiJUZXN0cyBkaXNwYXRjaCgpIG1ldGhvZCBvZiBDaGVja2VyRGlzcGF0Y2hlciBjbGFzcy4i
IiIKIAotICAgIGRlZiBtb2NrX2hhbmRsZV9zdHlsZV9lcnJvcihzZWxmKToKLSAgICAgICAgcGFz
cwotCiAgICAgZGVmIGRpc3BhdGNoKHNlbGYsIGZpbGVfcGF0aCk6CiAgICAgICAgICIiIkNhbGwg
ZGlzcGF0Y2goKSB3aXRoIHRoZSBnaXZlbiBmaWxlIHBhdGguIiIiCiAgICAgICAgIGRpc3BhdGNo
ZXIgPSBDaGVja2VyRGlzcGF0Y2hlcigpCisgICAgICAgIHNlbGYubW9ja19oYW5kbGVfc3R5bGVf
ZXJyb3IgPSBEZWZhdWx0U3R5bGVFcnJvckhhbmRsZXIoJycsIE5vbmUsIE5vbmUsIFtdKQogICAg
ICAgICBjaGVja2VyID0gZGlzcGF0Y2hlci5kaXNwYXRjaChmaWxlX3BhdGgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubW9ja19oYW5kbGVfc3R5bGVfZXJyb3Is
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbl9jb25maWRlbmNlPTMp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NoYW5n
ZWxvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9n
LnB5CmluZGV4IGZmNGIwN2ZlMzJhNmIyMTc0MDEzMWRlYTM1MDczYmZiYjZkYTc0MGMuLmRkNzc3
NWE5YjZkZDFjNmRhYTc2NWIwM2VmZTQ2Yzg0YzJlMzI0NGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5CkBAIC0zNCwxMiArMzQs
MTUgQEAgY2xhc3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogCiAgICAgIiIiUHJvY2Vzc2Vz
IHRleHQgbGluZXMgZm9yIGNoZWNraW5nIHN0eWxlLiIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIHNob3VsZF9saW5lX2JlX2NoZWNrZWQp
OgogICAgICAgICBzZWxmLmZpbGVfcGF0aCA9IGZpbGVfcGF0aAogICAgICAgICBzZWxmLmhhbmRs
ZV9zdHlsZV9lcnJvciA9IGhhbmRsZV9zdHlsZV9lcnJvcgorICAgICAgICBzZWxmLnNob3VsZF9s
aW5lX2JlX2NoZWNrZWQgPSBzaG91bGRfbGluZV9iZV9jaGVja2VkCiAgICAgICAgIHNlbGYuX3Rh
Yl9jaGVja2VyID0gVGFiQ2hlY2tlcihmaWxlX3BhdGgsIGhhbmRsZV9zdHlsZV9lcnJvcikKIAot
ICAgIGRlZiBjaGVja19lbnRyeShzZWxmLCBlbnRyeV9saW5lX251bWJlciwgZW50cnlfbGluZXMp
OgorICAgIGRlZiBjaGVja19lbnRyeShzZWxmLCBmaXJzdF9saW5lX2NoZWNrZWQsIGVudHJ5X2xp
bmVzKToKKyAgICAgICAgaWYgbm90IGVudHJ5X2xpbmVzOgorICAgICAgICAgICAgcmV0dXJuCiAg
ICAgICAgIGZvciBsaW5lIGluIGVudHJ5X2xpbmVzOgogICAgICAgICAgICAgaWYgcGFyc2VfYnVn
X2lkKGxpbmUpOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC00OCwyNiArNTEsMjQgQEAgY2xh
c3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogICAgICAgICAgICAgaWYgcmUuc2VhcmNoKCJi
dWlsZCIsIGxpbmUsIHJlLklHTk9SRUNBU0UpIGFuZCByZS5zZWFyY2goImZpeCIsIGxpbmUsIHJl
LklHTk9SRUNBU0UpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJvcihlbnRyeV9saW5lX251bWJlciArIDEsCisg
ICAgICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJvcihmaXJzdF9saW5lX2NoZWNrZWQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhbmdlbG9nL2J1Z251bWJlciIs
IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2hhbmdlTG9nIGVudHJ5
IGhhcyBubyBidWcgbnVtYmVyIikKIAogICAgIGRlZiBjaGVjayhzZWxmLCBsaW5lcyk6CiAgICAg
ICAgIHNlbGYuX3RhYl9jaGVja2VyLmNoZWNrKGxpbmVzKQotICAgICAgICBlbnRyeV9saW5lX251
bWJlciA9IDAKKyAgICAgICAgZmlyc3RfbGluZV9jaGVja2VkID0gMAogICAgICAgICBlbnRyeV9s
aW5lcyA9IFtdCi0gICAgICAgIHN0YXJ0ZWRfYXRfZmlyc3RfbGluZSA9IEZhbHNlCi0KLSAgICAg
ICAgZm9yIGxpbmVfbnVtYmVyLCBsaW5lIGluIGVudW1lcmF0ZShsaW5lcyk6Ci0gICAgICAgICAg
ICBpZiByZS5tYXRjaCgiXlxkezR9LVxkezJ9LVxkezJ9IiwgbGluZSk6Ci0gICAgICAgICAgICAg
ICAgaWYgbGluZV9udW1iZXI6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuY2hlY2tfZW50cnko
ZW50cnlfbGluZV9udW1iZXIsIGVudHJ5X2xpbmVzKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAgICAgICAgIHN0YXJ0ZWRfYXRfZmlyc3RfbGluZSA9IFRydWUKLSAgICAgICAg
ICAgICAgICBlbnRyeV9saW5lX251bWJlciA9IGxpbmVfbnVtYmVyCi0gICAgICAgICAgICAgICAg
ZW50cnlfbGluZXMgPSBbXQogCisgICAgICAgIGZvciBsaW5lX2luZGV4LCBsaW5lIGluIGVudW1l
cmF0ZShsaW5lcyk6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5zaG91bGRfbGluZV9iZV9jaGVj
a2VkKGxpbmVfaW5kZXggKyAxKToKKyAgICAgICAgICAgICAgICAjIElmIHdlIHRyYW5zaXRpb25l
ZCBmcm9tIGZpbmRpbmcgY2hhbmdlZCBsaW5lcyB0bworICAgICAgICAgICAgICAgICMgdW5jaGFu
Z2VkIGxpbmVzLCB0aGVuIHdlIGFyZSBkb25lLgorICAgICAgICAgICAgICAgIGlmIGZpcnN0X2xp
bmVfY2hlY2tlZDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBj
b250aW51ZQorICAgICAgICAgICAgaWYgbm90IGZpcnN0X2xpbmVfY2hlY2tlZDoKKyAgICAgICAg
ICAgICAgICBmaXJzdF9saW5lX2NoZWNrZWQgPSBsaW5lX2luZGV4ICsgMQogICAgICAgICAgICAg
ZW50cnlfbGluZXMuYXBwZW5kKGxpbmUpCiAKLSAgICAgICAgaWYgc3RhcnRlZF9hdF9maXJzdF9s
aW5lOgotICAgICAgICAgICAgc2VsZi5jaGVja19lbnRyeShlbnRyeV9saW5lX251bWJlciwgZW50
cnlfbGluZXMpCisgICAgICAgIHNlbGYuY2hlY2tfZW50cnkoZmlyc3RfbGluZV9jaGVja2VkLCBl
bnRyeV9saW5lcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvY2hhbmdlbG9nX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKaW5kZXggNDE0ZTRmZWY0MWU0Y2QwNWMy
YmJkZGRiNzFlNGVmZGVlZWI5NWUxZi4uM2IwODY4ZWYyYWEwMDQyMDNiOTFiYjI1Y2JjZjNhZDlm
YjZmMTU1YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vy
cy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKQEAgLTMyLDU5ICszMiwxMTIgQEAgaW1w
b3J0IHVuaXR0ZXN0CiBjbGFzcyBDaGFuZ2VMb2dDaGVja2VyVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgIiIiVGVzdHMgQ2hhbmdlTG9nQ2hlY2tlciBjbGFzcy4iIiIKIAotICAgIGRlZiBh
c3NlcnRfbm9fZXJyb3Ioc2VsZiwgY2hhbmdlbG9nX2RhdGEpOgorICAgIGRlZiBhc3NlcnRfbm9f
ZXJyb3Ioc2VsZiwgbGluZXNfdG9fY2hlY2ssIGNoYW5nZWxvZ19kYXRhKToKICAgICAgICAgZGVm
IGhhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJlciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1l
c3NhZ2UpOgotICAgICAgICAgICAgc2VsZi5mYWlsKCdVbmV4cGVjdGVkIGVycm9yOiAlZCAlcyAl
ZCAlcycgJSAobGluZV9udW1iZXIsIGNhdGVnb3J5LCBjb25maWRlbmNlLCBtZXNzYWdlKSkKLSAg
ICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5DaGFuZ2VMb2dDaGVja2VyKCdDaGFuZ2VMb2cnLCBo
YW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAgICAgICBzZWxmLmZhaWwoJ1VuZXhwZWN0ZWQgZXJy
b3I6ICVkICVzICVkICVzIGZvclxuJXMnICUgKGxpbmVfbnVtYmVyLCBjYXRlZ29yeSwgY29uZmlk
ZW5jZSwgbWVzc2FnZSwgY2hhbmdlbG9nX2RhdGEpKQorICAgICAgICBzZWxmLmxpbmVzX3RvX2No
ZWNrID0gc2V0KGxpbmVzX3RvX2NoZWNrKQorICAgICAgICBjaGVja2VyID0gY2hhbmdlbG9nLkNo
YW5nZUxvZ0NoZWNrZXIoJ0NoYW5nZUxvZycsIGhhbmRsZV9zdHlsZV9lcnJvciwgc2VsZi5tb2Nr
X3Nob3VsZF9saW5lX2JlX2NoZWNrZWQpCiAgICAgICAgIGNoZWNrZXIuY2hlY2soY2hhbmdlbG9n
X2RhdGEuc3BsaXQoJ1xuJykpCiAKLSAgICBkZWYgYXNzZXJ0X2Vycm9yKHNlbGYsIGV4cGVjdGVk
X2xpbmVfbnVtYmVyLCBleHBlY3RlZF9jYXRlZ29yeSwgY2hhbmdlbG9nX2RhdGEpOgorICAgIGRl
ZiBhc3NlcnRfZXJyb3Ioc2VsZiwgZXhwZWN0ZWRfbGluZV9udW1iZXIsIGxpbmVzX3RvX2NoZWNr
LCBleHBlY3RlZF9jYXRlZ29yeSwgY2hhbmdlbG9nX2RhdGEpOgogICAgICAgICBzZWxmLmhhZF9l
cnJvciA9IEZhbHNlCi0KICAgICAgICAgZGVmIGhhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJl
ciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1lc3NhZ2UpOgogICAgICAgICAgICAgc2VsZi5oYWRf
ZXJyb3IgPSBUcnVlCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBlY3RlZF9saW5l
X251bWJlciwgbGluZV9udW1iZXIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBl
Y3RlZF9jYXRlZ29yeSwgY2F0ZWdvcnkpCi0KLSAgICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5D
aGFuZ2VMb2dDaGVja2VyKCdDaGFuZ2VMb2cnLCBoYW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAg
IHNlbGYubGluZXNfdG9fY2hlY2sgPSBzZXQobGluZXNfdG9fY2hlY2spCisgICAgICAgIGNoZWNr
ZXIgPSBjaGFuZ2Vsb2cuQ2hhbmdlTG9nQ2hlY2tlcignQ2hhbmdlTG9nJywgaGFuZGxlX3N0eWxl
X2Vycm9yLCBzZWxmLm1vY2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKICAgICAgICAgY2hlY2tl
ci5jaGVjayhjaGFuZ2Vsb2dfZGF0YS5zcGxpdCgnXG4nKSkKICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKHNlbGYuaGFkX2Vycm9yKQogCiAgICAgZGVmIG1vY2tfaGFuZGxlX3N0eWxlX2Vycm9yKHNl
bGYpOgogICAgICAgICBwYXNzCiAKKyAgICBkZWYgbW9ja19zaG91bGRfbGluZV9iZV9jaGVja2Vk
KHNlbGYsIGxpbmVfbnVtYmVyKToKKyAgICAgICAgcmV0dXJuIGxpbmVfbnVtYmVyIGluIHNlbGYu
bGluZXNfdG9fY2hlY2sKKwogICAgIGRlZiB0ZXN0X2luaXQoc2VsZik6Ci0gICAgICAgIGNoZWNr
ZXIgPSBjaGFuZ2Vsb2cuQ2hhbmdlTG9nQ2hlY2tlcignQ2hhbmdlTG9nJywgc2VsZi5tb2NrX2hh
bmRsZV9zdHlsZV9lcnJvcikKKyAgICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5DaGFuZ2VMb2dD
aGVja2VyKCdDaGFuZ2VMb2cnLCBzZWxmLm1vY2tfaGFuZGxlX3N0eWxlX2Vycm9yLCBzZWxmLm1v
Y2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hl
Y2tlci5maWxlX3BhdGgsICdDaGFuZ2VMb2cnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhj
aGVja2VyLmhhbmRsZV9zdHlsZV9lcnJvciwgc2VsZi5tb2NrX2hhbmRsZV9zdHlsZV9lcnJvcikK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hlY2tlci5zaG91bGRfbGluZV9iZV9jaGVja2Vk
LCBzZWxmLm1vY2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKIAogICAgIGRlZiB0ZXN0X21pc3Np
bmdfYnVnX251bWJlcihzZWxmKToKLSAgICAgICAgZW50cmllcyA9IFsKLSAgICAgICAgICAgICcy
MDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAg
ICAgIEV4YW1wbGUgYnVnJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0
ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPVxuJywKLSAgICAgICAgICAg
ICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4g
ICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD1cbicsCi0gICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVy
ZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cblxuICAgICAgICBFeGFtcGxlIGJ1Z1xuICAgICAgICBo
dHRwOi8vd2Via2l0Lm9yZy9iL1xuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4g
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyMzQ1XG4nLAotICAgICAg
ICAgICAgJ0V4YW1wbGUgYnVnXG4gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaVxuXG4yMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2Eu
Y29tPlxuJywKLSAgICAgICAgICAgICdFeGFtcGxlIGJ1Z1xuICAgICAgICBNb3JlIHRleHQgYWJv
dXQgYnVnLlxuXG4yMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2Eu
Y29tPlxuJywKLSAgICAgICAgXQotCi0gICAgICAgIGZvciBlbnRyeSBpbiBlbnRyaWVzOgotICAg
ICAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgJ2NoYW5nZWxvZy9idWdudW1iZXInLCBlbnRy
eSkKKyAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgcmFuZ2UoMSwgMjApLCAnY2hhbmdlbG9n
L2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAg
ICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUg
YnVnXG4nKQorICAgICAgICBzZWxmLmFzc2VydF9lcnJvcigxLCByYW5nZSgxLCAyMCksICdjaGFu
Z2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEg
IFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgRXhh
bXBsZSBidWdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cDovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9XG4nKQorICAgICAgICBzZWxmLmFzc2VydF9l
cnJvcigxLCByYW5nZSgxLCAyMCksICdjaGFuZ2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBh
cm9nYS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJyAgICAgICAgRXhhbXBsZSBidWcnCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPVxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRf
ZXJyb3IoMSwgcmFuZ2UoMSwgMjApLCAnY2hhbmdlbG9nL2J1Z251bWJlcicsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBw
YXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUgYnVnXG4nCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICcgICAgICAgIGh0dHA6Ly93ZWJraXQub3JnL2IvXG4nKQorICAgICAgICBzZWxm
LmFzc2VydF9lcnJvcigxLCByYW5nZSgxLCAyMCksICdjaGFuZ2Vsb2cvYnVnbnVtYmVyJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICdcbiAgICAg
ICAgRXhhbXBsZSBidWcnCisgICAgICAgICAgICAgICAgICAgICAgICAgICdcbiAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTIzNDVcbicpCisgICAgICAgIHNlbGYuYXNz
ZXJ0X2Vycm9yKDIsIHJhbmdlKDIsIDUpLCAnY2hhbmdlbG9nL2J1Z251bWJlcicsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9n
YUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBFeGFt
cGxlIGJ1Z1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2lcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
J1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5z
dGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
JyAgICAgICAgQW5vdGhlciBjaGFuZ2VcbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X2Vycm9yKDIs
IHJhbmdlKDIsIDYpLCAnY2hhbmdlbG9nL2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29t
PlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBNb3JlIHRleHQgYWJvdXQgYnVnLlxu
JworICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxu
JworICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICcgICAgICAgIE5vIGJ1ZyBpbiB0aGlzIGNoYW5nZS5cbicpCiAKICAgICBkZWYgdGVzdF9u
b19lcnJvcihzZWxmKToKLSAgICAgICAgZW50cmllcyA9IFsKLSAgICAgICAgICAgICcyMDExLTAx
LTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4
YW1wbGUgYnVnXG4gICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMzQ1XG4nLAotICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8
cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAgICAgRXhhbXBsZSBidWdcbiAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG4nLAotICAgICAgICAgICAg
JzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAg
ICAgICAgRXhhbXBsZSBidWdcbiAgICAgICAgaHR0cDovL3dlYmtpdC5vcmcvYi8xMjM0NVxuJywK
LSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJv
Z2EuY29tPlxuXG4gICAgICAgIFVucmV2aWV3IGJ1aWxkIGZpeCBmb3IgcjEyMzQ1LlxuJywKLSAg
ICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2Eu
Y29tPlxuXG4gICAgICAgIEZpeCBidWlsZCBhZnRlciBhIGJhZCBjaGFuZ2UuXG4nLAotICAgICAg
ICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+
XG5cbiAgICAgICAgRml4IGV4YW1wbGUgcG9ydCBidWlsZC5cbicsCi0gICAgICAgICAgICAnRXhh
bXBsZSBidWdcbiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMzQ1XG5cbjIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5j
b20+XG4nLAotICAgICAgICBdCi0KLSAgICAgICAgZm9yIGVudHJ5IGluIGVudHJpZXM6Ci0gICAg
ICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJvcihlbnRyeSkKKyAgICAgICAgc2VsZi5hc3NlcnRf
bm9fZXJyb3IocmFuZ2UoMSwgMjApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjAx
MS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cbicKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
ICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjM0NVxuJykK
KyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IocmFuZ2UoMSwgMjApLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FA
cGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTIzNDVcbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X25vX2Vycm9yKHJhbmdl
KDEsIDIwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgRXhh
bXBsZSBidWdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cDov
L3dlYmtpdC5vcmcvYi8xMjM0NVxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IocmFu
Z2UoMSwgMjApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0
cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBV
bnJldmlldyBidWlsZCBmaXggZm9yIHIxMjM0NS5cbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X25v
X2Vycm9yKHJhbmdlKDEsIDIwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEt
MDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JyAgICAgICAgRml4IGJ1aWxkIGFmdGVyIGEgYmFkIGNoYW5nZS5cbicpCisgICAgICAgIHNlbGYu
YXNzZXJ0X25vX2Vycm9yKHJhbmdlKDEsIDIwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4n
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJyAgICAgICAgRml4IGV4YW1wbGUgcG9ydCBidWlsZC5cbicpCisgICAgICAgIHNl
bGYuYXNzZXJ0X25vX2Vycm9yKHJhbmdlKDIsIDYpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5c
bicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgRXhhbXBsZSBidWdcbicK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICcgICAgICAgIE5vIGJ1ZyBoZXJlIVxuJykKIAogaWYgX19uYW1lX18gPT0gJ19f
bWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvc3R5bGUvZXJyb3JfaGFuZGxlcnMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2Vycm9yX2hhbmRsZXJzLnB5CmluZGV4IDBiZWRlMjQyOTcxYTg0MjNlYjA1YzdjYWJm
YzY0OTUxYzRiNzFiMDIuLjVkOGIwNDFkNmZlMjg2MGJkMWJhNzA3NjQ5ZGFkZmI2MjI3ZjBiZWYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJyb3JfaGFuZGxlcnMu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9lcnJvcl9oYW5kbGVycy5weQpA
QCAtMTIzLDE2ICsxMjMsMTggQEAgY2xhc3MgRGVmYXVsdFN0eWxlRXJyb3JIYW5kbGVyKG9iamVj
dCk6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICByZXR1cm4gc2VsZi5fY29uZmln
dXJhdGlvbi5tYXhfcmVwb3J0c19wZXJfY2F0ZWdvcnlbY2F0ZWdvcnldCiAKKyAgICBkZWYgc2hv
dWxkX2xpbmVfYmVfY2hlY2tlZChzZWxmLCBsaW5lX251bWJlcik6CisgICAgICAgICJSZXR1cm5z
IGlmIGEgcGFydGljdWxhciBsaW5lIHNob3VsZCBiZSBjaGVja2VkIgorICAgICAgICAjIFdhcyB0
aGUgbGluZSB0aGF0IHdhcyBtb2RpZmllZD8KKyAgICAgICAgcmV0dXJuIHNlbGYuX2xpbmVfbnVt
YmVycyBpcyBOb25lIG9yIGxpbmVfbnVtYmVyIGluIHNlbGYuX2xpbmVfbnVtYmVycworCiAgICAg
ZGVmIF9fY2FsbF9fKHNlbGYsIGxpbmVfbnVtYmVyLCBjYXRlZ29yeSwgY29uZmlkZW5jZSwgbWVz
c2FnZSk6CiAgICAgICAgICIiIkhhbmRsZSB0aGUgb2NjdXJyZW5jZSBvZiBhIHN0eWxlIGVycm9y
LgogCiAgICAgICAgIFNlZSB0aGUgZG9jc3RyaW5nIG9mIHRoaXMgbW9kdWxlIGZvciBtb3JlIGlu
Zm9ybWF0aW9uLgogCiAgICAgICAgICIiIgotICAgICAgICBpZiAoc2VsZi5fbGluZV9udW1iZXJz
IGlzIG5vdCBOb25lIGFuZAotICAgICAgICAgICAgbGluZV9udW1iZXIgbm90IGluIHNlbGYuX2xp
bmVfbnVtYmVycyk6Ci0gICAgICAgICAgICAjIFRoZW4gdGhlIGVycm9yIG9jY3VycmVkIGluIGEg
bGluZSB0aGF0IHdhcyBub3QgbW9kaWZpZWQsIHNvCi0gICAgICAgICAgICAjIHRoZSBlcnJvciBp
cyBub3QgcmVwb3J0YWJsZS4KKyAgICAgICAgaWYgbm90IHNlbGYuc2hvdWxkX2xpbmVfYmVfY2hl
Y2tlZChsaW5lX251bWJlcik6CiAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICBpZiBub3Qg
c2VsZi5fY29uZmlndXJhdGlvbi5pc19yZXBvcnRhYmxlKGNhdGVnb3J5PWNhdGVnb3J5LAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87281</attachid>
            <date>2011-03-29 01:26:44 -0700</date>
            <delta_ts>2011-03-29 09:10:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57250-20110329012643.patch</filename>
            <type>text/plain</type>
            <size>16507</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIxNDQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyOTFlYjUyMDhjMDk4MTJkMTE1ZDAzZjg4MmMzYjI3MTMz
YTQzY2Q3Li5lNTY0ODA4ZjEwZmNkZjY5YTQ3ODIyNThkOTVkOWNiOGZiOWY0N2RkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDMtMjkgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNoZWNrLXdlYmtpdC1z
dHlsZSBjb25mdXNlZCBieSB0d28gQ2hhbmdlTG9nIGVudHJpZXMgaW4gYSByb3cgZnJvbSBzYW1l
IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3
MjUwCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHk6IEFkZCB0
aGUgbGluZSBzaG91bGQgYmUgY2hlY2tlZCBmdW5jdGlvbiB0byBDaGFuZ2VMb2dDaGVja2VyLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weTogRml4
IHRlc3QgZHVlIHRvIHRoYXQgbmV3IGZ1bmN0aW9uLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5OiBNYWRlIHRoaXMgY29kZSBhd2FyZSBvZiB3
aGF0IGxpbmVzIHdlcmUgYmVpbmcgY2hlY2tlZC4KKyAgICAgICAgICBJdCBiYXNpY2FsbHkgYXNz
dW1lcyBvbmx5IG9uZSBDaGFuZ2VMb2cgZW50cnkgaXMgYmVpbmcgcHJvY2Vzc2VkIGJlY2F1c2Ug
dGhhdCBpcyB0aGUgc3RhbmRhcmQgY2FzZSBhbmQKKyAgICAgICAgICBjaGVja2luZyBtb3JlIHRo
YW4gdGhhdCB3b3VsZCBiZSB2ZXJ5IG1lc3NleS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NoYW5nZWxvZ191bml0dGVzdC5weTogQWRkIHRlc3RpbmcgdG8gY2F0
Y2ggdGhlIGJyb2tlbiBjYXNlLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJy
b3JfaGFuZGxlcnMucHk6IEFkZGVkIHNob3VsZF9saW5lX2JlX2NoZWNrZWQuCisKIDIwMTEtMDMt
MjggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5w
eQppbmRleCA1YTc3NzEwMTFmYWI3MDk5MDcxYTk2YjhlOTBhMmE0NDZkOTViM2Y1Li40OGFiY2Y5
YmY2NWVhMGZkNmZkODRiZGY4NWU3ZjMxYjYwZWJhNmExIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2VyLnB5CkBAIC00OTgsNyArNDk4LDEwIEBAIGNsYXNzIENoZWNrZXJEaXNw
YXRjaGVyKG9iamVjdCk6CiAgICAgICAgIGlmIGZpbGVfdHlwZSA9PSBGaWxlVHlwZS5OT05FOgog
ICAgICAgICAgICAgY2hlY2tlciA9IE5vbmUKICAgICAgICAgZWxpZiBmaWxlX3R5cGUgPT0gRmls
ZVR5cGUuQ0hBTkdFTE9HOgotICAgICAgICAgICAgY2hlY2tlciA9IENoYW5nZUxvZ0NoZWNrZXIo
ZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAgICAgICBzaG91bGRfbGluZV9i
ZV9jaGVja2VkID0gTm9uZQorICAgICAgICAgICAgaWYgaGFuZGxlX3N0eWxlX2Vycm9yOgorICAg
ICAgICAgICAgICAgIHNob3VsZF9saW5lX2JlX2NoZWNrZWQgPSBoYW5kbGVfc3R5bGVfZXJyb3Iu
c2hvdWxkX2xpbmVfYmVfY2hlY2tlZAorICAgICAgICAgICAgY2hlY2tlciA9IENoYW5nZUxvZ0No
ZWNrZXIoZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIHNob3VsZF9saW5lX2JlX2NoZWNr
ZWQpCiAgICAgICAgIGVsaWYgZmlsZV90eXBlID09IEZpbGVUeXBlLkNQUDoKICAgICAgICAgICAg
IGZpbGVfZXh0ZW5zaW9uID0gc2VsZi5fZmlsZV9leHRlbnNpb24oZmlsZV9wYXRoKQogICAgICAg
ICAgICAgY2hlY2tlciA9IENwcENoZWNrZXIoZmlsZV9wYXRoLCBmaWxlX2V4dGVuc2lvbiwKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weQppbmRl
eCA4OTM1YzJkMWZlODE4YjQ1Nzg2OTM3MGM4ZmM2ZDExNDA4ZTRhNzNjLi4xNDRkNDBhMmJlZmI1
OWY2ODM5YWEzZjk5Y2ExOWYxYTY4ZjJhNzZlIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CkBAIC0zNjksMTIgKzM2OSwxMCBAQCBjbGFz
cyBDaGVja2VyRGlzcGF0Y2hlckRpc3BhdGNoVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAg
ICAiIiJUZXN0cyBkaXNwYXRjaCgpIG1ldGhvZCBvZiBDaGVja2VyRGlzcGF0Y2hlciBjbGFzcy4i
IiIKIAotICAgIGRlZiBtb2NrX2hhbmRsZV9zdHlsZV9lcnJvcihzZWxmKToKLSAgICAgICAgcGFz
cwotCiAgICAgZGVmIGRpc3BhdGNoKHNlbGYsIGZpbGVfcGF0aCk6CiAgICAgICAgICIiIkNhbGwg
ZGlzcGF0Y2goKSB3aXRoIHRoZSBnaXZlbiBmaWxlIHBhdGguIiIiCiAgICAgICAgIGRpc3BhdGNo
ZXIgPSBDaGVja2VyRGlzcGF0Y2hlcigpCisgICAgICAgIHNlbGYubW9ja19oYW5kbGVfc3R5bGVf
ZXJyb3IgPSBEZWZhdWx0U3R5bGVFcnJvckhhbmRsZXIoJycsIE5vbmUsIE5vbmUsIFtdKQogICAg
ICAgICBjaGVja2VyID0gZGlzcGF0Y2hlci5kaXNwYXRjaChmaWxlX3BhdGgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubW9ja19oYW5kbGVfc3R5bGVfZXJyb3Is
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbl9jb25maWRlbmNlPTMp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NoYW5n
ZWxvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9n
LnB5CmluZGV4IGZmNGIwN2ZlMzJhNmIyMTc0MDEzMWRlYTM1MDczYmZiYjZkYTc0MGMuLmRkNzc3
NWE5YjZkZDFjNmRhYTc2NWIwM2VmZTQ2Yzg0YzJlMzI0NGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5CkBAIC0zNCwxMiArMzQs
MTUgQEAgY2xhc3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogCiAgICAgIiIiUHJvY2Vzc2Vz
IHRleHQgbGluZXMgZm9yIGNoZWNraW5nIHN0eWxlLiIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIHNob3VsZF9saW5lX2JlX2NoZWNrZWQp
OgogICAgICAgICBzZWxmLmZpbGVfcGF0aCA9IGZpbGVfcGF0aAogICAgICAgICBzZWxmLmhhbmRs
ZV9zdHlsZV9lcnJvciA9IGhhbmRsZV9zdHlsZV9lcnJvcgorICAgICAgICBzZWxmLnNob3VsZF9s
aW5lX2JlX2NoZWNrZWQgPSBzaG91bGRfbGluZV9iZV9jaGVja2VkCiAgICAgICAgIHNlbGYuX3Rh
Yl9jaGVja2VyID0gVGFiQ2hlY2tlcihmaWxlX3BhdGgsIGhhbmRsZV9zdHlsZV9lcnJvcikKIAot
ICAgIGRlZiBjaGVja19lbnRyeShzZWxmLCBlbnRyeV9saW5lX251bWJlciwgZW50cnlfbGluZXMp
OgorICAgIGRlZiBjaGVja19lbnRyeShzZWxmLCBmaXJzdF9saW5lX2NoZWNrZWQsIGVudHJ5X2xp
bmVzKToKKyAgICAgICAgaWYgbm90IGVudHJ5X2xpbmVzOgorICAgICAgICAgICAgcmV0dXJuCiAg
ICAgICAgIGZvciBsaW5lIGluIGVudHJ5X2xpbmVzOgogICAgICAgICAgICAgaWYgcGFyc2VfYnVn
X2lkKGxpbmUpOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC00OCwyNiArNTEsMjQgQEAgY2xh
c3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogICAgICAgICAgICAgaWYgcmUuc2VhcmNoKCJi
dWlsZCIsIGxpbmUsIHJlLklHTk9SRUNBU0UpIGFuZCByZS5zZWFyY2goImZpeCIsIGxpbmUsIHJl
LklHTk9SRUNBU0UpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJvcihlbnRyeV9saW5lX251bWJlciArIDEsCisg
ICAgICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJvcihmaXJzdF9saW5lX2NoZWNrZWQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhbmdlbG9nL2J1Z251bWJlciIs
IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2hhbmdlTG9nIGVudHJ5
IGhhcyBubyBidWcgbnVtYmVyIikKIAogICAgIGRlZiBjaGVjayhzZWxmLCBsaW5lcyk6CiAgICAg
ICAgIHNlbGYuX3RhYl9jaGVja2VyLmNoZWNrKGxpbmVzKQotICAgICAgICBlbnRyeV9saW5lX251
bWJlciA9IDAKKyAgICAgICAgZmlyc3RfbGluZV9jaGVja2VkID0gMAogICAgICAgICBlbnRyeV9s
aW5lcyA9IFtdCi0gICAgICAgIHN0YXJ0ZWRfYXRfZmlyc3RfbGluZSA9IEZhbHNlCi0KLSAgICAg
ICAgZm9yIGxpbmVfbnVtYmVyLCBsaW5lIGluIGVudW1lcmF0ZShsaW5lcyk6Ci0gICAgICAgICAg
ICBpZiByZS5tYXRjaCgiXlxkezR9LVxkezJ9LVxkezJ9IiwgbGluZSk6Ci0gICAgICAgICAgICAg
ICAgaWYgbGluZV9udW1iZXI6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuY2hlY2tfZW50cnko
ZW50cnlfbGluZV9udW1iZXIsIGVudHJ5X2xpbmVzKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAgICAgICAgIHN0YXJ0ZWRfYXRfZmlyc3RfbGluZSA9IFRydWUKLSAgICAgICAg
ICAgICAgICBlbnRyeV9saW5lX251bWJlciA9IGxpbmVfbnVtYmVyCi0gICAgICAgICAgICAgICAg
ZW50cnlfbGluZXMgPSBbXQogCisgICAgICAgIGZvciBsaW5lX2luZGV4LCBsaW5lIGluIGVudW1l
cmF0ZShsaW5lcyk6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5zaG91bGRfbGluZV9iZV9jaGVj
a2VkKGxpbmVfaW5kZXggKyAxKToKKyAgICAgICAgICAgICAgICAjIElmIHdlIHRyYW5zaXRpb25l
ZCBmcm9tIGZpbmRpbmcgY2hhbmdlZCBsaW5lcyB0bworICAgICAgICAgICAgICAgICMgdW5jaGFu
Z2VkIGxpbmVzLCB0aGVuIHdlIGFyZSBkb25lLgorICAgICAgICAgICAgICAgIGlmIGZpcnN0X2xp
bmVfY2hlY2tlZDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBj
b250aW51ZQorICAgICAgICAgICAgaWYgbm90IGZpcnN0X2xpbmVfY2hlY2tlZDoKKyAgICAgICAg
ICAgICAgICBmaXJzdF9saW5lX2NoZWNrZWQgPSBsaW5lX2luZGV4ICsgMQogICAgICAgICAgICAg
ZW50cnlfbGluZXMuYXBwZW5kKGxpbmUpCiAKLSAgICAgICAgaWYgc3RhcnRlZF9hdF9maXJzdF9s
aW5lOgotICAgICAgICAgICAgc2VsZi5jaGVja19lbnRyeShlbnRyeV9saW5lX251bWJlciwgZW50
cnlfbGluZXMpCisgICAgICAgIHNlbGYuY2hlY2tfZW50cnkoZmlyc3RfbGluZV9jaGVja2VkLCBl
bnRyeV9saW5lcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvY2hhbmdlbG9nX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKaW5kZXggNDE0ZTRmZWY0MWU0Y2QwNWMy
YmJkZGRiNzFlNGVmZGVlZWI5NWUxZi4uMDQ0NDI1YTEzMjJjOTI1ODliMDM5NzBhY2FiODI1ODkw
MmU2NDVlMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vy
cy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKQEAgLTMyLDU5ICszMiwxMTcgQEAgaW1w
b3J0IHVuaXR0ZXN0CiBjbGFzcyBDaGFuZ2VMb2dDaGVja2VyVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgIiIiVGVzdHMgQ2hhbmdlTG9nQ2hlY2tlciBjbGFzcy4iIiIKIAotICAgIGRlZiBh
c3NlcnRfbm9fZXJyb3Ioc2VsZiwgY2hhbmdlbG9nX2RhdGEpOgorICAgIGRlZiBhc3NlcnRfbm9f
ZXJyb3Ioc2VsZiwgbGluZXNfdG9fY2hlY2ssIGNoYW5nZWxvZ19kYXRhKToKICAgICAgICAgZGVm
IGhhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJlciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1l
c3NhZ2UpOgotICAgICAgICAgICAgc2VsZi5mYWlsKCdVbmV4cGVjdGVkIGVycm9yOiAlZCAlcyAl
ZCAlcycgJSAobGluZV9udW1iZXIsIGNhdGVnb3J5LCBjb25maWRlbmNlLCBtZXNzYWdlKSkKLSAg
ICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5DaGFuZ2VMb2dDaGVja2VyKCdDaGFuZ2VMb2cnLCBo
YW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAgICAgICBzZWxmLmZhaWwoJ1VuZXhwZWN0ZWQgZXJy
b3I6ICVkICVzICVkICVzIGZvclxuJXMnICUgKGxpbmVfbnVtYmVyLCBjYXRlZ29yeSwgY29uZmlk
ZW5jZSwgbWVzc2FnZSwgY2hhbmdlbG9nX2RhdGEpKQorICAgICAgICBzZWxmLmxpbmVzX3RvX2No
ZWNrID0gc2V0KGxpbmVzX3RvX2NoZWNrKQorICAgICAgICBjaGVja2VyID0gY2hhbmdlbG9nLkNo
YW5nZUxvZ0NoZWNrZXIoJ0NoYW5nZUxvZycsIGhhbmRsZV9zdHlsZV9lcnJvciwgc2VsZi5tb2Nr
X3Nob3VsZF9saW5lX2JlX2NoZWNrZWQpCiAgICAgICAgIGNoZWNrZXIuY2hlY2soY2hhbmdlbG9n
X2RhdGEuc3BsaXQoJ1xuJykpCiAKLSAgICBkZWYgYXNzZXJ0X2Vycm9yKHNlbGYsIGV4cGVjdGVk
X2xpbmVfbnVtYmVyLCBleHBlY3RlZF9jYXRlZ29yeSwgY2hhbmdlbG9nX2RhdGEpOgorICAgIGRl
ZiBhc3NlcnRfZXJyb3Ioc2VsZiwgZXhwZWN0ZWRfbGluZV9udW1iZXIsIGxpbmVzX3RvX2NoZWNr
LCBleHBlY3RlZF9jYXRlZ29yeSwgY2hhbmdlbG9nX2RhdGEpOgogICAgICAgICBzZWxmLmhhZF9l
cnJvciA9IEZhbHNlCiAKICAgICAgICAgZGVmIGhhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJl
ciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1lc3NhZ2UpOgogICAgICAgICAgICAgc2VsZi5oYWRf
ZXJyb3IgPSBUcnVlCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBlY3RlZF9saW5l
X251bWJlciwgbGluZV9udW1iZXIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBl
Y3RlZF9jYXRlZ29yeSwgY2F0ZWdvcnkpCi0KLSAgICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5D
aGFuZ2VMb2dDaGVja2VyKCdDaGFuZ2VMb2cnLCBoYW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAg
IHNlbGYubGluZXNfdG9fY2hlY2sgPSBzZXQobGluZXNfdG9fY2hlY2spCisgICAgICAgIGNoZWNr
ZXIgPSBjaGFuZ2Vsb2cuQ2hhbmdlTG9nQ2hlY2tlcignQ2hhbmdlTG9nJywgaGFuZGxlX3N0eWxl
X2Vycm9yLCBzZWxmLm1vY2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKICAgICAgICAgY2hlY2tl
ci5jaGVjayhjaGFuZ2Vsb2dfZGF0YS5zcGxpdCgnXG4nKSkKICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKHNlbGYuaGFkX2Vycm9yKQogCiAgICAgZGVmIG1vY2tfaGFuZGxlX3N0eWxlX2Vycm9yKHNl
bGYpOgogICAgICAgICBwYXNzCiAKKyAgICBkZWYgbW9ja19zaG91bGRfbGluZV9iZV9jaGVja2Vk
KHNlbGYsIGxpbmVfbnVtYmVyKToKKyAgICAgICAgcmV0dXJuIGxpbmVfbnVtYmVyIGluIHNlbGYu
bGluZXNfdG9fY2hlY2sKKwogICAgIGRlZiB0ZXN0X2luaXQoc2VsZik6Ci0gICAgICAgIGNoZWNr
ZXIgPSBjaGFuZ2Vsb2cuQ2hhbmdlTG9nQ2hlY2tlcignQ2hhbmdlTG9nJywgc2VsZi5tb2NrX2hh
bmRsZV9zdHlsZV9lcnJvcikKKyAgICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5DaGFuZ2VMb2dD
aGVja2VyKCdDaGFuZ2VMb2cnLCBzZWxmLm1vY2tfaGFuZGxlX3N0eWxlX2Vycm9yLCBzZWxmLm1v
Y2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hl
Y2tlci5maWxlX3BhdGgsICdDaGFuZ2VMb2cnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhj
aGVja2VyLmhhbmRsZV9zdHlsZV9lcnJvciwgc2VsZi5tb2NrX2hhbmRsZV9zdHlsZV9lcnJvcikK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hlY2tlci5zaG91bGRfbGluZV9iZV9jaGVja2Vk
LCBzZWxmLm1vY2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKIAogICAgIGRlZiB0ZXN0X21pc3Np
bmdfYnVnX251bWJlcihzZWxmKToKLSAgICAgICAgZW50cmllcyA9IFsKLSAgICAgICAgICAgICcy
MDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAg
ICAgIEV4YW1wbGUgYnVnJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0
ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPVxuJywKLSAgICAgICAgICAg
ICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4g
ICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD1cbicsCi0gICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVy
ZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cblxuICAgICAgICBFeGFtcGxlIGJ1Z1xuICAgICAgICBo
dHRwOi8vd2Via2l0Lm9yZy9iL1xuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4g
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyMzQ1XG4nLAotICAgICAg
ICAgICAgJ0V4YW1wbGUgYnVnXG4gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaVxuXG4yMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2Eu
Y29tPlxuJywKLSAgICAgICAgICAgICdFeGFtcGxlIGJ1Z1xuICAgICAgICBNb3JlIHRleHQgYWJv
dXQgYnVnLlxuXG4yMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2Eu
Y29tPlxuJywKLSAgICAgICAgXQotCi0gICAgICAgIGZvciBlbnRyeSBpbiBlbnRyaWVzOgotICAg
ICAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgJ2NoYW5nZWxvZy9idWdudW1iZXInLCBlbnRy
eSkKKyAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgcmFuZ2UoMSwgMjApLCAnY2hhbmdlbG9n
L2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAg
ICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUg
YnVnXG4nKQorICAgICAgICBzZWxmLmFzc2VydF9lcnJvcigxLCByYW5nZSgxLCAyMCksICdjaGFu
Z2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEg
IFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgRXhh
bXBsZSBidWdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cDovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9XG4nKQorICAgICAgICBzZWxmLmFzc2VydF9l
cnJvcigxLCByYW5nZSgxLCAyMCksICdjaGFuZ2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBh
cm9nYS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJyAgICAgICAgRXhhbXBsZSBidWdcbicKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgJyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PVxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgcmFuZ2UoMSwgMjApLCAnY2hhbmdl
bG9nL2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQ
YXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAg
ICAgICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1w
bGUgYnVnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGh0dHA6Ly93ZWJr
aXQub3JnL2IvXG4nKQorICAgICAgICBzZWxmLmFzc2VydF9lcnJvcigxLCByYW5nZSgxLCAyMCks
ICdjaGFuZ2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEt
MDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICdcbiAgICAgICAgRXhhbXBsZSBidWcnCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICdcbiAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MTIzNDVcbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X2Vycm9yKDIsIHJhbmdlKDIsIDUpLCAnY2hh
bmdlbG9nL2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAx
ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAg
ICAgICAgICAgICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAgICAgICAgICAg
ICAgICAgICAnICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2lcbicK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cbicK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgQW5vdGhlciBjaGFuZ2VcbicpCisg
ICAgICAgIHNlbGYuYXNzZXJ0X2Vycm9yKDIsIHJhbmdlKDIsIDYpLCAnY2hhbmdlbG9nL2J1Z251
bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAnICAg
ICAgICBNb3JlIHRleHQgYWJvdXQgYnVnLlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAn
XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0
ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAn
XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIE5vIGJ1ZyBpbiB0aGlzIGNo
YW5nZS5cbicpCiAKICAgICBkZWYgdGVzdF9ub19lcnJvcihzZWxmKToKLSAgICAgICAgZW50cmll
cyA9IFsKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9n
YUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAgIGh0dHA6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG4nLAotICAgICAgICAgICAgJzIwMTEt
MDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAgICAg
RXhhbXBsZSBidWdcbiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyMzQ1XG4nLAotICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVy
ICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAgICAgRXhhbXBsZSBidWdcbiAgICAgICAgaHR0
cDovL3dlYmtpdC5vcmcvYi8xMjM0NVxuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIFVucmV2aWV3IGJ1
aWxkIGZpeCBmb3IgcjEyMzQ1LlxuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEZpeCBidWlsZCBhZnRl
ciBhIGJhZCBjaGFuZ2UuXG4nLAotICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fu
c3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAgICAgRml4IGV4YW1wbGUgcG9ydCBi
dWlsZC5cbicsCi0gICAgICAgICAgICAnRXhhbXBsZSBidWdcbiAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG5cbjIwMTEtMDEtMDEgIFBhdHJpY2sg
R2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nLAotICAgICAgICBdCi0KLSAgICAgICAg
Zm9yIGVudHJ5IGluIGVudHJpZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJvcihl
bnRyeSkKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IoW10sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJv
Z2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUgYnVnXG4nCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICcgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyMzQ1XG4nKQorICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJvcihyYW5nZSgxLCAy
MCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUg
YnVnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGh0dHA6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG4nKQorICAgICAgICBzZWxmLmFzc2Vy
dF9ub19lcnJvcihyYW5nZSgxLCAyMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcy
MDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICcgICAgICAgIEV4YW1wbGUgYnVnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjM0NVxu
JykKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IocmFuZ2UoMSwgMjApLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJv
Z2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBodHRwOi8vd2Via2l0Lm9yZy9iLzEyMzQ1
XG4nKQorICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJvcihyYW5nZSgxLCAyMCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBh
cm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIFVucmV2aWV3IGJ1aWxkIGZpeCBm
b3IgcjEyMzQ1LlxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IocmFuZ2UoMSwgMjAp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5z
dGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBGaXggYnVpbGQg
YWZ0ZXIgYSBiYWQgY2hhbmdlLlxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IocmFu
Z2UoMSwgMjApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0
cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBG
aXggZXhhbXBsZSBwb3J0IGJ1aWxkLlxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3Io
cmFuZ2UoMiwgNiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQ
YXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTIzNDVcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJv
Z2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAg
Tm8gYnVnIGhlcmUhXG4nKQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVuaXR0
ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9lcnJv
cl9oYW5kbGVycy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJyb3JfaGFuZGxl
cnMucHkKaW5kZXggMGJlZGUyNDI5NzFhODQyM2ViMDVjN2NhYmZjNjQ5NTFjNGI3MWIwMi4uNWQ4
YjA0MWQ2ZmUyODYwYmQxYmE3MDc2NDlkYWRmYjYyMjdmMGJlZiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9lcnJvcl9oYW5kbGVycy5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2Vycm9yX2hhbmRsZXJzLnB5CkBAIC0xMjMsMTYgKzEyMywxOCBA
QCBjbGFzcyBEZWZhdWx0U3R5bGVFcnJvckhhbmRsZXIob2JqZWN0KToKICAgICAgICAgICAgIHJl
dHVybiBOb25lCiAgICAgICAgIHJldHVybiBzZWxmLl9jb25maWd1cmF0aW9uLm1heF9yZXBvcnRz
X3Blcl9jYXRlZ29yeVtjYXRlZ29yeV0KIAorICAgIGRlZiBzaG91bGRfbGluZV9iZV9jaGVja2Vk
KHNlbGYsIGxpbmVfbnVtYmVyKToKKyAgICAgICAgIlJldHVybnMgaWYgYSBwYXJ0aWN1bGFyIGxp
bmUgc2hvdWxkIGJlIGNoZWNrZWQiCisgICAgICAgICMgV2FzIHRoZSBsaW5lIHRoYXQgd2FzIG1v
ZGlmaWVkPworICAgICAgICByZXR1cm4gc2VsZi5fbGluZV9udW1iZXJzIGlzIE5vbmUgb3IgbGlu
ZV9udW1iZXIgaW4gc2VsZi5fbGluZV9udW1iZXJzCisKICAgICBkZWYgX19jYWxsX18oc2VsZiwg
bGluZV9udW1iZXIsIGNhdGVnb3J5LCBjb25maWRlbmNlLCBtZXNzYWdlKToKICAgICAgICAgIiIi
SGFuZGxlIHRoZSBvY2N1cnJlbmNlIG9mIGEgc3R5bGUgZXJyb3IuCiAKICAgICAgICAgU2VlIHRo
ZSBkb2NzdHJpbmcgb2YgdGhpcyBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKICAgICAg
ICAgIiIiCi0gICAgICAgIGlmIChzZWxmLl9saW5lX251bWJlcnMgaXMgbm90IE5vbmUgYW5kCi0g
ICAgICAgICAgICBsaW5lX251bWJlciBub3QgaW4gc2VsZi5fbGluZV9udW1iZXJzKToKLSAgICAg
ICAgICAgICMgVGhlbiB0aGUgZXJyb3Igb2NjdXJyZWQgaW4gYSBsaW5lIHRoYXQgd2FzIG5vdCBt
b2RpZmllZCwgc28KLSAgICAgICAgICAgICMgdGhlIGVycm9yIGlzIG5vdCByZXBvcnRhYmxlLgor
ICAgICAgICBpZiBub3Qgc2VsZi5zaG91bGRfbGluZV9iZV9jaGVja2VkKGxpbmVfbnVtYmVyKToK
ICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgIGlmIG5vdCBzZWxmLl9jb25maWd1cmF0aW9u
LmlzX3JlcG9ydGFibGUoY2F0ZWdvcnk9Y2F0ZWdvcnksCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87342</attachid>
            <date>2011-03-29 09:10:50 -0700</date>
            <delta_ts>2011-03-29 11:53:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57250-20110329091049.patch</filename>
            <type>text/plain</type>
            <size>16567</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIxNDQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyOTFlYjUyMDhjMDk4MTJkMTE1ZDAzZjg4MmMzYjI3MTMz
YTQzY2Q3Li5lNTY0ODA4ZjEwZmNkZjY5YTQ3ODIyNThkOTVkOWNiOGZiOWY0N2RkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDMtMjkgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNoZWNrLXdlYmtpdC1z
dHlsZSBjb25mdXNlZCBieSB0d28gQ2hhbmdlTG9nIGVudHJpZXMgaW4gYSByb3cgZnJvbSBzYW1l
IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3
MjUwCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHk6IEFkZCB0
aGUgbGluZSBzaG91bGQgYmUgY2hlY2tlZCBmdW5jdGlvbiB0byBDaGFuZ2VMb2dDaGVja2VyLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weTogRml4
IHRlc3QgZHVlIHRvIHRoYXQgbmV3IGZ1bmN0aW9uLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5OiBNYWRlIHRoaXMgY29kZSBhd2FyZSBvZiB3
aGF0IGxpbmVzIHdlcmUgYmVpbmcgY2hlY2tlZC4KKyAgICAgICAgICBJdCBiYXNpY2FsbHkgYXNz
dW1lcyBvbmx5IG9uZSBDaGFuZ2VMb2cgZW50cnkgaXMgYmVpbmcgcHJvY2Vzc2VkIGJlY2F1c2Ug
dGhhdCBpcyB0aGUgc3RhbmRhcmQgY2FzZSBhbmQKKyAgICAgICAgICBjaGVja2luZyBtb3JlIHRo
YW4gdGhhdCB3b3VsZCBiZSB2ZXJ5IG1lc3NleS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NoYW5nZWxvZ191bml0dGVzdC5weTogQWRkIHRlc3RpbmcgdG8gY2F0
Y2ggdGhlIGJyb2tlbiBjYXNlLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJy
b3JfaGFuZGxlcnMucHk6IEFkZGVkIHNob3VsZF9saW5lX2JlX2NoZWNrZWQuCisKIDIwMTEtMDMt
MjggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5w
eQppbmRleCA1YTc3NzEwMTFmYWI3MDk5MDcxYTk2YjhlOTBhMmE0NDZkOTViM2Y1Li40OGFiY2Y5
YmY2NWVhMGZkNmZkODRiZGY4NWU3ZjMxYjYwZWJhNmExIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2VyLnB5CkBAIC00OTgsNyArNDk4LDEwIEBAIGNsYXNzIENoZWNrZXJEaXNw
YXRjaGVyKG9iamVjdCk6CiAgICAgICAgIGlmIGZpbGVfdHlwZSA9PSBGaWxlVHlwZS5OT05FOgog
ICAgICAgICAgICAgY2hlY2tlciA9IE5vbmUKICAgICAgICAgZWxpZiBmaWxlX3R5cGUgPT0gRmls
ZVR5cGUuQ0hBTkdFTE9HOgotICAgICAgICAgICAgY2hlY2tlciA9IENoYW5nZUxvZ0NoZWNrZXIo
ZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAgICAgICBzaG91bGRfbGluZV9i
ZV9jaGVja2VkID0gTm9uZQorICAgICAgICAgICAgaWYgaGFuZGxlX3N0eWxlX2Vycm9yOgorICAg
ICAgICAgICAgICAgIHNob3VsZF9saW5lX2JlX2NoZWNrZWQgPSBoYW5kbGVfc3R5bGVfZXJyb3Iu
c2hvdWxkX2xpbmVfYmVfY2hlY2tlZAorICAgICAgICAgICAgY2hlY2tlciA9IENoYW5nZUxvZ0No
ZWNrZXIoZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIHNob3VsZF9saW5lX2JlX2NoZWNr
ZWQpCiAgICAgICAgIGVsaWYgZmlsZV90eXBlID09IEZpbGVUeXBlLkNQUDoKICAgICAgICAgICAg
IGZpbGVfZXh0ZW5zaW9uID0gc2VsZi5fZmlsZV9leHRlbnNpb24oZmlsZV9wYXRoKQogICAgICAg
ICAgICAgY2hlY2tlciA9IENwcENoZWNrZXIoZmlsZV9wYXRoLCBmaWxlX2V4dGVuc2lvbiwKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weQppbmRl
eCA4OTM1YzJkMWZlODE4YjQ1Nzg2OTM3MGM4ZmM2ZDExNDA4ZTRhNzNjLi4xNDRkNDBhMmJlZmI1
OWY2ODM5YWEzZjk5Y2ExOWYxYTY4ZjJhNzZlIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CkBAIC0zNjksMTIgKzM2OSwxMCBAQCBjbGFz
cyBDaGVja2VyRGlzcGF0Y2hlckRpc3BhdGNoVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAg
ICAiIiJUZXN0cyBkaXNwYXRjaCgpIG1ldGhvZCBvZiBDaGVja2VyRGlzcGF0Y2hlciBjbGFzcy4i
IiIKIAotICAgIGRlZiBtb2NrX2hhbmRsZV9zdHlsZV9lcnJvcihzZWxmKToKLSAgICAgICAgcGFz
cwotCiAgICAgZGVmIGRpc3BhdGNoKHNlbGYsIGZpbGVfcGF0aCk6CiAgICAgICAgICIiIkNhbGwg
ZGlzcGF0Y2goKSB3aXRoIHRoZSBnaXZlbiBmaWxlIHBhdGguIiIiCiAgICAgICAgIGRpc3BhdGNo
ZXIgPSBDaGVja2VyRGlzcGF0Y2hlcigpCisgICAgICAgIHNlbGYubW9ja19oYW5kbGVfc3R5bGVf
ZXJyb3IgPSBEZWZhdWx0U3R5bGVFcnJvckhhbmRsZXIoJycsIE5vbmUsIE5vbmUsIFtdKQogICAg
ICAgICBjaGVja2VyID0gZGlzcGF0Y2hlci5kaXNwYXRjaChmaWxlX3BhdGgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubW9ja19oYW5kbGVfc3R5bGVfZXJyb3Is
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbl9jb25maWRlbmNlPTMp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NoYW5n
ZWxvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9n
LnB5CmluZGV4IGZmNGIwN2ZlMzJhNmIyMTc0MDEzMWRlYTM1MDczYmZiYjZkYTc0MGMuLmRkNzc3
NWE5YjZkZDFjNmRhYTc2NWIwM2VmZTQ2Yzg0YzJlMzI0NGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5CkBAIC0zNCwxMiArMzQs
MTUgQEAgY2xhc3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogCiAgICAgIiIiUHJvY2Vzc2Vz
IHRleHQgbGluZXMgZm9yIGNoZWNraW5nIHN0eWxlLiIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIHNob3VsZF9saW5lX2JlX2NoZWNrZWQp
OgogICAgICAgICBzZWxmLmZpbGVfcGF0aCA9IGZpbGVfcGF0aAogICAgICAgICBzZWxmLmhhbmRs
ZV9zdHlsZV9lcnJvciA9IGhhbmRsZV9zdHlsZV9lcnJvcgorICAgICAgICBzZWxmLnNob3VsZF9s
aW5lX2JlX2NoZWNrZWQgPSBzaG91bGRfbGluZV9iZV9jaGVja2VkCiAgICAgICAgIHNlbGYuX3Rh
Yl9jaGVja2VyID0gVGFiQ2hlY2tlcihmaWxlX3BhdGgsIGhhbmRsZV9zdHlsZV9lcnJvcikKIAot
ICAgIGRlZiBjaGVja19lbnRyeShzZWxmLCBlbnRyeV9saW5lX251bWJlciwgZW50cnlfbGluZXMp
OgorICAgIGRlZiBjaGVja19lbnRyeShzZWxmLCBmaXJzdF9saW5lX2NoZWNrZWQsIGVudHJ5X2xp
bmVzKToKKyAgICAgICAgaWYgbm90IGVudHJ5X2xpbmVzOgorICAgICAgICAgICAgcmV0dXJuCiAg
ICAgICAgIGZvciBsaW5lIGluIGVudHJ5X2xpbmVzOgogICAgICAgICAgICAgaWYgcGFyc2VfYnVn
X2lkKGxpbmUpOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC00OCwyNiArNTEsMjQgQEAgY2xh
c3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogICAgICAgICAgICAgaWYgcmUuc2VhcmNoKCJi
dWlsZCIsIGxpbmUsIHJlLklHTk9SRUNBU0UpIGFuZCByZS5zZWFyY2goImZpeCIsIGxpbmUsIHJl
LklHTk9SRUNBU0UpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJvcihlbnRyeV9saW5lX251bWJlciArIDEsCisg
ICAgICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJvcihmaXJzdF9saW5lX2NoZWNrZWQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhbmdlbG9nL2J1Z251bWJlciIs
IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2hhbmdlTG9nIGVudHJ5
IGhhcyBubyBidWcgbnVtYmVyIikKIAogICAgIGRlZiBjaGVjayhzZWxmLCBsaW5lcyk6CiAgICAg
ICAgIHNlbGYuX3RhYl9jaGVja2VyLmNoZWNrKGxpbmVzKQotICAgICAgICBlbnRyeV9saW5lX251
bWJlciA9IDAKKyAgICAgICAgZmlyc3RfbGluZV9jaGVja2VkID0gMAogICAgICAgICBlbnRyeV9s
aW5lcyA9IFtdCi0gICAgICAgIHN0YXJ0ZWRfYXRfZmlyc3RfbGluZSA9IEZhbHNlCi0KLSAgICAg
ICAgZm9yIGxpbmVfbnVtYmVyLCBsaW5lIGluIGVudW1lcmF0ZShsaW5lcyk6Ci0gICAgICAgICAg
ICBpZiByZS5tYXRjaCgiXlxkezR9LVxkezJ9LVxkezJ9IiwgbGluZSk6Ci0gICAgICAgICAgICAg
ICAgaWYgbGluZV9udW1iZXI6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuY2hlY2tfZW50cnko
ZW50cnlfbGluZV9udW1iZXIsIGVudHJ5X2xpbmVzKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAgICAgICAgIHN0YXJ0ZWRfYXRfZmlyc3RfbGluZSA9IFRydWUKLSAgICAgICAg
ICAgICAgICBlbnRyeV9saW5lX251bWJlciA9IGxpbmVfbnVtYmVyCi0gICAgICAgICAgICAgICAg
ZW50cnlfbGluZXMgPSBbXQogCisgICAgICAgIGZvciBsaW5lX2luZGV4LCBsaW5lIGluIGVudW1l
cmF0ZShsaW5lcyk6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5zaG91bGRfbGluZV9iZV9jaGVj
a2VkKGxpbmVfaW5kZXggKyAxKToKKyAgICAgICAgICAgICAgICAjIElmIHdlIHRyYW5zaXRpb25l
ZCBmcm9tIGZpbmRpbmcgY2hhbmdlZCBsaW5lcyB0bworICAgICAgICAgICAgICAgICMgdW5jaGFu
Z2VkIGxpbmVzLCB0aGVuIHdlIGFyZSBkb25lLgorICAgICAgICAgICAgICAgIGlmIGZpcnN0X2xp
bmVfY2hlY2tlZDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBj
b250aW51ZQorICAgICAgICAgICAgaWYgbm90IGZpcnN0X2xpbmVfY2hlY2tlZDoKKyAgICAgICAg
ICAgICAgICBmaXJzdF9saW5lX2NoZWNrZWQgPSBsaW5lX2luZGV4ICsgMQogICAgICAgICAgICAg
ZW50cnlfbGluZXMuYXBwZW5kKGxpbmUpCiAKLSAgICAgICAgaWYgc3RhcnRlZF9hdF9maXJzdF9s
aW5lOgotICAgICAgICAgICAgc2VsZi5jaGVja19lbnRyeShlbnRyeV9saW5lX251bWJlciwgZW50
cnlfbGluZXMpCisgICAgICAgIHNlbGYuY2hlY2tfZW50cnkoZmlyc3RfbGluZV9jaGVja2VkLCBl
bnRyeV9saW5lcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvY2hhbmdlbG9nX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKaW5kZXggNDE0ZTRmZWY0MWU0Y2QwNWMy
YmJkZGRiNzFlNGVmZGVlZWI5NWUxZi4uYWFjNmU2OGU2YWEzMzU2YWFkMjkwMDg1OTY3YzRmZWNm
MmE2NTI2MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vy
cy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKQEAgLTMyLDU5ICszMiwxMTkgQEAgaW1w
b3J0IHVuaXR0ZXN0CiBjbGFzcyBDaGFuZ2VMb2dDaGVja2VyVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgIiIiVGVzdHMgQ2hhbmdlTG9nQ2hlY2tlciBjbGFzcy4iIiIKIAotICAgIGRlZiBh
c3NlcnRfbm9fZXJyb3Ioc2VsZiwgY2hhbmdlbG9nX2RhdGEpOgorICAgIGRlZiBhc3NlcnRfbm9f
ZXJyb3Ioc2VsZiwgbGluZXNfdG9fY2hlY2ssIGNoYW5nZWxvZ19kYXRhKToKICAgICAgICAgZGVm
IGhhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJlciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1l
c3NhZ2UpOgotICAgICAgICAgICAgc2VsZi5mYWlsKCdVbmV4cGVjdGVkIGVycm9yOiAlZCAlcyAl
ZCAlcycgJSAobGluZV9udW1iZXIsIGNhdGVnb3J5LCBjb25maWRlbmNlLCBtZXNzYWdlKSkKLSAg
ICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5DaGFuZ2VMb2dDaGVja2VyKCdDaGFuZ2VMb2cnLCBo
YW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAgICAgICBzZWxmLmZhaWwoJ1VuZXhwZWN0ZWQgZXJy
b3I6ICVkICVzICVkICVzIGZvclxuJXMnICUgKGxpbmVfbnVtYmVyLCBjYXRlZ29yeSwgY29uZmlk
ZW5jZSwgbWVzc2FnZSwgY2hhbmdlbG9nX2RhdGEpKQorICAgICAgICBzZWxmLmxpbmVzX3RvX2No
ZWNrID0gc2V0KGxpbmVzX3RvX2NoZWNrKQorICAgICAgICBjaGVja2VyID0gY2hhbmdlbG9nLkNo
YW5nZUxvZ0NoZWNrZXIoJ0NoYW5nZUxvZycsIGhhbmRsZV9zdHlsZV9lcnJvciwgc2VsZi5tb2Nr
X3Nob3VsZF9saW5lX2JlX2NoZWNrZWQpCiAgICAgICAgIGNoZWNrZXIuY2hlY2soY2hhbmdlbG9n
X2RhdGEuc3BsaXQoJ1xuJykpCiAKLSAgICBkZWYgYXNzZXJ0X2Vycm9yKHNlbGYsIGV4cGVjdGVk
X2xpbmVfbnVtYmVyLCBleHBlY3RlZF9jYXRlZ29yeSwgY2hhbmdlbG9nX2RhdGEpOgorICAgIGRl
ZiBhc3NlcnRfZXJyb3Ioc2VsZiwgZXhwZWN0ZWRfbGluZV9udW1iZXIsIGxpbmVzX3RvX2NoZWNr
LCBleHBlY3RlZF9jYXRlZ29yeSwgY2hhbmdlbG9nX2RhdGEpOgogICAgICAgICBzZWxmLmhhZF9l
cnJvciA9IEZhbHNlCiAKICAgICAgICAgZGVmIGhhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJl
ciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1lc3NhZ2UpOgogICAgICAgICAgICAgc2VsZi5oYWRf
ZXJyb3IgPSBUcnVlCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBlY3RlZF9saW5l
X251bWJlciwgbGluZV9udW1iZXIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBl
Y3RlZF9jYXRlZ29yeSwgY2F0ZWdvcnkpCi0KLSAgICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5D
aGFuZ2VMb2dDaGVja2VyKCdDaGFuZ2VMb2cnLCBoYW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAg
IHNlbGYubGluZXNfdG9fY2hlY2sgPSBzZXQobGluZXNfdG9fY2hlY2spCisgICAgICAgIGNoZWNr
ZXIgPSBjaGFuZ2Vsb2cuQ2hhbmdlTG9nQ2hlY2tlcignQ2hhbmdlTG9nJywgaGFuZGxlX3N0eWxl
X2Vycm9yLCBzZWxmLm1vY2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKICAgICAgICAgY2hlY2tl
ci5jaGVjayhjaGFuZ2Vsb2dfZGF0YS5zcGxpdCgnXG4nKSkKICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKHNlbGYuaGFkX2Vycm9yKQogCiAgICAgZGVmIG1vY2tfaGFuZGxlX3N0eWxlX2Vycm9yKHNl
bGYpOgogICAgICAgICBwYXNzCiAKKyAgICBkZWYgbW9ja19zaG91bGRfbGluZV9iZV9jaGVja2Vk
KHNlbGYsIGxpbmVfbnVtYmVyKToKKyAgICAgICAgcmV0dXJuIGxpbmVfbnVtYmVyIGluIHNlbGYu
bGluZXNfdG9fY2hlY2sKKwogICAgIGRlZiB0ZXN0X2luaXQoc2VsZik6Ci0gICAgICAgIGNoZWNr
ZXIgPSBjaGFuZ2Vsb2cuQ2hhbmdlTG9nQ2hlY2tlcignQ2hhbmdlTG9nJywgc2VsZi5tb2NrX2hh
bmRsZV9zdHlsZV9lcnJvcikKKyAgICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5DaGFuZ2VMb2dD
aGVja2VyKCdDaGFuZ2VMb2cnLCBzZWxmLm1vY2tfaGFuZGxlX3N0eWxlX2Vycm9yLCBzZWxmLm1v
Y2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hl
Y2tlci5maWxlX3BhdGgsICdDaGFuZ2VMb2cnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhj
aGVja2VyLmhhbmRsZV9zdHlsZV9lcnJvciwgc2VsZi5tb2NrX2hhbmRsZV9zdHlsZV9lcnJvcikK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hlY2tlci5zaG91bGRfbGluZV9iZV9jaGVja2Vk
LCBzZWxmLm1vY2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKIAogICAgIGRlZiB0ZXN0X21pc3Np
bmdfYnVnX251bWJlcihzZWxmKToKLSAgICAgICAgZW50cmllcyA9IFsKLSAgICAgICAgICAgICcy
MDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAg
ICAgIEV4YW1wbGUgYnVnJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0
ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPVxuJywKLSAgICAgICAgICAg
ICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4g
ICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD1cbicsCi0gICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVy
ZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cblxuICAgICAgICBFeGFtcGxlIGJ1Z1xuICAgICAgICBo
dHRwOi8vd2Via2l0Lm9yZy9iL1xuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4g
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyMzQ1XG4nLAotICAgICAg
ICAgICAgJ0V4YW1wbGUgYnVnXG4gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaVxuXG4yMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2Eu
Y29tPlxuJywKLSAgICAgICAgICAgICdFeGFtcGxlIGJ1Z1xuICAgICAgICBNb3JlIHRleHQgYWJv
dXQgYnVnLlxuXG4yMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2Eu
Y29tPlxuJywKLSAgICAgICAgXQotCi0gICAgICAgIGZvciBlbnRyeSBpbiBlbnRyaWVzOgotICAg
ICAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgJ2NoYW5nZWxvZy9idWdudW1iZXInLCBlbnRy
eSkKKyAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgcmFuZ2UoMSwgMjApLCAnY2hhbmdlbG9n
L2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAg
ICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUg
YnVnXG4nKQorICAgICAgICBzZWxmLmFzc2VydF9lcnJvcigxLCByYW5nZSgxLCAyMCksICdjaGFu
Z2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEg
IFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgRXhh
bXBsZSBidWdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cDovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9XG4nKQorICAgICAgICBzZWxmLmFzc2VydF9l
cnJvcigxLCByYW5nZSgxLCAyMCksICdjaGFuZ2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBh
cm9nYS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJyAgICAgICAgRXhhbXBsZSBidWdcbicKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgJyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PVxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgcmFuZ2UoMSwgMjApLCAnY2hhbmdl
bG9nL2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQ
YXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAg
ICAgICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1w
bGUgYnVnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGh0dHA6Ly93ZWJr
aXQub3JnL2IvXG4nKQorICAgICAgICBzZWxmLmFzc2VydF9lcnJvcigxLCByYW5nZSgxLCAyMCks
ICdjaGFuZ2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEt
MDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAg
ICAgRXhhbXBsZSBidWcnCisgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvMTIzNDVcbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X2Vycm9yKDIsIHJhbmdlKDIsIDUpLCAn
Y2hhbmdlbG9nL2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAx
LTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAg
ICAgICAgICAgICAgICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAgICAgICAg
ICAgICAgICAgICAnICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2lc
bicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5c
bicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgQW5vdGhlciBjaGFuZ2Vcbicp
CisgICAgICAgIHNlbGYuYXNzZXJ0X2Vycm9yKDIsIHJhbmdlKDIsIDYpLCAnY2hhbmdlbG9nL2J1
Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAn
ICAgICAgICBNb3JlIHRleHQgYWJvdXQgYnVnLlxuJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIE5vIGJ1ZyBpbiB0aGlz
IGNoYW5nZS5cbicpCiAKICAgICBkZWYgdGVzdF9ub19lcnJvcihzZWxmKToKLSAgICAgICAgZW50
cmllcyA9IFsKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBh
cm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAgIGh0dHA6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG4nLAotICAgICAgICAgICAgJzIw
MTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAg
ICAgRXhhbXBsZSBidWdcbiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyMzQ1XG4nLAotICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3Rl
cmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAgICAgRXhhbXBsZSBidWdcbiAgICAgICAg
aHR0cDovL3dlYmtpdC5vcmcvYi8xMjM0NVxuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQ
YXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIFVucmV2aWV3
IGJ1aWxkIGZpeCBmb3IgcjEyMzQ1LlxuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEZpeCBidWlsZCBh
ZnRlciBhIGJhZCBjaGFuZ2UuXG4nLAotICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sg
R2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAgICAgRml4IGV4YW1wbGUgcG9y
dCBidWlsZC5cbicsCi0gICAgICAgICAgICAnRXhhbXBsZSBidWdcbiAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG5cbjIwMTEtMDEtMDEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nLAotICAgICAgICBdCi0KLSAgICAg
ICAgZm9yIGVudHJ5IGluIGVudHJpZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJv
cihlbnRyeSkKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IoW10sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBw
YXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUgYnVnXG4nCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICcgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyMzQ1XG4nKQorICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJvcihyYW5nZSgx
LCAyMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1w
bGUgYnVnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGh0dHA6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG4nKQorICAgICAgICBzZWxmLmFz
c2VydF9ub19lcnJvcihyYW5nZSgxLCAyMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICcgICAgICAgIEV4YW1wbGUgYnVnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICcgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjM0
NVxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IocmFuZ2UoMSwgMjApLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxw
YXJvZ2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBodHRwOi8vd2Via2l0Lm9yZy9iLzEy
MzQ1XG4nKQorICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJvcihyYW5nZSgxLCAyMCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAg
PHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4n
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIFVucmV2aWV3IGJ1aWxkIGZp
eCBmb3IgcjEyMzQ1LlxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IocmFuZ2UoMSwg
MjApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBH
YW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBGaXggYnVp
bGQgYWZ0ZXIgYSBiYWQgY2hhbmdlLlxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3Io
cmFuZ2UoMSwgMjApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAg
ICBGaXggZXhhbXBsZSBwb3J0IGJ1aWxkLlxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJy
b3IocmFuZ2UoMiwgNiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAx
ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTIzNDVcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxw
YXJvZ2FAcGFyb2dhLmNvbT5cbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAg
ICAgTm8gYnVnIGhlcmUhXG4nKQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVu
aXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9l
cnJvcl9oYW5kbGVycy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJyb3JfaGFu
ZGxlcnMucHkKaW5kZXggMGJlZGUyNDI5NzFhODQyM2ViMDVjN2NhYmZjNjQ5NTFjNGI3MWIwMi4u
NWQ4YjA0MWQ2ZmUyODYwYmQxYmE3MDc2NDlkYWRmYjYyMjdmMGJlZiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9lcnJvcl9oYW5kbGVycy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2Vycm9yX2hhbmRsZXJzLnB5CkBAIC0xMjMsMTYgKzEyMywx
OCBAQCBjbGFzcyBEZWZhdWx0U3R5bGVFcnJvckhhbmRsZXIob2JqZWN0KToKICAgICAgICAgICAg
IHJldHVybiBOb25lCiAgICAgICAgIHJldHVybiBzZWxmLl9jb25maWd1cmF0aW9uLm1heF9yZXBv
cnRzX3Blcl9jYXRlZ29yeVtjYXRlZ29yeV0KIAorICAgIGRlZiBzaG91bGRfbGluZV9iZV9jaGVj
a2VkKHNlbGYsIGxpbmVfbnVtYmVyKToKKyAgICAgICAgIlJldHVybnMgaWYgYSBwYXJ0aWN1bGFy
IGxpbmUgc2hvdWxkIGJlIGNoZWNrZWQiCisgICAgICAgICMgV2FzIHRoZSBsaW5lIHRoYXQgd2Fz
IG1vZGlmaWVkPworICAgICAgICByZXR1cm4gc2VsZi5fbGluZV9udW1iZXJzIGlzIE5vbmUgb3Ig
bGluZV9udW1iZXIgaW4gc2VsZi5fbGluZV9udW1iZXJzCisKICAgICBkZWYgX19jYWxsX18oc2Vs
ZiwgbGluZV9udW1iZXIsIGNhdGVnb3J5LCBjb25maWRlbmNlLCBtZXNzYWdlKToKICAgICAgICAg
IiIiSGFuZGxlIHRoZSBvY2N1cnJlbmNlIG9mIGEgc3R5bGUgZXJyb3IuCiAKICAgICAgICAgU2Vl
IHRoZSBkb2NzdHJpbmcgb2YgdGhpcyBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKICAg
ICAgICAgIiIiCi0gICAgICAgIGlmIChzZWxmLl9saW5lX251bWJlcnMgaXMgbm90IE5vbmUgYW5k
Ci0gICAgICAgICAgICBsaW5lX251bWJlciBub3QgaW4gc2VsZi5fbGluZV9udW1iZXJzKToKLSAg
ICAgICAgICAgICMgVGhlbiB0aGUgZXJyb3Igb2NjdXJyZWQgaW4gYSBsaW5lIHRoYXQgd2FzIG5v
dCBtb2RpZmllZCwgc28KLSAgICAgICAgICAgICMgdGhlIGVycm9yIGlzIG5vdCByZXBvcnRhYmxl
LgorICAgICAgICBpZiBub3Qgc2VsZi5zaG91bGRfbGluZV9iZV9jaGVja2VkKGxpbmVfbnVtYmVy
KToKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgIGlmIG5vdCBzZWxmLl9jb25maWd1cmF0
aW9uLmlzX3JlcG9ydGFibGUoY2F0ZWdvcnk9Y2F0ZWdvcnksCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87381</attachid>
            <date>2011-03-29 11:53:28 -0700</date>
            <delta_ts>2011-03-29 19:01:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57250-20110329115326.patch</filename>
            <type>text/plain</type>
            <size>16863</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIxNDQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyOTFlYjUyMDhjMDk4MTJkMTE1ZDAzZjg4MmMzYjI3MTMz
YTQzY2Q3Li5lNTY0ODA4ZjEwZmNkZjY5YTQ3ODIyNThkOTVkOWNiOGZiOWY0N2RkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDMtMjkgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNoZWNrLXdlYmtpdC1z
dHlsZSBjb25mdXNlZCBieSB0d28gQ2hhbmdlTG9nIGVudHJpZXMgaW4gYSByb3cgZnJvbSBzYW1l
IHVzZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3
MjUwCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHk6IEFkZCB0
aGUgbGluZSBzaG91bGQgYmUgY2hlY2tlZCBmdW5jdGlvbiB0byBDaGFuZ2VMb2dDaGVja2VyLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weTogRml4
IHRlc3QgZHVlIHRvIHRoYXQgbmV3IGZ1bmN0aW9uLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5OiBNYWRlIHRoaXMgY29kZSBhd2FyZSBvZiB3
aGF0IGxpbmVzIHdlcmUgYmVpbmcgY2hlY2tlZC4KKyAgICAgICAgICBJdCBiYXNpY2FsbHkgYXNz
dW1lcyBvbmx5IG9uZSBDaGFuZ2VMb2cgZW50cnkgaXMgYmVpbmcgcHJvY2Vzc2VkIGJlY2F1c2Ug
dGhhdCBpcyB0aGUgc3RhbmRhcmQgY2FzZSBhbmQKKyAgICAgICAgICBjaGVja2luZyBtb3JlIHRo
YW4gdGhhdCB3b3VsZCBiZSB2ZXJ5IG1lc3NleS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NoYW5nZWxvZ191bml0dGVzdC5weTogQWRkIHRlc3RpbmcgdG8gY2F0
Y2ggdGhlIGJyb2tlbiBjYXNlLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJy
b3JfaGFuZGxlcnMucHk6IEFkZGVkIHNob3VsZF9saW5lX2JlX2NoZWNrZWQuCisKIDIwMTEtMDMt
MjggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5w
eQppbmRleCA1YTc3NzEwMTFmYWI3MDk5MDcxYTk2YjhlOTBhMmE0NDZkOTViM2Y1Li40OGFiY2Y5
YmY2NWVhMGZkNmZkODRiZGY4NWU3ZjMxYjYwZWJhNmExIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2VyLnB5CkBAIC00OTgsNyArNDk4LDEwIEBAIGNsYXNzIENoZWNrZXJEaXNw
YXRjaGVyKG9iamVjdCk6CiAgICAgICAgIGlmIGZpbGVfdHlwZSA9PSBGaWxlVHlwZS5OT05FOgog
ICAgICAgICAgICAgY2hlY2tlciA9IE5vbmUKICAgICAgICAgZWxpZiBmaWxlX3R5cGUgPT0gRmls
ZVR5cGUuQ0hBTkdFTE9HOgotICAgICAgICAgICAgY2hlY2tlciA9IENoYW5nZUxvZ0NoZWNrZXIo
ZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAgICAgICBzaG91bGRfbGluZV9i
ZV9jaGVja2VkID0gTm9uZQorICAgICAgICAgICAgaWYgaGFuZGxlX3N0eWxlX2Vycm9yOgorICAg
ICAgICAgICAgICAgIHNob3VsZF9saW5lX2JlX2NoZWNrZWQgPSBoYW5kbGVfc3R5bGVfZXJyb3Iu
c2hvdWxkX2xpbmVfYmVfY2hlY2tlZAorICAgICAgICAgICAgY2hlY2tlciA9IENoYW5nZUxvZ0No
ZWNrZXIoZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIHNob3VsZF9saW5lX2JlX2NoZWNr
ZWQpCiAgICAgICAgIGVsaWYgZmlsZV90eXBlID09IEZpbGVUeXBlLkNQUDoKICAgICAgICAgICAg
IGZpbGVfZXh0ZW5zaW9uID0gc2VsZi5fZmlsZV9leHRlbnNpb24oZmlsZV9wYXRoKQogICAgICAg
ICAgICAgY2hlY2tlciA9IENwcENoZWNrZXIoZmlsZV9wYXRoLCBmaWxlX2V4dGVuc2lvbiwKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weQppbmRl
eCA4OTM1YzJkMWZlODE4YjQ1Nzg2OTM3MGM4ZmM2ZDExNDA4ZTRhNzNjLi4xNDRkNDBhMmJlZmI1
OWY2ODM5YWEzZjk5Y2ExOWYxYTY4ZjJhNzZlIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CkBAIC0zNjksMTIgKzM2OSwxMCBAQCBjbGFz
cyBDaGVja2VyRGlzcGF0Y2hlckRpc3BhdGNoVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAg
ICAiIiJUZXN0cyBkaXNwYXRjaCgpIG1ldGhvZCBvZiBDaGVja2VyRGlzcGF0Y2hlciBjbGFzcy4i
IiIKIAotICAgIGRlZiBtb2NrX2hhbmRsZV9zdHlsZV9lcnJvcihzZWxmKToKLSAgICAgICAgcGFz
cwotCiAgICAgZGVmIGRpc3BhdGNoKHNlbGYsIGZpbGVfcGF0aCk6CiAgICAgICAgICIiIkNhbGwg
ZGlzcGF0Y2goKSB3aXRoIHRoZSBnaXZlbiBmaWxlIHBhdGguIiIiCiAgICAgICAgIGRpc3BhdGNo
ZXIgPSBDaGVja2VyRGlzcGF0Y2hlcigpCisgICAgICAgIHNlbGYubW9ja19oYW5kbGVfc3R5bGVf
ZXJyb3IgPSBEZWZhdWx0U3R5bGVFcnJvckhhbmRsZXIoJycsIE5vbmUsIE5vbmUsIFtdKQogICAg
ICAgICBjaGVja2VyID0gZGlzcGF0Y2hlci5kaXNwYXRjaChmaWxlX3BhdGgsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubW9ja19oYW5kbGVfc3R5bGVfZXJyb3Is
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbl9jb25maWRlbmNlPTMp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NoYW5n
ZWxvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9n
LnB5CmluZGV4IGZmNGIwN2ZlMzJhNmIyMTc0MDEzMWRlYTM1MDczYmZiYjZkYTc0MGMuLmRkNzc3
NWE5YjZkZDFjNmRhYTc2NWIwM2VmZTQ2Yzg0YzJlMzI0NGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY2hhbmdlbG9nLnB5CkBAIC0zNCwxMiArMzQs
MTUgQEAgY2xhc3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogCiAgICAgIiIiUHJvY2Vzc2Vz
IHRleHQgbGluZXMgZm9yIGNoZWNraW5nIHN0eWxlLiIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIHNob3VsZF9saW5lX2JlX2NoZWNrZWQp
OgogICAgICAgICBzZWxmLmZpbGVfcGF0aCA9IGZpbGVfcGF0aAogICAgICAgICBzZWxmLmhhbmRs
ZV9zdHlsZV9lcnJvciA9IGhhbmRsZV9zdHlsZV9lcnJvcgorICAgICAgICBzZWxmLnNob3VsZF9s
aW5lX2JlX2NoZWNrZWQgPSBzaG91bGRfbGluZV9iZV9jaGVja2VkCiAgICAgICAgIHNlbGYuX3Rh
Yl9jaGVja2VyID0gVGFiQ2hlY2tlcihmaWxlX3BhdGgsIGhhbmRsZV9zdHlsZV9lcnJvcikKIAot
ICAgIGRlZiBjaGVja19lbnRyeShzZWxmLCBlbnRyeV9saW5lX251bWJlciwgZW50cnlfbGluZXMp
OgorICAgIGRlZiBjaGVja19lbnRyeShzZWxmLCBmaXJzdF9saW5lX2NoZWNrZWQsIGVudHJ5X2xp
bmVzKToKKyAgICAgICAgaWYgbm90IGVudHJ5X2xpbmVzOgorICAgICAgICAgICAgcmV0dXJuCiAg
ICAgICAgIGZvciBsaW5lIGluIGVudHJ5X2xpbmVzOgogICAgICAgICAgICAgaWYgcGFyc2VfYnVn
X2lkKGxpbmUpOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC00OCwyNiArNTEsMjQgQEAgY2xh
c3MgQ2hhbmdlTG9nQ2hlY2tlcihvYmplY3QpOgogICAgICAgICAgICAgaWYgcmUuc2VhcmNoKCJi
dWlsZCIsIGxpbmUsIHJlLklHTk9SRUNBU0UpIGFuZCByZS5zZWFyY2goImZpeCIsIGxpbmUsIHJl
LklHTk9SRUNBU0UpOgogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJvcihlbnRyeV9saW5lX251bWJlciArIDEsCisg
ICAgICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJvcihmaXJzdF9saW5lX2NoZWNrZWQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhbmdlbG9nL2J1Z251bWJlciIs
IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2hhbmdlTG9nIGVudHJ5
IGhhcyBubyBidWcgbnVtYmVyIikKIAogICAgIGRlZiBjaGVjayhzZWxmLCBsaW5lcyk6CiAgICAg
ICAgIHNlbGYuX3RhYl9jaGVja2VyLmNoZWNrKGxpbmVzKQotICAgICAgICBlbnRyeV9saW5lX251
bWJlciA9IDAKKyAgICAgICAgZmlyc3RfbGluZV9jaGVja2VkID0gMAogICAgICAgICBlbnRyeV9s
aW5lcyA9IFtdCi0gICAgICAgIHN0YXJ0ZWRfYXRfZmlyc3RfbGluZSA9IEZhbHNlCi0KLSAgICAg
ICAgZm9yIGxpbmVfbnVtYmVyLCBsaW5lIGluIGVudW1lcmF0ZShsaW5lcyk6Ci0gICAgICAgICAg
ICBpZiByZS5tYXRjaCgiXlxkezR9LVxkezJ9LVxkezJ9IiwgbGluZSk6Ci0gICAgICAgICAgICAg
ICAgaWYgbGluZV9udW1iZXI6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuY2hlY2tfZW50cnko
ZW50cnlfbGluZV9udW1iZXIsIGVudHJ5X2xpbmVzKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAgICAgICAgIHN0YXJ0ZWRfYXRfZmlyc3RfbGluZSA9IFRydWUKLSAgICAgICAg
ICAgICAgICBlbnRyeV9saW5lX251bWJlciA9IGxpbmVfbnVtYmVyCi0gICAgICAgICAgICAgICAg
ZW50cnlfbGluZXMgPSBbXQogCisgICAgICAgIGZvciBsaW5lX2luZGV4LCBsaW5lIGluIGVudW1l
cmF0ZShsaW5lcyk6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5zaG91bGRfbGluZV9iZV9jaGVj
a2VkKGxpbmVfaW5kZXggKyAxKToKKyAgICAgICAgICAgICAgICAjIElmIHdlIHRyYW5zaXRpb25l
ZCBmcm9tIGZpbmRpbmcgY2hhbmdlZCBsaW5lcyB0bworICAgICAgICAgICAgICAgICMgdW5jaGFu
Z2VkIGxpbmVzLCB0aGVuIHdlIGFyZSBkb25lLgorICAgICAgICAgICAgICAgIGlmIGZpcnN0X2xp
bmVfY2hlY2tlZDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBj
b250aW51ZQorICAgICAgICAgICAgaWYgbm90IGZpcnN0X2xpbmVfY2hlY2tlZDoKKyAgICAgICAg
ICAgICAgICBmaXJzdF9saW5lX2NoZWNrZWQgPSBsaW5lX2luZGV4ICsgMQogICAgICAgICAgICAg
ZW50cnlfbGluZXMuYXBwZW5kKGxpbmUpCiAKLSAgICAgICAgaWYgc3RhcnRlZF9hdF9maXJzdF9s
aW5lOgotICAgICAgICAgICAgc2VsZi5jaGVja19lbnRyeShlbnRyeV9saW5lX251bWJlciwgZW50
cnlfbGluZXMpCisgICAgICAgIHNlbGYuY2hlY2tfZW50cnkoZmlyc3RfbGluZV9jaGVja2VkLCBl
bnRyeV9saW5lcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcnMvY2hhbmdlbG9nX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKaW5kZXggNDE0ZTRmZWY0MWU0Y2QwNWMy
YmJkZGRiNzFlNGVmZGVlZWI5NWUxZi4uMDIyOTZkM2E3MWM5ZGFkM2M5NjAyOGQyNzAzZDI4ZDM4
M2E1OGU4ZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vy
cy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKQEAgLTMyLDU5ICszMiwxMjQgQEAgaW1w
b3J0IHVuaXR0ZXN0CiBjbGFzcyBDaGFuZ2VMb2dDaGVja2VyVGVzdCh1bml0dGVzdC5UZXN0Q2Fz
ZSk6CiAgICAgIiIiVGVzdHMgQ2hhbmdlTG9nQ2hlY2tlciBjbGFzcy4iIiIKIAotICAgIGRlZiBh
c3NlcnRfbm9fZXJyb3Ioc2VsZiwgY2hhbmdlbG9nX2RhdGEpOgorICAgIGRlZiBhc3NlcnRfbm9f
ZXJyb3Ioc2VsZiwgbGluZXNfdG9fY2hlY2ssIGNoYW5nZWxvZ19kYXRhKToKICAgICAgICAgZGVm
IGhhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJlciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1l
c3NhZ2UpOgotICAgICAgICAgICAgc2VsZi5mYWlsKCdVbmV4cGVjdGVkIGVycm9yOiAlZCAlcyAl
ZCAlcycgJSAobGluZV9udW1iZXIsIGNhdGVnb3J5LCBjb25maWRlbmNlLCBtZXNzYWdlKSkKLSAg
ICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5DaGFuZ2VMb2dDaGVja2VyKCdDaGFuZ2VMb2cnLCBo
YW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAgICAgICBzZWxmLmZhaWwoJ1VuZXhwZWN0ZWQgZXJy
b3I6ICVkICVzICVkICVzIGZvclxuJXMnICUgKGxpbmVfbnVtYmVyLCBjYXRlZ29yeSwgY29uZmlk
ZW5jZSwgbWVzc2FnZSwgY2hhbmdlbG9nX2RhdGEpKQorICAgICAgICBzZWxmLmxpbmVzX3RvX2No
ZWNrID0gc2V0KGxpbmVzX3RvX2NoZWNrKQorICAgICAgICBjaGVja2VyID0gY2hhbmdlbG9nLkNo
YW5nZUxvZ0NoZWNrZXIoJ0NoYW5nZUxvZycsIGhhbmRsZV9zdHlsZV9lcnJvciwgc2VsZi5tb2Nr
X3Nob3VsZF9saW5lX2JlX2NoZWNrZWQpCiAgICAgICAgIGNoZWNrZXIuY2hlY2soY2hhbmdlbG9n
X2RhdGEuc3BsaXQoJ1xuJykpCiAKLSAgICBkZWYgYXNzZXJ0X2Vycm9yKHNlbGYsIGV4cGVjdGVk
X2xpbmVfbnVtYmVyLCBleHBlY3RlZF9jYXRlZ29yeSwgY2hhbmdlbG9nX2RhdGEpOgorICAgIGRl
ZiBhc3NlcnRfZXJyb3Ioc2VsZiwgZXhwZWN0ZWRfbGluZV9udW1iZXIsIGxpbmVzX3RvX2NoZWNr
LCBleHBlY3RlZF9jYXRlZ29yeSwgY2hhbmdlbG9nX2RhdGEpOgogICAgICAgICBzZWxmLmhhZF9l
cnJvciA9IEZhbHNlCiAKICAgICAgICAgZGVmIGhhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJl
ciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1lc3NhZ2UpOgogICAgICAgICAgICAgc2VsZi5oYWRf
ZXJyb3IgPSBUcnVlCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBlY3RlZF9saW5l
X251bWJlciwgbGluZV9udW1iZXIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhleHBl
Y3RlZF9jYXRlZ29yeSwgY2F0ZWdvcnkpCi0KLSAgICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5D
aGFuZ2VMb2dDaGVja2VyKCdDaGFuZ2VMb2cnLCBoYW5kbGVfc3R5bGVfZXJyb3IpCisgICAgICAg
IHNlbGYubGluZXNfdG9fY2hlY2sgPSBzZXQobGluZXNfdG9fY2hlY2spCisgICAgICAgIGNoZWNr
ZXIgPSBjaGFuZ2Vsb2cuQ2hhbmdlTG9nQ2hlY2tlcignQ2hhbmdlTG9nJywgaGFuZGxlX3N0eWxl
X2Vycm9yLCBzZWxmLm1vY2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKICAgICAgICAgY2hlY2tl
ci5jaGVjayhjaGFuZ2Vsb2dfZGF0YS5zcGxpdCgnXG4nKSkKICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKHNlbGYuaGFkX2Vycm9yKQogCiAgICAgZGVmIG1vY2tfaGFuZGxlX3N0eWxlX2Vycm9yKHNl
bGYpOgogICAgICAgICBwYXNzCiAKKyAgICBkZWYgbW9ja19zaG91bGRfbGluZV9iZV9jaGVja2Vk
KHNlbGYsIGxpbmVfbnVtYmVyKToKKyAgICAgICAgcmV0dXJuIGxpbmVfbnVtYmVyIGluIHNlbGYu
bGluZXNfdG9fY2hlY2sKKwogICAgIGRlZiB0ZXN0X2luaXQoc2VsZik6Ci0gICAgICAgIGNoZWNr
ZXIgPSBjaGFuZ2Vsb2cuQ2hhbmdlTG9nQ2hlY2tlcignQ2hhbmdlTG9nJywgc2VsZi5tb2NrX2hh
bmRsZV9zdHlsZV9lcnJvcikKKyAgICAgICAgY2hlY2tlciA9IGNoYW5nZWxvZy5DaGFuZ2VMb2dD
aGVja2VyKCdDaGFuZ2VMb2cnLCBzZWxmLm1vY2tfaGFuZGxlX3N0eWxlX2Vycm9yLCBzZWxmLm1v
Y2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hl
Y2tlci5maWxlX3BhdGgsICdDaGFuZ2VMb2cnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhj
aGVja2VyLmhhbmRsZV9zdHlsZV9lcnJvciwgc2VsZi5tb2NrX2hhbmRsZV9zdHlsZV9lcnJvcikK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoY2hlY2tlci5zaG91bGRfbGluZV9iZV9jaGVja2Vk
LCBzZWxmLm1vY2tfc2hvdWxkX2xpbmVfYmVfY2hlY2tlZCkKIAogICAgIGRlZiB0ZXN0X21pc3Np
bmdfYnVnX251bWJlcihzZWxmKToKLSAgICAgICAgZW50cmllcyA9IFsKLSAgICAgICAgICAgICcy
MDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAg
ICAgIEV4YW1wbGUgYnVnJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0
ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAg
IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPVxuJywKLSAgICAgICAgICAg
ICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4g
ICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD1cbicsCi0gICAgICAgICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVy
ZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5cblxuICAgICAgICBFeGFtcGxlIGJ1Z1xuICAgICAgICBo
dHRwOi8vd2Via2l0Lm9yZy9iL1xuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4g
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyMzQ1XG4nLAotICAgICAg
ICAgICAgJ0V4YW1wbGUgYnVnXG4gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaVxuXG4yMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2Eu
Y29tPlxuJywKLSAgICAgICAgICAgICdFeGFtcGxlIGJ1Z1xuICAgICAgICBNb3JlIHRleHQgYWJv
dXQgYnVnLlxuXG4yMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2Eu
Y29tPlxuJywKLSAgICAgICAgXQotCi0gICAgICAgIGZvciBlbnRyeSBpbiBlbnRyaWVzOgotICAg
ICAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgJ2NoYW5nZWxvZy9idWdudW1iZXInLCBlbnRy
eSkKKyAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgcmFuZ2UoMSwgMjApLCAnY2hhbmdlbG9n
L2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAg
ICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUg
YnVnXG4nKQorICAgICAgICBzZWxmLmFzc2VydF9lcnJvcigxLCByYW5nZSgxLCAyMCksICdjaGFu
Z2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEg
IFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgRXhh
bXBsZSBidWdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cDovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9XG4nKQorICAgICAgICBzZWxmLmFzc2VydF9l
cnJvcigxLCByYW5nZSgxLCAyMCksICdjaGFuZ2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBh
cm9nYS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgJyAgICAgICAgRXhhbXBsZSBidWdcbicKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgJyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PVxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRfZXJyb3IoMSwgcmFuZ2UoMSwgMjApLCAnY2hhbmdl
bG9nL2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQ
YXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAg
ICAgICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1w
bGUgYnVnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGh0dHA6Ly93ZWJr
aXQub3JnL2IvXG4nKQorICAgICAgICBzZWxmLmFzc2VydF9lcnJvcigxLCByYW5nZSgxLCAyMCks
ICdjaGFuZ2Vsb2cvYnVnbnVtYmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEt
MDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAg
ICAgRXhhbXBsZSBidWcnCisgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvMTIzNDVcbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X2Vycm9yKDIsIHJhbmdlKDIsIDUpLCAn
Y2hhbmdlbG9nL2J1Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAx
LTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAg
ICAgICAgICAgICAgICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAgICAgICAg
ICAgICAgICAgICAnICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2lc
bicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ1xuJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAnMjAxMS0wMS0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAcGFyb2dhLmNvbT5c
bicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgQW5vdGhlciBjaGFuZ2Vcbicp
CisgICAgICAgIHNlbGYuYXNzZXJ0X2Vycm9yKDIsIHJhbmdlKDIsIDYpLCAnY2hhbmdlbG9nL2J1
Z251bWJlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAnICAgICAgICBFeGFtcGxlIGJ1Z1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAn
ICAgICAgICBNb3JlIHRleHQgYWJvdXQgYnVnLlxuJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIE5vIGJ1ZyBpbiB0aGlz
IGNoYW5nZS5cbicpCiAKICAgICBkZWYgdGVzdF9ub19lcnJvcihzZWxmKToKLSAgICAgICAgZW50
cmllcyA9IFsKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBh
cm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEV4YW1wbGUgYnVnXG4gICAgICAgIGh0dHA6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG4nLAotICAgICAgICAgICAgJzIw
MTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAg
ICAgRXhhbXBsZSBidWdcbiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyMzQ1XG4nLAotICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3Rl
cmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAgICAgRXhhbXBsZSBidWdcbiAgICAgICAg
aHR0cDovL3dlYmtpdC5vcmcvYi8xMjM0NVxuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQ
YXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIFVucmV2aWV3
IGJ1aWxkIGZpeCBmb3IgcjEyMzQ1LlxuJywKLSAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuXG4gICAgICAgIEZpeCBidWlsZCBh
ZnRlciBhIGJhZCBjaGFuZ2UuXG4nLAotICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sg
R2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG5cbiAgICAgICAgRml4IGV4YW1wbGUgcG9y
dCBidWlsZC5cbicsCi0gICAgICAgICAgICAnRXhhbXBsZSBidWdcbiAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1XG5cbjIwMTEtMDEtMDEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nLAotICAgICAgICBdCi0KLSAgICAg
ICAgZm9yIGVudHJ5IGluIGVudHJpZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJv
cihlbnRyeSkKKyAgICAgICAgc2VsZi5hc3NlcnRfbm9fZXJyb3IoW10sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBw
YXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUgQ2hhbmdlTG9nIGVudHJ5IG91
dCBvZiByYW5nZVxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICBodHRw
Oi8vZXhhbXBsZS5jb20vXG4nKQorICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJvcihbXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVy
ICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdc
bicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgRXhhbXBsZSBidWdcbicK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzNDVcbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X25vX2Vy
cm9yKHJhbmdlKDEsIDIwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEt
MDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAg
ICAgICAgRXhhbXBsZSBidWdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAg
ICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzNDVcbicpCisgICAg
ICAgIHNlbGYuYXNzZXJ0X25vX2Vycm9yKHJhbmdlKDEsIDIwKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9n
YS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdcbicKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJyAgICAgICAgRXhhbXBsZSBidWdcbicKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyMzQ1XG4nKQorICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJvcihyYW5nZSgxLCAy
MCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUg
YnVnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGh0dHA6Ly93ZWJr
aXQub3JnL2IvMTIzNDVcbicpCisgICAgICAgIHNlbGYuYXNzZXJ0X25vX2Vycm9yKHJhbmdlKDEs
IDIwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzIwMTEtMDEtMDEgIFBhdHJpY2sg
R2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgVW5yZXZp
ZXcgYnVpbGQgZml4IGZvciByMTIzNDUuXG4nKQorICAgICAgICBzZWxmLmFzc2VydF9ub19lcnJv
cihyYW5nZSgxLCAyMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAx
ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAg
ICAgIEZpeCBidWlsZCBhZnRlciBhIGJhZCBjaGFuZ2UuXG4nKQorICAgICAgICBzZWxmLmFzc2Vy
dF9ub19lcnJvcihyYW5nZSgxLCAyMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcy
MDExLTAxLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICcgICAgICAgIEZpeCBleGFtcGxlIHBvcnQgYnVpbGQuXG4nKQorICAgICAgICBzZWxmLmFz
c2VydF9ub19lcnJvcihyYW5nZSgyLCA2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JzIwMTEtMDEtMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+XG4nCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIEV4YW1wbGUgYnVnXG4nCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjM0NVxuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
XG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcyMDExLTAxLTAxICBQYXRyaWNrIEdh
bnN0ZXJlciAgPHBhcm9nYUBwYXJvZ2EuY29tPlxuJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnICAgICAgICBObyBidWcgaGVyZSFcbicpCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5f
Xyc6CiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL2Vycm9yX2hhbmRsZXJzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9lcnJvcl9oYW5kbGVycy5weQppbmRleCAwYmVkZTI0Mjk3MWE4NDIzZWIwNWM3Y2FiZmM2NDk1
MWM0YjcxYjAyLi41ZDhiMDQxZDZmZTI4NjBiZDFiYTcwNzY0OWRhZGZiNjIyN2YwYmVmIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2Vycm9yX2hhbmRsZXJzLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJyb3JfaGFuZGxlcnMucHkKQEAgLTEy
MywxNiArMTIzLDE4IEBAIGNsYXNzIERlZmF1bHRTdHlsZUVycm9ySGFuZGxlcihvYmplY3QpOgog
ICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgcmV0dXJuIHNlbGYuX2NvbmZpZ3VyYXRp
b24ubWF4X3JlcG9ydHNfcGVyX2NhdGVnb3J5W2NhdGVnb3J5XQogCisgICAgZGVmIHNob3VsZF9s
aW5lX2JlX2NoZWNrZWQoc2VsZiwgbGluZV9udW1iZXIpOgorICAgICAgICAiUmV0dXJucyBpZiBh
IHBhcnRpY3VsYXIgbGluZSBzaG91bGQgYmUgY2hlY2tlZCIKKyAgICAgICAgIyBXYXMgdGhlIGxp
bmUgdGhhdCB3YXMgbW9kaWZpZWQ/CisgICAgICAgIHJldHVybiBzZWxmLl9saW5lX251bWJlcnMg
aXMgTm9uZSBvciBsaW5lX251bWJlciBpbiBzZWxmLl9saW5lX251bWJlcnMKKwogICAgIGRlZiBf
X2NhbGxfXyhzZWxmLCBsaW5lX251bWJlciwgY2F0ZWdvcnksIGNvbmZpZGVuY2UsIG1lc3NhZ2Up
OgogICAgICAgICAiIiJIYW5kbGUgdGhlIG9jY3VycmVuY2Ugb2YgYSBzdHlsZSBlcnJvci4KIAog
ICAgICAgICBTZWUgdGhlIGRvY3N0cmluZyBvZiB0aGlzIG1vZHVsZSBmb3IgbW9yZSBpbmZvcm1h
dGlvbi4KIAogICAgICAgICAiIiIKLSAgICAgICAgaWYgKHNlbGYuX2xpbmVfbnVtYmVycyBpcyBu
b3QgTm9uZSBhbmQKLSAgICAgICAgICAgIGxpbmVfbnVtYmVyIG5vdCBpbiBzZWxmLl9saW5lX251
bWJlcnMpOgotICAgICAgICAgICAgIyBUaGVuIHRoZSBlcnJvciBvY2N1cnJlZCBpbiBhIGxpbmUg
dGhhdCB3YXMgbm90IG1vZGlmaWVkLCBzbwotICAgICAgICAgICAgIyB0aGUgZXJyb3IgaXMgbm90
IHJlcG9ydGFibGUuCisgICAgICAgIGlmIG5vdCBzZWxmLnNob3VsZF9saW5lX2JlX2NoZWNrZWQo
bGluZV9udW1iZXIpOgogICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgaWYgbm90IHNlbGYu
X2NvbmZpZ3VyYXRpb24uaXNfcmVwb3J0YWJsZShjYXRlZ29yeT1jYXRlZ29yeSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>