<?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>33476</bug_id>
          
          <creation_ts>2010-01-11 10:39:16 -0800</creation_ts>
          <short_desc>Change VCSUtils::parseDiffHeader() to skip over unrecognized lines</short_desc>
          <delta_ts>2010-01-15 13:26:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Jerdonek">cjerdonek</reporter>
          <assigned_to name="Chris Jerdonek">cjerdonek</assigned_to>
          <cc>cjerdonek</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>179419</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-11 10:39:16 -0800</bug_when>
    <thetext>There is also some other clean-up of parseDiffHeader() that can take place here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179533</commentid>
    <comment_count>1</comment_count>
      <attachid>46307</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-11 14:05:16 -0800</bug_when>
    <thetext>Created attachment 46307
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179535</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-11 14:06:47 -0800</bug_when>
    <thetext>Attachment 46307 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:149:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:150:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:158:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:159:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:175:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:176:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:184:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:185:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:201:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:210:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:211:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179538</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-11 14:16:08 -0800</bug_when>
    <thetext>I&apos;m not sure if skipping over unrecognized lines is better than allowing them to pass through because we lose information by skipping lines.  I could imagine this preventing the --force option from working in cases where it might otherwise work (e.g. if the parse subroutine couldn&apos;t find the end of the header block due to some slight mis-formatting and so wound up skipping the entire file).  Isn&apos;t the patch command pretty lenient with respect to junk lines, anyways?  I&apos;m not sure if you voiced an opinion on this issue before.

But the other changes I would like to make for sure.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180247</commentid>
    <comment_count>4</comment_count>
      <attachid>46307</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-13 08:54:32 -0800</bug_when>
    <thetext>Comment on attachment 46307
Proposed patch

Working on further changes here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180293</commentid>
    <comment_count>5</comment_count>
      <attachid>46307</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-13 10:50:20 -0800</bug_when>
    <thetext>Comment on attachment 46307
Proposed patch

&gt; Index: WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl
&gt; ===================================================================
&gt; --- WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl	(revision 53081)
&gt; +++ WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl	(working copy)
&gt; @@ -266,15 +258,12 @@ END
&gt;      # Header keys to check
&gt;      svnConvertedText =&gt; &lt;&lt;&apos;END&apos;,
&gt;  Index: LayoutTests/http/tests/security/listener/xss-inactive-closure.html
&gt; -new file mode 100644
&gt; -index 0000000..3c9f114
&gt;  --- LayoutTests/http/tests/security/listener/xss-inactive-closure.html
&gt;  +++ LayoutTests/http/tests/security/listener/xss-inactive-closure.html
&gt;  END

Chris, I know you&apos;re working on a new patch, but I wanted to note that this result is incorrect (it&apos;s missing the &apos;====&apos; line).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180602</commentid>
    <comment_count>6</comment_count>
      <attachid>46548</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-14 01:36:46 -0800</bug_when>
    <thetext>Created attachment 46548
Proposed patch 2

FYI, this is my first Git patch.  Can these not be cq&apos;ed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180603</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-14 01:37:46 -0800</bug_when>
    <thetext>Attachment 46548 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:129:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:130:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:138:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:139:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:154:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:155:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:163:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:164:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:179:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:188:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:189:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180618</commentid>
    <comment_count>8</comment_count>
      <attachid>46550</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-14 01:54:45 -0800</bug_when>
    <thetext>Created attachment 46550
Proposed patch 3

Corrected my e-mail in Changelog and corrected comment at end of unit test file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180619</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-14 01:58:49 -0800</bug_when>
    <thetext>Attachment 46550 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:129:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:130:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:138:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:139:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:154:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:155:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:163:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:164:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:179:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:188:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:189:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180742</commentid>
    <comment_count>10</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-14 09:25:40 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=46548) [details]
&gt; Proposed patch 2
&gt; 
&gt; FYI, this is my first Git patch.  Can these not be cq&apos;ed?

I think they can, but the same no-tabs restriction is present.  :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181040</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 17:39:36 -0800</bug_when>
    <thetext>In this case, I believe the file in question already has &quot;allow-tabs&quot; so this could be cq+&apos;d just fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181287</commentid>
    <comment_count>12</comment_count>
      <attachid>46550</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-15 11:30:01 -0800</bug_when>
    <thetext>Comment on attachment 46550
Proposed patch 3

&gt; -plan(tests =&gt; @diffTests * 8); # Eight assertions per call to doDiffTest().
&gt; +plan(tests =&gt; @diffTests * 6); # Multiply by number of assertions per call to doDiffTest().

It would be really cool if there was a way to &quot;count&quot; the number of assertions in code, but it&apos;s not necessary for this patch.  (I&apos;m not sure if it&apos;s possible, either, unless you make the assertions an array of strings that are eval-ed.)

r=me

Let&apos;s try with the commit queue per Eric&apos;s Comment #11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181320</commentid>
    <comment_count>13</comment_count>
      <attachid>46550</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-15 12:36:37 -0800</bug_when>
    <thetext>Comment on attachment 46550
Proposed patch 3

Clearing flags on attachment: 46550

Committed r53340: &lt;http://trac.webkit.org/changeset/53340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181321</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-15 12:36:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181350</commentid>
    <comment_count>15</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-15 13:20:53 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; In this case, I believe the file in question already has &quot;allow-tabs&quot; so this
&gt; could be cq+&apos;d just fine.

W00t!  It worked!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181351</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-15 13:24:22 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 46550 [details])
&gt; &gt; -plan(tests =&gt; @diffTests * 8); # Eight assertions per call to doDiffTest().
&gt; &gt; +plan(tests =&gt; @diffTests * 6); # Multiply by number of assertions per call to doDiffTest().
&gt; 
&gt; It would be really cool if there was a way to &quot;count&quot; the number of assertions
&gt; in code, but it&apos;s not necessary for this patch.  (I&apos;m not sure if it&apos;s
&gt; possible, either, unless you make the assertions an array of strings that are
&gt; eval-ed.)

Thanks for the review, David.  It looks like this is possible without eval since all the assertions are calls to is().  We could write a function that returns an array of the parameters to use for each call to is().  The number of assertions per call would then be the length of the return value of this function on a sample input.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181353</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-15 13:26:30 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #11)
&gt; &gt; In this case, I believe the file in question already has &quot;allow-tabs&quot; so this
&gt; &gt; could be cq+&apos;d just fine.
&gt; 
&gt; W00t!  It worked!

