<?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>38864</bug_id>
          
          <creation_ts>2010-05-10 13:43:50 -0700</creation_ts>
          <short_desc>svn-apply: should support git binary delta diffs</short_desc>
          <delta_ts>2011-01-07 01:47:02 -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="Shane Stephens">shanestephens</assigned_to>
          <cc>cjerdonek</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>enne</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>levin</cc>
    
    <cc>ojan</cc>
    
    <cc>pfeldman</cc>
    
    <cc>shanestephens</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>223491</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-10 13:43:50 -0700</bug_when>
    <thetext>It already supports literal.  Just not delta.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226928</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 15:15:58 -0700</bug_when>
    <thetext>The current behavior is confusing:

patching file LayoutTests/fast/multicol/client-rects-expected.checksum
only literal type is supported now at /usr/local/home/jamesr/WebKit_svn/WebKitTools/Scripts/svn-apply line 248.

Failed to run &quot;[u&apos;/usr/local/home/jamesr/WebKit_svn/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Darin Adler&apos;]&quot; exit_code: 255

We should at least fix svn-apply to point people to this bug when failing.

jamesr also wondered if we could teach webkit-patch to call git diff with the right args so that it never generated delta diffs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226936</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-17 15:26:34 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; 
&gt; jamesr also wondered if we could teach webkit-patch to call git diff with the right args so that it never generated delta diffs.

See here.  The answer seems to be that it&apos;s not possible to force literal diffs:

https://bugs.webkit.org/show_bug.cgi?id=36747#c15</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226942</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Jerdonek">cjerdonek</who>
    <bug_when>2010-05-17 15:30:47 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; The current behavior is confusing:
&gt; 
&gt; patching file LayoutTests/fast/multicol/client-rects-expected.checksum
&gt; only literal type is supported now at /usr/local/home/jamesr/WebKit_svn/WebKitTools/Scripts/svn-apply line 248.
&gt; 
&gt; Failed to run &quot;[u&apos;/usr/local/home/jamesr/WebKit_svn/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Darin Adler&apos;]&quot; exit_code: 255
&gt; 
&gt; We should at least fix svn-apply to point people to this bug when failing.

I don&apos;t know how hard it would be to add support for delta diffs.  Maybe implementing svn-apply by calling &quot;git-apply&quot; would be a cheap way of adding support for delta diffs in the case of applying to a Git repo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329383</commentid>
    <comment_count>4</comment_count>
      <attachid>77963</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-01-04 19:39:21 -0800</bug_when>
    <thetext>Created attachment 77963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329384</commentid>
    <comment_count>5</comment_count>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-01-04 19:42:10 -0800</bug_when>
    <thetext>The provided patch adds delta support to svn-apply.  The algorithm comes directly from https://github.com/git/git/blob/master/patch-delta.c - should I make a note of this in the code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329400</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-01-04 21:05:46 -0800</bug_when>
    <thetext>I haven&apos;t looked at the patch but the code you linked is GPLv2 which is not permitted in WebKit. We can&apos;t include it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329411</commentid>
    <comment_count>7</comment_count>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-01-04 21:28:17 -0800</bug_when>
    <thetext>The code I linked is also C.  It&apos;s the algorithm I used, not the code itself.  However if this is still a problem then perhaps I can describe the data format in more abstract terms and someone else can perform a clean implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329422</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-04 22:14:08 -0800</bug_when>
    <thetext>I&apos;m less concerned about the possible GPL code, than I am about the lack of unit testing. :)

IANAL, but I don&apos;t think this is a licensing issue -- you writing a version of the algorithm in a new language under a new license.  The code is copyright, not the algorithm, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330096</commentid>
    <comment_count>9</comment_count>
      <attachid>78106</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-01-06 04:07:34 -0800</bug_when>
    <thetext>Created attachment 78106
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330097</commentid>
    <comment_count>10</comment_count>
      <attachid>78107</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-01-06 04:09:39 -0800</bug_when>
    <thetext>Created attachment 78107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330098</commentid>
    <comment_count>11</comment_count>
      <attachid>78108</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-01-06 04:12:39 -0800</bug_when>
    <thetext>Created attachment 78108
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330101</commentid>
    <comment_count>12</comment_count>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-01-06 04:15:51 -0800</bug_when>
    <thetext>sorry about the attachment spam.  webkit-patch seems to require that I provide git commit ids now and it took me a bit of fiddling to get it right :(

There&apos;s now a unit test as well, and some extra functionality that was missing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330238</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-06 11:10:44 -0800</bug_when>
    <thetext>Your indent should be 4 spaces.  I guess we don&apos;t have a style checker for perl files?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330246</commentid>
    <comment_count>14</comment_count>
      <attachid>78108</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-06 11:15:19 -0800</bug_when>
    <thetext>Comment on attachment 78108
Patch

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

In general this patch is *fantastic*, I can&apos;t state that enough.  This has been a huge thorn in our side for a long time.

But I&apos;m concerned about the ability for someone else to hack on this code in 3 months time.  We need to be sure to document where they would check the algorithm, and possibly try to make the existing perl code cleaner so that if there is ever a bug in this code, it can be fixed by someone other than you. :)

