<?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>16868</bug_id>
          
          <creation_ts>2008-01-13 20:02:07 -0800</creation_ts>
          <short_desc>Gmail crash</short_desc>
          <delta_ts>2008-01-20 00:09:39 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dave</cc>
    
    <cc>dnkrupinski</cc>
    
    <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>67178</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-13 20:02:07 -0800</bug_when>
    <thetext>If you modify the heapAllocate() method of the JS garbage collector so that it always calls collect(), then logging into Gmail will crash in ActivationImp::markChildren(). This does not happen in r29414, so it was almost surely introduced by r29425, the ActivationImp tear-off patch. As far as I can tell via printf debugging, the crash occurs in this section of code:

    for (size_t i = 0; i &lt; size; ++i) {
        JSValue* value = localStorage[i].value;
        
        if (!value-&gt;marked())
            value-&gt;mark();
    }

According to the Maciej, the debug build fails some assertions prior to this code, so we can&apos;t use it to get the exact place where the code fails without commenting out those assertions. I did some more printf debuging instead. If I make another copy of this loop that doesn&apos;t actually mark anything, it succeeds, so the problem is probably that value is an invalid pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67179</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-01-13 20:11:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/5686108&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67181</commentid>
    <comment_count>2</comment_count>
      <attachid>18430</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-13 20:46:43 -0800</bug_when>
    <thetext>Created attachment 18430
Stack trace

Here&apos;s a stack trace. I must be so used to line number information in optimized code being bad, because the line number of the crash indicates that it is indeed an attempt to mark an invalid pointer. Also note that since ActivationImp::mark() was called rather than ActivationImp::markChildren() directly, this ActivationImp must have been torn off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67205</commentid>
    <comment_count>3</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-14 06:52:32 -0800</bug_when>
    <thetext>I tried it myself on debug with r29455. I get the same crash as in release, without any failed assertions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67209</commentid>
    <comment_count>4</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-14 07:42:48 -0800</bug_when>
    <thetext>I added some code to print out the JS being executed. It&apos;s pretty heavily obfuscated, as one might expect. The main thing that stands out is that there is a lot of usage of closures. 

I also modified the constructor of ExecState to always tear off the ActivationImp immediately after creating it. With this modification, Gmail loads fine, so the problem is likely that a required tear-off is missed. Anyone have any guesses?

(In my previous post I meant that the particular ActivationImp is *not* torn off.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67243</commentid>
    <comment_count>5</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-14 11:28:24 -0800</bug_when>
    <thetext>This is not fixed by r29474, which addresses bug 16871.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67253</commentid>
    <comment_count>6</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-14 13:29:06 -0800</bug_when>
    <thetext>Due to similarities with bug 16871, I added code to ActivationImp::mark() to check if it is called if the ActivationImp is on the stack (this should probably be an ASSERT, now that I think about it), as this could cause memory corruption by calling JSObject::mark(). However, this situation never occurs with this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67272</commentid>
    <comment_count>7</comment_count>
      <attachid>18452</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-15 01:01:02 -0800</bug_when>
    <thetext>Created attachment 18452
Proposed patch

Maciej and I debugged this crash for a while, and we came up with two problems:

1) There is no tear-off in the case of cross-window eval().

2) If m_savedExec is different than m_callingExec, then this can cause some ActivationImp objects to be missed by the garbage collector. This may have been a very obscure issue before the tear-off patch, but the tear-off patch takes the majority of ActivationImp objects out of the JS heap, so the conservative collector won&apos;t catch any mistakes.

This patch fixes both of these issues. It has been tested with both debug and release settings and passes all tests. I should be able to construct a layout test soon for the first issue, but probably not for the second.

One strange thing is that you can&apos;t fix the bug by only calling mark() on m_savedExec if it is different than m_callingExec. You also need to call it when it is the same, presumedly to reach a distinct m_savedExec further back down the stack. This might be a potential performance issue, especially in the way it is written here. It is probably a good idea to rewrite this patch so it goes down the callingExec and savedExec chains in parallel, and only recurses when they become distinct, but I have to go to bed. Maciej suggested modifying WebCore so that we can remove m_savedExec entirely. However, that might be a bit of work.

We should also investigate the relationship between this bug and bug 16871.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67275</commentid>
    <comment_count>8</comment_count>
      <attachid>18453</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-15 01:04:00 -0800</bug_when>
    <thetext>Created attachment 18453
Proposed patch

I submitted the wrong version of the patch. Here is the one I want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67295</commentid>
    <comment_count>9</comment_count>
      <attachid>18453</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-01-15 07:49:20 -0800</bug_when>
    <thetext>Comment on attachment 18453
Proposed patch

FYI, this patch does not fix bug 16871 for me (nor does it claim to).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67296</commentid>
    <comment_count>10</comment_count>
      <attachid>18453</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-15 07:51:54 -0800</bug_when>
    <thetext>Comment on attachment 18453
Proposed patch

+    if (m_savedExec &amp;&amp; m_savedExec != m_callingExec)
+        m_savedExec-&gt;mark();

The ExecState::mark function marks the scope chains of all the execs in the callingExec chain in an iterative way rather than a recursive way. But this new savedExec code uses recursion instead.

Also, the code to mark the activation is only done on the top ExecState, which seems wrong. The m_callingExec loop should either use recursion too (not my favorite idea) or we should move the marking of the activation inside that loop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67297</commentid>
    <comment_count>11</comment_count>
      <attachid>18453</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-15 07:53:06 -0800</bug_when>
    <thetext>Comment on attachment 18453
Proposed patch

I think what I&apos;m saying is that both the savedExec work and the activation work should be done inside the callingExec loop rather than outside.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67298</commentid>
    <comment_count>12</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-15 07:59:01 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 18453 [edit])
&gt; +    if (m_savedExec &amp;&amp; m_savedExec != m_callingExec)
&gt; +        m_savedExec-&gt;mark();
&gt; 
&gt; The ExecState::mark function marks the scope chains of all the execs in the
&gt; callingExec chain in an iterative way rather than a recursive way. But this new
&gt; savedExec code uses recursion instead.

That&apos;s what I was referring to changing when I said we should go down the callingExec and savedExec chains in parallel. I&apos;ll upload a new patch soon that does that.

&gt; Also, the code to mark the activation is only done on the top ExecState, which
&gt; seems wrong. The m_callingExec loop should either use recursion too (not my
&gt; favorite idea) or we should move the marking of the activation inside that
&gt; loop.

I was going to ask you today if there was any reason you didn&apos;t do that in your patch that added the marking of the activation, but I guess not, so I&apos;ll bring it into the loop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67303</commentid>
    <comment_count>13</comment_count>
      <attachid>18458</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-15 08:47:16 -0800</bug_when>
    <thetext>Created attachment 18458
Revised proposed patch

This makes the marking non-recursive except in the case where m_savedExec is actually different than m_callingExec. Instead of having the second loop, one could simply change the first loop to set currentSavedExec to currentCallingExec instead of breaking from the loop. I don&apos;t know if that is too obfuscated for something so simple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67313</commentid>
    <comment_count>14</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-01-15 12:48:23 -0800</bug_when>
    <thetext>Can you add a regression test to this patch? Typically, we require regression fixes to include test cases demonstrating the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67317</commentid>
    <comment_count>15</comment_count>
      <attachid>18461</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-15 13:29:50 -0800</bug_when>
    <thetext>Created attachment 18461
Revised proposed patch

Here is an updated version of the patch. It is less convoluted than before, maybe uses a few more branches in the bad case, and properly deals with the situation where there are multiple ExecStates down the callingExec chain that have distinct savedExec&apos;s (can this ever actually happen?).