Great!  By the way, I just got granted commit access today, so either way you would have been off the hook. ;)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46307</attachid>
            <date>2010-01-11 14:05:16 -0800</date>
            <delta_ts>2010-01-13 10:50:20 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch-tools7-1.txt</filename>
            <type>text/plain</type>
            <size>12824</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDUzMDgzKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDEtMTEgIENocmlzIEplcmRvbmVrICA8
Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFsdGVyZWQgcGFyc2VEaWZmSGVhZGVyKCkgdG8gc2tpcCB1bnJl
Y29nbml6ZWQgbGluZXMgYW5kCisgICAgICAgIG90aGVyIG1pbm9yIGNsZWFuLXVwcy4KKworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM0NzYKKworICAg
ICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAgICAgLSBDaGFuZ2VkIHBhcnNlRGlm
ZkhlYWRlcigpIGFzIGZvbGxvd3M6CisgICAgICAgICAgICAtIFNraXBzIG92ZXIgdW5yZWNvZ25p
emVkIGxpbmVzLgorICAgICAgICAgICAgLSBSZW5hbWVkICJ2ZXJzaW9uIiBoZWFkZXIgaGFzaCBr
ZXkgdG8gInNvdXJjZVJldmlzaW9uIi4KKyAgICAgICAgICAgIC0gRWxpbWluYXRlZCAiY29waWVk
RnJvbVZlcnNpb24iIGhlYWRlciBoYXNoIGtleS4KKyAgICAgICAgICAgIC0gSW5jbHVkZWQgInNv
dXJjZVJldmlzaW9uIiBhbHNvIGZvciBjb3BpZWQgZmlsZXMuCisgICAgICAgICAgICAtIENoZWNr
cyB0aGF0IGNvcHkgcmV2aXNpb24gbnVtYmVyIG1hdGNoZXMgInNvdXJjZVJldmlzaW9uIi4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9wYXJzZURpZmZI
ZWFkZXIucGw6CisgICAgICAgICAgLSBNYWRlIG5lY2Vzc2FyeSBjaGFuZ2VzIGluIHBhcnNlRGlm
ZkhlYWRlcigpIHVuaXQgdGVzdHMuCisgICAgICAgICAgLSBTaG9ydGVuZWQgdGhlIGZpbGUgcGF0
aHMgaW4gc29tZSB0ZXN0IGNhc2VzLgorCiAyMDEwLTAxLTEwICBBZGFtIEJhcnRoICA8YWJhcnRo
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgS2lsemVyLgpJbmRleDog
V2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9TY3JpcHRzL1ZDU1V0aWxzLnBtCShyZXZpc2lvbiA1MzA4MSkKKysrIFdlYktpdFRvb2xzL1Nj
cmlwdHMvVkNTVXRpbHMucG0JKHdvcmtpbmcgY29weSkKQEAgLTM5NSwxMiArMzk1LDE0IEBAIHN1
YiBnaXRkaWZmMnN2bmRpZmYoJCkKICMKICMgUmV0dXJucyAoJGhlYWRlckhhc2hSZWYsICRmb3Vu
ZEhlYWRlckVuZGluZywgJGxhc3RSZWFkTGluZSk6CiAjICAgJGhlYWRlckhhc2hSZWY6IGEgaGFz
aCByZWZlcmVuY2UgcmVwcmVzZW50aW5nIGEgZGlmZiBoZWFkZXIKLSMgICAgIGNvcGllZEZyb21Q
YXRoOiB0aGUgcGF0aCBpbiB0aGUgImZyb20iIGNsYXVzZSwgaWYgYW55LgotIyAgICAgY29waWVk
RnJvbVZlcnNpb246IHRoZSByZXZpc2lvbiBudW1iZXIgaW4gdGhlICJmcm9tIiBjbGF1c2UsIGlm
IGFueS4KKyMgICAgIGNvcGllZEZyb21QYXRoOiBpZiBhIGZpbGUgY29weSwgdGhlIHBhdGggZnJv
bSB3aGljaCB0aGUgZmlsZSB3YXMKKyMgICAgICAgICAgICAgICAgICAgICBjb3BpZWQuIE90aGVy
d2lzZSwgdW5kZWZpbmVkLgogIyAgICAgaW5kZXhQYXRoOiB0aGUgcGF0aCBpbiB0aGUgIkluZGV4
OiIgbGluZS4KKyMgICAgIHNvdXJjZVJldmlzaW9uOiB0aGUgcmV2aXNpb24gbnVtYmVyIG9mIHRo
ZSBzb3VyY2UuIFRoaXMgaXMgdGhlIHNhbWUKKyMgICAgICAgICAgICAgICAgICAgICBhcyB0aGUg
cmV2aXNpb24gbnVtYmVyIHRoZSBmaWxlIHdhcyBjb3BpZWQgZnJvbSwgaW4KKyMgICAgICAgICAg
ICAgICAgICAgICB0aGUgY2FzZSBvZiBhIGZpbGUgY29weS4KICMgICAgIHN2bkNvbnZlcnRlZFRl
eHQ6IHRoZSBoZWFkZXIgdGV4dCBjb252ZXJ0ZWQgdG8gU1ZOIGZvcm1hdC4KICMgICAgICAgICAg
ICAgICAgICAgICAgIFVucmVjb2duaXplZCBHaXQgbGluZXMgYXJlIGxlZnQgYWxvbmUuCi0jICAg
ICB2ZXJzaW9uOiB0aGUgcmV2aXNpb24gbnVtYmVyIG9mIHRoZSBzb3VyY2UuCiAjICAgJGZvdW5k
SGVhZGVyRW5kaW5nOiB3aGV0aGVyIHRoZSBsYXN0IGhlYWRlciBibG9jayBsaW5lIHdhcyBmb3Vu
ZC4KICMgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgYSBsaW5lIGJlZ2lubmluZyB3aXRo
ICIrKysiLgogIyAgICRsYXN0UmVhZExpbmU6IHRoZSBsaW5lIGxhc3QgcmVhZCBmcm9tICRmaWxl
SGFuZGxlLiBJZiBFT0YgaGFzIG5vdApAQCAtNDI3LDYgKzQyOSw3IEBAIHN1YiBwYXJzZURpZmZI
ZWFkZXIoJCQpCiAKICAgICBteSAkZm91bmRIZWFkZXJFbmRpbmcgPSAwOwogICAgIG15ICRsYXN0
UmVhZExpbmU7CisgICAgbXkgJHNvdXJjZVJldmlzaW9uOwogICAgIG15ICRzdm5Db252ZXJ0ZWRU
ZXh0ID0gJGxpbmU7CiAgICAgd2hpbGUgKDwkZmlsZUhhbmRsZT4pIHsKICAgICAgICAgIyBUZW1w
b3JhcmlseSBzdHJpcCBvZmYgYW55IGVuZC1vZi1saW5lIGNoYXJhY3RlcnMgdG8gc2ltcGxpZnkK
QEAgLTQzNiwxOCArNDM5LDI5IEBAIHN1YiBwYXJzZURpZmZIZWFkZXIoJCQpCiAKICAgICAgICAg
JF8gPSAmJGZpbHRlcigkXykgaWYgJGZpbHRlcjsKIAotICAgICAgICAjIEZpeCBwYXRocyBvbiAi
ZGlmZiIsICItLS0iLCBhbmQgIisrKyIgbGluZXMgdG8gbWF0Y2ggdGhlCi0gICAgICAgICMgbGVh
ZGluZyBpbmRleCBsaW5lLgotICAgICAgICBzL1xTKyQvJGluZGV4UGF0aC8gaWYgL15kaWZmLzsg
IyBGSVhNRTogQ2FuIHRoaXMgZXZlciBvY2N1cj8gSWYgc28sIGluY2x1ZGUKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgIGEgdW5pdCB0ZXN0LiBPdGhlcndp
c2UsIHJlbW92ZSBpdC4KLSAgICAgICAgcy9eLS0tIFxTKy8tLS0gJGluZGV4UGF0aC87Ci0gICAg
ICAgIGlmICgvXi0tLSAuK1woZnJvbSAoXFMrKTooXGQrKVwpJC8pIHsKLSAgICAgICAgICAgICRo
ZWFkZXJ7Y29waWVkRnJvbVBhdGh9ID0gJDE7Ci0gICAgICAgICAgICAkaGVhZGVye2NvcGllZEZy
b21WZXJzaW9ufSA9ICQyIGlmICgkMiAhPSAwKTsKLSAgICAgICAgfSBlbHNpZiAoL14tLS0gLitc
KHJldmlzaW9uIChcZCspXCkkLykgewotICAgICAgICAgICAgJGhlYWRlcnt2ZXJzaW9ufSA9ICQx
IGlmICgkMSAhPSAwKTsKKyAgICAgICAgIyBGaXggcGF0aHMgb24gIiItLS0iIGFuZCAiKysrIiBs
aW5lcyB0byBtYXRjaCB0aGUgbGVhZGluZworICAgICAgICAjIGluZGV4IGxpbmUuCisgICAgICAg
IGlmICgvXj0rJC8pIHsKKyAgICAgICAgICAgICMgPT09PT09PS4uLiBkaXZpZGluZyBsaW5lCisg
ICAgICAgICAgICAjIFRoZW4gZG8gbm90aGluZy4KKyAgICAgICAgfSBlbHNpZiAocy9eLS0tIFxT
Ky8tLS0gJGluZGV4UGF0aC8pIHsKKyAgICAgICAgICAgICMgLS0tCisgICAgICAgICAgICBpZiAo
L14tLS0gLitcKHJldmlzaW9uIChcZCspXCkvKSB7CisgICAgICAgICAgICAgICAgJHNvdXJjZVJl
dmlzaW9uID0gJDEgaWYgKCQxICE9IDApOworICAgICAgICAgICAgICAgIGlmICgvXChmcm9tIChc
UyspOihcZCspXCkkLykgeworICAgICAgICAgICAgICAgICAgICAjIFRoZSAiZnJvbSIgY2xhdXNl
IGlzIGNyZWF0ZWQgYnkgc3ZuLWNyZWF0ZS1wYXRjaCwgaW4KKyAgICAgICAgICAgICAgICAgICAg
IyB3aGljaCBjYXNlIHRoZXJlIGlzIGFsd2F5cyBhbHNvIGEgInJldmlzaW9uIiBjbGF1c2UuCisg
ICAgICAgICAgICAgICAgICAgICRoZWFkZXJ7Y29waWVkRnJvbVBhdGh9ID0gJDE7CisgICAgICAg
ICAgICAgICAgICAgIGRpZSgiUmV2aXNpb24gbnVtYmVyIFwiJDJcIiBpbiBcImZyb21cIiBjbGF1
c2UgZG9lcyBub3QgbWF0Y2ggIiAuCisgICAgICAgICAgICAgICAgICAgICAgICAic291cmNlIHJl
dmlzaW9uIG51bWJlciBcIiRzb3VyY2VSZXZpc2lvblwiLiIpIGlmICgkMiAhPSAkc291cmNlUmV2
aXNpb24pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNp
ZiAocy9eXCtcK1wrIFxTKy8rKysgJGluZGV4UGF0aC8pIHsKKyAgICAgICAgICAgICMgKysrCiAg
ICAgICAgICAgICAkZm91bmRIZWFkZXJFbmRpbmcgPSAxOworICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgIyBTa2lwIHVucmVjb2duaXplZCBsaW5lcy4KKyAgICAgICAgICAgIG5leHQ7CiAg
ICAgICAgIH0KIAogICAgICAgICAkc3ZuQ29udmVydGVkVGV4dCAuPSAiJF8kZW9sIjsgIyBBbHNv
IHJlc3RvcmUgRU9MIGNoYXJhY3RlcnMuCkBAIC00NTgsNiArNDcyLDcgQEAgc3ViIHBhcnNlRGlm
ZkhlYWRlcigkJCkKICAgICB9ICMgJGxhc3RSZWFkTGluZSBpcyB1bmRlZiBpZiB3aGlsZSBsb29w
IHJhbiBvdXQuCiAKICAgICAkaGVhZGVye2luZGV4UGF0aH0gPSAkaW5kZXhQYXRoOworICAgICRo
ZWFkZXJ7c291cmNlUmV2aXNpb259ID0gJHNvdXJjZVJldmlzaW9uOwogICAgICRoZWFkZXJ7c3Zu
Q29udmVydGVkVGV4dH0gPSAkc3ZuQ29udmVydGVkVGV4dDsKIAogICAgIHJldHVybiAoXCVoZWFk
ZXIsICRmb3VuZEhlYWRlckVuZGluZywgJGxhc3RSZWFkTGluZSk7CkluZGV4OiBXZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvcGFyc2VEaWZmSGVhZGVyLnBs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191
bml0dGVzdC9wYXJzZURpZmZIZWFkZXIucGwJKHJldmlzaW9uIDUzMDgxKQorKysgV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L3BhcnNlRGlmZkhlYWRlci5w
bAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTAgKzM4LDkgQEAgdXNlIFZDU1V0aWxzOwogCiBteSBA
aGVhZGVyS2V5cyA9ICggIyBUaGUgJGhlYWRlckhhc2hSZWYga2V5cyB0byBjaGVjay4KICAgICAi
Y29waWVkRnJvbVBhdGgiLAotICAgICJjb3BpZWRGcm9tVmVyc2lvbiIsCiAgICAgImluZGV4UGF0
aCIsCisgICAgInNvdXJjZVJldmlzaW9uIiwKICAgICAic3ZuQ29udmVydGVkVGV4dCIsCi0gICAg
InZlcnNpb24iLAogKTsKIAogIyBUZXN0IHBhcnNlRGlmZkhlYWRlcigpIGZvciB0aGUgZ2l2ZW4g
JGRpZmZUZXN0SGFzaFJlZi4KQEAgLTgyLDkgKzgxLDggQEAgRU5ECiBJbmRleDogV2ViS2l0VG9v
bHMvU2NyaXB0cy9WQ1NVdGlscy5wbQogRU5ECiAgICAgY29waWVkRnJvbVBhdGggPT4gdW5kZWYs
Ci0gICAgY29waWVkRnJvbVZlcnNpb24gPT4gdW5kZWYsCiAgICAgaW5kZXhQYXRoID0+ICJXZWJL
aXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtIiwKLSAgICB2ZXJzaW9uID0+IHVuZGVmLAorICAg
IHNvdXJjZVJldmlzaW9uID0+IHVuZGVmLAogICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCiAg
ICAgZm91bmRIZWFkZXJFbmRpbmcgPT4gMCwKICAgICBsYXN0UmVhZExpbmUgPT4gdW5kZWYsCkBA
IC0xMDksOSArMTA3LDggQEAgSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0K
ICsrKyBXZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCSh3b3JraW5nIGNvcHkpCiBFTkQK
ICAgICBjb3BpZWRGcm9tUGF0aCA9PiB1bmRlZiwKLSAgICBjb3BpZWRGcm9tVmVyc2lvbiA9PiB1
bmRlZiwKICAgICBpbmRleFBhdGggPT4gIldlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0i
LAotICAgIHZlcnNpb24gPT4gIjUzMDA0IiwKKyAgICBzb3VyY2VSZXZpc2lvbiA9PiAiNTMwMDQi
LAogICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCiAgICAgZm91bmRIZWFkZXJFbmRpbmcgPT4g
MSwKICAgICBsYXN0UmVhZExpbmUgPT4gIkBAIC0zMiw2ICszMiw3IEBAIHVzZSBzdHJpY3Q7XG4i
LApAQCAtMTM2LDkgKzEzMyw4IEBAIEluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBl
cmwvVkMKICsrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRl
c3QvcGFyc2VEaWZmSGVhZGVyLnBsCShyZXZpc2lvbiAwKQogRU5ECiAgICAgY29waWVkRnJvbVBh
dGggPT4gdW5kZWYsCi0gICAgY29waWVkRnJvbVZlcnNpb24gPT4gdW5kZWYsCiAgICAgaW5kZXhQ
YXRoID0+ICJXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3Qv
cGFyc2VEaWZmSGVhZGVyLnBsIiwKLSAgICB2ZXJzaW9uID0+IHVuZGVmLAorICAgIHNvdXJjZVJl
dmlzaW9uID0+IHVuZGVmLAogICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCiAgICAgZm91bmRI
ZWFkZXJFbmRpbmcgPT4gMSwKICAgICBsYXN0UmVhZExpbmUgPT4gIkBAIC0wLDAgKzEsMjYyIEBA
XG4iLApAQCAtMTQ4LDgyICsxNDQsNzkgQEAgRU5ECiAgICAgIyBOZXcgdGVzdAogICAgIGRpZmZO
YW1lID0+ICJTVk46IGNvcHkiLAogICAgIGlucHV0VGV4dCA9PiA8PCdFTkQnLAotSW5kZXg6IFdl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5CitJbmRleDogaW5kZXhfcGF0
aC5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90
ZXN0LnB5CShyZXZpc2lvbiA1MzA0NykJKGZyb20gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9fX2luaXRfXy5weTo1MzA0OCkKLSsrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L21v
dmVfdGVzdC5weQkod29ya2luZyBjb3B5KQorLS0tIGluZGV4X3BhdGgucHkJKHJldmlzaW9uIDUz
MDQ4KQkoZnJvbSBjb3BpZWRfZnJvbV9wYXRoLnB5OjUzMDQ4KQorKysrIGluZGV4X3BhdGgucHkJ
KHdvcmtpbmcgY29weSkKIEBAIC0wLDAgKzEsNyBAQAotKyMgUmVxdWlyZWQgZm9yIFB5dGhvbiB0
byBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZSBmaWxlcworKyMgUHl0aG9uIGZpbGUu
Li4KIEVORAogICAgICMgSGVhZGVyIGtleXMgdG8gY2hlY2sKICAgICBzdm5Db252ZXJ0ZWRUZXh0
ID0+IDw8J0VORCcsCi1JbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rl
c3QucHkKK0luZGV4OiBpbmRleF9wYXRoLnB5CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkJKHJldmlzaW9uIDUzMDQ3KQkoZnJvbSBXZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5OjUzMDQ4KQotKysrIFdlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5CSh3b3JraW5nIGNvcHkpCistLS0gaW5k
ZXhfcGF0aC5weQkocmV2aXNpb24gNTMwNDgpCShmcm9tIGNvcGllZF9mcm9tX3BhdGgucHk6NTMw
NDgpCisrKysgaW5kZXhfcGF0aC5weQkod29ya2luZyBjb3B5KQogRU5ECi0gICAgY29waWVkRnJv
bVBhdGggPT4gIldlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHkiLAotICAg
IGNvcGllZEZyb21WZXJzaW9uID0+ICI1MzA0OCIsCi0gICAgaW5kZXhQYXRoID0+ICJXZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weSIsCi0gICAgdmVyc2lvbiA9PiB1bmRl
ZiwKKyAgICBjb3BpZWRGcm9tUGF0aCA9PiAiY29waWVkX2Zyb21fcGF0aC5weSIsCisgICAgaW5k
ZXhQYXRoID0+ICJpbmRleF9wYXRoLnB5IiwKKyAgICBzb3VyY2VSZXZpc2lvbiA9PiA1MzA0OCwK
ICAgICAjIE90aGVyIHZhbHVlcyB0byBjaGVjawogICAgIGZvdW5kSGVhZGVyRW5kaW5nID0+IDEs
CiAgICAgbGFzdFJlYWRMaW5lID0+ICJAQCAtMCwwICsxLDcgQEBcbiIsCi0gICAgbmV4dExpbmUg
PT4gIisjIFJlcXVpcmVkIGZvciBQeXRob24gdG8gc2VhcmNoIHRoaXMgZGlyZWN0b3J5IGZvciBt
b2R1bGUgZmlsZXNcbiIsCisgICAgbmV4dExpbmUgPT4gIisjIFB5dGhvbiBmaWxlLi4uXG4iLAog
fSwKIHsKICAgICAjIE5ldyB0ZXN0CiAgICAgZGlmZk5hbWUgPT4gIlNWTjogXFxyXFxuIGxpbmVz
IiwKICAgICBpbnB1dFRleHQgPT4gPDxFTkQsICMgTm8gc2luZ2xlIHF1b3RlcyB0byBhbGxvdyBp
bnRlcnBvbGF0aW9uIG9mICJcciIKLUluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L21vdmVfdGVzdC5weVxyCitJbmRleDogaW5kZXhfcGF0aC5weVxyCiA9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHIKLS0t
LSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQkocmV2aXNpb24gNTMw
NDcpCShmcm9tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHk6NTMwNDgp
XHIKLSsrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQkod29ya2lu
ZyBjb3B5KVxyCistLS0gaW5kZXhfcGF0aC5weQkocmV2aXNpb24gNTMwNDgpCShmcm9tIGNvcGll
ZF9mcm9tX3BhdGgucHk6NTMwNDgpXHIKKysrKyBpbmRleF9wYXRoLnB5CSh3b3JraW5nIGNvcHkp
XHIKIEBAIC0wLDAgKzEsNyBAQFxyCi0rIyBSZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0
aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlIGZpbGVzXHIKKysjIFB5dGhvbiBmaWxlLi4uXHIKIEVO
RAogICAgICMgSGVhZGVyIGtleXMgdG8gY2hlY2sKICAgICBzdm5Db252ZXJ0ZWRUZXh0ID0+IDw8
RU5ELCAjIE5vIHNpbmdsZSBxdW90ZXMgdG8gYWxsb3cgaW50ZXJwb2xhdGlvbiBvZiAiXHIiCi1J
bmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHlccgorSW5kZXg6
IGluZGV4X3BhdGgucHlccgogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyCi0tLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9tb3ZlX3Rlc3QucHkJKHJldmlzaW9uIDUzMDQ3KQkoZnJvbSBXZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5OjUzMDQ4KVxyCi0rKysgV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkJKHdvcmtpbmcgY29weSlccgorLS0tIGluZGV4X3Bh
dGgucHkJKHJldmlzaW9uIDUzMDQ4KQkoZnJvbSBjb3BpZWRfZnJvbV9wYXRoLnB5OjUzMDQ4KVxy
CisrKysgaW5kZXhfcGF0aC5weQkod29ya2luZyBjb3B5KVxyCiBFTkQKLSAgICBjb3BpZWRGcm9t
UGF0aCA9PiAiV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weSIsCi0gICAg
Y29waWVkRnJvbVZlcnNpb24gPT4gIjUzMDQ4IiwKLSAgICBpbmRleFBhdGggPT4gIldlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5IiwKLSAgICB2ZXJzaW9uID0+IHVuZGVm
LAorICAgIGNvcGllZEZyb21QYXRoID0+ICJjb3BpZWRfZnJvbV9wYXRoLnB5IiwKKyAgICBpbmRl
eFBhdGggPT4gImluZGV4X3BhdGgucHkiLAorICAgIHNvdXJjZVJldmlzaW9uID0+IDUzMDQ4LAog
ICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCiAgICAgZm91bmRIZWFkZXJFbmRpbmcgPT4gMSwK
ICAgICBsYXN0UmVhZExpbmUgPT4gIkBAIC0wLDAgKzEsNyBAQFxyXG4iLAotICAgIG5leHRMaW5l
ID0+ICIrIyBSZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3Ig
bW9kdWxlIGZpbGVzXHJcbiIsCisgICAgbmV4dExpbmUgPT4gIisjIFB5dGhvbiBmaWxlLi4uXHJc
biIsCiB9LAogewogICAgICMgTmV3IHRlc3QKICAgICBkaWZmTmFtZSA9PiAiU1ZOOiBwYXRoIGNv
cnJlY3Rpb25zIiwKICAgICBpbnB1dFRleHQgPT4gPDwnRU5EJywKLUluZGV4OiBXZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQorSW5kZXg6IGluZGV4X3BhdGgucHkKID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tLSBiYWRfcGF0aAkocmV2aXNpb24gNTMwNDcpCShmcm9tIFdlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHk6NTMwNDgpCistLS0gYmFkX3BhdGgJKHJldmlz
aW9uIDUzMDQ4KQkoZnJvbSBjb3BpZWRfZnJvbV9wYXRoLnB5OjUzMDQ4KQogKysrIGJhZF9wYXRo
CSh3b3JraW5nIGNvcHkpCiBAQCAtMCwwICsxLDcgQEAKLSsjIFJlcXVpcmVkIGZvciBQeXRob24g
dG8gc2VhcmNoIHRoaXMgZGlyZWN0b3J5IGZvciBtb2R1bGUgZmlsZXMKKysjIFB5dGhvbiBmaWxl
Li4uCiBFTkQKICAgICAjIEhlYWRlciBrZXlzIHRvIGNoZWNrCiAgICAgc3ZuQ29udmVydGVkVGV4
dCA9PiA8PCdFTkQnLAotSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90
ZXN0LnB5CitJbmRleDogaW5kZXhfcGF0aC5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFdlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5CShyZXZpc2lvbiA1MzA0NykJKGZyb20gV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weTo1MzA0OCkKLSsrKyBXZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQkod29ya2luZyBjb3B5KQorLS0tIGlu
ZGV4X3BhdGgucHkJKHJldmlzaW9uIDUzMDQ4KQkoZnJvbSBjb3BpZWRfZnJvbV9wYXRoLnB5OjUz
MDQ4KQorKysrIGluZGV4X3BhdGgucHkJKHdvcmtpbmcgY29weSkKIEVORAotICAgIGNvcGllZEZy
b21QYXRoID0+ICJXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5IiwKLSAg
ICBjb3BpZWRGcm9tVmVyc2lvbiA9PiAiNTMwNDgiLAotICAgIGluZGV4UGF0aCA9PiAiV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkiLAotICAgIHZlcnNpb24gPT4gdW5k
ZWYsCisgICAgY29waWVkRnJvbVBhdGggPT4gImNvcGllZF9mcm9tX3BhdGgucHkiLAorICAgIGlu
ZGV4UGF0aCA9PiAiaW5kZXhfcGF0aC5weSIsCisgICAgc291cmNlUmV2aXNpb24gPT4gNTMwNDgs
CiAgICAgIyBPdGhlciB2YWx1ZXMgdG8gY2hlY2sKICAgICBmb3VuZEhlYWRlckVuZGluZyA9PiAx
LAogICAgIGxhc3RSZWFkTGluZSA9PiAiQEAgLTAsMCArMSw3IEBAXG4iLAotICAgIG5leHRMaW5l
ID0+ICIrIyBSZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3Ig
bW9kdWxlIGZpbGVzXG4iLAorICAgIG5leHRMaW5lID0+ICIrIyBQeXRob24gZmlsZS4uLlxuIiwK
IH0sCiB7CiAgICAgIyBOZXcgdGVzdApAQCAtMjQzLDkgKzIzNiw4IEBAIEluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXgKICsrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUZsZXhpYmxlQm94RGF0YS5oCiBFTkQKICAgICBjb3BpZWRGcm9tUGF0aCA9PiB1bmRlZiwK
LSAgICBjb3BpZWRGcm9tVmVyc2lvbiA9PiB1bmRlZiwKICAgICBpbmRleFBhdGggPT4gIldlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmgiLAotICAgIHZlcnNpb24g
PT4gdW5kZWYsCisgICAgc291cmNlUmV2aXNpb24gPT4gdW5kZWYsCiAgICAgIyBPdGhlciB2YWx1
ZXMgdG8gY2hlY2sKICAgICBmb3VuZEhlYWRlckVuZGluZyA9PiAxLAogICAgIGxhc3RSZWFkTGlu
ZSA9PiAiQEAgLTQ3LDcgKzQ3LDYgQEAgcHVibGljOlxuIiwKQEAgLTI2NiwxNSArMjU4LDEyIEBA
IEVORAogICAgICMgSGVhZGVyIGtleXMgdG8gY2hlY2sKICAgICBzdm5Db252ZXJ0ZWRUZXh0ID0+
IDw8J0VORCcsCiBJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9saXN0ZW5l
ci94c3MtaW5hY3RpdmUtY2xvc3VyZS5odG1sCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXgg
MDAwMDAwMC4uM2M5ZjExNAogLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbGlz
dGVuZXIveHNzLWluYWN0aXZlLWNsb3N1cmUuaHRtbAogKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvbGlzdGVuZXIveHNzLWluYWN0aXZlLWNsb3N1cmUuaHRtbAogRU5ECiAgICAg
Y29waWVkRnJvbVBhdGggPT4gdW5kZWYsCi0gICAgY29waWVkRnJvbVZlcnNpb24gPT4gdW5kZWYs
CiAgICAgaW5kZXhQYXRoID0+ICJMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2xpc3Rl
bmVyL3hzcy1pbmFjdGl2ZS1jbG9zdXJlLmh0bWwiLAotICAgIHZlcnNpb24gPT4gdW5kZWYsCisg
ICAgc291cmNlUmV2aXNpb24gPT4gdW5kZWYsCiAgICAgIyBPdGhlciB2YWx1ZXMgdG8gY2hlY2sK
ICAgICBmb3VuZEhlYWRlckVuZGluZyA9PiAxLAogICAgIGxhc3RSZWFkTGluZSA9PiAiQEAgLTAs
MCArMSwzNCBAQFxuIiwKQEAgLTI4Miw3ICsyNzEsNyBAQCBFTkQKIH0sCiApOwogCi1wbGFuKHRl
c3RzID0+IEBkaWZmVGVzdHMgKiA4KTsgIyBFaWdodCBhc3NlcnRpb25zIHBlciBjYWxsIHRvIGRv
RGlmZlRlc3QoKS4KK3BsYW4odGVzdHMgPT4gQGRpZmZUZXN0cyAqIDcpOyAjIFNldmVuIGFzc2Vy
dGlvbnMgcGVyIGNhbGwgdG8gZG9EaWZmVGVzdCgpLgogCiBmb3JlYWNoIG15ICRkaWZmVGVzdEhh
c2hSZWYgKEBkaWZmVGVzdHMpIHsKICAgICBkb0RpZmZUZXN0KCRkaWZmVGVzdEhhc2hSZWYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46548</attachid>
            <date>2010-01-14 01:36:46 -0800</date>
            <delta_ts>2010-01-14 01:54:45 -0800</delta_ts>
            <desc>Proposed patch 2</desc>
            <filename>patch-33476-1.txt</filename>
            <type>text/plain</type>
            <size>15954</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBjOGZlOGEwLi45YTU2NjI1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTAtMDEt
