<?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>33415</bug_id>
          
          <creation_ts>2010-01-08 18:41:55 -0800</creation_ts>
          <short_desc>VCSUtils::gitdiff2svndiff() should accept strings ending in a newline</short_desc>
          <delta_ts>2010-01-09 14:51:17 -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>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>178920</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-08 18:41:55 -0800</bug_when>
    <thetext>This will let us avoid having to use an $eol variable in the below code in svn-apply and svn-unapply.

while (&lt;&gt;) {
    s/([\n\r]+)$//mg;
    my $eol = $1;
    if (!defined($indexPath) &amp;&amp; m#^diff --git \w/#) {
        $filter = \&amp;gitdiff2svndiff;
    }
    ...
    $patch .= $_;
    $patch .= $eol;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178923</commentid>
    <comment_count>1</comment_count>
      <attachid>46190</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-08 19:11:50 -0800</bug_when>
    <thetext>Created attachment 46190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178927</commentid>
    <comment_count>2</comment_count>
      <attachid>46191</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-08 19:21:48 -0800</bug_when>
    <thetext>Created attachment 46191
Patch 2

Added &quot;-w&quot; and &quot;use strict&quot; to existing test file (and fixed resulting warnings).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178937</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-01-08 20:16:51 -0800</bug_when>
    <thetext>I tried to review this, but it blew my mind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178939</commentid>
    <comment_count>4</comment_count>
      <attachid>46191</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-08 20:21:45 -0800</bug_when>
    <thetext>Comment on attachment 46191
Patch 2

&gt; Index: WebKitTools/Scripts/VCSUtils.pm
&gt; +# Convert a line of a git-formatted patch to SVN format, while
&gt; +# preserving any end-of-line characters.
&gt;  sub gitdiff2svndiff($)
&gt;  {
&gt;      $_ = shift @_;
&gt; -    if (m#^diff --git \w/(.+) \w/(.+)#) {
&gt; -        return &quot;Index: $1&quot;;
&gt; +    
&gt; +    # \V is any character that is not vertical white space
&gt; +    if (m#^diff --git \w/(.+) \w/(\V+)#) {
&gt; +        return &quot;Index: $1$&apos;&quot;;

I find that $&apos; is pretty obscure.  Might be nice to &quot;use English;&quot; then use $POSTMATCH instead of $&apos;.

&gt;      } elsif (m#^index [0-9a-f]{7}\.\.[0-9a-f]{7} [0-9]{6}#) {
&gt; -        return &quot;===================================================================&quot;;
&gt; -    } elsif (m#^--- \w/(.+)#) {
&gt; -        return &quot;--- $1&quot;;
&gt; -    } elsif (m#^\+\+\+ \w/(.+)#) {
&gt; -        return &quot;+++ $1&quot;;
&gt; +        return &quot;===================================================================$&apos;&quot;;
&gt; +    } elsif (m#^--- \w/(\V+)#) {
&gt; +        return &quot;--- $1$&apos;&quot;;
&gt; +    } elsif (m#^\+\+\+ \w/(\V+)#) {
&gt; +        return &quot;+++ $1$&apos;&quot;;
&gt;      }
&gt;      return $_;
&gt;  }

Technically we could just use if() statements instead of a large elsif() block since there are return statements, but it&apos;s okay as-is.

r=me

You can decide if you want to set cq+ or if you want to address either of the above issues.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178942</commentid>
    <comment_count>5</comment_count>
      <attachid>46196</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-08 21:10:36 -0800</bug_when>
    <thetext>Created attachment 46196
Patch 3

Thanks for the comments, guys! :)

David, I incorporated your suggestions -- thanks a lot.

After reading http://perldoc.perl.org/perlre.html , it&apos;s not clear to me if I need to use the &quot;preserve&quot; modifier (/p) to use ${^POSTMATCH}.  The unit tests seem to work okay without it, so I decided to leave it off (though it&apos;s conceivable that it&apos;s working only because of previous regexes in the tests).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178944</commentid>
    <comment_count>6</comment_count>
      <attachid>46196</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-08 22:39:15 -0800</bug_when>
    <thetext>Comment on attachment 46196
Patch 3

&gt; Index: WebKitTools/Scripts/VCSUtils.pm
&gt; +    # \V is any character that is not vertical white space
&gt; +    if (m#^diff --git \w/(.+) \w/(\V+)#) {
&gt; +        return &quot;Index: $1${^POSTMATCH}&quot;;
&gt; +    }

Yes, you should use &apos;p&apos; modifier with ${^POSTMATCH} and friends (per the perlre manpage).

To use $POSTMATCH instead of $&apos;, you need the &quot;use English;&quot; statement.

r- to either add the &apos;p&apos; switches or go back to using $POSTMATCH with &apos;use English&apos;.  (I&apos;d go back to using $&apos; or $POSTMATCH since I&apos;m not sure everyone is running Perl 5.10 or newer yet.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178957</commentid>
    <comment_count>7</comment_count>
      <attachid>46199</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-08 23:22:35 -0800</bug_when>
    <thetext>Created attachment 46199
Patch 4

Thanks for the clarification.  I thought you were just being creative -- it didn&apos;t occur to me that there was an actual module called &quot;English&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178994</commentid>
    <comment_count>8</comment_count>
      <attachid>46199</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-09 08:28:47 -0800</bug_when>
    <thetext>Comment on attachment 46199
Patch 4

r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178998</commentid>
    <comment_count>9</comment_count>
      <attachid>46199</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-09 08:43:56 -0800</bug_when>
    <thetext>Comment on attachment 46199
Patch 4

Rejecting patch 46199 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/test-webkitperl&apos;]&quot; exit_code: 25
Last 500 characters of output:
/Projects/CommitQueue/WebKitTools/Scripts/VCSUtils.pm line 376.
Unrecognized escape \V passed through at /Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/VCSUtils.pm line 379.
ok
Failed Test                       Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
/Users/eseidel/Projects/CommitQue   14  3584    20   14  70.00%  1-3 7-12 16-20
Failed 1/4 test scripts, 75.00% okay. 14/41 subtests failed, 65.85% okay.

Full output: http://webkit-commit-queue.appspot.com/results/175393</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179007</commentid>
    <comment_count>10</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-09 09:12:46 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 46199 [details])
&gt; Rejecting patch 46199 from commit-queue.
&gt; 
&gt; Unrecognized escape \V passed through at
&gt; /Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/VCSUtils.pm line 379.

Hmm...is &quot;\V&quot; something new in Perl 5.10?  That would also be an issue for older Perls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179010</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-09 09:16:50 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Hmm...is &quot;\V&quot; something new in Perl 5.10?  That would also be an issue for
&gt; older Perls.

Looks like that may be the case.  You may need to use [^\r\n] in place of \V in the patch.  I&apos;m not sure if \V includes stuff like the form feed (FF) character or not, although we actually don&apos;t want that in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179011</commentid>
    <comment_count>12</comment_count>
      <attachid>46199</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-09 09:17:26 -0800</bug_when>
    <thetext>Comment on attachment 46199
Patch 4

r- to resolve issues with \V found by the commit-queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179023</commentid>
    <comment_count>13</comment_count>
      <attachid>46212</attachid>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-01-09 11:14:17 -0800</bug_when>
    <thetext>Created attachment 46212
Patch 5

That&apos;s too bad.  Changing to [^\r\n] seems best for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179042</commentid>
    <comment_count>14</comment_count>
      <attachid>46212</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-01-09 14:26:53 -0800</bug_when>
    <thetext>Comment on attachment 46212
Patch 5

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179049</commentid>
    <comment_count>15</comment_count>
      <attachid>46212</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-09 14:51:02 -0800</bug_when>
    <thetext>Comment on attachment 46212
Patch 5

Clearing flags on attachment: 46212