&gt; Tools/Scripts/VCSUtils.pm:1774
&gt; +sub decodeGitBinaryPatchDeltaSize($)
&gt; +{

Would be good to link to where this algorithm is documented.  Even if that means that link is a ViewCVS URL for GPL&apos;d code.

&gt; Tools/Scripts/VCSUtils.pm:1801
&gt; +    # we don&apos;t use these but we need to know how big they are

Comments should be sentences (capital, period).

&gt; Tools/Scripts/VCSUtils.pm:1816
&gt; +            if ($cmd &amp; 0x01) { $cpOff = ord(substr($binaryChunk, $i++, 1)); }
&gt; +            if ($cmd &amp; 0x02) { $cpOff |= ord(substr($binaryChunk, $i++, 1)) &lt;&lt; 8; }
&gt; +            if ($cmd &amp; 0x04) { $cpOff |= ord(substr($binaryChunk, $i++, 1)) &lt;&lt; 16; }
&gt; +            if ($cmd &amp; 0x08) { $cpOff |= ord(substr($binaryChunk, $i++, 1)) &lt;&lt; 24; }

Should we be using named constants for these opcodes?  Should this if or loop body be its own function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330257</commentid>
    <comment_count>15</comment_count>
      <attachid>78108</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-06 11:30:22 -0800</bug_when>
    <thetext>Comment on attachment 78108
Patch

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

&gt; Tools/Scripts/VCSUtils.pm:1813
&gt; +            if ($cmd &amp; 0x01) { $cpOff = ord(substr($binaryChunk, $i++, 1)); }

Maybe &quot;ord(substr($binaryChunk, $i++, 1))&quot; should be a function readByte()?  I&apos;m not really sure what it&apos;s doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330677</commentid>
    <comment_count>16</comment_count>
      <attachid>78214</attachid>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-01-07 01:06:15 -0800</bug_when>
    <thetext>Created attachment 78214
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330679</commentid>
    <comment_count>17</comment_count>
    <who name="Shane Stephens">shanestephens</who>
    <bug_when>2011-01-07 01:11:44 -0800</bug_when>
    <thetext>Done and done.  I played around with extracting a function from the loop but couldn&apos;t really get it to look nice (e.g. I would have had to return the output string each time), so I added some more comments and renamed some variables to be clearer instead.

I&apos;m not actually a perl hacker though, so someone else might be able to suggest a decent way to pass a string by reference and append to it in-place.

The opcodes are kind of meaningless apart from the concordances displayed in directly in the code (e.g. they would be names like READ_BITS_7_TO_14_OF_SIZE_VALUE), so I didn&apos;t think that there was any additional clarity to be gained from adding them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330685</commentid>
    <comment_count>18</comment_count>
      <attachid>78214</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-07 01:29:42 -0800</bug_when>
    <thetext>Comment on attachment 78214
Patch

You sir, are my hero.  Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330691</commentid>
    <comment_count>19</comment_count>
      <attachid>78214</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-07 01:46:54 -0800</bug_when>
    <thetext>Comment on attachment 78214
Patch

Clearing flags on attachment: 78214

Committed r75235: &lt;http://trac.webkit.org/changeset/75235&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330692</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-07 01:47:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77963</attachid>
            <date>2011-01-04 19:39:21 -0800</date>
            <delta_ts>2011-01-06 04:07:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38864-20110105143917.patch</filename>
            <type>text/plain</type>
            <size>5076</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0gYi9Ub29scy9TY3JpcHRzL1ZD
U1V0aWxzLnBtCmluZGV4IDc4YmEyMTc2YWIwZGE0ZjAwODU1YTQ4ODZiZmY0M2U3YmUxMGZkMzEu
LjA3Zjg5MjI2ZTY3OGQyODMwZjNmMDY5MzlkMjc2MjhlZDY2OGZmZmUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KKysrIGIvVG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQpA
QCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiAgICAgJFZFUlNJT04gICAgID0gMS4wMDsKICAgICBA
SVNBICAgICAgICAgPSBxdyhFeHBvcnRlcik7CiAgICAgQEVYUE9SVCAgICAgID0gcXcoCisgICAg
ICAgICZhcHBseUdpdEJpbmFyeVBhdGNoRGVsdGEKICAgICAgICAgJmNhbGxTaWxlbnRseQogICAg
ICAgICAmY2Fub25pY2FsaXplUGF0aAogICAgICAgICAmY2hhbmdlTG9nRW1haWxBZGRyZXNzCkBA
IC0xNzQyLDcgKzE3NDMsNiBAQCBzdWIgZGVjb2RlR2l0QmluYXJ5UGF0Y2goJCQpCiAgICAgIwog
ICAgICMgRWFjaCBjaHVuayBhIGxpbmUgd2hpY2ggc3RhcnRzIGZyb20gZWl0aGVyICJsaXRlcmFs
IiBvciAiZGVsdGEiLAogICAgICMgZm9sbG93ZWQgYnkgYSBudW1iZXIgd2hpY2ggc3BlY2lmaWVz
IGRlY29kZWQgc2l6ZSBvZiB0aGUgY2h1bmsuCi0gICAgIyBUaGUgImRlbHRhIiB0eXBlIGNodW5r
cyBhcmVuJ3Qgc3VwcG9ydGVkIGJ5IHRoaXMgZnVuY3Rpb24geWV0LgogICAgICMKICAgICAjIFRo
ZW4sIGNvbnRlbnQgb2YgdGhlIGNodW5rIGNvbWVzLiBUbyBkZWNvZGUgdGhlIGNvbnRlbnQsIHdl
CiAgICAgIyBuZWVkIGRlY29kZSBpdCB3aXRoIGJhc2U4NSBmaXJzdCwgYW5kIHRoZW4gemxpYi4K
QEAgLTE3NjMsMTAgKzE3NjMsNDAgQEAgc3ViIGRlY29kZUdpdEJpbmFyeVBhdGNoKCQkKQogICAg
IG15ICRyZXZlcnNlQmluYXJ5Q2h1bmsgPSBkZWNvZGVHaXRCaW5hcnlDaHVuaygkZW5jb2RlZFJl
dmVyc2VDaHVuaywgJGZ1bGxQYXRoKTsKICAgICBteSAkcmV2ZXJzZUJpbmFyeUNodW5rQWN0dWFs
U2l6ZSA9IGxlbmd0aCgkcmV2ZXJzZUJpbmFyeUNodW5rKTsKIAotICAgIGRpZSAiJGZ1bGxQYXRo
OiB1bmV4cGVjdGVkIHNpemUgb2YgdGhlIGZpcnN0IGNodW5rIChleHBlY3RlZCAkYmluYXJ5Q2h1
bmtFeHBlY3RlZFNpemUgYnV0IHdhcyAkYmluYXJ5Q2h1bmtBY3R1YWxTaXplIiBpZiAoJGJpbmFy
eUNodW5rRXhwZWN0ZWRTaXplICE9ICRiaW5hcnlDaHVua0FjdHVhbFNpemUpOwotICAgIGRpZSAi
JGZ1bGxQYXRoOiB1bmV4cGVjdGVkIHNpemUgb2YgdGhlIHNlY29uZCBjaHVuayAoZXhwZWN0ZWQg
JHJldmVyc2VCaW5hcnlDaHVua0V4cGVjdGVkU2l6ZSBidXQgd2FzICRyZXZlcnNlQmluYXJ5Q2h1
bmtBY3R1YWxTaXplIiBpZiAoJHJldmVyc2VCaW5hcnlDaHVua0V4cGVjdGVkU2l6ZSAhPSAkcmV2
ZXJzZUJpbmFyeUNodW5rQWN0dWFsU2l6ZSk7CisgICAgZGllICIkZnVsbFBhdGg6IHVuZXhwZWN0
ZWQgc2l6ZSBvZiB0aGUgZmlyc3QgY2h1bmsgKGV4cGVjdGVkICRiaW5hcnlDaHVua0V4cGVjdGVk
U2l6ZSBidXQgd2FzICRiaW5hcnlDaHVua0FjdHVhbFNpemUiIGlmICgkYmluYXJ5Q2h1bmtUeXBl
IGVxICJsaXRlcmFsIiBhbmQgJGJpbmFyeUNodW5rRXhwZWN0ZWRTaXplICE9ICRiaW5hcnlDaHVu
a0FjdHVhbFNpemUpOworICAgIGRpZSAiJGZ1bGxQYXRoOiB1bmV4cGVjdGVkIHNpemUgb2YgdGhl
IHNlY29uZCBjaHVuayAoZXhwZWN0ZWQgJHJldmVyc2VCaW5hcnlDaHVua0V4cGVjdGVkU2l6ZSBi
dXQgd2FzICRyZXZlcnNlQmluYXJ5Q2h1bmtBY3R1YWxTaXplIiBpZiAoJHJldmVyc2VCaW5hcnlD
aHVua1R5cGUgZXEgImxpdGVyYWwiIGFuZCAkcmV2ZXJzZUJpbmFyeUNodW5rRXhwZWN0ZWRTaXpl
ICE9ICRyZXZlcnNlQmluYXJ5Q2h1bmtBY3R1YWxTaXplKTsKIAogICAgIHJldHVybiAoJGJpbmFy
eUNodW5rVHlwZSwgJGJpbmFyeUNodW5rLCAkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSwgJHJldmVy
c2VCaW5hcnlDaHVuayk7CiB9CiAKK3N1YiBhcHBseUdpdEJpbmFyeVBhdGNoRGVsdGEoJCQpCit7
CisgICAgbXkgKCRiaW5hcnlDaHVuaywgJG9yaWdpbmFsQ29udGVudHMpID0gQF87CisKKyAgICBt
eSAkb3V0ID0gIiI7CisgICAgZm9yIChteSAkaSA9IDA7ICRpIDwgbGVuZ3RoKCRiaW5hcnlDaHVu
ayk7ICkgeworICAgICAgICBteSAkY21kID0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRpKyss
IDEpKTsKKyAgICAgICAgaWYgKCRjbWQgJiAweDgwKSB7CisgICAgICAgICAgICBteSAkY3BPZmYg
PSAwOworICAgICAgICAgICAgbXkgJGNwU2l6ZSA9IDA7CisgICAgICAgICAgICBpZiAoJGNtZCAm
IDB4MDEpIHsgJGNwT2ZmID0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKTsgfQor
ICAgICAgICAgICAgaWYgKCRjbWQgJiAweDAyKSB7ICRjcE9mZiB8PSBvcmQoc3Vic3RyKCRiaW5h
cnlDaHVuaywgJGkrKywgMSkpIDw8IDg7IH0KKyAgICAgICAgICAgIGlmICgkY21kICYgMHgwNCkg
eyAkY3BPZmYgfD0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKSA8PCAxNjsgfQor
ICAgICAgICAgICAgaWYgKCRjbWQgJiAweDA4KSB7ICRjcE9mZiB8PSBvcmQoc3Vic3RyKCRiaW5h
cnlDaHVuaywgJGkrKywgMSkpIDw8IDI0OyB9CisgICAgICAgICAgICBpZiAoJGNtZCAmIDB4MTAp
IHsgJGNwU2l6ZSA9IG9yZChzdWJzdHIoJGJpbmFyeUNodW5rLCAkaSsrLCAxKSk7IH0KKyAgICAg
ICAgICAgIGlmICgkY21kICYgMHgyMCkgeyAkY3BTaXplIHw9IG9yZChzdWJzdHIoJGJpbmFyeUNo
dW5rLCAkaSsrLCAxKSkgPDwgODsgfQorICAgICAgICAgICAgaWYgKCRjbWQgJiAweDQwKSB7ICRj
cFNpemUgfD0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKSA8PCAxNjsgfQorICAg
ICAgICAgICAgaWYgKCRjcFNpemUgPT0gMCkgeyAkY3BTaXplID0gMHgxMDAwMDsgfQorICAgICAg
ICAgICAgJG91dCAuPSBzdWJzdHIoJG9yaWdpbmFsQ29udGVudHMsICRjcE9mZiwgJGNwU2l6ZSk7
CisgICAgICAgIH0gZWxzaWYgKCRjbWQpIHsKKyAgICAgICAgICAgICRvdXQgLj0gc3Vic3RyKCRi
aW5hcnlDaHVuaywgJGksICRjbWQpOworICAgICAgICAgICAgJGkgKz0gJGNtZDsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGRpZSAidW5leHBlY3RlZCBkZWx0YSBvcGNvZGUgMCI7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gJG91dDsKK30KKwogMTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5IGIvVG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkKaW5kZXgg
Y2FiN2ZiNDBlNzE3MzQxMzZmNmZmZDU3MzJmNWI4ZDgyMDJlMjk0Mi4uMGMyZTVlNTEwNmQ1ZDJm
MDIzN2UyYmVhZTE5M2ZiYTYzNGYzODgxYiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9zdm4t
YXBwbHkKKysrIGIvVG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkKQEAgLTI0NCw4ICsyNDQsNiBAQCBz
dWIgaGFuZGxlR2l0QmluYXJ5Q2hhbmdlKCQkKQogICAgIG15ICRjb250ZW50cyA9ICRkaWZmSGFz
aFJlZi0+e3N2bkNvbnZlcnRlZFRleHR9OwogCiAgICAgbXkgKCRiaW5hcnlDaHVua1R5cGUsICRi
aW5hcnlDaHVuaywgJHJldmVyc2VCaW5hcnlDaHVua1R5cGUsICRyZXZlcnNlQmluYXJ5Q2h1bmsp
ID0gZGVjb2RlR2l0QmluYXJ5UGF0Y2goJGNvbnRlbnRzLCAkZnVsbFBhdGgpOwotICAgICMgRklY
TUU6IHN1cHBvcnQgImRlbHRhIiB0eXBlLgotICAgIGRpZSAib25seSBsaXRlcmFsIHR5cGUgaXMg
c3VwcG9ydGVkIG5vdyIgaWYgKCRiaW5hcnlDaHVua1R5cGUgbmUgImxpdGVyYWwiIHx8ICRyZXZl
cnNlQmluYXJ5Q2h1bmtUeXBlIG5lICJsaXRlcmFsIik7CiAKICAgICBteSAkaXNGaWxlQWRkaXRp
b24gPSAkZGlmZkhhc2hSZWYtPntpc05ld307CiAgICAgbXkgJGlzRmlsZURlbGV0aW9uID0gJGRp
ZmZIYXNoUmVmLT57aXNEZWxldGlvbn07CkBAIC0yNTcsMTQgKzI1NSwyNiBAQCBzdWIgaGFuZGxl
R2l0QmluYXJ5Q2hhbmdlKCQkKQogICAgICAgICAkb3JpZ2luYWxDb250ZW50cyA9IGpvaW4oIiIs
IDxGSUxFPik7CiAgICAgICAgIGNsb3NlIEZJTEU7CiAgICAgfQotICAgIGRpZSAiT3JpZ2luYWwg
Y29udGVudCBvZiAkZnVsbFBhdGggbWlzbWF0Y2hlcyIgaWYgJG9yaWdpbmFsQ29udGVudHMgbmUg
JHJldmVyc2VCaW5hcnlDaHVuazsKKworICAgIGlmICgkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSBl
cSAibGl0ZXJhbCIpIHsKKyAgICAgICAgZGllICJPcmlnaW5hbCBjb250ZW50IG9mICRmdWxsUGF0
aCBtaXNtYXRjaGVzIiBpZiAkb3JpZ2luYWxDb250ZW50cyBuZSAkcmV2ZXJzZUJpbmFyeUNodW5r
OworICAgIH0KIAogICAgIGlmICgkaXNGaWxlRGVsZXRpb24pIHsKICAgICAgICAgc2NtUmVtb3Zl
KCRmdWxsUGF0aCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgIyBBZGRpdGlvbiBvciBNb2RpZmlj
YXRpb24KKyAgICAgICAgbXkgJG91dCA9ICIiOworICAgICAgICBpZiAoJGJpbmFyeUNodW5rVHlw
ZSBlcSAiZGVsdGEiKSB7CisgICAgICAgICAgICAkb3V0ID0gYXBwbHlHaXRCaW5hcnlQYXRjaERl
bHRhKCRiaW5hcnlDaHVuaywgJG9yaWdpbmFsQ29udGVudHMpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgJG91dCA9ICRiaW5hcnlDaHVuazsKKyAgICAgICAgfQorICAgICAgICBpZiAo
JHJldmVyc2VCaW5hcnlDaHVua1R5cGUgZXEgImRlbHRhIikgeworICAgICAgICAgICAgZGllICJP
cmlnaW5hbCBjb250ZW50IG9mICRmdWxsUGF0aCBtaXNtYXRjaGVzIiBpZiAkb3JpZ2luYWxDb250
ZW50cyBuZSBhcHBseUdpdEJpbmFyeVBhdGNoRGVsdGEoJHJldmVyc2VCaW5hcnlDaHVuaywgJG91
dCk7CisgICAgICAgIH0KICAgICAgICAgb3BlbiBGSUxFLCAiPiIsICRmdWxsUGF0aCBvciBkaWUg
IkZhaWxlZCB0byBvcGVuICRmdWxsUGF0aC4iOwotICAgICAgICBwcmludCBGSUxFICRiaW5hcnlD
aHVuazsKKyAgICAgICAgcHJpbnQgRklMRSAkb3V0OwogICAgICAgICBjbG9zZSBGSUxFOwogICAg
ICAgICBpZiAoJGlzRmlsZUFkZGl0aW9uKSB7CiAgICAgICAgICAgICBzY21BZGQoJGZ1bGxQYXRo
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78106</attachid>
            <date>2011-01-06 04:07:34 -0800</date>
            <delta_ts>2011-01-06 04:09:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38864-20110106230730.patch</filename>
            <type>text/plain</type>
            <size>12929</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNjYx
NjU3MjFjZGM1MWZjMTY1ZDE2YjhlYmE4OGMxYWQxMDRhNjUxLi5lOThjYzNmN2Q0ZGM2YzgwMDYx
MGNlODZhYjJmZTI2ZWExMjVkMzNhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDEzICsxLDMgQEAKLTIwMTEtMDEtMDQgIFNoYW5lIFN0ZXBo
ZW5zICA8c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgotCi0gICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgotCi0gICAgICAgIHN2bi1hcHBseTogc2hvdWxkIHN1cHBvcnQgZ2l0IGJp
bmFyeSBkZWx0YSBkaWZmcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Mzg4NjQKLQotICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06Ci0gICAgICAg
ICogU2NyaXB0cy9zdm4tYXBwbHk6Ci0KIDIwMTEtMDEtMDQgIFPDuHJlbiBHamVzc2UgIDxzZ2pl
c3NlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbSBiL1Rvb2xzL1NjcmlwdHMvVkNTVXRp
bHMucG0KaW5kZXggNjhjOThiOWY5YzRkZTE0MzI5MWUyYjZhNjQ4Nzk2M2MzODRmM2FmZS4uMDdm
ODkyMjZlNjc4ZDI4MzBmM2YwNjkzOWQyNzYyOGVkNjY4ZmZmZSAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy9WQ1NVdGlscy5wbQorKysgYi9Ub29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCkBAIC01
MCw3ICs1MCw2IEBAIEJFR0lOIHsKICAgICAgICAgJmNoYW5nZUxvZ0VtYWlsQWRkcmVzcwogICAg
ICAgICAmY2hhbmdlTG9nTmFtZQogICAgICAgICAmY2hkaXJSZXR1cm5pbmdSZWxhdGl2ZVBhdGgK
LSAgICAgICAgJmRlY29kZUdpdEJpbmFyeUNodW5rCiAgICAgICAgICZkZWNvZGVHaXRCaW5hcnlQ
YXRjaAogICAgICAgICAmZGV0ZXJtaW5lU1ZOUm9vdAogICAgICAgICAmZGV0ZXJtaW5lVkNTUm9v
dApAQCAtMTc3MCwzMiArMTc2OSwxMCBAQCBzdWIgZGVjb2RlR2l0QmluYXJ5UGF0Y2goJCQpCiAg
ICAgcmV0dXJuICgkYmluYXJ5Q2h1bmtUeXBlLCAkYmluYXJ5Q2h1bmssICRyZXZlcnNlQmluYXJ5
Q2h1bmtUeXBlLCAkcmV2ZXJzZUJpbmFyeUNodW5rKTsKIH0KIAotc3ViIGRlY29kZUdpdEJpbmFy
eVBhdGNoRGVsdGFTaXplKCQpCi17Ci0gIG15ICgkYmluYXJ5Q2h1bmspID0gQF87Ci0gIG15ICRj
bWQ7Ci0gIG15ICRzaXplID0gMDsKLSAgbXkgJHNoaWZ0ID0gMDsKLSAgZm9yIChteSAkaSA9IDA7
ICRpIDwgbGVuZ3RoKCRiaW5hcnlDaHVuayk7KSB7Ci0gICAgJGNtZCA9IG9yZChzdWJzdHIoJGJp
bmFyeUNodW5rLCAkaSsrLCAxKSk7Ci0gICAgJHNpemUgfD0gKCRjbWQgJiAweDdmKSA8PCAkc2hp
ZnQ7Ci0gICAgJHNoaWZ0ICs9IDc7Ci0gICAgaWYgKCEoJGNtZCAmIDB4ODApKSB7Ci0gICAgICBy
ZXR1cm4gKCRzaXplLCAkaSk7Ci0gICAgfQotICB9Ci19Ci0KIHN1YiBhcHBseUdpdEJpbmFyeVBh
dGNoRGVsdGEoJCQpCiB7CiAgICAgbXkgKCRiaW5hcnlDaHVuaywgJG9yaWdpbmFsQ29udGVudHMp
ID0gQF87CiAKLSAgICAjIHdlIGRvbid0IHVzZSB0aGVzZSBidXQgd2UgbmVlZCB0byBrbm93IGhv
dyBiaWcgdGhleSBhcmUKLSAgICBteSAoJHNpemUsICRieXRlc1VzZWQpID0gZGVjb2RlR2l0Qmlu
YXJ5UGF0Y2hEZWx0YVNpemUoJGJpbmFyeUNodW5rKTsKLSAgICAkYmluYXJ5Q2h1bmsgPSBzdWJz
dHIoJGJpbmFyeUNodW5rLCAkYnl0ZXNVc2VkKTsKLSAgICAoJHNpemUsICRieXRlc1VzZWQpID0g
ZGVjb2RlR2l0QmluYXJ5UGF0Y2hEZWx0YVNpemUoJGJpbmFyeUNodW5rKTsKLSAgICAkYmluYXJ5
Q2h1bmsgPSBzdWJzdHIoJGJpbmFyeUNodW5rLCAkYnl0ZXNVc2VkKTsKLQogICAgIG15ICRvdXQg
PSAiIjsKICAgICBmb3IgKG15ICRpID0gMDsgJGkgPCBsZW5ndGgoJGJpbmFyeUNodW5rKTsgKSB7
CiAgICAgICAgIG15ICRjbWQgPSBvcmQoc3Vic3RyKCRiaW5hcnlDaHVuaywgJGkrKywgMSkpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2Jp
bmFyeURlbHRhUGF0Y2gucGwgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5p
dHRlc3QvYmluYXJ5RGVsdGFQYXRjaC5wbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MTNjZGEwZTU0ZWY0NWU4MTljZTE5NjE4ODljOTMzYmY3NGZmODRiNy4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
VkNTVXRpbHNfdW5pdHRlc3QvYmluYXJ5RGVsdGFQYXRjaC5wbAorKysgL2Rldi9udWxsCkBAIC0x
LDE4MCArMCwwIEBACi0jIS91c3IvYmluL3BlcmwgLXcKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEx
IFNoYW5lIFN0ZXBoZW5zIChzaGFuZXN0ZXBoZW5zQGdvb2dsZS5jb20pCi0jCi0jIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMgCi0jIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
LSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0jIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0jIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKLSMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCi0jIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0j
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCi0jIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi11c2Ugc3RyaWN0OwotdXNlIHdhcm5pbmdz
OwotCi11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxOwotdXNlIFZDU1V0aWxzOwotCi0jIHN0YXJ0
aW5nIGRhdGEKLW15ICRpbnB1dCA9IGRlY29kZUdpdEJpbmFyeUNodW5rKDw8J0VORCcsCi16Y21l
STBgQlJlejhwbUlkU31PK0RxT2NzMlRER0s5MVQ0NSo0V1NlQClwRH5FeCFyQUNzekwkO2t7Q3o9
VH0tTTcKLXpzWT9ZIUFUd3JITTE+JHtFUXpyTTxQPkQoRyRiSnkyIX01cXgkbWBxTVctRXBgXkB2
eEd2OWVXXlVRcCYjenJGewotemR0TFNkMDAyNGxfMz9OQiohMityU2ZBWnZ7Y2R2YnooRSlRKmpy
OD01QzBwbjRpdSV9KjlOVj1qR0tQfGQqTHhRCi16e0RaJkV3elR3S1QrXnEwazk9cTU0Nmw3JFNA
RWtTTEF6Zz5hKFVeIzBGWkNpUEJ7UjhfSldOZ0BNWXZWRTEoYkkKLXo4UD0xfGhDLW5SYHdJfVAo
ZkwpQnAmVU9zRmhDdEVXcXJVRFJ8eUJaZjVBclo8WXBhaGxfI2ZkbnRUKikhX1gwQwoteiMoY3sp
Z00rfkBMYGQpNk05JXU9OVY8dCgpVkZjP0k7dSNOJDF8KGBIO1I3Xmc+V25yYXhfaURlfno9ZjlR
dGhHCi16MVUyMUVEVlV9M3M3OSl1JXpsaFIzSnJFRmEjUFExTUMyTTsyRjdCMHNGKHVQKUJfPzhU
VWVZWlY9UiVzZl9OM3AKLXpkSighS1BaRFFDJlpJJWd3bzFwMyU+fHNFQC1wUCN3a1cmQWU8d3pM
MjZrVFA5ZXZ+Nz5qV0t6eCZNcVREfipXUwoteiZgcWlsYiEpYyMxTGsyXipOfWc+LSopIUJPfiFT
d2czUEk4KXtDK0E5d31oQmVQfTEwemZyS18wREM2LXhOPCt1Ci16X2Zsd1FPUXlVTXkwb3JofDBs
VStoVGxLfSpZRzFFbis2aE9Vb3pEI15yO3ghLW4oVHQlYFFpPnp2Zkwlc2hUfV4KLXpnJComaTJ6
cTF4JTFWOVR4VVpVaFAyd0hJbTVZIzg+aD00eVdUcVQjTV9ASGE3TSQ7Mz5FXlNqWUBQdWEkaWRN
KAotekIlKTAxbX1uK0BCbXRALTV7cG0pX2BKYzV0fGJpQlBWJk5lcVhoZ3wwRjdHNFc0dFE8Uz5V
U3BqI1dXUjR0fUl6Ci16SmRfcj53X3goYmkxfEF2XjBhMCY9WSshNGBxeHtFXk11fXFPcW99T1RE
bkF9aHNfJngla1VvRE5lPzNrX0txeFAKLXpfWCVnWnY0UVEkPFdFK2NzX1BNKGFBUV9nSEN3eHp2
Rm5vZE4zbXJFKD09MmQkMj1XYnpIXmlkPU9ISGJhSzx5UAotej4mNHZyV3Z1M2BIPT19UCE5PDBS
KChvUVhHZXVvITl2cHNxTmJDbmlRJTx7OzwyIW5+VHNhYnlMZSE/K1ErcGxQCi16a3k3ITUlK1hH
eXpycmxidlhZV1NHSCUtM29sSEk9TUIrSCFAJiNlME49a09qTW0+VUZKUCVEak5pV1FjT1AxOTIK
LXpTSVcteT84ZSQrQitXdCFTP2B8JHlaQGJiP25wdHVoVWopeUBCbE8tQX1Ta2FHdWNVdl5rbHcl
QTJ4fHlzJmszQwotei1oTD5qQFJsJkZHcDRIazIjMiNLdHl6RFdvLXM0d2cyRnQ4O3w2STRULWFF
OSZuMyNXMkJIbXdEWntrYUc3czd9Ci16Y0tEVSgrVSF3KngxX180QVErZ0w9aHBvKURCME1DUn1z
fjU/UzZ2K2JGaFRheT9TPWQoRGJrZUxGa3E3bGRxaHsKLXpHaHxKSjUpJUdzdEl8PD0xS2RTZjhl
PDxaNTYzcDVeNG9iV157IUczVnFMPkVaSWR1Q1lVZ0lzWXg1b2l7NFJMNwotemFDI0FRKikqRDN7
Zys5LUxYWDE2WTBweUJBXjJ7Rz1yP3R5bnpEckZwbnlPbzRTWSpFKD5LcUgjKkA2S2Z7dHE5Ci16
JiF3ZkNufCpadSV7aE0kbUgxTzYhd0hmQmFAXmVOQmBaSCh2QTEjJCR0NHEpVVUxe25HVilKejEt
SX47WHtrUDUKLXpoPmJ6cnU+YmFMY0Rud1g0S0Y/bGt9PF5lZUxedVQjPiRzPGxRei1VMU5jSm8l
KF5zJjtadSM9RVFZNlVISnhoVQotejJvcFI5R3xHb3YtNERsZ0RAX197dkF2YHRqcm1tV0IpM30+
KyFUdn5pWDBVNGh1dEBydFpzIW5XJiYrNURmajBwCi16aVcxOFJsIzVLaFNedSlWNDBhbyo9azw8
K3ctcUB+ZnMlMjRafHUkSTZZcH4/RiFhc08mR35Yc0lnO3QoT3Z6dU0KLXpNcCNUfEdeVG42Q1lh
PjtNZDspcm9HdlU+Q2lWKU4reztATE93aWthcjkwRng7Qk00SEdAVnMxdUllOW9pfmdtdAotekxP
WmNYNURfcm5WUU5LUW4pOUlxRShsaG1AWEpMSkc+MVFudnBKS0M8O2NTMndrQDxWTXxTaTVGflFa
U00zVkVOCi16VDJAblptbEFXTS0kUygoUFZqJWM3SmNfO0xWaUsqWHklalBefl5DVV5fViUhVWA3
WnY1R1JYNnVrSnpXSSgzTT0KLXo/SWhsTzdPWmkjYjwwSlZjR0Y1IXdzTGBgKEoyTmxfcGJpZShk
fTBzaFcrfithZ1EqfWB8X1BkMUNLSHRqSE5hKAotem1IZ1dNbXUwRWo7K2ZTenRIYiVxeVcqP2k9
fTxhIUw3Q3h2TU47PEU4dSk+eSUtQy1ZdzhCfmU7MitrdXooPTBICi16RFg4VmYwalJ+T1pNYlgl
V35peEQpZDhUbWQqUj5fcHQkRE9XazErfi0oM2leMTFnZWYzaXN9PiQ4bz1aNUJRVkEKLXpTcGZM
RldDd09hKnR2dXEzd0E4bnYwJXI3S2F2SDh6ezgmVmEkUm5RVHpTX0IwSDtud0E4K35VLTFxK240
aHMzJgotRU5ECi0gICJmaWxlLnBuZyIpOwotCi0jIGV4cGVjdGVkIHJlc3VsdHMKLW15ICRleHBl
Y3RlZCA9IGRlY29kZUdpdEJpbmFyeUNodW5rKDw8J0VORCcsCi16Y21lSTA/Tl5oQjhPOSQjRTdT
PjlPOTNtU3RwaiRKUXMpZkhPSjN8JFFpPXA8bD9YXk9FTkBpX2x0Mj1Ka1JxRnoKLXpRb3VHJTBn
WXN1Jjc0en1TaWw1KWZGTE9eNWhjYXxpR19xZzEwaiRuTnI0ZFpLS34yUGNLQ0xrPiZ0IUwqU1VV
UQotej9rbE17PzJiNDB5YUBvbmo+SiFuZUZnd04/KlZ9S1g8elNHUFQ8PnRrcEt8ak48OC1RTmc0
LUlYSGt8JHlwRSh6Ci16RlhSNCs8KjtgYV8tWkE3dm1jeUYrY202Z0dgUXJXSjhxeGN3Rn5ZMGk7
TDFyKmJlfEBabzl6YDBHdFQjP1pBNXgKLXo0Kj1rN0cwVU01d180V01nJH5xeElmT2FkUzNYMGNf
ViY3VHNeJHw4Y0tzdW1yPHg7fDV1ZDxyWHEoaE5TdT0kewotej90PnlPR0A3VFBubjEtbD55UjJH
RExec1pTXzg2ZCZ5KFpoJEhaWnpaaTEpISVsdXloPmt+OEAzO00ybHpJZUFyCi16NlE4bHdCZFg0
PiMhU0YpNHlkSlNSWlRuKjhJazJXeylWIzw/KUJTfmd5Z0cjNERzK0Yre1JKLSs4fSpDQF9aV1QK
LXoyVnlQOHRqUlBVYT1IdDhhRmpoV2Q4KnRnNHdCTlpZZ15panhAXjU3S2ZgNl56Z2BlLUx8XyFH
TXFpZDw8PiRuaAotemljZXozYkVVajJTRDg+PzcpdFI+THw1Um1kdmhfKV9LXkVsU3hoRF5HUXlA
JERmfE5fSUZtYFNZenJVaHsjTnZPCi16dCY+WkB3NTJEfD0hJTZsckZpUH10MFR+NSY9T0AtYT43
NWByPFRnN0FHOz43VUcrMFZkbjtsP3ZtNU4hMXlVazgKLXotNWx1NUpZI2V7ZG5PNUFSPk1fYjVZ
aDxpMUdOJlNvZnFBUTk9OVdAeChBXi1iWVkhT0x3LTVnTCRiSWZtdzJfOQotejQ/NyhDbDd+JFR3
VmFKVCF3U0F6an1UZigqN2MoQTB4RF9vdnJfYStjVGVkTiV9Xz97PXpfSFlyOyQoQVV5ZHUmCi16
NjQoOTVwKnpwO2FqXzQkQnFnUUE7XzNpeitjYUg9VFVQVlBQRU8xUWNNbHxXYUZzR1Vxe1dXelJp
ezwlYjVmIWcKLXotT0gme2YmfG89PCshcEN7cXNEJl8zdT5panJvPHAtQU9nJkB2JGFHYUZwNHNs
SFFkVHNebT8oMihXWVhSYDNnPgotenlDLUpLOylPcUNkdEA3MHpWYUJgdjhQQnJUcl5IT1BLS3dy
ajhVcn1GSk1QPUpMVHd9OEk0PytMSyhNYjkxMXp0Ci16JHc9X24qSmdSQGF4JWtGKnVyTXh7MChk
PCZjMz1CYXxXcHIjP01rciVkUnI8NTRNYVIkRXIoJHR0PkJ7IX5fQHAKLXpHTTk1dSkkZU5EWVFw
ZXVST000VU9LflVWTXJ5fStBVVVaZng/KUZtTShPI0w/VXFIalR6X2tsaClwPSRJJiRmXgotenkz
cihKRH4qPGl7Qys9Y1RicUU2U2g0I0czXm5UN1JlZTtgekxhQG1tP21gVFhFWDtVKFQlbU1pQz5E
a3A5TTdZCi16SjJHNFBLWm5DX0p8KlhZIWljPTg0QW9SKlluPldfJXQ0SU55SFg7TWlCOEk9eWZ0
RGxCd0dGcW1LbWlSVnItQm0KLXpBK0UpK2soUTQ2ZkNKdl8qQTJgK21rPmppKX4qYFczQTYqPjd6
LVp1WGB2fG45Rk0+Vk45a2smc3paeVdLVShGbAotentFYTdiLShxc3NFOGcwUk4rbEJZIX1WZW11
QXklWlduaHZXMXl0PnpBTENsbDdTbClNbEJXVTFQMGEyMmRfMkJoCi16a318UG5hKD49PVpYJkNm
ZjMmeWpjSkFlPll3RlE9bjt2KHBoak8ybzVqcFpKYDB0YipkaUdCQW50M0JgU1I+JngKLXpuUERg
S2ZQWihTPV9sSGN3aj85bSNHKGpmR0ZWQD1WPWgmPGFJd3JeX1hjTndjalpGe3dNR3ZBJiFTSFFL
TDhtdwotenAtNV55Y3lXb3ZVd1E3dGliPGtoSW5CQCZkYlFubFE/UkJObyp7ciQ/VnR3PikxbE9E
KHpmZDAwX3Y+by1hQTMpCi16dVpyQjMtTVZSQz43QVNJZCoobFgjSXx4QzlpTVFWV3IrdCQySSFz
aj8lZGpJWFZxP2VHIykpRENZRDw3MC1tZzQKLXpsayRhVmRtfH50KWZSXnVwRjsrVCleY3BwM3ow
cjt2TCpLcTVkSmBkcUIpPXN5eX5jKC1GSWp5JDJzYEwxO29nJAoteis4bzR5QCQrdSotXn16ZiUp
cHxHQEc9ZEtIOWJMMEdQOFRXPlp+SkshPiV0R0h7ZCNATFo2Jm81clJ3eEpGWFgtCi16QiRvdzlC
SilMd14+Pzh+Vi1sb0Reb19zNGNJdClnJlY1KnRyfXctTGdoMG1jVUcyOFQ1Kk94dTRza0tsbFZv
SXgKLXomRigqcWJzcytITF5qbCMzZj99PWpmU1ojXzhmaGBgKD9FamM3I2Y9ZHNqZjVkQWdWXilQ
MWBASlRAWCFXciRuegotens4U15Hdm4pP0ZHZzh8dGdQYSQ2Szk9YmlYe3IrYGFJKGBqNHNMa3xJ
QzlTPkBidjxeY0FmQCsxMnRRTHd8MmkpCi16O2ZOTUhBWntAdUtNZDF2ZmhsRkotaGVzMD4oWG9B
Pi1ERGNLUnZ3P0JuWV51Wk5TJkMhTjNvSnViY2I1ZnEoZEkKLXVpcD54PG8zS2cyQ0l5PW1ZKk8o
NU0xZX18TVZXcXwpUlVNZWZBdFJsNXw4N0t3ZipJPG07TVhTbD1afmAKLUVORAotICAiZmlsZS5w
bmciKTsKLQotIyBwYXRjaCB0byB0ZXN0Ci1teSAoJGRlbHRhVHlwZSwgJGRlbHRhLCAkcmV2ZXJz
ZVR5cGUsICRyZXZlcnNlKSA9IGRlY29kZUdpdEJpbmFyeVBhdGNoKDw8J0VORCcsCi0KLUdJVCBi
aW5hcnkgcGF0Y2gKLWRlbHRhIDE1NzUKLXpjbVYrPzJINSR5QWhzWm9CIUIlJExfdCh8b2JCQ1Bj
SXdDaEt2Q1Q1UE19QWVsQFZ0TTxpaVEhQjJgZm0kSmRZUwotentuNSh9cUVyJFJKX3k/VmNELUlO
MDA0Q1Vgc0BoKzBRQHVwM2ppUHt1bUF2Slo8Rzdwem49Qj5fT3w7eXQ8bWoyCi16TCV3ejJaZzsp
Q3twWi0yTyM3OU14Knp8M29ZQnU7JHsoQkxtKSEkZi0pTzJNP1NDZTBrTVA/cW0lR3p5X3J+NDMK
LXpacXZLSmVmTlI4bGxqbjFKM0ckNTkmV2lffDkpdl47fXdsWS1ybl4tdEtIPnE2Vy1vQ1NxMTtN
ZXFEWSkpZ01tIwotej9Ve1ZALUNzOzZDUl9iUTJLO0MlMHJBUjRPXlBaUnxEKXxyXyhOQ3AjZUwt
YFlmLXhpeUdRbHpUaD52ZEpsd2VMCi16dXRTeUspPlU9PHprZTZXZVZYSyV2VGVCZXl8KVNNaFMj
TGhVWWpPQSkwMit+bGhnOVZOalEyKUlNaWd4cWcoeFMKLXp3eSo1UVB5Znw1ZFJKWSZXSXowfThM
anV2STlobG9DaSZANFhlZDd6VDhEUF4yUE1lNGsrO0cwdzRZdS11MngyUAotemViZVR5KlQzNlh4
bkJRMWJuV1ZQJWZuMCNUPzIhNmV+ciROdWxiNHpAUEYrYmRPMDBransySWYkek85O0BEPT04Ci16
VDwtbk4mQkc8QC03REM7N2QtQUN6UHNlWmh4KCY2ekNQNllKYV59PzlidFg4aXZ4fmtiI3dvMl81
UTx4cWt9JnoKLXp2LXwwQXdVXzNEb2NKMlkpMklJRkdgOUN7X3g1ZCk0fHtrITttSlBQez05TlAt
b3t4dSVqV2x2UFR0WWhqZk9nTwotejxYYHA8KVBMPSElfnZgKHUlQislY0E1NDR2JTh9Qy1uY2lK
XkpSMVZvSCtRTzh0dXZacFYhYSY/Y18oeDlOa2ZTCi16Qm04elg9PkY/YStwazdGVDxiYj84Ul5o
dnJ9dT8tem5rVXE2JSRLPWJ2cnJsZTs2KEJAWXU8IyQhT1RvbWw5cWQKLXpZSkh4JldBNlVFSU5T
OUJTMnA+JmBOciNzIUFHK2laUENZVilQSHRHYjFQNSU/aykyez0xMHE5dzkhN2ktYD4lLQotelBq
PU0kU3ZEREp3MH1uYmB0OyRXLUYwKCtgKUhZIWx9LS1xbUYrdEVeWE5FU0psTTg3O2RieHF7ZEIq
VWBCfVhDCi16XlptbXxkdiRXd0tOeE09OyRidGAhMk9RfT8/MCFUZH1lcEZhIXlweT9zdjEpNj8w
MzBIRl56UVMjb1JnMy0jekwKLXooU1Babyk/WV9QSD1mOVhAciVuI1UhSGgpV2p2SEdsTHhNXmVL
aGo9MihScGMtR2xTI0V0ZXh0PD9iSGQ5cVBuQgotem9GQnZJJmEmTktYfTd0fTUxNk8zVEE5RjhE
PVZHTWI3aX0+Q1NgbkMqeE0oYmlgX0lsVkttTnR4S0FjTE4mSSQ3Ci16cXg0QEc/WUhZdkE2aE52
IygoJjMqNnBBNT9EJGJ1S1l0PmV5UGQlMiFzWER6VW01RTNpdGdQO2NybEZiWFNLZk0KLXo/SmVv
enFoNWF7Sj9HRF9jbCtjJWVZKjNmQGBSKCR7LUtBUV9JZU47SnkyZz8+Qm8ofkp4LTNrO3l2dCNi
TmdwXgotejxpIWJwa1psQy1FXn4wcTR7dyk7M3VkUVJTQj05QClkYmUlPEBhalVUZkxgNHl8fCll
aEoyOVMlTnYpJHZ3IXYtCi16cFVVdHdWYk9fS2xHbjU4bEBVSmxAYzI1JS1vdk1kaGFQelV1Y3hj
WG0kNylOYEFoQ0E/fmBffiYoOXllZSo1QjMKLXo9ak01STQoQTQoRlMmY1FlfExlPUU4eXFAajs5
WWlJQFF4bG8tPXZzbGMofn57NzFpVHg4dDBjP1RMTVVgdVV4Jgotel55IyktVWJ9cDx5Wj1XWT1S
TXU3JCp6N0ZYTWNDJGBLJVRmSzU9ZFNeJUxqWjIrNXxNeztjcGFFfHZHM3g8JUZkCi16Vncxblph
S2U0R2pzOWVWa1llNWJTMmI1WSNsSyYyX3AxUV5UZ1VJJCh6Z3FiWlc7WnFJejgwbEpRdWgwVmZv
MnkKLXpDaitqfT5pKEFQUzIwR0BtPUNfWWl1OzQlQlIxK2B7S2FFekd7fldZVktsPC1RQE9qUGhn
Tmh5IWhoKTRVZkVHQQotek5BSm9zKWB3bFpha1B0V19hMigrPylXUmAqVkV9dVIoY3NjT31uJDJa
fH1vfnVSTEZlKHMxXy05Y3w5VEpoISl1Ci16NCgkMD0oKXAmWEE0fnRlWXY7U3x5TUhBOHZpYXo2
e1haZGBVKzd4QE9ZVzF1QGN1Qil4aT5UWEpkVDYhWEIxZVUKLXpINlBnWmBlRXQ3e0BIJXlBMyUz
fmkjezgjVSpGOD1PfTZLZUZDe3I5OW9YelReIzhHZSYqSnMjK245ZSl2VT9aJgotemQ3fWdNKyZJ
Wmx7NS1HeGx+TVJKMVFxfjV0b2c0OTBSWHJXbGZlanY3eUM4OGB8WTFeZWBYIyghMVcqMyZ6PUdS
Ci16QEZsb3t2ciExVjBTdFMpVWF5fSQyTE9OeyNUQiFXMkI4NzYyUW1TJjJRbVMmMlFtUyYyUW1T
JjJRbVNZMlNediMKLVp6WDVqS0EjU2AkV3poZnQwMDJvdlBESExrVjFscE5iTDBSMwotCi1saXRl
cmFsIDQxNTIKLXpjbWVJMGBCUmV6OHBtSWRTfU8rRHFPY3MyVERHSzkxVDQ1KjRXU2VAKXBEfkV4
IXJBQ3N6TCQ7a3tDej1UfS1NNwotenNZP1khQVR3ckhNMT4ke0VRenJNPFA+RChHJGJKeTIhfTVx
eCRtYHFNVy1FcGBeQHZ4R3Y5ZVdeVVFwJiN6ckZ7Ci16ZHRMU2QwMDI0bF8zP05CKiEyK3JTZkFa
dntjZHZieihFKVEqanI4PTVDMHBuNGl1JX0qOU5WPWpHS1B8ZCpMeFEKLXp7RFomRXd6VHdLVCte
cTBrOT1xNTQ2bDckU0BFa1NMQXpnPmEoVV4jMEZaQ2lQQntSOF9KV05nQE1ZdlZFMShiSQotejhQ
PTF8aEMtblJgd0l9UChmTClCcCZVT3NGaEN0RVdxclVEUnx5QlpmNUFyWjxZcGFobF8jZmRudFQq
KSFfWDBDCi16IyhjeylnTSt+QExgZCk2TTkldT05Vjx0KClWRmM/STt1I04kMXwoYEg7UjdeZz5X
bnJheF9pRGV+ej1mOVF0aEcKLXoxVTIxRURWVX0zczc5KXUlemxoUjNKckVGYSNQUTFNQzJNOzJG
N0Iwc0YodVApQl8/OFRVZVlaVj1SJXNmX04zcAotemRKKCFLUFpEUUMmWkklZ3dvMXAzJT58c0VA
LXBQI3drVyZBZTx3ekwyNmtUUDlldn43PmpXS3p4Jk1xVER+KldTCi16JmBxaWxiISljIzFMazJe
Kk59Zz4tKikhQk9+IVN3ZzNQSTgpe0MrQTl3fWhCZVB9MTB6ZnJLXzBEQzYteE48K3UKLXpfZmx3
UU9ReVVNeTBvcmh8MGxVK2hUbEt9KllHMUVuKzZoT1VvekQjXnI7eCEtbihUdCVgUWk+enZmTCVz
aFR9XgotemckKiZpMnpxMXglMVY5VHhVWlVoUDJ3SEltNVkjOD5oPTR5V1RxVCNNX0BIYTdNJDsz
PkVeU2pZQFB1YSRpZE0oCi16QiUpMDFtfW4rQEJtdEAtNXtwbSlfYEpjNXR8YmlCUFYmTmVxWGhn
fDBGN0c0VzR0UTxTPlVTcGojV1dSNHR9SXoKLXpKZF9yPndfeChiaTF8QXZeMGEwJj1ZKyE0YHF4
e0VeTXV9cU9xb31PVERuQX1oc18meCVrVW9ETmU/M2tfS3F4UAotel9YJWdadjRRUSQ8V0UrY3Nf
UE0oYUFRX2dIQ3d4enZGbm9kTjNtckUoPT0yZCQyPVdiekheaWQ9T0hIYmFLPHlQCi16PiY0dnJX
dnUzYEg9PX1QITk8MFIoKG9RWEdldW8hOXZwc3FOYkNuaVElPHs7PDIhbn5Uc2FieUxlIT8rUStw
bFAKLXpreTchNSUrWEd5enJybGJ2WFlXU0dIJS0zb2xIST1NQitIIUAmI2UwTj1rT2pNbT5VRkpQ
JURqTmlXUWNPUDE5MgotelNJVy15PzhlJCtCK1d0IVM/YHwkeVpAYmI/bnB0dWhVail5QEJsTy1B
fVNrYUd1Y1V2XmtsdyVBMnh8eXMmazNDCi16LWhMPmpAUmwmRkdwNEhrMiMyI0t0eXpEV28tczR3
ZzJGdDg7fDZJNFQtYUU5Jm4zI1cyQkhtd0Rae2thRzdzN30KLXpjS0RVKCtVIXcqeDFfXzRBUStn
TD1ocG8pREIwTUNSfXN+NT9TNnYrYkZoVGF5P1M9ZChEYmtlTEZrcTdsZHFoewotekdofEpKNSkl
R3N0SXw8PTFLZFNmOGU8PFo1NjNwNV40b2JXXnshRzNWcUw+RVpJZHVDWVVnSXNZeDVvaXs0Ukw3
Ci16YUMjQVEqKSpEM3tnKzktTFhYMTZZMHB5QkFeMntHPXI/dHluekRyRnBueU9vNFNZKkUoPktx
SCMqQDZLZnt0cTkKLXomIXdmQ258Klp1JXtoTSRtSDFPNiF3SGZCYUBeZU5CYFpIKHZBMSMkJHQ0
cSlVVTF7bkdWKUp6MS1JfjtYe2tQNQotemg+YnpydT5iYUxjRG53WDRLRj9sa308XmVlTF51VCM+
JHM8bFF6LVUxTmNKbyUoXnMmO1p1Iz1FUVk2VUhKeGhVCi16Mm9wUjlHfEdvdi00RGxnREBfX3t2
QXZgdGpybW1XQikzfT4rIVR2fmlYMFU0aHV0QHJ0WnMhblcmJis1RGZqMHAKLXppVzE4UmwjNUto
U151KVY0MGFvKj1rPDwrdy1xQH5mcyUyNFp8dSRJNllwfj9GIWFzTyZHflhzSWc7dChPdnp1TQot
ek1wI1R8R15UbjZDWWE+O01kOylyb0d2VT5DaVYpTit7O0BMT3dpa2FyOTBGeDtCTTRIR0BWczF1
SWU5b2l+Z210Ci16TE9aY1g1RF9yblZRTktRbik5SXFFKGxobUBYSkxKRz4xUW52cEpLQzw7Y1My
d2tAPFZNfFNpNUZ+UVpTTTNWRU4KLXpUMkBuWm1sQVdNLSRTKChQVmolYzdKY187TFZpSypYeSVq
UF5+XkNVXl9WJSFVYDdadjVHUlg2dWtKeldJKDNNPQotej9JaGxPN09aaSNiPDBKVmNHRjUhd3NM
YGAoSjJObF9wYmllKGR9MHNoVyt+K2FnUSp9YHxfUGQxQ0tIdGpITmEoCi16bUhnV01tdTBFajsr
ZlN6dEhiJXF5Vyo/aT19PGEhTDdDeHZNTjs8RTh1KT55JS1DLVl3OEJ+ZTsyK2t1eig9MEgKLXpE
WDhWZjBqUn5PWk1iWCVXfml4RClkOFRtZCpSPl9wdCRET1drMSt+LSgzaV4xMWdlZjNpc30+JDhv
PVo1QlFWQQotelNwZkxGV0N3T2EqdHZ1cTN3QThudjAlcjdLYXZIOHp7OCZWYSRSblFUelNfQjBI
O253QTgrflUtMXErbjRoczMmCi0KLUVORAotICAsICJmaWxlLnBuZyIpOwotCi1teSAkb3V0cHV0
ID0gYXBwbHlHaXRCaW5hcnlQYXRjaERlbHRhKCRkZWx0YSwgJGlucHV0KTsKLWlzICgkb3V0cHV0
LCAgJGV4cGVjdGVkLCAiYXBwbHkgZGVsdGEgcGF0Y2ggdG8gYmluYXJ5IikgOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78107</attachid>
            <date>2011-01-06 04:09:39 -0800</date>
            <delta_ts>2011-01-06 04:12:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38864-20110106230935.patch</filename>
            <type>text/plain</type>
            <size>17355</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlOThj
YzNmN2Q0ZGM2YzgwMDYxMGNlODZhYjJmZTI2ZWExMjVkMzNhLi4wNjYxNjU3MjFjZGM1MWZjMTY1
ZDE2YjhlYmE4OGMxYWQxMDRhNjUxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDEtMDQgIFNoYW5lIFN0ZXBo
ZW5zICA8c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIHN2bi1hcHBseTogc2hvdWxkIHN1cHBvcnQgZ2l0IGJp
bmFyeSBkZWx0YSBkaWZmcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Mzg4NjQKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAg
ICogU2NyaXB0cy9zdm4tYXBwbHk6CisKIDIwMTEtMDEtMDQgIFPDuHJlbiBHamVzc2UgIDxzZ2pl
c3NlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbSBiL1Rvb2xzL1NjcmlwdHMvVkNTVXRp
bHMucG0KaW5kZXggNzhiYTIxNzZhYjBkYTRmMDA4NTVhNDg4NmJmZjQzZTdiZTEwZmQzMS4uNjhj
OThiOWY5YzRkZTE0MzI5MWUyYjZhNjQ4Nzk2M2MzODRmM2FmZSAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy9WQ1NVdGlscy5wbQorKysgYi9Ub29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCkBAIC00
NCwxMSArNDQsMTMgQEAgQkVHSU4gewogICAgICRWRVJTSU9OICAgICA9IDEuMDA7CiAgICAgQElT
QSAgICAgICAgID0gcXcoRXhwb3J0ZXIpOwogICAgIEBFWFBPUlQgICAgICA9IHF3KAorICAgICAg
ICAmYXBwbHlHaXRCaW5hcnlQYXRjaERlbHRhCiAgICAgICAgICZjYWxsU2lsZW50bHkKICAgICAg
ICAgJmNhbm9uaWNhbGl6ZVBhdGgKICAgICAgICAgJmNoYW5nZUxvZ0VtYWlsQWRkcmVzcwogICAg
ICAgICAmY2hhbmdlTG9nTmFtZQogICAgICAgICAmY2hkaXJSZXR1cm5pbmdSZWxhdGl2ZVBhdGgK
KyAgICAgICAgJmRlY29kZUdpdEJpbmFyeUNodW5rCiAgICAgICAgICZkZWNvZGVHaXRCaW5hcnlQ
YXRjaAogICAgICAgICAmZGV0ZXJtaW5lU1ZOUm9vdAogICAgICAgICAmZGV0ZXJtaW5lVkNTUm9v
dApAQCAtMTc0Miw3ICsxNzQ0LDYgQEAgc3ViIGRlY29kZUdpdEJpbmFyeVBhdGNoKCQkKQogICAg
ICMKICAgICAjIEVhY2ggY2h1bmsgYSBsaW5lIHdoaWNoIHN0YXJ0cyBmcm9tIGVpdGhlciAibGl0
ZXJhbCIgb3IgImRlbHRhIiwKICAgICAjIGZvbGxvd2VkIGJ5IGEgbnVtYmVyIHdoaWNoIHNwZWNp
ZmllcyBkZWNvZGVkIHNpemUgb2YgdGhlIGNodW5rLgotICAgICMgVGhlICJkZWx0YSIgdHlwZSBj
aHVua3MgYXJlbid0IHN1cHBvcnRlZCBieSB0aGlzIGZ1bmN0aW9uIHlldC4KICAgICAjCiAgICAg
IyBUaGVuLCBjb250ZW50IG9mIHRoZSBjaHVuayBjb21lcy4gVG8gZGVjb2RlIHRoZSBjb250ZW50
LCB3ZQogICAgICMgbmVlZCBkZWNvZGUgaXQgd2l0aCBiYXNlODUgZmlyc3QsIGFuZCB0aGVuIHps
aWIuCkBAIC0xNzYzLDEwICsxNzY0LDYyIEBAIHN1YiBkZWNvZGVHaXRCaW5hcnlQYXRjaCgkJCkK
ICAgICBteSAkcmV2ZXJzZUJpbmFyeUNodW5rID0gZGVjb2RlR2l0QmluYXJ5Q2h1bmsoJGVuY29k
ZWRSZXZlcnNlQ2h1bmssICRmdWxsUGF0aCk7CiAgICAgbXkgJHJldmVyc2VCaW5hcnlDaHVua0Fj
dHVhbFNpemUgPSBsZW5ndGgoJHJldmVyc2VCaW5hcnlDaHVuayk7CiAKLSAgICBkaWUgIiRmdWxs
UGF0aDogdW5leHBlY3RlZCBzaXplIG9mIHRoZSBmaXJzdCBjaHVuayAoZXhwZWN0ZWQgJGJpbmFy
eUNodW5rRXhwZWN0ZWRTaXplIGJ1dCB3YXMgJGJpbmFyeUNodW5rQWN0dWFsU2l6ZSIgaWYgKCRi
aW5hcnlDaHVua0V4cGVjdGVkU2l6ZSAhPSAkYmluYXJ5Q2h1bmtBY3R1YWxTaXplKTsKLSAgICBk
aWUgIiRmdWxsUGF0aDogdW5leHBlY3RlZCBzaXplIG9mIHRoZSBzZWNvbmQgY2h1bmsgKGV4cGVj
dGVkICRyZXZlcnNlQmluYXJ5Q2h1bmtFeHBlY3RlZFNpemUgYnV0IHdhcyAkcmV2ZXJzZUJpbmFy
eUNodW5rQWN0dWFsU2l6ZSIgaWYgKCRyZXZlcnNlQmluYXJ5Q2h1bmtFeHBlY3RlZFNpemUgIT0g
JHJldmVyc2VCaW5hcnlDaHVua0FjdHVhbFNpemUpOworICAgIGRpZSAiJGZ1bGxQYXRoOiB1bmV4
cGVjdGVkIHNpemUgb2YgdGhlIGZpcnN0IGNodW5rIChleHBlY3RlZCAkYmluYXJ5Q2h1bmtFeHBl
Y3RlZFNpemUgYnV0IHdhcyAkYmluYXJ5Q2h1bmtBY3R1YWxTaXplIiBpZiAoJGJpbmFyeUNodW5r
VHlwZSBlcSAibGl0ZXJhbCIgYW5kICRiaW5hcnlDaHVua0V4cGVjdGVkU2l6ZSAhPSAkYmluYXJ5
Q2h1bmtBY3R1YWxTaXplKTsKKyAgICBkaWUgIiRmdWxsUGF0aDogdW5leHBlY3RlZCBzaXplIG9m
IHRoZSBzZWNvbmQgY2h1bmsgKGV4cGVjdGVkICRyZXZlcnNlQmluYXJ5Q2h1bmtFeHBlY3RlZFNp
emUgYnV0IHdhcyAkcmV2ZXJzZUJpbmFyeUNodW5rQWN0dWFsU2l6ZSIgaWYgKCRyZXZlcnNlQmlu
YXJ5Q2h1bmtUeXBlIGVxICJsaXRlcmFsIiBhbmQgJHJldmVyc2VCaW5hcnlDaHVua0V4cGVjdGVk
U2l6ZSAhPSAkcmV2ZXJzZUJpbmFyeUNodW5rQWN0dWFsU2l6ZSk7CiAKICAgICByZXR1cm4gKCRi
aW5hcnlDaHVua1R5cGUsICRiaW5hcnlDaHVuaywgJHJldmVyc2VCaW5hcnlDaHVua1R5cGUsICRy
ZXZlcnNlQmluYXJ5Q2h1bmspOwogfQogCitzdWIgZGVjb2RlR2l0QmluYXJ5UGF0Y2hEZWx0YVNp
emUoJCkKK3sKKyAgbXkgKCRiaW5hcnlDaHVuaykgPSBAXzsKKyAgbXkgJGNtZDsKKyAgbXkgJHNp
emUgPSAwOworICBteSAkc2hpZnQgPSAwOworICBmb3IgKG15ICRpID0gMDsgJGkgPCBsZW5ndGgo
JGJpbmFyeUNodW5rKTspIHsKKyAgICAkY21kID0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRp
KyssIDEpKTsKKyAgICAkc2l6ZSB8PSAoJGNtZCAmIDB4N2YpIDw8ICRzaGlmdDsKKyAgICAkc2hp
ZnQgKz0gNzsKKyAgICBpZiAoISgkY21kICYgMHg4MCkpIHsKKyAgICAgIHJldHVybiAoJHNpemUs
ICRpKTsKKyAgICB9CisgIH0KK30KKworc3ViIGFwcGx5R2l0QmluYXJ5UGF0Y2hEZWx0YSgkJCkK
K3sKKyAgICBteSAoJGJpbmFyeUNodW5rLCAkb3JpZ2luYWxDb250ZW50cykgPSBAXzsKKworICAg
ICMgd2UgZG9uJ3QgdXNlIHRoZXNlIGJ1dCB3ZSBuZWVkIHRvIGtub3cgaG93IGJpZyB0aGV5IGFy
ZQorICAgIG15ICgkc2l6ZSwgJGJ5dGVzVXNlZCkgPSBkZWNvZGVHaXRCaW5hcnlQYXRjaERlbHRh
U2l6ZSgkYmluYXJ5Q2h1bmspOworICAgICRiaW5hcnlDaHVuayA9IHN1YnN0cigkYmluYXJ5Q2h1
bmssICRieXRlc1VzZWQpOworICAgICgkc2l6ZSwgJGJ5dGVzVXNlZCkgPSBkZWNvZGVHaXRCaW5h
cnlQYXRjaERlbHRhU2l6ZSgkYmluYXJ5Q2h1bmspOworICAgICRiaW5hcnlDaHVuayA9IHN1YnN0
cigkYmluYXJ5Q2h1bmssICRieXRlc1VzZWQpOworCisgICAgbXkgJG91dCA9ICIiOworICAgIGZv
ciAobXkgJGkgPSAwOyAkaSA8IGxlbmd0aCgkYmluYXJ5Q2h1bmspOyApIHsKKyAgICAgICAgbXkg
JGNtZCA9IG9yZChzdWJzdHIoJGJpbmFyeUNodW5rLCAkaSsrLCAxKSk7CisgICAgICAgIGlmICgk
Y21kICYgMHg4MCkgeworICAgICAgICAgICAgbXkgJGNwT2ZmID0gMDsKKyAgICAgICAgICAgIG15
ICRjcFNpemUgPSAwOworICAgICAgICAgICAgaWYgKCRjbWQgJiAweDAxKSB7ICRjcE9mZiA9IG9y
ZChzdWJzdHIoJGJpbmFyeUNodW5rLCAkaSsrLCAxKSk7IH0KKyAgICAgICAgICAgIGlmICgkY21k
ICYgMHgwMikgeyAkY3BPZmYgfD0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKSA8
PCA4OyB9CisgICAgICAgICAgICBpZiAoJGNtZCAmIDB4MDQpIHsgJGNwT2ZmIHw9IG9yZChzdWJz
dHIoJGJpbmFyeUNodW5rLCAkaSsrLCAxKSkgPDwgMTY7IH0KKyAgICAgICAgICAgIGlmICgkY21k
ICYgMHgwOCkgeyAkY3BPZmYgfD0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKSA8
PCAyNDsgfQorICAgICAgICAgICAgaWYgKCRjbWQgJiAweDEwKSB7ICRjcFNpemUgPSBvcmQoc3Vi
c3RyKCRiaW5hcnlDaHVuaywgJGkrKywgMSkpOyB9CisgICAgICAgICAgICBpZiAoJGNtZCAmIDB4
MjApIHsgJGNwU2l6ZSB8PSBvcmQoc3Vic3RyKCRiaW5hcnlDaHVuaywgJGkrKywgMSkpIDw8IDg7
IH0KKyAgICAgICAgICAgIGlmICgkY21kICYgMHg0MCkgeyAkY3BTaXplIHw9IG9yZChzdWJzdHIo
JGJpbmFyeUNodW5rLCAkaSsrLCAxKSkgPDwgMTY7IH0KKyAgICAgICAgICAgIGlmICgkY3BTaXpl
ID09IDApIHsgJGNwU2l6ZSA9IDB4MTAwMDA7IH0KKyAgICAgICAgICAgICRvdXQgLj0gc3Vic3Ry
KCRvcmlnaW5hbENvbnRlbnRzLCAkY3BPZmYsICRjcFNpemUpOworICAgICAgICB9IGVsc2lmICgk
Y21kKSB7CisgICAgICAgICAgICAkb3V0IC49IHN1YnN0cigkYmluYXJ5Q2h1bmssICRpLCAkY21k
KTsKKyAgICAgICAgICAgICRpICs9ICRjbWQ7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBkaWUgInVuZXhwZWN0ZWQgZGVsdGEgb3Bjb2RlIDAiOworICAgICAgICB9CisgICAgfQorCisg
ICAgcmV0dXJuICRvdXQ7Cit9CisKIDE7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3N2bi1h
cHBseSBiL1Rvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CmluZGV4IGNhYjdmYjQwZTcxNzM0MTM2ZjZm
ZmQ1NzMyZjViOGQ4MjAyZTI5NDIuLjBjMmU1ZTUxMDZkNWQyZjAyMzdlMmJlYWUxOTNmYmE2MzRm
Mzg4MWIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvc3ZuLWFwcGx5CkBAIC0yNDQsOCArMjQ0LDYgQEAgc3ViIGhhbmRsZUdpdEJpbmFyeUNo
YW5nZSgkJCkKICAgICBteSAkY29udGVudHMgPSAkZGlmZkhhc2hSZWYtPntzdm5Db252ZXJ0ZWRU
ZXh0fTsKIAogICAgIG15ICgkYmluYXJ5Q2h1bmtUeXBlLCAkYmluYXJ5Q2h1bmssICRyZXZlcnNl
QmluYXJ5Q2h1bmtUeXBlLCAkcmV2ZXJzZUJpbmFyeUNodW5rKSA9IGRlY29kZUdpdEJpbmFyeVBh
dGNoKCRjb250ZW50cywgJGZ1bGxQYXRoKTsKLSAgICAjIEZJWE1FOiBzdXBwb3J0ICJkZWx0YSIg
dHlwZS4KLSAgICBkaWUgIm9ubHkgbGl0ZXJhbCB0eXBlIGlzIHN1cHBvcnRlZCBub3ciIGlmICgk
YmluYXJ5Q2h1bmtUeXBlIG5lICJsaXRlcmFsIiB8fCAkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSBu
ZSAibGl0ZXJhbCIpOwogCiAgICAgbXkgJGlzRmlsZUFkZGl0aW9uID0gJGRpZmZIYXNoUmVmLT57
aXNOZXd9OwogICAgIG15ICRpc0ZpbGVEZWxldGlvbiA9ICRkaWZmSGFzaFJlZi0+e2lzRGVsZXRp
b259OwpAQCAtMjU3LDE0ICsyNTUsMjYgQEAgc3ViIGhhbmRsZUdpdEJpbmFyeUNoYW5nZSgkJCkK
ICAgICAgICAgJG9yaWdpbmFsQ29udGVudHMgPSBqb2luKCIiLCA8RklMRT4pOwogICAgICAgICBj
bG9zZSBGSUxFOwogICAgIH0KLSAgICBkaWUgIk9yaWdpbmFsIGNvbnRlbnQgb2YgJGZ1bGxQYXRo
IG1pc21hdGNoZXMiIGlmICRvcmlnaW5hbENvbnRlbnRzIG5lICRyZXZlcnNlQmluYXJ5Q2h1bms7
CisKKyAgICBpZiAoJHJldmVyc2VCaW5hcnlDaHVua1R5cGUgZXEgImxpdGVyYWwiKSB7CisgICAg
ICAgIGRpZSAiT3JpZ2luYWwgY29udGVudCBvZiAkZnVsbFBhdGggbWlzbWF0Y2hlcyIgaWYgJG9y
aWdpbmFsQ29udGVudHMgbmUgJHJldmVyc2VCaW5hcnlDaHVuazsKKyAgICB9CiAKICAgICBpZiAo
JGlzRmlsZURlbGV0aW9uKSB7CiAgICAgICAgIHNjbVJlbW92ZSgkZnVsbFBhdGgpOwogICAgIH0g
ZWxzZSB7CiAgICAgICAgICMgQWRkaXRpb24gb3IgTW9kaWZpY2F0aW9uCisgICAgICAgIG15ICRv
dXQgPSAiIjsKKyAgICAgICAgaWYgKCRiaW5hcnlDaHVua1R5cGUgZXEgImRlbHRhIikgeworICAg
ICAgICAgICAgJG91dCA9IGFwcGx5R2l0QmluYXJ5UGF0Y2hEZWx0YSgkYmluYXJ5Q2h1bmssICRv
cmlnaW5hbENvbnRlbnRzKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICRvdXQgPSAk
YmluYXJ5Q2h1bms7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCRyZXZlcnNlQmluYXJ5Q2h1bmtU
eXBlIGVxICJkZWx0YSIpIHsKKyAgICAgICAgICAgIGRpZSAiT3JpZ2luYWwgY29udGVudCBvZiAk
ZnVsbFBhdGggbWlzbWF0Y2hlcyIgaWYgJG9yaWdpbmFsQ29udGVudHMgbmUgYXBwbHlHaXRCaW5h
cnlQYXRjaERlbHRhKCRyZXZlcnNlQmluYXJ5Q2h1bmssICRvdXQpOworICAgICAgICB9CiAgICAg
ICAgIG9wZW4gRklMRSwgIj4iLCAkZnVsbFBhdGggb3IgZGllICJGYWlsZWQgdG8gb3BlbiAkZnVs
bFBhdGguIjsKLSAgICAgICAgcHJpbnQgRklMRSAkYmluYXJ5Q2h1bms7CisgICAgICAgIHByaW50
IEZJTEUgJG91dDsKICAgICAgICAgY2xvc2UgRklMRTsKICAgICAgICAgaWYgKCRpc0ZpbGVBZGRp
dGlvbikgewogICAgICAgICAgICAgc2NtQWRkKCRmdWxsUGF0aCk7CmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvYmluYXJ5RGVsdGFQYXRjaC5w
bCBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9iaW5hcnlEZWx0
YVBhdGNoLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzY2RhMGU1NGVmNDVlODE5Y2UxOTYxODg5YzkzM2JmNzRm
Zjg0YjcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRp
bHNfdW5pdHRlc3QvYmluYXJ5RGVsdGFQYXRjaC5wbApAQCAtMCwwICsxLDE4MCBAQAorIyEvdXNy
L2Jpbi9wZXJsIC13CisjCisjIENvcHlyaWdodCAoQykgMjAxMSBTaGFuZSBTdGVwaGVucyAoc2hh
bmVzdGVwaGVuc0Bnb29nbGUuY29tKQorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFy
ZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjIAorIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
KyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisjIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorIyBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworIyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKKwordXNlIFRlc3Q6Ok1vcmUg
dGVzdHMgPT4gMTsKK3VzZSBWQ1NVdGlsczsKKworIyBzdGFydGluZyBkYXRhCitteSAkaW5wdXQg
PSBkZWNvZGVHaXRCaW5hcnlDaHVuayg8PCdFTkQnLAoremNtZUkwYEJSZXo4cG1JZFN9TytEcU9j
czJUREdLOTFUNDUqNFdTZUApcER+RXghckFDc3pMJDtre0N6PVR9LU03Cit6c1k/WSFBVHdySE0x
PiR7RVF6ck08UD5EKEckYkp5MiF9NXF4JG1gcU1XLUVwYF5AdnhHdjllV15VUXAmI3pyRnsKK3pk
dExTZDAwMjRsXzM/TkIqITIrclNmQVp2e2NkdmJ6KEUpUSpqcjg9NUMwcG40aXUlfSo5TlY9akdL
UHxkKkx4UQorentEWiZFd3pUd0tUK15xMGs5PXE1NDZsNyRTQEVrU0xBemc+YShVXiMwRlpDaVBC
e1I4X0pXTmdATVl2VkUxKGJJCit6OFA9MXxoQy1uUmB3SX1QKGZMKUJwJlVPc0ZoQ3RFV3FyVURS
fHlCWmY1QXJaPFlwYWhsXyNmZG50VCopIV9YMEMKK3ojKGN7KWdNK35ATGBkKTZNOSV1PTlWPHQo
KVZGYz9JO3UjTiQxfChgSDtSN15nPlducmF4X2lEZX56PWY5UXRoRworejFVMjFFRFZVfTNzNzkp
dSV6bGhSM0pyRUZhI1BRMU1DMk07MkY3QjBzRih1UClCXz84VFVlWVpWPVIlc2ZfTjNwCit6ZEoo
IUtQWkRRQyZaSSVnd28xcDMlPnxzRUAtcFAjd2tXJkFlPHd6TDI2a1RQOWV2fjc+aldLengmTXFU
RH4qV1MKK3omYHFpbGIhKWMjMUxrMl4qTn1nPi0qKSFCT34hU3dnM1BJOCl7QytBOXd9aEJlUH0x
MHpmcktfMERDNi14TjwrdQorel9mbHdRT1F5VU15MG9yaHwwbFUraFRsS30qWUcxRW4rNmhPVW96
RCNecjt4IS1uKFR0JWBRaT56dmZMJXNoVH1eCit6ZyQqJmkyenExeCUxVjlUeFVaVWhQMndISW01
WSM4Pmg9NHlXVHFUI01fQEhhN00kOzM+RV5TallAUHVhJGlkTSgKK3pCJSkwMW19bitAQm10QC01
e3BtKV9gSmM1dHxiaUJQViZOZXFYaGd8MEY3RzRXNHRRPFM+VVNwaiNXV1I0dH1JegorekpkX3I+
d194KGJpMXxBdl4wYTAmPVkrITRgcXh7RV5NdX1xT3FvfU9URG5BfWhzXyZ4JWtVb0ROZT8za19L
cXhQCit6X1glZ1p2NFFRJDxXRStjc19QTShhQVFfZ0hDd3h6dkZub2ROM21yRSg9PTJkJDI9V2J6
SF5pZD1PSEhiYUs8eVAKK3o+JjR2cld2dTNgSD09fVAhOTwwUigob1FYR2V1byE5dnBzcU5iQ25p
USU8ezs8MiFuflRzYWJ5TGUhPytRK3BsUAoremt5NyE1JStYR3l6cnJsYnZYWVdTR0glLTNvbEhJ
PU1CK0ghQCYjZTBOPWtPak1tPlVGSlAlRGpOaVdRY09QMTkyCit6U0lXLXk/OGUkK0IrV3QhUz9g
fCR5WkBiYj9ucHR1aFVqKXlAQmxPLUF9U2thR3VjVXZea2x3JUEyeHx5cyZrM0MKK3otaEw+akBS
bCZGR3A0SGsyIzIjS3R5ekRXby1zNHdnMkZ0ODt8Nkk0VC1hRTkmbjMjVzJCSG13RFp7a2FHN3M3
fQoremNLRFUoK1Uhdyp4MV9fNEFRK2dMPWhwbylEQjBNQ1J9c341P1M2ditiRmhUYXk/Uz1kKERi
a2VMRmtxN2xkcWh7Cit6R2h8Sko1KSVHc3RJfDw9MUtkU2Y4ZTw8WjU2M3A1XjRvYldeeyFHM1Zx
TD5FWklkdUNZVWdJc1l4NW9pezRSTDcKK3phQyNBUSopKkQze2crOS1MWFgxNlkwcHlCQV4ye0c9
cj90eW56RHJGcG55T280U1kqRSg+S3FIIypANktme3RxOQoreiYhd2ZDbnwqWnUle2hNJG1IMU82
IXdIZkJhQF5lTkJgWkgodkExIyQkdDRxKVVVMXtuR1YpSnoxLUl+O1h7a1A1Cit6aD5ienJ1PmJh
TGNEbndYNEtGP2xrfTxeZWVMXnVUIz4kczxsUXotVTFOY0pvJShecyY7WnUjPUVRWTZVSEp4aFUK
K3oyb3BSOUd8R292LTREbGdEQF9fe3ZBdmB0anJtbVdCKTN9PishVHZ+aVgwVTRodXRAcnRacyFu
VyYmKzVEZmowcAoremlXMThSbCM1S2hTXnUpVjQwYW8qPWs8PCt3LXFAfmZzJTI0Wnx1JEk2WXB+
P0YhYXNPJkd+WHNJZzt0KE92enVNCit6TXAjVHxHXlRuNkNZYT47TWQ7KXJvR3ZVPkNpVilOK3s7
QExPd2lrYXI5MEZ4O0JNNEhHQFZzMXVJZTlvaX5nbXQKK3pMT1pjWDVEX3JuVlFOS1FuKTlJcUUo
bGhtQFhKTEpHPjFRbnZwSktDPDtjUzJ3a0A8Vk18U2k1Rn5RWlNNM1ZFTgorelQyQG5abWxBV00t
JFMoKFBWaiVjN0pjXztMVmlLKlh5JWpQXn5eQ1VeX1YlIVVgN1p2NUdSWDZ1a0p6V0koM009Cit6
P0lobE83T1ppI2I8MEpWY0dGNSF3c0xgYChKMk5sX3BiaWUoZH0wc2hXK34rYWdRKn1gfF9QZDFD
S0h0akhOYSgKK3ptSGdXTW11MEVqOytmU3p0SGIlcXlXKj9pPX08YSFMN0N4dk1OOzxFOHUpPnkl
LUMtWXc4Qn5lOzIra3V6KD0wSAorekRYOFZmMGpSfk9aTWJYJVd+aXhEKWQ4VG1kKlI+X3B0JERP
V2sxK34tKDNpXjExZ2VmM2lzfT4kOG89WjVCUVZBCit6U3BmTEZXQ3dPYSp0dnVxM3dBOG52MCVy
N0thdkg4ens4JlZhJFJuUVR6U19CMEg7bndBOCt+VS0xcStuNGhzMyYKK0VORAorICAiZmlsZS5w
bmciKTsKKworIyBleHBlY3RlZCByZXN1bHRzCitteSAkZXhwZWN0ZWQgPSBkZWNvZGVHaXRCaW5h
cnlDaHVuayg8PCdFTkQnLAoremNtZUkwP05eaEI4TzkkI0U3Uz45TzkzbVN0cGokSlFzKWZIT0oz
fCRRaT1wPGw/WF5PRU5AaV9sdDI9SmtScUZ6Cit6UW91RyUwZ1lzdSY3NHp9U2lsNSlmRkxPXjVo
Y2F8aUdfcWcxMGokbk5yNGRaS0t+MlBjS0NMaz4mdCFMKlNVVVEKK3o/a2xNez8yYjQweWFAb25q
PkohbmVGZ3dOPypWfUtYPHpTR1BUPD50a3BLfGpOPDgtUU5nNC1JWEhrfCR5cEUoegorekZYUjQr
PCo7YGFfLVpBN3ZtY3lGK2NtNmdHYFFyV0o4cXhjd0Z+WTBpO0wxcipiZXxAWm85emAwR3RUIz9a
QTV4Cit6NCo9azdHMFVNNXdfNFdNZyR+cXhJZk9hZFMzWDBjX1YmN1RzXiR8OGNLc3Vtcjx4O3w1
dWQ8clhxKGhOU3U9JHsKK3o/dD55T0dAN1RQbm4xLWw+eVIyR0RMXnNaU184NmQmeShaaCRIWlp6
WmkxKSElbHV5aD5rfjhAMztNMmx6SWVBcgorejZROGx3QmRYND4jIVNGKTR5ZEpTUlpUbio4SWsy
V3spViM8PylCU35neWdHIzREcytGK3tSSi0rOH0qQ0BfWldUCit6MlZ5UDh0alJQVWE9SHQ4YUZq
aFdkOCp0ZzR3Qk5aWWdeaWp4QF41N0tmYDZeemdgZS1MfF8hR01xaWQ8PD4kbmgKK3ppY2V6M2JF
VWoyU0Q4Pj83KXRSPkx8NVJtZHZoXylfS15FbFN4aEReR1F5QCREZnxOX0lGbWBTWXpyVWh7I052
TworenQmPlpAdzUyRHw9ISU2bHJGaVB9dDBUfjUmPU9ALWE+NzVgcjxUZzdBRzs+N1VHKzBWZG47
bD92bTVOITF5VWs4Cit6LTVsdTVKWSNle2RuTzVBUj5NX2I1WWg8aTFHTiZTb2ZxQVE5PTlXQHgo
QV4tYllZIU9Mdy01Z0wkYklmbXcyXzkKK3o0PzcoQ2w3fiRUd1ZhSlQhd1NBemp9VGYoKjdjKEEw
eERfb3ZyX2ErY1RlZE4lfV8/ez16X0hZcjskKEFVeWR1JgorejY0KDk1cCp6cDthal80JEJxZ1FB
O18zaXorY2FIPVRVUFZQUEVPMVFjTWx8V2FGc0dVcXtXV3pSaXs8JWI1ZiFnCit6LU9IJntmJnxv
PTwrIXBDe3FzRCZfM3U+aWpybzxwLUFPZyZAdiRhR2FGcDRzbEhRZFRzXm0/KDIoV1lYUmAzZz4K
K3p5Qy1KSzspT3FDZHRANzB6VmFCYHY4UEJyVHJeSE9QS0t3cmo4VXJ9RkpNUD1KTFR3fThJND8r
TEsoTWI5MTF6dAoreiR3PV9uKkpnUkBheCVrRip1ck14ezAoZDwmYzM9QmF8V3ByIz9Na3IlZFJy
PDU0TWFSJEVyKCR0dD5CeyF+X0BwCit6R005NXUpJGVORFlRcGV1Uk9NNFVPS35VVk1yeX0rQVVV
WmZ4PylGbU0oTyNMP1VxSGpUel9rbGgpcD0kSSYkZl4KK3p5M3IoSkR+Kjxpe0MrPWNUYnFFNlNo
NCNHM15uVDdSZWU7YHpMYUBtbT9tYFRYRVg7VShUJW1NaUM+RGtwOU03WQorekoyRzRQS1puQ19K
fCpYWSFpYz04NEFvUipZbj5XXyV0NElOeUhYO01pQjhJPXlmdERsQndHRnFtS21pUlZyLUJtCit6
QStFKStrKFE0NmZDSnZfKkEyYCttaz5qaSl+KmBXM0E2Kj43ei1adVhgdnxuOUZNPlZOOWtrJnN6
WnlXS1UoRmwKK3p7RWE3Yi0ocXNzRThnMFJOK2xCWSF9VmVtdUF5JVpXbmh2VzF5dD56QUxDbGw3
U2wpTWxCV1UxUDBhMjJkXzJCaAoremt9fFBuYSg+PT1aWCZDZmYzJnlqY0pBZT5Zd0ZRPW47dihw
aGpPMm81anBaSmAwdGIqZGlHQkFudDNCYFNSPiZ4Cit6blBEYEtmUFooUz1fbEhjd2o/OW0jRyhq
ZkdGVkA9Vj1oJjxhSXdyXl9YY053Y2paRnt3TUd2QSYhU0hRS0w4bXcKK3pwLTVeeWN5V292VXdR
N3RpYjxraEluQkAmZGJRbmxRP1JCTm8qe3IkP1Z0dz4pMWxPRCh6ZmQwMF92Pm8tYUEzKQorenVa
ckIzLU1WUkM+N0FTSWQqKGxYI0l8eEM5aU1RVldyK3QkMkkhc2o/JWRqSVhWcT9lRyMpKURDWUQ8
NzAtbWc0Cit6bGskYVZkbXx+dClmUl51cEY7K1QpXmNwcDN6MHI7dkwqS3E1ZEpgZHFCKT1zeXl+
YygtRklqeSQyc2BMMTtvZyQKK3orOG80eUAkK3UqLV59emYlKXB8R0BHPWRLSDliTDBHUDhUVz5a
fkpLIT4ldEdIe2QjQExaNiZvNXJSd3hKRlhYLQorekIkb3c5QkopTHdePj84flYtbG9EXm9fczRj
SXQpZyZWNSp0cn13LUxnaDBtY1VHMjhUNSpPeHU0c2tLbGxWb0l4Cit6JkYoKnFic3MrSExeamwj
M2Y/fT1qZlNaI184ZmhgYCg/RWpjNyNmPWRzamY1ZEFnVl4pUDFgQEpUQFghV3IkbnoKK3p7OFNe
R3ZuKT9GR2c4fHRnUGEkNks5PWJpWHtyK2BhSShgajRzTGt8SUM5Uz5AYnY8XmNBZkArMTJ0UUx3
fDJpKQorejtmTk1IQVp7QHVLTWQxdmZobEZKLWhlczA+KFhvQT4tRERjS1J2dz9CblledVpOUyZD
IU4zb0p1YmNiNWZxKGRJCit1aXA+eDxvM0tnMkNJeT1tWSpPKDVNMWV9fE1WV3F8KVJVTWVmQXRS
bDV8ODdLd2YqSTxtO01YU2w9Wn5gCitFTkQKKyAgImZpbGUucG5nIik7CisKKyMgcGF0Y2ggdG8g
dGVzdAorbXkgKCRkZWx0YVR5cGUsICRkZWx0YSwgJHJldmVyc2VUeXBlLCAkcmV2ZXJzZSkgPSBk
ZWNvZGVHaXRCaW5hcnlQYXRjaCg8PCdFTkQnLAorCitHSVQgYmluYXJ5IHBhdGNoCitkZWx0YSAx
NTc1Cit6Y21WKz8ySDUkeUFoc1pvQiFCJSRMX3QofG9iQkNQY0l3Q2hLdkNUNVBNfUFlbEBWdE08
aWlRIUIyYGZtJEpkWVMKK3p7bjUofXFFciRSSl95P1ZjRC1JTjAwNENVYHNAaCswUUB1cDNqaVB7
dW1BdkpaPEc3cHpuPUI+X098O3l0PG1qMgorekwld3oyWmc7KUN7cFotMk8jNzlNeCp6fDNvWUJ1
OyR7KEJMbSkhJGYtKU8yTT9TQ2Uwa01QP3FtJUd6eV9yfjQzCit6WnF2S0plZk5SOGxsam4xSjNH
JDU5JldpX3w5KXZeO313bFktcm5eLXRLSD5xNlctb0NTcTE7TWVxRFkpKWdNbSMKK3o/VXtWQC1D
czs2Q1JfYlEySztDJTByQVI0T15QWlJ8RCl8cl8oTkNwI2VMLWBZZi14aXlHUWx6VGg+dmRKbHdl
TAorenV0U3lLKT5VPTx6a2U2V2VWWEsldlRlQmV5fClTTWhTI0xoVVlqT0EpMDIrfmxoZzlWTmpR
MilJTWlneHFnKHhTCit6d3kqNVFQeWZ8NWRSSlkmV0l6MH04TGp1dkk5aGxvQ2kmQDRYZWQ3elQ4
RFBeMlBNZTRrKztHMHc0WXUtdTJ4MlAKK3plYmVUeSpUMzZYeG5CUTFibldWUCVmbjAjVD8yITZl
fnIkTnVsYjR6QFBGK2JkTzAwa2p7MklmJHpPOTtARD09OAorelQ8LW5OJkJHPEAtN0RDOzdkLUFD
elBzZVpoeCgmNnpDUDZZSmFefT85YnRYOGl2eH5rYiN3bzJfNVE8eHFrfSZ6Cit6di18MEF3VV8z
RG9jSjJZKTJJSUZHYDlDe194NWQpNHx7ayE7bUpQUHs9OU5QLW97eHUlaldsdlBUdFloamZPZ08K
K3o8WGBwPClQTD0hJX52YCh1JUIrJWNBNTQ0diU4fUMtbmNpSl5KUjFWb0grUU84dHV2WnBWIWEm
P2NfKHg5TmtmUworekJtOHpYPT5GP2ErcGs3RlQ8YmI/OFJeaHZyfXU/LXpua1VxNiUkSz1idnJy
bGU7NihCQFl1PCMkIU9Ub21sOXFkCit6WUpIeCZXQTZVRUlOUzlCUzJwPiZgTnIjcyFBRytpWlBD
WVYpUEh0R2IxUDUlP2spMns9MTBxOXc5ITdpLWA+JS0KK3pQaj1NJFN2RERKdzB9bmJgdDskVy1G
MCgrYClIWSFsfS0tcW1GK3RFXlhORVNKbE04NztkYnhxe2RCKlVgQn1YQworel5abW18ZHYkV3dL
TnhNPTskYnRgITJPUX0/PzAhVGR9ZXBGYSF5cHk/c3YxKTY/MDMwSEZeelFTI29SZzMtI3pMCit6
KFNQWm8pP1lfUEg9ZjlYQHIlbiNVIUhoKVdqdkhHbEx4TV5lS2hqPTIoUnBjLUdsUyNFdGV4dDw/
YkhkOXFQbkIKK3pvRkJ2SSZhJk5LWH03dH01MTZPM1RBOUY4RD1WR01iN2l9PkNTYG5DKnhNKGJp
YF9JbFZLbU50eEtBY0xOJkkkNworenF4NEBHP1lIWXZBNmhOdiMoKCYzKjZwQTU/RCRidUtZdD5l
eVBkJTIhc1hEelVtNUUzaXRnUDtjcmxGYlhTS2ZNCit6P0plb3pxaDVhe0o/R0RfY2wrYyVlWSoz
ZkBgUigkey1LQVFfSWVOO0p5Mmc/PkJvKH5KeC0zazt5dnQjYk5ncF4KK3o8aSFicGtabEMtRV5+
MHE0e3cpOzN1ZFFSU0I9OUApZGJlJTxAYWpVVGZMYDR5fHwpZWhKMjlTJU52KSR2dyF2LQorenBV
VXR3VmJPX0tsR241OGxAVUpsQGMyNSUtb3ZNZGhhUHpVdWN4Y1htJDcpTmBBaENBP35gX34mKDl5
ZWUqNUIzCit6PWpNNUk0KEE0KEZTJmNRZXxMZT1FOHlxQGo7OVlpSUBReGxvLT12c2xjKH5+ezcx
aVR4OHQwYz9UTE1VYHVVeCYKK3peeSMpLVVifXA8eVo9V1k9Uk11NyQqejdGWE1jQyRgSyVUZks1
PWRTXiVMaloyKzV8TXs7Y3BhRXx2RzN4PCVGZAorelZ3MW5aYUtlNEdqczllVmtZZTViUzJiNVkj
bEsmMl9wMVFeVGdVSSQoemdxYlpXO1pxSXo4MGxKUXVoMFZmbzJ5Cit6Q2oran0+aShBUFMyMEdA
bT1DX1lpdTs0JUJSMStge0thRXpHe35XWVZLbDwtUUBPalBoZ05oeSFoaCk0VWZFR0EKK3pOQUpv
cylgd2xaYWtQdFdfYTIoKz8pV1JgKlZFfXVSKGNzY099biQyWnx9b351UkxGZShzMV8tOWN8OVRK
aCEpdQorejQoJDA9KClwJlhBNH50ZVl2O1N8eU1IQTh2aWF6NntYWmRgVSs3eEBPWVcxdUBjdUIp
eGk+VFhKZFQ2IVhCMWVVCit6SDZQZ1pgZUV0N3tASCV5QTMlM35pI3s4I1UqRjg9T302S2VGQ3ty
OTlvWHpUXiM4R2UmKkpzIytuOWUpdlU/WiYKK3pkN31nTSsmSVpsezUtR3hsfk1SSjFRcX41dG9n
NDkwUlhyV2xmZWp2N3lDODhgfFkxXmVgWCMoITFXKjMmej1HUgorekBGbG97dnIhMVYwU3RTKVVh
eX0kMkxPTnsjVEIhVzJCODc2MlFtUyYyUW1TJjJRbVMmMlFtUyYyUW1TWTJTXnYjCitaelg1aktB
I1NgJFd6aGZ0MDAyb3ZQREhMa1YxbHBOYkwwUjMKKworbGl0ZXJhbCA0MTUyCit6Y21lSTBgQlJl
ejhwbUlkU31PK0RxT2NzMlRER0s5MVQ0NSo0V1NlQClwRH5FeCFyQUNzekwkO2t7Q3o9VH0tTTcK
K3pzWT9ZIUFUd3JITTE+JHtFUXpyTTxQPkQoRyRiSnkyIX01cXgkbWBxTVctRXBgXkB2eEd2OWVX
XlVRcCYjenJGeworemR0TFNkMDAyNGxfMz9OQiohMityU2ZBWnZ7Y2R2YnooRSlRKmpyOD01QzBw
bjRpdSV9KjlOVj1qR0tQfGQqTHhRCit6e0RaJkV3elR3S1QrXnEwazk9cTU0Nmw3JFNARWtTTEF6
Zz5hKFVeIzBGWkNpUEJ7UjhfSldOZ0BNWXZWRTEoYkkKK3o4UD0xfGhDLW5SYHdJfVAoZkwpQnAm
VU9zRmhDdEVXcXJVRFJ8eUJaZjVBclo8WXBhaGxfI2ZkbnRUKikhX1gwQworeiMoY3spZ00rfkBM
YGQpNk05JXU9OVY8dCgpVkZjP0k7dSNOJDF8KGBIO1I3Xmc+V25yYXhfaURlfno9ZjlRdGhHCit6
MVUyMUVEVlV9M3M3OSl1JXpsaFIzSnJFRmEjUFExTUMyTTsyRjdCMHNGKHVQKUJfPzhUVWVZWlY9
UiVzZl9OM3AKK3pkSighS1BaRFFDJlpJJWd3bzFwMyU+fHNFQC1wUCN3a1cmQWU8d3pMMjZrVFA5
ZXZ+Nz5qV0t6eCZNcVREfipXUworeiZgcWlsYiEpYyMxTGsyXipOfWc+LSopIUJPfiFTd2czUEk4
KXtDK0E5d31oQmVQfTEwemZyS18wREM2LXhOPCt1Cit6X2Zsd1FPUXlVTXkwb3JofDBsVStoVGxL
fSpZRzFFbis2aE9Vb3pEI15yO3ghLW4oVHQlYFFpPnp2Zkwlc2hUfV4KK3pnJComaTJ6cTF4JTFW
OVR4VVpVaFAyd0hJbTVZIzg+aD00eVdUcVQjTV9ASGE3TSQ7Mz5FXlNqWUBQdWEkaWRNKAorekIl
KTAxbX1uK0BCbXRALTV7cG0pX2BKYzV0fGJpQlBWJk5lcVhoZ3wwRjdHNFc0dFE8Uz5VU3BqI1dX
UjR0fUl6Cit6SmRfcj53X3goYmkxfEF2XjBhMCY9WSshNGBxeHtFXk11fXFPcW99T1REbkF9aHNf
Jngla1VvRE5lPzNrX0txeFAKK3pfWCVnWnY0UVEkPFdFK2NzX1BNKGFBUV9nSEN3eHp2Rm5vZE4z
bXJFKD09MmQkMj1XYnpIXmlkPU9ISGJhSzx5UAorej4mNHZyV3Z1M2BIPT19UCE5PDBSKChvUVhH
ZXVvITl2cHNxTmJDbmlRJTx7OzwyIW5+VHNhYnlMZSE/K1ErcGxQCit6a3k3ITUlK1hHeXpycmxi
dlhZV1NHSCUtM29sSEk9TUIrSCFAJiNlME49a09qTW0+VUZKUCVEak5pV1FjT1AxOTIKK3pTSVct
eT84ZSQrQitXdCFTP2B8JHlaQGJiP25wdHVoVWopeUBCbE8tQX1Ta2FHdWNVdl5rbHclQTJ4fHlz
JmszQworei1oTD5qQFJsJkZHcDRIazIjMiNLdHl6RFdvLXM0d2cyRnQ4O3w2STRULWFFOSZuMyNX
MkJIbXdEWntrYUc3czd9Cit6Y0tEVSgrVSF3KngxX180QVErZ0w9aHBvKURCME1DUn1zfjU/UzZ2
K2JGaFRheT9TPWQoRGJrZUxGa3E3bGRxaHsKK3pHaHxKSjUpJUdzdEl8PD0xS2RTZjhlPDxaNTYz
cDVeNG9iV157IUczVnFMPkVaSWR1Q1lVZ0lzWXg1b2l7NFJMNworemFDI0FRKikqRDN7Zys5LUxY
WDE2WTBweUJBXjJ7Rz1yP3R5bnpEckZwbnlPbzRTWSpFKD5LcUgjKkA2S2Z7dHE5Cit6JiF3ZkNu
fCpadSV7aE0kbUgxTzYhd0hmQmFAXmVOQmBaSCh2QTEjJCR0NHEpVVUxe25HVilKejEtSX47WHtr
UDUKK3poPmJ6cnU+YmFMY0Rud1g0S0Y/bGt9PF5lZUxedVQjPiRzPGxRei1VMU5jSm8lKF5zJjta
dSM9RVFZNlVISnhoVQorejJvcFI5R3xHb3YtNERsZ0RAX197dkF2YHRqcm1tV0IpM30+KyFUdn5p
WDBVNGh1dEBydFpzIW5XJiYrNURmajBwCit6aVcxOFJsIzVLaFNedSlWNDBhbyo9azw8K3ctcUB+
ZnMlMjRafHUkSTZZcH4/RiFhc08mR35Yc0lnO3QoT3Z6dU0KK3pNcCNUfEdeVG42Q1lhPjtNZDsp
cm9HdlU+Q2lWKU4reztATE93aWthcjkwRng7Qk00SEdAVnMxdUllOW9pfmdtdAorekxPWmNYNURf
cm5WUU5LUW4pOUlxRShsaG1AWEpMSkc+MVFudnBKS0M8O2NTMndrQDxWTXxTaTVGflFaU00zVkVO
Cit6VDJAblptbEFXTS0kUygoUFZqJWM3SmNfO0xWaUsqWHklalBefl5DVV5fViUhVWA3WnY1R1JY
NnVrSnpXSSgzTT0KK3o/SWhsTzdPWmkjYjwwSlZjR0Y1IXdzTGBgKEoyTmxfcGJpZShkfTBzaFcr
fithZ1EqfWB8X1BkMUNLSHRqSE5hKAorem1IZ1dNbXUwRWo7K2ZTenRIYiVxeVcqP2k9fTxhIUw3
Q3h2TU47PEU4dSk+eSUtQy1ZdzhCfmU7MitrdXooPTBICit6RFg4VmYwalJ+T1pNYlglV35peEQp
ZDhUbWQqUj5fcHQkRE9XazErfi0oM2leMTFnZWYzaXN9PiQ4bz1aNUJRVkEKK3pTcGZMRldDd09h
KnR2dXEzd0E4bnYwJXI3S2F2SDh6ezgmVmEkUm5RVHpTX0IwSDtud0E4K35VLTFxK240aHMzJgor
CitFTkQKKyAgLCAiZmlsZS5wbmciKTsKKworbXkgJG91dHB1dCA9IGFwcGx5R2l0QmluYXJ5UGF0
Y2hEZWx0YSgkZGVsdGEsICRpbnB1dCk7CitpcyAoJG91dHB1dCwgICRleHBlY3RlZCwgImFwcGx5
IGRlbHRhIHBhdGNoIHRvIGJpbmFyeSIpIDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78108</attachid>
            <date>2011-01-06 04:12:39 -0800</date>
            <delta_ts>2011-01-07 01:06:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38864-20110106231234.patch</filename>
            <type>text/plain</type>
            <size>17870</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlOThj
YzNmN2Q0ZGM2YzgwMDYxMGNlODZhYjJmZTI2ZWExMjVkMzNhLi4wNjYxNjU3MjFjZGM1MWZjMTY1
ZDE2YjhlYmE4OGMxYWQxMDRhNjUxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDEtMDQgIFNoYW5lIFN0ZXBo
ZW5zICA8c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIHN2bi1hcHBseTogc2hvdWxkIHN1cHBvcnQgZ2l0IGJp
bmFyeSBkZWx0YSBkaWZmcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Mzg4NjQKKworICAgICAgICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAg
ICogU2NyaXB0cy9zdm4tYXBwbHk6CisKIDIwMTEtMDEtMDQgIFPDuHJlbiBHamVzc2UgIDxzZ2pl
c3NlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbSBiL1Rvb2xzL1NjcmlwdHMvVkNTVXRp
bHMucG0KaW5kZXggNzhiYTIxNzZhYjBkYTRmMDA4NTVhNDg4NmJmZjQzZTdiZTEwZmQzMS4uNGM4
ZDc5OWRhY2MwYjRlNGIxNTIwY2U1NzA1YmU1NjMxYTJmM2E4YiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy9WQ1NVdGlscy5wbQorKysgYi9Ub29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCkBAIC00
NCwxMSArNDQsMTMgQEAgQkVHSU4gewogICAgICRWRVJTSU9OICAgICA9IDEuMDA7CiAgICAgQElT
QSAgICAgICAgID0gcXcoRXhwb3J0ZXIpOwogICAgIEBFWFBPUlQgICAgICA9IHF3KAorICAgICAg
ICAmYXBwbHlHaXRCaW5hcnlQYXRjaERlbHRhCiAgICAgICAgICZjYWxsU2lsZW50bHkKICAgICAg
ICAgJmNhbm9uaWNhbGl6ZVBhdGgKICAgICAgICAgJmNoYW5nZUxvZ0VtYWlsQWRkcmVzcwogICAg
ICAgICAmY2hhbmdlTG9nTmFtZQogICAgICAgICAmY2hkaXJSZXR1cm5pbmdSZWxhdGl2ZVBhdGgK
KyAgICAgICAgJmRlY29kZUdpdEJpbmFyeUNodW5rCiAgICAgICAgICZkZWNvZGVHaXRCaW5hcnlQ
YXRjaAogICAgICAgICAmZGV0ZXJtaW5lU1ZOUm9vdAogICAgICAgICAmZGV0ZXJtaW5lVkNTUm9v
dApAQCAtMTc0Miw3ICsxNzQ0LDYgQEAgc3ViIGRlY29kZUdpdEJpbmFyeVBhdGNoKCQkKQogICAg
ICMKICAgICAjIEVhY2ggY2h1bmsgYSBsaW5lIHdoaWNoIHN0YXJ0cyBmcm9tIGVpdGhlciAibGl0
ZXJhbCIgb3IgImRlbHRhIiwKICAgICAjIGZvbGxvd2VkIGJ5IGEgbnVtYmVyIHdoaWNoIHNwZWNp
ZmllcyBkZWNvZGVkIHNpemUgb2YgdGhlIGNodW5rLgotICAgICMgVGhlICJkZWx0YSIgdHlwZSBj
aHVua3MgYXJlbid0IHN1cHBvcnRlZCBieSB0aGlzIGZ1bmN0aW9uIHlldC4KICAgICAjCiAgICAg
IyBUaGVuLCBjb250ZW50IG9mIHRoZSBjaHVuayBjb21lcy4gVG8gZGVjb2RlIHRoZSBjb250ZW50
LCB3ZQogICAgICMgbmVlZCBkZWNvZGUgaXQgd2l0aCBiYXNlODUgZmlyc3QsIGFuZCB0aGVuIHps
aWIuCkBAIC0xNzYzLDEwICsxNzY0LDcwIEBAIHN1YiBkZWNvZGVHaXRCaW5hcnlQYXRjaCgkJCkK
ICAgICBteSAkcmV2ZXJzZUJpbmFyeUNodW5rID0gZGVjb2RlR2l0QmluYXJ5Q2h1bmsoJGVuY29k
ZWRSZXZlcnNlQ2h1bmssICRmdWxsUGF0aCk7CiAgICAgbXkgJHJldmVyc2VCaW5hcnlDaHVua0Fj
dHVhbFNpemUgPSBsZW5ndGgoJHJldmVyc2VCaW5hcnlDaHVuayk7CiAKLSAgICBkaWUgIiRmdWxs
UGF0aDogdW5leHBlY3RlZCBzaXplIG9mIHRoZSBmaXJzdCBjaHVuayAoZXhwZWN0ZWQgJGJpbmFy
eUNodW5rRXhwZWN0ZWRTaXplIGJ1dCB3YXMgJGJpbmFyeUNodW5rQWN0dWFsU2l6ZSIgaWYgKCRi
aW5hcnlDaHVua0V4cGVjdGVkU2l6ZSAhPSAkYmluYXJ5Q2h1bmtBY3R1YWxTaXplKTsKLSAgICBk
aWUgIiRmdWxsUGF0aDogdW5leHBlY3RlZCBzaXplIG9mIHRoZSBzZWNvbmQgY2h1bmsgKGV4cGVj
dGVkICRyZXZlcnNlQmluYXJ5Q2h1bmtFeHBlY3RlZFNpemUgYnV0IHdhcyAkcmV2ZXJzZUJpbmFy
eUNodW5rQWN0dWFsU2l6ZSIgaWYgKCRyZXZlcnNlQmluYXJ5Q2h1bmtFeHBlY3RlZFNpemUgIT0g
JHJldmVyc2VCaW5hcnlDaHVua0FjdHVhbFNpemUpOworICAgIGRpZSAiJGZ1bGxQYXRoOiB1bmV4
cGVjdGVkIHNpemUgb2YgdGhlIGZpcnN0IGNodW5rIChleHBlY3RlZCAkYmluYXJ5Q2h1bmtFeHBl
Y3RlZFNpemUgYnV0IHdhcyAkYmluYXJ5Q2h1bmtBY3R1YWxTaXplIiBpZiAoJGJpbmFyeUNodW5r
VHlwZSBlcSAibGl0ZXJhbCIgYW5kICRiaW5hcnlDaHVua0V4cGVjdGVkU2l6ZSAhPSAkYmluYXJ5
Q2h1bmtBY3R1YWxTaXplKTsKKyAgICBkaWUgIiRmdWxsUGF0aDogdW5leHBlY3RlZCBzaXplIG9m
IHRoZSBzZWNvbmQgY2h1bmsgKGV4cGVjdGVkICRyZXZlcnNlQmluYXJ5Q2h1bmtFeHBlY3RlZFNp
emUgYnV0IHdhcyAkcmV2ZXJzZUJpbmFyeUNodW5rQWN0dWFsU2l6ZSIgaWYgKCRyZXZlcnNlQmlu
YXJ5Q2h1bmtUeXBlIGVxICJsaXRlcmFsIiBhbmQgJHJldmVyc2VCaW5hcnlDaHVua0V4cGVjdGVk
U2l6ZSAhPSAkcmV2ZXJzZUJpbmFyeUNodW5rQWN0dWFsU2l6ZSk7CiAKICAgICByZXR1cm4gKCRi
aW5hcnlDaHVua1R5cGUsICRiaW5hcnlDaHVuaywgJHJldmVyc2VCaW5hcnlDaHVua1R5cGUsICRy
ZXZlcnNlQmluYXJ5Q2h1bmspOwogfQogCitzdWIgZGVjb2RlR2l0QmluYXJ5UGF0Y2hEZWx0YVNp
emUoJCkKK3sKKyAgbXkgKCRiaW5hcnlDaHVuaykgPSBAXzsKKyAgbXkgJGNtZDsKKyAgbXkgJHNp
emUgPSAwOworICBteSAkc2hpZnQgPSAwOworICBmb3IgKG15ICRpID0gMDsgJGkgPCBsZW5ndGgo
JGJpbmFyeUNodW5rKTspIHsKKyAgICAkY21kID0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRp
KyssIDEpKTsKKyAgICAkc2l6ZSB8PSAoJGNtZCAmIDB4N2YpIDw8ICRzaGlmdDsKKyAgICAkc2hp
ZnQgKz0gNzsKKyAgICBpZiAoISgkY21kICYgMHg4MCkpIHsKKyAgICAgIHJldHVybiAoJHNpemUs
ICRpKTsKKyAgICB9CisgIH0KK30KKworc3ViIGFwcGx5R2l0QmluYXJ5UGF0Y2hEZWx0YSgkJCkK
K3sKKyAgICBteSAoJGJpbmFyeUNodW5rLCAkb3JpZ2luYWxDb250ZW50cykgPSBAXzsKKyAgICAj
IGdpdCBkZWx0YSBmb3JtYXQgY29uc2lzdHMgb2YgdHdvIGhlYWRlcnMgaW5kaWNhdGluZyBzb3Vy
Y2UgYnVmZmVyIHNpemUKKyAgICAjIGFuZCByZXN1bHQgc2l6ZSwgdGhlbiBhIHNlcmllcyBvZiBj
b21tYW5kcy4gIEVhY2ggY29tbWFuZCBpcyBlaXRoZXIKKyAgICAjIGEgY29weS1mcm9tLW9sZC12
ZXJzaW9uICh0aGUgMHg4MCBiaXQgaXMgc2V0KSBvciBhIGNvcHktZnJvbS1kZWx0YQorICAgICMg
Y29tbWFuZC4gIENvbW1hbmRzIGFyZSBhcHBsaWVkIHNlcXVlbnRpYWxseSB0byBnZW5lcmF0ZSB0
aGUgcmVzdWx0LgorICAgICMKKyAgICAjIEEgY29weS1mcm9tLW9sZC12ZXJzaW9uIGNvbW1hbmQg
ZW5jb2RlcyBhbiBvZmZzZXQgYW5kIHNpemUgdG8gY29weQorICAgICMgZnJvbSBpbiBzdWJzZXF1
ZW50IGJpdHMsIHdoaWxlIGEgY29weS1mcm9tLWRlbHRhIGNvbW1hbmQgY29uc2lzdHMgb25seQor
ICAgICMgb2YgdGhlIG51bWJlciBvZiBieXRlcyB0byBjb3B5IGZyb20gdGhlIGRlbHRhLgorCisg
ICAgIyB3ZSBkb24ndCB1c2UgdGhlc2UgYnV0IHdlIG5lZWQgdG8ga25vdyBob3cgYmlnIHRoZXkg
YXJlCisgICAgbXkgKCRzaXplLCAkYnl0ZXNVc2VkKSA9IGRlY29kZUdpdEJpbmFyeVBhdGNoRGVs
dGFTaXplKCRiaW5hcnlDaHVuayk7CisgICAgJGJpbmFyeUNodW5rID0gc3Vic3RyKCRiaW5hcnlD
aHVuaywgJGJ5dGVzVXNlZCk7CisgICAgKCRzaXplLCAkYnl0ZXNVc2VkKSA9IGRlY29kZUdpdEJp
bmFyeVBhdGNoRGVsdGFTaXplKCRiaW5hcnlDaHVuayk7CisgICAgJGJpbmFyeUNodW5rID0gc3Vi
c3RyKCRiaW5hcnlDaHVuaywgJGJ5dGVzVXNlZCk7CisKKyAgICBteSAkb3V0ID0gIiI7CisgICAg
Zm9yIChteSAkaSA9IDA7ICRpIDwgbGVuZ3RoKCRiaW5hcnlDaHVuayk7ICkgeworICAgICAgICBt
eSAkY21kID0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKTsKKyAgICAgICAgaWYg
KCRjbWQgJiAweDgwKSB7CisgICAgICAgICAgICBteSAkY3BPZmYgPSAwOworICAgICAgICAgICAg
bXkgJGNwU2l6ZSA9IDA7CisgICAgICAgICAgICBpZiAoJGNtZCAmIDB4MDEpIHsgJGNwT2ZmID0g
b3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKTsgfQorICAgICAgICAgICAgaWYgKCRj
bWQgJiAweDAyKSB7ICRjcE9mZiB8PSBvcmQoc3Vic3RyKCRiaW5hcnlDaHVuaywgJGkrKywgMSkp
IDw8IDg7IH0KKyAgICAgICAgICAgIGlmICgkY21kICYgMHgwNCkgeyAkY3BPZmYgfD0gb3JkKHN1
YnN0cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKSA8PCAxNjsgfQorICAgICAgICAgICAgaWYgKCRj
bWQgJiAweDA4KSB7ICRjcE9mZiB8PSBvcmQoc3Vic3RyKCRiaW5hcnlDaHVuaywgJGkrKywgMSkp
IDw8IDI0OyB9CisgICAgICAgICAgICBpZiAoJGNtZCAmIDB4MTApIHsgJGNwU2l6ZSA9IG9yZChz
dWJzdHIoJGJpbmFyeUNodW5rLCAkaSsrLCAxKSk7IH0KKyAgICAgICAgICAgIGlmICgkY21kICYg
MHgyMCkgeyAkY3BTaXplIHw9IG9yZChzdWJzdHIoJGJpbmFyeUNodW5rLCAkaSsrLCAxKSkgPDwg
ODsgfQorICAgICAgICAgICAgaWYgKCRjbWQgJiAweDQwKSB7ICRjcFNpemUgfD0gb3JkKHN1YnN0
cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKSA8PCAxNjsgfQorICAgICAgICAgICAgaWYgKCRjcFNp
emUgPT0gMCkgeyAkY3BTaXplID0gMHgxMDAwMDsgfQorICAgICAgICAgICAgJG91dCAuPSBzdWJz
dHIoJG9yaWdpbmFsQ29udGVudHMsICRjcE9mZiwgJGNwU2l6ZSk7CisgICAgICAgIH0gZWxzaWYg
KCRjbWQpIHsKKyAgICAgICAgICAgICRvdXQgLj0gc3Vic3RyKCRiaW5hcnlDaHVuaywgJGksICRj
bWQpOworICAgICAgICAgICAgJGkgKz0gJGNtZDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIGRpZSAidW5leHBlY3RlZCBkZWx0YSBvcGNvZGUgMCI7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICByZXR1cm4gJG91dDsKK30KKwogMTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvc3Zu
LWFwcGx5IGIvVG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkKaW5kZXggY2FiN2ZiNDBlNzE3MzQxMzZm
NmZmZDU3MzJmNWI4ZDgyMDJlMjk0Mi4uMGMyZTVlNTEwNmQ1ZDJmMDIzN2UyYmVhZTE5M2ZiYTYz
NGYzODgxYiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9zdm4tYXBwbHkKKysrIGIvVG9vbHMv
U2NyaXB0cy9zdm4tYXBwbHkKQEAgLTI0NCw4ICsyNDQsNiBAQCBzdWIgaGFuZGxlR2l0QmluYXJ5
Q2hhbmdlKCQkKQogICAgIG15ICRjb250ZW50cyA9ICRkaWZmSGFzaFJlZi0+e3N2bkNvbnZlcnRl
ZFRleHR9OwogCiAgICAgbXkgKCRiaW5hcnlDaHVua1R5cGUsICRiaW5hcnlDaHVuaywgJHJldmVy
c2VCaW5hcnlDaHVua1R5cGUsICRyZXZlcnNlQmluYXJ5Q2h1bmspID0gZGVjb2RlR2l0QmluYXJ5
UGF0Y2goJGNvbnRlbnRzLCAkZnVsbFBhdGgpOwotICAgICMgRklYTUU6IHN1cHBvcnQgImRlbHRh
IiB0eXBlLgotICAgIGRpZSAib25seSBsaXRlcmFsIHR5cGUgaXMgc3VwcG9ydGVkIG5vdyIgaWYg
KCRiaW5hcnlDaHVua1R5cGUgbmUgImxpdGVyYWwiIHx8ICRyZXZlcnNlQmluYXJ5Q2h1bmtUeXBl
IG5lICJsaXRlcmFsIik7CiAKICAgICBteSAkaXNGaWxlQWRkaXRpb24gPSAkZGlmZkhhc2hSZWYt
Pntpc05ld307CiAgICAgbXkgJGlzRmlsZURlbGV0aW9uID0gJGRpZmZIYXNoUmVmLT57aXNEZWxl
dGlvbn07CkBAIC0yNTcsMTQgKzI1NSwyNiBAQCBzdWIgaGFuZGxlR2l0QmluYXJ5Q2hhbmdlKCQk
KQogICAgICAgICAkb3JpZ2luYWxDb250ZW50cyA9IGpvaW4oIiIsIDxGSUxFPik7CiAgICAgICAg
IGNsb3NlIEZJTEU7CiAgICAgfQotICAgIGRpZSAiT3JpZ2luYWwgY29udGVudCBvZiAkZnVsbFBh
dGggbWlzbWF0Y2hlcyIgaWYgJG9yaWdpbmFsQ29udGVudHMgbmUgJHJldmVyc2VCaW5hcnlDaHVu
azsKKworICAgIGlmICgkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSBlcSAibGl0ZXJhbCIpIHsKKyAg
ICAgICAgZGllICJPcmlnaW5hbCBjb250ZW50IG9mICRmdWxsUGF0aCBtaXNtYXRjaGVzIiBpZiAk
b3JpZ2luYWxDb250ZW50cyBuZSAkcmV2ZXJzZUJpbmFyeUNodW5rOworICAgIH0KIAogICAgIGlm
ICgkaXNGaWxlRGVsZXRpb24pIHsKICAgICAgICAgc2NtUmVtb3ZlKCRmdWxsUGF0aCk7CiAgICAg
fSBlbHNlIHsKICAgICAgICAgIyBBZGRpdGlvbiBvciBNb2RpZmljYXRpb24KKyAgICAgICAgbXkg
JG91dCA9ICIiOworICAgICAgICBpZiAoJGJpbmFyeUNodW5rVHlwZSBlcSAiZGVsdGEiKSB7Cisg
ICAgICAgICAgICAkb3V0ID0gYXBwbHlHaXRCaW5hcnlQYXRjaERlbHRhKCRiaW5hcnlDaHVuaywg
JG9yaWdpbmFsQ29udGVudHMpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgJG91dCA9
ICRiaW5hcnlDaHVuazsKKyAgICAgICAgfQorICAgICAgICBpZiAoJHJldmVyc2VCaW5hcnlDaHVu
a1R5cGUgZXEgImRlbHRhIikgeworICAgICAgICAgICAgZGllICJPcmlnaW5hbCBjb250ZW50IG9m
ICRmdWxsUGF0aCBtaXNtYXRjaGVzIiBpZiAkb3JpZ2luYWxDb250ZW50cyBuZSBhcHBseUdpdEJp
bmFyeVBhdGNoRGVsdGEoJHJldmVyc2VCaW5hcnlDaHVuaywgJG91dCk7CisgICAgICAgIH0KICAg
ICAgICAgb3BlbiBGSUxFLCAiPiIsICRmdWxsUGF0aCBvciBkaWUgIkZhaWxlZCB0byBvcGVuICRm
dWxsUGF0aC4iOwotICAgICAgICBwcmludCBGSUxFICRiaW5hcnlDaHVuazsKKyAgICAgICAgcHJp
bnQgRklMRSAkb3V0OwogICAgICAgICBjbG9zZSBGSUxFOwogICAgICAgICBpZiAoJGlzRmlsZUFk
ZGl0aW9uKSB7CiAgICAgICAgICAgICBzY21BZGQoJGZ1bGxQYXRoKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9iaW5hcnlEZWx0YVBhdGNo
LnBsIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L2JpbmFyeURl
bHRhUGF0Y2gucGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTNjZGEwZTU0ZWY0NWU4MTljZTE5NjE4ODljOTMzYmY3
NGZmODRiNwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NV
dGlsc191bml0dGVzdC9iaW5hcnlEZWx0YVBhdGNoLnBsCkBAIC0wLDAgKzEsMTgwIEBACisjIS91
c3IvYmluL3BlcmwgLXcKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDExIFNoYW5lIFN0ZXBoZW5zIChz
aGFuZXN0ZXBoZW5zQGdvb2dsZS5jb20pCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMg
YXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgCisjIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisjIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisjIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyMgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisjIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisjIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCit1c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdzOworCit1c2UgVGVzdDo6TW9y
ZSB0ZXN0cyA9PiAxOwordXNlIFZDU1V0aWxzOworCisjIHN0YXJ0aW5nIGRhdGEKK215ICRpbnB1
dCA9IGRlY29kZUdpdEJpbmFyeUNodW5rKDw8J0VORCcsCit6Y21lSTBgQlJlejhwbUlkU31PK0Rx
T2NzMlRER0s5MVQ0NSo0V1NlQClwRH5FeCFyQUNzekwkO2t7Q3o9VH0tTTcKK3pzWT9ZIUFUd3JI
TTE+JHtFUXpyTTxQPkQoRyRiSnkyIX01cXgkbWBxTVctRXBgXkB2eEd2OWVXXlVRcCYjenJGewor
emR0TFNkMDAyNGxfMz9OQiohMityU2ZBWnZ7Y2R2YnooRSlRKmpyOD01QzBwbjRpdSV9KjlOVj1q
R0tQfGQqTHhRCit6e0RaJkV3elR3S1QrXnEwazk9cTU0Nmw3JFNARWtTTEF6Zz5hKFVeIzBGWkNp
UEJ7UjhfSldOZ0BNWXZWRTEoYkkKK3o4UD0xfGhDLW5SYHdJfVAoZkwpQnAmVU9zRmhDdEVXcXJV
RFJ8eUJaZjVBclo8WXBhaGxfI2ZkbnRUKikhX1gwQworeiMoY3spZ00rfkBMYGQpNk05JXU9OVY8
dCgpVkZjP0k7dSNOJDF8KGBIO1I3Xmc+V25yYXhfaURlfno9ZjlRdGhHCit6MVUyMUVEVlV9M3M3
OSl1JXpsaFIzSnJFRmEjUFExTUMyTTsyRjdCMHNGKHVQKUJfPzhUVWVZWlY9UiVzZl9OM3AKK3pk
SighS1BaRFFDJlpJJWd3bzFwMyU+fHNFQC1wUCN3a1cmQWU8d3pMMjZrVFA5ZXZ+Nz5qV0t6eCZN
cVREfipXUworeiZgcWlsYiEpYyMxTGsyXipOfWc+LSopIUJPfiFTd2czUEk4KXtDK0E5d31oQmVQ
fTEwemZyS18wREM2LXhOPCt1Cit6X2Zsd1FPUXlVTXkwb3JofDBsVStoVGxLfSpZRzFFbis2aE9V
b3pEI15yO3ghLW4oVHQlYFFpPnp2Zkwlc2hUfV4KK3pnJComaTJ6cTF4JTFWOVR4VVpVaFAyd0hJ
bTVZIzg+aD00eVdUcVQjTV9ASGE3TSQ7Mz5FXlNqWUBQdWEkaWRNKAorekIlKTAxbX1uK0BCbXRA
LTV7cG0pX2BKYzV0fGJpQlBWJk5lcVhoZ3wwRjdHNFc0dFE8Uz5VU3BqI1dXUjR0fUl6Cit6SmRf
cj53X3goYmkxfEF2XjBhMCY9WSshNGBxeHtFXk11fXFPcW99T1REbkF9aHNfJngla1VvRE5lPzNr
X0txeFAKK3pfWCVnWnY0UVEkPFdFK2NzX1BNKGFBUV9nSEN3eHp2Rm5vZE4zbXJFKD09MmQkMj1X
YnpIXmlkPU9ISGJhSzx5UAorej4mNHZyV3Z1M2BIPT19UCE5PDBSKChvUVhHZXVvITl2cHNxTmJD
bmlRJTx7OzwyIW5+VHNhYnlMZSE/K1ErcGxQCit6a3k3ITUlK1hHeXpycmxidlhZV1NHSCUtM29s
SEk9TUIrSCFAJiNlME49a09qTW0+VUZKUCVEak5pV1FjT1AxOTIKK3pTSVcteT84ZSQrQitXdCFT
P2B8JHlaQGJiP25wdHVoVWopeUBCbE8tQX1Ta2FHdWNVdl5rbHclQTJ4fHlzJmszQworei1oTD5q
QFJsJkZHcDRIazIjMiNLdHl6RFdvLXM0d2cyRnQ4O3w2STRULWFFOSZuMyNXMkJIbXdEWntrYUc3
czd9Cit6Y0tEVSgrVSF3KngxX180QVErZ0w9aHBvKURCME1DUn1zfjU/UzZ2K2JGaFRheT9TPWQo
RGJrZUxGa3E3bGRxaHsKK3pHaHxKSjUpJUdzdEl8PD0xS2RTZjhlPDxaNTYzcDVeNG9iV157IUcz
VnFMPkVaSWR1Q1lVZ0lzWXg1b2l7NFJMNworemFDI0FRKikqRDN7Zys5LUxYWDE2WTBweUJBXjJ7
Rz1yP3R5bnpEckZwbnlPbzRTWSpFKD5LcUgjKkA2S2Z7dHE5Cit6JiF3ZkNufCpadSV7aE0kbUgx
TzYhd0hmQmFAXmVOQmBaSCh2QTEjJCR0NHEpVVUxe25HVilKejEtSX47WHtrUDUKK3poPmJ6cnU+
YmFMY0Rud1g0S0Y/bGt9PF5lZUxedVQjPiRzPGxRei1VMU5jSm8lKF5zJjtadSM9RVFZNlVISnho
VQorejJvcFI5R3xHb3YtNERsZ0RAX197dkF2YHRqcm1tV0IpM30+KyFUdn5pWDBVNGh1dEBydFpz
IW5XJiYrNURmajBwCit6aVcxOFJsIzVLaFNedSlWNDBhbyo9azw8K3ctcUB+ZnMlMjRafHUkSTZZ
cH4/RiFhc08mR35Yc0lnO3QoT3Z6dU0KK3pNcCNUfEdeVG42Q1lhPjtNZDspcm9HdlU+Q2lWKU4r
eztATE93aWthcjkwRng7Qk00SEdAVnMxdUllOW9pfmdtdAorekxPWmNYNURfcm5WUU5LUW4pOUlx
RShsaG1AWEpMSkc+MVFudnBKS0M8O2NTMndrQDxWTXxTaTVGflFaU00zVkVOCit6VDJAblptbEFX
TS0kUygoUFZqJWM3SmNfO0xWaUsqWHklalBefl5DVV5fViUhVWA3WnY1R1JYNnVrSnpXSSgzTT0K
K3o/SWhsTzdPWmkjYjwwSlZjR0Y1IXdzTGBgKEoyTmxfcGJpZShkfTBzaFcrfithZ1EqfWB8X1Bk
MUNLSHRqSE5hKAorem1IZ1dNbXUwRWo7K2ZTenRIYiVxeVcqP2k9fTxhIUw3Q3h2TU47PEU4dSk+
eSUtQy1ZdzhCfmU7MitrdXooPTBICit6RFg4VmYwalJ+T1pNYlglV35peEQpZDhUbWQqUj5fcHQk
RE9XazErfi0oM2leMTFnZWYzaXN9PiQ4bz1aNUJRVkEKK3pTcGZMRldDd09hKnR2dXEzd0E4bnYw
JXI3S2F2SDh6ezgmVmEkUm5RVHpTX0IwSDtud0E4K35VLTFxK240aHMzJgorRU5ECisgICJmaWxl
LnBuZyIpOworCisjIGV4cGVjdGVkIHJlc3VsdHMKK215ICRleHBlY3RlZCA9IGRlY29kZUdpdEJp
bmFyeUNodW5rKDw8J0VORCcsCit6Y21lSTA/Tl5oQjhPOSQjRTdTPjlPOTNtU3RwaiRKUXMpZkhP
SjN8JFFpPXA8bD9YXk9FTkBpX2x0Mj1Ka1JxRnoKK3pRb3VHJTBnWXN1Jjc0en1TaWw1KWZGTE9e
NWhjYXxpR19xZzEwaiRuTnI0ZFpLS34yUGNLQ0xrPiZ0IUwqU1VVUQorej9rbE17PzJiNDB5YUBv
bmo+SiFuZUZnd04/KlZ9S1g8elNHUFQ8PnRrcEt8ak48OC1RTmc0LUlYSGt8JHlwRSh6Cit6RlhS
NCs8KjtgYV8tWkE3dm1jeUYrY202Z0dgUXJXSjhxeGN3Rn5ZMGk7TDFyKmJlfEBabzl6YDBHdFQj
P1pBNXgKK3o0Kj1rN0cwVU01d180V01nJH5xeElmT2FkUzNYMGNfViY3VHNeJHw4Y0tzdW1yPHg7
fDV1ZDxyWHEoaE5TdT0keworej90PnlPR0A3VFBubjEtbD55UjJHRExec1pTXzg2ZCZ5KFpoJEha
WnpaaTEpISVsdXloPmt+OEAzO00ybHpJZUFyCit6NlE4bHdCZFg0PiMhU0YpNHlkSlNSWlRuKjhJ
azJXeylWIzw/KUJTfmd5Z0cjNERzK0Yre1JKLSs4fSpDQF9aV1QKK3oyVnlQOHRqUlBVYT1IdDhh
RmpoV2Q4KnRnNHdCTlpZZ15panhAXjU3S2ZgNl56Z2BlLUx8XyFHTXFpZDw8PiRuaAoremljZXoz
YkVVajJTRDg+PzcpdFI+THw1Um1kdmhfKV9LXkVsU3hoRF5HUXlAJERmfE5fSUZtYFNZenJVaHsj
TnZPCit6dCY+WkB3NTJEfD0hJTZsckZpUH10MFR+NSY9T0AtYT43NWByPFRnN0FHOz43VUcrMFZk
bjtsP3ZtNU4hMXlVazgKK3otNWx1NUpZI2V7ZG5PNUFSPk1fYjVZaDxpMUdOJlNvZnFBUTk9OVdA
eChBXi1iWVkhT0x3LTVnTCRiSWZtdzJfOQorejQ/NyhDbDd+JFR3VmFKVCF3U0F6an1UZigqN2Mo
QTB4RF9vdnJfYStjVGVkTiV9Xz97PXpfSFlyOyQoQVV5ZHUmCit6NjQoOTVwKnpwO2FqXzQkQnFn
UUE7XzNpeitjYUg9VFVQVlBQRU8xUWNNbHxXYUZzR1Vxe1dXelJpezwlYjVmIWcKK3otT0gme2Ym
fG89PCshcEN7cXNEJl8zdT5panJvPHAtQU9nJkB2JGFHYUZwNHNsSFFkVHNebT8oMihXWVhSYDNn
PgorenlDLUpLOylPcUNkdEA3MHpWYUJgdjhQQnJUcl5IT1BLS3dyajhVcn1GSk1QPUpMVHd9OEk0
PytMSyhNYjkxMXp0Cit6JHc9X24qSmdSQGF4JWtGKnVyTXh7MChkPCZjMz1CYXxXcHIjP01rciVk
UnI8NTRNYVIkRXIoJHR0PkJ7IX5fQHAKK3pHTTk1dSkkZU5EWVFwZXVST000VU9LflVWTXJ5fStB
VVVaZng/KUZtTShPI0w/VXFIalR6X2tsaClwPSRJJiRmXgorenkzcihKRH4qPGl7Qys9Y1RicUU2
U2g0I0czXm5UN1JlZTtgekxhQG1tP21gVFhFWDtVKFQlbU1pQz5Ea3A5TTdZCit6SjJHNFBLWm5D
X0p8KlhZIWljPTg0QW9SKlluPldfJXQ0SU55SFg7TWlCOEk9eWZ0RGxCd0dGcW1LbWlSVnItQm0K
K3pBK0UpK2soUTQ2ZkNKdl8qQTJgK21rPmppKX4qYFczQTYqPjd6LVp1WGB2fG45Rk0+Vk45a2sm
c3paeVdLVShGbAorentFYTdiLShxc3NFOGcwUk4rbEJZIX1WZW11QXklWlduaHZXMXl0PnpBTENs
bDdTbClNbEJXVTFQMGEyMmRfMkJoCit6a318UG5hKD49PVpYJkNmZjMmeWpjSkFlPll3RlE9bjt2
KHBoak8ybzVqcFpKYDB0YipkaUdCQW50M0JgU1I+JngKK3puUERgS2ZQWihTPV9sSGN3aj85bSNH
KGpmR0ZWQD1WPWgmPGFJd3JeX1hjTndjalpGe3dNR3ZBJiFTSFFLTDhtdworenAtNV55Y3lXb3ZV
d1E3dGliPGtoSW5CQCZkYlFubFE/UkJObyp7ciQ/VnR3PikxbE9EKHpmZDAwX3Y+by1hQTMpCit6
dVpyQjMtTVZSQz43QVNJZCoobFgjSXx4QzlpTVFWV3IrdCQySSFzaj8lZGpJWFZxP2VHIykpRENZ
RDw3MC1tZzQKK3psayRhVmRtfH50KWZSXnVwRjsrVCleY3BwM3owcjt2TCpLcTVkSmBkcUIpPXN5
eX5jKC1GSWp5JDJzYEwxO29nJAoreis4bzR5QCQrdSotXn16ZiUpcHxHQEc9ZEtIOWJMMEdQOFRX
Plp+SkshPiV0R0h7ZCNATFo2Jm81clJ3eEpGWFgtCit6QiRvdzlCSilMd14+Pzh+Vi1sb0Reb19z
NGNJdClnJlY1KnRyfXctTGdoMG1jVUcyOFQ1Kk94dTRza0tsbFZvSXgKK3omRigqcWJzcytITF5q
bCMzZj99PWpmU1ojXzhmaGBgKD9FamM3I2Y9ZHNqZjVkQWdWXilQMWBASlRAWCFXciRuegorens4
U15Hdm4pP0ZHZzh8dGdQYSQ2Szk9YmlYe3IrYGFJKGBqNHNMa3xJQzlTPkBidjxeY0FmQCsxMnRR
THd8MmkpCit6O2ZOTUhBWntAdUtNZDF2ZmhsRkotaGVzMD4oWG9BPi1ERGNLUnZ3P0JuWV51Wk5T
JkMhTjNvSnViY2I1ZnEoZEkKK3VpcD54PG8zS2cyQ0l5PW1ZKk8oNU0xZX18TVZXcXwpUlVNZWZB
dFJsNXw4N0t3ZipJPG07TVhTbD1afmAKK0VORAorICAiZmlsZS5wbmciKTsKKworIyBwYXRjaCB0
byB0ZXN0CitteSAoJGRlbHRhVHlwZSwgJGRlbHRhLCAkcmV2ZXJzZVR5cGUsICRyZXZlcnNlKSA9
IGRlY29kZUdpdEJpbmFyeVBhdGNoKDw8J0VORCcsCisKK0dJVCBiaW5hcnkgcGF0Y2gKK2RlbHRh
IDE1NzUKK3pjbVYrPzJINSR5QWhzWm9CIUIlJExfdCh8b2JCQ1BjSXdDaEt2Q1Q1UE19QWVsQFZ0
TTxpaVEhQjJgZm0kSmRZUworentuNSh9cUVyJFJKX3k/VmNELUlOMDA0Q1Vgc0BoKzBRQHVwM2pp
UHt1bUF2Slo8Rzdwem49Qj5fT3w7eXQ8bWoyCit6TCV3ejJaZzspQ3twWi0yTyM3OU14Knp8M29Z
QnU7JHsoQkxtKSEkZi0pTzJNP1NDZTBrTVA/cW0lR3p5X3J+NDMKK3pacXZLSmVmTlI4bGxqbjFK
M0ckNTkmV2lffDkpdl47fXdsWS1ybl4tdEtIPnE2Vy1vQ1NxMTtNZXFEWSkpZ01tIworej9Ve1ZA
LUNzOzZDUl9iUTJLO0MlMHJBUjRPXlBaUnxEKXxyXyhOQ3AjZUwtYFlmLXhpeUdRbHpUaD52ZEps
d2VMCit6dXRTeUspPlU9PHprZTZXZVZYSyV2VGVCZXl8KVNNaFMjTGhVWWpPQSkwMit+bGhnOVZO
alEyKUlNaWd4cWcoeFMKK3p3eSo1UVB5Znw1ZFJKWSZXSXowfThManV2STlobG9DaSZANFhlZDd6
VDhEUF4yUE1lNGsrO0cwdzRZdS11MngyUAoremViZVR5KlQzNlh4bkJRMWJuV1ZQJWZuMCNUPzIh
NmV+ciROdWxiNHpAUEYrYmRPMDBransySWYkek85O0BEPT04Cit6VDwtbk4mQkc8QC03REM7N2Qt
QUN6UHNlWmh4KCY2ekNQNllKYV59PzlidFg4aXZ4fmtiI3dvMl81UTx4cWt9JnoKK3p2LXwwQXdV
XzNEb2NKMlkpMklJRkdgOUN7X3g1ZCk0fHtrITttSlBQez05TlAtb3t4dSVqV2x2UFR0WWhqZk9n
TworejxYYHA8KVBMPSElfnZgKHUlQislY0E1NDR2JTh9Qy1uY2lKXkpSMVZvSCtRTzh0dXZacFYh
YSY/Y18oeDlOa2ZTCit6Qm04elg9PkY/YStwazdGVDxiYj84Ul5odnJ9dT8tem5rVXE2JSRLPWJ2
cnJsZTs2KEJAWXU8IyQhT1RvbWw5cWQKK3pZSkh4JldBNlVFSU5TOUJTMnA+JmBOciNzIUFHK2la
UENZVilQSHRHYjFQNSU/aykyez0xMHE5dzkhN2ktYD4lLQorelBqPU0kU3ZEREp3MH1uYmB0OyRX
LUYwKCtgKUhZIWx9LS1xbUYrdEVeWE5FU0psTTg3O2RieHF7ZEIqVWBCfVhDCit6XlptbXxkdiRX
d0tOeE09OyRidGAhMk9RfT8/MCFUZH1lcEZhIXlweT9zdjEpNj8wMzBIRl56UVMjb1JnMy0jekwK
K3ooU1Babyk/WV9QSD1mOVhAciVuI1UhSGgpV2p2SEdsTHhNXmVLaGo9MihScGMtR2xTI0V0ZXh0
PD9iSGQ5cVBuQgorem9GQnZJJmEmTktYfTd0fTUxNk8zVEE5RjhEPVZHTWI3aX0+Q1NgbkMqeE0o
YmlgX0lsVkttTnR4S0FjTE4mSSQ3Cit6cXg0QEc/WUhZdkE2aE52IygoJjMqNnBBNT9EJGJ1S1l0
PmV5UGQlMiFzWER6VW01RTNpdGdQO2NybEZiWFNLZk0KK3o/SmVvenFoNWF7Sj9HRF9jbCtjJWVZ
KjNmQGBSKCR7LUtBUV9JZU47SnkyZz8+Qm8ofkp4LTNrO3l2dCNiTmdwXgorejxpIWJwa1psQy1F
Xn4wcTR7dyk7M3VkUVJTQj05QClkYmUlPEBhalVUZkxgNHl8fCllaEoyOVMlTnYpJHZ3IXYtCit6
cFVVdHdWYk9fS2xHbjU4bEBVSmxAYzI1JS1vdk1kaGFQelV1Y3hjWG0kNylOYEFoQ0E/fmBffiYo
OXllZSo1QjMKK3o9ak01STQoQTQoRlMmY1FlfExlPUU4eXFAajs5WWlJQFF4bG8tPXZzbGMofn57
NzFpVHg4dDBjP1RMTVVgdVV4Jgorel55IyktVWJ9cDx5Wj1XWT1STXU3JCp6N0ZYTWNDJGBLJVRm
SzU9ZFNeJUxqWjIrNXxNeztjcGFFfHZHM3g8JUZkCit6VncxblphS2U0R2pzOWVWa1llNWJTMmI1
WSNsSyYyX3AxUV5UZ1VJJCh6Z3FiWlc7WnFJejgwbEpRdWgwVmZvMnkKK3pDaitqfT5pKEFQUzIw
R0BtPUNfWWl1OzQlQlIxK2B7S2FFekd7fldZVktsPC1RQE9qUGhnTmh5IWhoKTRVZkVHQQorek5B
Sm9zKWB3bFpha1B0V19hMigrPylXUmAqVkV9dVIoY3NjT31uJDJafH1vfnVSTEZlKHMxXy05Y3w5
VEpoISl1Cit6NCgkMD0oKXAmWEE0fnRlWXY7U3x5TUhBOHZpYXo2e1haZGBVKzd4QE9ZVzF1QGN1
Qil4aT5UWEpkVDYhWEIxZVUKK3pINlBnWmBlRXQ3e0BIJXlBMyUzfmkjezgjVSpGOD1PfTZLZUZD
e3I5OW9YelReIzhHZSYqSnMjK245ZSl2VT9aJgoremQ3fWdNKyZJWmx7NS1HeGx+TVJKMVFxfjV0
b2c0OTBSWHJXbGZlanY3eUM4OGB8WTFeZWBYIyghMVcqMyZ6PUdSCit6QEZsb3t2ciExVjBTdFMp
VWF5fSQyTE9OeyNUQiFXMkI4NzYyUW1TJjJRbVMmMlFtUyYyUW1TJjJRbVNZMlNediMKK1p6WDVq
S0EjU2AkV3poZnQwMDJvdlBESExrVjFscE5iTDBSMworCitsaXRlcmFsIDQxNTIKK3pjbWVJMGBC
UmV6OHBtSWRTfU8rRHFPY3MyVERHSzkxVDQ1KjRXU2VAKXBEfkV4IXJBQ3N6TCQ7a3tDej1UfS1N
NworenNZP1khQVR3ckhNMT4ke0VRenJNPFA+RChHJGJKeTIhfTVxeCRtYHFNVy1FcGBeQHZ4R3Y5
ZVdeVVFwJiN6ckZ7Cit6ZHRMU2QwMDI0bF8zP05CKiEyK3JTZkFadntjZHZieihFKVEqanI4PTVD
MHBuNGl1JX0qOU5WPWpHS1B8ZCpMeFEKK3p7RFomRXd6VHdLVCtecTBrOT1xNTQ2bDckU0BFa1NM
QXpnPmEoVV4jMEZaQ2lQQntSOF9KV05nQE1ZdlZFMShiSQorejhQPTF8aEMtblJgd0l9UChmTClC
cCZVT3NGaEN0RVdxclVEUnx5QlpmNUFyWjxZcGFobF8jZmRudFQqKSFfWDBDCit6IyhjeylnTSt+
QExgZCk2TTkldT05Vjx0KClWRmM/STt1I04kMXwoYEg7UjdeZz5XbnJheF9pRGV+ej1mOVF0aEcK
K3oxVTIxRURWVX0zczc5KXUlemxoUjNKckVGYSNQUTFNQzJNOzJGN0Iwc0YodVApQl8/OFRVZVla
Vj1SJXNmX04zcAoremRKKCFLUFpEUUMmWkklZ3dvMXAzJT58c0VALXBQI3drVyZBZTx3ekwyNmtU
UDlldn43PmpXS3p4Jk1xVER+KldTCit6JmBxaWxiISljIzFMazJeKk59Zz4tKikhQk9+IVN3ZzNQ
STgpe0MrQTl3fWhCZVB9MTB6ZnJLXzBEQzYteE48K3UKK3pfZmx3UU9ReVVNeTBvcmh8MGxVK2hU
bEt9KllHMUVuKzZoT1VvekQjXnI7eCEtbihUdCVgUWk+enZmTCVzaFR9XgoremckKiZpMnpxMXgl
MVY5VHhVWlVoUDJ3SEltNVkjOD5oPTR5V1RxVCNNX0BIYTdNJDszPkVeU2pZQFB1YSRpZE0oCit6
QiUpMDFtfW4rQEJtdEAtNXtwbSlfYEpjNXR8YmlCUFYmTmVxWGhnfDBGN0c0VzR0UTxTPlVTcGoj
V1dSNHR9SXoKK3pKZF9yPndfeChiaTF8QXZeMGEwJj1ZKyE0YHF4e0VeTXV9cU9xb31PVERuQX1o
c18meCVrVW9ETmU/M2tfS3F4UAorel9YJWdadjRRUSQ8V0UrY3NfUE0oYUFRX2dIQ3d4enZGbm9k
TjNtckUoPT0yZCQyPVdiekheaWQ9T0hIYmFLPHlQCit6PiY0dnJXdnUzYEg9PX1QITk8MFIoKG9R
WEdldW8hOXZwc3FOYkNuaVElPHs7PDIhbn5Uc2FieUxlIT8rUStwbFAKK3preTchNSUrWEd5enJy
bGJ2WFlXU0dIJS0zb2xIST1NQitIIUAmI2UwTj1rT2pNbT5VRkpQJURqTmlXUWNPUDE5MgorelNJ
Vy15PzhlJCtCK1d0IVM/YHwkeVpAYmI/bnB0dWhVail5QEJsTy1BfVNrYUd1Y1V2XmtsdyVBMnh8
eXMmazNDCit6LWhMPmpAUmwmRkdwNEhrMiMyI0t0eXpEV28tczR3ZzJGdDg7fDZJNFQtYUU5Jm4z
I1cyQkhtd0Rae2thRzdzN30KK3pjS0RVKCtVIXcqeDFfXzRBUStnTD1ocG8pREIwTUNSfXN+NT9T
NnYrYkZoVGF5P1M9ZChEYmtlTEZrcTdsZHFoeworekdofEpKNSklR3N0SXw8PTFLZFNmOGU8PFo1
NjNwNV40b2JXXnshRzNWcUw+RVpJZHVDWVVnSXNZeDVvaXs0Ukw3Cit6YUMjQVEqKSpEM3tnKzkt
TFhYMTZZMHB5QkFeMntHPXI/dHluekRyRnBueU9vNFNZKkUoPktxSCMqQDZLZnt0cTkKK3omIXdm
Q258Klp1JXtoTSRtSDFPNiF3SGZCYUBeZU5CYFpIKHZBMSMkJHQ0cSlVVTF7bkdWKUp6MS1JfjtY
e2tQNQoremg+YnpydT5iYUxjRG53WDRLRj9sa308XmVlTF51VCM+JHM8bFF6LVUxTmNKbyUoXnMm
O1p1Iz1FUVk2VUhKeGhVCit6Mm9wUjlHfEdvdi00RGxnREBfX3t2QXZgdGpybW1XQikzfT4rIVR2
fmlYMFU0aHV0QHJ0WnMhblcmJis1RGZqMHAKK3ppVzE4UmwjNUtoU151KVY0MGFvKj1rPDwrdy1x
QH5mcyUyNFp8dSRJNllwfj9GIWFzTyZHflhzSWc7dChPdnp1TQorek1wI1R8R15UbjZDWWE+O01k
Oylyb0d2VT5DaVYpTit7O0BMT3dpa2FyOTBGeDtCTTRIR0BWczF1SWU5b2l+Z210Cit6TE9aY1g1
RF9yblZRTktRbik5SXFFKGxobUBYSkxKRz4xUW52cEpLQzw7Y1Myd2tAPFZNfFNpNUZ+UVpTTTNW
RU4KK3pUMkBuWm1sQVdNLSRTKChQVmolYzdKY187TFZpSypYeSVqUF5+XkNVXl9WJSFVYDdadjVH
Ulg2dWtKeldJKDNNPQorej9JaGxPN09aaSNiPDBKVmNHRjUhd3NMYGAoSjJObF9wYmllKGR9MHNo
Vyt+K2FnUSp9YHxfUGQxQ0tIdGpITmEoCit6bUhnV01tdTBFajsrZlN6dEhiJXF5Vyo/aT19PGEh
TDdDeHZNTjs8RTh1KT55JS1DLVl3OEJ+ZTsyK2t1eig9MEgKK3pEWDhWZjBqUn5PWk1iWCVXfml4
RClkOFRtZCpSPl9wdCRET1drMSt+LSgzaV4xMWdlZjNpc30+JDhvPVo1QlFWQQorelNwZkxGV0N3
T2EqdHZ1cTN3QThudjAlcjdLYXZIOHp7OCZWYSRSblFUelNfQjBIO253QTgrflUtMXErbjRoczMm
CisKK0VORAorICAsICJmaWxlLnBuZyIpOworCitteSAkb3V0cHV0ID0gYXBwbHlHaXRCaW5hcnlQ
YXRjaERlbHRhKCRkZWx0YSwgJGlucHV0KTsKK2lzICgkb3V0cHV0LCAgJGV4cGVjdGVkLCAiYXBw
bHkgZGVsdGEgcGF0Y2ggdG8gYmluYXJ5IikgOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78214</attachid>
            <date>2011-01-07 01:06:15 -0800</date>
            <delta_ts>2011-01-07 01:46:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38864-20110107200612.patch</filename>
            <type>text/plain</type>
            <size>7994</size>
            <attacher name="Shane Stephens">shanestephens</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc1MTQ4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTEtMDEtMDcgIFNoYW5lIFN0ZXBoZW5zICA8c2hhbmVzdGVwaGVuc0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IHN2bi1hcHBseTogc2hvdWxkIHN1cHBvcnQgZ2l0IGJpbmFyeSBkZWx0YSBkaWZmcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg4NjQKKworICAgICAg
ICAqIFNjcmlwdHMvVkNTVXRpbHMucG06CisgICAgICAgICogU2NyaXB0cy9zdm4tYXBwbHk6CisK
IDIwMTEtMDEtMDUgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXaW5kb3dzIGJ1aWxkIGZpeC4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQkocmV2aXNpb24gNzUxNDgp
CisrKyBUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMSAr
NDQsMTMgQEAgQkVHSU4gewogICAgICRWRVJTSU9OICAgICA9IDEuMDA7CiAgICAgQElTQSAgICAg
ICAgID0gcXcoRXhwb3J0ZXIpOwogICAgIEBFWFBPUlQgICAgICA9IHF3KAorICAgICAgICAmYXBw
bHlHaXRCaW5hcnlQYXRjaERlbHRhCiAgICAgICAgICZjYWxsU2lsZW50bHkKICAgICAgICAgJmNh
bm9uaWNhbGl6ZVBhdGgKICAgICAgICAgJmNoYW5nZUxvZ0VtYWlsQWRkcmVzcwogICAgICAgICAm
Y2hhbmdlTG9nTmFtZQogICAgICAgICAmY2hkaXJSZXR1cm5pbmdSZWxhdGl2ZVBhdGgKKyAgICAg
ICAgJmRlY29kZUdpdEJpbmFyeUNodW5rCiAgICAgICAgICZkZWNvZGVHaXRCaW5hcnlQYXRjaAog
ICAgICAgICAmZGV0ZXJtaW5lU1ZOUm9vdAogICAgICAgICAmZGV0ZXJtaW5lVkNTUm9vdApAQCAt
MTc0Miw3ICsxNzQ0LDYgQEAgc3ViIGRlY29kZUdpdEJpbmFyeVBhdGNoKCQkKQogICAgICMKICAg
ICAjIEVhY2ggY2h1bmsgYSBsaW5lIHdoaWNoIHN0YXJ0cyBmcm9tIGVpdGhlciAibGl0ZXJhbCIg
b3IgImRlbHRhIiwKICAgICAjIGZvbGxvd2VkIGJ5IGEgbnVtYmVyIHdoaWNoIHNwZWNpZmllcyBk
ZWNvZGVkIHNpemUgb2YgdGhlIGNodW5rLgotICAgICMgVGhlICJkZWx0YSIgdHlwZSBjaHVua3Mg
YXJlbid0IHN1cHBvcnRlZCBieSB0aGlzIGZ1bmN0aW9uIHlldC4KICAgICAjCiAgICAgIyBUaGVu
LCBjb250ZW50IG9mIHRoZSBjaHVuayBjb21lcy4gVG8gZGVjb2RlIHRoZSBjb250ZW50LCB3ZQog
ICAgICMgbmVlZCBkZWNvZGUgaXQgd2l0aCBiYXNlODUgZmlyc3QsIGFuZCB0aGVuIHpsaWIuCkBA
IC0xNzYzLDEwICsxNzY0LDk0IEBAIHN1YiBkZWNvZGVHaXRCaW5hcnlQYXRjaCgkJCkKICAgICBt
eSAkcmV2ZXJzZUJpbmFyeUNodW5rID0gZGVjb2RlR2l0QmluYXJ5Q2h1bmsoJGVuY29kZWRSZXZl
cnNlQ2h1bmssICRmdWxsUGF0aCk7CiAgICAgbXkgJHJldmVyc2VCaW5hcnlDaHVua0FjdHVhbFNp
emUgPSBsZW5ndGgoJHJldmVyc2VCaW5hcnlDaHVuayk7CiAKLSAgICBkaWUgIiRmdWxsUGF0aDog
dW5leHBlY3RlZCBzaXplIG9mIHRoZSBmaXJzdCBjaHVuayAoZXhwZWN0ZWQgJGJpbmFyeUNodW5r
RXhwZWN0ZWRTaXplIGJ1dCB3YXMgJGJpbmFyeUNodW5rQWN0dWFsU2l6ZSIgaWYgKCRiaW5hcnlD
aHVua0V4cGVjdGVkU2l6ZSAhPSAkYmluYXJ5Q2h1bmtBY3R1YWxTaXplKTsKLSAgICBkaWUgIiRm
dWxsUGF0aDogdW5leHBlY3RlZCBzaXplIG9mIHRoZSBzZWNvbmQgY2h1bmsgKGV4cGVjdGVkICRy
ZXZlcnNlQmluYXJ5Q2h1bmtFeHBlY3RlZFNpemUgYnV0IHdhcyAkcmV2ZXJzZUJpbmFyeUNodW5r
QWN0dWFsU2l6ZSIgaWYgKCRyZXZlcnNlQmluYXJ5Q2h1bmtFeHBlY3RlZFNpemUgIT0gJHJldmVy
c2VCaW5hcnlDaHVua0FjdHVhbFNpemUpOworICAgIGRpZSAiJGZ1bGxQYXRoOiB1bmV4cGVjdGVk
IHNpemUgb2YgdGhlIGZpcnN0IGNodW5rIChleHBlY3RlZCAkYmluYXJ5Q2h1bmtFeHBlY3RlZFNp
emUgYnV0IHdhcyAkYmluYXJ5Q2h1bmtBY3R1YWxTaXplIiBpZiAoJGJpbmFyeUNodW5rVHlwZSBl
cSAibGl0ZXJhbCIgYW5kICRiaW5hcnlDaHVua0V4cGVjdGVkU2l6ZSAhPSAkYmluYXJ5Q2h1bmtB
Y3R1YWxTaXplKTsKKyAgICBkaWUgIiRmdWxsUGF0aDogdW5leHBlY3RlZCBzaXplIG9mIHRoZSBz
ZWNvbmQgY2h1bmsgKGV4cGVjdGVkICRyZXZlcnNlQmluYXJ5Q2h1bmtFeHBlY3RlZFNpemUgYnV0
IHdhcyAkcmV2ZXJzZUJpbmFyeUNodW5rQWN0dWFsU2l6ZSIgaWYgKCRyZXZlcnNlQmluYXJ5Q2h1
bmtUeXBlIGVxICJsaXRlcmFsIiBhbmQgJHJldmVyc2VCaW5hcnlDaHVua0V4cGVjdGVkU2l6ZSAh
PSAkcmV2ZXJzZUJpbmFyeUNodW5rQWN0dWFsU2l6ZSk7CiAKICAgICByZXR1cm4gKCRiaW5hcnlD
aHVua1R5cGUsICRiaW5hcnlDaHVuaywgJHJldmVyc2VCaW5hcnlDaHVua1R5cGUsICRyZXZlcnNl
QmluYXJ5Q2h1bmspOwogfQogCitzdWIgcmVhZEJ5dGUoJCQpCit7CisgICAgbXkgKCRkYXRhLCAk
bG9jYXRpb24pID0gQF87CisgICAgCisgICAgIyBSZXR1cm4gdGhlIGJ5dGUgYXQgJGxvY2F0aW9u
IGluICRkYXRhIGFzIGEgbnVtZXJpYyB2YWx1ZS4gCisgICAgcmV0dXJuIG9yZChzdWJzdHIoJGRh
dGEsICRsb2NhdGlvbiwgMSkpOworfQorCisjIFRoZSBnaXQgYmluYXJ5IGRlbHRhIGZvcm1hdCBp
cyB1bmRvY3VtZW50ZWQsIGV4Y2VwdCBpbiBjb2RlOgorIyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9n
aXQvZ2l0L2Jsb2IvbWFzdGVyL2RlbHRhLmg6Z2V0X2RlbHRhX2hkcl9zaXplIGlzIHRoZSBzb3Vy
Y2UKKyMgICBvZiB0aGUgYWxnb3JpdGhtIGluIGRlY29kZUdpdEJpbmFyeVBhdGNoRGVsdGFTaXpl
LgorIyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9naXQvZ2l0L2Jsb2IvbWFzdGVyL3BhdGNoLWRlbHRh
LmM6cGF0Y2hfZGVsdGEgaXMgdGhlIHNvdXJjZQorIyAgIG9mIHRoZSBhbGdvcml0aG0gaW4gYXBw
bHlHaXRCaW5hcnlQYXRjaERlbHRhLgorc3ViIGRlY29kZUdpdEJpbmFyeVBhdGNoRGVsdGFTaXpl
KCQpCit7CisgICAgbXkgKCRiaW5hcnlDaHVuaykgPSBAXzsKKyAgICAKKyAgICAjIFNvdXJjZSBh
bmQgZGVzdGluYXRpb24gYnVmZmVyIHNpemVzIGFyZSBzdG9yZWQgaW4gNy1iaXQgY2h1bmtzIGF0
IHRoZQorICAgICMgc3RhcnQgb2YgdGhlIGJpbmFyeSBkZWx0YSBwYXRjaCBkYXRhLiAgVGhlIGhp
Z2hlc3QgYml0IGluIGVhY2ggYnl0ZQorICAgICMgZXhjZXB0IHRoZSBsYXN0IGlzIHNldDsgdGhl
IHJlbWFpbmluZyA3IGJpdHMgcHJvdmlkZSB0aGUgbmV4dAorICAgICMgY2h1bmsgb2YgdGhlIHNp
emUuICBUaGUgY2h1bmtzIGFyZSBzdG9yZWQgaW4gYXNjZW5kaW5nIHNpZ25pZmljYW5jZQorICAg
ICMgb3JkZXIuCisgICAgbXkgJGNtZDsKKyAgICBteSAkc2l6ZSA9IDA7CisgICAgbXkgJHNoaWZ0
ID0gMDsKKyAgICBmb3IgKG15ICRpID0gMDsgJGkgPCBsZW5ndGgoJGJpbmFyeUNodW5rKTspIHsK
KyAgICAgICAgJGNtZCA9IHJlYWRCeXRlKCRiaW5hcnlDaHVuaywgJGkrKyk7CisgICAgICAgICRz
aXplIHw9ICgkY21kICYgMHg3ZikgPDwgJHNoaWZ0OworICAgICAgICAkc2hpZnQgKz0gNzsKKyAg
ICAgICAgaWYgKCEoJGNtZCAmIDB4ODApKSB7CisgICAgICAgICAgICByZXR1cm4gKCRzaXplLCAk
aSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKK3N1YiBhcHBseUdpdEJpbmFyeVBhdGNoRGVsdGEo
JCQpCit7CisgICAgbXkgKCRiaW5hcnlDaHVuaywgJG9yaWdpbmFsQ29udGVudHMpID0gQF87Cisg
ICAgCisgICAgIyBHaXQgZGVsdGEgZm9ybWF0IGNvbnNpc3RzIG9mIHR3byBoZWFkZXJzIGluZGlj
YXRpbmcgc291cmNlIGJ1ZmZlciBzaXplCisgICAgIyBhbmQgcmVzdWx0IHNpemUsIHRoZW4gYSBz
ZXJpZXMgb2YgY29tbWFuZHMuICBFYWNoIGNvbW1hbmQgaXMgZWl0aGVyCisgICAgIyBhIGNvcHkt
ZnJvbS1vbGQtdmVyc2lvbiAodGhlIDB4ODAgYml0IGlzIHNldCkgb3IgYSBjb3B5LWZyb20tZGVs
dGEKKyAgICAjIGNvbW1hbmQuICBDb21tYW5kcyBhcmUgYXBwbGllZCBzZXF1ZW50aWFsbHkgdG8g
Z2VuZXJhdGUgdGhlIHJlc3VsdC4KKyAgICAjCisgICAgIyBBIGNvcHktZnJvbS1vbGQtdmVyc2lv
biBjb21tYW5kIGVuY29kZXMgYW4gb2Zmc2V0IGFuZCBzaXplIHRvIGNvcHkKKyAgICAjIGZyb20g
aW4gc3Vic2VxdWVudCBiaXRzLCB3aGlsZSBhIGNvcHktZnJvbS1kZWx0YSBjb21tYW5kIGNvbnNp
c3RzIG9ubHkKKyAgICAjIG9mIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gY29weSBmcm9tIHRoZSBk
ZWx0YS4KKworICAgICMgV2UgZG9uJ3QgdXNlIHRoZXNlIHZhbHVlcywgYnV0IHdlIG5lZWQgdG8g
a25vdyBob3cgYmlnIHRoZXkgYXJlIHNvIHRoYXQKKyAgICAjIHdlIGNhbiBza2lwIHRvIHRoZSBk
aWZmIGRhdGEuCisgICAgbXkgKCRzaXplLCAkYnl0ZXNVc2VkKSA9IGRlY29kZUdpdEJpbmFyeVBh
dGNoRGVsdGFTaXplKCRiaW5hcnlDaHVuayk7CisgICAgJGJpbmFyeUNodW5rID0gc3Vic3RyKCRi
aW5hcnlDaHVuaywgJGJ5dGVzVXNlZCk7CisgICAgKCRzaXplLCAkYnl0ZXNVc2VkKSA9IGRlY29k
ZUdpdEJpbmFyeVBhdGNoRGVsdGFTaXplKCRiaW5hcnlDaHVuayk7CisgICAgJGJpbmFyeUNodW5r
ID0gc3Vic3RyKCRiaW5hcnlDaHVuaywgJGJ5dGVzVXNlZCk7CisKKyAgICBteSAkb3V0ID0gIiI7
CisgICAgZm9yIChteSAkaSA9IDA7ICRpIDwgbGVuZ3RoKCRiaW5hcnlDaHVuayk7ICkgeworICAg
ICAgICBteSAkY21kID0gb3JkKHN1YnN0cigkYmluYXJ5Q2h1bmssICRpKyssIDEpKTsKKyAgICAg
ICAgaWYgKCRjbWQgJiAweDgwKSB7CisgICAgICAgICAgICAjIEV4dHJhY3QgYW4gb2Zmc2V0IGFu
ZCBzaXplIGZyb20gdGhlIGRlbHRhIGRhdGEsIHRoZW4gY29weQorICAgICAgICAgICAgIyAkc2l6
ZSBieXRlcyBmcm9tICRvZmZzZXQgaW4gdGhlIG9yaWdpbmFsIGRhdGEgaW50byB0aGUgb3V0cHV0
LgorICAgICAgICAgICAgbXkgJG9mZnNldCA9IDA7CisgICAgICAgICAgICBteSAkc2l6ZSA9IDA7
CisgICAgICAgICAgICBpZiAoJGNtZCAmIDB4MDEpIHsgJG9mZnNldCA9IHJlYWRCeXRlKCRiaW5h
cnlDaHVuaywgJGkrKyk7IH0KKyAgICAgICAgICAgIGlmICgkY21kICYgMHgwMikgeyAkb2Zmc2V0
IHw9IHJlYWRCeXRlKCRiaW5hcnlDaHVuaywgJGkrKykgPDwgODsgfQorICAgICAgICAgICAgaWYg
KCRjbWQgJiAweDA0KSB7ICRvZmZzZXQgfD0gcmVhZEJ5dGUoJGJpbmFyeUNodW5rLCAkaSsrKSA8
PCAxNjsgfQorICAgICAgICAgICAgaWYgKCRjbWQgJiAweDA4KSB7ICRvZmZzZXQgfD0gcmVhZEJ5
dGUoJGJpbmFyeUNodW5rLCAkaSsrKSA8PCAyNDsgfQorICAgICAgICAgICAgaWYgKCRjbWQgJiAw
eDEwKSB7ICRzaXplID0gcmVhZEJ5dGUoJGJpbmFyeUNodW5rLCAkaSsrKTsgfQorICAgICAgICAg
ICAgaWYgKCRjbWQgJiAweDIwKSB7ICRzaXplIHw9IHJlYWRCeXRlKCRiaW5hcnlDaHVuaywgJGkr
KykgPDwgODsgfQorICAgICAgICAgICAgaWYgKCRjbWQgJiAweDQwKSB7ICRzaXplIHw9IHJlYWRC
eXRlKCRiaW5hcnlDaHVuaywgJGkrKykgPDwgMTY7IH0KKyAgICAgICAgICAgIGlmICgkc2l6ZSA9
PSAwKSB7ICRzaXplID0gMHgxMDAwMDsgfQorICAgICAgICAgICAgJG91dCAuPSBzdWJzdHIoJG9y
aWdpbmFsQ29udGVudHMsICRvZmZzZXQsICRzaXplKTsKKyAgICAgICAgfSBlbHNpZiAoJGNtZCkg
eworICAgICAgICAgICAgIyBDb3B5ICRjbWQgYnl0ZXMgZnJvbSB0aGUgZGVsdGEgZGF0YSBpbnRv
IHRoZSBvdXRwdXQuCisgICAgICAgICAgICAkb3V0IC49IHN1YnN0cigkYmluYXJ5Q2h1bmssICRp
LCAkY21kKTsKKyAgICAgICAgICAgICRpICs9ICRjbWQ7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBkaWUgInVuZXhwZWN0ZWQgZGVsdGEgb3Bjb2RlIDAiOworICAgICAgICB9CisgICAg
fQorCisgICAgcmV0dXJuICRvdXQ7Cit9CisKIDE7CkluZGV4OiBUb29scy9TY3JpcHRzL3N2bi1h
cHBseQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3N2bi1hcHBseQkocmV2aXNpb24gNzUx
NDgpCisrKyBUb29scy9TY3JpcHRzL3N2bi1hcHBseQkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDgg
KzI0NCw2IEBAIHN1YiBoYW5kbGVHaXRCaW5hcnlDaGFuZ2UoJCQpCiAgICAgbXkgJGNvbnRlbnRz
ID0gJGRpZmZIYXNoUmVmLT57c3ZuQ29udmVydGVkVGV4dH07CiAKICAgICBteSAoJGJpbmFyeUNo
dW5rVHlwZSwgJGJpbmFyeUNodW5rLCAkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSwgJHJldmVyc2VC
aW5hcnlDaHVuaykgPSBkZWNvZGVHaXRCaW5hcnlQYXRjaCgkY29udGVudHMsICRmdWxsUGF0aCk7
Ci0gICAgIyBGSVhNRTogc3VwcG9ydCAiZGVsdGEiIHR5cGUuCi0gICAgZGllICJvbmx5IGxpdGVy
YWwgdHlwZSBpcyBzdXBwb3J0ZWQgbm93IiBpZiAoJGJpbmFyeUNodW5rVHlwZSBuZSAibGl0ZXJh
bCIgfHwgJHJldmVyc2VCaW5hcnlDaHVua1R5cGUgbmUgImxpdGVyYWwiKTsKIAogICAgIG15ICRp
c0ZpbGVBZGRpdGlvbiA9ICRkaWZmSGFzaFJlZi0+e2lzTmV3fTsKICAgICBteSAkaXNGaWxlRGVs
ZXRpb24gPSAkZGlmZkhhc2hSZWYtPntpc0RlbGV0aW9ufTsKQEAgLTI1NywxNCArMjU1LDI2IEBA
IHN1YiBoYW5kbGVHaXRCaW5hcnlDaGFuZ2UoJCQpCiAgICAgICAgICRvcmlnaW5hbENvbnRlbnRz
ID0gam9pbigiIiwgPEZJTEU+KTsKICAgICAgICAgY2xvc2UgRklMRTsKICAgICB9Ci0gICAgZGll
ICJPcmlnaW5hbCBjb250ZW50IG9mICRmdWxsUGF0aCBtaXNtYXRjaGVzIiBpZiAkb3JpZ2luYWxD
b250ZW50cyBuZSAkcmV2ZXJzZUJpbmFyeUNodW5rOworCisgICAgaWYgKCRyZXZlcnNlQmluYXJ5
Q2h1bmtUeXBlIGVxICJsaXRlcmFsIikgeworICAgICAgICBkaWUgIk9yaWdpbmFsIGNvbnRlbnQg
b2YgJGZ1bGxQYXRoIG1pc21hdGNoZXMiIGlmICRvcmlnaW5hbENvbnRlbnRzIG5lICRyZXZlcnNl
QmluYXJ5Q2h1bms7CisgICAgfQogCiAgICAgaWYgKCRpc0ZpbGVEZWxldGlvbikgewogICAgICAg
ICBzY21SZW1vdmUoJGZ1bGxQYXRoKTsKICAgICB9IGVsc2UgewogICAgICAgICAjIEFkZGl0aW9u
IG9yIE1vZGlmaWNhdGlvbgorICAgICAgICBteSAkb3V0ID0gIiI7CisgICAgICAgIGlmICgkYmlu
YXJ5Q2h1bmtUeXBlIGVxICJkZWx0YSIpIHsKKyAgICAgICAgICAgICRvdXQgPSBhcHBseUdpdEJp
bmFyeVBhdGNoRGVsdGEoJGJpbmFyeUNodW5rLCAkb3JpZ2luYWxDb250ZW50cyk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAkb3V0ID0gJGJpbmFyeUNodW5rOworICAgICAgICB9Cisg
ICAgICAgIGlmICgkcmV2ZXJzZUJpbmFyeUNodW5rVHlwZSBlcSAiZGVsdGEiKSB7CisgICAgICAg
ICAgICBkaWUgIk9yaWdpbmFsIGNvbnRlbnQgb2YgJGZ1bGxQYXRoIG1pc21hdGNoZXMiIGlmICRv
cmlnaW5hbENvbnRlbnRzIG5lIGFwcGx5R2l0QmluYXJ5UGF0Y2hEZWx0YSgkcmV2ZXJzZUJpbmFy
eUNodW5rLCAkb3V0KTsKKyAgICAgICAgfQogICAgICAgICBvcGVuIEZJTEUsICI+IiwgJGZ1bGxQ
YXRoIG9yIGRpZSAiRmFpbGVkIHRvIG9wZW4gJGZ1bGxQYXRoLiI7Ci0gICAgICAgIHByaW50IEZJ
TEUgJGJpbmFyeUNodW5rOworICAgICAgICBwcmludCBGSUxFICRvdXQ7CiAgICAgICAgIGNsb3Nl
IEZJTEU7CiAgICAgICAgIGlmICgkaXNGaWxlQWRkaXRpb24pIHsKICAgICAgICAgICAgIHNjbUFk
ZCgkZnVsbFBhdGgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>