MTQgIENocmlzIEplcmRvbmVrICA8Y2hyaXNfZzRAc3RvbmV3YWxsLmxvY2FsPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsdGVyZWQgcGFyc2VEaWZm
SGVhZGVyKCkgdG8gc2tpcCB1bnJlY29nbml6ZWQgbGluZXMgYW5kCisgICAgICAgIG90aGVyIG1p
bm9yIGNsZWFuLXVwcy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzM0NzYKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAg
ICAgLSBDaGFuZ2VkIHBhcnNlRGlmZkhlYWRlcigpIGFzIGZvbGxvd3M6CisgICAgICAgICAgICAt
IFNraXBzIG92ZXIgdW5yZWNvZ25pemVkIGxpbmVzLgorICAgICAgICAgICAgLSBSZW5hbWVkICJ2
ZXJzaW9uIiBoZWFkZXIgaGFzaCBrZXkgdG8gInNvdXJjZVJldmlzaW9uIi4KKyAgICAgICAgICAg
IC0gRWxpbWluYXRlZCAiY29waWVkRnJvbVZlcnNpb24iIGhlYWRlciBoYXNoIGtleS4KKyAgICAg
ICAgICAgIC0gSW5jbHVkZWQgInNvdXJjZVJldmlzaW9uIiBhbHNvIGZvciBjb3BpZWQgZmlsZXMu
CisgICAgICAgICAgICAtIENoZWNrcyB0aGF0IGNvcHkgcmV2aXNpb24gbnVtYmVyIG1hdGNoZXMg
InNvdXJjZVJldmlzaW9uIi4KKyAgICAgICAgICAgIC0gTm8gbG9uZ2VyIHJldHVybnMgJGZvdW5k
SGVhZGVyRW5kaW5nLgorICAgICAgICAgICAgLSBEaWVzIGlmIGhlYWRlciBlbmRpbmcgbm90IGZv
dW5kLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L3Bh
cnNlRGlmZkhlYWRlci5wbDoKKyAgICAgICAgICAtIE1hZGUgbmVjZXNzYXJ5IGNoYW5nZXMgaW4g
cGFyc2VEaWZmSGVhZGVyKCkgdW5pdCB0ZXN0cy4KKyAgICAgICAgICAtIFNob3J0ZW5lZCB0aGUg
ZmlsZSBwYXRocyBpbiBzb21lIHRlc3QgY2FzZXMuCisKIDIwMTAtMDEtMTIgIEJyZW50IEZ1bGdo
YW0gIDxiZnVsZ2hhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFk
bGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbSBiL1dlYktp
dFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KaW5kZXggMThhZGIxNS4uNzY0ZmRiZCAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL1ZDU1V0aWxzLnBtCkBAIC0zNzAsNiArMzcwLDcgQEAgc3ViIGdpdGRpZmYyc3ZuZGlm
ZigkKQogICAgICAgICByZXR1cm4gIkluZGV4OiAkMSRQT1NUTUFUQ0giOwogICAgIH0KICAgICBp
ZiAobSNeaW5kZXggWzAtOWEtZl17N31cLlwuWzAtOWEtZl17N30gWzAtOV17Nn0jKSB7CisgICAg
ICAgICMgRklYTUU6IE5vIG5lZWQgdG8gcmV0dXJuIGRpdmlkaW5nIGxpbmUgb25jZSBwYXJzZURp
ZmZIZWFkZXIoKSBpcyB1c2VkLgogICAgICAgICByZXR1cm4gIj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0kUE9TVE1BVENI
IjsKICAgICB9CiAgICAgaWYgKG0jXi0tLSBcdy8oW15cclxuXSspIykgewpAQCAtMzg1LDcgKzM4
Niw5IEBAIHN1YiBnaXRkaWZmMnN2bmRpZmYoJCkKICMgdGhlIGZpbGUgaGFuZGxlIHNvIHRoZSBs
YXN0IGxpbmUgcmVhZCBpcyB0aGUgZmlyc3QgbGluZSBhZnRlciB0aGUKICMgcGFyc2VkIGhlYWRl
ciBibG9jay4KICMKLSMgVGhpcyBzdWJyb3V0aW5lIGRpZXMgaWYgZ2l2ZW4gbGVhZGluZyBqdW5r
LgorIyBUaGlzIHN1YnJvdXRpbmUgZGllcyBpZiBnaXZlbiBsZWFkaW5nIGp1bmsgb3IgaWYgdGhl
IGVuZCBvZiB0aGUgaGVhZGVyCisjIGJsb2NrIGNvdWxkIG5vdCBiZSBkZXRlY3RlZC4gVGhlIGxh
c3QgbGluZSBvZiBhIGhlYWRlciBibG9jayBpcyBhCisjIGxpbmUgYmVnaW5uaW5nIHdpdGggIisr
KyIuCiAjCiAjIEFyZ3M6CiAjICAgJGZpbGVIYW5kbGU6IGFkdmFuY2VkIHNvIHRoZSBsYXN0IGxp
bmUgcmVhZCBpcyB0aGUgZmlyc3QgbGluZSBvZiB0aGUKQEAgLTM5MywxOSArMzk2LDE4IEBAIHN1
YiBnaXRkaWZmMnN2bmRpZmYoJCkKICMgICAgICAgICAgICAgICAgIkluZGV4OiIgbGluZS4KICMg
ICAkbGluZTogdGhlIGxpbmUgbGFzdCByZWFkIGZyb20gJGZpbGVIYW5kbGUKICMKLSMgUmV0dXJu
cyAoJGhlYWRlckhhc2hSZWYsICRmb3VuZEhlYWRlckVuZGluZywgJGxhc3RSZWFkTGluZSk6Cisj
IFJldHVybnMgKCRoZWFkZXJIYXNoUmVmLCAkbGFzdFJlYWRMaW5lKToKICMgICAkaGVhZGVySGFz
aFJlZjogYSBoYXNoIHJlZmVyZW5jZSByZXByZXNlbnRpbmcgYSBkaWZmIGhlYWRlcgotIyAgICAg
Y29waWVkRnJvbVBhdGg6IHRoZSBwYXRoIGluIHRoZSAiZnJvbSIgY2xhdXNlLCBpZiBhbnkuCi0j
ICAgICBjb3BpZWRGcm9tVmVyc2lvbjogdGhlIHJldmlzaW9uIG51bWJlciBpbiB0aGUgImZyb20i
IGNsYXVzZSwgaWYgYW55LgorIyAgICAgY29waWVkRnJvbVBhdGg6IGlmIGEgZmlsZSBjb3B5LCB0
aGUgcGF0aCBmcm9tIHdoaWNoIHRoZSBmaWxlIHdhcworIyAgICAgICAgICAgICAgICAgICAgIGNv
cGllZC4gT3RoZXJ3aXNlLCB1bmRlZmluZWQuCiAjICAgICBpbmRleFBhdGg6IHRoZSBwYXRoIGlu
IHRoZSAiSW5kZXg6IiBsaW5lLgorIyAgICAgc291cmNlUmV2aXNpb246IHRoZSByZXZpc2lvbiBu
dW1iZXIgb2YgdGhlIHNvdXJjZS4gVGhpcyBpcyB0aGUgc2FtZQorIyAgICAgICAgICAgICAgICAg
ICAgIGFzIHRoZSByZXZpc2lvbiBudW1iZXIgdGhlIGZpbGUgd2FzIGNvcGllZCBmcm9tLCBpbgor
IyAgICAgICAgICAgICAgICAgICAgIHRoZSBjYXNlIG9mIGEgZmlsZSBjb3B5LgogIyAgICAgc3Zu
Q29udmVydGVkVGV4dDogdGhlIGhlYWRlciB0ZXh0IGNvbnZlcnRlZCB0byBTVk4gZm9ybWF0Lgot
IyAgICAgICAgICAgICAgICAgICAgICAgVW5yZWNvZ25pemVkIEdpdCBsaW5lcyBhcmUgbGVmdCBh
bG9uZS4KLSMgICAgIHZlcnNpb246IHRoZSByZXZpc2lvbiBudW1iZXIgb2YgdGhlIHNvdXJjZS4K
LSMgICAkZm91bmRIZWFkZXJFbmRpbmc6IHdoZXRoZXIgdGhlIGxhc3QgaGVhZGVyIGJsb2NrIGxp
bmUgd2FzIGZvdW5kLgotIyAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBhIGxpbmUgYmVn
aW5uaW5nIHdpdGggIisrKyIuCi0jICAgJGxhc3RSZWFkTGluZTogdGhlIGxpbmUgbGFzdCByZWFk
IGZyb20gJGZpbGVIYW5kbGUuIElmIEVPRiBoYXMgbm90Ci0jICAgICAgICAgICAgICAgICAgYmVl
biByZWFjaGVkLCB0aGlzIGlzIHRoZSBmaXJzdCBsaW5lIGFmdGVyIHRoZQotIyAgICAgICAgICAg
ICAgICAgIGhlYWRlciBlbmRpbmcuCisjICAgICAgICAgICAgICAgICAgICAgICBVbnJlY29nbml6
ZWQgbGluZXMgYXJlIGRpc2NhcmRlZC4KKyMgICAkbGFzdFJlYWRMaW5lOiB0aGUgbGluZSBsYXN0
IHJlYWQgZnJvbSAkZmlsZUhhbmRsZS4gVGhpcyBpcyB0aGUgZmlyc3QKKyMgICAgICAgICAgICAg
ICAgICBsaW5lIGFmdGVyIHRoZSBoZWFkZXIgZW5kaW5nLgogc3ViIHBhcnNlRGlmZkhlYWRlcigk
JCkKIHsKICAgICBteSAoJGZpbGVIYW5kbGUsICRsaW5lKSA9IEBfOwpAQCAtNDI1LDggKzQyNyw5
IEBAIHN1YiBwYXJzZURpZmZIZWFkZXIoJCQpCiAKICAgICBteSAlaGVhZGVyOwogCi0gICAgbXkg
JGZvdW5kSGVhZGVyRW5kaW5nID0gMDsKLSAgICBteSAkbGFzdFJlYWRMaW5lOworICAgIG15ICRm
b3VuZEhlYWRlckVuZGluZzsKKyAgICBteSAkbGFzdFJlYWRMaW5lOyAKKyAgICBteSAkc291cmNl
UmV2aXNpb247CiAgICAgbXkgJHN2bkNvbnZlcnRlZFRleHQgPSAkbGluZTsKICAgICB3aGlsZSAo
PCRmaWxlSGFuZGxlPikgewogICAgICAgICAjIFRlbXBvcmFyaWx5IHN0cmlwIG9mZiBhbnkgZW5k
LW9mLWxpbmUgY2hhcmFjdGVycyB0byBzaW1wbGlmeQpAQCAtNDM2LDMxICs0MzksNDUgQEAgc3Vi
IHBhcnNlRGlmZkhlYWRlcigkJCkKIAogICAgICAgICAkXyA9ICYkZmlsdGVyKCRfKSBpZiAkZmls
dGVyOwogCi0gICAgICAgICMgRml4IHBhdGhzIG9uICJkaWZmIiwgIi0tLSIsIGFuZCAiKysrIiBs
aW5lcyB0byBtYXRjaCB0aGUKLSAgICAgICAgIyBsZWFkaW5nIGluZGV4IGxpbmUuCi0gICAgICAg
IHMvXFMrJC8kaW5kZXhQYXRoLyBpZiAvXmRpZmYvOyAjIEZJWE1FOiBDYW4gdGhpcyBldmVyIG9j
Y3VyPyBJZiBzbywgaW5jbHVkZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIyAgICAgICAgYSB1bml0IHRlc3QuIE90aGVyd2lzZSwgcmVtb3ZlIGl0LgotICAgICAgICBz
L14tLS0gXFMrLy0tLSAkaW5kZXhQYXRoLzsKLSAgICAgICAgaWYgKC9eLS0tIC4rXChmcm9tIChc
UyspOihcZCspXCkkLykgewotICAgICAgICAgICAgJGhlYWRlcntjb3BpZWRGcm9tUGF0aH0gPSAk
MTsKLSAgICAgICAgICAgICRoZWFkZXJ7Y29waWVkRnJvbVZlcnNpb259ID0gJDIgaWYgKCQyICE9
IDApOwotICAgICAgICB9IGVsc2lmICgvXi0tLSAuK1wocmV2aXNpb24gKFxkKylcKSQvKSB7Ci0g
ICAgICAgICAgICAkaGVhZGVye3ZlcnNpb259ID0gJDEgaWYgKCQxICE9IDApOworICAgICAgICAj
IEZpeCBwYXRocyBvbiAiIi0tLSIgYW5kICIrKysiIGxpbmVzIHRvIG1hdGNoIHRoZSBsZWFkaW5n
CisgICAgICAgICMgaW5kZXggbGluZS4KKyAgICAgICAgaWYgKHMvXi0tLSBcUysvLS0tICRpbmRl
eFBhdGgvKSB7CisgICAgICAgICAgICAjIC0tLQorICAgICAgICAgICAgaWYgKC9eLS0tIC4rXChy
ZXZpc2lvbiAoXGQrKVwpLykgeworICAgICAgICAgICAgICAgICRzb3VyY2VSZXZpc2lvbiA9ICQx
IGlmICgkMSAhPSAwKTsKKyAgICAgICAgICAgICAgICBpZiAoL1woZnJvbSAoXFMrKTooXGQrKVwp
JC8pIHsKKyAgICAgICAgICAgICAgICAgICAgIyBUaGUgImZyb20iIGNsYXVzZSBpcyBjcmVhdGVk
IGJ5IHN2bi1jcmVhdGUtcGF0Y2gsIGluCisgICAgICAgICAgICAgICAgICAgICMgd2hpY2ggY2Fz
ZSB0aGVyZSBpcyBhbHdheXMgYWxzbyBhICJyZXZpc2lvbiIgY2xhdXNlLgorICAgICAgICAgICAg
ICAgICAgICAkaGVhZGVye2NvcGllZEZyb21QYXRofSA9ICQxOworICAgICAgICAgICAgICAgICAg
ICBkaWUoIlJldmlzaW9uIG51bWJlciBcIiQyXCIgaW4gXCJmcm9tXCIgY2xhdXNlIGRvZXMgbm90
IG1hdGNoICIgLgorICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSByZXZpc2lvbiBudW1i
ZXIgXCIkc291cmNlUmV2aXNpb25cIi4iKSBpZiAoJDIgIT0gJHNvdXJjZVJldmlzaW9uKTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICAkXyA9ICI9IiB4IDY3
IC4gIiRlb2wkXyI7ICMgUHJlcGVuZCBkaXZpZGluZyBsaW5lID09PS4uLi4KICAgICAgICAgfSBl
bHNpZiAocy9eXCtcK1wrIFxTKy8rKysgJGluZGV4UGF0aC8pIHsKKyAgICAgICAgICAgICMgKysr
CiAgICAgICAgICAgICAkZm91bmRIZWFkZXJFbmRpbmcgPSAxOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgIyBTa2lwIHVucmVjb2duaXplZCBsaW5lcy4KKyAgICAgICAgICAgIG5leHQ7
CiAgICAgICAgIH0KIAotICAgICAgICAkc3ZuQ29udmVydGVkVGV4dCAuPSAiJF8kZW9sIjsgIyBB
bHNvIHJlc3RvcmUgRU9MIGNoYXJhY3RlcnMuCisgICAgICAgICRzdm5Db252ZXJ0ZWRUZXh0IC49
ICIkXyRlb2wiOyAjIEFsc28gcmVzdG9yZSBlbmQtb2YtbGluZSBjaGFyYWN0ZXJzLgogICAgICAg
ICBpZiAoJGZvdW5kSGVhZGVyRW5kaW5nKSB7CiAgICAgICAgICAgICAkbGFzdFJlYWRMaW5lID0g
PCRmaWxlSGFuZGxlPjsKICAgICAgICAgICAgIGxhc3Q7CiAgICAgICAgIH0KICAgICB9ICMgJGxh
c3RSZWFkTGluZSBpcyB1bmRlZiBpZiB3aGlsZSBsb29wIHJhbiBvdXQuCiAKKyAgICBpZiAoISRm
b3VuZEhlYWRlckVuZGluZykgeworICAgICAgICBkaWUoIkRpZCBub3QgZmluZCBlbmQgb2YgaGVh
ZGVyIGJsb2NrIGNvcnJlc3BvbmRpbmcgdG8gaW5kZXggcGF0aCBcIiRpbmRleFBhdGhcIi4iKTsK
KyAgICB9CisKICAgICAkaGVhZGVye2luZGV4UGF0aH0gPSAkaW5kZXhQYXRoOworICAgICRoZWFk
ZXJ7c291cmNlUmV2aXNpb259ID0gJHNvdXJjZVJldmlzaW9uOwogICAgICRoZWFkZXJ7c3ZuQ29u
dmVydGVkVGV4dH0gPSAkc3ZuQ29udmVydGVkVGV4dDsKIAotICAgIHJldHVybiAoXCVoZWFkZXIs
ICRmb3VuZEhlYWRlckVuZGluZywgJGxhc3RSZWFkTGluZSk7CisgICAgcmV0dXJuIChcJWhlYWRl
ciwgJGxhc3RSZWFkTGluZSk7CiB9CiAKICMgSWYgcG9zc2libGUsIHJldHVybnMgYSBDaGFuZ2VM
b2cgcGF0Y2ggZXF1aXZhbGVudCB0byB0aGUgZ2l2ZW4gb25lLApkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L3BhcnNlRGlmZkhlYWRl
ci5wbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9w
YXJzZURpZmZIZWFkZXIucGwKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCA4
Yzg2MWFhLi44NWFiZWIyCi0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NV
dGlsc191bml0dGVzdC9wYXJzZURpZmZIZWFkZXIucGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L3BhcnNlRGlmZkhlYWRlci5wbApAQCAtMzgs
MTAgKzM4LDkgQEAgdXNlIFZDU1V0aWxzOwogCiBteSBAaGVhZGVyS2V5cyA9ICggIyBUaGUgJGhl
YWRlckhhc2hSZWYga2V5cyB0byBjaGVjay4KICAgICAiY29waWVkRnJvbVBhdGgiLAotICAgICJj
b3BpZWRGcm9tVmVyc2lvbiIsCiAgICAgImluZGV4UGF0aCIsCisgICAgInNvdXJjZVJldmlzaW9u
IiwKICAgICAic3ZuQ29udmVydGVkVGV4dCIsCi0gICAgInZlcnNpb24iLAogKTsKIAogIyBUZXN0
IHBhcnNlRGlmZkhlYWRlcigpIGZvciB0aGUgZ2l2ZW4gJGRpZmZUZXN0SGFzaFJlZi4KQEAgLTU0
LDcgKzUzLDcgQEAgc3ViIGRvRGlmZlRlc3QoJCkKIAogICAgIG15ICRsaW5lID0gPCRmaWxlSGFu
ZGxlPjsKIAotICAgIG15ICgkaGVhZGVySGFzaFJlZiwgJGZvdW5kSGVhZGVyRW5kaW5nLCAkbGFz
dFJlYWRMaW5lKSA9IFZDU1V0aWxzOjpwYXJzZURpZmZIZWFkZXIoJGZpbGVIYW5kbGUsICRsaW5l
KTsKKyAgICBteSAoJGhlYWRlckhhc2hSZWYsICRsYXN0UmVhZExpbmUpID0gVkNTVXRpbHM6OnBh
cnNlRGlmZkhlYWRlcigkZmlsZUhhbmRsZSwgJGxpbmUpOwogCiAgICAgbXkgJHRpdGxlSGVhZGVy
ID0gInBhcnNlRGlmZkhlYWRlcigpOiBbJGRpZmZUZXN0SGFzaFJlZi0+e2RpZmZOYW1lfV0gIjsK
ICAgICBteSAkdGl0bGU7CkBAIC02NCwzMiArNjMsMTMgQEAgc3ViIGRvRGlmZlRlc3QoJCkKICAg
ICAgICAgaXMoJGhlYWRlckhhc2hSZWYtPnskaGVhZGVyS2V5fSwgJGRpZmZUZXN0SGFzaFJlZi0+
eyRoZWFkZXJLZXl9LCAkdGl0bGUpOwogICAgIH0KIAotICAgIGlzKCRmb3VuZEhlYWRlckVuZGlu
ZywgJGRpZmZUZXN0SGFzaFJlZi0+e2ZvdW5kSGVhZGVyRW5kaW5nfSwgIiR7dGl0bGVIZWFkZXJ9
Zm91bmRIZWFkZXJFbmRpbmciKTsKICAgICBpcygkbGFzdFJlYWRMaW5lLCAkZGlmZlRlc3RIYXNo
UmVmLT57bGFzdFJlYWRMaW5lfSwgIiR7dGl0bGVIZWFkZXJ9bGFzdFJlYWRMaW5lIik7CiAKICAg
ICBteSAkbmV4dExpbmUgPSA8JGZpbGVIYW5kbGU+OwogICAgIGlzKCRuZXh0TGluZSwgJGRpZmZU
ZXN0SGFzaFJlZi0+e25leHRMaW5lfSwgIiR7dGl0bGVIZWFkZXJ9bmV4dExpbmUiKTsKIH0KIAot
bXkgQGRpZmZUZXN0cyA9ICh7Ci0gICAgIyBOZXcgdGVzdDogbWlzc2luZyBjbG9zaW5nIGhlYWRl
ciBsaW5lCi0gICAgZGlmZk5hbWUgPT4gIlNWTjogaW5jb21wbGV0ZSBoZWFkZXIiLAotICAgIGlu
cHV0VGV4dCA9PiA8PCdFTkQnLAotSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMu
cG0KLUVORAotICAgICMgSGVhZGVyIGtleXMgdG8gY2hlY2sKLSAgICBzdm5Db252ZXJ0ZWRUZXh0
ID0+IDw8J0VORCcsCi1JbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQotRU5E
Ci0gICAgY29waWVkRnJvbVBhdGggPT4gdW5kZWYsCi0gICAgY29waWVkRnJvbVZlcnNpb24gPT4g
dW5kZWYsCi0gICAgaW5kZXhQYXRoID0+ICJXZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBt
IiwKLSAgICB2ZXJzaW9uID0+IHVuZGVmLAotICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCi0g
ICAgZm91bmRIZWFkZXJFbmRpbmcgPT4gMCwKLSAgICBsYXN0UmVhZExpbmUgPT4gdW5kZWYsCi0g
ICAgbmV4dExpbmUgPT4gdW5kZWYsCi19LAorbXkgQGRpZmZUZXN0cyA9ICgKIHsKICAgICAjIE5l
dyB0ZXN0CiAgICAgZGlmZk5hbWUgPT4gIlNWTjogc2ltcGxlIiwKQEAgLTEwOSwxMSArODksOSBA
QCBJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQogKysrIFdlYktpdFRvb2xz
L1NjcmlwdHMvVkNTVXRpbHMucG0JKHdvcmtpbmcgY29weSkKIEVORAogICAgIGNvcGllZEZyb21Q
YXRoID0+IHVuZGVmLAotICAgIGNvcGllZEZyb21WZXJzaW9uID0+IHVuZGVmLAogICAgIGluZGV4
UGF0aCA9PiAiV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbSIsCi0gICAgdmVyc2lvbiA9
PiAiNTMwMDQiLAorICAgIHNvdXJjZVJldmlzaW9uID0+ICI1MzAwNCIsCiAgICAgIyBPdGhlciB2
YWx1ZXMgdG8gY2hlY2sKLSAgICBmb3VuZEhlYWRlckVuZGluZyA9PiAxLAogICAgIGxhc3RSZWFk
TGluZSA9PiAiQEAgLTMyLDYgKzMyLDcgQEAgdXNlIHN0cmljdDtcbiIsCiAgICAgbmV4dExpbmUg
PT4gIiB1c2Ugd2FybmluZ3M7XG4iLAogfSwKQEAgLTEzNiwxMSArMTE0LDkgQEAgSW5kZXg6IFdl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9wYXJzZURpZmZI
ZWFkZXIucGwKICsrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5p
dHRlc3QvcGFyc2VEaWZmSGVhZGVyLnBsCShyZXZpc2lvbiAwKQogRU5ECiAgICAgY29waWVkRnJv
bVBhdGggPT4gdW5kZWYsCi0gICAgY29waWVkRnJvbVZlcnNpb24gPT4gdW5kZWYsCiAgICAgaW5k
ZXhQYXRoID0+ICJXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRl
c3QvcGFyc2VEaWZmSGVhZGVyLnBsIiwKLSAgICB2ZXJzaW9uID0+IHVuZGVmLAorICAgIHNvdXJj
ZVJldmlzaW9uID0+IHVuZGVmLAogICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCi0gICAgZm91
bmRIZWFkZXJFbmRpbmcgPT4gMSwKICAgICBsYXN0UmVhZExpbmUgPT4gIkBAIC0wLDAgKzEsMjYy
IEBAXG4iLAogICAgIG5leHRMaW5lID0+ICIrIyEvdXNyL2Jpbi9wZXJsIC13XG4iLAogfSwKQEAg
LTE0OCw4MiArMTI0LDc2IEBAIEVORAogICAgICMgTmV3IHRlc3QKICAgICBkaWZmTmFtZSA9PiAi
U1ZOOiBjb3B5IiwKICAgICBpbnB1dFRleHQgPT4gPDwnRU5EJywKLUluZGV4OiBXZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQorSW5kZXg6IGluZGV4X3BhdGgucHkKID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQko
cmV2aXNpb24gNTMwNDcpCShmcm9tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0
X18ucHk6NTMwNDgpCi0rKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3Qu
cHkJKHdvcmtpbmcgY29weSkKKy0tLSBpbmRleF9wYXRoLnB5CShyZXZpc2lvbiA1MzA0OCkJKGZy
b20gY29waWVkX2Zyb21fcGF0aC5weTo1MzA0OCkKKysrKyBpbmRleF9wYXRoLnB5CSh3b3JraW5n
IGNvcHkpCiBAQCAtMCwwICsxLDcgQEAKLSsjIFJlcXVpcmVkIGZvciBQeXRob24gdG8gc2VhcmNo
IHRoaXMgZGlyZWN0b3J5IGZvciBtb2R1bGUgZmlsZXMKKysjIFB5dGhvbiBmaWxlLi4uCiBFTkQK
ICAgICAjIEhlYWRlciBrZXlzIHRvIGNoZWNrCiAgICAgc3ZuQ29udmVydGVkVGV4dCA9PiA8PCdF
TkQnLAotSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5CitJ
bmRleDogaW5kZXhfcGF0aC5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbW92ZV90ZXN0LnB5CShyZXZpc2lvbiA1MzA0NykJKGZyb20gV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weTo1MzA0OCkKLSsrKyBXZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQkod29ya2luZyBjb3B5KQorLS0tIGluZGV4X3BhdGgu
cHkJKHJldmlzaW9uIDUzMDQ4KQkoZnJvbSBjb3BpZWRfZnJvbV9wYXRoLnB5OjUzMDQ4KQorKysr
IGluZGV4X3BhdGgucHkJKHdvcmtpbmcgY29weSkKIEVORAotICAgIGNvcGllZEZyb21QYXRoID0+
ICJXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5IiwKLSAgICBjb3BpZWRG
cm9tVmVyc2lvbiA9PiAiNTMwNDgiLAotICAgIGluZGV4UGF0aCA9PiAiV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkiLAotICAgIHZlcnNpb24gPT4gdW5kZWYsCisgICAg
Y29waWVkRnJvbVBhdGggPT4gImNvcGllZF9mcm9tX3BhdGgucHkiLAorICAgIGluZGV4UGF0aCA9
PiAiaW5kZXhfcGF0aC5weSIsCisgICAgc291cmNlUmV2aXNpb24gPT4gNTMwNDgsCiAgICAgIyBP
dGhlciB2YWx1ZXMgdG8gY2hlY2sKLSAgICBmb3VuZEhlYWRlckVuZGluZyA9PiAxLAogICAgIGxh
c3RSZWFkTGluZSA9PiAiQEAgLTAsMCArMSw3IEBAXG4iLAotICAgIG5leHRMaW5lID0+ICIrIyBS
ZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlIGZp
bGVzXG4iLAorICAgIG5leHRMaW5lID0+ICIrIyBQeXRob24gZmlsZS4uLlxuIiwKIH0sCiB7CiAg
ICAgIyBOZXcgdGVzdAogICAgIGRpZmZOYW1lID0+ICJTVk46IFxcclxcbiBsaW5lcyIsCiAgICAg
aW5wdXRUZXh0ID0+IDw8RU5ELCAjIE5vIHNpbmdsZSBxdW90ZXMgdG8gYWxsb3cgaW50ZXJwb2xh
dGlvbiBvZiAiXHIiCi1JbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rl
c3QucHlccgorSW5kZXg6IGluZGV4X3BhdGgucHlccgogPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyCi0tLS0gV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkJKHJldmlzaW9uIDUzMDQ3KQkoZnJv
bSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5OjUzMDQ4KVxyCi0rKysg
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkJKHdvcmtpbmcgY29weSlc
cgorLS0tIGluZGV4X3BhdGgucHkJKHJldmlzaW9uIDUzMDQ4KQkoZnJvbSBjb3BpZWRfZnJvbV9w
YXRoLnB5OjUzMDQ4KVxyCisrKysgaW5kZXhfcGF0aC5weQkod29ya2luZyBjb3B5KVxyCiBAQCAt
MCwwICsxLDcgQEBccgotKyMgUmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJl
Y3RvcnkgZm9yIG1vZHVsZSBmaWxlc1xyCisrIyBQeXRob24gZmlsZS4uLlxyCiBFTkQKICAgICAj
IEhlYWRlciBrZXlzIHRvIGNoZWNrCiAgICAgc3ZuQ29udmVydGVkVGV4dCA9PiA8PEVORCwgIyBO
byBzaW5nbGUgcXVvdGVzIHRvIGFsbG93IGludGVycG9sYXRpb24gb2YgIlxyIgotSW5kZXg6IFdl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5XHIKK0luZGV4OiBpbmRleF9w
YXRoLnB5XHIKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT1ccgotLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bW92ZV90ZXN0LnB5CShyZXZpc2lvbiA1MzA0NykJKGZyb20gV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS9fX2luaXRfXy5weTo1MzA0OClccgotKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbW92ZV90ZXN0LnB5CSh3b3JraW5nIGNvcHkpXHIKKy0tLSBpbmRleF9wYXRoLnB5CShy
ZXZpc2lvbiA1MzA0OCkJKGZyb20gY29waWVkX2Zyb21fcGF0aC5weTo1MzA0OClccgorKysrIGlu
ZGV4X3BhdGgucHkJKHdvcmtpbmcgY29weSlccgogRU5ECi0gICAgY29waWVkRnJvbVBhdGggPT4g
IldlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHkiLAotICAgIGNvcGllZEZy
b21WZXJzaW9uID0+ICI1MzA0OCIsCi0gICAgaW5kZXhQYXRoID0+ICJXZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weSIsCi0gICAgdmVyc2lvbiA9PiB1bmRlZiwKKyAgICBj
b3BpZWRGcm9tUGF0aCA9PiAiY29waWVkX2Zyb21fcGF0aC5weSIsCisgICAgaW5kZXhQYXRoID0+
ICJpbmRleF9wYXRoLnB5IiwKKyAgICBzb3VyY2VSZXZpc2lvbiA9PiA1MzA0OCwKICAgICAjIE90
aGVyIHZhbHVlcyB0byBjaGVjawotICAgIGZvdW5kSGVhZGVyRW5kaW5nID0+IDEsCiAgICAgbGFz
dFJlYWRMaW5lID0+ICJAQCAtMCwwICsxLDcgQEBcclxuIiwKLSAgICBuZXh0TGluZSA9PiAiKyMg
UmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZSBm
aWxlc1xyXG4iLAorICAgIG5leHRMaW5lID0+ICIrIyBQeXRob24gZmlsZS4uLlxyXG4iLAogfSwK
IHsKICAgICAjIE5ldyB0ZXN0CiAgICAgZGlmZk5hbWUgPT4gIlNWTjogcGF0aCBjb3JyZWN0aW9u
cyIsCiAgICAgaW5wdXRUZXh0ID0+IDw8J0VORCcsCi1JbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkKK0luZGV4OiBpbmRleF9wYXRoLnB5CiA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLS0gYmFkX3BhdGgJKHJldmlzaW9uIDUzMDQ3KQkoZnJvbSBXZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L19faW5pdF9fLnB5OjUzMDQ4KQorLS0tIGJhZF9wYXRoCShyZXZpc2lvbiA1MzA0
OCkJKGZyb20gY29waWVkX2Zyb21fcGF0aC5weTo1MzA0OCkKICsrKyBiYWRfcGF0aAkod29ya2lu
ZyBjb3B5KQogQEAgLTAsMCArMSw3IEBACi0rIyBSZXF1aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJj
aCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlIGZpbGVzCisrIyBQeXRob24gZmlsZS4uLgogRU5E
CiAgICAgIyBIZWFkZXIga2V5cyB0byBjaGVjawogICAgIHN2bkNvbnZlcnRlZFRleHQgPT4gPDwn
RU5EJywKLUluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQor
SW5kZXg6IGluZGV4X3BhdGgucHkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBXZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L21vdmVfdGVzdC5weQkocmV2aXNpb24gNTMwNDcpCShmcm9tIFdlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHk6NTMwNDgpCi0rKysgV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkJKHdvcmtpbmcgY29weSkKKy0tLSBpbmRleF9wYXRo
LnB5CShyZXZpc2lvbiA1MzA0OCkJKGZyb20gY29waWVkX2Zyb21fcGF0aC5weTo1MzA0OCkKKysr
KyBpbmRleF9wYXRoLnB5CSh3b3JraW5nIGNvcHkpCiBFTkQKLSAgICBjb3BpZWRGcm9tUGF0aCA9
PiAiV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weSIsCi0gICAgY29waWVk
RnJvbVZlcnNpb24gPT4gIjUzMDQ4IiwKLSAgICBpbmRleFBhdGggPT4gIldlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5IiwKLSAgICB2ZXJzaW9uID0+IHVuZGVmLAorICAg
IGNvcGllZEZyb21QYXRoID0+ICJjb3BpZWRfZnJvbV9wYXRoLnB5IiwKKyAgICBpbmRleFBhdGgg
PT4gImluZGV4X3BhdGgucHkiLAorICAgIHNvdXJjZVJldmlzaW9uID0+IDUzMDQ4LAogICAgICMg
T3RoZXIgdmFsdWVzIHRvIGNoZWNrCi0gICAgZm91bmRIZWFkZXJFbmRpbmcgPT4gMSwKICAgICBs
YXN0UmVhZExpbmUgPT4gIkBAIC0wLDAgKzEsNyBAQFxuIiwKLSAgICBuZXh0TGluZSA9PiAiKyMg
UmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZSBm
aWxlc1xuIiwKKyAgICBuZXh0TGluZSA9PiAiKyMgUHl0aG9uIGZpbGUuLi5cbiIsCiB9LAogewog
ICAgICMgTmV3IHRlc3QKQEAgLTI0MywxMSArMjEzLDkgQEAgSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmgKICsrKyBXZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5oCiBFTkQKICAgICBjb3BpZWRGcm9tUGF0aCA9PiB1
bmRlZiwKLSAgICBjb3BpZWRGcm9tVmVyc2lvbiA9PiB1bmRlZiwKICAgICBpbmRleFBhdGggPT4g
IldlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmgiLAotICAgIHZl
cnNpb24gPT4gdW5kZWYsCisgICAgc291cmNlUmV2aXNpb24gPT4gdW5kZWYsCiAgICAgIyBPdGhl
ciB2YWx1ZXMgdG8gY2hlY2sKLSAgICBmb3VuZEhlYWRlckVuZGluZyA9PiAxLAogICAgIGxhc3RS
ZWFkTGluZSA9PiAiQEAgLTQ3LDcgKzQ3LDYgQEAgcHVibGljOlxuIiwKICAgICBuZXh0TGluZSA9
PiB1bmRlZiwKIH0sCkBAIC0yNjYsMjMgKzIzNCwyMCBAQCBFTkQKICAgICAjIEhlYWRlciBrZXlz
IHRvIGNoZWNrCiAgICAgc3ZuQ29udmVydGVkVGV4dCA9PiA8PCdFTkQnLAogSW5kZXg6IExheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbGlzdGVuZXIveHNzLWluYWN0aXZlLWNsb3N1cmUu
aHRtbAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjNjOWYxMTQKKz09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KIC0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2xpc3RlbmVyL3hzcy1p
bmFjdGl2ZS1jbG9zdXJlLmh0bWwKICsrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2xpc3RlbmVyL3hzcy1pbmFjdGl2ZS1jbG9zdXJlLmh0bWwKIEVORAogICAgIGNvcGllZEZyb21Q
YXRoID0+IHVuZGVmLAotICAgIGNvcGllZEZyb21WZXJzaW9uID0+IHVuZGVmLAogICAgIGluZGV4
UGF0aCA9PiAiTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9saXN0ZW5lci94c3MtaW5h
Y3RpdmUtY2xvc3VyZS5odG1sIiwKLSAgICB2ZXJzaW9uID0+IHVuZGVmLAorICAgIHNvdXJjZVJl
dmlzaW9uID0+IHVuZGVmLAogICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCi0gICAgZm91bmRI
ZWFkZXJFbmRpbmcgPT4gMSwKICAgICBsYXN0UmVhZExpbmUgPT4gIkBAIC0wLDAgKzEsMzQgQEBc
biIsCiAgICAgbmV4dExpbmUgPT4gIis8aHRtbD5cbiIsCiB9LAogKTsKIAotcGxhbih0ZXN0cyA9
PiBAZGlmZlRlc3RzICogOCk7ICMgRWlnaHQgYXNzZXJ0aW9ucyBwZXIgY2FsbCB0byBkb0RpZmZU
ZXN0KCkuCitwbGFuKHRlc3RzID0+IEBkaWZmVGVzdHMgKiA2KTsgIyBTZXZlbiBhc3NlcnRpb25z
IHBlciBjYWxsIHRvIGRvRGlmZlRlc3QoKS4KIAogZm9yZWFjaCBteSAkZGlmZlRlc3RIYXNoUmVm
IChAZGlmZlRlc3RzKSB7CiAgICAgZG9EaWZmVGVzdCgkZGlmZlRlc3RIYXNoUmVmKTsK
</data>
<flag name="commit-queue"
          id="28838"
          type_id="3"
          status="-"
          setter="cjerdonek"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46550</attachid>
            <date>2010-01-14 01:54:45 -0800</date>
            <delta_ts>2010-01-15 12:36:36 -0800</delta_ts>
            <desc>Proposed patch 3</desc>
            <filename>patch-33476-3.txt</filename>
            <type>text/plain</type>
            <size>16100</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBjOGZlOGEwLi44M2ViM2Y0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTAtMDEt
MTQgIENocmlzIEplcmRvbmVrICA8Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsdGVyZWQgcGFyc2VEaWZm
SGVhZGVyKCkgdG8gc2tpcCB1bnJlY29nbml6ZWQgbGluZXMgYW5kCisgICAgICAgIG90aGVyIG1p
bm9yIGNsZWFuLXVwcy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzM0NzYKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAg
ICAgLSBDaGFuZ2VkIHBhcnNlRGlmZkhlYWRlcigpIGFzIGZvbGxvd3M6CisgICAgICAgICAgICAt
IFNraXBzIG92ZXIgdW5yZWNvZ25pemVkIGxpbmVzLgorICAgICAgICAgICAgLSBBZGRyZXNzZWQg
RklYTUUgdG8gcmVtb3ZlIHN1YnN0aXR1dGlvbiBmb3IgImRpZmYiIGxpbmUuCisgICAgICAgICAg
ICAtIFJlbmFtZWQgInZlcnNpb24iIGhlYWRlciBoYXNoIGtleSB0byAic291cmNlUmV2aXNpb24i
LgorICAgICAgICAgICAgLSBFbGltaW5hdGVkICJjb3BpZWRGcm9tVmVyc2lvbiIgaGVhZGVyIGhh
c2gga2V5LgorICAgICAgICAgICAgLSBJbmNsdWRlZCAic291cmNlUmV2aXNpb24iIGFsc28gZm9y
IGNvcGllZCBmaWxlcy4KKyAgICAgICAgICAgIC0gQ2hlY2tzIHRoYXQgY29weSByZXZpc2lvbiBu
dW1iZXIgbWF0Y2hlcyAic291cmNlUmV2aXNpb24iLgorICAgICAgICAgICAgLSBObyBsb25nZXIg
cmV0dXJucyAkZm91bmRIZWFkZXJFbmRpbmcuCisgICAgICAgICAgICAtIERpZXMgaWYgaGVhZGVy
IGVuZGluZyBub3QgZm91bmQuCisgICAgICAgICAgICAtIERpZmYgaGVhZGVyIGRpdmlkaW5nIGxp
bmUgbm93IGFsd2F5cyBhZGRlZC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9WQ1NV
dGlsc191bml0dGVzdC9wYXJzZURpZmZIZWFkZXIucGw6CisgICAgICAgICAgLSBNYWRlIG5lY2Vz
c2FyeSBjaGFuZ2VzIGluIHBhcnNlRGlmZkhlYWRlcigpIHVuaXQgdGVzdHMuCisgICAgICAgICAg
LSBTaG9ydGVuZWQgdGhlIGZpbGUgcGF0aHMgaW4gc29tZSB0ZXN0IGNhc2VzLgorCiAyMDEwLTAx
LTEyICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNT
VXRpbHMucG0gYi9XZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCmluZGV4IDE4YWRiMTUu
Ljc2NGZkYmQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KKysr
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQpAQCAtMzcwLDYgKzM3MCw3IEBAIHN1
YiBnaXRkaWZmMnN2bmRpZmYoJCkKICAgICAgICAgcmV0dXJuICJJbmRleDogJDEkUE9TVE1BVENI
IjsKICAgICB9CiAgICAgaWYgKG0jXmluZGV4IFswLTlhLWZdezd9XC5cLlswLTlhLWZdezd9IFsw
LTldezZ9IykgeworICAgICAgICAjIEZJWE1FOiBObyBuZWVkIHRvIHJldHVybiBkaXZpZGluZyBs
aW5lIG9uY2UgcGFyc2VEaWZmSGVhZGVyKCkgaXMgdXNlZC4KICAgICAgICAgcmV0dXJuICI9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09JFBPU1RNQVRDSCI7CiAgICAgfQogICAgIGlmIChtI14tLS0gXHcvKFteXHJcbl0rKSMp
IHsKQEAgLTM4NSw3ICszODYsOSBAQCBzdWIgZ2l0ZGlmZjJzdm5kaWZmKCQpCiAjIHRoZSBmaWxl
IGhhbmRsZSBzbyB0aGUgbGFzdCBsaW5lIHJlYWQgaXMgdGhlIGZpcnN0IGxpbmUgYWZ0ZXIgdGhl
CiAjIHBhcnNlZCBoZWFkZXIgYmxvY2suCiAjCi0jIFRoaXMgc3Vicm91dGluZSBkaWVzIGlmIGdp
dmVuIGxlYWRpbmcganVuay4KKyMgVGhpcyBzdWJyb3V0aW5lIGRpZXMgaWYgZ2l2ZW4gbGVhZGlu
ZyBqdW5rIG9yIGlmIHRoZSBlbmQgb2YgdGhlIGhlYWRlcgorIyBibG9jayBjb3VsZCBub3QgYmUg
ZGV0ZWN0ZWQuIFRoZSBsYXN0IGxpbmUgb2YgYSBoZWFkZXIgYmxvY2sgaXMgYQorIyBsaW5lIGJl
Z2lubmluZyB3aXRoICIrKysiLgogIwogIyBBcmdzOgogIyAgICRmaWxlSGFuZGxlOiBhZHZhbmNl
ZCBzbyB0aGUgbGFzdCBsaW5lIHJlYWQgaXMgdGhlIGZpcnN0IGxpbmUgb2YgdGhlCkBAIC0zOTMs
MTkgKzM5NiwxOCBAQCBzdWIgZ2l0ZGlmZjJzdm5kaWZmKCQpCiAjICAgICAgICAgICAgICAgICJJ
bmRleDoiIGxpbmUuCiAjICAgJGxpbmU6IHRoZSBsaW5lIGxhc3QgcmVhZCBmcm9tICRmaWxlSGFu
ZGxlCiAjCi0jIFJldHVybnMgKCRoZWFkZXJIYXNoUmVmLCAkZm91bmRIZWFkZXJFbmRpbmcsICRs
YXN0UmVhZExpbmUpOgorIyBSZXR1cm5zICgkaGVhZGVySGFzaFJlZiwgJGxhc3RSZWFkTGluZSk6
CiAjICAgJGhlYWRlckhhc2hSZWY6IGEgaGFzaCByZWZlcmVuY2UgcmVwcmVzZW50aW5nIGEgZGlm
ZiBoZWFkZXIKLSMgICAgIGNvcGllZEZyb21QYXRoOiB0aGUgcGF0aCBpbiB0aGUgImZyb20iIGNs
YXVzZSwgaWYgYW55LgotIyAgICAgY29waWVkRnJvbVZlcnNpb246IHRoZSByZXZpc2lvbiBudW1i
ZXIgaW4gdGhlICJmcm9tIiBjbGF1c2UsIGlmIGFueS4KKyMgICAgIGNvcGllZEZyb21QYXRoOiBp
ZiBhIGZpbGUgY29weSwgdGhlIHBhdGggZnJvbSB3aGljaCB0aGUgZmlsZSB3YXMKKyMgICAgICAg
ICAgICAgICAgICAgICBjb3BpZWQuIE90aGVyd2lzZSwgdW5kZWZpbmVkLgogIyAgICAgaW5kZXhQ
YXRoOiB0aGUgcGF0aCBpbiB0aGUgIkluZGV4OiIgbGluZS4KKyMgICAgIHNvdXJjZVJldmlzaW9u
OiB0aGUgcmV2aXNpb24gbnVtYmVyIG9mIHRoZSBzb3VyY2UuIFRoaXMgaXMgdGhlIHNhbWUKKyMg
ICAgICAgICAgICAgICAgICAgICBhcyB0aGUgcmV2aXNpb24gbnVtYmVyIHRoZSBmaWxlIHdhcyBj
b3BpZWQgZnJvbSwgaW4KKyMgICAgICAgICAgICAgICAgICAgICB0aGUgY2FzZSBvZiBhIGZpbGUg
Y29weS4KICMgICAgIHN2bkNvbnZlcnRlZFRleHQ6IHRoZSBoZWFkZXIgdGV4dCBjb252ZXJ0ZWQg
dG8gU1ZOIGZvcm1hdC4KLSMgICAgICAgICAgICAgICAgICAgICAgIFVucmVjb2duaXplZCBHaXQg
bGluZXMgYXJlIGxlZnQgYWxvbmUuCi0jICAgICB2ZXJzaW9uOiB0aGUgcmV2aXNpb24gbnVtYmVy
IG9mIHRoZSBzb3VyY2UuCi0jICAgJGZvdW5kSGVhZGVyRW5kaW5nOiB3aGV0aGVyIHRoZSBsYXN0
IGhlYWRlciBibG9jayBsaW5lIHdhcyBmb3VuZC4KLSMgICAgICAgICAgICAgICAgICAgICAgIFRo
aXMgaXMgYSBsaW5lIGJlZ2lubmluZyB3aXRoICIrKysiLgotIyAgICRsYXN0UmVhZExpbmU6IHRo
ZSBsaW5lIGxhc3QgcmVhZCBmcm9tICRmaWxlSGFuZGxlLiBJZiBFT0YgaGFzIG5vdAotIyAgICAg
ICAgICAgICAgICAgIGJlZW4gcmVhY2hlZCwgdGhpcyBpcyB0aGUgZmlyc3QgbGluZSBhZnRlciB0
aGUKLSMgICAgICAgICAgICAgICAgICBoZWFkZXIgZW5kaW5nLgorIyAgICAgICAgICAgICAgICAg
ICAgICAgVW5yZWNvZ25pemVkIGxpbmVzIGFyZSBkaXNjYXJkZWQuCisjICAgJGxhc3RSZWFkTGlu
ZTogdGhlIGxpbmUgbGFzdCByZWFkIGZyb20gJGZpbGVIYW5kbGUuIFRoaXMgaXMgdGhlIGZpcnN0
CisjICAgICAgICAgICAgICAgICAgbGluZSBhZnRlciB0aGUgaGVhZGVyIGVuZGluZy4KIHN1YiBw
YXJzZURpZmZIZWFkZXIoJCQpCiB7CiAgICAgbXkgKCRmaWxlSGFuZGxlLCAkbGluZSkgPSBAXzsK
QEAgLTQyNSw4ICs0MjcsOSBAQCBzdWIgcGFyc2VEaWZmSGVhZGVyKCQkKQogCiAgICAgbXkgJWhl
YWRlcjsKIAotICAgIG15ICRmb3VuZEhlYWRlckVuZGluZyA9IDA7Ci0gICAgbXkgJGxhc3RSZWFk
TGluZTsKKyAgICBteSAkZm91bmRIZWFkZXJFbmRpbmc7CisgICAgbXkgJGxhc3RSZWFkTGluZTsg
CisgICAgbXkgJHNvdXJjZVJldmlzaW9uOwogICAgIG15ICRzdm5Db252ZXJ0ZWRUZXh0ID0gJGxp
bmU7CiAgICAgd2hpbGUgKDwkZmlsZUhhbmRsZT4pIHsKICAgICAgICAgIyBUZW1wb3JhcmlseSBz
dHJpcCBvZmYgYW55IGVuZC1vZi1saW5lIGNoYXJhY3RlcnMgdG8gc2ltcGxpZnkKQEAgLTQzNiwz
MSArNDM5LDQ1IEBAIHN1YiBwYXJzZURpZmZIZWFkZXIoJCQpCiAKICAgICAgICAgJF8gPSAmJGZp
bHRlcigkXykgaWYgJGZpbHRlcjsKIAotICAgICAgICAjIEZpeCBwYXRocyBvbiAiZGlmZiIsICIt
LS0iLCBhbmQgIisrKyIgbGluZXMgdG8gbWF0Y2ggdGhlCi0gICAgICAgICMgbGVhZGluZyBpbmRl
eCBsaW5lLgotICAgICAgICBzL1xTKyQvJGluZGV4UGF0aC8gaWYgL15kaWZmLzsgIyBGSVhNRTog
Q2FuIHRoaXMgZXZlciBvY2N1cj8gSWYgc28sIGluY2x1ZGUKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgICAgICAgIGEgdW5pdCB0ZXN0LiBPdGhlcndpc2UsIHJlbW92
ZSBpdC4KLSAgICAgICAgcy9eLS0tIFxTKy8tLS0gJGluZGV4UGF0aC87Ci0gICAgICAgIGlmICgv
Xi0tLSAuK1woZnJvbSAoXFMrKTooXGQrKVwpJC8pIHsKLSAgICAgICAgICAgICRoZWFkZXJ7Y29w
aWVkRnJvbVBhdGh9ID0gJDE7Ci0gICAgICAgICAgICAkaGVhZGVye2NvcGllZEZyb21WZXJzaW9u
fSA9ICQyIGlmICgkMiAhPSAwKTsKLSAgICAgICAgfSBlbHNpZiAoL14tLS0gLitcKHJldmlzaW9u
IChcZCspXCkkLykgewotICAgICAgICAgICAgJGhlYWRlcnt2ZXJzaW9ufSA9ICQxIGlmICgkMSAh
PSAwKTsKKyAgICAgICAgIyBGaXggcGF0aHMgb24gIiItLS0iIGFuZCAiKysrIiBsaW5lcyB0byBt
YXRjaCB0aGUgbGVhZGluZworICAgICAgICAjIGluZGV4IGxpbmUuCisgICAgICAgIGlmIChzL14t
LS0gXFMrLy0tLSAkaW5kZXhQYXRoLykgeworICAgICAgICAgICAgIyAtLS0KKyAgICAgICAgICAg
IGlmICgvXi0tLSAuK1wocmV2aXNpb24gKFxkKylcKS8pIHsKKyAgICAgICAgICAgICAgICAkc291
cmNlUmV2aXNpb24gPSAkMSBpZiAoJDEgIT0gMCk7CisgICAgICAgICAgICAgICAgaWYgKC9cKGZy
b20gKFxTKyk6KFxkKylcKSQvKSB7CisgICAgICAgICAgICAgICAgICAgICMgVGhlICJmcm9tIiBj
bGF1c2UgaXMgY3JlYXRlZCBieSBzdm4tY3JlYXRlLXBhdGNoLCBpbgorICAgICAgICAgICAgICAg
ICAgICAjIHdoaWNoIGNhc2UgdGhlcmUgaXMgYWx3YXlzIGFsc28gYSAicmV2aXNpb24iIGNsYXVz
ZS4KKyAgICAgICAgICAgICAgICAgICAgJGhlYWRlcntjb3BpZWRGcm9tUGF0aH0gPSAkMTsKKyAg
ICAgICAgICAgICAgICAgICAgZGllKCJSZXZpc2lvbiBudW1iZXIgXCIkMlwiIGluIFwiZnJvbVwi
IGNsYXVzZSBkb2VzIG5vdCBtYXRjaCAiIC4KKyAgICAgICAgICAgICAgICAgICAgICAgICJzb3Vy
Y2UgcmV2aXNpb24gbnVtYmVyIFwiJHNvdXJjZVJldmlzaW9uXCIuIikgaWYgKCQyICE9ICRzb3Vy
Y2VSZXZpc2lvbik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAg
ICAgJF8gPSAiPSIgeCA2NyAuICIkZW9sJF8iOyAjIFByZXBlbmQgZGl2aWRpbmcgbGluZSA9PT0u
Li4uCiAgICAgICAgIH0gZWxzaWYgKHMvXlwrXCtcKyBcUysvKysrICRpbmRleFBhdGgvKSB7Cisg
ICAgICAgICAgICAjICsrKwogICAgICAgICAgICAgJGZvdW5kSGVhZGVyRW5kaW5nID0gMTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICMgU2tpcCB1bnJlY29nbml6ZWQgbGluZXMuCisg
ICAgICAgICAgICBuZXh0OwogICAgICAgICB9CiAKLSAgICAgICAgJHN2bkNvbnZlcnRlZFRleHQg
Lj0gIiRfJGVvbCI7ICMgQWxzbyByZXN0b3JlIEVPTCBjaGFyYWN0ZXJzLgorICAgICAgICAkc3Zu
Q29udmVydGVkVGV4dCAuPSAiJF8kZW9sIjsgIyBBbHNvIHJlc3RvcmUgZW5kLW9mLWxpbmUgY2hh
cmFjdGVycy4KICAgICAgICAgaWYgKCRmb3VuZEhlYWRlckVuZGluZykgewogICAgICAgICAgICAg
JGxhc3RSZWFkTGluZSA9IDwkZmlsZUhhbmRsZT47CiAgICAgICAgICAgICBsYXN0OwogICAgICAg
ICB9CiAgICAgfSAjICRsYXN0UmVhZExpbmUgaXMgdW5kZWYgaWYgd2hpbGUgbG9vcCByYW4gb3V0
LgogCisgICAgaWYgKCEkZm91bmRIZWFkZXJFbmRpbmcpIHsKKyAgICAgICAgZGllKCJEaWQgbm90
IGZpbmQgZW5kIG9mIGhlYWRlciBibG9jayBjb3JyZXNwb25kaW5nIHRvIGluZGV4IHBhdGggXCIk
aW5kZXhQYXRoXCIuIik7CisgICAgfQorCiAgICAgJGhlYWRlcntpbmRleFBhdGh9ID0gJGluZGV4
UGF0aDsKKyAgICAkaGVhZGVye3NvdXJjZVJldmlzaW9ufSA9ICRzb3VyY2VSZXZpc2lvbjsKICAg
ICAkaGVhZGVye3N2bkNvbnZlcnRlZFRleHR9ID0gJHN2bkNvbnZlcnRlZFRleHQ7CiAKLSAgICBy
ZXR1cm4gKFwlaGVhZGVyLCAkZm91bmRIZWFkZXJFbmRpbmcsICRsYXN0UmVhZExpbmUpOworICAg
IHJldHVybiAoXCVoZWFkZXIsICRsYXN0UmVhZExpbmUpOwogfQogCiAjIElmIHBvc3NpYmxlLCBy
ZXR1cm5zIGEgQ2hhbmdlTG9nIHBhdGNoIGVxdWl2YWxlbnQgdG8gdGhlIGdpdmVuIG9uZSwKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVz
dC9wYXJzZURpZmZIZWFkZXIucGwgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNT
VXRpbHNfdW5pdHRlc3QvcGFyc2VEaWZmSGVhZGVyLnBsCm9sZCBtb2RlIDEwMDY0NApuZXcgbW9k
ZSAxMDA3NTUKaW5kZXggOGM4NjFhYS4uZDA5NWRjMAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvcGFyc2VEaWZmSGVhZGVyLnBsCisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9wYXJzZURpZmZI
ZWFkZXIucGwKQEAgLTM4LDEwICszOCw5IEBAIHVzZSBWQ1NVdGlsczsKIAogbXkgQGhlYWRlcktl
eXMgPSAoICMgVGhlICRoZWFkZXJIYXNoUmVmIGtleXMgdG8gY2hlY2suCiAgICAgImNvcGllZEZy
b21QYXRoIiwKLSAgICAiY29waWVkRnJvbVZlcnNpb24iLAogICAgICJpbmRleFBhdGgiLAorICAg
ICJzb3VyY2VSZXZpc2lvbiIsCiAgICAgInN2bkNvbnZlcnRlZFRleHQiLAotICAgICJ2ZXJzaW9u
IiwKICk7CiAKICMgVGVzdCBwYXJzZURpZmZIZWFkZXIoKSBmb3IgdGhlIGdpdmVuICRkaWZmVGVz
dEhhc2hSZWYuCkBAIC01NCw3ICs1Myw3IEBAIHN1YiBkb0RpZmZUZXN0KCQpCiAKICAgICBteSAk
bGluZSA9IDwkZmlsZUhhbmRsZT47CiAKLSAgICBteSAoJGhlYWRlckhhc2hSZWYsICRmb3VuZEhl
YWRlckVuZGluZywgJGxhc3RSZWFkTGluZSkgPSBWQ1NVdGlsczo6cGFyc2VEaWZmSGVhZGVyKCRm
aWxlSGFuZGxlLCAkbGluZSk7CisgICAgbXkgKCRoZWFkZXJIYXNoUmVmLCAkbGFzdFJlYWRMaW5l
KSA9IFZDU1V0aWxzOjpwYXJzZURpZmZIZWFkZXIoJGZpbGVIYW5kbGUsICRsaW5lKTsKIAogICAg
IG15ICR0aXRsZUhlYWRlciA9ICJwYXJzZURpZmZIZWFkZXIoKTogWyRkaWZmVGVzdEhhc2hSZWYt
PntkaWZmTmFtZX1dICI7CiAgICAgbXkgJHRpdGxlOwpAQCAtNjQsMzIgKzYzLDEzIEBAIHN1YiBk
b0RpZmZUZXN0KCQpCiAgICAgICAgIGlzKCRoZWFkZXJIYXNoUmVmLT57JGhlYWRlcktleX0sICRk
aWZmVGVzdEhhc2hSZWYtPnskaGVhZGVyS2V5fSwgJHRpdGxlKTsKICAgICB9CiAKLSAgICBpcygk
Zm91bmRIZWFkZXJFbmRpbmcsICRkaWZmVGVzdEhhc2hSZWYtPntmb3VuZEhlYWRlckVuZGluZ30s
ICIke3RpdGxlSGVhZGVyfWZvdW5kSGVhZGVyRW5kaW5nIik7CiAgICAgaXMoJGxhc3RSZWFkTGlu
ZSwgJGRpZmZUZXN0SGFzaFJlZi0+e2xhc3RSZWFkTGluZX0sICIke3RpdGxlSGVhZGVyfWxhc3RS
ZWFkTGluZSIpOwogCiAgICAgbXkgJG5leHRMaW5lID0gPCRmaWxlSGFuZGxlPjsKICAgICBpcygk
bmV4dExpbmUsICRkaWZmVGVzdEhhc2hSZWYtPntuZXh0TGluZX0sICIke3RpdGxlSGVhZGVyfW5l
eHRMaW5lIik7CiB9CiAKLW15IEBkaWZmVGVzdHMgPSAoewotICAgICMgTmV3IHRlc3Q6IG1pc3Np
bmcgY2xvc2luZyBoZWFkZXIgbGluZQotICAgIGRpZmZOYW1lID0+ICJTVk46IGluY29tcGxldGUg
aGVhZGVyIiwKLSAgICBpbnB1dFRleHQgPT4gPDwnRU5EJywKLUluZGV4OiBXZWJLaXRUb29scy9T
Y3JpcHRzL1ZDU1V0aWxzLnBtCi1FTkQKLSAgICAjIEhlYWRlciBrZXlzIHRvIGNoZWNrCi0gICAg
c3ZuQ29udmVydGVkVGV4dCA9PiA8PCdFTkQnLAotSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMv
VkNTVXRpbHMucG0KLUVORAotICAgIGNvcGllZEZyb21QYXRoID0+IHVuZGVmLAotICAgIGNvcGll
ZEZyb21WZXJzaW9uID0+IHVuZGVmLAotICAgIGluZGV4UGF0aCA9PiAiV2ViS2l0VG9vbHMvU2Ny
aXB0cy9WQ1NVdGlscy5wbSIsCi0gICAgdmVyc2lvbiA9PiB1bmRlZiwKLSAgICAjIE90aGVyIHZh
bHVlcyB0byBjaGVjawotICAgIGZvdW5kSGVhZGVyRW5kaW5nID0+IDAsCi0gICAgbGFzdFJlYWRM
aW5lID0+IHVuZGVmLAotICAgIG5leHRMaW5lID0+IHVuZGVmLAotfSwKK215IEBkaWZmVGVzdHMg
PSAoCiB7CiAgICAgIyBOZXcgdGVzdAogICAgIGRpZmZOYW1lID0+ICJTVk46IHNpbXBsZSIsCkBA
IC0xMDksMTEgKzg5LDkgQEAgSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0K
ICsrKyBXZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCSh3b3JraW5nIGNvcHkpCiBFTkQK
ICAgICBjb3BpZWRGcm9tUGF0aCA9PiB1bmRlZiwKLSAgICBjb3BpZWRGcm9tVmVyc2lvbiA9PiB1
bmRlZiwKICAgICBpbmRleFBhdGggPT4gIldlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0i
LAotICAgIHZlcnNpb24gPT4gIjUzMDA0IiwKKyAgICBzb3VyY2VSZXZpc2lvbiA9PiAiNTMwMDQi
LAogICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCi0gICAgZm91bmRIZWFkZXJFbmRpbmcgPT4g
MSwKICAgICBsYXN0UmVhZExpbmUgPT4gIkBAIC0zMiw2ICszMiw3IEBAIHVzZSBzdHJpY3Q7XG4i
LAogICAgIG5leHRMaW5lID0+ICIgdXNlIHdhcm5pbmdzO1xuIiwKIH0sCkBAIC0xMzYsMTEgKzEx
NCw5IEBAIEluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5p
dHRlc3QvcGFyc2VEaWZmSGVhZGVyLnBsCiArKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
ZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L3BhcnNlRGlmZkhlYWRlci5wbAkocmV2aXNpb24gMCkKIEVO
RAogICAgIGNvcGllZEZyb21QYXRoID0+IHVuZGVmLAotICAgIGNvcGllZEZyb21WZXJzaW9uID0+
IHVuZGVmLAogICAgIGluZGV4UGF0aCA9PiAiV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L1ZDU1V0aWxzX3VuaXR0ZXN0L3BhcnNlRGlmZkhlYWRlci5wbCIsCi0gICAgdmVyc2lvbiA9PiB1
bmRlZiwKKyAgICBzb3VyY2VSZXZpc2lvbiA9PiB1bmRlZiwKICAgICAjIE90aGVyIHZhbHVlcyB0
byBjaGVjawotICAgIGZvdW5kSGVhZGVyRW5kaW5nID0+IDEsCiAgICAgbGFzdFJlYWRMaW5lID0+
ICJAQCAtMCwwICsxLDI2MiBAQFxuIiwKICAgICBuZXh0TGluZSA9PiAiKyMhL3Vzci9iaW4vcGVy
bCAtd1xuIiwKIH0sCkBAIC0xNDgsODIgKzEyNCw3NiBAQCBFTkQKICAgICAjIE5ldyB0ZXN0CiAg
ICAgZGlmZk5hbWUgPT4gIlNWTjogY29weSIsCiAgICAgaW5wdXRUZXh0ID0+IDw8J0VORCcsCi1J
bmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkKK0luZGV4OiBp
bmRleF9wYXRoLnB5CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9tb3ZlX3Rlc3QucHkJKHJldmlzaW9uIDUzMDQ3KQkoZnJvbSBXZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L19faW5pdF9fLnB5OjUzMDQ4KQotKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbW92ZV90ZXN0LnB5CSh3b3JraW5nIGNvcHkpCistLS0gaW5kZXhfcGF0aC5weQkocmV2
aXNpb24gNTMwNDgpCShmcm9tIGNvcGllZF9mcm9tX3BhdGgucHk6NTMwNDgpCisrKysgaW5kZXhf
cGF0aC5weQkod29ya2luZyBjb3B5KQogQEAgLTAsMCArMSw3IEBACi0rIyBSZXF1aXJlZCBmb3Ig
UHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlIGZpbGVzCisrIyBQeXRo
b24gZmlsZS4uLgogRU5ECiAgICAgIyBIZWFkZXIga2V5cyB0byBjaGVjawogICAgIHN2bkNvbnZl
cnRlZFRleHQgPT4gPDwnRU5EJywKLUluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L21vdmVfdGVzdC5weQorSW5kZXg6IGluZGV4X3BhdGgucHkKID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBXZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQkocmV2aXNpb24gNTMwNDcpCShm
cm9tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHk6NTMwNDgpCi0rKysg
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkJKHdvcmtpbmcgY29weSkK
Ky0tLSBpbmRleF9wYXRoLnB5CShyZXZpc2lvbiA1MzA0OCkJKGZyb20gY29waWVkX2Zyb21fcGF0
aC5weTo1MzA0OCkKKysrKyBpbmRleF9wYXRoLnB5CSh3b3JraW5nIGNvcHkpCiBFTkQKLSAgICBj
b3BpZWRGcm9tUGF0aCA9PiAiV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5w
eSIsCi0gICAgY29waWVkRnJvbVZlcnNpb24gPT4gIjUzMDQ4IiwKLSAgICBpbmRleFBhdGggPT4g
IldlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5IiwKLSAgICB2ZXJzaW9u
ID0+IHVuZGVmLAorICAgIGNvcGllZEZyb21QYXRoID0+ICJjb3BpZWRfZnJvbV9wYXRoLnB5IiwK
KyAgICBpbmRleFBhdGggPT4gImluZGV4X3BhdGgucHkiLAorICAgIHNvdXJjZVJldmlzaW9uID0+
IDUzMDQ4LAogICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCi0gICAgZm91bmRIZWFkZXJFbmRp
bmcgPT4gMSwKICAgICBsYXN0UmVhZExpbmUgPT4gIkBAIC0wLDAgKzEsNyBAQFxuIiwKLSAgICBu
ZXh0TGluZSA9PiAiKyMgUmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJlY3Rv
cnkgZm9yIG1vZHVsZSBmaWxlc1xuIiwKKyAgICBuZXh0TGluZSA9PiAiKyMgUHl0aG9uIGZpbGUu
Li5cbiIsCiB9LAogewogICAgICMgTmV3IHRlc3QKICAgICBkaWZmTmFtZSA9PiAiU1ZOOiBcXHJc
XG4gbGluZXMiLAogICAgIGlucHV0VGV4dCA9PiA8PEVORCwgIyBObyBzaW5nbGUgcXVvdGVzIHRv
IGFsbG93IGludGVycG9sYXRpb24gb2YgIlxyIgotSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbW92ZV90ZXN0LnB5XHIKK0luZGV4OiBpbmRleF9wYXRoLnB5XHIKID09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT1ccgotLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5CShyZXZp
c2lvbiA1MzA0NykJKGZyb20gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5w
eTo1MzA0OClccgotKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5
CSh3b3JraW5nIGNvcHkpXHIKKy0tLSBpbmRleF9wYXRoLnB5CShyZXZpc2lvbiA1MzA0OCkJKGZy
b20gY29waWVkX2Zyb21fcGF0aC5weTo1MzA0OClccgorKysrIGluZGV4X3BhdGgucHkJKHdvcmtp
bmcgY29weSlccgogQEAgLTAsMCArMSw3IEBAXHIKLSsjIFJlcXVpcmVkIGZvciBQeXRob24gdG8g
c2VhcmNoIHRoaXMgZGlyZWN0b3J5IGZvciBtb2R1bGUgZmlsZXNccgorKyMgUHl0aG9uIGZpbGUu
Li5ccgogRU5ECiAgICAgIyBIZWFkZXIga2V5cyB0byBjaGVjawogICAgIHN2bkNvbnZlcnRlZFRl
eHQgPT4gPDxFTkQsICMgTm8gc2luZ2xlIHF1b3RlcyB0byBhbGxvdyBpbnRlcnBvbGF0aW9uIG9m
ICJcciIKLUluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weVxy
CitJbmRleDogaW5kZXhfcGF0aC5weVxyCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHIKLS0tLSBXZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQkocmV2aXNpb24gNTMwNDcpCShmcm9tIFdlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18ucHk6NTMwNDgpXHIKLSsrKyBXZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weQkod29ya2luZyBjb3B5KVxyCistLS0g
aW5kZXhfcGF0aC5weQkocmV2aXNpb24gNTMwNDgpCShmcm9tIGNvcGllZF9mcm9tX3BhdGgucHk6
NTMwNDgpXHIKKysrKyBpbmRleF9wYXRoLnB5CSh3b3JraW5nIGNvcHkpXHIKIEVORAotICAgIGNv
cGllZEZyb21QYXRoID0+ICJXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5
IiwKLSAgICBjb3BpZWRGcm9tVmVyc2lvbiA9PiAiNTMwNDgiLAotICAgIGluZGV4UGF0aCA9PiAi
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkiLAotICAgIHZlcnNpb24g
PT4gdW5kZWYsCisgICAgY29waWVkRnJvbVBhdGggPT4gImNvcGllZF9mcm9tX3BhdGgucHkiLAor
ICAgIGluZGV4UGF0aCA9PiAiaW5kZXhfcGF0aC5weSIsCisgICAgc291cmNlUmV2aXNpb24gPT4g
NTMwNDgsCiAgICAgIyBPdGhlciB2YWx1ZXMgdG8gY2hlY2sKLSAgICBmb3VuZEhlYWRlckVuZGlu
ZyA9PiAxLAogICAgIGxhc3RSZWFkTGluZSA9PiAiQEAgLTAsMCArMSw3IEBAXHJcbiIsCi0gICAg
bmV4dExpbmUgPT4gIisjIFJlcXVpcmVkIGZvciBQeXRob24gdG8gc2VhcmNoIHRoaXMgZGlyZWN0
b3J5IGZvciBtb2R1bGUgZmlsZXNcclxuIiwKKyAgICBuZXh0TGluZSA9PiAiKyMgUHl0aG9uIGZp
bGUuLi5cclxuIiwKIH0sCiB7CiAgICAgIyBOZXcgdGVzdAogICAgIGRpZmZOYW1lID0+ICJTVk46
IHBhdGggY29ycmVjdGlvbnMiLAogICAgIGlucHV0VGV4dCA9PiA8PCdFTkQnLAotSW5kZXg6IFdl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5CitJbmRleDogaW5kZXhfcGF0
aC5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0tIGJhZF9wYXRoCShyZXZpc2lvbiA1MzA0NykJKGZyb20gV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9fX2luaXRfXy5weTo1MzA0OCkKKy0tLSBiYWRfcGF0
aAkocmV2aXNpb24gNTMwNDgpCShmcm9tIGNvcGllZF9mcm9tX3BhdGgucHk6NTMwNDgpCiArKysg
YmFkX3BhdGgJKHdvcmtpbmcgY29weSkKIEBAIC0wLDAgKzEsNyBAQAotKyMgUmVxdWlyZWQgZm9y
IFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIG1vZHVsZSBmaWxlcworKyMgUHl0
aG9uIGZpbGUuLi4KIEVORAogICAgICMgSGVhZGVyIGtleXMgdG8gY2hlY2sKICAgICBzdm5Db252
ZXJ0ZWRUZXh0ID0+IDw8J0VORCcsCi1JbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9tb3ZlX3Rlc3QucHkKK0luZGV4OiBpbmRleF9wYXRoLnB5CiA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb3ZlX3Rlc3QucHkJKHJldmlzaW9uIDUzMDQ3KQko
ZnJvbSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L19faW5pdF9fLnB5OjUzMDQ4KQotKysr
IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW92ZV90ZXN0LnB5CSh3b3JraW5nIGNvcHkp
CistLS0gaW5kZXhfcGF0aC5weQkocmV2aXNpb24gNTMwNDgpCShmcm9tIGNvcGllZF9mcm9tX3Bh
dGgucHk6NTMwNDgpCisrKysgaW5kZXhfcGF0aC5weQkod29ya2luZyBjb3B5KQogRU5ECi0gICAg
Y29waWVkRnJvbVBhdGggPT4gIldlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvX19pbml0X18u
cHkiLAotICAgIGNvcGllZEZyb21WZXJzaW9uID0+ICI1MzA0OCIsCi0gICAgaW5kZXhQYXRoID0+
ICJXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L21vdmVfdGVzdC5weSIsCi0gICAgdmVyc2lv
biA9PiB1bmRlZiwKKyAgICBjb3BpZWRGcm9tUGF0aCA9PiAiY29waWVkX2Zyb21fcGF0aC5weSIs
CisgICAgaW5kZXhQYXRoID0+ICJpbmRleF9wYXRoLnB5IiwKKyAgICBzb3VyY2VSZXZpc2lvbiA9
PiA1MzA0OCwKICAgICAjIE90aGVyIHZhbHVlcyB0byBjaGVjawotICAgIGZvdW5kSGVhZGVyRW5k
aW5nID0+IDEsCiAgICAgbGFzdFJlYWRMaW5lID0+ICJAQCAtMCwwICsxLDcgQEBcbiIsCi0gICAg
bmV4dExpbmUgPT4gIisjIFJlcXVpcmVkIGZvciBQeXRob24gdG8gc2VhcmNoIHRoaXMgZGlyZWN0
b3J5IGZvciBtb2R1bGUgZmlsZXNcbiIsCisgICAgbmV4dExpbmUgPT4gIisjIFB5dGhvbiBmaWxl
Li4uXG4iLAogfSwKIHsKICAgICAjIE5ldyB0ZXN0CkBAIC0yNDMsMTEgKzIxMyw5IEBAIEluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5oCiArKysgV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaAogRU5ECiAgICAgY29w
aWVkRnJvbVBhdGggPT4gdW5kZWYsCi0gICAgY29waWVkRnJvbVZlcnNpb24gPT4gdW5kZWYsCiAg
ICAgaW5kZXhQYXRoID0+ICJXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94
RGF0YS5oIiwKLSAgICB2ZXJzaW9uID0+IHVuZGVmLAorICAgIHNvdXJjZVJldmlzaW9uID0+IHVu
ZGVmLAogICAgICMgT3RoZXIgdmFsdWVzIHRvIGNoZWNrCi0gICAgZm91bmRIZWFkZXJFbmRpbmcg
PT4gMSwKICAgICBsYXN0UmVhZExpbmUgPT4gIkBAIC00Nyw3ICs0Nyw2IEBAIHB1YmxpYzpcbiIs
CiAgICAgbmV4dExpbmUgPT4gdW5kZWYsCiB9LApAQCAtMjY2LDIzICsyMzQsMjAgQEAgRU5ECiAg
ICAgIyBIZWFkZXIga2V5cyB0byBjaGVjawogICAgIHN2bkNvbnZlcnRlZFRleHQgPT4gPDwnRU5E
JywKIEluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2xpc3RlbmVyL3hzcy1p
bmFjdGl2ZS1jbG9zdXJlLmh0bWwKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw
Li4zYzlmMTE0Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CiAtLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9saXN0ZW5lci94c3MtaW5hY3RpdmUtY2xvc3VyZS5odG1sCiArKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9saXN0ZW5lci94c3MtaW5hY3RpdmUtY2xvc3VyZS5odG1sCiBFTkQK
ICAgICBjb3BpZWRGcm9tUGF0aCA9PiB1bmRlZiwKLSAgICBjb3BpZWRGcm9tVmVyc2lvbiA9PiB1
bmRlZiwKICAgICBpbmRleFBhdGggPT4gIkxheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
bGlzdGVuZXIveHNzLWluYWN0aXZlLWNsb3N1cmUuaHRtbCIsCi0gICAgdmVyc2lvbiA9PiB1bmRl
ZiwKKyAgICBzb3VyY2VSZXZpc2lvbiA9PiB1bmRlZiwKICAgICAjIE90aGVyIHZhbHVlcyB0byBj
aGVjawotICAgIGZvdW5kSGVhZGVyRW5kaW5nID0+IDEsCiAgICAgbGFzdFJlYWRMaW5lID0+ICJA
QCAtMCwwICsxLDM0IEBAXG4iLAogICAgIG5leHRMaW5lID0+ICIrPGh0bWw+XG4iLAogfSwKICk7
CiAKLXBsYW4odGVzdHMgPT4gQGRpZmZUZXN0cyAqIDgpOyAjIEVpZ2h0IGFzc2VydGlvbnMgcGVy
IGNhbGwgdG8gZG9EaWZmVGVzdCgpLgorcGxhbih0ZXN0cyA9PiBAZGlmZlRlc3RzICogNik7ICMg
TXVsdGlwbHkgYnkgbnVtYmVyIG9mIGFzc2VydGlvbnMgcGVyIGNhbGwgdG8gZG9EaWZmVGVzdCgp
LgogCiBmb3JlYWNoIG15ICRkaWZmVGVzdEhhc2hSZWYgKEBkaWZmVGVzdHMpIHsKICAgICBkb0Rp
ZmZUZXN0KCRkaWZmVGVzdEhhc2hSZWYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>