Committed r53040: &lt;http://trac.webkit.org/changeset/53040&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179050</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-09 14:51:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46190</attachid>
            <date>2010-01-08 19:11:50 -0800</date>
            <delta_ts>2010-01-08 19:21:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch-tools7-1.txt</filename>
            <type>text/plain</type>
            <size>4004</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDUzMDMzKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEtMDggIENocmlzIEplcmRvbmVrICA8
Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1vZGlmaWVkIFZDU1V0aWxzOjpnaXRkaWZmMnN2bmRpZmYoKSB0
byBhY2NlcHQgc3RyaW5ncyB0aGF0CisgICAgICAgIGVuZCBpbiB2ZXJ0aWNhbCB3aGl0ZSBzcGFj
ZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM0
MTUKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2dpdGRpZmYyc3ZuZGlmZi5wbDoKKwogMjAxMC0w
MS0wOCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQkocmV2aXNpb24gNTMw
MDQpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCSh3b3JraW5nIGNvcHkpCkBA
IC0zNTksMTcgKzM1OSwyMSBAQCBzdWIgc3ZuU3RhdHVzKCQpCiAgICAgcmV0dXJuICRzdm5TdGF0
dXM7CiB9CiAKKyMgQ29udmVydCBhIGxpbmUgb2YgYSBnaXQtZm9ybWF0dGVkIHBhdGNoIHRvIFNW
TiBmb3JtYXQsIHdoaWxlCisjIHByZXNlcnZpbmcgYW55IGVuZC1vZi1saW5lIGNoYXJhY3RlcnMu
CiBzdWIgZ2l0ZGlmZjJzdm5kaWZmKCQpCiB7CiAgICAgJF8gPSBzaGlmdCBAXzsKLSAgICBpZiAo
bSNeZGlmZiAtLWdpdCBcdy8oLispIFx3LyguKykjKSB7Ci0gICAgICAgIHJldHVybiAiSW5kZXg6
ICQxIjsKKyAgICAKKyAgICAjIFxWIGlzIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdmVydGlj
YWwgd2hpdGUgc3BhY2UKKyAgICBpZiAobSNeZGlmZiAtLWdpdCBcdy8oLispIFx3LyhcVispIykg
eworICAgICAgICByZXR1cm4gIkluZGV4OiAkMSQnIjsKICAgICB9IGVsc2lmIChtI15pbmRleCBb
MC05YS1mXXs3fVwuXC5bMC05YS1mXXs3fSBbMC05XXs2fSMpIHsKLSAgICAgICAgcmV0dXJuICI9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09IjsKLSAgICB9IGVsc2lmIChtI14tLS0gXHcvKC4rKSMpIHsKLSAgICAgICAgcmV0
dXJuICItLS0gJDEiOwotICAgIH0gZWxzaWYgKG0jXlwrXCtcKyBcdy8oLispIykgewotICAgICAg
ICByZXR1cm4gIisrKyAkMSI7CisgICAgICAgIHJldHVybiAiPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSQnIjsKKyAgICB9
IGVsc2lmIChtI14tLS0gXHcvKFxWKykjKSB7CisgICAgICAgIHJldHVybiAiLS0tICQxJCciOwor
ICAgIH0gZWxzaWYgKG0jXlwrXCtcKyBcdy8oXFYrKSMpIHsKKyAgICAgICAgcmV0dXJuICIrKysg
JDEkJyI7CiAgICAgfQogICAgIHJldHVybiAkXzsKIH0KSW5kZXg6IFdlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9naXRkaWZmMnN2bmRpZmYucGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0
L2dpdGRpZmYyc3ZuZGlmZi5wbAkocmV2aXNpb24gNTMwMDQpCisrKyBXZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvZ2l0ZGlmZjJzdm5kaWZmLnBsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCwxMSArMzQsMTggQEAKIHVzZSBUZXN0OjpTaW1wbGUgdGVzdHMgPT4g
NjsKIHVzZSBWQ1NVdGlsczsKIAotbXkgJG91dDsKLW15ICR0aXRsZTsKLQotIyBOZXcgdGVzdAot
JHRpdGxlID0gImdpdGRpZmYyc3ZuZGlmZjogQ29udmVydCBzdGFuZGFyZCBnaXQgZGlmZiB0byBz
dm4gZGlmZiI7CisjIFdlIHVzZSB0aGlzIGZvciBkaXNwbGF5IHB1cnBvc2VzLCB0byBrZWVwIGVh
Y2ggdGVzdCB0aXRsZSBvbiBvbmUgbGluZS4KK3N1YiBleGNlcnB0U3RyaW5nKCQpCit7CisgICAg
bXkgKCR0ZXh0KSA9IEBfOworICAgIAorICAgIG15ICRsZW5ndGggPSAyNTsKKyAgICAKKyAgICAk
c2hvcnRlbmVkID0gc3Vic3RyKCR0ZXh0LCAwLCAkbGVuZ3RoKTsKKyAgICAkc2hvcnRlbmVkIC49
ICIuLi4iIGlmIChsZW5ndGgoJHRleHQpID4gJGxlbmd0aCk7CisgICAgCisgICAgcmV0dXJuICRz
aG9ydGVuZWQ7Cit9CiAKIG15ICRnaXRfcGF0Y2ggPSA8PEVORDsKIGRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhpYmxlQm94RGF0YS5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEuaApAQCAtNTYsMTMgKzYzLDI5IEBAIElu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXgKIEBAIC00Nyw3ICs0Nyw2IEBA
IHB1YmxpYzoKIEVORAogCi0kb3V0ID0gIiI7CitAZ2l0TGluZXMgPSBzcGxpdCgiXG4iLCAkZ2l0
X3BhdGNoKTsKK0Bzdm5MaW5lcyA9IHNwbGl0KCJcbiIsICRzdm5fcGF0Y2gpOwogCi1mb3JlYWNo
IG15ICRsaW5lIChzcGxpdCgnXG4nLCAkZ2l0X3BhdGNoKSkgewotICAgICRvdXQgLj0gZ2l0ZGlm
ZjJzdm5kaWZmKCRsaW5lKSAuICJcbiI7Ci19CisjIE5ldyB0ZXN0OiBjaGVjayBlYWNoIGdpdCBo
ZWFkZXIgbGluZSB3aXRoIGRpZmZlcmVudCBsaW5lIGVuZGluZ3MKK215ICR0aXRsZUhlYWRlciA9
ICJnaXRkaWZmMnN2bmRpZmY6ICI7CiAKLW9rKCRzdm5fcGF0Y2ggZXEgJG91dCwgJHRpdGxlKTsK
K0BsaW5lRW5kaW5nUGFpcnMgPSAoICMgZGlzcGxheSBuYW1lLCB2YWx1ZQorICAgIFsiIiwgIiJd
LAorICAgIFsiXFxuIiwgIlxuIl0sCisgICAgWyJcXHJcXG4iLCAiXHJcbiJdLAorKTsKKworZm9y
IChteSAkaSA9IDA7ICRpIDwgQGdpdExpbmVzOyAkaSsrKSB7CisgICAgbXkgJHBhaXI7CisgICAg
Zm9yZWFjaCAkcGFpciAoQGxpbmVFbmRpbmdQYWlycykgeyAKKyAgICAgICAgbXkgJGdpdExpbmUg
PSAkZ2l0TGluZXNbJGldIC4gJHBhaXItPlsxXTsKKyAgICAgICAgbXkgJGV4cGVjdGVkID0gJHN2
bkxpbmVzWyRpXSAuICRwYWlyLT5bMV07CisgICAgICAgIG15ICR0aXRsZSA9ICIkdGl0bGVIZWFk
ZXIiIC4gZXhjZXJwdFN0cmluZygkZ2l0TGluZSk7CisgICAgICAgICR0aXRsZSAuPSAiIFtsaW5l
LWVuZDogXCIkcGFpci0+WzBdXCJdIjsKKyAgICAgICAgCisgICAgICAgIG9rKCRleHBlY3RlZCBl
cSBnaXRkaWZmMnN2bmRpZmYoJGdpdExpbmUpLCAkdGl0bGUpOworICAgIH0KK30KIAogIyBOZXcg
dGVzdAogJHRpdGxlID0gImdpdGRpZmYyc3ZuZGlmZjogQ29udmVydCBtbmVtb25pYyBnaXQgZGlm
ZiB0byBzdm4gZGlmZiI7CkBAIC03NSw2ICs5OCw4IEBAIG15IEBwcmVmaXhlcyA9ICgKICAgICB7
ICdhJyA9PiAnMScsICdiJyA9PiAnMicgfSwgIyBnaXQgZGlmZiAtLW5vLWluZGV4IGEgYiAoY29t
cGFyZXMgdHdvIG5vbi1naXQgdGhpbmdzICgxKSBhbmQgKDIpKQogKTsKIAorbXkgJG91dCA9ICIi
OworCiBmb3JlYWNoIG15ICRwcmVmaXggKEBwcmVmaXhlcykgewogICAgIG15ICRtbmVtb25pY19w
YXRjaCA9ICRnaXRfcGF0Y2g7CiAgICAgJG1uZW1vbmljX3BhdGNoID1+IHMvIGFcLy8gJHByZWZp
eC0+eydhJ31cLy9nOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46191</attachid>
            <date>2010-01-08 19:21:48 -0800</date>
            <delta_ts>2010-01-08 21:10:36 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>patch-tools7-2.txt</filename>
            <type>text/plain</type>
            <size>4513</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDUzMDMzKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEtMDggIENocmlzIEplcmRvbmVrICA8
Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1vZGlmaWVkIFZDU1V0aWxzOjpnaXRkaWZmMnN2bmRpZmYoKSB0
byBhY2NlcHQgc3RyaW5ncyB0aGF0CisgICAgICAgIGVuZCBpbiB2ZXJ0aWNhbCB3aGl0ZSBzcGFj
ZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM0
MTUKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2dpdGRpZmYyc3ZuZGlmZi5wbDoKKwogMjAxMC0w
MS0wOCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQkocmV2aXNpb24gNTMw
MDQpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCSh3b3JraW5nIGNvcHkpCkBA
IC0zNTksMTcgKzM1OSwyMSBAQCBzdWIgc3ZuU3RhdHVzKCQpCiAgICAgcmV0dXJuICRzdm5TdGF0
dXM7CiB9CiAKKyMgQ29udmVydCBhIGxpbmUgb2YgYSBnaXQtZm9ybWF0dGVkIHBhdGNoIHRvIFNW
TiBmb3JtYXQsIHdoaWxlCisjIHByZXNlcnZpbmcgYW55IGVuZC1vZi1saW5lIGNoYXJhY3RlcnMu
CiBzdWIgZ2l0ZGlmZjJzdm5kaWZmKCQpCiB7CiAgICAgJF8gPSBzaGlmdCBAXzsKLSAgICBpZiAo
bSNeZGlmZiAtLWdpdCBcdy8oLispIFx3LyguKykjKSB7Ci0gICAgICAgIHJldHVybiAiSW5kZXg6
ICQxIjsKKyAgICAKKyAgICAjIFxWIGlzIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdmVydGlj
YWwgd2hpdGUgc3BhY2UKKyAgICBpZiAobSNeZGlmZiAtLWdpdCBcdy8oLispIFx3LyhcVispIykg
eworICAgICAgICByZXR1cm4gIkluZGV4OiAkMSQnIjsKICAgICB9IGVsc2lmIChtI15pbmRleCBb
MC05YS1mXXs3fVwuXC5bMC05YS1mXXs3fSBbMC05XXs2fSMpIHsKLSAgICAgICAgcmV0dXJuICI9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09IjsKLSAgICB9IGVsc2lmIChtI14tLS0gXHcvKC4rKSMpIHsKLSAgICAgICAgcmV0
dXJuICItLS0gJDEiOwotICAgIH0gZWxzaWYgKG0jXlwrXCtcKyBcdy8oLispIykgewotICAgICAg
ICByZXR1cm4gIisrKyAkMSI7CisgICAgICAgIHJldHVybiAiPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSQnIjsKKyAgICB9
IGVsc2lmIChtI14tLS0gXHcvKFxWKykjKSB7CisgICAgICAgIHJldHVybiAiLS0tICQxJCciOwor
ICAgIH0gZWxzaWYgKG0jXlwrXCtcKyBcdy8oXFYrKSMpIHsKKyAgICAgICAgcmV0dXJuICIrKysg
JDEkJyI7CiAgICAgfQogICAgIHJldHVybiAkXzsKIH0KSW5kZXg6IFdlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9naXRkaWZmMnN2bmRpZmYucGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0
L2dpdGRpZmYyc3ZuZGlmZi5wbAkocmV2aXNpb24gNTMwMDQpCisrKyBXZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvZ2l0ZGlmZjJzdm5kaWZmLnBsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotIyEvdXNyL2Jpbi9wZXJsCisjIS91c3IvYmluL3Bl
cmwgLXcKICMKICMgQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIENocmlzIEplcmRvbmVrIChjaHJp
cy5qZXJkb25la0BnbWFpbC5jb20pCiAjIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykgCkBAIC0zMSwxNCArMzEsMjQgQEAKIAog
IyBVbml0IHRlc3RzIG9mIFZDU1V0aWxzOjpnaXRkaWZmMnN2bmRpZmYoKQogCi11c2UgVGVzdDo6
U2ltcGxlIHRlc3RzID0+IDY7Ci11c2UgVkNTVXRpbHM7Cit1c2Ugc3RyaWN0OwordXNlIHdhcm5p
bmdzOwogCi1teSAkb3V0OwotbXkgJHRpdGxlOwordXNlIFRlc3Q6OlNpbXBsZSB0ZXN0cyA9PiAy
MDsKK3VzZSBWQ1NVdGlsczsKIAotIyBOZXcgdGVzdAotJHRpdGxlID0gImdpdGRpZmYyc3ZuZGlm
ZjogQ29udmVydCBzdGFuZGFyZCBnaXQgZGlmZiB0byBzdm4gZGlmZiI7CisjIFdlIHVzZSB0aGlz
IGZvciBkaXNwbGF5IHB1cnBvc2VzLCB0byBrZWVwIGVhY2ggdGVzdCB0aXRsZSBvbiBvbmUgbGlu
ZS4KK3N1YiBleGNlcnB0U3RyaW5nKCQpCit7CisgICAgbXkgKCR0ZXh0KSA9IEBfOworICAgIAor
ICAgIG15ICRsZW5ndGggPSAyNTsKKyAgICAKKyAgICBteSAkc2hvcnRlbmVkID0gc3Vic3RyKCR0
ZXh0LCAwLCAkbGVuZ3RoKTsKKyAgICAkc2hvcnRlbmVkIC49ICIuLi4iIGlmIChsZW5ndGgoJHRl
eHQpID4gJGxlbmd0aCk7CisgICAgCisgICAgcmV0dXJuICRzaG9ydGVuZWQ7Cit9CiAKIG15ICRn
aXRfcGF0Y2ggPSA8PEVORDsKIGRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUZsZXhpYmxlQm94RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4
aWJsZUJveERhdGEuaApAQCAtNTYsMTYgKzY2LDMyIEBAIEluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUZsZXgKIEBAIC00Nyw3ICs0Nyw2IEBAIHB1YmxpYzoKIEVORAogCi0kb3V0
ID0gIiI7CitteSBAZ2l0TGluZXMgPSBzcGxpdCgiXG4iLCAkZ2l0X3BhdGNoKTsKK215IEBzdm5M
aW5lcyA9IHNwbGl0KCJcbiIsICRzdm5fcGF0Y2gpOwogCi1mb3JlYWNoIG15ICRsaW5lIChzcGxp
dCgnXG4nLCAkZ2l0X3BhdGNoKSkgewotICAgICRvdXQgLj0gZ2l0ZGlmZjJzdm5kaWZmKCRsaW5l
KSAuICJcbiI7Ci19CisjIE5ldyB0ZXN0OiBjaGVjayBlYWNoIGdpdCBoZWFkZXIgbGluZSB3aXRo
IGRpZmZlcmVudCBsaW5lIGVuZGluZ3MKK215ICR0aXRsZUhlYWRlciA9ICJnaXRkaWZmMnN2bmRp
ZmY6ICI7CiAKLW9rKCRzdm5fcGF0Y2ggZXEgJG91dCwgJHRpdGxlKTsKK215IEBsaW5lRW5kaW5n
UGFpcnMgPSAoICMgZGlzcGxheSBuYW1lLCB2YWx1ZQorICAgIFsiIiwgIiJdLAorICAgIFsiXFxu
IiwgIlxuIl0sCisgICAgWyJcXHJcXG4iLCAiXHJcbiJdLAorKTsKKworZm9yIChteSAkaSA9IDA7
ICRpIDwgQGdpdExpbmVzOyAkaSsrKSB7CisgICAgbXkgJHBhaXI7CisgICAgZm9yZWFjaCAkcGFp
ciAoQGxpbmVFbmRpbmdQYWlycykgeyAKKyAgICAgICAgbXkgJGdpdExpbmUgPSAkZ2l0TGluZXNb
JGldIC4gJHBhaXItPlsxXTsKKyAgICAgICAgbXkgJGV4cGVjdGVkID0gJHN2bkxpbmVzWyRpXSAu
ICRwYWlyLT5bMV07CisgICAgICAgIG15ICR0aXRsZSA9ICIkdGl0bGVIZWFkZXIiIC4gZXhjZXJw
dFN0cmluZygkZ2l0TGluZSk7CisgICAgICAgICR0aXRsZSAuPSAiIFtsaW5lLWVuZDogXCIkcGFp
ci0+WzBdXCJdIjsKKyAgICAgICAgCisgICAgICAgIG9rKCRleHBlY3RlZCBlcSBnaXRkaWZmMnN2
bmRpZmYoJGdpdExpbmUpLCAkdGl0bGUpOworICAgIH0KK30KIAogIyBOZXcgdGVzdAotJHRpdGxl
ID0gImdpdGRpZmYyc3ZuZGlmZjogQ29udmVydCBtbmVtb25pYyBnaXQgZGlmZiB0byBzdm4gZGlm
ZiI7CitteSAkdGl0bGUgPSAiZ2l0ZGlmZjJzdm5kaWZmOiBDb252ZXJ0IG1uZW1vbmljIGdpdCBk
aWZmIHRvIHN2biBkaWZmIjsKIAogbXkgQHByZWZpeGVzID0gKAogICAgIHsgJ2EnID0+ICdpJywg
J2InID0+ICd3JyB9LCAjIGdpdC1kaWZmIChjb21wYXJlcyB0aGUgKGkpbmRleCBhbmQgdGhlICh3
KW9yayB0cmVlKQpAQCAtNzUsNiArMTAxLDggQEAgbXkgQHByZWZpeGVzID0gKAogICAgIHsgJ2En
ID0+ICcxJywgJ2InID0+ICcyJyB9LCAjIGdpdCBkaWZmIC0tbm8taW5kZXggYSBiIChjb21wYXJl
cyB0d28gbm9uLWdpdCB0aGluZ3MgKDEpIGFuZCAoMikpCiApOwogCitteSAkb3V0ID0gIiI7CisK
IGZvcmVhY2ggbXkgJHByZWZpeCAoQHByZWZpeGVzKSB7CiAgICAgbXkgJG1uZW1vbmljX3BhdGNo
ID0gJGdpdF9wYXRjaDsKICAgICAkbW5lbW9uaWNfcGF0Y2ggPX4gcy8gYVwvLyAkcHJlZml4LT57
J2EnfVwvL2c7Cg==
</data>
<flag name="review"
          id="28414"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46196</attachid>
            <date>2010-01-08 21:10:36 -0800</date>
            <delta_ts>2010-01-08 23:22:35 -0800</delta_ts>
            <desc>Patch 3</desc>
            <filename>patch-tools7-3.txt</filename>
            <type>text/plain</type>
            <size>4612</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDUzMDMzKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEtMDggIENocmlzIEplcmRvbmVrICA8
Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1vZGlmaWVkIFZDU1V0aWxzOjpnaXRkaWZmMnN2bmRpZmYoKSB0
byBhY2NlcHQgc3RyaW5ncyB0aGF0CisgICAgICAgIGVuZCBpbiB2ZXJ0aWNhbCB3aGl0ZSBzcGFj
ZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM0
MTUKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2dpdGRpZmYyc3ZuZGlmZi5wbDoKKwogMjAxMC0w
MS0wOCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQkocmV2aXNpb24gNTMw
MDQpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCSh3b3JraW5nIGNvcHkpCkBA
IC0zNTksMTcgKzM1OSwyNCBAQCBzdWIgc3ZuU3RhdHVzKCQpCiAgICAgcmV0dXJuICRzdm5TdGF0
dXM7CiB9CiAKKyMgQ29udmVydCBhIGxpbmUgb2YgYSBnaXQtZm9ybWF0dGVkIHBhdGNoIHRvIFNW
TiBmb3JtYXQsIHdoaWxlCisjIHByZXNlcnZpbmcgYW55IGVuZC1vZi1saW5lIGNoYXJhY3RlcnMu
CiBzdWIgZ2l0ZGlmZjJzdm5kaWZmKCQpCiB7CiAgICAgJF8gPSBzaGlmdCBAXzsKLSAgICBpZiAo
bSNeZGlmZiAtLWdpdCBcdy8oLispIFx3LyguKykjKSB7Ci0gICAgICAgIHJldHVybiAiSW5kZXg6
ICQxIjsKLSAgICB9IGVsc2lmIChtI15pbmRleCBbMC05YS1mXXs3fVwuXC5bMC05YS1mXXs3fSBb
MC05XXs2fSMpIHsKLSAgICAgICAgcmV0dXJuICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IjsKLSAgICB9IGVsc2lmICht
I14tLS0gXHcvKC4rKSMpIHsKLSAgICAgICAgcmV0dXJuICItLS0gJDEiOwotICAgIH0gZWxzaWYg
KG0jXlwrXCtcKyBcdy8oLispIykgewotICAgICAgICByZXR1cm4gIisrKyAkMSI7CisgICAgCisg
ICAgIyBcViBpcyBhbnkgY2hhcmFjdGVyIHRoYXQgaXMgbm90IHZlcnRpY2FsIHdoaXRlIHNwYWNl
CisgICAgaWYgKG0jXmRpZmYgLS1naXQgXHcvKC4rKSBcdy8oXFYrKSMpIHsKKyAgICAgICAgcmV0
dXJuICJJbmRleDogJDEke15QT1NUTUFUQ0h9IjsKKyAgICB9CisgICAgaWYgKG0jXmluZGV4IFsw
LTlhLWZdezd9XC5cLlswLTlhLWZdezd9IFswLTldezZ9IykgeworICAgICAgICByZXR1cm4gIj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0ke15QT1NUTUFUQ0h9IjsKKyAgICB9CisgICAgaWYgKG0jXi0tLSBcdy8oXFYrKSMp
IHsKKyAgICAgICAgcmV0dXJuICItLS0gJDEke15QT1NUTUFUQ0h9IjsKKyAgICB9CisgICAgaWYg
KG0jXlwrXCtcKyBcdy8oXFYrKSMpIHsKKyAgICAgICAgcmV0dXJuICIrKysgJDEke15QT1NUTUFU
Q0h9IjsKICAgICB9CiAgICAgcmV0dXJuICRfOwogfQpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2dpdGRpZmYyc3ZuZGlmZi5wbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3Qv
Z2l0ZGlmZjJzdm5kaWZmLnBsCShyZXZpc2lvbiA1MzAwNCkKKysrIFdlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9naXRkaWZmMnN2bmRpZmYucGwJKHdvcmtp
bmcgY29weSkKQEAgLTEsNCArMSw0IEBACi0jIS91c3IvYmluL3BlcmwKKyMhL3Vzci9iaW4vcGVy
bCAtdwogIwogIyBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAgQ2hyaXMgSmVyZG9uZWsgKGNocmlz
LmplcmRvbmVrQGdtYWlsLmNvbSkKICMgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKSAKQEAgLTMxLDE0ICszMSwyNCBAQAogCiAj
IFVuaXQgdGVzdHMgb2YgVkNTVXRpbHM6OmdpdGRpZmYyc3ZuZGlmZigpCiAKLXVzZSBUZXN0OjpT
aW1wbGUgdGVzdHMgPT4gNjsKLXVzZSBWQ1NVdGlsczsKK3VzZSBzdHJpY3Q7Cit1c2Ugd2Fybmlu
Z3M7CiAKLW15ICRvdXQ7Ci1teSAkdGl0bGU7Cit1c2UgVGVzdDo6U2ltcGxlIHRlc3RzID0+IDIw
OwordXNlIFZDU1V0aWxzOwogCi0jIE5ldyB0ZXN0Ci0kdGl0bGUgPSAiZ2l0ZGlmZjJzdm5kaWZm
OiBDb252ZXJ0IHN0YW5kYXJkIGdpdCBkaWZmIHRvIHN2biBkaWZmIjsKKyMgV2UgdXNlIHRoaXMg
Zm9yIGRpc3BsYXkgcHVycG9zZXMsIHRvIGtlZXAgZWFjaCB0ZXN0IHRpdGxlIG9uIG9uZSBsaW5l
Lgorc3ViIGV4Y2VycHRTdHJpbmcoJCkKK3sKKyAgICBteSAoJHRleHQpID0gQF87CisgICAgCisg
ICAgbXkgJGxlbmd0aCA9IDI1OworICAgIAorICAgIG15ICRzaG9ydGVuZWQgPSBzdWJzdHIoJHRl
eHQsIDAsICRsZW5ndGgpOworICAgICRzaG9ydGVuZWQgLj0gIi4uLiIgaWYgKGxlbmd0aCgkdGV4
dCkgPiAkbGVuZ3RoKTsKKyAgICAKKyAgICByZXR1cm4gJHNob3J0ZW5lZDsKK30KIAogbXkgJGdp
dF9wYXRjaCA9IDw8RU5EOwogZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlRmxleGlibGVCb3hEYXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUZsZXhp
YmxlQm94RGF0YS5oCkBAIC01NiwxNiArNjYsMzEgQEAgSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlRmxleAogQEAgLTQ3LDcgKzQ3LDYgQEAgcHVibGljOgogRU5ECiAKLSRvdXQg
PSAiIjsKK215IEBnaXRMaW5lcyA9IHNwbGl0KCJcbiIsICRnaXRfcGF0Y2gpOworbXkgQHN2bkxp
bmVzID0gc3BsaXQoIlxuIiwgJHN2bl9wYXRjaCk7CiAKLWZvcmVhY2ggbXkgJGxpbmUgKHNwbGl0
KCdcbicsICRnaXRfcGF0Y2gpKSB7Ci0gICAgJG91dCAuPSBnaXRkaWZmMnN2bmRpZmYoJGxpbmUp
IC4gIlxuIjsKLX0KKyMgTmV3IHRlc3Q6IGNoZWNrIGVhY2ggZ2l0IGhlYWRlciBsaW5lIHdpdGgg
ZGlmZmVyZW50IGxpbmUgZW5kaW5ncworbXkgJHRpdGxlSGVhZGVyID0gImdpdGRpZmYyc3ZuZGlm
ZjogIjsKIAotb2soJHN2bl9wYXRjaCBlcSAkb3V0LCAkdGl0bGUpOworbXkgQGxpbmVFbmRpbmdQ
YWlycyA9ICggIyBkaXNwbGF5IG5hbWUsIHZhbHVlCisgICAgWyIiLCAiIl0sCisgICAgWyJcXG4i
LCAiXG4iXSwKKyAgICBbIlxcclxcbiIsICJcclxuIl0sCispOworCitmb3IgKG15ICRpID0gMDsg
JGkgPCBAZ2l0TGluZXM7ICRpKyspIHsKKyAgICBmb3JlYWNoIG15ICRwYWlyIChAbGluZUVuZGlu
Z1BhaXJzKSB7IAorICAgICAgICBteSAkZ2l0TGluZSA9ICRnaXRMaW5lc1skaV0gLiAkcGFpci0+
WzFdOworICAgICAgICBteSAkZXhwZWN0ZWQgPSAkc3ZuTGluZXNbJGldIC4gJHBhaXItPlsxXTsK
KyAgICAgICAgbXkgJHRpdGxlID0gJHRpdGxlSGVhZGVyIC4gZXhjZXJwdFN0cmluZygkZ2l0TGlu
ZSk7CisgICAgICAgICR0aXRsZSAuPSAiIFtsaW5lLWVuZDogXCIkcGFpci0+WzBdXCJdIjsKKyAg
ICAgICAgCisgICAgICAgIG9rKCRleHBlY3RlZCBlcSBnaXRkaWZmMnN2bmRpZmYoJGdpdExpbmUp
LCAkdGl0bGUpOworICAgIH0KK30KIAogIyBOZXcgdGVzdAotJHRpdGxlID0gImdpdGRpZmYyc3Zu
ZGlmZjogQ29udmVydCBtbmVtb25pYyBnaXQgZGlmZiB0byBzdm4gZGlmZiI7CitteSAkdGl0bGUg
PSAiZ2l0ZGlmZjJzdm5kaWZmOiBDb252ZXJ0IG1uZW1vbmljIGdpdCBkaWZmIHRvIHN2biBkaWZm
IjsKIAogbXkgQHByZWZpeGVzID0gKAogICAgIHsgJ2EnID0+ICdpJywgJ2InID0+ICd3JyB9LCAj
IGdpdC1kaWZmIChjb21wYXJlcyB0aGUgKGkpbmRleCBhbmQgdGhlICh3KW9yayB0cmVlKQpAQCAt
NzUsNiArMTAwLDggQEAgbXkgQHByZWZpeGVzID0gKAogICAgIHsgJ2EnID0+ICcxJywgJ2InID0+
ICcyJyB9LCAjIGdpdCBkaWZmIC0tbm8taW5kZXggYSBiIChjb21wYXJlcyB0d28gbm9uLWdpdCB0
aGluZ3MgKDEpIGFuZCAoMikpCiApOwogCitteSAkb3V0ID0gIiI7CisKIGZvcmVhY2ggbXkgJHBy
ZWZpeCAoQHByZWZpeGVzKSB7CiAgICAgbXkgJG1uZW1vbmljX3BhdGNoID0gJGdpdF9wYXRjaDsK
ICAgICAkbW5lbW9uaWNfcGF0Y2ggPX4gcy8gYVwvLyAkcHJlZml4LT57J2EnfVwvL2c7Cg==
</data>
<flag name="review"
          id="28420"
          type_id="1"
          status="-"
          setter="ddkilzer"
    />
    <flag name="commit-queue"
          id="28421"
          type_id="3"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46199</attachid>
            <date>2010-01-08 23:22:35 -0800</date>
            <delta_ts>2010-01-09 11:14:17 -0800</delta_ts>
            <desc>Patch 4</desc>
            <filename>patch-tools7-4.txt</filename>
            <type>text/plain</type>
            <size>4821</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDUzMDMzKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEtMDggIENocmlzIEplcmRvbmVrICA8
Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1vZGlmaWVkIFZDU1V0aWxzOjpnaXRkaWZmMnN2bmRpZmYoKSB0
byBhY2NlcHQgc3RyaW5ncyB0aGF0CisgICAgICAgIGVuZCBpbiB2ZXJ0aWNhbCB3aGl0ZSBzcGFj
ZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM0
MTUKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2dpdGRpZmYyc3ZuZGlmZi5wbDoKKwogMjAxMC0w
MS0wOCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQkocmV2aXNpb24gNTMw
MDQpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw2ICszMiw3IEBAIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7CiAKIHVzZSBDd2QgcXco
KTsgICMgInF3KCkiIHByZXZlbnRzIHdhcm5pbmdzIGFib3V0IHJlZGVmaW5pbmcgZ2V0Y3dkKCkg
d2l0aCAidXNlIFBPU0lYOyIKK3VzZSBFbmdsaXNoOyAjIGZvciAkUE9TVE1BVENILCBldGMuCiB1
c2UgRmlsZTo6QmFzZW5hbWU7CiB1c2UgRmlsZTo6U3BlYzsKIHVzZSBQT1NJWDsKQEAgLTM1OSwx
NyArMzYwLDI0IEBAIHN1YiBzdm5TdGF0dXMoJCkKICAgICByZXR1cm4gJHN2blN0YXR1czsKIH0K
IAorIyBDb252ZXJ0IGEgbGluZSBvZiBhIGdpdC1mb3JtYXR0ZWQgcGF0Y2ggdG8gU1ZOIGZvcm1h
dCwgd2hpbGUKKyMgcHJlc2VydmluZyBhbnkgZW5kLW9mLWxpbmUgY2hhcmFjdGVycy4KIHN1YiBn
aXRkaWZmMnN2bmRpZmYoJCkKIHsKICAgICAkXyA9IHNoaWZ0IEBfOwotICAgIGlmIChtI15kaWZm
IC0tZ2l0IFx3LyguKykgXHcvKC4rKSMpIHsKLSAgICAgICAgcmV0dXJuICJJbmRleDogJDEiOwot
ICAgIH0gZWxzaWYgKG0jXmluZGV4IFswLTlhLWZdezd9XC5cLlswLTlhLWZdezd9IFswLTldezZ9
IykgewotICAgICAgICByZXR1cm4gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iOwotICAgIH0gZWxzaWYgKG0jXi0tLSBc
dy8oLispIykgewotICAgICAgICByZXR1cm4gIi0tLSAkMSI7Ci0gICAgfSBlbHNpZiAobSNeXCtc
K1wrIFx3LyguKykjKSB7Ci0gICAgICAgIHJldHVybiAiKysrICQxIjsKKyAgICAKKyAgICAjIFxW
IGlzIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdmVydGljYWwgd2hpdGUgc3BhY2UKKyAgICBp
ZiAobSNeZGlmZiAtLWdpdCBcdy8oLispIFx3LyhcVispIykgeworICAgICAgICByZXR1cm4gIklu
ZGV4OiAkMSRQT1NUTUFUQ0giOworICAgIH0KKyAgICBpZiAobSNeaW5kZXggWzAtOWEtZl17N31c
LlwuWzAtOWEtZl17N30gWzAtOV17Nn0jKSB7CisgICAgICAgIHJldHVybiAiPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSRQ
T1NUTUFUQ0giOworICAgIH0KKyAgICBpZiAobSNeLS0tIFx3LyhcVispIykgeworICAgICAgICBy
ZXR1cm4gIi0tLSAkMSRQT1NUTUFUQ0giOworICAgIH0KKyAgICBpZiAobSNeXCtcK1wrIFx3Lyhc
VispIykgeworICAgICAgICByZXR1cm4gIisrKyAkMSRQT1NUTUFUQ0giOwogICAgIH0KICAgICBy
ZXR1cm4gJF87CiB9CkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRp
bHNfdW5pdHRlc3QvZ2l0ZGlmZjJzdm5kaWZmLnBsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9naXRkaWZmMnN2bmRpZmYucGwJ
KHJldmlzaW9uIDUzMDA0KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0
aWxzX3VuaXR0ZXN0L2dpdGRpZmYyc3ZuZGlmZi5wbAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsx
LDQgQEAKLSMhL3Vzci9iaW4vcGVybAorIyEvdXNyL2Jpbi9wZXJsIC13CiAjCiAjIENvcHlyaWdo
dCAoQykgMjAwOSwgMjAxMCBDaHJpcyBKZXJkb25layAoY2hyaXMuamVyZG9uZWtAZ21haWwuY29t
KQogIyBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJz
aWRpYXJ5KC1pZXMpIApAQCAtMzEsMTQgKzMxLDI0IEBACiAKICMgVW5pdCB0ZXN0cyBvZiBWQ1NV
dGlsczo6Z2l0ZGlmZjJzdm5kaWZmKCkKIAotdXNlIFRlc3Q6OlNpbXBsZSB0ZXN0cyA9PiA2Owot
dXNlIFZDU1V0aWxzOwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKIAotbXkgJG91dDsKLW15
ICR0aXRsZTsKK3VzZSBUZXN0OjpTaW1wbGUgdGVzdHMgPT4gMjA7Cit1c2UgVkNTVXRpbHM7CiAK
LSMgTmV3IHRlc3QKLSR0aXRsZSA9ICJnaXRkaWZmMnN2bmRpZmY6IENvbnZlcnQgc3RhbmRhcmQg
Z2l0IGRpZmYgdG8gc3ZuIGRpZmYiOworIyBXZSB1c2UgdGhpcyBmb3IgZGlzcGxheSBwdXJwb3Nl
cywgdG8ga2VlcCBlYWNoIHRlc3QgdGl0bGUgb24gb25lIGxpbmUuCitzdWIgZXhjZXJwdFN0cmlu
ZygkKQoreworICAgIG15ICgkdGV4dCkgPSBAXzsKKyAgICAKKyAgICBteSAkbGVuZ3RoID0gMjU7
CisgICAgCisgICAgbXkgJHNob3J0ZW5lZCA9IHN1YnN0cigkdGV4dCwgMCwgJGxlbmd0aCk7Cisg
ICAgJHNob3J0ZW5lZCAuPSAiLi4uIiBpZiAobGVuZ3RoKCR0ZXh0KSA+ICRsZW5ndGgpOworICAg
IAorICAgIHJldHVybiAkc2hvcnRlbmVkOworfQogCiBteSAkZ2l0X3BhdGNoID0gPDxFTkQ7CiBk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4aWJsZUJveERhdGEu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVCb3hEYXRhLmgKQEAgLTU2
LDE2ICs2NiwzMSBAQCBJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVGbGV4CiBA
QCAtNDcsNyArNDcsNiBAQCBwdWJsaWM6CiBFTkQKIAotJG91dCA9ICIiOworbXkgQGdpdExpbmVz
ID0gc3BsaXQoIlxuIiwgJGdpdF9wYXRjaCk7CitteSBAc3ZuTGluZXMgPSBzcGxpdCgiXG4iLCAk
c3ZuX3BhdGNoKTsKIAotZm9yZWFjaCBteSAkbGluZSAoc3BsaXQoJ1xuJywgJGdpdF9wYXRjaCkp
IHsKLSAgICAkb3V0IC49IGdpdGRpZmYyc3ZuZGlmZigkbGluZSkgLiAiXG4iOwotfQorIyBOZXcg
dGVzdDogY2hlY2sgZWFjaCBnaXQgaGVhZGVyIGxpbmUgd2l0aCBkaWZmZXJlbnQgbGluZSBlbmRp
bmdzCitteSAkdGl0bGVIZWFkZXIgPSAiZ2l0ZGlmZjJzdm5kaWZmOiAiOwogCi1vaygkc3ZuX3Bh
dGNoIGVxICRvdXQsICR0aXRsZSk7CitteSBAbGluZUVuZGluZ1BhaXJzID0gKCAjIGRpc3BsYXkg
bmFtZSwgdmFsdWUKKyAgICBbIiIsICIiXSwKKyAgICBbIlxcbiIsICJcbiJdLAorICAgIFsiXFxy
XFxuIiwgIlxyXG4iXSwKKyk7CisKK2ZvciAobXkgJGkgPSAwOyAkaSA8IEBnaXRMaW5lczsgJGkr
KykgeworICAgIGZvcmVhY2ggbXkgJHBhaXIgKEBsaW5lRW5kaW5nUGFpcnMpIHsgCisgICAgICAg
IG15ICRnaXRMaW5lID0gJGdpdExpbmVzWyRpXSAuICRwYWlyLT5bMV07CisgICAgICAgIG15ICRl
eHBlY3RlZCA9ICRzdm5MaW5lc1skaV0gLiAkcGFpci0+WzFdOworICAgICAgICBteSAkdGl0bGUg
PSAkdGl0bGVIZWFkZXIgLiBleGNlcnB0U3RyaW5nKCRnaXRMaW5lKTsKKyAgICAgICAgJHRpdGxl
IC49ICIgW2xpbmUtZW5kOiBcIiRwYWlyLT5bMF1cIl0iOworICAgICAgICAKKyAgICAgICAgb2so
JGV4cGVjdGVkIGVxIGdpdGRpZmYyc3ZuZGlmZigkZ2l0TGluZSksICR0aXRsZSk7CisgICAgfQor
fQogCiAjIE5ldyB0ZXN0Ci0kdGl0bGUgPSAiZ2l0ZGlmZjJzdm5kaWZmOiBDb252ZXJ0IG1uZW1v
bmljIGdpdCBkaWZmIHRvIHN2biBkaWZmIjsKK215ICR0aXRsZSA9ICJnaXRkaWZmMnN2bmRpZmY6
IENvbnZlcnQgbW5lbW9uaWMgZ2l0IGRpZmYgdG8gc3ZuIGRpZmYiOwogCiBteSBAcHJlZml4ZXMg
PSAoCiAgICAgeyAnYScgPT4gJ2knLCAnYicgPT4gJ3cnIH0sICMgZ2l0LWRpZmYgKGNvbXBhcmVz
IHRoZSAoaSluZGV4IGFuZCB0aGUgKHcpb3JrIHRyZWUpCkBAIC03NSw2ICsxMDAsOCBAQCBteSBA
cHJlZml4ZXMgPSAoCiAgICAgeyAnYScgPT4gJzEnLCAnYicgPT4gJzInIH0sICMgZ2l0IGRpZmYg
LS1uby1pbmRleCBhIGIgKGNvbXBhcmVzIHR3byBub24tZ2l0IHRoaW5ncyAoMSkgYW5kICgyKSkK
ICk7CiAKK215ICRvdXQgPSAiIjsKKwogZm9yZWFjaCBteSAkcHJlZml4IChAcHJlZml4ZXMpIHsK
ICAgICBteSAkbW5lbW9uaWNfcGF0Y2ggPSAkZ2l0X3BhdGNoOwogICAgICRtbmVtb25pY19wYXRj
aCA9fiBzLyBhXC8vICRwcmVmaXgtPnsnYSd9XC8vZzsK
</data>
<flag name="review"
          id="28424"
          type_id="1"
          status="-"
          setter="ddkilzer"
    />
    <flag name="commit-queue"
          id="28425"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46212</attachid>
            <date>2010-01-09 11:14:17 -0800</date>
            <delta_ts>2010-01-09 14:51:01 -0800</delta_ts>
            <desc>Patch 5</desc>
            <filename>patch-tools7-5.txt</filename>
            <type>text/plain</type>
            <size>4836</size>
            <attacher name="Chris Jerdonek">cjerdonek</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDUzMDMzKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEtMDggIENocmlzIEplcmRvbmVrICA8