(In reply to comment #14)
&gt; Can you add a regression test to this patch? Typically, we require regression
&gt; fixes to include test cases demonstrating the fix.

I should be able to make a layout test that shows the problems with cross-window eval(). I am not sure about the others. In theory, I should also be able to force a crash with the m_savedExec != m_calledExec situation by explicitly asking for a GC every other line. I will try to have at least one test soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67319</commentid>
    <comment_count>16</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-01-15 14:27:46 -0800</bug_when>
    <thetext>I was just talking to Maciej about this: I don&apos;t think we can rely on the m_savedExecState chain. Any code that begins a new script evaluation in a global context will produce an &quot;orphaned&quot; ExecState that isn&apos;t linked to any previous ExecStates.

This can happen during synchronous event dispatch, or any other client code where the client decides to evaluate a script from inside a JavaScript callback.

Maciej suggested allocating all active ExecStates from a central storage area. That way, GC mark could just traverse all the active ExecStates in the central storage area, and we wouldn&apos;t need to rely on m_savedExecState.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67321</commentid>
    <comment_count>17</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-15 14:33:34 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; I was just talking to Maciej about this: I don&apos;t think we can rely on the
&gt; m_savedExecState chain. Any code that begins a new script evaluation in a
&gt; global context will produce an &quot;orphaned&quot; ExecState that isn&apos;t linked to any
&gt; previous ExecStates.
&gt; 
&gt; This can happen during synchronous event dispatch, or any other client code
&gt; where the client decides to evaluate a script from inside a JavaScript
&gt; callback.

Can you think of a test case that will crash even with my latest patch?

&gt; Maciej suggested allocating all active ExecStates from a central storage area.
&gt; That way, GC mark could just traverse all the active ExecStates in the central
&gt; storage area, and we wouldn&apos;t need to rely on m_savedExecState.

Not a bad idea. It might also allow an increase in the recursion limit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67384</commentid>
    <comment_count>18</comment_count>
      <attachid>18461</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-16 10:45:46 -0800</bug_when>
    <thetext>Comment on attachment 18461
Revised proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67386</commentid>
    <comment_count>19</comment_count>
      <attachid>18461</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-16 10:50:07 -0800</bug_when>
    <thetext>Comment on attachment 18461
Revised proposed patch

Maybe I should not have said r=me while Geoff and Cameron were still debating the design, but still I don&apos;t see a reason to have this sitting in the review queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67389</commentid>
    <comment_count>20</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-16 11:04:58 -0800</bug_when>
    <thetext>I cleared the review flag because Maciej and I agreed I should make one change to the patch by taking out the m_activation marking. No one knows why it is necessary and it doesn&apos;t even fix bug 16871, whereas the other change does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67390</commentid>
    <comment_count>21</comment_count>
      <attachid>18477</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-16 11:12:09 -0800</bug_when>
    <thetext>Created attachment 18477
Revised proposed patch

Here is the newest revision of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67397</commentid>
    <comment_count>22</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-01-16 12:00:51 -0800</bug_when>
    <thetext>All we need now is layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67414</commentid>
    <comment_count>23</comment_count>
      <attachid>18484</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-01-16 14:07:52 -0800</bug_when>
    <thetext>Created attachment 18484
Revised proposed patch

(In reply to comment #22)
&gt; All we need now is layout tests.

Here is one for the cross-window eval() problem. It fails with the !switchGlobal check. Do I have to make one for the savedExec GC crash? Revision 29474 purported to fix a GC crash and was checked in without a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67416</commentid>
    <comment_count>24</comment_count>
      <attachid>18484</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-01-16 15:07:11 -0800</bug_when>
    <thetext>Comment on attachment 18484
Revised proposed patch

Good enough for me. I&apos;l make one for the savedExec crash after the fact since I think I know what happened there.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67688</commentid>
    <comment_count>25</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2008-01-19 03:27:20 -0800</bug_when>
    <thetext>Wasn&apos;t this fixed in r29542?  If so, this bug should be closed as RESOLVED/FIXED.

http://trac.webkit.org/projects/webkit/changeset/29542

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67690</commentid>
    <comment_count>26</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2008-01-19 03:29:12 -0800</bug_when>
    <thetext>*** Bug 16894 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>18430</attachid>
            <date>2008-01-13 20:46:43 -0800</date>
            <delta_ts>2008-01-13 20:46:43 -0800</delta_ts>
            <desc>Stack trace</desc>
            <filename>Safari_2008-01-13-231851_Macintosh-92.crash</filename>
            <type>text/plain</type>
            <size>39842</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">UHJvY2VzczogICAgICAgICBTYWZhcmkgWzI2NTY1XQpQYXRoOiAgICAgICAgICAgIC9BcHBsaWNh
dGlvbnMvU2FmYXJpLmFwcC9Db250ZW50cy9NYWNPUy9TYWZhcmkKSWRlbnRpZmllcjogICAgICBj
b20uYXBwbGUuU2FmYXJpClZlcnNpb246ICAgICAgICAgMy4wLjQgKDU1MjMuMTAuNikKQnVpbGQg
SW5mbzogICAgICBXZWJCcm93c2VyLTU1MjMxMDA2fjEKQ29kZSBUeXBlOiAgICAgICBYODYgKE5h
dGl2ZSkKUGFyZW50IFByb2Nlc3M6ICBwZXJsIFsyNjU1OF0KCkRhdGUvVGltZTogICAgICAgMjAw
OC0wMS0xMyAyMzoxODo1MS4wMTEgLTA1MDAKT1MgVmVyc2lvbjogICAgICBNYWMgT1MgWCAxMC41
LjEgKDlCMTgpClJlcG9ydCBWZXJzaW9uOiAgNgoKRXhjZXB0aW9uIFR5cGU6ICBFWENfQkFEX0FD
Q0VTUyAoU0lHQlVTKQpFeGNlcHRpb24gQ29kZXM6IEtFUk5fUFJPVEVDVElPTl9GQUlMVVJFIGF0
IDB4MDAwMDAwMDAwMDAwMDAzMApDcmFzaGVkIFRocmVhZDogIDAKClRocmVhZCAwIENyYXNoZWQ6
CjAgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM0OTVkNSBLSlM6OkFjdGl2
YXRpb25JbXA6Om1hcmtDaGlsZHJlbigpICsgMTQ5ICh2YWx1ZS5oOjQxMikKMSAgIGNvbS5hcHBs
ZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzQ5Nzc4IEtKUzo6RXhlY1N0YXRlOjptYXJrKCkg
KyAyMDAgKHNjb3BlX2NoYWluX21hcmsuaDo0MSkKMiAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29y
ZSAgICAgIAkweDAwM2U5ZDA3IEtKUzo6SlNHbG9iYWxPYmplY3Q6Om1hcmsoKSArIDU1IChKU0ds
b2JhbE9iamVjdC5jcHA6NDc2KQozICAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4
MDEzNjFlZDcgS0pTOjpXaW5kb3c6Om1hcmsoKSArIDIzIChranNfd2luZG93LmNwcDoyNzcpCjQg
ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM0OGRmMiBLSlM6OkNvbGxlY3Rv
cjo6bWFya1N0YWNrT2JqZWN0c0NvbnNlcnZhdGl2ZWx5KHZvaWQqLCB2b2lkKikgKyAyOTAgKGNv
bGxlY3Rvci5jcHA6NTM4KQo1ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAz
NDhlY2QgS0pTOjpDb2xsZWN0b3I6Om1hcmtDdXJyZW50VGhyZWFkQ29uc2VydmF0aXZlbHkoKSAr
IDQ1IChjb2xsZWN0b3IuY3BwOjU2NykKNiAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwMzcwOTcxIEtKUzo6Q29sbGVjdG9yOjpjb2xsZWN0KCkgKyA4MSAoY29sbGVjdG9yLmNw
cDo3MTQpCjcgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDNkOGY3NCB2b2lk
KiBLSlM6OkNvbGxlY3Rvcjo6aGVhcEFsbG9jYXRlPChLSlM6OkNvbGxlY3Rvcjo6SGVhcFR5cGUp
MD4odW5zaWduZWQgbG9uZykgKyAyMCAoY29sbGVjdG9yLmNwcDoyMjYpCjggICBjb20uYXBwbGUu
SmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDNiNDVhMSBLSlM6OkZ1bmN0aW9uSW1wOjpjb25zdHJ1
Y3QoS0pTOjpFeGVjU3RhdGUqLCBLSlM6Okxpc3QgY29uc3QmKSArIDEyOSAob2JqZWN0LmNwcDo5
MCkKOSAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzliZDc0IEtKUzo6TmV3
RXhwck5vZGU6OmV2YWx1YXRlKEtKUzo6RXhlY1N0YXRlKikgKyA2MjggKG5vZGVzLmNwcDo5MDcp
CjEwICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM4MjgwZiBLSlM6OlJldHVy
bk5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDc5IChub2Rlcy5jcHA6Mzk5MikKMTEg
IGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25C
b2R5Tm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikK
MTIgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rp
b25JbXA6OmNhbGxBc0Z1bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtK
Uzo6TGlzdCBjb25zdCYpICsgNzMgKGZ1bmN0aW9uLmNwcDo3NikKMTMgIGNvbS5hcHBsZS5KYXZh
U2NyaXB0Q29yZSAgICAgIAkweDAwMzk2ZDg2IEtKUzo6RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZXZh
bHVhdGUoS0pTOjpFeGVjU3RhdGUqKSArIDgwNiAob2JqZWN0LmNwcDo5OSkKMTQgIGNvbS5hcHBs
ZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzhjNTA5IEtKUzo6QXNzaWduTG9jYWxWYXJOb2Rl
OjpldmFsdWF0ZShLSlM6OkV4ZWNTdGF0ZSopICsgMjUgKG5vZGVzLmNwcDozMjEzKQoxNSAgY29t
LmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzOGNhNmEgS0pTOjpDb21tYU5vZGU6OmV2
YWx1YXRlKEtKUzo6RXhlY1N0YXRlKikgKyA3NCAobm9kZXMuY3BwOjM0NDYpCjE2ICBjb20uYXBw
bGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM4MzQ0OSBLSlM6OlZhclN0YXRlbWVudE5vZGU6
OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDI1IChub2Rlcy5jcHA6MzY1NykKMTcgIGNvbS5h
cHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9k
ZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKMTggIGNv
bS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6
OmNhbGxBc0Z1bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlz
dCBjb25zdCYpICsgNzMgKGZ1bmN0aW9uLmNwcDo3NikKMTkgIGNvbS5hcHBsZS5KYXZhU2NyaXB0
Q29yZSAgICAgIAkweDAwMzk2ZDg2IEtKUzo6RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZXZhbHVhdGUo
S0pTOjpFeGVjU3RhdGUqKSArIDgwNiAob2JqZWN0LmNwcDo5OSkKMjAgIGNvbS5hcHBsZS5KYXZh
U2NyaXB0Q29yZSAgICAgIAkweDAwMzgzNDk5IEtKUzo6RXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1
dGUoS0pTOjpFeGVjU3RhdGUqKSArIDI1IChub2Rlcy5jcHA6MzY0MSkKMjEgIGNvbS5hcHBsZS5K
YXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhl
Y3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKMjIgIGNvbS5hcHBs
ZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxB
c0Z1bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25z
dCYpICsgNzMgKGZ1bmN0aW9uLmNwcDo3NikKMjMgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAg
ICAgIAkweDAwMzk2ZDg2IEtKUzo6RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZXZhbHVhdGUoS0pTOjpF
eGVjU3RhdGUqKSArIDgwNiAob2JqZWN0LmNwcDo5OSkKMjQgIGNvbS5hcHBsZS5KYXZhU2NyaXB0
Q29yZSAgICAgIAkweDAwMzgzNDk5IEtKUzo6RXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoS0pT
OjpFeGVjU3RhdGUqKSArIDI1IChub2Rlcy5jcHA6MzY0MSkKMjUgIGNvbS5hcHBsZS5KYXZhU2Ny
aXB0Q29yZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhlY3V0ZShL
SlM6OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKMjYgIGNvbS5hcHBsZS5KYXZh
U2NyaXB0Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxBc0Z1bmN0
aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYpICsg
NzMgKGZ1bmN0aW9uLmNwcDo3NikKMjcgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkw
eDAwMzk2ZDg2IEtKUzo6RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVjU3Rh
dGUqKSArIDgwNiAob2JqZWN0LmNwcDo5OSkKMjggIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAg
ICAgIAkweDAwMzhjNmFlIEtKUzo6QXNzaWduRG90Tm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVjU3Rh
dGUqKSArIDk0IChub2Rlcy5jcHA6MzMxMSkKMjkgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAg
ICAgIAkweDAwMzgzNDk5IEtKUzo6RXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVj
U3RhdGUqKSArIDI1IChub2Rlcy5jcHA6MzY0MSkKMzAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29y
ZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhlY3V0ZShLSlM6OkV4
ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKMzEgIGNvbS5hcHBsZS5KYXZhU2NyaXB0
Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxBc0Z1bmN0aW9uKEtK
Uzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYpICsgNzMgKGZ1
bmN0aW9uLmNwcDo3NikKMzIgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzk2
ZDg2IEtKUzo6RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVjU3RhdGUqKSAr
IDgwNiAob2JqZWN0LmNwcDo5OSkKMzMgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkw
eDAwMzgzNDk5IEtKUzo6RXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUq
KSArIDI1IChub2Rlcy5jcHA6MzY0MSkKMzQgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0
ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKMzUgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAg
ICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxBc0Z1bmN0aW9uKEtKUzo6RXhl
Y1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYpICsgNzMgKGZ1bmN0aW9u
LmNwcDo3NikKMzYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2I0NjMwIEtK
Uzo6RnVuY3Rpb25JbXA6OmNvbnN0cnVjdChLSlM6OkV4ZWNTdGF0ZSosIEtKUzo6TGlzdCBjb25z
dCYpICsgMjcyIChvYmplY3QuY3BwOjk5KQozNyAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAg
ICAgCTB4MDAzOWJkNzQgS0pTOjpOZXdFeHByTm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVjU3RhdGUq
KSArIDYyOCAobm9kZXMuY3BwOjkwNykKMzggIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwMzgyODBmIEtKUzo6UmV0dXJuTm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsg
NzkgKG5vZGVzLmNwcDozOTkyKQozOSAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4
MDAzYjk5MzEgS0pTOjpGdW5jdGlvbkJvZHlOb2RlOjpleGVjdXRlKEtKUzo6RXhlY1N0YXRlKikg
KyA0MzMgKG5vZGVzLmNwcDozNTk2KQo0MCAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAg
CTB4MDAzNjExMTkgS0pTOjpGdW5jdGlvbkltcDo6Y2FsbEFzRnVuY3Rpb24oS0pTOjpFeGVjU3Rh
dGUqLCBLSlM6OkpTT2JqZWN0KiwgS0pTOjpMaXN0IGNvbnN0JikgKyA3MyAoZnVuY3Rpb24uY3Bw
Ojc2KQo0MSAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzYTYwNzcgS0pTOjpG
dW5jdGlvblByb3RvRnVuYzo6Y2FsbEFzRnVuY3Rpb24oS0pTOjpFeGVjU3RhdGUqLCBLSlM6OkpT
T2JqZWN0KiwgS0pTOjpMaXN0IGNvbnN0JikgKyAxNzk5IChvYmplY3QuY3BwOjk5KQo0MiAgY29t
LmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzOTZkODYgS0pTOjpGdW5jdGlvbkNhbGxE
b3ROb2RlOjpldmFsdWF0ZShLSlM6OkV4ZWNTdGF0ZSopICsgODA2IChvYmplY3QuY3BwOjk5KQo0
MyAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzOGM1MDkgS0pTOjpBc3NpZ25M
b2NhbFZhck5vZGU6OmV2YWx1YXRlKEtKUzo6RXhlY1N0YXRlKikgKyAyNSAobm9kZXMuY3BwOjMy
MTMpCjQ0ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM4MzQ0OSBLSlM6OlZh
clN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDI1IChub2Rlcy5jcHA6
MzY1NykKNDUgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzQ4ZjEwIEtKUzo6
QmxvY2tOb2RlOjpleGVjdXRlKEtKUzo6RXhlY1N0YXRlKikgKyA2NCAobm9kZXMuY3BwOjM1OTYp
CjQ2ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM4MmZkNiBLSlM6OkZvck5v
ZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDEwMiAoRXhlY1N0YXRlLmg6NjYpCjQ3ICBj
b20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDNiOTkzMSBLSlM6OkZ1bmN0aW9uQm9k
eU5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDQzMyAobm9kZXMuY3BwOjM1OTYpCjQ4
ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM2MTExOSBLSlM6OkZ1bmN0aW9u
SW1wOjpjYWxsQXNGdW5jdGlvbihLSlM6OkV4ZWNTdGF0ZSosIEtKUzo6SlNPYmplY3QqLCBLSlM6
Okxpc3QgY29uc3QmKSArIDczIChmdW5jdGlvbi5jcHA6NzYpCjQ5ICBjb20uYXBwbGUuSmF2YVNj
cmlwdENvcmUgICAgICAJMHgwMDM5NmQ4NiBLSlM6OkZ1bmN0aW9uQ2FsbERvdE5vZGU6OmV2YWx1
YXRlKEtKUzo6RXhlY1N0YXRlKikgKyA4MDYgKG9iamVjdC5jcHA6OTkpCjUwICBjb20uYXBwbGUu
SmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM4MjgwZiBLSlM6OlJldHVybk5vZGU6OmV4ZWN1dGUo
S0pTOjpFeGVjU3RhdGUqKSArIDc5IChub2Rlcy5jcHA6Mzk5MikKNTEgIGNvbS5hcHBsZS5KYXZh
U2NyaXB0Q29yZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhlY3V0
ZShLSlM6OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKNTIgIGNvbS5hcHBsZS5K
YXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxBc0Z1
bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYp
ICsgNzMgKGZ1bmN0aW9uLmNwcDo3NikKNTMgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwMzk2ZDg2IEtKUzo6RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVj
U3RhdGUqKSArIDgwNiAob2JqZWN0LmNwcDo5OSkKNTQgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29y
ZSAgICAgIAkweDAwMzhjNmFlIEtKUzo6QXNzaWduRG90Tm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVj
U3RhdGUqKSArIDk0IChub2Rlcy5jcHA6MzMxMSkKNTUgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29y
ZSAgICAgIAkweDAwMzgzNDk5IEtKUzo6RXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoS0pTOjpF
eGVjU3RhdGUqKSArIDI1IChub2Rlcy5jcHA6MzY0MSkKNTYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0
Q29yZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhlY3V0ZShLSlM6
OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKNTcgIGNvbS5hcHBsZS5KYXZhU2Ny
aXB0Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxBc0Z1bmN0aW9u
KEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYpICsgNzMg
KGZ1bmN0aW9uLmNwcDo3NikKNTggIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAw
Mzk2ZDg2IEtKUzo6RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVjU3RhdGUq
KSArIDgwNiAob2JqZWN0LmNwcDo5OSkKNTkgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwMzgzNDk5IEtKUzo6RXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3Rh
dGUqKSArIDI1IChub2Rlcy5jcHA6MzY0MSkKNjAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAg
ICAgIAkweDAwMzQ4ZjEwIEtKUzo6QmxvY2tOb2RlOjpleGVjdXRlKEtKUzo6RXhlY1N0YXRlKikg
KyA2NCAobm9kZXMuY3BwOjM1OTYpCjYxICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJ
MHgwMDNiNDZmMSBLSlM6OlRyeU5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDMzIChu
b2Rlcy5jcHA6NDIwNSkKNjIgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2I5
OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgNDMz
IChub2Rlcy5jcHA6MzU5NikKNjMgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAw
MzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxBc0Z1bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwg
S0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYpICsgNzMgKGZ1bmN0aW9uLmNwcDo3NikK
NjQgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzk2ZDg2IEtKUzo6RnVuY3Rp
b25DYWxsRG90Tm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVjU3RhdGUqKSArIDgwNiAob2JqZWN0LmNw
cDo5OSkKNjUgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzgzNDk5IEtKUzo6
RXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDI1IChub2Rlcy5j
cHA6MzY0MSkKNjYgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2I5OTMxIEtK
Uzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rl
cy5jcHA6MzU5NikKNjcgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzYxMTE5
IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxBc0Z1bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpK
U09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYpICsgNzMgKGZ1bmN0aW9uLmNwcDo3NikKNjggIGNv
bS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2E1ZmVhIEtKUzo6RnVuY3Rpb25Qcm90
b0Z1bmM6OmNhbGxBc0Z1bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtK
Uzo6TGlzdCBjb25zdCYpICsgMTY1OCAob2JqZWN0LmNwcDo5OSkKNjkgIGNvbS5hcHBsZS5KYXZh
U2NyaXB0Q29yZSAgICAgIAkweDAwMzk2ZDg2IEtKUzo6RnVuY3Rpb25DYWxsRG90Tm9kZTo6ZXZh
bHVhdGUoS0pTOjpFeGVjU3RhdGUqKSArIDgwNiAob2JqZWN0LmNwcDo5OSkKNzAgIGNvbS5hcHBs
ZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzgzNDk5IEtKUzo6RXhwclN0YXRlbWVudE5vZGU6
OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDI1IChub2Rlcy5jcHA6MzY0MSkKNzEgIGNvbS5h
cHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9k
ZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKNzIgIGNv
bS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6
OmNhbGxBc0Z1bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlz
dCBjb25zdCYpICsgNzMgKGZ1bmN0aW9uLmNwcDo3NikKNzMgIGNvbS5hcHBsZS5KYXZhU2NyaXB0
Q29yZSAgICAgIAkweDAwM2I0NjMwIEtKUzo6RnVuY3Rpb25JbXA6OmNvbnN0cnVjdChLSlM6OkV4
ZWNTdGF0ZSosIEtKUzo6TGlzdCBjb25zdCYpICsgMjcyIChvYmplY3QuY3BwOjk5KQo3NCAgY29t
LmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzOWJkNzQgS0pTOjpOZXdFeHByTm9kZTo6
ZXZhbHVhdGUoS0pTOjpFeGVjU3RhdGUqKSArIDYyOCAobm9kZXMuY3BwOjkwNykKNzUgIGNvbS5h
cHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzhjNTA5IEtKUzo6QXNzaWduTG9jYWxWYXJO
b2RlOjpldmFsdWF0ZShLSlM6OkV4ZWNTdGF0ZSopICsgMjUgKG5vZGVzLmNwcDozMjEzKQo3NiAg
Y29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzODM0NDkgS0pTOjpWYXJTdGF0ZW1l
bnROb2RlOjpleGVjdXRlKEtKUzo6RXhlY1N0YXRlKikgKyAyNSAobm9kZXMuY3BwOjM2NTcpCjc3
ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDNiOTkzMSBLSlM6OkZ1bmN0aW9u
Qm9keU5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDQzMyAobm9kZXMuY3BwOjM1OTYp
Cjc4ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM2MTExOSBLSlM6OkZ1bmN0
aW9uSW1wOjpjYWxsQXNGdW5jdGlvbihLSlM6OkV4ZWNTdGF0ZSosIEtKUzo6SlNPYmplY3QqLCBL
SlM6Okxpc3QgY29uc3QmKSArIDczIChmdW5jdGlvbi5jcHA6NzYpCjc5ICBjb20uYXBwbGUuSmF2
YVNjcmlwdENvcmUgICAgICAJMHgwMDM5OTU2MCBLSlM6OkZ1bmN0aW9uQ2FsbFJlc29sdmVOb2Rl
OjpldmFsdWF0ZShLSlM6OkV4ZWNTdGF0ZSopICsgODk2IChvYmplY3QuY3BwOjk5KQo4MCAgY29t
LmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzODM0OTkgS0pTOjpFeHByU3RhdGVtZW50
Tm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgMjUgKG5vZGVzLmNwcDozNjQxKQo4MSAg
Y29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzYjk5MzEgS0pTOjpGdW5jdGlvbkJv
ZHlOb2RlOjpleGVjdXRlKEtKUzo6RXhlY1N0YXRlKikgKyA0MzMgKG5vZGVzLmNwcDozNTk2KQo4
MiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzNjExMTkgS0pTOjpGdW5jdGlv
bkltcDo6Y2FsbEFzRnVuY3Rpb24oS0pTOjpFeGVjU3RhdGUqLCBLSlM6OkpTT2JqZWN0KiwgS0pT
OjpMaXN0IGNvbnN0JikgKyA3MyAoZnVuY3Rpb24uY3BwOjc2KQo4MyAgY29tLmFwcGxlLkphdmFT
Y3JpcHRDb3JlICAgICAgCTB4MDAzOTU5MzcgS0pTOjpMb2NhbFZhckZ1bmN0aW9uQ2FsbE5vZGU6
OmV2YWx1YXRlKEtKUzo6RXhlY1N0YXRlKikgKyA1MTkgKG9iamVjdC5jcHA6OTkpCjg0ICBjb20u
YXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM4MzQ5OSBLSlM6OkV4cHJTdGF0ZW1lbnRO
b2RlOjpleGVjdXRlKEtKUzo6RXhlY1N0YXRlKikgKyAyNSAobm9kZXMuY3BwOjM2NDEpCjg1ICBj
b20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM0OGYxMCBLSlM6OkJsb2NrTm9kZTo6
ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgNjQgKG5vZGVzLmNwcDozNTk2KQo4NiAgY29tLmFw
cGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzODM0MGUgS0pTOjpJZk5vZGU6OmV4ZWN1dGUo
S0pTOjpFeGVjU3RhdGUqKSArIDc4IChub2Rlcy5jcHA6MzY3OSkKODcgIGNvbS5hcHBsZS5KYXZh
U2NyaXB0Q29yZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhlY3V0
ZShLSlM6OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKODggIGNvbS5hcHBsZS5K
YXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxBc0Z1
bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYp
ICsgNzMgKGZ1bmN0aW9uLmNwcDo3NikKODkgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwMzk5NTYwIEtKUzo6RnVuY3Rpb25DYWxsUmVzb2x2ZU5vZGU6OmV2YWx1YXRlKEtKUzo6
RXhlY1N0YXRlKikgKyA4OTYgKG9iamVjdC5jcHA6OTkpCjkwICBjb20uYXBwbGUuSmF2YVNjcmlw
dENvcmUgICAgICAJMHgwMDM4MzQ5OSBLSlM6OkV4cHJTdGF0ZW1lbnROb2RlOjpleGVjdXRlKEtK
Uzo6RXhlY1N0YXRlKikgKyAyNSAobm9kZXMuY3BwOjM2NDEpCjkxICBjb20uYXBwbGUuSmF2YVNj
cmlwdENvcmUgICAgICAJMHgwMDNiOTkzMSBLSlM6OkZ1bmN0aW9uQm9keU5vZGU6OmV4ZWN1dGUo
S0pTOjpFeGVjU3RhdGUqKSArIDQzMyAobm9kZXMuY3BwOjM1OTYpCjkyICBjb20uYXBwbGUuSmF2
YVNjcmlwdENvcmUgICAgICAJMHgwMDM2MTExOSBLSlM6OkZ1bmN0aW9uSW1wOjpjYWxsQXNGdW5j
dGlvbihLSlM6OkV4ZWNTdGF0ZSosIEtKUzo6SlNPYmplY3QqLCBLSlM6Okxpc3QgY29uc3QmKSAr
IDczIChmdW5jdGlvbi5jcHA6NzYpCjkzICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJ
MHgwMDM5NTkzNyBLSlM6OkxvY2FsVmFyRnVuY3Rpb25DYWxsTm9kZTo6ZXZhbHVhdGUoS0pTOjpF
eGVjU3RhdGUqKSArIDUxOSAob2JqZWN0LmNwcDo5OSkKOTQgIGNvbS5hcHBsZS5KYXZhU2NyaXB0
Q29yZSAgICAgIAkweDAwMzgzNDk5IEtKUzo6RXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoS0pT
OjpFeGVjU3RhdGUqKSArIDI1IChub2Rlcy5jcHA6MzY0MSkKOTUgIGNvbS5hcHBsZS5KYXZhU2Ny
aXB0Q29yZSAgICAgIAkweDAwMzQ4ZjEwIEtKUzo6QmxvY2tOb2RlOjpleGVjdXRlKEtKUzo6RXhl
Y1N0YXRlKikgKyA2NCAobm9kZXMuY3BwOjM1OTYpCjk2ICBjb20uYXBwbGUuSmF2YVNjcmlwdENv
cmUgICAgICAJMHgwMDM4MzM4ZSBLSlM6OklmRWxzZU5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3Rh
dGUqKSArIDc4IChub2Rlcy5jcHA6MzY5NykKOTcgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAg
ICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rpb25Cb2R5Tm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNT
dGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5NikKOTggIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29y
ZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVuY3Rpb25JbXA6OmNhbGxBc0Z1bmN0aW9uKEtKUzo6
RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYpICsgNzMgKGZ1bmN0
aW9uLmNwcDo3NikKOTkgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2E2MDc3
IEtKUzo6RnVuY3Rpb25Qcm90b0Z1bmM6OmNhbGxBc0Z1bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwg
S0pTOjpKU09iamVjdCosIEtKUzo6TGlzdCBjb25zdCYpICsgMTc5OSAob2JqZWN0LmNwcDo5OSkK
MTAwIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzk2ZDg2IEtKUzo6RnVuY3Rp
b25DYWxsRG90Tm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVjU3RhdGUqKSArIDgwNiAob2JqZWN0LmNw
cDo5OSkKMTAxIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzgyODBmIEtKUzo6
UmV0dXJuTm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgNzkgKG5vZGVzLmNwcDozOTky
KQoxMDIgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzYjk5MzEgS0pTOjpGdW5j
dGlvbkJvZHlOb2RlOjpleGVjdXRlKEtKUzo6RXhlY1N0YXRlKikgKyA0MzMgKG5vZGVzLmNwcDoz
NTk2KQoxMDMgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzNjExMTkgS0pTOjpG
dW5jdGlvbkltcDo6Y2FsbEFzRnVuY3Rpb24oS0pTOjpFeGVjU3RhdGUqLCBLSlM6OkpTT2JqZWN0
KiwgS0pTOjpMaXN0IGNvbnN0JikgKyA3MyAoZnVuY3Rpb24uY3BwOjc2KQoxMDQgY29tLmFwcGxl
LkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDAzOTk1NjAgS0pTOjpGdW5jdGlvbkNhbGxSZXNvbHZl
Tm9kZTo6ZXZhbHVhdGUoS0pTOjpFeGVjU3RhdGUqKSArIDg5NiAob2JqZWN0LmNwcDo5OSkKMTA1
IGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzgzNDk5IEtKUzo6RXhwclN0YXRl
bWVudE5vZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDI1IChub2Rlcy5jcHA6MzY0MSkK
MTA2IGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwM2I5OTMxIEtKUzo6RnVuY3Rp
b25Cb2R5Tm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNTdGF0ZSopICsgNDMzIChub2Rlcy5jcHA6MzU5
NikKMTA3IGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzYxMTE5IEtKUzo6RnVu
Y3Rpb25JbXA6OmNhbGxBc0Z1bmN0aW9uKEtKUzo6RXhlY1N0YXRlKiwgS0pTOjpKU09iamVjdCos
IEtKUzo6TGlzdCBjb25zdCYpICsgNzMgKGZ1bmN0aW9uLmNwcDo3NikKMTA4IGNvbS5hcHBsZS5K
YXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzk2ZDg2IEtKUzo6RnVuY3Rpb25DYWxsRG90Tm9kZTo6
ZXZhbHVhdGUoS0pTOjpFeGVjU3RhdGUqKSArIDgwNiAob2JqZWN0LmNwcDo5OSkKMTA5IGNvbS5h
cHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzgzNDk5IEtKUzo6RXhwclN0YXRlbWVudE5v
ZGU6OmV4ZWN1dGUoS0pTOjpFeGVjU3RhdGUqKSArIDI1IChub2Rlcy5jcHA6MzY0MSkKMTEwIGNv
bS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwMzQ4ZjEwIEtKUzo6QmxvY2tOb2RlOjpl
eGVjdXRlKEtKUzo6RXhlY1N0YXRlKikgKyA2NCAobm9kZXMuY3BwOjM1OTYpCjExMSBjb20uYXBw
bGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDM4MzQwZSBLSlM6OklmTm9kZTo6ZXhlY3V0ZShL
SlM6OkV4ZWNTdGF0ZSopICsgNzggKG5vZGVzLmNwcDozNjc5KQoxMTIgY29tLmFwcGxlLkphdmFT
Y3JpcHRDb3JlICAgICAgCTB4MDAzYjk5MzEgS0pTOjpGdW5jdGlvbkJvZHlOb2RlOjpleGVjdXRl
KEtKUzo6RXhlY1N0YXRlKikgKyA0MzMgKG5vZGVzLmNwcDozNTk2KQoxMTMgY29tLmFwcGxlLkph
dmFTY3JpcHRDb3JlICAgICAgCTB4MDAzNjExMTkgS0pTOjpGdW5jdGlvbkltcDo6Y2FsbEFzRnVu
Y3Rpb24oS0pTOjpFeGVjU3RhdGUqLCBLSlM6OkpTT2JqZWN0KiwgS0pTOjpMaXN0IGNvbnN0Jikg
KyA3MyAoZnVuY3Rpb24uY3BwOjc2KQoxMTQgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAg
CTB4MDAzOTZkODYgS0pTOjpGdW5jdGlvbkNhbGxEb3ROb2RlOjpldmFsdWF0ZShLSlM6OkV4ZWNT
dGF0ZSopICsgODA2IChvYmplY3QuY3BwOjk5KQoxMTUgY29tLmFwcGxlLkphdmFTY3JpcHRDb3Jl
ICAgICAgCTB4MDAzODM0OTkgS0pTOjpFeHByU3RhdGVtZW50Tm9kZTo6ZXhlY3V0ZShLSlM6OkV4
ZWNTdGF0ZSopICsgMjUgKG5vZGVzLmNwcDozNjQxKQoxMTYgY29tLmFwcGxlLkphdmFTY3JpcHRD
b3JlICAgICAgCTB4MDAzYjk1OTAgS0pTOjpQcm9ncmFtTm9kZTo6ZXhlY3V0ZShLSlM6OkV4ZWNT
dGF0ZSopICsgMzA0IChub2Rlcy5jcHA6MzU5NikKMTE3IGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29y
ZSAgICAgIAkweDAwM2MyMWEzIEtKUzo6SW50ZXJwcmV0ZXI6OmV2YWx1YXRlKEtKUzo6RXhlY1N0
YXRlKiwgS0pTOjpVU3RyaW5nIGNvbnN0JiwgaW50LCBLSlM6OlVDaGFyIGNvbnN0KiwgaW50LCBL
SlM6OkpTVmFsdWUqKSArIDE4NTkgKEV4ZWNTdGF0ZS5oOjEyMCkKMTE4IGNvbS5hcHBsZS5XZWJD
b3JlICAgICAgICAgICAgIAkweDAxMzYxOTY4IFdlYkNvcmU6OktKU1Byb3h5OjpldmFsdWF0ZShX
ZWJDb3JlOjpTdHJpbmcgY29uc3QmLCBpbnQsIFdlYkNvcmU6OlN0cmluZyBjb25zdCYpICsgMjAw
IChranNfcHJveHkuY3BwOjkwKQoxMTkgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4
MDBmOGI0MmIgV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmV4ZWN1dGVTY3JpcHQoV2ViQ29yZTo6U3Ry
aW5nIGNvbnN0JiwgaW50LCBXZWJDb3JlOjpTdHJpbmcgY29uc3QmKSArIDc1IChGcmFtZUxvYWRl
ci5jcHA6NzU4KQoxMjAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDBmZTc3MmIg
V2ViQ29yZTo6SFRNTFRva2VuaXplcjo6c2NyaXB0RXhlY3V0aW9uKFdlYkNvcmU6OkRlcHJlY2F0
ZWRTdHJpbmcgY29uc3QmLCBXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjpTdGF0ZSwgV2ViQ29yZTo6
RGVwcmVjYXRlZFN0cmluZywgaW50KSArIDM2MyAoUmVmUHRyLmg6NDUpCjEyMSBjb20uYXBwbGUu
V2ViQ29yZSAgICAgICAgICAgICAJMHgwMGZlN2NiMiBXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjpu
b3RpZnlGaW5pc2hlZChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZSopICsgOTQ2IChIVE1MVG9rZW5p
emVyLmNwcDoxNzU2KQoxMjIgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDBlODQz
NGMgV2ViQ29yZTo6Q2FjaGVkU2NyaXB0OjpjaGVja05vdGlmeSgpICsgNjAgKENhY2hlZFNjcmlw
dC5jcHA6OTcpCjEyMyBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMGU4NDZiMCBX
ZWJDb3JlOjpDYWNoZWRTY3JpcHQ6OmRhdGEoV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlNoYXJl
ZEJ1ZmZlcj4sIGJvb2wpICsgMjQwIChDYWNoZWRTY3JpcHQuY3BwOjg5KQoxMjQgY29tLmFwcGxl
LldlYkNvcmUgICAgICAgICAgICAgCTB4MDEzNmE2NGIgV2ViQ29yZTo6TG9hZGVyOjpkaWRGaW5p
c2hMb2FkaW5nKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyKikgKyAyNTEgKFBhc3NSZWZQdHIu
aDo0NCkKMTI1IGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAxMmY5ODExIFdlYkNv
cmU6OlN1YnJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKCkgKyA0OSAoUmVmUHRyLmg6
MTA4KQoxMjYgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDEyMTVmYjggLVtXZWJD
b3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlIGNvbm5lY3Rpb25EaWRGaW5pc2hMb2FkaW5nOl0g
KyA3MiAoUmVzb3VyY2VIYW5kbGVNYWMubW06NDU2KQoxMjcgY29tLmFwcGxlLkZvdW5kYXRpb24g
ICAgICAgICAgCTB4OTVlMzkzNTcgLVtOU1VSTENvbm5lY3Rpb24oTlNVUkxDb25uZWN0aW9uUmVh
bGx5SW50ZXJuYWwpIHNlbmREaWRGaW5pc2hMb2FkaW5nXSArIDg3CjEyOCBjb20uYXBwbGUuRm91
bmRhdGlvbiAgICAgICAgICAJMHg5NWUzOTJlNCBfTlNVUkxDb25uZWN0aW9uRGlkRmluaXNoTG9h
ZGluZyArIDY4CjEyOSBjb20uYXBwbGUuQ0ZOZXR3b3JrICAgICAgICAgICAJMHg5NjMyOTg5NyBz
ZW5kRGlkRmluaXNoTG9hZGluZ0NhbGxiYWNrICsgMTQ4CjEzMCBjb20uYXBwbGUuQ0ZOZXR3b3Jr
ICAgICAgICAgICAJMHg5NjMyNjljYSBfQ0ZVUkxDb25uZWN0aW9uU2VuZENhbGxiYWNrcyArIDE5
MDgKMTMxIGNvbS5hcHBsZS5DRk5ldHdvcmsgICAgICAgICAgIAkweDk2MzI2MWRiIG11eGVyU291
cmNlUGVyZm9ybSArIDI4MwoxMzIgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4OTYw
ZTQ2NGUgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyAzMTY2CjEzMyBjb20uYXBwbGUuQ29yZUZvdW5k
YXRpb24gICAgICAJMHg5NjBlNGQzOCBDRlJ1bkxvb3BSdW5Jbk1vZGUgKyA4OAoxMzQgY29tLmFw
cGxlLkhJVG9vbGJveCAgICAgICAgICAgCTB4OTNkYjY4YTQgUnVuQ3VycmVudEV2ZW50TG9vcElu
TW9kZSArIDI4MwoxMzUgY29tLmFwcGxlLkhJVG9vbGJveCAgICAgICAgICAgCTB4OTNkYjY2YmQg
UmVjZWl2ZU5leHRFdmVudENvbW1vbiArIDM3NAoxMzYgY29tLmFwcGxlLkhJVG9vbGJveCAgICAg
ICAgICAgCTB4OTNkYjY1MzEgQmxvY2tVbnRpbE5leHRFdmVudE1hdGNoaW5nTGlzdEluTW9kZSAr
IDEwNgoxMzcgY29tLmFwcGxlLkFwcEtpdCAgICAgICAgICAgICAgCTB4OTQ2ZTZkNWIgX0RQU05l
eHRFdmVudCArIDY1NwoxMzggY29tLmFwcGxlLkFwcEtpdCAgICAgICAgICAgICAgCTB4OTQ2ZTY2
YTAgLVtOU0FwcGxpY2F0aW9uIG5leHRFdmVudE1hdGNoaW5nTWFzazp1bnRpbERhdGU6aW5Nb2Rl
OmRlcXVldWU6XSArIDEyOAoxMzkgY29tLmFwcGxlLlNhZmFyaSAgICAgICAgICAgICAgCTB4MDAw
MDlkNGUgMHgxMDAwICsgMzYxNzQKMTQwIGNvbS5hcHBsZS5BcHBLaXQgICAgICAgICAgICAgIAkw
eDk0NmRmNmQxIC1bTlNBcHBsaWNhdGlvbiBydW5dICsgNzk1CjE0MSBjb20uYXBwbGUuQXBwS2l0
ICAgICAgICAgICAgICAJMHg5NDZhYzliYSBOU0FwcGxpY2F0aW9uTWFpbiArIDU3NAoxNDIgY29t
LmFwcGxlLlNhZmFyaSAgICAgICAgICAgICAgCTB4MDAwMDI4NzYgMHgxMDAwICsgNjI2MgoKVGhy
ZWFkIDE6CjAgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5MjY3OWFjZSBfX3Nl
bXdhaXRfc2lnbmFsICsgMTAKMSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDky
NmEzY2VkIHB0aHJlYWRfY29uZF93YWl0JFVOSVgyMDAzICsgNzMKMiAgIGNvbS5hcHBsZS5XZWJD
b3JlICAgICAgICAgICAgIAkweDAwZmZjNjVmIFdlYkNvcmU6Okljb25EYXRhYmFzZTo6c3luY1Ro
cmVhZE1haW5Mb29wKCkgKyAyMzkgKEljb25EYXRhYmFzZS5jcHA6MTMxMykKMyAgIGNvbS5hcHBs
ZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAwZmZjNzc1IFdlYkNvcmU6Okljb25EYXRhYmFzZTo6
aWNvbkRhdGFiYXNlU3luY1RocmVhZCgpICsgMTgxIChJY29uRGF0YWJhc2UuY3BwOjEwMTUpCjQg
ICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5MjZhMzA3NSBfcHRocmVhZF9zdGFy
dCArIDMyMQo1ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTI2YTJmMzIgdGhy
ZWFkX3N0YXJ0ICsgMzQKClRocmVhZCAyOgowICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAg
ICAgCTB4OTI2NzI4ZTYgbWFjaF9tc2dfdHJhcCArIDEwCjEgICBsaWJTeXN0ZW0uQi5keWxpYiAg
ICAgICAgICAgICAJMHg5MjY3YTBkYyBtYWNoX21zZyArIDcyCjIgICBjb20uYXBwbGUuQ29yZUZv
dW5kYXRpb24gICAgICAJMHg5NjBlNDBmZSBDRlJ1bkxvb3BSdW5TcGVjaWZpYyArIDE4MDYKMyAg
IGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkweDk2MGU0ZDM4IENGUnVuTG9vcFJ1bklu
TW9kZSArIDg4CjQgICBjb20uYXBwbGUuQ0ZOZXR3b3JrICAgICAgICAgICAJMHg5NjMyMTdiYSBD
RlVSTENhY2hlV29ya2VyVGhyZWFkKHZvaWQqKSArIDM5Ngo1ICAgbGliU3lzdGVtLkIuZHlsaWIg
ICAgICAgICAgICAgCTB4OTI2YTMwNzUgX3B0aHJlYWRfc3RhcnQgKyAzMjEKNiAgIGxpYlN5c3Rl
bS5CLmR5bGliICAgICAgICAgICAgIAkweDkyNmEyZjMyIHRocmVhZF9zdGFydCArIDM0CgpUaHJl
YWQgMzoKMCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDkyNjcyOGU2IG1hY2hf
bXNnX3RyYXAgKyAxMAoxICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTI2N2Ew
ZGMgbWFjaF9tc2cgKyA3MgoyICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4OTYw
ZTQwZmUgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyAxODA2CjMgICBjb20uYXBwbGUuQ29yZUZvdW5k
YXRpb24gICAgICAJMHg5NjBlNGQzOCBDRlJ1bkxvb3BSdW5Jbk1vZGUgKyA4OAo0ICAgY29tLmFw
cGxlLkZvdW5kYXRpb24gICAgICAgICAgCTB4OTVlMzc1NjAgK1tOU1VSTENvbm5lY3Rpb24oTlNV
UkxDb25uZWN0aW9uUmVhbGx5SW50ZXJuYWwpIF9yZXNvdXJjZUxvYWRMb29wOl0gKyAzMjAKNSAg
IGNvbS5hcHBsZS5Gb3VuZGF0aW9uICAgICAgICAgIAkweDk1ZGQ0MDRkIC1bTlNUaHJlYWQgbWFp
bl0gKyA0NQo2ICAgY29tLmFwcGxlLkZvdW5kYXRpb24gICAgICAgICAgCTB4OTVkZDNiZjQgX19O
U1RocmVhZF9fbWFpbl9fICsgMzA4CjcgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJ
MHg5MjZhMzA3NSBfcHRocmVhZF9zdGFydCArIDMyMQo4ICAgbGliU3lzdGVtLkIuZHlsaWIgICAg
ICAgICAgICAgCTB4OTI2YTJmMzIgdGhyZWFkX3N0YXJ0ICsgMzQKClRocmVhZCA0OgowICAgbGli
U3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTI2YzFmNWEgc2VsZWN0JERBUldJTl9FWFRT
TiArIDEwCjEgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5MjZhMzA3NSBfcHRo
cmVhZF9zdGFydCArIDMyMQoyICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTI2
YTJmMzIgdGhyZWFkX3N0YXJ0ICsgMzQKClRocmVhZCA1OgowICAgbGliU3lzdGVtLkIuZHlsaWIg
ICAgICAgICAgICAgCTB4OTI2NzI4ZTYgbWFjaF9tc2dfdHJhcCArIDEwCjEgICBsaWJTeXN0ZW0u
Qi5keWxpYiAgICAgICAgICAgICAJMHg5MjY3YTBkYyBtYWNoX21zZyArIDcyCjIgICBjb20uYXBw
bGUuQ29yZUZvdW5kYXRpb24gICAgICAJMHg5NjBlNDBmZSBDRlJ1bkxvb3BSdW5TcGVjaWZpYyAr
IDE4MDYKMyAgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkweDk2MGU0ZDM4IENGUnVu
TG9vcFJ1bkluTW9kZSArIDg4CjQgICBjb20uYXBwbGUuQ0ZOZXR3b3JrICAgICAgICAgICAJMHg5
NjM2ZWQ0NSBfS2V5Y2hhaW5UaHJlYWQgKyAyMzAKNSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAg
ICAgICAgIAkweDkyNmEzMDc1IF9wdGhyZWFkX3N0YXJ0ICsgMzIxCjYgICBsaWJTeXN0ZW0uQi5k
eWxpYiAgICAgICAgICAgICAJMHg5MjZhMmYzMiB0aHJlYWRfc3RhcnQgKyAzNAoKVGhyZWFkIDAg
Y3Jhc2hlZCB3aXRoIFg4NiBUaHJlYWQgU3RhdGUgKDMyLWJpdCk6CiAgZWF4OiAweDAwMDAwMDAw
ICBlYng6IDB4MDAzNDhjZTEgIGVjeDogMHgwMDAwMDAxZCAgZWR4OiAweDAwMDAwMDE5CiAgZWRp
OiAweDExYjg2N2EwICBlc2k6IDB4MTFiODAwMDAgIGVicDogMHhiZmZmYWQxOCAgZXNwOiAweGJm
ZmZhY2QwCiAgIHNzOiAweDAwMDAwMDFmICBlZmw6IDB4MDAwMTAyNDYgIGVpcDogMHgwMDM0OTVk
NSAgIGNzOiAweDAwMDAwMDE3CiAgIGRzOiAweDAwMDAwMDFmICAgZXM6IDB4MDAwMDAwMWYgICBm
czogMHgwMDAwMDAwMCAgIGdzOiAweDAwMDAwMDM3CiAgY3IyOiAweDAwMDAwMDMwCgpCaW5hcnkg
SW1hZ2VzOgogICAgMHgxMDAwIC0gICAweDEyZWZlZiAgY29tLmFwcGxlLlNhZmFyaSAzLjAuNCAo
NTUyMy4xMC42KSA8NTNkMjE5ZmQ4NzgwODg1NDNmZDJlMWFmNDYwYmVkMTg+IC9BcHBsaWNhdGlv
bnMvU2FmYXJpLmFwcC9Db250ZW50cy9NYWNPUy9TYWZhcmkKICAweDE3NjAwMCAtICAgMHgyMzNm
ZmYgIGNvbS5hcHBsZS5XZWJLaXQgNTI1LjMrICg1MjUuMyspIDw2YjcxYzhiNzk2ZGNjZGE0MzNh
MWViODEwNDI1NTBmOD4gL1VzZXJzL0NhbWVyb24vV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2Uv
V2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1dlYktpdAogIDB4MzI3MDAwIC0gICAweDMzNWZm
OCAgU3luZGljYXRpb25VSSA/Pz8gKD8/PykgPDhhZGMzNWUxZWI1MDAxZGVhZDNjMThlZTI1ZjJl
OGRiPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvU3luZGljYXRpb25VSS5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9TeW5kaWNhdGlvblVJCiAgMHgzNDQwMDAgLSAgIDB4NDE5ZmY3ICBj
b20uYXBwbGUuSmF2YVNjcmlwdENvcmUgNTI1LjMrICg1MjUuMyspIDxkMWU4ZmYxN2UyMjVjZDc1
MGExYTJiMjZkYWYxN2Q0YT4gL1VzZXJzL0NhbWVyb24vV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVh
c2UvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2YVNjcmlwdENvcmUKICAw
eDVlNzAwMCAtICAgMHg1ZWNmZjMgIGxpYkNHWENvcmVJbWFnZS5BLmR5bGliID8/PyAoPz8/KSA8
OTc4OTg2NzA5MTU5ZTVmZTllMDk0ZGY1ZWZkZGFjMWQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9D
b3JlR3JhcGhpY3MuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYkNHWENvcmVJbWFn
ZS5BLmR5bGliCiAgMHhlMDgwMDAgLSAgMHgxNDAwZmZmICBjb20uYXBwbGUuV2ViQ29yZSA1MjUu
MysgKDUyNS4zKykgPDcwODJiNjAyNDRhYTVlOTllMWNkMmZlNWI0MWEwYjJkPiAvVXNlcnMvQ2Ft
ZXJvbi9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9XZWJDb3JlLmZyYW1ld29yay9WZXJzaW9u
cy9BL1dlYkNvcmUKIDB4MWYwMDAwMCAtICAweDFmZTZmZjcgIGNvbS5hcHBsZS5SYXdDYW1lcmEu
YnVuZGxlIDIuMCAoMi4wKSAvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL1Jhd0NhbWVyYS5i
dW5kbGUvQ29udGVudHMvTWFjT1MvUmF3Q2FtZXJhCjB4MTEyYzIwMDAgLSAweDExMmMyZmZlICBj
b20uYXBwbGUuSmF2YVBsdWdpbkNvY29hIDEyLjAuMCAoMTIuMC4wKSA8MDJhOWYyM2E4YmZjOTAy
YzMyYWMwYWRmYjY2ZDY4MTY+IC9MaWJyYXJ5L0ludGVybmV0IFBsdWctSW5zL0phdmFQbHVnaW5D
b2NvYS5idW5kbGUvQ29udGVudHMvTWFjT1MvSmF2YVBsdWdpbkNvY29hCjB4MTEzMDYwMDAgLSAw
eDExMzBkZmZkICBjb20uYXBwbGUuSmF2YVZNIDEyLjAuMCAoMTIuMC4wKSA8NDRiOTUzNmZlNGQ3
YzdmY2IzNTA2YWRiNjk1YTE4MGY+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0phdmFWTS5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9KYXZhVk0KMHg4ZmUwMDAwMCAtIDB4OGZlMmQ4ODMgIGR5bGQg
OTUuMyAoPz8/KSA8ODE1OTJlNzk4NzgwNTY0YjVkNDZiOTg4ZjdlZTFhNmE+IC91c3IvbGliL2R5
bGQKMHg5MDAwMzAwMCAtIDB4OTAwMGRmZWIgIGNvbS5hcHBsZS5hdWRpby5Tb3VuZE1hbmFnZXIg
My45LjIgKDMuOS4yKSA8MGYyYmE2ZTg5MWQzNzYxMjEyY2Y1YTVlNjEzNGQ2ODM+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtz
L0NhcmJvblNvdW5kLmZyYW1ld29yay9WZXJzaW9ucy9BL0NhcmJvblNvdW5kCjB4OTAwMGUwMDAg
LSAweDkwMDBlZmZmICBjb20uYXBwbGUuQ2FyYm9uIDEzNiAoMTM2KSA8OThhNWUzYmMwYzRmYTQ0
YmJiMDk3MTNiYjg4NzA3ZmU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9DYXJib24KMHg5MDAwZjAwMCAtIDB4OTAyZThmZTcgIGNvbS5hcHBs
ZS5Db3JlU2VydmljZXMuQ2FyYm9uQ29yZSA3ODMgKDc4MykgPDgzNzBlNjY0ZWViMjVlZGM5OGQ1
YzFmNTQwNWIwNmFlPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9DYXJib25Db3JlLmZyYW1ld29yay9WZXJzaW9u
cy9BL0NhcmJvbkNvcmUKMHg5MDJlOTAwMCAtIDB4OTAyZTlmZmQgIGNvbS5hcHBsZS5BY2NlbGVy
YXRlIDEuNCAoQWNjZWxlcmF0ZSAxLjQpIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2Vs
ZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQWNjZWxlcmF0ZQoweDkwMmVhMDAwIC0gMHg5MDNj
OWZmZiAgbGlib2JqYy5BLmR5bGliID8/PyAoPz8/KSA8NWVkYTQ3ZmVjMmQwZTc4NTNiMzUwNmFh
MWZkMmRhZmE+IC91c3IvbGliL2xpYm9iamMuQS5keWxpYgoweDkwM2QwMDAwIC0gMHg5MDQwNmZl
ZiAgbGlidGlkeS5BLmR5bGliID8/PyAoPz8/KSA8ZTRkM2U3Mzk5ZmI4M2Q3ZjE0NWY5YjRlYzgx
OTYyNDI+IC91c3IvbGliL2xpYnRpZHkuQS5keWxpYgoweDkwNDA3MDAwIC0gMHg5MDQzMWZlZiAg
bGliYXV0by5keWxpYiA/Pz8gKD8/PykgPGQ0NjhiYzRhOGE2OTM0M2YxNzQ4YzI5M2RiMWI1N2Zi
PiAvdXNyL2xpYi9saWJhdXRvLmR5bGliCjB4OTA0MzIwMDAgLSAweDkwNGM0ZmYzICBjb20uYXBw
bGUuQXBwbGljYXRpb25TZXJ2aWNlcy5BVFMgMy4wICg/Pz8pIDxmYjVmNTcyMjQzZGJjMzcwYTBl
YTVlZmM4ZTgxYWUxMT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2
aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0FUUy5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9BVFMKMHg5MDUwYTAwMCAtIDB4OTA4YTBmZjcgIGNvbS5hcHBsZS5RdWFydHpDb3JlIDEu
NS4xICgxLjUuMSkgPGRlYjYxY2JlYjNmNzM0YTFiMmY0NjY5ZjYyNjhiOWRlPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9RdWFydHpDb3JlLmZyYW1ld29yay9WZXJzaW9ucy9BL1F1YXJ0ekNv
cmUKMHg5MDhhMTAwMCAtIDB4OTA4YjBmZmYgIGxpYnNhc2wyLjIuZHlsaWIgPz8/ICg/Pz8pIDxi
OWUxY2EwYjY2MTJlMjgwYjZjYmVhNmRmMGVlYzVmNj4gL3Vzci9saWIvbGlic2FzbDIuMi5keWxp
YgoweDkwOGIxMDAwIC0gMHg5MDhmMGZlZiAgbGliVElGRi5keWxpYiA/Pz8gKD8/PykgPDZkMGY4
MGU5ZDRkODFmM2Y2NGM4NzZhY2EwMDViZDUzPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvSW1hZ2VJ
Ty5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliVElGRi5keWxpYgoweDkwOGYxMDAw
IC0gMHg5MDlkMmZmNyAgbGlieG1sMi4yLmR5bGliID8/PyAoPz8/KSA8NDUwZWMzOGI1N2ZiNDYw
MTM4NDdjY2U4NTEwMDFhMmY+IC91c3IvbGliL2xpYnhtbDIuMi5keWxpYgoweDkwOWQ4MDAwIC0g
MHg5MTA2ZmZlZiAgY29tLmFwcGxlLkNvcmVHcmFwaGljcyAxLjM1MS4wICg/Pz8pIDw3YTZmMzk5
MDM5ZWVkNmRiZTg0NWMxNjlmN2QyMWE3MD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
bGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NvcmVHcmFw
aGljcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlR3JhcGhpY3MKMHg5MTA3MDAwMCAtIDB4OTEw
ODZmZmYgIGNvbS5hcHBsZS5EaWN0aW9uYXJ5U2VydmljZXMgMS4wLjAgKDEuMC4wKSA8YWQwYWEw
MjUyZTMzMjNkMTgyZTE3ZjUwZGVmZTU2ZmM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nv
cmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0RpY3Rpb25hcnlTZXJ2
aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9EaWN0aW9uYXJ5U2VydmljZXMKMHg5MTA4NzAwMCAt
IDB4OTEwOGFmZmYgIGNvbS5hcHBsZS5oZWxwIDEuMSAoMzYpIDxiNTA3YjA4ZTQ4NGNiODkwMzNl
OWNmMjMwNjJkNzdkZT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29y
ay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvSGVscC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9IZWxwCjB4
OTEwOGIwMDAgLSAweDkxMDkyZmU5ICBsaWJnY2Nfcy4xLmR5bGliID8/PyAoPz8/KSA8ZjUzYzgw
OGU4N2QxMTg0YzBmOWRmNjNhZWY1M2NlMGI+IC91c3IvbGliL2xpYmdjY19zLjEuZHlsaWIKMHg5
MTE3MzAwMCAtIDB4OTExNzhmZmYgIGNvbS5hcHBsZS5iYWNrdXAuZnJhbWV3b3JrIDEuMCAoMS4w
KSAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQmFja3VwLmZyYW1ld29yay9WZXJz
aW9ucy9BL0JhY2t1cAoweDkxMTc5MDAwIC0gMHg5MTIyOGZmZiAgY29tLmFwcGxlLkRlc2t0b3BT
ZXJ2aWNlcyAxLjQuMyAoMS40LjMpIDw2NmQ1ZWQ1NjExMWM0M2QyMzRlMjM1ZDM2NWQwMjQ2OT4g
L1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0Rlc2t0b3BTZXJ2aWNlc1ByaXYuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvRGVza3RvcFNlcnZpY2VzUHJpdgoweDkxMjI5MDAwIC0gMHg5MTIy
OWZmYSAgY29tLmFwcGxlLkNvcmVTZXJ2aWNlcyAzMiAoMzIpIDwyZmNjOGYzYmQ1YmJmYzAwMGI0
NzZjYWQ4ZTZhM2RkMj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZy
YW1ld29yay9WZXJzaW9ucy9BL0NvcmVTZXJ2aWNlcwoweDkxMjJhMDAwIC0gMHg5MTI2YmZlNyAg
bGliUklQLkEuZHlsaWIgPz8/ICg/Pz8pIDxiZGM2ZDcwYmY0ZWQzZGFjZTMyMWI0ZmY3NmEzNTNi
Mz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NvcmVHcmFwaGljcy5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9SZXNvdXJjZXMvbGliUklQLkEuZHlsaWIKMHg5MTI2YzAwMCAtIDB4OTEyNmVmZmYgIGNvbS5h
cHBsZS5DcmFzaFJlcG9ydGVyU3VwcG9ydCAxMC41LjAgKDE1NikgPDMwODhiNzg1YjEwZDAzNTA0
ZWQwMmYzZmVlNWQzYWFiPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQ3Jhc2hS
ZXBvcnRlclN1cHBvcnQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ3Jhc2hSZXBvcnRlclN1cHBvcnQK
MHg5MTI2ZjAwMCAtIDB4OTEyOTNmZmYgIGxpYnhzbHQuMS5keWxpYiA/Pz8gKD8/PykgPDQ5MzNk
ZGM3ZjY2MTg3NDMxOTdhYWRjODViMzNiNWFiPiAvdXNyL2xpYi9saWJ4c2x0LjEuZHlsaWIKMHg5
MTI5NDAwMCAtIDB4OTEzYjhmZTMgIGNvbS5hcHBsZS5hdWRpby50b29sYm94LkF1ZGlvVG9vbGJv
eCAxLjUgKDEuNSkgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXVkaW9Ub29sYm94LmZyYW1l
d29yay9WZXJzaW9ucy9BL0F1ZGlvVG9vbGJveAoweDkxM2JhMDAwIC0gMHg5MTQyZWZlZiAgbGli
dk1pc2MuZHlsaWIgPz8/ICg/Pz8pIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJh
dGUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvbGlidk1pc2MuZHlsaWIKMHg5MTQyZjAwMCAtIDB4OTE1MTNmZmIgIGNvbS5hcHBsZS5D
b3JlRGF0YSAxMDAgKDE4NSkgPGE0ZTYzNzg0Mjc1ZTI1ZTYyZjU3ZTc1ZTBhZjBiOTRkPiAvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlRGF0YS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3Jl
RGF0YQoweDkxNTgxMDAwIC0gMHg5MTU4YWZmZiAgY29tLmFwcGxlLnNwZWVjaC5yZWNvZ25pdGlv
bi5mcmFtZXdvcmsgMy43LjI0ICgzLjcuMjQpIDxkMzE4MGY5ZWRiZDlhNWU2ZjI4M2Q2MTU2YWEz
YzYwMj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9u
cy9BL0ZyYW1ld29ya3MvU3BlZWNoUmVjb2duaXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvU3Bl
ZWNoUmVjb2duaXRpb24KMHg5MTU4YjAwMCAtIDB4OTE1OGJmZmQgIGNvbS5hcHBsZS52ZWNMaWIg
My40ICh2ZWNMaWIgMy40KSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvdmVjTGliCjB4OTE1OGMwMDAgLSAweDkxNWYxZmZiICBjb20uYXBwbGUu
SVNTdXBwb3J0IDEuNiAoMzQpIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9JU1N1
cHBvcnQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSVNTdXBwb3J0CjB4OTE3YWUwMDAgLSAweDkxN2Nk
ZmZhICBsaWJKUEVHLmR5bGliID8/PyAoPz8/KSA8MGNmYjgwMTA5ZDYyNGJlYjljZWIzYzQzYjZj
NWVjMTA+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9JbWFnZUlPLmZyYW1ld29yay9WZXJzaW9ucy9B
L1Jlc291cmNlcy9saWJKUEVHLmR5bGliCjB4OTE3Y2UwMDAgLSAweDkxN2RkZmZlICBjb20uYXBw
bGUuRFNPYmpDV3JhcHBlcnMuRnJhbWV3b3JrIDEuMiAoMS4yKSA8ZjViNThkMWQzYTg1NWE2M2Q0
OTNjY2JlYzQxN2ExZTk+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9EU09iakNX
cmFwcGVycy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9EU09iakNXcmFwcGVycwoweDkxN2RlMDAwIC0g
MHg5MTgzYmZmYiAgbGlic3RkYysrLjYuZHlsaWIgPz8/ICg/Pz8pIDwwNGI4MTJkY2VjNjcwZGFh
OGI3ZDI4NTJhYjE0YmU2MD4gL3Vzci9saWIvbGlic3RkYysrLjYuZHlsaWIKMHg5MTgzYzAwMCAt
IDB4OTE4YjZmZjggIGNvbS5hcHBsZS5wcmludC5mcmFtZXdvcmsuUHJpbnRDb3JlIDUuNSAoMjQ1
KSA8OTQ0MWQxNzhmNGI0MzBjZjkyYjY3YmYzNDY2NDY2OTM+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jr
cy9QcmludENvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUHJpbnRDb3JlCjB4OTE4YjcwMDAgLSAw
eDkxOTQxZmZmICBjb20uYXBwbGUuZnJhbWV3b3JrLklPS2l0IDEuNS4xICg/Pz8pIDw1MTc2YTcz
ODMxNTFhMTljOTYyMzM0MDA5ZmVmMmM2ZD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSU9L
aXQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSU9LaXQKMHg5MTk0MjAwMCAtIDB4OTFkMDBmZWEgIGxp
YkxBUEFDSy5keWxpYiA/Pz8gKD8/PykgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxl
cmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL3ZlY0xpYi5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9saWJMQVBBQ0suZHlsaWIKMHg5MWRiZDAwMCAtIDB4OTFkYzhmZjkgIGNvbS5hcHBs
ZS5oZWxwZGF0YSAxLjAgKDE0KSAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvSGVs
cERhdGEuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSGVscERhdGEKMHg5MWU1NTAwMCAtIDB4OTFlNTZm
ZWYgIGxpYm1hdGhDb21tb24uQS5keWxpYiA/Pz8gKD8/PykgL3Vzci9saWIvc3lzdGVtL2xpYm1h
dGhDb21tb24uQS5keWxpYgoweDkxZTU3MDAwIC0gMHg5MWU2NWZmZCAgbGliei4xLmR5bGliID8/
PyAoPz8/KSA8NWRkZDg1MzlhZTJlYmZkOGU3Y2MxYzU3NTI1Mzg1Yzc+IC91c3IvbGliL2xpYnou
MS5keWxpYgoweDkxZTY2MDAwIC0gMHg5MWU3NmZmYyAgY29tLmFwcGxlLkxhbmdBbmFseXNpcyAx
LjYuNCAoMS42LjQpIDxjYmViMTdhYjM5ZjI4MzUxZmUyYWI1YjgyYmY0NjViYz4gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9GcmFtZXdvcmtzL0xhbmdBbmFseXNpcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9MYW5nQW5hbHlz
aXMKMHg5MjExNTAwMCAtIDB4OTIyZGVmZWYgIGNvbS5hcHBsZS5zZWN1cml0eSA1LjAuMSAoMzI3
MzYpIDw4YzllZGEwZmNjMWQ4YTU3MTU0MzAyNWFjOTAwNzE1Zj4gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvU2VjdXJpdHkuZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2VjdXJpdHkKMHg5MjJkZjAw
MCAtIDB4OTIyZTZmZmUgIGxpYmJzbS5keWxpYiA/Pz8gKD8/PykgPGQyNWM2MzM3OGE1MDI5NjQ4
ZmZkNGI0NjY5YmUzMWJmPiAvdXNyL2xpYi9saWJic20uZHlsaWIKMHg5MjJlNzAwMCAtIDB4OTIz
MjFmZjcgIGNvbS5hcHBsZS5jb3JldWkgMC4xICg2MCkgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVG
cmFtZXdvcmtzL0NvcmVVSS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlVUkKMHg5MjM2NDAwMCAt
IDB4OTI0MTRmZmYgIGVkdS5taXQuS2VyYmVyb3MgNi4wLjExICg2LjAuMTEpIDwzM2MyNTc4OWJh
ZWRjZDcwYTdlMjQ4ODE3NzVkZDlhZD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvS2VyYmVy
b3MuZnJhbWV3b3JrL1ZlcnNpb25zL0EvS2VyYmVyb3MKMHg5MjQxZjAwMCAtIDB4OTI0NThmZmUg
IGNvbS5hcHBsZS5zZWN1cml0eWZvdW5kYXRpb24gMy4wICgzMjc2OCkgPDFlOTg4NWQ2M2NlZDUx
ZjgxYmMxZjM5YWY2MjQ2MzdkPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eUZv
dW5kYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvU2VjdXJpdHlGb3VuZGF0aW9uCjB4OTI0NjEw
MDAgLSAweDkyNTk5ZmY3ICBsaWJpY3Vjb3JlLkEuZHlsaWIgPz8/ICg/Pz8pIDxhZmNlYTY1MmZm
MmVjMzY4ODViMmM4MWM1N2QwNmQ0Yz4gL3Vzci9saWIvbGliaWN1Y29yZS5BLmR5bGliCjB4OTI1
OWEwMDAgLSAweDkyNTlhZmZjICBjb20uYXBwbGUuYXVkaW8udW5pdHMuQXVkaW9Vbml0IDEuNSAo
MS41KSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BdWRpb1VuaXQuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvQXVkaW9Vbml0CjB4OTI1YmEwMDAgLSAweDkyNWJjZmY1ICBsaWJSYWRpYW5jZS5keWxp
YiA/Pz8gKD8/PykgPDIwZWFkYjI4NWRhODNkZjk2Yzc5NWMyYzVmYTIwNTkwPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0ZyYW1ld29ya3MvSW1hZ2VJTy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliUmFk
aWFuY2UuZHlsaWIKMHg5MjViZDAwMCAtIDB4OTI2MGRmZjcgIGNvbS5hcHBsZS5ISVNlcnZpY2Vz
IDEuNi4wICg/Pz8pIDxkNzRhYTczZTRjZmQzMGEwOGZiMTY5MTk4YThkMjUzOT4gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9GcmFtZXdvcmtzL0hJU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSElTZXJ2aWNlcwow
eDkyNjBlMDAwIC0gMHg5MjYyMmZmMyAgY29tLmFwcGxlLkltYWdlQ2FwdHVyZSA0LjAgKDUuMC4w
KSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy9JbWFnZUNhcHR1cmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvSW1hZ2VDYXB0dXJl
CjB4OTI2MjMwMDAgLSAweDkyNjI3ZmZmICBsaWJHSUYuZHlsaWIgPz8/ICg/Pz8pIDxkNDIzNGU2
ZjVlNWY1MzBiZGFmYjk2OTE1N2YxZjE3Yj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
bGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdlSU8u
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYkdJRi5keWxpYgoweDkyNjI4MDAwIC0g
MHg5MjY2YWZlZiAgY29tLmFwcGxlLk5hdmlnYXRpb25TZXJ2aWNlcyAzLjUuMSAoMTYxKSA8Y2M2
YmQ3OGVhYmYxZTJlNzE2NjkxNGU5ZjEyZjU4NTA+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL05hdmlnYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9OYXZpZ2F0aW9uU2VydmljZXMKMHg5MjY2YjAwMCAtIDB4
OTI2NmJmZmQgIGNvbS5hcHBsZS5BY2NlbGVyYXRlLnZlY0xpYiAzLjQgKHZlY0xpYiAzLjQpIC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvdmVjTGliCjB4OTI2NzIwMDAg
LSAweDkyN2NjZmUzICBsaWJTeXN0ZW0uQi5keWxpYiA/Pz8gKD8/PykgPDhlY2M4M2RjMDM5OWJl
Mzk0NmY3YTQ2ZTg4Y2Y0YmJiPiAvdXNyL2xpYi9saWJTeXN0ZW0uQi5keWxpYgoweDkyN2QwMDAw
IC0gMHg5Mjg2M2ZmZiAgY29tLmFwcGxlLmluay5mcmFtZXdvcmsgMTAxLjMgKDg2KSA8YmYzZmE4
OTI3YjRiOGJhYWU5MjM4MWE5NzZmZDIwNzk+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nh
cmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0luay5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9JbmsKMHg5Mjg2NDAwMCAtIDB4OTI4NmJmZjcgIGxpYkNHQVRTLkEuZHlsaWIgPz8/ICg/
Pz8pIDw5YjI5YTU1MDBlZmUwMWNjM2FkZWE2N2JiYzQyNTY4ZT4gL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdv
cmtzL0NvcmVHcmFwaGljcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliQ0dBVFMu
QS5keWxpYgoweDkyODZjMDAwIC0gMHg5Mjg5ZWZmZiAgY29tLmFwcGxlLkxEQVBGcmFtZXdvcmsg
MS40LjMgKDEwNikgPDNhNWM5ZGY2MDMyMTQzY2Q2YmMyNjU4YTlkMzI4ZDhlPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9MREFQLmZyYW1ld29yay9WZXJzaW9ucy9BL0xEQVAKMHg5Mjk0OTAw
MCAtIDB4OTI5NTVmZjUgIGxpYkdMLmR5bGliID8/PyAoPz8/KSAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGlicmFyaWVzL2xpYkdMLmR5bGli
CjB4OTI5NTYwMDAgLSAweDkyYTIxZmZmICBjb20uYXBwbGUuQ29sb3JTeW5jIDQuNS4wICg0LjUu
MCkgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NvbG9yU3luYy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9D
b2xvclN5bmMKMHg5MmEyMjAwMCAtIDB4OTJhZDRmZmIgIGxpYmNyeXB0by4wLjkuNy5keWxpYiA/
Pz8gKD8/PykgPDMzMGIwZTQ4ZTY3ZmFmZmM4YzIyZGZjMDY5Y2E3YTQ3PiAvdXNyL2xpYi9saWJj
cnlwdG8uMC45LjcuZHlsaWIKMHg5MmFkNTAwMCAtIDB4OTJhZjlmZWIgIGxpYnNzbC4wLjkuNy5k
eWxpYiA/Pz8gKD8/PykgPGFjZWU3ZmM1MzQ2NzQ0OThkY2FjMjExMzE4YWEyM2U4PiAvdXNyL2xp
Yi9saWJzc2wuMC45LjcuZHlsaWIKMHg5MmFmYTAwMCAtIDB4OTJiMDJmZmYgIGNvbS5hcHBsZS5E
aXNrQXJiaXRyYXRpb24gMi4yICgyLjIpIDwxNTUxYjJhZjU1N2ZkZjZmMzY4ZjkzZTA5MzkzMzg1
Mj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRGlza0FyYml0cmF0aW9uLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0Rpc2tBcmJpdHJhdGlvbgoweDkyYjAzMDAwIC0gMHg5MmIyMWZmMyAgY29tLmFw
cGxlLkRpcmVjdG9yeVNlcnZpY2UuRnJhbWV3b3JrIDMuNSAoMy41KSA8ODk5ZDhjOWVlMzFiMDA0
YTZmZjczZGFiODg5ODJiMWE+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0RpcmVjdG9yeVNl
cnZpY2UuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGlyZWN0b3J5U2VydmljZQoweDkyYjIyMDAwIC0g
MHg5MmIyMmZmOCAgY29tLmFwcGxlLkFwcGxpY2F0aW9uU2VydmljZXMgMzQgKDM0KSA8OGY5MTBm
YTY1ZjAxZDQwMWFkOGQwNGNjOTMzY2Y4ODc+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Fw
cGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQXBwbGljYXRpb25TZXJ2aWNl
cwoweDkyYjIzMDAwIC0gMHg5MmJjYWZmZiAgY29tLmFwcGxlLlFEIDMuMTEuNTAgKD8/PykgPGUy
ZjcxNzIwYWUxZGFkMDZhODg4M2FjODA3NzViMjFhPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvUUQu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvUUQKMHg5MzBlMjAwMCAtIDB4OTMxMjdmZWYgIGNvbS5hcHBs
ZS5NZXRhZGF0YSAxMC41LjAgKDM5OCkgPDRmZDc0ZmJhMDA2MmMyZTA4ZWM0YjFjMTBiNDBmZjYz
PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvRnJhbWV3b3Jrcy9NZXRhZGF0YS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9NZXRhZGF0YQow
eDkzMTI4MDAwIC0gMHg5MzE0M2ZmYiAgbGliUG5nLmR5bGliID8/PyAoPz8/KSA8YjZhYmNhYzM2
ZWM3NjU0ZmYzZTFjZmE3ODZiMDExN2I+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9JbWFnZUlPLmZy
YW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9saWJQbmcuZHlsaWIKMHg5MzJhOTAwMCAtIDB4
OTMzZWVmZjcgIGNvbS5hcHBsZS5JbWFnZUlPLmZyYW1ld29yayAyLjAuMCAoMi4wLjApIDwxNTRk
NGQ4Y2RhMmJkOTk1MThjYmFiYzlmMmQ2OTgzMz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdl
SU8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvSW1hZ2VJTwoweDkzM2VmMDAwIC0gMHg5MzdmZmZlZiAg
bGliQkxBUy5keWxpYiA/Pz8gKD8/PykgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxl
cmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL3ZlY0xpYi5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9saWJCTEFTLmR5bGliCjB4OTNiZjUwMDAgLSAweDkzYmZiZmZmICBjb20uYXBwbGUu
cHJpbnQuZnJhbWV3b3JrLlByaW50IDIxOCAoMjIwKSA8YzM1MTcyMTc1YWJiZTU1NGRkYWRkOWI2
NDAxMzUxZmE+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9GcmFtZXdvcmtzL1ByaW50LmZyYW1ld29yay9WZXJzaW9ucy9BL1ByaW50CjB4OTNi
ZmMwMDAgLSAweDkzYzI0ZmY3ICBjb20uYXBwbGUuc2hvcnRjdXQgMSAoMS4wKSA8MDU3NzgzODY3
MTM4OTAyYjUyYmMwOTQxZmVkYjc0ZDE+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jr
cy9TaG9ydGN1dC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TaG9ydGN1dAoweDkzYzI1MDAwIC0gMHg5
M2QyNmZmZiAgY29tLmFwcGxlLlB1YlN1YiAxLjAuMSAoNTkpIC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL1B1YlN1Yi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9QdWJTdWIKMHg5M2QyNzAwMCAtIDB4
OTNkODFmZjcgIGNvbS5hcHBsZS5Db3JlVGV4dCAyLjAuMCAoPz8/KSA8N2ZhMzljZDViYzg0NzYx
NWVjMDJlN2M3YTM3YzA1MDg+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9u
U2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9Db3JlVGV4dC5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9Db3JlVGV4dAoweDkzZDg3MDAwIC0gMHg5NDA4ZGZmZiAgY29tLmFwcGxl
LkhJVG9vbGJveCAxLjUuMCAoPz8/KSA8MWI4NzJhNzE1MWVlM2Y4MGM5YzczNmEzZTQ2ZDAwZDk+
IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9G
cmFtZXdvcmtzL0hJVG9vbGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9ISVRvb2xib3gKMHg5NDFj
NTAwMCAtIDB4OTQxZGJmZTcgIGNvbS5hcHBsZS5Db3JlVmlkZW8gMS41LjAgKDEuNS4wKSA8Yzc1
NjliNjhlNTQxMTRkYTgxNWU5YzU1Mjk5ZmUzYTQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0NvcmVWaWRlby5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlVmlkZW8KMHg5NDFlODAwMCAtIDB4
OTQxZWFmZmYgIGNvbS5hcHBsZS5zZWN1cml0eWhpIDMuMCAoMzA4MTcpIDwyYjI4NTQxMjNmZWQ2
MDlkMTgyMGQyNzc5ZTJlMDk2Mz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZy
YW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvU2VjdXJpdHlISS5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9TZWN1cml0eUhJCjB4OTQxZWIwMDAgLSAweDk0MWZiZmZmICBjb20uYXBwbGUuc3BlZWNo
LnN5bnRoZXNpcy5mcmFtZXdvcmsgMy42LjU5ICgzLjYuNTkpIDw0ZmZlZjE0NWZhZDNkNGQ3ODdl
MGMzM2VhYjI2YjMzNj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2
aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1NwZWVjaFN5bnRoZXNpcy5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9TcGVlY2hTeW50aGVzaXMKMHg5NDI5YzAwMCAtIDB4OTQyOWNmZmIg
IGNvbS5hcHBsZS5pbnN0YWxsc2VydmVyLmZyYW1ld29yayAxLjAgKDgpIC9TeXN0ZW0vTGlicmFy
eS9Qcml2YXRlRnJhbWV3b3Jrcy9JbnN0YWxsU2VydmVyLmZyYW1ld29yay9WZXJzaW9ucy9BL0lu
c3RhbGxTZXJ2ZXIKMHg5NDI5ZDAwMCAtIDB4OTQzMjRmZjcgIGxpYnNxbGl0ZTMuMC5keWxpYiA/
Pz8gKD8/PykgPDI3M2VmY2I3MTdlODljMjEyMDdjODUxZDdkMzNmZGE0PiAvdXNyL2xpYi9saWJz
cWxpdGUzLjAuZHlsaWIKMHg5NDMyNTAwMCAtIDB4OTQ0YTNmZmYgIGNvbS5hcHBsZS5BZGRyZXNz
Qm9vay5mcmFtZXdvcmsgNC4xICg2ODcpIDwzZjAwNTA5MmQwOGU5NjNlYWJlOGY3ZjY2YzA5Y2Mx
ZT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWRkcmVzc0Jvb2suZnJhbWV3b3JrL1ZlcnNp
b25zL0EvQWRkcmVzc0Jvb2sKMHg5NDRhNDAwMCAtIDB4OTQ1MjNmZjUgIGNvbS5hcHBsZS5TZWFy
Y2hLaXQgMS4yLjAgKDEuMi4wKSA8Mjc3YjQ2MGRhODZiYzIyMjc4NTE1OWZlNzdlMmUyZWQ+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9GcmFtZXdvcmtzL1NlYXJjaEtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TZWFyY2hLaXQKMHg5
NDUyNDAwMCAtIDB4OTQ1ZGFmZTMgIGNvbS5hcHBsZS5Db3JlU2VydmljZXMuT1NTZXJ2aWNlcyAy
MTAuMiAoMjEwLjIpIDw0ZWQ2OWYwN2ZjMGYyMTFhYjMyZDFlZTk2ZTI4MWZjMj4gL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1l
d29ya3MvT1NTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9PU1NlcnZpY2VzCjB4OTQ1ZGIw
MDAgLSAweDk0NWUwZmZmICBjb20uYXBwbGUuQ29tbW9uUGFuZWxzIDEuMi40ICg4NSkgPGVhMDY2
NWY1N2NkMjY3NjA5NDY2ZWQ4YjJiMjBlODkzPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9D
YXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9Db21tb25QYW5lbHMuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvQ29tbW9uUGFuZWxzCjB4OTQ2MzIwMDAgLSAweDk0NjdjZmUxICBjb20u
YXBwbGUuc2VjdXJpdHlpbnRlcmZhY2UgMy4wICgzMjUzMikgPGY1MjFkYWU0MTZjZTdhM2JkZDU5
NGIwZDRlMmZiNTE3PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eUludGVyZmFj
ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TZWN1cml0eUludGVyZmFjZQoweDk0NjdkMDAwIC0gMHg5
NDY3ZGZmOCAgY29tLmFwcGxlLkNvY29hIDYuNSAoPz8/KSA8ZTA2NGY5NGQ5NjljZTI1Y2I3ZGUz
Y2ZiOTgwYzMyNDk+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvY29hLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0NvY29hCjB4OTQ2N2UwMDAgLSAweDk0NmE1ZmZmICBsaWJjdXBzLjIuZHlsaWIg
Pz8/ICg/Pz8pIDw1NTIxNDk4ZTg5MDJkZGQwYjE1Y2ZhYTdkYjM4NGUyOT4gL3Vzci9saWIvbGli
Y3Vwcy4yLmR5bGliCjB4OTQ2YTYwMDAgLSAweDk0ZWEwZmVmICBjb20uYXBwbGUuQXBwS2l0IDYu
NSAoOTQ5KSA8ZjhkMGY2ZDBiYjVhYzA5MmY0OGY0MmNhNjg0YmRiNTQ+IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQy9BcHBLaXQKMHg5NWQyMzAw
MCAtIDB4OTVkMmVmZTcgIGxpYkNTeW5jLkEuZHlsaWIgPz8/ICg/Pz8pIDxkZjgyZmMwOTNlNDk4
YTllYjU0OTA3NjFjYjI5MjIxOD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRp
b25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NvcmVHcmFwaGljcy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliQ1N5bmMuQS5keWxpYgoweDk1ZDJmMDAw
IC0gMHg5NWRiYmZmNyAgY29tLmFwcGxlLkxhdW5jaFNlcnZpY2VzIDI4NiAoMjg2KSA8NzJiMTVl
N2EwMWU0MmQ1MTBmMDMzOWU5MDExM2Q1ZDY+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nv
cmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0xhdW5jaFNlcnZpY2Vz
LmZyYW1ld29yay9WZXJzaW9ucy9BL0xhdW5jaFNlcnZpY2VzCjB4OTVkYmMwMDAgLSAweDk1ZGM5
ZmU3ICBjb20uYXBwbGUub3BlbmdsIDEuNS41ICgxLjUuNSkgPGFhMDhiNTJkMmE4NGI0NGRjNmVl
NWQ1NDRhNTNmZThhPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvT3BlbkdMCjB4OTVkY2EwMDAgLSAweDk2MDQzZmU3ICBjb20uYXBwbGUuRm91
bmRhdGlvbiA2LjUuMSAoNjc3LjEpIDw4NWFjMThjN2NkNDU0Mzc4ZGI2MTIyYmVhMGMwMDk2NT4g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMv
Qy9Gb3VuZGF0aW9uCjB4OTYwNDQwMDAgLSAweDk2MDcxZmViICBsaWJ2RFNQLmR5bGliID8/PyAo
Pz8/KSA8YTI2NjgzZDEyMWVlMGY5NmRmOWE5ZDBiZmNhMzYwNDk+IC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy92ZWNM
aWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvbGlidkRTUC5keWxpYgoweDk2MDcyMDAwIC0gMHg5NjFh
NGZlNyAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuNSAoNDc2KSA8OGJmZWJjMGRiYWQ2ZmMz
M2JlYTBmYTAwYTFiOWVjMzc+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVGb3VuZGF0
aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVGb3VuZGF0aW9uCjB4OTYxYTUwMDAgLSAweDk2
MjIxZmViICBjb20uYXBwbGUuYXVkaW8uQ29yZUF1ZGlvIDMuMS4wICgzLjEpIDw3MGJiN2M2NTcw
NjE2MzE0OTEwMjlhNjFiYWJlMGIyNj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUF1
ZGlvLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVBdWRpbwoweDk2MjdjMDAwIC0gMHg5NjJkNWZm
ZiAgbGliR0xVLmR5bGliID8/PyAoPz8/KSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9PcGVu
R0wuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGlicmFyaWVzL2xpYkdMVS5keWxpYgoweDk2MmQ2MDAw
IC0gMHg5NjJkN2ZmYyAgbGliZmZpLmR5bGliID8/PyAoPz8/KSA8YTNiNTczZWI5NTBjYTU4MzI5
MGY3YjJiNGM0ODZkMDk+IC91c3IvbGliL2xpYmZmaS5keWxpYgoweDk2MmQ4MDAwIC0gMHg5NjMw
N2ZlMyAgY29tLmFwcGxlLkFFIDQwMiAoNDAyKSA8OTk0YmE4ZTg4NGFlZmU3YmYxZmM1OTg3ZGYw
OTllN2I+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9GcmFtZXdvcmtzL0FFLmZyYW1ld29yay9WZXJzaW9ucy9BL0FFCjB4OTYzMTYw
MDAgLSAweDk2MzhkZmUzICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDIyMCAoMjIxKSA8OTcyYTQxOTEx
ODA1ODU5MjA1YjA1N2E2ZjViOTFlOGQ+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVT
ZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9DRk5ldHdvcmsKMHg5NjM4ZTAwMCAtIDB4OTYzYWNmZmYgIGxpYnJlc29s
di45LmR5bGliID8/PyAoPz8/KSA8NTRlNmEwOGMyZjEwOGJkZjU5MTZmYjQ4M2Q1MTk2MWI+IC91
c3IvbGliL2xpYnJlc29sdi45LmR5bGliCjB4OTY0ZmQwMDAgLSAweDk2NTNhZmY3ICBsaWJHTElt
YWdlLmR5bGliID8/PyAoPz8/KSA8MjAyZDczZTZhNDY4OGZjMDZmZjExYjcxOTEwYzJjZTc+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5HTC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9MaWJy
YXJpZXMvbGliR0xJbWFnZS5keWxpYgoweDk2NTNiMDAwIC0gMHg5NjU1M2ZmZiAgY29tLmFwcGxl
Lm9wZW5zY3JpcHRpbmcgMS4yLjYgKD8/PykgPGI4ZTU1M2RmNjQzZjJhZWM2OGZhOTY4YjNiNDU5
YjJiPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25z
L0EvRnJhbWV3b3Jrcy9PcGVuU2NyaXB0aW5nLmZyYW1ld29yay9WZXJzaW9ucy9BL09wZW5TY3Jp
cHRpbmcKMHg5NjVkNzAwMCAtIDB4OTY2MzNmZjcgIGNvbS5hcHBsZS5odG1scmVuZGVyaW5nIDY4
ICgxLjEuMykgPGZlODdhOWRlZGUzOGRiMDBlNmM4OTQ5OTQyYzZiZDRmPiAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9IVE1M
UmVuZGVyaW5nLmZyYW1ld29yay9WZXJzaW9ucy9BL0hUTUxSZW5kZXJpbmcKMHg5Njc4YjAwMCAt
IDB4OTY4NTJmZjIgIGNvbS5hcHBsZS52SW1hZ2UgMy4wICgzLjApIC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy92SW1h
Z2UuZnJhbWV3b3JrL1ZlcnNpb25zL0EvdkltYWdlCjB4OTY4NTMwMDAgLSAweDk2ODg5ZmZmICBj
b20uYXBwbGUuU3lzdGVtQ29uZmlndXJhdGlvbiAxLjkuMCAoMS45LjApIDw3OTE5ZDk1ODhjM2Iw
ZDU1NjY0NmU1NTViNzE5M2YxZj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvU3lzdGVtQ29u
ZmlndXJhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TeXN0ZW1Db25maWd1cmF0aW9uCjB4OTY4
OGEwMDAgLSAweDk2ZDU2ZmZlICBsaWJHTFByb2dyYW1tYWJpbGl0eS5keWxpYiA/Pz8gKD8/Pykg
PGU4YmMwYWY2NzE0MjdjZjJiNjI3OWEwMzU4MDVhMDg2PiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9PcGVuR0wuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGlicmFyaWVzL2xpYkdMUHJvZ3JhbW1h
YmlsaXR5LmR5bGliCjB4ZmZmZTgwMDAgLSAweGZmZmViZmZmICBsaWJvYmpjLkEuZHlsaWIgPz8/
ICg/Pz8pIC91c3IvbGliL2xpYm9iamMuQS5keWxpYgoweGZmZmYwMDAwIC0gMHhmZmZmMTc4MCAg
bGliU3lzdGVtLkIuZHlsaWIgPz8/ICg/Pz8pIC91c3IvbGliL2xpYlN5c3RlbS5CLmR5bGliCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18452</attachid>
            <date>2008-01-15 01:01:02 -0800</date>
            <delta_ts>2008-01-15 01:02:15 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>gmail.patch</filename>
            <type>text/plain</type>
            <size>2459</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5NDg3KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDgtMDEtMTQgIENhbWVyb24g
WndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXMgQnVnIDE2ODY4OiBHbWFpbCBjcmFzaAor
CisgICAgICAgIDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg2OD4K
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2ODYxMDg+CisKKyAgICAgICAgQWRkcyBBY3RpdmF0
aW9uSW1wIHRlYXItb2ZmIGZvciBjcm9zcy13aW5kb3cgZXZhbCgpIGFuZCBmaXhlcyBhbgorICAg
ICAgICBleGlzdGluZyBnYXJiYWdlIGNvbGxlY3Rpb24gaXNzdWUgZXhwb3NlZCBieSB0aGUgQWN0
aXZhdGlvbkltcCB0ZWFyLW9mZgorICAgICAgICBwYXRjaCAocjI5NDI1KSB0aGF0IGNhbiBvY2N1
ciB3aGVuIGFuIEV4ZWNTdGF0ZSdzIG1fY2FsbGluZ0V4ZWMgaXMKKyAgICAgICAgZGlmZmVyZW50
IHRoYW4gaXRzIG1fc2F2ZWRFeGVjLgorCisgICAgICAgICoga2pzL0V4ZWNTdGF0ZS5jcHA6Cisg
ICAgICAgIChLSlM6OkV4ZWNTdGF0ZTo6bWFyayk6CisgICAgICAgICoga2pzL2Z1bmN0aW9uLmNw
cDoKKyAgICAgICAgKEtKUzo6R2xvYmFsRnVuY0ltcDo6Y2FsbEFzRnVuY3Rpb24pOgorCiAyMDA4
LTAxLTE0ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2o6IEFk
ZGVkCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvRXhlY1N0YXRlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKYXZhU2NyaXB0Q29yZS9ranMvRXhlY1N0YXRlLmNwcAkocmV2aXNpb24gMjk0ODcpCisrKyBK
YXZhU2NyaXB0Q29yZS9ranMvRXhlY1N0YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcg
KzEyNywxMCBAQCB2b2lkIEV4ZWNTdGF0ZTo6bWFyaygpCiB7CiAgICAgZm9yIChFeGVjU3RhdGUq
IGV4ZWMgPSB0aGlzOyBleGVjOyBleGVjID0gZXhlYy0+bV9jYWxsaW5nRXhlYykKICAgICAgICAg
ZXhlYy0+bV9zY29wZUNoYWluLm1hcmsoKTsKLQorICAgIAorICAgIGlmIChtX3NhdmVkRXhlYyAm
JiBtX3NhdmVkRXhlYyAhPSBtX2NhbGxpbmdFeGVjKQorICAgICAgICBtX3NhdmVkRXhlYy0+bWFy
aygpOworICAgIAogICAgIC8vIEZJWE1FOiBJdCBpcyBzdXJwcmlzaW5nIHRoYXQgdGhpcyBjb2Rl
IGlzIG5lY2Vzc2FyeSwgc2luY2UgYXQgZmlyc3QKICAgICAvLyBnbGFuY2UgaXQgc2VlbXMgdGhh
dCBhbGwgQWN0aXZhdGlvbkltcHMgc2hvdWxkIGJlIGluIGEgU2NvcGVDaGFpbi4KICAgICAvLyBI
b3dldmVyLCA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NzE+IHBy
b3ZlcyB0aGF0IGlzCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvZnVuY3Rpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9mdW5jdGlvbi5jcHAJKHJldmlzaW9uIDI5NDg3
KQorKysgSmF2YVNjcmlwdENvcmUva2pzL2Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzUwLDkgKzc1MCw3IEBAIEpTVmFsdWUqIEdsb2JhbEZ1bmNJbXA6OmNhbGxBc0Z1bmN0aW9uKEUK
ICAgICAgICAgYm9vbCBzd2l0Y2hHbG9iYWwgPSB0aGlzT2JqICYmIHRoaXNPYmogIT0gZXhlYy0+
ZHluYW1pY0dsb2JhbE9iamVjdCgpICYmIHRoaXNPYmotPmlzR2xvYmFsT2JqZWN0KCk7CiAKICAg
ICAgICAgLy8gZW50ZXIgYSBuZXcgZXhlY3V0aW9uIGNvbnRleHQKLSAgICAgICAgaWYgKCFzd2l0
Y2hHbG9iYWwpCi0gICAgICAgICAgICBleGVjLT5keW5hbWljR2xvYmFsT2JqZWN0KCktPnRlYXJP
ZmZBY3RpdmF0aW9uKGV4ZWMpOwotICAgICAgICAKKyAgICAgICAgZXhlYy0+ZHluYW1pY0dsb2Jh
bE9iamVjdCgpLT50ZWFyT2ZmQWN0aXZhdGlvbihleGVjKTsKICAgICAgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IHN3aXRjaEdsb2JhbCA/IHN0YXRpY19jYXN0PEpTR2xvYmFsT2Jq
ZWN0Kj4odGhpc09iaikgOiBleGVjLT5keW5hbWljR2xvYmFsT2JqZWN0KCk7CiAgICAgICAgIEV4
ZWNTdGF0ZSBuZXdFeGVjKGdsb2JhbE9iamVjdCwgZXZhbE5vZGUuZ2V0KCksIGV4ZWMpOwogICAg
ICAgICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18453</attachid>
            <date>2008-01-15 01:04:00 -0800</date>
            <delta_ts>2008-01-15 08:47:16 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>gmail.patch</filename>
            <type>text/plain</type>
            <size>2459</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5NDg3KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDgtMDEtMTQgIENhbWVyb24g
WndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXMgQnVnIDE2ODY4OiBHbWFpbCBjcmFzaAor
CisgICAgICAgIDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg2OD4K
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2ODYxMDg+CisKKyAgICAgICAgQWRkcyBBY3RpdmF0
aW9uSW1wIHRlYXItb2ZmIGZvciBjcm9zcy13aW5kb3cgZXZhbCgpIGFuZCBmaXhlcyBhbgorICAg
ICAgICBleGlzdGluZyBnYXJiYWdlIGNvbGxlY3Rpb24gaXNzdWUgZXhwb3NlZCBieSB0aGUgQWN0
aXZhdGlvbkltcCB0ZWFyLW9mZgorICAgICAgICBwYXRjaCAocjI5NDI1KSB0aGF0IGNhbiBvY2N1
ciB3aGVuIGFuIEV4ZWNTdGF0ZSdzIG1fY2FsbGluZ0V4ZWMgaXMKKyAgICAgICAgZGlmZmVyZW50
IHRoYW4gaXRzIG1fc2F2ZWRFeGVjLgorCisgICAgICAgICoga2pzL0V4ZWNTdGF0ZS5jcHA6Cisg
ICAgICAgIChLSlM6OkV4ZWNTdGF0ZTo6bWFyayk6CisgICAgICAgICoga2pzL2Z1bmN0aW9uLmNw
cDoKKyAgICAgICAgKEtKUzo6R2xvYmFsRnVuY0ltcDo6Y2FsbEFzRnVuY3Rpb24pOgorCiAyMDA4
LTAxLTE0ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2o6IEFk
ZGVkCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvRXhlY1N0YXRlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKYXZhU2NyaXB0Q29yZS9ranMvRXhlY1N0YXRlLmNwcAkocmV2aXNpb24gMjk0ODcpCisrKyBK
YXZhU2NyaXB0Q29yZS9ranMvRXhlY1N0YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI3LDcg
KzEyNywxMCBAQCB2b2lkIEV4ZWNTdGF0ZTo6bWFyaygpCiB7CiAgICAgZm9yIChFeGVjU3RhdGUq
IGV4ZWMgPSB0aGlzOyBleGVjOyBleGVjID0gZXhlYy0+bV9jYWxsaW5nRXhlYykKICAgICAgICAg
ZXhlYy0+bV9zY29wZUNoYWluLm1hcmsoKTsKLQorICAgIAorICAgIGlmIChtX3NhdmVkRXhlYyAm
JiBtX3NhdmVkRXhlYyAhPSBtX2NhbGxpbmdFeGVjKQorICAgICAgICBtX3NhdmVkRXhlYy0+bWFy
aygpOworICAgIAogICAgIC8vIEZJWE1FOiBJdCBpcyBzdXJwcmlzaW5nIHRoYXQgdGhpcyBjb2Rl
IGlzIG5lY2Vzc2FyeSwgc2luY2UgYXQgZmlyc3QKICAgICAvLyBnbGFuY2UgaXQgc2VlbXMgdGhh
dCBhbGwgQWN0aXZhdGlvbkltcHMgc2hvdWxkIGJlIGluIGEgU2NvcGVDaGFpbi4KICAgICAvLyBI
b3dldmVyLCA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NzE+IHBy
b3ZlcyB0aGF0IGlzCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvZnVuY3Rpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9mdW5jdGlvbi5jcHAJKHJldmlzaW9uIDI5NDg3
KQorKysgSmF2YVNjcmlwdENvcmUva2pzL2Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzUwLDkgKzc1MCw3IEBAIEpTVmFsdWUqIEdsb2JhbEZ1bmNJbXA6OmNhbGxBc0Z1bmN0aW9uKEUK
ICAgICAgICAgYm9vbCBzd2l0Y2hHbG9iYWwgPSB0aGlzT2JqICYmIHRoaXNPYmogIT0gZXhlYy0+
ZHluYW1pY0dsb2JhbE9iamVjdCgpICYmIHRoaXNPYmotPmlzR2xvYmFsT2JqZWN0KCk7CiAKICAg
ICAgICAgLy8gZW50ZXIgYSBuZXcgZXhlY3V0aW9uIGNvbnRleHQKLSAgICAgICAgaWYgKCFzd2l0
Y2hHbG9iYWwpCi0gICAgICAgICAgICBleGVjLT5keW5hbWljR2xvYmFsT2JqZWN0KCktPnRlYXJP
ZmZBY3RpdmF0aW9uKGV4ZWMpOwotICAgICAgICAKKyAgICAgICAgZXhlYy0+ZHluYW1pY0dsb2Jh
bE9iamVjdCgpLT50ZWFyT2ZmQWN0aXZhdGlvbihleGVjKTsKICAgICAgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IHN3aXRjaEdsb2JhbCA/IHN0YXRpY19jYXN0PEpTR2xvYmFsT2Jq
ZWN0Kj4odGhpc09iaikgOiBleGVjLT5keW5hbWljR2xvYmFsT2JqZWN0KCk7CiAgICAgICAgIEV4
ZWNTdGF0ZSBuZXdFeGVjKGdsb2JhbE9iamVjdCwgZXZhbE5vZGUuZ2V0KCksIGV4ZWMpOwogICAg
ICAgICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18458</attachid>
            <date>2008-01-15 08:47:16 -0800</date>
            <delta_ts>2008-01-15 13:29:50 -0800</delta_ts>
            <desc>Revised proposed patch</desc>
            <filename>gmail.patch</filename>
            <type>text/plain</type>
            <size>3858</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5NDg5KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDgtMDEtMTQgIENhbWVyb24g
WndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXMgQnVnIDE2ODY4OiBHbWFpbCBjcmFzaAor
CisgICAgICAgIDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg2OD4K
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2ODYxMDg+CisKKyAgICAgICAgQWRkcyBBY3RpdmF0
aW9uSW1wIHRlYXItb2ZmIGZvciBjcm9zcy13aW5kb3cgZXZhbCgpIGFuZCBmaXhlcyBhbgorICAg
ICAgICBleGlzdGluZyBnYXJiYWdlIGNvbGxlY3Rpb24gaXNzdWUgZXhwb3NlZCBieSB0aGUgQWN0
aXZhdGlvbkltcCB0ZWFyLW9mZgorICAgICAgICBwYXRjaCAocjI5NDI1KSB0aGF0IGNhbiBvY2N1
ciB3aGVuIGFuIEV4ZWNTdGF0ZSdzIG1fY2FsbGluZ0V4ZWMgaXMKKyAgICAgICAgZGlmZmVyZW50
IHRoYW4gaXRzIG1fc2F2ZWRFeGVjLgorCisgICAgICAgICoga2pzL0V4ZWNTdGF0ZS5jcHA6Cisg
ICAgICAgIChLSlM6OkV4ZWNTdGF0ZTo6bWFya1NpbmdsZSk6CisgICAgICAgIChLSlM6OkV4ZWNT
dGF0ZTo6bWFyayk6CisgICAgICAgICoga2pzL0V4ZWNTdGF0ZS5oOgorICAgICAgICAqIGtqcy9m
dW5jdGlvbi5jcHA6CisgICAgICAgIChLSlM6Okdsb2JhbEZ1bmNJbXA6OmNhbGxBc0Z1bmN0aW9u
KToKKwogMjAwOC0wMS0xNCAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFVzZSBzaGFyZWQgdnNwcm9wcyBmb3IgbW9zdCB2Y3Byb2ogcHJvcGVydGllcy4K
SW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9FeGVjU3RhdGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEph
dmFTY3JpcHRDb3JlL2tqcy9FeGVjU3RhdGUuY3BwCShyZXZpc2lvbiAyOTQ4NykKKysrIEphdmFT
Y3JpcHRDb3JlL2tqcy9FeGVjU3RhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsMTEgKzEy
MywxMCBAQCBFeGVjU3RhdGU6On5FeGVjU3RhdGUoKQogICAgIG1fZ2xvYmFsT2JqZWN0LT5zZXRD
dXJyZW50RXhlYyhtX3NhdmVkRXhlYyk7CiB9CiAKLXZvaWQgRXhlY1N0YXRlOjptYXJrKCkKK2lu
bGluZSB2b2lkIEV4ZWNTdGF0ZTo6bWFya1NpbmdsZSgpCiB7Ci0gICAgZm9yIChFeGVjU3RhdGUq
IGV4ZWMgPSB0aGlzOyBleGVjOyBleGVjID0gZXhlYy0+bV9jYWxsaW5nRXhlYykKLSAgICAgICAg
ZXhlYy0+bV9zY29wZUNoYWluLm1hcmsoKTsKLQorICAgIG1fc2NvcGVDaGFpbi5tYXJrKCk7Cisg
ICAgCiAgICAgLy8gRklYTUU6IEl0IGlzIHN1cnByaXNpbmcgdGhhdCB0aGlzIGNvZGUgaXMgbmVj
ZXNzYXJ5LCBzaW5jZSBhdCBmaXJzdAogICAgIC8vIGdsYW5jZSBpdCBzZWVtcyB0aGF0IGFsbCBB
Y3RpdmF0aW9uSW1wcyBzaG91bGQgYmUgaW4gYSBTY29wZUNoYWluLgogICAgIC8vIEhvd2V2ZXIs
IDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg3MT4gcHJvdmVzIHRo
YXQgaXMKQEAgLTEzNiw2ICsxMzUsMzEgQEAgdm9pZCBFeGVjU3RhdGU6Om1hcmsoKQogICAgICAg
ICBtX2FjdGl2YXRpb24tPm1hcmtDaGlsZHJlbigpOwogfQogCit2b2lkIEV4ZWNTdGF0ZTo6bWFy
aygpCit7CisgICAgRXhlY1N0YXRlKiBjdXJyZW50Q2FsbGluZ0V4ZWMgPSB0aGlzOworICAgIEV4
ZWNTdGF0ZSogY3VycmVudFNhdmVkRXhlYyA9IHRoaXM7CisgICAgCisgICAgd2hpbGUgKGN1cnJl
bnRDYWxsaW5nRXhlYyAmJiBjdXJyZW50U2F2ZWRFeGVjKQorICAgIHsKKyAgICAgICAgaWYgKGN1
cnJlbnRDYWxsaW5nRXhlYyAhPSBjdXJyZW50U2F2ZWRFeGVjKSB7CisgICAgICAgICAgICBjdXJy
ZW50U2F2ZWRFeGVjLT5tYXJrKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgY3VycmVudENhbGxpbmdFeGVjLT5tYXJrU2luZ2xlKCk7CisgICAgICAg
IAorICAgICAgICBjdXJyZW50Q2FsbGluZ0V4ZWMgPSBjdXJyZW50Q2FsbGluZ0V4ZWMtPm1fY2Fs
bGluZ0V4ZWM7CisgICAgICAgIGN1cnJlbnRTYXZlZEV4ZWMgPSBjdXJyZW50U2F2ZWRFeGVjLT5t
X3NhdmVkRXhlYzsKKyAgICB9CisKKyAgICBpZiAoY3VycmVudENhbGxpbmdFeGVjICE9IGN1cnJl
bnRTYXZlZEV4ZWMpCisgICAgICAgIHdoaWxlIChjdXJyZW50Q2FsbGluZ0V4ZWMpIHsKKyAgICAg
ICAgICAgIGN1cnJlbnRDYWxsaW5nRXhlYy0+bWFya1NpbmdsZSgpOworICAgICAgICAgICAgY3Vy
cmVudENhbGxpbmdFeGVjID0gY3VycmVudENhbGxpbmdFeGVjLT5tX2NhbGxpbmdFeGVjOworICAg
ICAgICB9Cit9CisKIEpTR2xvYmFsT2JqZWN0KiBFeGVjU3RhdGU6OmxleGljYWxHbG9iYWxPYmpl
Y3QoKSBjb25zdAogewogICAgIGlmIChzY29wZUNoYWluKCkuaXNFbXB0eSgpKQpJbmRleDogSmF2
YVNjcmlwdENvcmUva2pzL0V4ZWNTdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3Jl
L2tqcy9FeGVjU3RhdGUuaAkocmV2aXNpb24gMjk0ODcpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMv
RXhlY1N0YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsOCBAQCBuYW1lc3BhY2Ug
S0pTICB7CiAKICAgICAgICAgQ29tcGxUeXBlIG1fY29tcGxldGlvblR5cGU7CiAgICAgICAgIGNv
bnN0IElkZW50aWZpZXIqIG1fYnJlYWtPckNvbnRpbnVlVGFyZ2V0OworCisgICAgICAgIHZvaWQg
bWFya1NpbmdsZSgpOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIEtKUwpJbmRleDogSmF2YVNj
cmlwdENvcmUva2pzL2Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9r
anMvZnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyOTQ4NykKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9m
dW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1MCw5ICs3NTAsNyBAQCBKU1ZhbHVlKiBH
bG9iYWxGdW5jSW1wOjpjYWxsQXNGdW5jdGlvbihFCiAgICAgICAgIGJvb2wgc3dpdGNoR2xvYmFs
ID0gdGhpc09iaiAmJiB0aGlzT2JqICE9IGV4ZWMtPmR5bmFtaWNHbG9iYWxPYmplY3QoKSAmJiB0
aGlzT2JqLT5pc0dsb2JhbE9iamVjdCgpOwogCiAgICAgICAgIC8vIGVudGVyIGEgbmV3IGV4ZWN1
dGlvbiBjb250ZXh0Ci0gICAgICAgIGlmICghc3dpdGNoR2xvYmFsKQotICAgICAgICAgICAgZXhl
Yy0+ZHluYW1pY0dsb2JhbE9iamVjdCgpLT50ZWFyT2ZmQWN0aXZhdGlvbihleGVjKTsKLSAgICAg
ICAgCisgICAgICAgIGV4ZWMtPmR5bmFtaWNHbG9iYWxPYmplY3QoKS0+dGVhck9mZkFjdGl2YXRp
b24oZXhlYyk7CiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBzd2l0Y2hH
bG9iYWwgPyBzdGF0aWNfY2FzdDxKU0dsb2JhbE9iamVjdCo+KHRoaXNPYmopIDogZXhlYy0+ZHlu
YW1pY0dsb2JhbE9iamVjdCgpOwogICAgICAgICBFeGVjU3RhdGUgbmV3RXhlYyhnbG9iYWxPYmpl
Y3QsIGV2YWxOb2RlLmdldCgpLCBleGVjKTsKICAgICAgICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18461</attachid>
            <date>2008-01-15 13:29:50 -0800</date>
            <delta_ts>2008-01-16 11:12:09 -0800</delta_ts>
            <desc>Revised proposed patch</desc>
            <filename>gmail.patch</filename>
            <type>text/plain</type>
            <size>3141</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5NDkxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDgtMDEtMTQgIENhbWVyb24g
WndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXMgQnVnIDE2ODY4OiBHbWFpbCBjcmFzaAor
CisgICAgICAgIDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjg2OD4K
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2ODYxMDg+CisKKyAgICAgICAgQWRkcyBBY3RpdmF0
aW9uSW1wIHRlYXItb2ZmIGZvciBjcm9zcy13aW5kb3cgZXZhbCgpIGFuZCBmaXhlcyBhbgorICAg
ICAgICBleGlzdGluZyBnYXJiYWdlIGNvbGxlY3Rpb24gaXNzdWUgZXhwb3NlZCBieSB0aGUgQWN0
aXZhdGlvbkltcCB0ZWFyLW9mZgorICAgICAgICBwYXRjaCAocjI5NDI1KSB0aGF0IGNhbiBvY2N1
ciB3aGVuIGFuIEV4ZWNTdGF0ZSdzIG1fY2FsbGluZ0V4ZWMgaXMKKyAgICAgICAgZGlmZmVyZW50
IHRoYW4gaXRzIG1fc2F2ZWRFeGVjLgorCisgICAgICAgICoga2pzL0V4ZWNTdGF0ZS5jcHA6Cisg
ICAgICAgIChLSlM6OkV4ZWNTdGF0ZTo6bWFyayk6CisgICAgICAgICoga2pzL2Z1bmN0aW9uLmNw
cDoKKyAgICAgICAgKEtKUzo6R2xvYmFsRnVuY0ltcDo6Y2FsbEFzRnVuY3Rpb24pOgorCiAyMDA4
LTAxLTE0ICBTdGV2ZSBGYWxrZW5idXJnICA8c2ZhbGtlbkBhcHBsZS5jb20+CiAKICAgICAgICAg
VXNlIHNoYXJlZCB2c3Byb3BzIGZvciBtb3N0IHZjcHJvaiBwcm9wZXJ0aWVzLgpJbmRleDogSmF2
YVNjcmlwdENvcmUva2pzL0V4ZWNTdGF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUva2pzL0V4ZWNTdGF0ZS5jcHAJKHJldmlzaW9uIDI5NDg3KQorKysgSmF2YVNjcmlwdENvcmUv
a2pzL0V4ZWNTdGF0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNSwxNSArMTI1LDIwIEBAIEV4
ZWNTdGF0ZTo6fkV4ZWNTdGF0ZSgpCiAKIHZvaWQgRXhlY1N0YXRlOjptYXJrKCkKIHsKLSAgICBm
b3IgKEV4ZWNTdGF0ZSogZXhlYyA9IHRoaXM7IGV4ZWM7IGV4ZWMgPSBleGVjLT5tX2NhbGxpbmdF
eGVjKQorICAgIGZvciAoRXhlY1N0YXRlKiBleGVjID0gdGhpczsgZXhlYzsgZXhlYyA9IGV4ZWMt
Pm1fY2FsbGluZ0V4ZWMpIHsKICAgICAgICAgZXhlYy0+bV9zY29wZUNoYWluLm1hcmsoKTsKIAot
ICAgIC8vIEZJWE1FOiBJdCBpcyBzdXJwcmlzaW5nIHRoYXQgdGhpcyBjb2RlIGlzIG5lY2Vzc2Fy
eSwgc2luY2UgYXQgZmlyc3QKLSAgICAvLyBnbGFuY2UgaXQgc2VlbXMgdGhhdCBhbGwgQWN0aXZh
dGlvbkltcHMgc2hvdWxkIGJlIGluIGEgU2NvcGVDaGFpbi4KLSAgICAvLyBIb3dldmVyLCA8aHR0
cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NzE+IHByb3ZlcyB0aGF0IGlz
Ci0gICAgLy8gbm90IHRoZSBjYXNlLgotICAgIGlmIChtX2FjdGl2YXRpb24gJiYgbV9hY3RpdmF0
aW9uLT5pc09uU3RhY2soKSkKLSAgICAgICAgbV9hY3RpdmF0aW9uLT5tYXJrQ2hpbGRyZW4oKTsK
KyAgICAgICAgLy8gRklYTUU6IEl0IGlzIHN1cnByaXNpbmcgdGhhdCB0aGlzIGNvZGUgaXMgbmVj
ZXNzYXJ5LCBzaW5jZSBhdCBmaXJzdAorICAgICAgICAvLyBnbGFuY2UgaXQgc2VlbXMgdGhhdCBh
bGwgQWN0aXZhdGlvbkltcHMgc2hvdWxkIGJlIGluIGEgU2NvcGVDaGFpbi4KKyAgICAgICAgLy8g
SG93ZXZlciwgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODcxPiBw
cm92ZXMgdGhhdCBpcworICAgICAgICAvLyBub3QgdGhlIGNhc2UuCisKKyAgICAgICAgaWYgKGV4
ZWMtPm1fYWN0aXZhdGlvbiAmJiBleGVjLT5tX2FjdGl2YXRpb24tPmlzT25TdGFjaygpKQorICAg
ICAgICAgICAgZXhlYy0+bV9hY3RpdmF0aW9uLT5tYXJrQ2hpbGRyZW4oKTsKKyAgICAgICAgCisg
ICAgICAgIGlmIChleGVjLT5tX3NhdmVkRXhlYyAhPSBleGVjLT5tX2NhbGxpbmdFeGVjICYmIGV4
ZWMtPm1fc2F2ZWRFeGVjKQorICAgICAgICAgICAgZXhlYy0+bV9zYXZlZEV4ZWMtPm1hcmsoKTsK
KyAgICB9CiB9CiAKIEpTR2xvYmFsT2JqZWN0KiBFeGVjU3RhdGU6OmxleGljYWxHbG9iYWxPYmpl
Y3QoKSBjb25zdApJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL2Z1bmN0aW9uLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvZnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyOTQ4NykK
KysrIEphdmFTY3JpcHRDb3JlL2tqcy9mdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1
MCw5ICs3NTAsNyBAQCBKU1ZhbHVlKiBHbG9iYWxGdW5jSW1wOjpjYWxsQXNGdW5jdGlvbihFCiAg
ICAgICAgIGJvb2wgc3dpdGNoR2xvYmFsID0gdGhpc09iaiAmJiB0aGlzT2JqICE9IGV4ZWMtPmR5
bmFtaWNHbG9iYWxPYmplY3QoKSAmJiB0aGlzT2JqLT5pc0dsb2JhbE9iamVjdCgpOwogCiAgICAg
ICAgIC8vIGVudGVyIGEgbmV3IGV4ZWN1dGlvbiBjb250ZXh0Ci0gICAgICAgIGlmICghc3dpdGNo
R2xvYmFsKQotICAgICAgICAgICAgZXhlYy0+ZHluYW1pY0dsb2JhbE9iamVjdCgpLT50ZWFyT2Zm
QWN0aXZhdGlvbihleGVjKTsKLSAgICAgICAgCisgICAgICAgIGV4ZWMtPmR5bmFtaWNHbG9iYWxP
YmplY3QoKS0+dGVhck9mZkFjdGl2YXRpb24oZXhlYyk7CiAgICAgICAgIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QgPSBzd2l0Y2hHbG9iYWwgPyBzdGF0aWNfY2FzdDxKU0dsb2JhbE9iamVj
dCo+KHRoaXNPYmopIDogZXhlYy0+ZHluYW1pY0dsb2JhbE9iamVjdCgpOwogICAgICAgICBFeGVj
U3RhdGUgbmV3RXhlYyhnbG9iYWxPYmplY3QsIGV2YWxOb2RlLmdldCgpLCBleGVjKTsKICAgICAg
ICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18477</attachid>
            <date>2008-01-16 11:12:09 -0800</date>
            <delta_ts>2008-01-16 14:07:52 -0800</delta_ts>
            <desc>Revised proposed patch</desc>
            <filename>gmail.patch</filename>
            <type>text/plain</type>
            <size>2901</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5NDkxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDgtMDEtMTQgIENhbWVyb24g
WndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXMgQnVnIDE2ODY4OiBHbWFpbCBjcmFzaAor
ICAgICAgICAgIGFuZCBCdWcgMTY4NzE6IENyYXNoIHdoZW4gbG9hZGluZyBhcHBsZS5jb20vc3Rh
cnRwYWdlCisKKyAgICAgICAgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2ODY4PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTY4NjEwOD4KKworICAgICAgICA8aHR0
cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NzE+CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81Njg2NjcwPgorCisgICAgICAgIEFkZHMgQWN0aXZhdGlvbkltcCB0ZWFyLW9m
ZiBmb3IgY3Jvc3Mtd2luZG93IGV2YWwoKSBhbmQgZml4ZXMgYW4KKyAgICAgICAgZXhpc3Rpbmcg
Z2FyYmFnZSBjb2xsZWN0aW9uIGlzc3VlIGV4cG9zZWQgYnkgdGhlIEFjdGl2YXRpb25JbXAgdGVh
ci1vZmYKKyAgICAgICAgcGF0Y2ggKHIyOTQyNSkgdGhhdCBjYW4gb2NjdXIgd2hlbiBhbiBFeGVj
U3RhdGUncyBtX2NhbGxpbmdFeGVjIGlzCisgICAgICAgIGRpZmZlcmVudCB0aGFuIGl0cyBtX3Nh
dmVkRXhlYy4KKworICAgICAgICAqIGtqcy9FeGVjU3RhdGUuY3BwOgorICAgICAgICAoS0pTOjpF
eGVjU3RhdGU6Om1hcmspOgorICAgICAgICAqIGtqcy9mdW5jdGlvbi5jcHA6CisgICAgICAgIChL
SlM6Okdsb2JhbEZ1bmNJbXA6OmNhbGxBc0Z1bmN0aW9uKToKKwogMjAwOC0wMS0xNCAgU3RldmUg
RmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBzaGFyZWQgdnNw
cm9wcyBmb3IgbW9zdCB2Y3Byb2ogcHJvcGVydGllcy4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tq
cy9FeGVjU3RhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9FeGVjU3Rh
dGUuY3BwCShyZXZpc2lvbiAyOTQ4NykKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9FeGVjU3RhdGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsMTUgKzEyNSwxMiBAQCBFeGVjU3RhdGU6On5FeGVj
U3RhdGUoKQogCiB2b2lkIEV4ZWNTdGF0ZTo6bWFyaygpCiB7Ci0gICAgZm9yIChFeGVjU3RhdGUq
IGV4ZWMgPSB0aGlzOyBleGVjOyBleGVjID0gZXhlYy0+bV9jYWxsaW5nRXhlYykKKyAgICBmb3Ig
KEV4ZWNTdGF0ZSogZXhlYyA9IHRoaXM7IGV4ZWM7IGV4ZWMgPSBleGVjLT5tX2NhbGxpbmdFeGVj
KSB7CiAgICAgICAgIGV4ZWMtPm1fc2NvcGVDaGFpbi5tYXJrKCk7CiAKLSAgICAvLyBGSVhNRTog
SXQgaXMgc3VycHJpc2luZyB0aGF0IHRoaXMgY29kZSBpcyBuZWNlc3NhcnksIHNpbmNlIGF0IGZp
cnN0Ci0gICAgLy8gZ2xhbmNlIGl0IHNlZW1zIHRoYXQgYWxsIEFjdGl2YXRpb25JbXBzIHNob3Vs
ZCBiZSBpbiBhIFNjb3BlQ2hhaW4uCi0gICAgLy8gSG93ZXZlciwgPGh0dHA6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODcxPiBwcm92ZXMgdGhhdCBpcwotICAgIC8vIG5vdCB0
aGUgY2FzZS4KLSAgICBpZiAobV9hY3RpdmF0aW9uICYmIG1fYWN0aXZhdGlvbi0+aXNPblN0YWNr
KCkpCi0gICAgICAgIG1fYWN0aXZhdGlvbi0+bWFya0NoaWxkcmVuKCk7CisgICAgICAgIGlmIChl
eGVjLT5tX3NhdmVkRXhlYyAhPSBleGVjLT5tX2NhbGxpbmdFeGVjICYmIGV4ZWMtPm1fc2F2ZWRF
eGVjKQorICAgICAgICAgICAgZXhlYy0+bV9zYXZlZEV4ZWMtPm1hcmsoKTsKKyAgICB9CiB9CiAK
IEpTR2xvYmFsT2JqZWN0KiBFeGVjU3RhdGU6OmxleGljYWxHbG9iYWxPYmplY3QoKSBjb25zdApJ
bmRleDogSmF2YVNjcmlwdENvcmUva2pzL2Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9ranMvZnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyOTQ4NykKKysrIEphdmFTY3Jp
cHRDb3JlL2tqcy9mdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1MCw5ICs3NTAsNyBA
QCBKU1ZhbHVlKiBHbG9iYWxGdW5jSW1wOjpjYWxsQXNGdW5jdGlvbihFCiAgICAgICAgIGJvb2wg
c3dpdGNoR2xvYmFsID0gdGhpc09iaiAmJiB0aGlzT2JqICE9IGV4ZWMtPmR5bmFtaWNHbG9iYWxP
YmplY3QoKSAmJiB0aGlzT2JqLT5pc0dsb2JhbE9iamVjdCgpOwogCiAgICAgICAgIC8vIGVudGVy
IGEgbmV3IGV4ZWN1dGlvbiBjb250ZXh0Ci0gICAgICAgIGlmICghc3dpdGNoR2xvYmFsKQotICAg
ICAgICAgICAgZXhlYy0+ZHluYW1pY0dsb2JhbE9iamVjdCgpLT50ZWFyT2ZmQWN0aXZhdGlvbihl
eGVjKTsKLSAgICAgICAgCisgICAgICAgIGV4ZWMtPmR5bmFtaWNHbG9iYWxPYmplY3QoKS0+dGVh
ck9mZkFjdGl2YXRpb24oZXhlYyk7CiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBzd2l0Y2hHbG9iYWwgPyBzdGF0aWNfY2FzdDxKU0dsb2JhbE9iamVjdCo+KHRoaXNPYmop
IDogZXhlYy0+ZHluYW1pY0dsb2JhbE9iamVjdCgpOwogICAgICAgICBFeGVjU3RhdGUgbmV3RXhl
YyhnbG9iYWxPYmplY3QsIGV2YWxOb2RlLmdldCgpLCBleGVjKTsKICAgICAgICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18484</attachid>
            <date>2008-01-16 14:07:52 -0800</date>
            <delta_ts>2008-01-16 15:07:11 -0800</delta_ts>
            <desc>Revised proposed patch</desc>
            <filename>gmail.patch</filename>
            <type>text/plain</type>
            <size>5143</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI5NDkxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDgtMDEtMTQgIENhbWVyb24g
WndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4ZXMgQnVnIDE2ODY4OiBHbWFpbCBjcmFzaAor
ICAgICAgICAgIGFuZCBCdWcgMTY4NzE6IENyYXNoIHdoZW4gbG9hZGluZyBhcHBsZS5jb20vc3Rh
cnRwYWdlCisKKyAgICAgICAgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2ODY4PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTY4NjEwOD4KKworICAgICAgICA8aHR0
cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NzE+CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81Njg2NjcwPgorCisgICAgICAgIEFkZHMgQWN0aXZhdGlvbkltcCB0ZWFyLW9m
ZiBmb3IgY3Jvc3Mtd2luZG93IGV2YWwoKSBhbmQgZml4ZXMgYW4KKyAgICAgICAgZXhpc3Rpbmcg
Z2FyYmFnZSBjb2xsZWN0aW9uIGlzc3VlIGV4cG9zZWQgYnkgdGhlIEFjdGl2YXRpb25JbXAgdGVh
ci1vZmYKKyAgICAgICAgcGF0Y2ggKHIyOTQyNSkgdGhhdCBjYW4gb2NjdXIgd2hlbiBhbiBFeGVj
U3RhdGUncyBtX2NhbGxpbmdFeGVjIGlzCisgICAgICAgIGRpZmZlcmVudCB0aGFuIGl0cyBtX3Nh
dmVkRXhlYy4KKworICAgICAgICAqIGtqcy9FeGVjU3RhdGUuY3BwOgorICAgICAgICAoS0pTOjpF
eGVjU3RhdGU6Om1hcmspOgorICAgICAgICAqIGtqcy9mdW5jdGlvbi5jcHA6CisgICAgICAgIChL
SlM6Okdsb2JhbEZ1bmNJbXA6OmNhbGxBc0Z1bmN0aW9uKToKKwogMjAwOC0wMS0xNCAgU3RldmUg
RmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBzaGFyZWQgdnNw
cm9wcyBmb3IgbW9zdCB2Y3Byb2ogcHJvcGVydGllcy4KSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tq
cy9FeGVjU3RhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9FeGVjU3Rh
dGUuY3BwCShyZXZpc2lvbiAyOTQ4NykKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9FeGVjU3RhdGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsMTUgKzEyNSwxMiBAQCBFeGVjU3RhdGU6On5FeGVj
U3RhdGUoKQogCiB2b2lkIEV4ZWNTdGF0ZTo6bWFyaygpCiB7Ci0gICAgZm9yIChFeGVjU3RhdGUq
IGV4ZWMgPSB0aGlzOyBleGVjOyBleGVjID0gZXhlYy0+bV9jYWxsaW5nRXhlYykKKyAgICBmb3Ig
KEV4ZWNTdGF0ZSogZXhlYyA9IHRoaXM7IGV4ZWM7IGV4ZWMgPSBleGVjLT5tX2NhbGxpbmdFeGVj
KSB7CiAgICAgICAgIGV4ZWMtPm1fc2NvcGVDaGFpbi5tYXJrKCk7CiAKLSAgICAvLyBGSVhNRTog
SXQgaXMgc3VycHJpc2luZyB0aGF0IHRoaXMgY29kZSBpcyBuZWNlc3NhcnksIHNpbmNlIGF0IGZp
cnN0Ci0gICAgLy8gZ2xhbmNlIGl0IHNlZW1zIHRoYXQgYWxsIEFjdGl2YXRpb25JbXBzIHNob3Vs
ZCBiZSBpbiBhIFNjb3BlQ2hhaW4uCi0gICAgLy8gSG93ZXZlciwgPGh0dHA6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODcxPiBwcm92ZXMgdGhhdCBpcwotICAgIC8vIG5vdCB0
aGUgY2FzZS4KLSAgICBpZiAobV9hY3RpdmF0aW9uICYmIG1fYWN0aXZhdGlvbi0+aXNPblN0YWNr
KCkpCi0gICAgICAgIG1fYWN0aXZhdGlvbi0+bWFya0NoaWxkcmVuKCk7CisgICAgICAgIGlmIChl
eGVjLT5tX3NhdmVkRXhlYyAhPSBleGVjLT5tX2NhbGxpbmdFeGVjICYmIGV4ZWMtPm1fc2F2ZWRF
eGVjKQorICAgICAgICAgICAgZXhlYy0+bV9zYXZlZEV4ZWMtPm1hcmsoKTsKKyAgICB9CiB9CiAK
IEpTR2xvYmFsT2JqZWN0KiBFeGVjU3RhdGU6OmxleGljYWxHbG9iYWxPYmplY3QoKSBjb25zdApJ
bmRleDogSmF2YVNjcmlwdENvcmUva2pzL2Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9ranMvZnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyOTQ4NykKKysrIEphdmFTY3Jp
cHRDb3JlL2tqcy9mdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1MCw5ICs3NTAsNyBA
QCBKU1ZhbHVlKiBHbG9iYWxGdW5jSW1wOjpjYWxsQXNGdW5jdGlvbihFCiAgICAgICAgIGJvb2wg
c3dpdGNoR2xvYmFsID0gdGhpc09iaiAmJiB0aGlzT2JqICE9IGV4ZWMtPmR5bmFtaWNHbG9iYWxP
YmplY3QoKSAmJiB0aGlzT2JqLT5pc0dsb2JhbE9iamVjdCgpOwogCiAgICAgICAgIC8vIGVudGVy
IGEgbmV3IGV4ZWN1dGlvbiBjb250ZXh0Ci0gICAgICAgIGlmICghc3dpdGNoR2xvYmFsKQotICAg
ICAgICAgICAgZXhlYy0+ZHluYW1pY0dsb2JhbE9iamVjdCgpLT50ZWFyT2ZmQWN0aXZhdGlvbihl
eGVjKTsKLSAgICAgICAgCisgICAgICAgIGV4ZWMtPmR5bmFtaWNHbG9iYWxPYmplY3QoKS0+dGVh
ck9mZkFjdGl2YXRpb24oZXhlYyk7CiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBzd2l0Y2hHbG9iYWwgPyBzdGF0aWNfY2FzdDxKU0dsb2JhbE9iamVjdCo+KHRoaXNPYmop
IDogZXhlYy0+ZHluYW1pY0dsb2JhbE9iamVjdCgpOwogICAgICAgICBFeGVjU3RhdGUgbmV3RXhl
YyhnbG9iYWxPYmplY3QsIGV2YWxOb2RlLmdldCgpLCBleGVjKTsKICAgICAgICAgICAKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI5NTM4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDgtMDEtMTYgIENhbWVyb24gWndhcmljaCAgPGN3endh
cmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgYSB0ZXN0IHRoYXQgY2hlY2tzIHdoZXRoZXIgQWN0aXZhdGlvbklt
cCB0ZWFyLW9mZiBvY2N1cnMgYmVmb3JlCisgICAgICAgIGEgY3Jvc3Mtd2luZG93IGV2YWwoKS4g
UmVsZXZhbnQgdG8KKworICAgICAgICBCdWcgMTY4Njg6IEdtYWlsIGNyYXNoCisKKyAgICAgICAg
PGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODY4PgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTY4NjEwOD4KKworICAgICAgICAqIGZhc3QvanMvd2luZG93LWV2YWwt
dGVhcm9mZi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvd2luZG93LWV2
YWwtdGVhcm9mZi5odG1sOiBBZGRlZC4KKwogMjAwOC0wMS0xNiAgRGF2aWQgSHlhdHQgIDxoeWF0
dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmV0aC4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvanMvd2luZG93LWV2YWwtdGVhcm9mZi1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9qcy93aW5kb3ctZXZhbC10ZWFyb2ZmLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvd2luZG93LWV2YWwtdGVhcm9mZi1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorCitUZXN0IHRoYXQgb3Ro
ZXJXaW5kb3cuZXZhbCgpIHBlcmZvcm1zIEFjdGl2YXRpb25JbXAgdGVhci1vZmY6IFBBU1MKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvanMvd2luZG93LWV2YWwtdGVhcm9mZi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvd2luZG93LWV2YWwtdGVhcm9mZi5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy93aW5kb3ctZXZhbC10ZWFyb2ZmLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzMgQEAKKzxib2R5PgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHByaW50KG1lc3NhZ2UsIGNvbG9yKSAKK3sKKyAgICB2YXIgcGFyYWdyYXBoID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgcGFyYWdyYXBoLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAgICBwYXJhZ3JhcGguc3R5bGUuZm9udEZhbWls
eSA9ICJtb25vc3BhY2UiOworICAgIGlmIChjb2xvcikKKyAgICAgICAgcGFyYWdyYXBoLnN0eWxl
LmNvbG9yID0gY29sb3I7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5h
cHBlbmRDaGlsZChwYXJhZ3JhcGgpOworfQorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0Pgor
PGlmcmFtZSBpZD1pIHNyYz0nYWJvdXQ6YmxhbmsnIHdpZHRoPTEwIGhlaWdodD0xMD4KKzwvaWZy
YW1lPgorPGRpdiBpZD1jb25zb2xlPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBvdGhlcldpbmRvdyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpJykuY29udGVudFdpbmRvdzsKK3ZhciBjbG9zdXJl
OworCitmdW5jdGlvbiBvdGhlcldpbmRvd0Nsb3N1cmUoKQoreworICAgIHZhciBsb2NhbFZhciA9
IDE7CisgICAgCisgICAgcmV0dXJuIG90aGVyV2luZG93LmV2YWwoIihmdW5jdGlvbiAoKSB7IHJl
dHVybiBsb2NhbFZhcjsgfSkiKTsKK30KKworY2xvc3VyZSA9IG90aGVyV2luZG93Q2xvc3VyZSgp
OworCitwcmludCgiVGVzdCB0aGF0IG90aGVyV2luZG93LmV2YWwoKSBwZXJmb3JtcyBBY3RpdmF0
aW9uSW1wIHRlYXItb2ZmOiAiICsgKGNsb3N1cmUoKSA9PSAxID8gIlBBU1MiIDogIkZBSUwiKSkg
OworPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="8091"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>