Y2hyaXMuamVyZG9uZWtAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1vZGlmaWVkIFZDU1V0aWxzOjpnaXRkaWZmMnN2bmRpZmYoKSB0
byBhY2NlcHQgc3RyaW5ncyB0aGF0CisgICAgICAgIGVuZCBpbiB2ZXJ0aWNhbCB3aGl0ZSBzcGFj
ZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM0
MTUKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2dpdGRpZmYyc3ZuZGlmZi5wbDoKKwogMjAxMC0w
MS0wOCAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQkocmV2aXNpb24gNTMw
MDQpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw2ICszMiw3IEBAIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3M7CiAKIHVzZSBDd2QgcXco
KTsgICMgInF3KCkiIHByZXZlbnRzIHdhcm5pbmdzIGFib3V0IHJlZGVmaW5pbmcgZ2V0Y3dkKCkg
d2l0aCAidXNlIFBPU0lYOyIKK3VzZSBFbmdsaXNoOyAjIGZvciAkUE9TVE1BVENILCBldGMuCiB1
c2UgRmlsZTo6QmFzZW5hbWU7CiB1c2UgRmlsZTo6U3BlYzsKIHVzZSBQT1NJWDsKQEAgLTM1OSwx
NyArMzYwLDI0IEBAIHN1YiBzdm5TdGF0dXMoJCkKICAgICByZXR1cm4gJHN2blN0YXR1czsKIH0K
IAorIyBDb252ZXJ0IGEgbGluZSBvZiBhIGdpdC1mb3JtYXR0ZWQgcGF0Y2ggdG8gU1ZOIGZvcm1h
dCwgd2hpbGUKKyMgcHJlc2VydmluZyBhbnkgZW5kLW9mLWxpbmUgY2hhcmFjdGVycy4KIHN1YiBn
aXRkaWZmMnN2bmRpZmYoJCkKIHsKICAgICAkXyA9IHNoaWZ0IEBfOwotICAgIGlmIChtI15kaWZm
IC0tZ2l0IFx3LyguKykgXHcvKC4rKSMpIHsKLSAgICAgICAgcmV0dXJuICJJbmRleDogJDEiOwot
ICAgIH0gZWxzaWYgKG0jXmluZGV4IFswLTlhLWZdezd9XC5cLlswLTlhLWZdezd9IFswLTldezZ9
IykgewotICAgICAgICByZXR1cm4gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iOwotICAgIH0gZWxzaWYgKG0jXi0tLSBc
dy8oLispIykgewotICAgICAgICByZXR1cm4gIi0tLSAkMSI7Ci0gICAgfSBlbHNpZiAobSNeXCtc
K1wrIFx3LyguKykjKSB7Ci0gICAgICAgIHJldHVybiAiKysrICQxIjsKKyAgICAKKyAgICAjIFxW
IGlzIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgdmVydGljYWwgd2hpdGUgc3BhY2UKKyAgICBp
ZiAobSNeZGlmZiAtLWdpdCBcdy8oLispIFx3LyhbXlxyXG5dKykjKSB7CisgICAgICAgIHJldHVy
biAiSW5kZXg6ICQxJFBPU1RNQVRDSCI7CisgICAgfQorICAgIGlmIChtI15pbmRleCBbMC05YS1m
XXs3fVwuXC5bMC05YS1mXXs3fSBbMC05XXs2fSMpIHsKKyAgICAgICAgcmV0dXJuICI9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09JFBPU1RNQVRDSCI7CisgICAgfQorICAgIGlmIChtI14tLS0gXHcvKFteXHJcbl0rKSMpIHsK
KyAgICAgICAgcmV0dXJuICItLS0gJDEkUE9TVE1BVENIIjsKKyAgICB9CisgICAgaWYgKG0jXlwr
XCtcKyBcdy8oW15cclxuXSspIykgeworICAgICAgICByZXR1cm4gIisrKyAkMSRQT1NUTUFUQ0gi
OwogICAgIH0KICAgICByZXR1cm4gJF87CiB9CkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvZ2l0ZGlmZjJzdm5kaWZmLnBsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9naXRk
aWZmMnN2bmRpZmYucGwJKHJldmlzaW9uIDUzMDA0KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2dpdGRpZmYyc3ZuZGlmZi5wbAkod29ya2luZyBj
b3B5KQpAQCAtMSw0ICsxLDQgQEAKLSMhL3Vzci9iaW4vcGVybAorIyEvdXNyL2Jpbi9wZXJsIC13
CiAjCiAjIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCBDaHJpcyBKZXJkb25layAoY2hyaXMuamVy
ZG9uZWtAZ21haWwuY29tKQogIyBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpIApAQCAtMzEsMTQgKzMxLDI0IEBACiAKICMgVW5p
dCB0ZXN0cyBvZiBWQ1NVdGlsczo6Z2l0ZGlmZjJzdm5kaWZmKCkKIAotdXNlIFRlc3Q6OlNpbXBs
ZSB0ZXN0cyA9PiA2OwotdXNlIFZDU1V0aWxzOwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsK
IAotbXkgJG91dDsKLW15ICR0aXRsZTsKK3VzZSBUZXN0OjpTaW1wbGUgdGVzdHMgPT4gMjA7Cit1
c2UgVkNTVXRpbHM7CiAKLSMgTmV3IHRlc3QKLSR0aXRsZSA9ICJnaXRkaWZmMnN2bmRpZmY6IENv
bnZlcnQgc3RhbmRhcmQgZ2l0IGRpZmYgdG8gc3ZuIGRpZmYiOworIyBXZSB1c2UgdGhpcyBmb3Ig
ZGlzcGxheSBwdXJwb3NlcywgdG8ga2VlcCBlYWNoIHRlc3QgdGl0bGUgb24gb25lIGxpbmUuCitz
dWIgZXhjZXJwdFN0cmluZygkKQoreworICAgIG15ICgkdGV4dCkgPSBAXzsKKyAgICAKKyAgICBt
eSAkbGVuZ3RoID0gMjU7CisgICAgCisgICAgbXkgJHNob3J0ZW5lZCA9IHN1YnN0cigkdGV4dCwg
MCwgJGxlbmd0aCk7CisgICAgJHNob3J0ZW5lZCAuPSAiLi4uIiBpZiAobGVuZ3RoKCR0ZXh0KSA+
ICRsZW5ndGgpOworICAgIAorICAgIHJldHVybiAkc2hvcnRlbmVkOworfQogCiBteSAkZ2l0X3Bh
dGNoID0gPDxFTkQ7CiBkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVG
bGV4aWJsZUJveERhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlRmxleGlibGVC
b3hEYXRhLmgKQEAgLTU2LDE2ICs2NiwzMSBAQCBJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVGbGV4CiBAQCAtNDcsNyArNDcsNiBAQCBwdWJsaWM6CiBFTkQKIAotJG91dCA9ICIi
OworbXkgQGdpdExpbmVzID0gc3BsaXQoIlxuIiwgJGdpdF9wYXRjaCk7CitteSBAc3ZuTGluZXMg
PSBzcGxpdCgiXG4iLCAkc3ZuX3BhdGNoKTsKIAotZm9yZWFjaCBteSAkbGluZSAoc3BsaXQoJ1xu
JywgJGdpdF9wYXRjaCkpIHsKLSAgICAkb3V0IC49IGdpdGRpZmYyc3ZuZGlmZigkbGluZSkgLiAi
XG4iOwotfQorIyBOZXcgdGVzdDogY2hlY2sgZWFjaCBnaXQgaGVhZGVyIGxpbmUgd2l0aCBkaWZm
ZXJlbnQgbGluZSBlbmRpbmdzCitteSAkdGl0bGVIZWFkZXIgPSAiZ2l0ZGlmZjJzdm5kaWZmOiAi
OwogCi1vaygkc3ZuX3BhdGNoIGVxICRvdXQsICR0aXRsZSk7CitteSBAbGluZUVuZGluZ1BhaXJz
ID0gKCAjIGRpc3BsYXkgbmFtZSwgdmFsdWUKKyAgICBbIiIsICIiXSwKKyAgICBbIlxcbiIsICJc
biJdLAorICAgIFsiXFxyXFxuIiwgIlxyXG4iXSwKKyk7CisKK2ZvciAobXkgJGkgPSAwOyAkaSA8
IEBnaXRMaW5lczsgJGkrKykgeworICAgIGZvcmVhY2ggbXkgJHBhaXIgKEBsaW5lRW5kaW5nUGFp
cnMpIHsgCisgICAgICAgIG15ICRnaXRMaW5lID0gJGdpdExpbmVzWyRpXSAuICRwYWlyLT5bMV07
CisgICAgICAgIG15ICRleHBlY3RlZCA9ICRzdm5MaW5lc1skaV0gLiAkcGFpci0+WzFdOworICAg
ICAgICBteSAkdGl0bGUgPSAkdGl0bGVIZWFkZXIgLiBleGNlcnB0U3RyaW5nKCRnaXRMaW5lKTsK
KyAgICAgICAgJHRpdGxlIC49ICIgW2xpbmUtZW5kOiBcIiRwYWlyLT5bMF1cIl0iOworICAgICAg
ICAKKyAgICAgICAgb2soJGV4cGVjdGVkIGVxIGdpdGRpZmYyc3ZuZGlmZigkZ2l0TGluZSksICR0
aXRsZSk7CisgICAgfQorfQogCiAjIE5ldyB0ZXN0Ci0kdGl0bGUgPSAiZ2l0ZGlmZjJzdm5kaWZm
OiBDb252ZXJ0IG1uZW1vbmljIGdpdCBkaWZmIHRvIHN2biBkaWZmIjsKK215ICR0aXRsZSA9ICJn
aXRkaWZmMnN2bmRpZmY6IENvbnZlcnQgbW5lbW9uaWMgZ2l0IGRpZmYgdG8gc3ZuIGRpZmYiOwog
CiBteSBAcHJlZml4ZXMgPSAoCiAgICAgeyAnYScgPT4gJ2knLCAnYicgPT4gJ3cnIH0sICMgZ2l0
LWRpZmYgKGNvbXBhcmVzIHRoZSAoaSluZGV4IGFuZCB0aGUgKHcpb3JrIHRyZWUpCkBAIC03NSw2
ICsxMDAsOCBAQCBteSBAcHJlZml4ZXMgPSAoCiAgICAgeyAnYScgPT4gJzEnLCAnYicgPT4gJzIn
IH0sICMgZ2l0IGRpZmYgLS1uby1pbmRleCBhIGIgKGNvbXBhcmVzIHR3byBub24tZ2l0IHRoaW5n
cyAoMSkgYW5kICgyKSkKICk7CiAKK215ICRvdXQgPSAiIjsKKwogZm9yZWFjaCBteSAkcHJlZml4
IChAcHJlZml4ZXMpIHsKICAgICBteSAkbW5lbW9uaWNfcGF0Y2ggPSAkZ2l0X3BhdGNoOwogICAg
ICRtbmVtb25pY19wYXRjaCA9fiBzLyBhXC8vICRwcmVmaXgtPnsnYSd9XC8vZzsK
</data>

          </attachment>
      

    </bug>

</bugzilla>