<?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>25526</bug_id>
          
          <creation_ts>2009-05-03 13:49:02 -0700</creation_ts>
          <short_desc>[Gtk] Additional support is needed for caret browsing</short_desc>
          <delta_ts>2010-12-13 10:35:19 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>49143</dependson>
          <blocked>25531</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Xan Lopez">xan.lopez</assigned_to>
          <cc>abarth</cc>
    
    <cc>agl</cc>
    
    <cc>apinheiro</cc>
    
    <cc>eric</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>mario</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>walker.willie</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>119733</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-05-03 13:49:02 -0700</bug_when>
    <thetext>(This is a spin-off bug from Bug 16135 comment 25)

* For the caret navigation implemented in Bug 16135 there do not seem to be any caret-moved events emitted to inform assistive technologies of the movement taking place. As a result, ATs don&apos;t know that there&apos;s anything to present to the user.

* Need support for Home, End, Ctrl+Home, Ctrl+End

* Need (additional) support for selection via Shift + the above. Interestingly
enough, this seems to have been implemented once something is already selected.
(i.e. if you Shift + Right, Shift+Home, Shift+End, Shift+Ctrl+Home, and
Shift+Ctrl+End start working as expected. They just fail when nothing is
already selected.)

* In addition to the caret-moved events, I&apos;m not seeing text-selection-changed
events when selecting/unselecting text.

* What are your thoughts/plans w.r.t. emitting focus: events when focus
changes? I am seeing the object:state-changed:focused events now (yea!) but not
focus: events. To be honest, I&apos;m not sure how critical they are. I&apos;m just used
to seeing them in other apps. I&apos;ll leave it to Will to comment on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119815</commentid>
    <comment_count>1</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-04 02:15:16 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; (This is a spin-off bug from Bug 16135 comment 25)
&gt; 

I&apos;m going to start with this bug from the list of Orca blockers, yell at me if I should start with a different one.


&gt; * What are your thoughts/plans w.r.t. emitting focus: events when focus
&gt; changes? I am seeing the object:state-changed:focused events now (yea!) but not
&gt; focus: events. To be honest, I&apos;m not sure how critical they are. I&apos;m just used
&gt; to seeing them in other apps. I&apos;ll leave it to Will to comment on that.
&gt; 

Hum, I&apos;m emitting &apos;focus-event&apos; and &apos;state-change:focused&apos; from the same place, so I guess &apos;focus-event&apos; is not what you have mind. Can you point me to the doc of the signal that is missing?
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119841</commentid>
    <comment_count>2</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-04 09:29:50 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; * Need (additional) support for selection via Shift + the above. Interestingly
&gt; enough, this seems to have been implemented once something is already selected.
&gt; (i.e. if you Shift + Right, Shift+Home, Shift+End, Shift+Ctrl+Home, and
&gt; Shift+Ctrl+End start working as expected. They just fail when nothing is
&gt; already selected.)
&gt; 

BTW, I&apos;m not sure I get what you mean here. Shitf+Home,End, etc won&apos;t work right, but the combinations with the direction keys should be working correctly I think. At least they work when nothing is selected here. Can you clarify this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119843</commentid>
    <comment_count>3</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-05-04 09:55:34 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; BTW, I&apos;m not sure I get what you mean here. Shitf+Home,End, etc won&apos;t work
&gt; right, but the combinations with the direction keys should be working correctly
&gt; I think. At least they work when nothing is selected here. Can you clarify
&gt; this?

Sorry. Yes, the direction keys (Left, Right, Up, Down) work as expected (given normal text). Similarly, Shift + those four direction keys cause text to be selected, as expected. As for the rest:

1. With no text selected, try pressing Home, End, Control+Home, Control+End. Results: The caret does not move.

2. *With no text selected*, try Shift+Home, Shift+End, Shift+Control+Home, Shift+Control+End. Results: The caret does not move and no text is selected.

BUT

3. Use, say, Shift+Right Arrow to select the next character from within the middle of a line. Having done so, try Shift+Home, Shift+End, Shift+Control+Home, Shift+Control+End. Results: All four of these commands suddenly start working as expected. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119844</commentid>
    <comment_count>4</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-05-04 10:13:18 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; I&apos;m going to start with this bug from the list of Orca blockers, yell at me if
&gt; I should start with a different one.

This is a good place to start, but thanks for asking. :-)

&gt; Hum, I&apos;m emitting &apos;focus-event&apos; and &apos;state-change:focused&apos; from the same place,

Indeed you are. I should&apos;ve looked at your patch before I asked my question. My bad.

&gt; so I guess &apos;focus-event&apos; is not what you have mind.

I&apos;m afraid I&apos;m now stumped too. When I look at this doc

http://library.gnome.org/devel/atk/unstable/AtkObject.html#AtkObject-focus-event

it does seem that focus-event is exactly what I have in mind. The thing is, when I use Accerciser&apos;s event monitor and choose &quot;focus&quot; as the event of interest, Tabbing around links and form controls does not cause any events to be displayed by Accerciser. Yet, when I choose object-&gt;state-changed and Tab around, events are displayed.

So....

When you choose focus as the event type in Accerciser, are you seeing events emitted as expected? (In which case I need to figure out what&apos;s up on my box.) Otherwise, I wonder why what you&apos;ve done is not causing the desired/expected results....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119850</commentid>
    <comment_count>5</comment_count>
      <attachid>29992</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-04 10:27:49 -0700</bug_when>
    <thetext>Created attachment 29992
caretrefactor.patch

Before adding the new features I&apos;m refactoring the key handling code. I&apos;ve now removed the special case for caret browsing in GTK+ and do everything in the crossplatform part of the code, which should be better for everyone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119851</commentid>
    <comment_count>6</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-04 10:31:02 -0700</bug_when>
    <thetext>CCing Justin so he can hopefully have a look at the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119852</commentid>
    <comment_count>7</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-04 10:32:03 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; So....
&gt; 
&gt; When you choose focus as the event type in Accerciser, are you seeing events
&gt; emitted as expected? (In which case I need to figure out what&apos;s up on my box.)
&gt; Otherwise, I wonder why what you&apos;ve done is not causing the desired/expected
&gt; results....
&gt; 

Yes, the same happens here. I guess there&apos;s something missing for this to work, we&apos;ll have to figure it out.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119944</commentid>
    <comment_count>8</comment_count>
      <attachid>30015</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-05 03:51:38 -0700</bug_when>
    <thetext>Created attachment 30015
homeendcaret.patch

This adds support for Home and End with their modifiers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119981</commentid>
    <comment_count>9</comment_count>
      <attachid>30022</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-05 09:58:26 -0700</bug_when>
    <thetext>Created attachment 30022
textcaretmoved.patch

Emit AtkText::text-caret-moved when the selection changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120070</commentid>
    <comment_count>10</comment_count>
      <attachid>30044</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-05 23:17:40 -0700</bug_when>
    <thetext>Created attachment 30044
textcaretv2.patch

Rename our SelectionController to SelectionControllerGtk.cpp to avoid complaints by the linker, and only emit the signal if the wrapper object is actually an instance of AtkText.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120085</commentid>
    <comment_count>11</comment_count>
      <attachid>30045</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-05-06 02:18:32 -0700</bug_when>
    <thetext>Created attachment 30045
textselectionchanged.patch

Implement AtkText::text-selection-changed. I believe with this we now cover all the issues raised in the first comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120091</commentid>
    <comment_count>12</comment_count>
      <attachid>30044</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-05-06 07:03:25 -0700</bug_when>
    <thetext>Comment on attachment 30044
textcaretv2.patch

Looks correct. I was about to ask for text-selection-changed, but then I saw the second patch =).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120092</commentid>
    <comment_count>13</comment_count>
      <attachid>30045</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-05-06 07:03:43 -0700</bug_when>
    <thetext>Comment on attachment 30045
textselectionchanged.patch

And here goes text-selection-changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120209</commentid>
    <comment_count>14</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-05-06 20:24:40 -0700</bug_when>
    <thetext>&gt; Created an attachment (id=29992) [review]
&gt; caretrefactor.patch

From just a testing/usage standpoint, this seems to be working nicely.

&gt; Created an attachment (id=30015) [review]
&gt; homeendcaret.patch
&gt; 
&gt; This adds support for Home and End with their modifiers.

Ditto for this one. Awesome!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120231</commentid>
    <comment_count>15</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2009-05-06 23:03:24 -0700</bug_when>
    <thetext>I just tested the new text-caret-moved and text-selection-changed events. Nice!

I&apos;m seeing a couple of issues that I&apos;ll comment on here. If you want either filed as new bugs, please let me know.

1. When selecting text, text-caret-moved events continue to be issued for the offset at which the selection began rather than the current offset (i.e. the selection end).

2. When selecting text across object boundaries, the text-selection-changed events which are emitted are emitted for the object in which the selection started, which might not be the object containing the most recent selection. For instance, given:

    This &lt;a href=&quot;foo.html&quot;&gt;is&lt;/a&gt; a test.

If I start selection somewhere in &quot;This&quot; and Shift+Right through to &quot;test,&quot; I see a text-selection-changed event for each press of Shift+Right, but all of them are for the accessible which contains &quot;This&quot; rather than the link and subsequent text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125162</commentid>
    <comment_count>16</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-10 10:33:08 -0700</bug_when>
    <thetext>It&apos;s not clear to me from the above what (if anything) should be landed.  Clearly textcaretv2.patch and textselectionchanged.patch are fine, but what about the caretrefactor.patch and homeendcaret.patch?  Is this only partially approved?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125164</commentid>
    <comment_count>17</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-10 10:35:52 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; It&apos;s not clear to me from the above what (if anything) should be landed. 
&gt; Clearly textcaretv2.patch and textselectionchanged.patch are fine, but what
&gt; about the caretrefactor.patch and homeendcaret.patch?  Is this only partially
&gt; approved?
&gt; 

Well, someone has to review them. They improve the cross-platform support for caret browsing mode, so none of the GTK+ reviewers feel comfortable approving that kind of change. I&apos;ve pinged several people about it several times without luck so far...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125553</commentid>
    <comment_count>18</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-06-12 15:28:37 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; It&apos;s not clear to me from the above what (if anything) should be landed. 
&gt; &gt; Clearly textcaretv2.patch and textselectionchanged.patch are fine, but what
&gt; &gt; about the caretrefactor.patch and homeendcaret.patch?  Is this only partially
&gt; &gt; approved?
&gt; &gt; 
&gt; 
&gt; Well, someone has to review them. They improve the cross-platform support for
&gt; caret browsing mode, so none of the GTK+ reviewers feel comfortable approving
&gt; that kind of change. I&apos;ve pinged several people about it several times without
&gt; luck so far...

Xan, are these two patches needed to get textcaret and textselectionchanged patches to work? I&apos;m thinking move these two cross-platform refactorings in a separate bug for now and retain/improve what we have in EditorClientGtk so we can move forward with this bug.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126020</commentid>
    <comment_count>19</comment_count>
      <attachid>29992</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-15 13:49:30 -0700</bug_when>
    <thetext>Comment on attachment 29992
caretrefactor.patch

executeMoveParagraphBackward and executeMoveParagraphForward implementations seem flipped.

What does Caret Browsing mean?

Seems this should be a static function:
bool caretBrowsing = frame-&gt;settings() &amp;&amp; frame-&gt;settings()-&gt;caretBrowsingEnabled();

bool caretBrowsingEnabled(frame)

Seems this should be a nicely-named constant somewhere:
static_cast&lt;EditorCommandSource&gt;(0)

Or there should be a different version of enabledInEditableText which doesn&apos;t take a source.

How does one test this?  We need at least a manual test if not a LayoutTest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126022</commentid>
    <comment_count>20</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-15 13:58:06 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 29992 [review])
&gt; executeMoveParagraphBackward and executeMoveParagraphForward implementations
&gt; seem flipped.

Yeah, silly me.

&gt; 
&gt; What does Caret Browsing mean?

It means the hability to browse web pages only using the keyboard, thanks to a special mode in the browser called, you guessed, caret browsing mode. It&apos;s of great importance for accessibility, and Gecko&apos;s implementation is specified here: http://www.mozilla.org/access/keyboard/proposal

&gt; 
&gt; Seems this should be a static function:
&gt; bool caretBrowsing = frame-&gt;settings() &amp;&amp;
&gt; frame-&gt;settings()-&gt;caretBrowsingEnabled();
&gt; 
&gt; bool caretBrowsingEnabled(frame)

Sure.

&gt; 
&gt; Seems this should be a nicely-named constant somewhere:
&gt; static_cast&lt;EditorCommandSource&gt;(0)
&gt; 
&gt; Or there should be a different version of enabledInEditableText which doesn&apos;t
&gt; take a source.

I think at least for this patch keeping the dummy constant would be better, we can further refactor it in follow-up patches.

&gt; 
&gt; How does one test this?  We need at least a manual test if not a LayoutTest.
&gt; 

OK, I can provide at the very least a manual test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126438</commentid>
    <comment_count>21</comment_count>
      <attachid>31409</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-06-17 04:53:53 -0700</bug_when>
    <thetext>Created attachment 31409
caretextra.patch

Fixes the points raised by Eric.

The manual test is really basic, because a) I&apos;m not sure how to enable caret browsing from tests (in a crossplatform way) b) GTK+ port does not have eventSender right now, so I couldn&apos;t really test this anyway. I hope this will be enough while I figure out those problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126818</commentid>
    <comment_count>22</comment_count>
      <attachid>31409</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-18 17:12:00 -0700</bug_when>
    <thetext>Comment on attachment 31409
caretextra.patch

Since you&apos;re adding two new execCommands we need to test those.  Please add a LayoutTest which uses execCommand() to test these new commands.

Otherwise I think the patch looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127204</commentid>
    <comment_count>23</comment_count>
      <attachid>30015</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-21 01:49:16 -0700</bug_when>
    <thetext>Comment on attachment 30015
homeendcaret.patch

This part looks fine.  We need tests for this though.  You should add a way to turn on Caret browsing from DRT and then check that these edit commands are enabled...

Sicne you already have other patches on this bug blocked by lack of tests, I&apos;ll r+ this simple one and you can add more tests as part of those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132500</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-17 00:11:07 -0700</bug_when>
    <thetext>We should either decide to land these or remove them from the queue.  Any guidance on which is best?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132504</commentid>
    <comment_count>25</comment_count>
      <attachid>30045</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-07-17 00:19:06 -0700</bug_when>
    <thetext>Comment on attachment 30045
textselectionchanged.patch

This patch got landed, clear review to make it drop out of the review queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134444</commentid>
    <comment_count>26</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-07-24 01:13:02 -0700</bug_when>
    <thetext>Assign the bug to myself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140052</commentid>
    <comment_count>27</comment_count>
      <attachid>30015</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-13 14:48:15 -0700</bug_when>
    <thetext>Comment on attachment 30015
homeendcaret.patch

Based on above comments this was already landed (unsure what revision?).  Clearing r+ flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140054</commentid>
    <comment_count>28</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-13 14:48:56 -0700</bug_when>
    <thetext>If patches have already been landed from this bug, do we still need it open?  Ideally we do one change per bug (to not confuse the humans or tools).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142802</commentid>
    <comment_count>29</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-26 00:06:19 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; If patches have already been landed from this bug, do we still need it open? 
&gt; Ideally we do one change per bug (to not confuse the humans or tools).

There are still patches to land, pending on doing the tests for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151818</commentid>
    <comment_count>30</comment_count>
      <attachid>40506</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-02 04:01:09 -0700</bug_when>
    <thetext>Created attachment 40506
caret-cleanup.diff

OK, spliting this a bit.

This just moves the code in EditorClientGtk.cpp to WebCore, but does not change anything else. This code is only used when caret browse mode is enabled, which only the GTK+ port does, so it should be totally safe (ie, no behavior change).

The extra editorCommands that are missing will be added when I add the dumpEditorCommands stuff to our DRT, so that I&apos;m able to test them :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152742</commentid>
    <comment_count>31</comment_count>
      <attachid>40506</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-06 08:53:55 -0700</bug_when>
    <thetext>Comment on attachment 40506
caret-cleanup.diff

This is adding Editor commands which are exposed to JavaScript, so this needs LayoutTests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152744</commentid>
    <comment_count>32</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-06 08:57:24 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 40506 [details])
&gt; This is adding Editor commands which are exposed to JavaScript, so this needs
&gt; LayoutTests.

It does not add any new command, it just allows those useful in caret browsing mode to be used when that is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152755</commentid>
    <comment_count>33</comment_count>
      <attachid>40506</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-06 09:35:48 -0700</bug_when>
    <thetext>Comment on attachment 40506
caret-cleanup.diff

My mistake.  Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152780</commentid>
    <comment_count>34</comment_count>
      <attachid>40506</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-10-06 10:32:37 -0700</bug_when>
    <thetext>Comment on attachment 40506
caret-cleanup.diff

Landed as r49193, clearing flags. I&apos;ll leave this open since there&apos;s still one thing to land (the two new editor commands).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177517</commentid>
    <comment_count>35</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2010-01-05 18:41:50 -0800</bug_when>
    <thetext>(In reply to comment #34)
&gt; (From update of attachment 40506 [details])
&gt; Landed as r49193, clearing flags. I&apos;ll leave this open since there&apos;s still one
&gt; thing to land (the two new editor commands).

Ping. :-) (Aren&apos;t home and end done and just in need of review and commit?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182270</commentid>
    <comment_count>36</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-01-19 09:04:54 -0800</bug_when>
    <thetext>(In reply to comment #35)
&gt; (In reply to comment #34)
&gt; &gt; (From update of attachment 40506 [details] [details])
&gt; &gt; Landed as r49193, clearing flags. I&apos;ll leave this open since there&apos;s still one
&gt; &gt; thing to land (the two new editor commands).
&gt; 
&gt; Ping. :-) (Aren&apos;t home and end done and just in need of review and commit?)

We need features in DRT we don&apos;t have atm to be able to land this, see comment #30</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273956</commentid>
    <comment_count>37</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2010-09-03 08:32:12 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; (In reply to comment #35)
&gt; &gt; (In reply to comment #34)
&gt; &gt; &gt; (From update of attachment 40506 [details] [details] [details])
&gt; &gt; &gt; Landed as r49193, clearing flags. I&apos;ll leave this open since there&apos;s still one
&gt; &gt; &gt; thing to land (the two new editor commands).
&gt; &gt; 
&gt; &gt; Ping. :-) (Aren&apos;t home and end done and just in need of review and commit?)
&gt; 
&gt; We need features in DRT we don&apos;t have atm to be able to land this, see comment #30

Ugh. I&apos;m working on Orca&apos;s script for Epiphany and could really, really use this final bit of the fix. Pretty please with sugar on top? :-) 

Jokes aside, it looks like it&apos;s been over six months -- since the last ping. :-( If there&apos;s some way this could be addressed, it would be awesome. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>308460</commentid>
    <comment_count>38</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-11-12 02:50:42 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Created an attachment (id=40506) [details]
&gt; caret-cleanup.diff
&gt; 
&gt; OK, spliting this a bit.
&gt; 
&gt; This just moves the code in EditorClientGtk.cpp to WebCore, but does not change anything else. This 
&gt; code is only used when caret browse mode is enabled, which only the GTK+ port does, so it should be 
&gt; totally safe (ie, no behavior change).
&gt; 
&gt; The extra editorCommands that are missing will be added when I add the dumpEditorCommands stuff to 
&gt; our DRT, so that I&apos;m able to test them :)

I&apos;d like to start tackling this issue asap but I&apos;m a bit clueless when it comes to understanding what you mean with &quot;the extra editorCommands&quot; and &quot;the dumpEditorCommands stuff&quot; :-)

Could you please give a little bit more of detail then about:

  - Which ones are those &quot;extra editorCommands&quot;, I assume thos are Ctrl+Home and Ctrl+End, but could you please confirm that? (based on mozilla&apos;s proposal I assume expected behaviour for those is moving the caret to the beginning/end of the current document, right?)

  - What that &quot;dumpEditorCommands stuff&quot; is about? This is my biggest doubt

Perhaps that way I could take the lead on this bug and trying to fix it &amp; provide the missing bits in DRT so we could create a layout test for it and land everything together.

Thanks in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319541</commentid>
    <comment_count>39</comment_count>
      <attachid>76080</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-12-09 10:09:31 -0800</bug_when>
    <thetext>Created attachment 76080
Move to Beginning/End of the document + Layout test

(In reply to comment #38)
&gt; [...]
&gt;   - Which ones are those &quot;extra editorCommands&quot;, I assume thos are Ctrl+Home
&gt; and Ctrl+End, but could you please confirm that? (based on mozilla&apos;s proposal I
&gt; assume expected behaviour for those is moving the caret to the beginning/end
&gt; of the current document, right?)
&gt;
&gt;   - What that &quot;dumpEditorCommands stuff&quot; is about? This is my biggest doubt

Attaching a new patch that would implement these last bits making the most of this new &quot;dumpEditorCommands&quot; tool we now have in DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319573</commentid>
    <comment_count>40</comment_count>
      <attachid>76092</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-12-09 10:40:47 -0800</bug_when>
    <thetext>Created attachment 76092
Move to Beginning/End of the document + Layout test

This is the right patch to be reviewed, sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321027</commentid>
    <comment_count>41</comment_count>
      <attachid>76092</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-12-13 03:48:43 -0800</bug_when>
    <thetext>Comment on attachment 76092
Move to Beginning/End of the document + Layout test

Woot!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321119</commentid>
    <comment_count>42</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-12-13 07:54:29 -0800</bug_when>
    <thetext>Committed r73918: &lt;http://trac.webkit.org/changeset/73918&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321141</commentid>
    <comment_count>43</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-12-13 08:45:17 -0800</bug_when>
    <thetext>I am about to make Qt also support properly caret browsing, at least for testing proposes. See bug 50536. It would be great if we did not add any further Gtk specific caret browsing tests after it lands.

  Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html

Also you named the bug  &quot;[GTK]&quot; and it just touches cross platform code. Please also avoid it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321144</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-13 09:05:48 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/73918 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321224</commentid>
    <comment_count>45</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2010-12-13 10:35:19 -0800</bug_when>
    <thetext>(In reply to comment #43)
&gt; I am about to make Qt also support properly caret browsing, at least for testing proposes. See bug 50536. It would be great if we did not add any further Gtk specific caret browsing tests after it lands.
&gt; 
&gt;   Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html

I just filed bug 50942 for taking care of bug as soon as we get integrated all the related patches currently pending on review (bug 25533 and bug 27048).

&gt; Also you named the bug  &quot;[GTK]&quot; and it just touches cross platform code. Please also avoid it.

I&apos;ll try not to put that prefix and use the Gtk keyword instead.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>29992</attachid>
            <date>2009-05-04 10:27:49 -0700</date>
            <delta_ts>2009-06-17 04:53:53 -0700</delta_ts>
            <desc>caretrefactor.patch</desc>
            <filename>caretrefactor.patch</filename>
            <type>text/plain</type>
            <size>19875</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBhNDczZTFmOGNlYjQwYjEyYmZhMDUxMzdlNGFiNmEyZTRmNzNjZjIyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBN
b24sIDQgTWF5IDIwMDkgMjA6MjQ6MDQgKzAzMDAKU3ViamVjdDogW1BBVENIXSBXZWJDb3JlOgoK
MjAwOS0wNS0wNCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjU1MjYKICAgICAgICBbR3RrXSBBZGRpdGlvbmFsIHN1cHBvcnQgaXMg
bmVlZGVkIGZvciBjYXJldCBicm93c2luZwoKICAgICAgICBFbmFibGUgY2FyZXQgbW92ZW1lbnQg
Y29tbWFuZHMgYWxzbyB3aGVuIGNhcmV0IGJyb3dzaW5nIHNldHRpbmcgaXMKICAgICAgICBlbmFi
bGVkLgoKICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6CiAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVNb3ZlUGFyYWdyYXBoQmFja3dhcmQpOgogICAgICAgIChXZWJDb3JlOjpleGVj
dXRlTW92ZVBhcmFncmFwaEZvcndhcmQpOgogICAgICAgIChXZWJDb3JlOjplbmFibGVkVmlzaWJs
ZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZyk6CiAgICAgICAgKFdlYkNvcmU6OmVuYWJsZWRJbkVk
aXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZyk6CiAgICAgICAgKFdlYkNvcmU6OkNvbW1hbmRFbnRy
eTo6KToKCldlYktpdC9ndGs6CgoyMDA5LTA1LTA0ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlh
LmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTUyNgogICAgICAgIFtHdGtdIEFk
ZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9yIGNhcmV0IGJyb3dzaW5nCgogICAgICAgIFJl
bW92ZSBzcGVjaWFsIGNhc2VzIGZvciBjYXJldCBicm93c2luZywgdGhleSBhcmUgbm93IGhhbmRs
ZWQgaW4KICAgICAgICBjcm9zcy1wbGF0Zm9ybSBjb2RlLgoKICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEd0ay5jcHA6CiAgICAgICAgKFdlYktpdDo6KToKICAgICAgICAoV2Vi
S2l0OjpoYW5kbGVFZGl0aW5nS2V5Ym9hcmRFdmVudCk6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysrCiBXZWJDb3JlL2VkaXRp
bmcvRWRpdG9yQ29tbWFuZC5jcHAgICAgICAgICAgICAgfCAgIDU2ICsrKysrKysrKysrKysrKysr
Ky0tLS0tLQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxNCArKysrKysKIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNw
cCB8ICAgMzIgKy0tLS0tLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygr
KSwgNDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBiMGJjNDNmLi4zZmFmZmYxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDA5
LTA1LTA0ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjU1MjYKKyAgICAgICAgW0d0a10gQWRkaXRpb25hbCBzdXBwb3J0IGlz
IG5lZWRlZCBmb3IgY2FyZXQgYnJvd3NpbmcKKworICAgICAgICBFbmFibGUgY2FyZXQgbW92ZW1l
bnQgY29tbWFuZHMgYWxzbyB3aGVuIGNhcmV0IGJyb3dzaW5nIHNldHRpbmcgaXMKKyAgICAgICAg
ZW5hYmxlZC4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpleGVjdXRlTW92ZVBhcmFncmFwaEJhY2t3YXJkKToKKyAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVNb3ZlUGFyYWdyYXBoRm9yd2FyZCk6CisgICAgICAgIChXZWJDb3JlOjplbmFi
bGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZyk6CisgICAgICAgIChXZWJDb3JlOjpl
bmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
Q29tbWFuZEVudHJ5OjopOgorCiAyMDA5LTA1LTAzICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9yZ2UgU3RhaWtvcy4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3JDb21tYW5kLmNwcAppbmRleCAwMDkwZGY3Li4zODI4MGJmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNv
bW1hbmQuY3BwCkBAIC01OTEsNiArNTkxLDEyIEBAIHN0YXRpYyBib29sIGV4ZWN1dGVNb3ZlRG93
bkFuZE1vZGlmeVNlbGVjdGlvbihGcmFtZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGV4ZWN1dGVNb3ZlUGFyYWdyYXBoQmFj
a3dhcmQoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0
cmluZyYpCit7CisgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoU2VsZWN0aW9uQ29udHJv
bGxlcjo6TU9WRSwgU2VsZWN0aW9uQ29udHJvbGxlcjo6Rk9SV0FSRCwgUGFyYWdyYXBoR3JhbnVs
YXJpdHksIHRydWUpOworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgYm9vbCBleGVjdXRl
TW92ZUZvcndhcmQoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UsIGNv
bnN0IFN0cmluZyYpCiB7CiAgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoU2VsZWN0aW9u
Q29udHJvbGxlcjo6TU9WRSwgU2VsZWN0aW9uQ29udHJvbGxlcjo6Rk9SV0FSRCwgQ2hhcmFjdGVy
R3JhbnVsYXJpdHksIHRydWUpOwpAQCAtNzc5LDYgKzc4NSwxMiBAQCBzdGF0aWMgYm9vbCBleGVj
dXRlTW92ZVVwQW5kTW9kaWZ5U2VsZWN0aW9uKEZyYW1lKiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JD
b21tYW5kUwogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMgYm9vbCBleGVjdXRlTW92ZVBh
cmFncmFwaEZvcndhcmQoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2Us
IGNvbnN0IFN0cmluZyYpCit7CisgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5tb2RpZnkoU2VsZWN0
aW9uQ29udHJvbGxlcjo6TU9WRSwgU2VsZWN0aW9uQ29udHJvbGxlcjo6QkFDS1dBUkQsIFBhcmFn
cmFwaEdyYW51bGFyaXR5LCB0cnVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGJv
b2wgZXhlY3V0ZU1vdmVXb3JkQmFja3dhcmQoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNv
bW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7CiAgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5t
b2RpZnkoU2VsZWN0aW9uQ29udHJvbGxlcjo6TU9WRSwgU2VsZWN0aW9uQ29udHJvbGxlcjo6QkFD
S1dBUkQsIFdvcmRHcmFudWxhcml0eSwgdHJ1ZSk7CkBAIC0xMDcxLDYgKzEwODMsMTMgQEAgc3Rh
dGljIGJvb2wgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24oRnJhbWUqIGZyYW1lLCBFdmVudCogZXZl
bnQsIEVkaXRvckNvbW1hbmRTb3UKICAgICByZXR1cm4gKHNlbGVjdGlvbi5pc0NhcmV0KCkgJiYg
c2VsZWN0aW9uLmlzQ29udGVudEVkaXRhYmxlKCkpIHx8IHNlbGVjdGlvbi5pc1JhbmdlKCk7CiB9
CiAKK3N0YXRpYyBib29sIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nKEZy
YW1lKiBmcmFtZSwgRXZlbnQqIGV2ZW50LCBFZGl0b3JDb21tYW5kU291cmNlKQoreworICAgIGJv
b2wgY2FyZXRCcm93c2luZyA9IGZyYW1lLT5zZXR0aW5ncygpICYmIGZyYW1lLT5zZXR0aW5ncygp
LT5jYXJldEJyb3dzaW5nRW5hYmxlZCgpOworICAgIC8vIFRoZSBFZGl0b3JDb21tYW5kU291cmNl
IHBhcmFtZXRlciBpcyB1bnVzZWQgaW4gZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHNvIGp1c3Qg
cGFzcyAwCisgICAgcmV0dXJuIGNhcmV0QnJvd3NpbmcgfHwgZW5hYmxlZFZpc2libGVTZWxlY3Rp
b24oZnJhbWUsIGV2ZW50LCBzdGF0aWNfY2FzdDxFZGl0b3JDb21tYW5kU291cmNlPigwKSk7Cit9
CisKIHN0YXRpYyBib29sIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uQW5kTWFyayhGcmFtZSogZnJh
bWUsIEV2ZW50KiBldmVudCwgRWRpdG9yQ29tbWFuZFNvdXJjZSkKIHsKICAgICBjb25zdCBWaXNp
YmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBmcmFtZS0+ZWRpdG9yKCktPnNlbGVjdGlvbkZvckNv
bW1hbmQoZXZlbnQpOwpAQCAtMTExNSw2ICsxMTM0LDEzIEBAIHN0YXRpYyBib29sIGVuYWJsZWRJ
bkVkaXRhYmxlVGV4dChGcmFtZSogZnJhbWUsIEV2ZW50KiBldmVudCwgRWRpdG9yQ29tbWFuZFNv
dXJjCiAgICAgcmV0dXJuIGZyYW1lLT5lZGl0b3IoKS0+c2VsZWN0aW9uRm9yQ29tbWFuZChldmVu
dCkuaXNDb250ZW50RWRpdGFibGUoKTsKIH0KIAorc3RhdGljIGJvb2wgZW5hYmxlZEluRWRpdGFi
bGVUZXh0T3JDYXJldEJyb3dzaW5nKEZyYW1lKiBmcmFtZSwgRXZlbnQqIGV2ZW50LCBFZGl0b3JD
b21tYW5kU291cmNlKQoreworICAgIGJvb2wgY2FyZXRCcm93c2luZyA9IGZyYW1lLT5zZXR0aW5n
cygpICYmIGZyYW1lLT5zZXR0aW5ncygpLT5jYXJldEJyb3dzaW5nRW5hYmxlZCgpOworICAgIC8v
IFRoZSBFZGl0b3JDb21tYW5kU291cmNlIHBhcmFtZXRlciBpcyB1bnVzZWQgaW4gZW5hYmxlZElu
RWRpdGFibGVUZXh0LCBzbyBqdXN0IHBhc3MgMAorICAgIHJldHVybiBjYXJldEJyb3dzaW5nIHx8
IGVuYWJsZWRJbkVkaXRhYmxlVGV4dChmcmFtZSwgZXZlbnQsIHN0YXRpY19jYXN0PEVkaXRvckNv
bW1hbmRTb3VyY2U+KDApKTsKK30KKwogc3RhdGljIGJvb2wgZW5hYmxlZEluUmljaGx5RWRpdGFi
bGVUZXh0KEZyYW1lKiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlKQogewogICAg
IHJldHVybiBmcmFtZS0+c2VsZWN0aW9uKCktPmlzQ2FyZXRPclJhbmdlKCkgJiYgZnJhbWUtPnNl
bGVjdGlvbigpLT5pc0NvbnRlbnRSaWNobHlFZGl0YWJsZSgpOwpAQCAtMTMwNSwyMCArMTMzMSwy
MSBAQCBzdGF0aWMgY29uc3QgQ29tbWFuZE1hcCYgY3JlYXRlQ29tbWFuZE1hcCgpCiAgICAgICAg
IHsgIk1ha2VUZXh0V3JpdGluZ0RpcmVjdGlvblJpZ2h0VG9MZWZ0IiwgeyBleGVjdXRlTWFrZVRl
eHRXcml0aW5nRGlyZWN0aW9uUmlnaHRUb0xlZnQsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5k
aW5nLCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRleHQsIHN0YXRlVGV4dFdyaXRpbmdEaXJlY3Rp
b25SaWdodFRvTGVmdCwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhl
Y3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZUJhY2t3YXJkIiwgeyBleGVj
dXRlTW92ZUJhY2t3YXJkLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZElu
RWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9O
b3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVCYWNrd2Fy
ZEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVCYWNrd2FyZEFuZE1vZGlmeVNlbGVj
dGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0
aW9uLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4
ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVEb3duIiwgeyBleGVjdXRl
TW92ZURvd24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJs
ZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93
RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZURvd25BbmRNb2RpZnlT
ZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlRG93bkFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVk
RnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUs
IHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNh
YmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVEb3duIiwgeyBleGVjdXRlTW92ZURvd24sIHN1cHBv
cnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJv
d3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93
RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZURvd25BbmRNb2RpZnlT
ZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlRG93bkFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVk
RnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dz
aW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4
ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVQYXJhZ3JhcGhCYWNrd2Fy
ZCIsIHsgZXhlY3V0ZU1vdmVQYXJhZ3JhcGhCYWNrd2FyZCwgc3VwcG9ydGVkRnJvbU1lbnVPcktl
eUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlRm9yd2FyZCIsIHsgZXhlY3V0ZU1vdmVGb3J3YXJk
LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBz
dGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlv
bldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVGb3J3YXJkQW5kTW9kaWZ5U2VsZWN0
aW9uIiwgeyBleGVjdXRlTW92ZUZvcndhcmRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZy
b21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25lLCB2
YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJs
ZWQgfSB9LAotICAgICAgICB7ICJNb3ZlTGVmdCIsIHsgZXhlY3V0ZU1vdmVMZWZ0LCBzdXBwb3J0
ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUs
IHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNh
YmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVMZWZ0QW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVj
dXRlTW92ZUxlZnRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5k
aW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRl
eHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAorICAgICAg
ICB7ICJNb3ZlTGVmdCIsIHsgZXhlY3V0ZU1vdmVMZWZ0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5
QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUs
IHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNh
YmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVMZWZ0QW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVj
dXRlTW92ZUxlZnRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5k
aW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2
YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJs
ZWQgfSB9LAogICAgICAgICB7ICJNb3ZlUGFnZURvd24iLCB7IGV4ZWN1dGVNb3ZlUGFnZURvd24s
IHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0
YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9u
V2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVBhZ2VEb3duQW5kTW9kaWZ5U2VsZWN0
aW9uIiwgeyBleGVjdXRlTW92ZVBhZ2VEb3duQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRG
cm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwg
dmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2Fi
bGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVBhZ2VVcCIsIHsgZXhlY3V0ZU1vdmVQYWdlVXAsIHN1
cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRl
Tm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hl
bkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVBhZ2VVcEFuZE1vZGlmeVNlbGVjdGlvbiIs
IHsgZXhlY3V0ZU1vdmVQYWdlVXBBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51
T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25lLCB2YWx1ZU51
bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9
LAotICAgICAgICB7ICJNb3ZlUGFyYWdyYXBoQmFja3dhcmRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7
IGV4ZWN1dGVNb3ZlUGFyYWdyYXBoQmFja3dhcmRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRl
ZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlUGFyYWdyYXBoRm9yd2FyZEFuZE1vZGlmeVNlbGVj
dGlvbiIsIHsgZXhlY3V0ZU1vdmVQYXJhZ3JhcGhGb3J3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uLCBz
dXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0
YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9u
V2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVJpZ2h0IiwgeyBleGVjdXRlTW92ZVJp
Z2h0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0
LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1
dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVSaWdodEFuZE1vZGlmeVNlbGVj
dGlvbiIsIHsgZXhlY3V0ZU1vdmVSaWdodEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJv
bU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCisgICAgICAgIHsgIk1vdmVQYXJhZ3JhcGhCYWNrd2FyZEFuZE1vZGlmeVNlbGVjdGlv
biIsIHsgZXhlY3V0ZU1vdmVQYXJhZ3JhcGhCYWNrd2FyZEFuZE1vZGlmeVNlbGVjdGlvbiwgc3Vw
cG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJl
dEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RB
bGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVQYXJhZ3JhcGhG
b3J3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVBhcmFncmFwaEZvcndhcmRB
bmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVk
VmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5v
dFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAorICAg
ICAgICB7ICJNb3ZlUmlnaHQiLCB7IGV4ZWN1dGVNb3ZlUmlnaHQsIHN1cHBvcnRlZEZyb21NZW51
T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcsIHN0YXRl
Tm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hl
bkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9uIiwg
eyBleGVjdXRlTW92ZVJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9y
S2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcsIHN0YXRl
Tm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hl
bkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudCIsIHsg
ZXhlY3V0ZU1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnQsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlC
aW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RU
ZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAg
ICAgeyAiTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhl
Y3V0ZU1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRl
ZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlVG9CZWdpbm5pbmdPZkxpbmUiLCB7IGV4ZWN1dGVN
b3ZlVG9CZWdpbm5pbmdPZkxpbmUsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFi
bGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9u
LCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKQEAgLTEzMzksMTYgKzEzNjYs
MTcgQEAgc3RhdGljIGNvbnN0IENvbW1hbmRNYXAmIGNyZWF0ZUNvbW1hbmRNYXAoKQogICAgICAg
ICB7ICJNb3ZlVG9MZWZ0RW5kT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92
ZVRvTGVmdEVuZE9mTGluZUFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktl
eUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5v
dFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAg
ICAgICB7ICJNb3ZlVG9SaWdodEVuZE9mTGluZSIsIHsgZXhlY3V0ZU1vdmVUb1JpZ2h0RW5kT2ZM
aW5lLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0
LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1
dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVUb1JpZ2h0RW5kT2ZMaW5lQW5k
TW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVRvUmlnaHRFbmRPZkxpbmVBbmRNb2RpZnlT
ZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJs
ZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93
RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVVwIiwgeyBleGVjdXRl
TW92ZVVwLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVU
ZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4
ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVVcEFuZE1vZGlmeVNlbGVj
dGlvbiIsIHsgZXhlY3V0ZU1vdmVVcEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1l
bnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZhbHVl
TnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9
IH0sCisgICAgICAgIHsgIk1vdmVVcCIsIHsgZXhlY3V0ZU1vdmVVcCwgc3VwcG9ydGVkRnJvbU1l
bnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3Rh
dGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25X
aGVuRGlzYWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlVXBBbmRNb2RpZnlTZWxlY3Rpb24iLCB7
IGV4ZWN1dGVNb3ZlVXBBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlC
aW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlUGFyYWdyYXBoRm9yd2FyZCIsIHsgZXhlY3V0ZU1v
dmVQYXJhZ3JhcGhGb3J3YXJkLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxl
ZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90
VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAg
ICAgIHsgIk1vdmVXb3JkQmFja3dhcmQiLCB7IGV4ZWN1dGVNb3ZlV29yZEJhY2t3YXJkLCBzdXBw
b3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5v
bmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5E
aXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVXb3JkQmFja3dhcmRBbmRNb2RpZnlTZWxlY3Rp
b24iLCB7IGV4ZWN1dGVNb3ZlV29yZEJhY2t3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0
ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9u
ZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRp
c2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVdvcmRGb3J3YXJkIiwgeyBleGVjdXRlTW92ZVdv
cmRGb3J3YXJkLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFi
bGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxv
d0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVXb3JkRm9yd2FyZEFu
ZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVXb3JkRm9yd2FyZEFuZE1vZGlmeVNlbGVj
dGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0
aW9uLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4
ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVXb3JkTGVmdCIsIHsgZXhl
Y3V0ZU1vdmVXb3JkTGVmdCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJ
bkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRv
Tm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlV29yZExl
ZnRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlV29yZExlZnRBbmRNb2RpZnlTZWxl
Y3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVj
dGlvbiwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dF
eGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlV29yZFJpZ2h0IiwgeyBl
eGVjdXRlTW92ZVdvcmRSaWdodCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJs
ZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24s
IGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlV29y
ZFJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVdvcmRSaWdodEFuZE1vZGlm
eVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxl
U2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RB
bGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVXb3JkTGVmdCIs
IHsgZXhlY3V0ZU1vdmVXb3JkTGVmdCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVu
YWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGws
IG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAor
ICAgICAgICB7ICJNb3ZlV29yZExlZnRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3Zl
V29yZExlZnRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5n
LCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1
ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQg
fSB9LAorICAgICAgICB7ICJNb3ZlV29yZFJpZ2h0IiwgeyBleGVjdXRlTW92ZVdvcmRSaWdodCwg
c3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2Fy
ZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90
QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlV29yZFJpZ2h0
QW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVdvcmRSaWdodEFuZE1vZGlmeVNlbGVj
dGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0
aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlv
biwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk91dGRl
bnQiLCB7IGV4ZWN1dGVPdXRkZW50LCBzdXBwb3J0ZWQsIGVuYWJsZWRJblJpY2hseUVkaXRhYmxl
VGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dF
eGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJQYXN0ZSIsIHsgZXhlY3V0ZVBh
c3RlLCBzdXBwb3J0ZWRQYXN0ZSwgZW5hYmxlZFBhc3RlLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwg
bm90VGV4dEluc2VydGlvbiwgYWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAg
ICB7ICJQYXN0ZUFuZE1hdGNoU3R5bGUiLCB7IGV4ZWN1dGVQYXN0ZUFuZE1hdGNoU3R5bGUsIHN1
cHBvcnRlZFBhc3RlLCBlbmFibGVkUGFzdGUsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0
SW5zZXJ0aW9uLCBhbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDE3M2Y2ZTgu
LjZmYjllYzMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMDUtMDQgIFhhbiBMb3BleiAgPHhs
b3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTUyNgor
ICAgICAgICBbR3RrXSBBZGRpdGlvbmFsIHN1cHBvcnQgaXMgbmVlZGVkIGZvciBjYXJldCBicm93
c2luZworCisgICAgICAgIFJlbW92ZSBzcGVjaWFsIGNhc2VzIGZvciBjYXJldCBicm93c2luZywg
dGhleSBhcmUgbm93IGhhbmRsZWQgaW4KKyAgICAgICAgY3Jvc3MtcGxhdGZvcm0gY29kZS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Oik6CisgICAgICAgIChXZWJLaXQ6OmhhbmRsZUVkaXRpbmdLZXlib2FyZEV2ZW50KToK
KwogMjAwOS0wNS0wMiAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBIb2xnZXIgRnJleXRoZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAgYi9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKaW5kZXggZWQyYmY0NC4uYTNhMjgwOCAxMDA2
NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCisr
KyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcApAQCAtMzU0
LDkgKzM1NCwxMSBAQCBzdGF0aWMgY29uc3QgS2V5RG93bkVudHJ5IGtleURvd25FbnRyaWVzW10g
PSB7CiAgICAgeyBWS19SSUdIVCwgIEN0cmxLZXkgfCBTaGlmdEtleSwgIk1vdmVXb3JkUmlnaHRB
bmRNb2RpZnlTZWxlY3Rpb24iICAgICAgICAgICAgIH0sCiAgICAgeyBWS19VUCwgICAgIDAsICAg
ICAgICAgICAgICAgICAgIk1vdmVVcCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0sCiAgICAgeyBWS19VUCwgICAgIFNoaWZ0S2V5LCAgICAgICAgICAgIk1vdmVVcEFuZE1v
ZGlmeVNlbGVjdGlvbiIgICAgICAgICAgICAgICAgICAgIH0sCisgICAgeyBWS19VUCwgICAgIEN0
cmxLZXksICAgICAgICAgICAgIk1vdmVQYXJhZ3JhcGhCYWNrd2FyZCIgICAgICAgICAgICAgICAg
ICAgICAgIH0sCiAgICAgeyBWS19QUklPUiwgIFNoaWZ0S2V5LCAgICAgICAgICAgIk1vdmVQYWdl
VXBBbmRNb2RpZnlTZWxlY3Rpb24iICAgICAgICAgICAgICAgIH0sCiAgICAgeyBWS19ET1dOLCAg
IDAsICAgICAgICAgICAgICAgICAgIk1vdmVEb3duIiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0sCiAgICAgeyBWS19ET1dOLCAgIFNoaWZ0S2V5LCAgICAgICAgICAgIk1vdmVE
b3duQW5kTW9kaWZ5U2VsZWN0aW9uIiAgICAgICAgICAgICAgICAgIH0sCisgICAgeyBWS19ET1dO
LCAgIEN0cmxLZXksICAgICAgICAgICAgIk1vdmVQYXJhZ3JhcGhGb3J3YXJkIiAgICAgICAgICAg
ICAgICAgICAgICAgIH0sCiAgICAgeyBWS19ORVhULCAgIFNoaWZ0S2V5LCAgICAgICAgICAgIk1v
dmVQYWdlRG93bkFuZE1vZGlmeVNlbGVjdGlvbiIgICAgICAgICAgICAgIH0sCiAgICAgeyBWS19Q
UklPUiwgIDAsICAgICAgICAgICAgICAgICAgIk1vdmVQYWdlVXAiICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0sCiAgICAgeyBWS19ORVhULCAgIDAsICAgICAgICAgICAgICAgICAg
Ik1vdmVQYWdlRG93biIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCkBAIC00NDks
MzYgKzQ1MSw2IEBAIHN0YXRpYyBib29sIGhhbmRsZUVkaXRpbmdLZXlib2FyZEV2ZW50KEtleWJv
YXJkRXZlbnQqIGV2dCkKICAgICBpZiAoIWtleUV2ZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICBib29sIGNhcmV0QnJvd3NpbmcgPSBmcmFtZS0+c2V0dGluZ3MoKS0+Y2FyZXRCcm93
c2luZ0VuYWJsZWQoKTsKLSAgICBpZiAoY2FyZXRCcm93c2luZykgewotICAgICAgICBzd2l0Y2gg
KGtleUV2ZW50LT53aW5kb3dzVmlydHVhbEtleUNvZGUoKSkgewotICAgICAgICAgICAgY2FzZSBW
S19MRUZUOgotICAgICAgICAgICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KGtleUV2
ZW50LT5zaGlmdEtleSgpID8gU2VsZWN0aW9uQ29udHJvbGxlcjo6RVhURU5EIDogU2VsZWN0aW9u
Q29udHJvbGxlcjo6TU9WRSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdGlvbkNvbnRy
b2xsZXI6OkxFRlQsCi0gICAgICAgICAgICAgICAgICAgICAgICBrZXlFdmVudC0+Y3RybEtleSgp
ID8gV29yZEdyYW51bGFyaXR5IDogQ2hhcmFjdGVyR3JhbnVsYXJpdHksCi0gICAgICAgICAgICAg
ICAgICAgICAgICB0cnVlKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
ICAgIGNhc2UgVktfUklHSFQ6Ci0gICAgICAgICAgICAgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5t
b2RpZnkoa2V5RXZlbnQtPnNoaWZ0S2V5KCkgPyBTZWxlY3Rpb25Db250cm9sbGVyOjpFWFRFTkQg
OiBTZWxlY3Rpb25Db250cm9sbGVyOjpNT1ZFLAotICAgICAgICAgICAgICAgICAgICAgICAgU2Vs
ZWN0aW9uQ29udHJvbGxlcjo6UklHSFQsCi0gICAgICAgICAgICAgICAgICAgICAgICBrZXlFdmVu
dC0+Y3RybEtleSgpID8gV29yZEdyYW51bGFyaXR5IDogQ2hhcmFjdGVyR3JhbnVsYXJpdHksCi0g
ICAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgICAgIGNhc2UgVktfVVA6Ci0gICAgICAgICAgICAgICAgZnJhbWUtPnNlbGVj
dGlvbigpLT5tb2RpZnkoa2V5RXZlbnQtPnNoaWZ0S2V5KCkgPyBTZWxlY3Rpb25Db250cm9sbGVy
OjpFWFRFTkQgOiBTZWxlY3Rpb25Db250cm9sbGVyOjpNT1ZFLAotICAgICAgICAgICAgICAgICAg
ICAgICAgU2VsZWN0aW9uQ29udHJvbGxlcjo6QkFDS1dBUkQsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBrZXlFdmVudC0+Y3RybEtleSgpID8gUGFyYWdyYXBoR3JhbnVsYXJpdHkgOiBMaW5lR3Jh
bnVsYXJpdHksCi0gICAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgVktfRE9XTjoKLSAgICAgICAgICAgICAg
ICBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShrZXlFdmVudC0+c2hpZnRLZXkoKSA/IFNlbGVj
dGlvbkNvbnRyb2xsZXI6OkVYVEVORCA6IFNlbGVjdGlvbkNvbnRyb2xsZXI6Ok1PVkUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBTZWxlY3Rpb25Db250cm9sbGVyOjpGT1JXQVJELAotICAgICAg
ICAgICAgICAgICAgICAgICAga2V5RXZlbnQtPmN0cmxLZXkoKSA/IFBhcmFncmFwaEdyYW51bGFy
aXR5IDogTGluZUdyYW51bGFyaXR5LAotICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICB9Ci0KICAgICBFZGl0
b3I6OkNvbW1hbmQgY29tbWFuZCA9IGZyYW1lLT5lZGl0b3IoKS0+Y29tbWFuZChpbnRlcnByZXRL
ZXlFdmVudChldnQpKTsKIAogICAgIGlmIChrZXlFdmVudC0+dHlwZSgpID09IFBsYXRmb3JtS2V5
Ym9hcmRFdmVudDo6UmF3S2V5RG93bikgewotLSAKMS42LjIuMgoK
</data>
<flag name="review"
          id="15038"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30015</attachid>
            <date>2009-05-05 03:51:38 -0700</date>
            <delta_ts>2010-06-10 20:23:00 -0700</delta_ts>
            <desc>homeendcaret.patch</desc>
            <filename>homeendcaret.patch</filename>
            <type>text/plain</type>
            <size>7378</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAzYzA0MjE3NDgxZWQ4OWJkMmZmNzVlZjgyNzc3MWQzYzE5NjlmNzEyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
dWUsIDUgTWF5IDIwMDkgMTM6NDk6MzYgKzAzMDAKU3ViamVjdDogW1BBVENIXSAyMDA5LTA1LTA1
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNTUyNgogICAgICAgIFtHdGtdIEFkZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9y
IGNhcmV0IGJyb3dzaW5nCgogICAgICAgIEFkZCBzdXBwb3J0IGZvciBIb21lIGFuZCBFbmQgKHdp
dGggQ3RybCBhbmQvb3IgU2hpZnQgbW9kaWZpZXJzKSBpbgogICAgICAgIGNhcmV0IGJyb3dzaW5n
IG1vZGUuCgogICAgICAgICogZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcDoKICAgICAgICAoV2Vi
Q29yZTo6Q29tbWFuZEVudHJ5OjopOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICB8ICAgMTMgKysrKysrKysrKysrKwogV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQu
Y3BwIHwgICAxNiArKysrKysrKy0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlv
bnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzZmFmZmYxLi40NGM4NjQxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDA5LTA1LTA1ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjU1MjYKKyAgICAgICAgW0d0a10gQWRkaXRpb25hbCBzdXBwb3J0
IGlzIG5lZWRlZCBmb3IgY2FyZXQgYnJvd3NpbmcKKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
SG9tZSBhbmQgRW5kICh3aXRoIEN0cmwgYW5kL29yIFNoaWZ0IG1vZGlmaWVycykgaW4KKyAgICAg
ICAgY2FyZXQgYnJvd3NpbmcgbW9kZS4KKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFu
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21tYW5kRW50cnk6Oik6CisKIDIwMDktMDUtMDQg
IFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQu
Y3BwIGIvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCmluZGV4IDg2ODM5MGUuLjBm
MmI4MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAorKysg
Yi9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKQEAgLTEzNDcsMTggKzEzNDcsMTgg
QEAgc3RhdGljIGNvbnN0IENvbW1hbmRNYXAmIGNyZWF0ZUNvbW1hbmRNYXAoKQogICAgICAgICB7
ICJNb3ZlUGFyYWdyYXBoRm9yd2FyZEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVQ
YXJhZ3JhcGhGb3J3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5
QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9u
ZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRp
c2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVJpZ2h0IiwgeyBleGVjdXRlTW92ZVJpZ2h0LCBz
dXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJl
dEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RB
bGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVSaWdodEFuZE1v
ZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVSaWdodEFuZE1vZGlmeVNlbGVjdGlvbiwgc3Vw
cG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJl
dEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RB
bGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVUb0JlZ2lubmlu
Z09mRG9jdW1lbnQiLCB7IGV4ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50LCBzdXBwb3J0
ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUs
IHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNh
YmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnRBbmRNb2RpZnlT
ZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50QW5kTW9kaWZ5U2Vs
ZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxl
Y3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93
RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVRvQmVnaW5uaW5nT2ZM
aW5lIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZMaW5lLCBzdXBwb3J0ZWRGcm9tTWVudU9y
S2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwg
bm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0g
ICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mTGluZUFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhl
Y3V0ZU1vdmVUb0JlZ2lubmluZ09mTGluZUFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJv
bU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCisgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnQiLCB7IGV4ZWN1dGVN
b3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywg
ZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVs
bCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0s
CisgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnRBbmRNb2RpZnlTZWxlY3Rpb24i
LCB7IGV4ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50QW5kTW9kaWZ5U2VsZWN0aW9uLCBz
dXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25PckNh
cmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05v
dEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVRvQmVnaW5u
aW5nT2ZMaW5lIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZMaW5lLCBzdXBwb3J0ZWRGcm9t
TWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBz
dGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlv
bldoZW5EaXNhYmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mTGluZUFuZE1v
ZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVUb0JlZ2lubmluZ09mTGluZUFuZE1vZGlmeVNl
bGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2Vs
ZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2Vy
dGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1v
dmVUb0JlZ2lubmluZ09mUGFyYWdyYXBoIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZQYXJh
Z3JhcGgsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRl
eHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhl
Y3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVRvQmVnaW5uaW5nT2ZQYXJh
Z3JhcGhBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZlBhcmFn
cmFwaEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVu
YWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2Vy
dGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1v
dmVUb0JlZ2lubmluZ09mU2VudGVuY2UiLCB7IGV4ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZlNlbnRl
bmNlLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0
LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1
dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mU2VudGVu
Y2VBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZlNlbnRlbmNl
QW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxl
ZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9u
LCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVRv
RW5kT2ZEb2N1bWVudCIsIHsgZXhlY3V0ZU1vdmVUb0VuZE9mRG9jdW1lbnQsIHN1cHBvcnRlZEZy
b21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFs
dWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVk
IH0gfSwKLSAgICAgICAgeyAiTW92ZVRvRW5kT2ZEb2N1bWVudEFuZE1vZGlmeVNlbGVjdGlvbiIs
IHsgZXhlY3V0ZU1vdmVUb0VuZE9mRG9jdW1lbnRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRl
ZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlVG9FbmRPZkxpbmUiLCB7IGV4ZWN1dGVNb3ZlVG9F
bmRPZkxpbmUsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJs
ZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93
RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVRvRW5kT2ZMaW5lQW5k
TW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVRvRW5kT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0
aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rp
b24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhl
Y3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVRvRW5kT2ZEb2N1bWVudCIs
IHsgZXhlY3V0ZU1vdmVUb0VuZE9mRG9jdW1lbnQsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5k
aW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFs
dWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVk
IH0gfSwKKyAgICAgICAgeyAiTW92ZVRvRW5kT2ZEb2N1bWVudEFuZE1vZGlmeVNlbGVjdGlvbiIs
IHsgZXhlY3V0ZU1vdmVUb0VuZE9mRG9jdW1lbnRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRl
ZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93
c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dF
eGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlVG9FbmRPZkxpbmUiLCB7
IGV4ZWN1dGVNb3ZlVG9FbmRPZkxpbmUsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBl
bmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxs
LCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
KyAgICAgICAgeyAiTW92ZVRvRW5kT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRl
TW92ZVRvRW5kT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5
QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9u
ZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRp
c2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVRvRW5kT2ZQYXJhZ3JhcGgiLCB7IGV4ZWN1dGVN
b3ZlVG9FbmRPZlBhcmFncmFwaCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJs
ZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24s
IGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlVG9F
bmRPZlBhcmFncmFwaEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVUb0VuZE9mUGFy
YWdyYXBoQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywg
ZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5z
ZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAi
TW92ZVRvRW5kT2ZTZW50ZW5jZSIsIHsgZXhlY3V0ZU1vdmVUb0VuZE9mU2VudGVuY2UsIHN1cHBv
cnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9u
ZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRp
c2FibGVkIH0gfSwKLS0gCjEuNi4yLjIKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30022</attachid>
            <date>2009-05-05 09:58:26 -0700</date>
            <delta_ts>2009-05-05 23:17:40 -0700</delta_ts>
            <desc>textcaretmoved.patch</desc>
            <filename>textcaretmoved.patch</filename>
            <type>text/plain</type>
            <size>4523</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA5NzNlMjcwZTAwMjA5ZGU5YjMxODRjY2U3MDJjNWY3MGRjNGY4OWI2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
dWUsIDUgTWF5IDIwMDkgMTk6NTQ6NDcgKzAzMDAKU3ViamVjdDogW1BBVENIXSAyMDA5LTA1LTA1
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNTUyNgogICAgICAgIFtHdGtdIEFkZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9y
IGNhcmV0IGJyb3dzaW5nCgogICAgICAgIEVtaXQgQXRrVGV4dDo6dGV4dC1jYXJldC1tb3ZlZCB3
aGVuIHNlbGVjdGlvbiBjaGFuZ2VzLgoKICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgogICAgICAg
ICogZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmg6CiAgICAgICAgKiBlZGl0aW5nL2d0ay9T
ZWxlY3Rpb25Db250cm9sbGVyLmNwcDogQWRkZWQuCiAgICAgICAgKFdlYkNvcmU6OlNlbGVjdGlv
bkNvbnRyb2xsZXI6Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UpOgotLS0K
IFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrKysr
KysrKwogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEg
KwogV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaCAgICAgICB8ICAgIDIgKy0K
IFdlYkNvcmUvZWRpdGluZy9ndGsvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAgfCAgIDM5ICsrKysr
KysrKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCsp
LCAxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvZWRpdGluZy9ndGsv
U2VsZWN0aW9uQ29udHJvbGxlci5jcHAKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQzZDc0ZGMuLjAzMDkwZDMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC01LDYgKzUsMjAgQEAK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTI2CiAg
ICAgICAgIFtHdGtdIEFkZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9yIGNhcmV0IGJyb3dz
aW5nCiAKKyAgICAgICAgRW1pdCBBdGtUZXh0Ojp0ZXh0LWNhcmV0LW1vdmVkIHdoZW4gc2VsZWN0
aW9uIGNoYW5nZXMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBlZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBlZGl0aW5nL2d0ay9TZWxlY3Rp
b25Db250cm9sbGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250
cm9sbGVyOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hhbmdlKToKKworMjAwOS0w
NS0wNSAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTI1NTI2CisgICAgICAgIFtHdGtdIEFkZGl0aW9uYWwgc3VwcG9ydCBpcyBu
ZWVkZWQgZm9yIGNhcmV0IGJyb3dzaW5nCisKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIEhvbWUg
YW5kIEVuZCAod2l0aCBDdHJsIGFuZC9vciBTaGlmdCBtb2RpZmllcnMpIGluCiAgICAgICAgIGNh
cmV0IGJyb3dzaW5nIG1vZGUuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0g
Yi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGUxNWYwNjAuLjAyM2I4NmMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpA
QCAtODI0LDYgKzgyNCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9lZGl0aW5n
L21hcmt1cC5oIFwKIAlXZWJDb3JlL2VkaXRpbmcvdmlzaWJsZV91bml0cy5jcHAgXAogCVdlYkNv
cmUvZWRpdGluZy92aXNpYmxlX3VuaXRzLmggXAorCVdlYkNvcmUvZWRpdGluZy9ndGsvU2VsZWN0
aW9uQ29udHJvbGxlci5jcHAgXAogCVdlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZExpc3QuY3Bw
IFwKIAlXZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRMaXN0LmggXAogCVdlYkNvcmUvaGlzdG9y
eS9DYWNoZWRGcmFtZS5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlv
bkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKaW5k
ZXggMzE0YTU5MS4uOTE5ZTI0MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlv
bkNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5o
CkBAIC0xNDcsNyArMTQ3LDcgQEAgcHJpdmF0ZToKIAogICAgIGludCB4UG9zRm9yVmVydGljYWxB
cnJvd05hdmlnYXRpb24oRVBvc2l0aW9uVHlwZSk7CiAgICAgCi0jaWYgUExBVEZPUk0oTUFDKQor
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oR1RLKQogICAgIHZvaWQgbm90aWZ5QWNjZXNz
aWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgpOwogI2Vsc2UKICAgICB2b2lkIG5vdGlmeUFjY2Vz
c2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoKSB7fTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRp
dGluZy9ndGsvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvZ3RrL1Nl
bGVjdGlvbkNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjMwNGIwMTYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2VkaXRpbmcvZ3RrL1NlbGVjdGlv
bkNvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisgKi8KKyAKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTZWxlY3Rpb25D
b250cm9sbGVyLmgiCisKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCisjaW5jbHVkZSAiRnJh
bWUuaCIKKworI2luY2x1ZGUgPGd0ay9ndGsuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2
b2lkIFNlbGVjdGlvbkNvbnRyb2xsZXI6Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25D
aGFuZ2UoKQoreworICAgIGlmIChBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgp
ICYmIG1fc2VsLnN0YXJ0KCkuaXNOb3ROdWxsKCkgJiYgbV9zZWwuZW5kKCkuaXNOb3ROdWxsKCkp
IHsKKyAgICAgICAgUmVuZGVyT2JqZWN0KiBmb2N1c2VkTm9kZSA9IG1fc2VsLnN0YXJ0KCkubm9k
ZSgpLT5yZW5kZXJlcigpOworICAgICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBhY2Nlc3NpYmls
aXR5T2JqZWN0ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5nZXRPckNy
ZWF0ZShmb2N1c2VkTm9kZSk7CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShhY2Nlc3Np
YmlsaXR5T2JqZWN0LT53cmFwcGVyKCksICJ0ZXh0LWNhcmV0LW1vdmVkIiwgbV9zZWwuc3RhcnQo
KS5vZmZzZXRJbkNvbnRhaW5lck5vZGUoKSk7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0tIAoxLjYuMi4yCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30044</attachid>
            <date>2009-05-05 23:17:40 -0700</date>
            <delta_ts>2009-07-24 01:15:25 -0700</delta_ts>
            <desc>textcaretv2.patch</desc>
            <filename>textcaretv2.patch</filename>
            <type>text/plain</type>
            <size>4627</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAyZDljMmRkOTdiOGVjNzc3ODFlOGFkYTg4MTBjZDVkYmM1NzNmYjUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
dWUsIDUgTWF5IDIwMDkgMTk6NTQ6NDcgKzAzMDAKU3ViamVjdDogW1BBVENIXSAyMDA5LTA1LTA1
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNTUyNgogICAgICAgIFtHdGtdIEFkZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9y
IGNhcmV0IGJyb3dzaW5nCgogICAgICAgIEVtaXQgQXRrVGV4dDo6dGV4dC1jYXJldC1tb3ZlZCB3
aGVuIHNlbGVjdGlvbiBjaGFuZ2VzLgoKICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgogICAgICAg
ICogZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmg6CiAgICAgICAgKiBlZGl0aW5nL2d0ay9T
ZWxlY3Rpb25Db250cm9sbGVyR3RrLmNwcDogQWRkZWQuCiAgICAgICAgKFdlYkNvcmU6OlNlbGVj
dGlvbkNvbnRyb2xsZXI6Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UpOgot
LS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0
ICsrKysrKysrCiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAgMSArCiBXZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oICAgICAgICAg
IHwgICAgMiArLQogV2ViQ29yZS9lZGl0aW5nL2d0ay9TZWxlY3Rpb25Db250cm9sbGVyR3RrLmNw
cCB8ICAgNDEgKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDU3IGlu
c2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9l
ZGl0aW5nL2d0ay9TZWxlY3Rpb25Db250cm9sbGVyR3RrLmNwcAoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY5YTRjZC4uYzgxZjk5YyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTUsNiArNSwyMCBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjU1MjYKICAgICAgICAgW0d0a10gQWRkaXRpb25hbCBzdXBwb3J0IGlzIG5lZWRlZCBm
b3IgY2FyZXQgYnJvd3NpbmcKIAorICAgICAgICBFbWl0IEF0a1RleHQ6OnRleHQtY2FyZXQtbW92
ZWQgd2hlbiBzZWxlY3Rpb24gY2hhbmdlcy4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgor
ICAgICAgICAqIGVkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIGVkaXRp
bmcvZ3RrL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlNlbGVjdGlvbkNvbnRyb2xsZXI6Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFu
Z2UpOgorCisyMDA5LTA1LTA1ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1MjYKKyAgICAgICAgW0d0a10gQWRkaXRpb25h
bCBzdXBwb3J0IGlzIG5lZWRlZCBmb3IgY2FyZXQgYnJvd3NpbmcKKwogICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgSG9tZSBhbmQgRW5kICh3aXRoIEN0cmwgYW5kL29yIFNoaWZ0IG1vZGlmaWVycykg
aW4KICAgICAgICAgY2FyZXQgYnJvd3NpbmcgbW9kZS4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZTE1ZjA2MC4uNGYy
NWE1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCkBAIC04MjQsNiArODI0LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlX
ZWJDb3JlL2VkaXRpbmcvbWFya3VwLmggXAogCVdlYkNvcmUvZWRpdGluZy92aXNpYmxlX3VuaXRz
LmNwcCBcCiAJV2ViQ29yZS9lZGl0aW5nL3Zpc2libGVfdW5pdHMuaCBcCisJV2ViQ29yZS9lZGl0
aW5nL2d0ay9TZWxlY3Rpb25Db250cm9sbGVyR3RrLmNwcCBcCiAJV2ViQ29yZS9oaXN0b3J5L0Jh
Y2tGb3J3YXJkTGlzdC5jcHAgXAogCVdlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZExpc3QuaCBc
CiAJV2ViQ29yZS9oaXN0b3J5L0NhY2hlZEZyYW1lLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlv
bkNvbnRyb2xsZXIuaAppbmRleCAzMTRhNTkxLi45MTllMjQwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxl
Y3Rpb25Db250cm9sbGVyLmgKQEAgLTE0Nyw3ICsxNDcsNyBAQCBwcml2YXRlOgogCiAgICAgaW50
IHhQb3NGb3JWZXJ0aWNhbEFycm93TmF2aWdhdGlvbihFUG9zaXRpb25UeXBlKTsKICAgICAKLSNp
ZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspCiAgICAg
dm9pZCBub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hhbmdlKCk7CiAjZWxzZQogICAg
IHZvaWQgbm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgpIHt9OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9lZGl0aW5nL2d0ay9TZWxlY3Rpb25Db250cm9sbGVyR3RrLmNwcCBiL1dl
YkNvcmUvZWRpdGluZy9ndGsvU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZmOWY3YgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvZWRpdGluZy9ndGsvU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHAKQEAgLTAsMCArMSw0MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworIAorI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlNlbGVjdGlvbkNvbnRyb2xsZXIuaCIKKworI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorCisjaW5jbHVkZSA8Z3RrL2d0ay5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgU2VsZWN0aW9uQ29udHJvbGxlcjo6bm90aWZ5
QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgpCit7CisgICAgaWYgKEFYT2JqZWN0Q2Fj
aGU6OmFjY2Vzc2liaWxpdHlFbmFibGVkKCkgJiYgbV9zZWwuc3RhcnQoKS5pc05vdE51bGwoKSAm
JiBtX3NlbC5lbmQoKS5pc05vdE51bGwoKSkgeworICAgICAgICBSZW5kZXJPYmplY3QqIGZvY3Vz
ZWROb2RlID0gbV9zZWwuc3RhcnQoKS5ub2RlKCktPnJlbmRlcmVyKCk7CisgICAgICAgIEFjY2Vz
c2liaWxpdHlPYmplY3QqIGFjY2Vzc2liaWxpdHlPYmplY3QgPSBtX2ZyYW1lLT5kb2N1bWVudCgp
LT5heE9iamVjdENhY2hlKCktPmdldE9yQ3JlYXRlKGZvY3VzZWROb2RlKTsKKyAgICAgICAgQXRr
T2JqZWN0KiB3cmFwcGVyID0gYWNjZXNzaWJpbGl0eU9iamVjdC0+d3JhcHBlcigpOworICAgICAg
ICBpZiAoQVRLX0lTX1RFWFQod3JhcHBlcikpCisgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5
X25hbWUod3JhcHBlciwgInRleHQtY2FyZXQtbW92ZWQiLCBtX3NlbC5zdGFydCgpLm9mZnNldElu
Q29udGFpbmVyTm9kZSgpKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLS0g
CjEuNi4yLjIKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30045</attachid>
            <date>2009-05-06 02:18:32 -0700</date>
            <delta_ts>2009-07-24 01:15:28 -0700</delta_ts>
            <desc>textselectionchanged.patch</desc>
            <filename>textselectionchanged.patch</filename>
            <type>text/plain</type>
            <size>2603</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAxZDhiYWNiOTliNmVmYTRkZWMzNzNmOGQ0NGFiZmZiZTAwMDU4ZWM4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBX
ZWQsIDYgTWF5IDIwMDkgMTI6MTY6NDcgKzAzMDAKU3ViamVjdDogW1BBVENIXSAyMDA5LTA1LTA2
ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNTUyNgogICAgICAgIFtHdGtdIEFkZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9y
IGNhcmV0IGJyb3dzaW5nCgogICAgICAgIEVtaXQgQXRrVGV4dDo6dGV4dC1zZWxlY3Rpb24tY2hh
bmdlZCB3aGVuIHRoZSBzZWxlY3Rpb24gY2hhbmdlcwogICAgICAgIGFuZCB0aGUgY3VycmVudCBz
ZWxlY3Rpb24gaXMgb2YgUmFuZ2UgKGllLCB0aGUgc3RhcnQgYW5kIGVuZAogICAgICAgIHBvc2l0
aW9ucyBhcmUgZGlmZmVyZW50KSB0eXBlLiBUaGlzIHNlZW1zIHRvIG1hdGNoIHdoYXQgR2Vja28K
ICAgICAgICBkb2VzLgoKICAgICAgICAqIGVkaXRpbmcvZ3RrL1NlbGVjdGlvbkNvbnRyb2xsZXJH
dGsuY3BwOgogICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjpub3RpZnlBY2Nl
c3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hhbmdlKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKysrKysrKysrKysKIFdlYkNvcmUv
ZWRpdGluZy9ndGsvU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHAgfCAgICA2ICsrKysrLQogMiBm
aWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgxZjk5Yy4u
NzBlMGZiNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0wNS0wNiAgWGFuIExvcGV6ICA8eGxvcGV6QGln
YWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTI2CisgICAgICAg
IFtHdGtdIEFkZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9yIGNhcmV0IGJyb3dzaW5nCisK
KyAgICAgICAgRW1pdCBBdGtUZXh0Ojp0ZXh0LXNlbGVjdGlvbi1jaGFuZ2VkIHdoZW4gdGhlIHNl
bGVjdGlvbiBjaGFuZ2VzCisgICAgICAgIGFuZCB0aGUgY3VycmVudCBzZWxlY3Rpb24gaXMgb2Yg
UmFuZ2UgKGllLCB0aGUgc3RhcnQgYW5kIGVuZAorICAgICAgICBwb3NpdGlvbnMgYXJlIGRpZmZl
cmVudCkgdHlwZS4gVGhpcyBzZWVtcyB0byBtYXRjaCB3aGF0IEdlY2tvCisgICAgICAgIGRvZXMu
CisKKyAgICAgICAgKiBlZGl0aW5nL2d0ay9TZWxlY3Rpb25Db250cm9sbGVyR3RrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNlbGVjdGlvbkNvbnRyb2xsZXI6Om5vdGlmeUFjY2Vzc2liaWxpdHlG
b3JTZWxlY3Rpb25DaGFuZ2UpOgorCiAyMDA5LTA1LTA1ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZWRpdGluZy9ndGsvU2VsZWN0aW9uQ29udHJvbGxlckd0ay5jcHAgYi9XZWJD
b3JlL2VkaXRpbmcvZ3RrL1NlbGVjdGlvbkNvbnRyb2xsZXJHdGsuY3BwCmluZGV4IGRmZjlmN2Iu
LjUyZmJiYWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9ndGsvU2VsZWN0aW9uQ29udHJv
bGxlckd0ay5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL2d0ay9TZWxlY3Rpb25Db250cm9sbGVy
R3RrLmNwcApAQCAtMzMsOCArMzMsMTIgQEAgdm9pZCBTZWxlY3Rpb25Db250cm9sbGVyOjpub3Rp
ZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hhbmdlKCkKICAgICAgICAgUmVuZGVyT2JqZWN0
KiBmb2N1c2VkTm9kZSA9IG1fc2VsLnN0YXJ0KCkubm9kZSgpLT5yZW5kZXJlcigpOwogICAgICAg
ICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBhY2Nlc3NpYmlsaXR5T2JqZWN0ID0gbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+YXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShmb2N1c2VkTm9kZSk7CiAgICAg
ICAgIEF0a09iamVjdCogd3JhcHBlciA9IGFjY2Vzc2liaWxpdHlPYmplY3QtPndyYXBwZXIoKTsK
LSAgICAgICAgaWYgKEFUS19JU19URVhUKHdyYXBwZXIpKQorICAgICAgICBpZiAoQVRLX0lTX1RF
WFQod3JhcHBlcikpIHsKICAgICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3cmFwcGVy
LCAidGV4dC1jYXJldC1tb3ZlZCIsIG1fc2VsLnN0YXJ0KCkub2Zmc2V0SW5Db250YWluZXJOb2Rl
KCkpOworCisgICAgICAgICAgICBpZiAobV9zZWwuaXNSYW5nZSgpKQorICAgICAgICAgICAgICAg
IGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh3cmFwcGVyLCAidGV4dC1zZWxlY3Rpb24tY2hhbmdlZCIp
OworICAgICAgICB9CiAgICAgfQogfQogCi0tIAoxLjYuMi4yCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31409</attachid>
            <date>2009-06-17 04:53:53 -0700</date>
            <delta_ts>2009-10-02 04:01:09 -0700</delta_ts>
            <desc>caretextra.patch</desc>
            <filename>caretextra.patch</filename>
            <type>text/plain</type>
            <size>21454</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA5Yzc1NzE5YzEzMDQ1Yzc3MGIwYWEwYzQwYmYzYmY1YTNlNTEyYThlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBN
b24sIDQgTWF5IDIwMDkgMjA6MjQ6MDQgKzAzMDAKU3ViamVjdDogW1BBVENIXSBXZWJDb3JlOgoK
MjAwOS0wNS0xNyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjU1MjYKICAgICAgICBbR3RrXSBBZGRpdGlvbmFsIHN1cHBvcnQgaXMg
bmVlZGVkIGZvciBjYXJldCBicm93c2luZwoKICAgICAgICBFbmFibGUgY2FyZXQgbW92ZW1lbnQg
Y29tbWFuZHMgYWxzbyB3aGVuIGNhcmV0IGJyb3dzaW5nIHNldHRpbmcgaXMKICAgICAgICBlbmFi
bGVkLgoKICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6CiAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVNb3ZlUGFyYWdyYXBoQmFja3dhcmQpOgogICAgICAgIChXZWJDb3JlOjpleGVj
dXRlTW92ZVBhcmFncmFwaEZvcndhcmQpOgogICAgICAgIChXZWJDb3JlOjplbmFibGVkVmlzaWJs
ZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZyk6CiAgICAgICAgKFdlYkNvcmU6OmVuYWJsZWRJbkVk
aXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZyk6CiAgICAgICAgKFdlYkNvcmU6OkNvbW1hbmRFbnRy
eTo6KToKICAgICAgICAqIG1hbnVhbC10ZXN0cy9ndGsvY2FyZXQtYnJvd3NpbmcuaHRtbDogQWRk
ZWQuCgpXZWJLaXQvZ3RrOgoKMjAwOS0wNS0xNyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5j
b20+CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1MjYKICAgICAgICBbR3RrXSBBZGRp
dGlvbmFsIHN1cHBvcnQgaXMgbmVlZGVkIGZvciBjYXJldCBicm93c2luZwoKICAgICAgICBSZW1v
dmUgc3BlY2lhbCBjYXNlcyBmb3IgY2FyZXQgYnJvd3NpbmcsIHRoZXkgYXJlIG5vdyBoYW5kbGVk
IGluCiAgICAgICAgY3Jvc3MtcGxhdGZvcm0gY29kZS4KCiAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRHdGsuY3BwOgogICAgICAgIChXZWJLaXQ6Oik6CiAgICAgICAgKFdlYktp
dDo6aGFuZGxlRWRpdGluZ0tleWJvYXJkRXZlbnQpOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTggKysrKysrKwogV2ViQ29yZS9lZGl0aW5n
L0VkaXRvckNvbW1hbmQuY3BwICAgICAgICAgICAgIHwgICA2MiArKysrKysrKysrKysrKysrKysr
LS0tLS0tCiBXZWJDb3JlL21hbnVhbC10ZXN0cy9ndGsvY2FyZXQtYnJvd3NpbmcuaHRtbCAgfCAg
ICA3ICsrKwogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxNCArKysrKysKIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNw
cCB8ICAgMzIgKy0tLS0tLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCsp
LCA0NCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL21hbnVhbC10ZXN0
cy9ndGsvY2FyZXQtYnJvd3NpbmcuaHRtbAoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMyZmZiNi4uODE5MjIzYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiwyNCBA
QAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTUyNgorICAgICAgICBbR3RrXSBB
ZGRpdGlvbmFsIHN1cHBvcnQgaXMgbmVlZGVkIGZvciBjYXJldCBicm93c2luZworCisgICAgICAg
IEVuYWJsZSBjYXJldCBtb3ZlbWVudCBjb21tYW5kcyBhbHNvIHdoZW4gY2FyZXQgYnJvd3Npbmcg
c2V0dGluZyBpcworICAgICAgICBlbmFibGVkLgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3JD
b21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVNb3ZlUGFyYWdyYXBoQmFja3dh
cmQpOgorICAgICAgICAoV2ViQ29yZTo6ZXhlY3V0ZU1vdmVQYXJhZ3JhcGhGb3J3YXJkKToKKyAg
ICAgICAgKFdlYkNvcmU6OmVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OmVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZyk6
CisgICAgICAgIChXZWJDb3JlOjpDb21tYW5kRW50cnk6Oik6CisgICAgICAgICogbWFudWFsLXRl
c3RzL2d0ay9jYXJldC1icm93c2luZy5odG1sOiBBZGRlZC4KKworMjAwOS0wNi0xNyAgWGFuIExv
cGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI1NTI5CiAgICAgICAgIFtHdGtdIEV4cGVjdGVkIHN0YXRlcyBub3QgZXhwb3NlZCB0byBhc3Np
c3RpdmUgdGVjaG5vbG9naWVzCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JD
b21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAppbmRleCA1YTE4
OWQ0Li5mOTkxOWYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5j
cHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCkBAIC0xLDYgKzEsNyBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSWdhbGlh
IFMuTC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTkyLDYgKzU5MywxMiBA
QCBzdGF0aWMgYm9vbCBleGVjdXRlTW92ZURvd25BbmRNb2RpZnlTZWxlY3Rpb24oRnJhbWUqIGZy
YW1lLCBFdmVudCosIEVkaXRvckNvbW1hbgogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMg
Ym9vbCBleGVjdXRlTW92ZVBhcmFncmFwaEJhY2t3YXJkKEZyYW1lKiBmcmFtZSwgRXZlbnQqLCBF
ZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQoreworICAgIGZyYW1lLT5zZWxlY3Rp
b24oKS0+bW9kaWZ5KFNlbGVjdGlvbkNvbnRyb2xsZXI6Ok1PVkUsIFNlbGVjdGlvbkNvbnRyb2xs
ZXI6OkJBQ0tXQVJELCBQYXJhZ3JhcGhHcmFudWxhcml0eSwgdHJ1ZSk7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKIHN0YXRpYyBib29sIGV4ZWN1dGVNb3ZlRm9yd2FyZChGcmFtZSogZnJhbWUsIEV2
ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKIHsKICAgICBmcmFtZS0+
c2VsZWN0aW9uKCktPm1vZGlmeShTZWxlY3Rpb25Db250cm9sbGVyOjpNT1ZFLCBTZWxlY3Rpb25D
b250cm9sbGVyOjpGT1JXQVJELCBDaGFyYWN0ZXJHcmFudWxhcml0eSwgdHJ1ZSk7CkBAIC03ODAs
NiArNzg3LDEyIEBAIHN0YXRpYyBib29sIGV4ZWN1dGVNb3ZlVXBBbmRNb2RpZnlTZWxlY3Rpb24o
RnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK3N0YXRpYyBib29sIGV4ZWN1dGVNb3ZlUGFyYWdyYXBoRm9yd2FyZChGcmFtZSogZnJhbWUs
IEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKK3sKKyAgICBmcmFt
ZS0+c2VsZWN0aW9uKCktPm1vZGlmeShTZWxlY3Rpb25Db250cm9sbGVyOjpNT1ZFLCBTZWxlY3Rp
b25Db250cm9sbGVyOjpGT1JXQVJELCBQYXJhZ3JhcGhHcmFudWxhcml0eSwgdHJ1ZSk7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBib29sIGV4ZWN1dGVNb3ZlV29yZEJhY2t3YXJkKEZy
YW1lKiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21tYW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQog
ewogICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KFNlbGVjdGlvbkNvbnRyb2xsZXI6Ok1P
VkUsIFNlbGVjdGlvbkNvbnRyb2xsZXI6OkJBQ0tXQVJELCBXb3JkR3JhbnVsYXJpdHksIHRydWUp
OwpAQCAtMTA3Miw2ICsxMDg1LDE5IEBAIHN0YXRpYyBib29sIGVuYWJsZWRWaXNpYmxlU2VsZWN0
aW9uKEZyYW1lKiBmcmFtZSwgRXZlbnQqIGV2ZW50LCBFZGl0b3JDb21tYW5kU291CiAgICAgcmV0
dXJuIChzZWxlY3Rpb24uaXNDYXJldCgpICYmIHNlbGVjdGlvbi5pc0NvbnRlbnRFZGl0YWJsZSgp
KSB8fCBzZWxlY3Rpb24uaXNSYW5nZSgpOwogfQogCitzdGF0aWMgYm9vbCBjYXJldEJyb3dzaW5n
RW5hYmxlZChGcmFtZSogZnJhbWUpCit7CisgICAgcmV0dXJuIGZyYW1lLT5zZXR0aW5ncygpICYm
IGZyYW1lLT5zZXR0aW5ncygpLT5jYXJldEJyb3dzaW5nRW5hYmxlZCgpOworfQorCitzdGF0aWMg
RWRpdG9yQ29tbWFuZFNvdXJjZSBkdW1teUVkaXRvckNvbW1hbmRTb3VyY2UgPSBzdGF0aWNfY2Fz
dDxFZGl0b3JDb21tYW5kU291cmNlPigwKTsKKworc3RhdGljIGJvb2wgZW5hYmxlZFZpc2libGVT
ZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcoRnJhbWUqIGZyYW1lLCBFdmVudCogZXZlbnQsIEVkaXRv
ckNvbW1hbmRTb3VyY2UpCit7CisgICAgLy8gVGhlIEVkaXRvckNvbW1hbmRTb3VyY2UgcGFyYW1l
dGVyIGlzIHVudXNlZCBpbiBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc28ganVzdCBwYXNzIGEg
ZHVtbXkgdmFyaWFibGUKKyAgICByZXR1cm4gY2FyZXRCcm93c2luZ0VuYWJsZWQoZnJhbWUpIHx8
IGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uKGZyYW1lLCBldmVudCwgZHVtbXlFZGl0b3JDb21tYW5k
U291cmNlKTsKK30KKwogc3RhdGljIGJvb2wgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25BbmRNYXJr
KEZyYW1lKiBmcmFtZSwgRXZlbnQqIGV2ZW50LCBFZGl0b3JDb21tYW5kU291cmNlKQogewogICAg
IGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiA9IGZyYW1lLT5lZGl0b3IoKS0+c2Vs
ZWN0aW9uRm9yQ29tbWFuZChldmVudCk7CkBAIC0xMTE2LDYgKzExNDIsMTIgQEAgc3RhdGljIGJv
b2wgZW5hYmxlZEluRWRpdGFibGVUZXh0KEZyYW1lKiBmcmFtZSwgRXZlbnQqIGV2ZW50LCBFZGl0
b3JDb21tYW5kU291cmMKICAgICByZXR1cm4gZnJhbWUtPmVkaXRvcigpLT5zZWxlY3Rpb25Gb3JD
b21tYW5kKGV2ZW50KS5pc0NvbnRlbnRFZGl0YWJsZSgpOwogfQogCitzdGF0aWMgYm9vbCBlbmFi
bGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcoRnJhbWUqIGZyYW1lLCBFdmVudCogZXZl
bnQsIEVkaXRvckNvbW1hbmRTb3VyY2UpCit7CisgICAgLy8gVGhlIEVkaXRvckNvbW1hbmRTb3Vy
Y2UgcGFyYW1ldGVyIGlzIHVudXNlZCBpbiBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHNvIGp1c3Qg
cGFzcyBhIGR1bW15IHZhcmlhYmxlCisgICAgcmV0dXJuIGNhcmV0QnJvd3NpbmdFbmFibGVkKGZy
YW1lKSB8fCBlbmFibGVkSW5FZGl0YWJsZVRleHQoZnJhbWUsIGV2ZW50LCBkdW1teUVkaXRvckNv
bW1hbmRTb3VyY2UpOworfQorCiBzdGF0aWMgYm9vbCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRl
eHQoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1hbmRTb3VyY2UpCiB7CiAgICAgcmV0
dXJuIGZyYW1lLT5zZWxlY3Rpb24oKS0+aXNDYXJldE9yUmFuZ2UoKSAmJiBmcmFtZS0+c2VsZWN0
aW9uKCktPmlzQ29udGVudFJpY2hseUVkaXRhYmxlKCk7CkBAIC0xMzA2LDIwICsxMzM4LDIxIEBA
IHN0YXRpYyBjb25zdCBDb21tYW5kTWFwJiBjcmVhdGVDb21tYW5kTWFwKCkKICAgICAgICAgeyAi
TWFrZVRleHRXcml0aW5nRGlyZWN0aW9uUmlnaHRUb0xlZnQiLCB7IGV4ZWN1dGVNYWtlVGV4dFdy
aXRpbmdEaXJlY3Rpb25SaWdodFRvTGVmdCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcs
IGVuYWJsZWRJblJpY2hseUVkaXRhYmxlVGV4dCwgc3RhdGVUZXh0V3JpdGluZ0RpcmVjdGlvblJp
Z2h0VG9MZWZ0LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRp
b25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlQmFja3dhcmQiLCB7IGV4ZWN1dGVN
b3ZlQmFja3dhcmQsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0
YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFs
bG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZUJhY2t3YXJkQW5k
TW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZUJhY2t3YXJkQW5kTW9kaWZ5U2VsZWN0aW9u
LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24s
IHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0
aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZURvd24iLCB7IGV4ZWN1dGVNb3Zl
RG93biwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4
dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVj
dXRpb25XaGVuRGlzYWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlRG93bkFuZE1vZGlmeVNlbGVj
dGlvbiIsIHsgZXhlY3V0ZU1vdmVEb3duQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9t
TWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFs
dWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVk
IH0gfSwKKyAgICAgICAgeyAiTW92ZURvd24iLCB7IGV4ZWN1dGVNb3ZlRG93biwgc3VwcG9ydGVk
RnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2lu
Zywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVj
dXRpb25XaGVuRGlzYWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlRG93bkFuZE1vZGlmeVNlbGVj
dGlvbiIsIHsgZXhlY3V0ZU1vdmVEb3duQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9t
TWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJvd3Npbmcs
IHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0
aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVBhcmFncmFwaEJhY2t3YXJkIiwg
eyBleGVjdXRlTW92ZVBhcmFncmFwaEJhY2t3YXJkLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5Qmlu
ZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCiAgICAgICAgIHsgIk1vdmVGb3J3YXJkIiwgeyBleGVjdXRlTW92ZUZvcndhcmQsIHN1
cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRl
Tm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hl
bkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZUZvcndhcmRBbmRNb2RpZnlTZWxlY3Rpb24i
LCB7IGV4ZWN1dGVNb3ZlRm9yd2FyZEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1l
bnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZhbHVl
TnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9
IH0sCi0gICAgICAgIHsgIk1vdmVMZWZ0IiwgeyBleGVjdXRlTW92ZUxlZnQsIHN1cHBvcnRlZEZy
b21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFs
dWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVk
IH0gfSwKLSAgICAgICAgeyAiTW92ZUxlZnRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVN
b3ZlTGVmdEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcs
IGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dElu
c2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisgICAgICAgIHsg
Ik1vdmVMZWZ0IiwgeyBleGVjdXRlTW92ZUxlZnQsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5k
aW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFs
dWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVk
IH0gfSwKKyAgICAgICAgeyAiTW92ZUxlZnRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVN
b3ZlTGVmdEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcs
IGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVl
TnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9
IH0sCiAgICAgICAgIHsgIk1vdmVQYWdlRG93biIsIHsgZXhlY3V0ZU1vdmVQYWdlRG93biwgc3Vw
cG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVO
b25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVu
RGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlUGFnZURvd25BbmRNb2RpZnlTZWxlY3Rpb24i
LCB7IGV4ZWN1dGVNb3ZlUGFnZURvd25BbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21N
ZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25lLCB2YWx1
ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQg
fSB9LAogICAgICAgICB7ICJNb3ZlUGFnZVVwIiwgeyBleGVjdXRlTW92ZVBhZ2VVcCwgc3VwcG9y
dGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlUGFnZVVwQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBl
eGVjdXRlTW92ZVBhZ2VVcEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktl
eUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwg
bm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0g
ICAgICAgIHsgIk1vdmVQYXJhZ3JhcGhCYWNrd2FyZEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhl
Y3V0ZU1vdmVQYXJhZ3JhcGhCYWNrd2FyZEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJv
bU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCi0gICAgICAgIHsgIk1vdmVQYXJhZ3JhcGhGb3J3YXJkQW5kTW9kaWZ5U2VsZWN0aW9u
IiwgeyBleGVjdXRlTW92ZVBhcmFncmFwaEZvcndhcmRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBv
cnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVO
b25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVu
RGlzYWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlUmlnaHQiLCB7IGV4ZWN1dGVNb3ZlUmlnaHQs
IHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0
YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9u
V2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9u
IiwgeyBleGVjdXRlTW92ZVJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVu
dU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVO
dWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0g
fSwKKyAgICAgICAgeyAiTW92ZVBhcmFncmFwaEJhY2t3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uIiwg
eyBleGVjdXRlTW92ZVBhcmFncmFwaEJhY2t3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0
ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJv
d3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93
RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVBhcmFncmFwaEZvcndh
cmRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlUGFyYWdyYXBoRm9yd2FyZEFuZE1v
ZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNp
YmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4
dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisgICAgICAg
IHsgIk1vdmVSaWdodCIsIHsgZXhlY3V0ZU1vdmVSaWdodCwgc3VwcG9ydGVkRnJvbU1lbnVPcktl
eUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlUmlnaHRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4
ZWN1dGVNb3ZlUmlnaHRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlC
aW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50IiwgeyBleGVj
dXRlTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRp
bmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJ
bnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7
ICJNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50QW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRl
TW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJv
bU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCiAgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mTGluZSIsIHsgZXhlY3V0ZU1vdmVU
b0JlZ2lubmluZ09mTGluZSwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJ
bkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRv
Tm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LApAQCAtMTM0MCwxNiArMTM3MywxNyBA
QCBzdGF0aWMgY29uc3QgQ29tbWFuZE1hcCYgY3JlYXRlQ29tbWFuZE1hcCgpCiAgICAgICAgIHsg
Ik1vdmVUb0xlZnRFbmRPZkxpbmVBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9M
ZWZ0RW5kT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5Qmlu
ZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4
dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAg
IHsgIk1vdmVUb1JpZ2h0RW5kT2ZMaW5lIiwgeyBleGVjdXRlTW92ZVRvUmlnaHRFbmRPZkxpbmUs
IHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0
YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9u
V2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVRvUmlnaHRFbmRPZkxpbmVBbmRNb2Rp
ZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9SaWdodEVuZE9mTGluZUFuZE1vZGlmeVNlbGVj
dGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4
dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVj
dXRpb25XaGVuRGlzYWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlVXAiLCB7IGV4ZWN1dGVNb3Zl
VXAsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQs
IHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0
aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVVwQW5kTW9kaWZ5U2VsZWN0aW9u
IiwgeyBleGVjdXRlTW92ZVVwQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9y
S2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxs
LCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
KyAgICAgICAgeyAiTW92ZVVwIiwgeyBleGVjdXRlTW92ZVVwLCBzdXBwb3J0ZWRGcm9tTWVudU9y
S2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5v
bmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5E
aXNhYmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVVcEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhl
Y3V0ZU1vdmVVcEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRp
bmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCisgICAgICAgIHsgIk1vdmVQYXJhZ3JhcGhGb3J3YXJkIiwgeyBleGVjdXRlTW92ZVBh
cmFncmFwaEZvcndhcmQsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5F
ZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0
SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAg
eyAiTW92ZVdvcmRCYWNrd2FyZCIsIHsgZXhlY3V0ZU1vdmVXb3JkQmFja3dhcmQsIHN1cHBvcnRl
ZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwg
dmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2Fi
bGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVdvcmRCYWNrd2FyZEFuZE1vZGlmeVNlbGVjdGlvbiIs
IHsgZXhlY3V0ZU1vdmVXb3JkQmFja3dhcmRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZy
b21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25lLCB2
YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJs
ZWQgfSB9LAogICAgICAgICB7ICJNb3ZlV29yZEZvcndhcmQiLCB7IGV4ZWN1dGVNb3ZlV29yZEZv
cndhcmQsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRl
eHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhl
Y3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVdvcmRGb3J3YXJkQW5kTW9k
aWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVdvcmRGb3J3YXJkQW5kTW9kaWZ5U2VsZWN0aW9u
LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24s
IHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0
aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVdvcmRMZWZ0IiwgeyBleGVjdXRl
TW92ZVdvcmRMZWZ0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRp
dGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RB
bGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVXb3JkTGVmdEFu
ZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVXb3JkTGVmdEFuZE1vZGlmeVNlbGVjdGlv
biwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9u
LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1
dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVXb3JkUmlnaHQiLCB7IGV4ZWN1
dGVNb3ZlV29yZFJpZ2h0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZElu
RWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9O
b3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVXb3JkUmln
aHRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlV29yZFJpZ2h0QW5kTW9kaWZ5U2Vs
ZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxl
Y3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93
RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVdvcmRMZWZ0IiwgeyBl
eGVjdXRlTW92ZVdvcmRMZWZ0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxl
ZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90
VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisgICAg
ICAgIHsgIk1vdmVXb3JkTGVmdEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVXb3Jk
TGVmdEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVu
YWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVs
bCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0s
CisgICAgICAgIHsgIk1vdmVXb3JkUmlnaHQiLCB7IGV4ZWN1dGVNb3ZlV29yZFJpZ2h0LCBzdXBw
b3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJy
b3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxv
d0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVXb3JkUmlnaHRBbmRN
b2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlV29yZFJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9u
LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25P
ckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBk
b05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiT3V0ZGVudCIs
IHsgZXhlY3V0ZU91dGRlbnQsIHN1cHBvcnRlZCwgZW5hYmxlZEluUmljaGx5RWRpdGFibGVUZXh0
LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1
dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIlBhc3RlIiwgeyBleGVjdXRlUGFzdGUs
IHN1cHBvcnRlZFBhc3RlLCBlbmFibGVkUGFzdGUsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RU
ZXh0SW5zZXJ0aW9uLCBhbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsg
IlBhc3RlQW5kTWF0Y2hTdHlsZSIsIHsgZXhlY3V0ZVBhc3RlQW5kTWF0Y2hTdHlsZSwgc3VwcG9y
dGVkUGFzdGUsIGVuYWJsZWRQYXN0ZSwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNl
cnRpb24sIGFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbWFudWFsLXRlc3RzL2d0ay9jYXJldC1icm93c2luZy5odG1sIGIvV2ViQ29yZS9tYW51YWwt
dGVzdHMvZ3RrL2NhcmV0LWJyb3dzaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMGJhYWNjYwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFudWFsLXRlc3Rz
L2d0ay9jYXJldC1icm93c2luZy5odG1sCkBAIC0wLDAgKzEsNyBAQAorPGh0bWw+Cis8Ym9keT4K
KzxwPk1hbnVhbCB0ZXN0IGZvciBDYXJldCBCcm93c2luZy4gUmVzaXplIHlvdXIgd2luZG93IHVu
dGlsIHRoZSBmaXJzdCBwYXJhZ3JhcGggZmlsbHMgYXQgbGVhc3QgdHdvIGxpbmVzIG9mIHRleHQg
LiBFbmFibGUgY2FyZXQgYnJvd3NpbmcgbW9kZSAodXN1YWxseSBieSBwcmVzc2luZyB0aGUgRjcg
a2V5KS4gUHJlc3MgZG93bi4gTm93IHlvdSBzaG91bGQgYmUgb24gdGhlIHNlY29uZCBsaW5lIG9m
IHRoZSBmaXJzdCBwYXJhZ3JhcGguIFByZXNzIHVwLiBOb3cgeW91IHNob3VsZCBiZSBvbiB0aGUg
Zmlyc3QgbGluZSBhZ2Fpbi4gTm93IHByZXNzIEN0cmwrRG93bi48L3A+Cis8cD5Zb3Ugc2hvdWxk
IGJlIG9uIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzZWNvbmQgcGFyYWdyYXBoIG5vdy4gUHJlc3Mg
Q3RybCtEb3duIGFnYWluLjwvcD4KKzxwPllvdSBzaG91bGQgYmUgb24gdGhlIGZpcnN0IGxpbmUg
b2YgdGhlIHRoaXJkIHBhcmFncmFwaCBub3cuIFByZXNzIEN0cmwrVXAsIGFuZCB5b3Ugc2hvdWxk
IGJlIGJhY2sgb24gdGhlIHNlY29uZCBwYXJhZ3JhcGguPC9wPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpp
bmRleCA0YTk5NTNlLi44NmY4NTIyIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwor
KysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtNzE1LDYgKzcxNSwyMCBAQAogCiAyMDA5LTA1
LTA1ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjU1MjYKKyAgICAgICAgW0d0a10gQWRkaXRpb25hbCBzdXBwb3J0IGlzIG5l
ZWRlZCBmb3IgY2FyZXQgYnJvd3NpbmcKKworICAgICAgICBSZW1vdmUgc3BlY2lhbCBjYXNlcyBm
b3IgY2FyZXQgYnJvd3NpbmcsIHRoZXkgYXJlIG5vdyBoYW5kbGVkIGluCisgICAgICAgIGNyb3Nz
LXBsYXRmb3JtIGNvZGUuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRH
dGsuY3BwOgorICAgICAgICAoV2ViS2l0OjopOgorICAgICAgICAoV2ViS2l0OjpoYW5kbGVFZGl0
aW5nS2V5Ym9hcmRFdmVudCk6CisKKzIwMDktMDUtMDUgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2Fs
aWEuY29tPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4KIAogICAgICAg
ICBGaXggbWVtb3J5IGxlYWtzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRHdGsuY3BwCmluZGV4IDkyOTRkNzMuLmY4ZDhjODUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKQEAgLTM1NCw5ICszNTQsMTEgQEAgc3Rh
dGljIGNvbnN0IEtleURvd25FbnRyeSBrZXlEb3duRW50cmllc1tdID0gewogICAgIHsgVktfUklH
SFQsICBDdHJsS2V5IHwgU2hpZnRLZXksICJNb3ZlV29yZFJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9u
IiAgICAgICAgICAgICB9LAogICAgIHsgVktfVVAsICAgICAwLCAgICAgICAgICAgICAgICAgICJN
b3ZlVXAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgIHsgVktf
VVAsICAgICBTaGlmdEtleSwgICAgICAgICAgICJNb3ZlVXBBbmRNb2RpZnlTZWxlY3Rpb24iICAg
ICAgICAgICAgICAgICAgICB9LAorICAgIHsgVktfVVAsICAgICBDdHJsS2V5LCAgICAgICAgICAg
ICJNb3ZlUGFyYWdyYXBoQmFja3dhcmQiICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgIHsg
VktfUFJJT1IsICBTaGlmdEtleSwgICAgICAgICAgICJNb3ZlUGFnZVVwQW5kTW9kaWZ5U2VsZWN0
aW9uIiAgICAgICAgICAgICAgICB9LAogICAgIHsgVktfRE9XTiwgICAwLCAgICAgICAgICAgICAg
ICAgICJNb3ZlRG93biIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAg
IHsgVktfRE9XTiwgICBTaGlmdEtleSwgICAgICAgICAgICJNb3ZlRG93bkFuZE1vZGlmeVNlbGVj
dGlvbiIgICAgICAgICAgICAgICAgICB9LAorICAgIHsgVktfRE9XTiwgICBDdHJsS2V5LCAgICAg
ICAgICAgICJNb3ZlUGFyYWdyYXBoRm9yd2FyZCIgICAgICAgICAgICAgICAgICAgICAgICB9LAog
ICAgIHsgVktfTkVYVCwgICBTaGlmdEtleSwgICAgICAgICAgICJNb3ZlUGFnZURvd25BbmRNb2Rp
ZnlTZWxlY3Rpb24iICAgICAgICAgICAgICB9LAogICAgIHsgVktfUFJJT1IsICAwLCAgICAgICAg
ICAgICAgICAgICJNb3ZlUGFnZVVwIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
LAogICAgIHsgVktfTkVYVCwgICAwLCAgICAgICAgICAgICAgICAgICJNb3ZlUGFnZURvd24iICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LApAQCAtNDQ5LDM2ICs0NTEsNiBAQCBzdGF0
aWMgYm9vbCBoYW5kbGVFZGl0aW5nS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50KiBldnQpCiAg
ICAgaWYgKCFrZXlFdmVudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYm9vbCBjYXJl
dEJyb3dzaW5nID0gZnJhbWUtPnNldHRpbmdzKCktPmNhcmV0QnJvd3NpbmdFbmFibGVkKCk7Ci0g
ICAgaWYgKGNhcmV0QnJvd3NpbmcpIHsKLSAgICAgICAgc3dpdGNoIChrZXlFdmVudC0+d2luZG93
c1ZpcnR1YWxLZXlDb2RlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgVktfTEVGVDoKLSAgICAgICAg
ICAgICAgICBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShrZXlFdmVudC0+c2hpZnRLZXkoKSA/
IFNlbGVjdGlvbkNvbnRyb2xsZXI6OkVYVEVORCA6IFNlbGVjdGlvbkNvbnRyb2xsZXI6Ok1PVkUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3Rpb25Db250cm9sbGVyOjpMRUZULAotICAg
ICAgICAgICAgICAgICAgICAgICAga2V5RXZlbnQtPmN0cmxLZXkoKSA/IFdvcmRHcmFudWxhcml0
eSA6IENoYXJhY3RlckdyYW51bGFyaXR5LAotICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICBjYXNlIFZLX1JJR0hU
OgotICAgICAgICAgICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KGtleUV2ZW50LT5z
aGlmdEtleSgpID8gU2VsZWN0aW9uQ29udHJvbGxlcjo6RVhURU5EIDogU2VsZWN0aW9uQ29udHJv
bGxlcjo6TU9WRSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdGlvbkNvbnRyb2xsZXI6
OlJJR0hULAotICAgICAgICAgICAgICAgICAgICAgICAga2V5RXZlbnQtPmN0cmxLZXkoKSA/IFdv
cmRHcmFudWxhcml0eSA6IENoYXJhY3RlckdyYW51bGFyaXR5LAotICAgICAgICAgICAgICAgICAg
ICAgICAgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICBj
YXNlIFZLX1VQOgotICAgICAgICAgICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KGtl
eUV2ZW50LT5zaGlmdEtleSgpID8gU2VsZWN0aW9uQ29udHJvbGxlcjo6RVhURU5EIDogU2VsZWN0
aW9uQ29udHJvbGxlcjo6TU9WRSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdGlvbkNv
bnRyb2xsZXI6OkJBQ0tXQVJELAotICAgICAgICAgICAgICAgICAgICAgICAga2V5RXZlbnQtPmN0
cmxLZXkoKSA/IFBhcmFncmFwaEdyYW51bGFyaXR5IDogTGluZUdyYW51bGFyaXR5LAotICAgICAg
ICAgICAgICAgICAgICAgICAgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgICAgICAgICBjYXNlIFZLX0RPV046Ci0gICAgICAgICAgICAgICAgZnJhbWUtPnNlbGVjdGlv
bigpLT5tb2RpZnkoa2V5RXZlbnQtPnNoaWZ0S2V5KCkgPyBTZWxlY3Rpb25Db250cm9sbGVyOjpF
WFRFTkQgOiBTZWxlY3Rpb25Db250cm9sbGVyOjpNT1ZFLAotICAgICAgICAgICAgICAgICAgICAg
ICAgU2VsZWN0aW9uQ29udHJvbGxlcjo6Rk9SV0FSRCwKLSAgICAgICAgICAgICAgICAgICAgICAg
IGtleUV2ZW50LT5jdHJsS2V5KCkgPyBQYXJhZ3JhcGhHcmFudWxhcml0eSA6IExpbmVHcmFudWxh
cml0eSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHRydWUpOwotICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICB9Ci0gICAgfQotCiAgICAgRWRpdG9yOjpDb21tYW5kIGNvbW1h
bmQgPSBmcmFtZS0+ZWRpdG9yKCktPmNvbW1hbmQoaW50ZXJwcmV0S2V5RXZlbnQoZXZ0KSk7CiAK
ICAgICBpZiAoa2V5RXZlbnQtPnR5cGUoKSA9PSBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OlJhd0tl
eURvd24pIHsKLS0gCjEuNi4zLjEKCg==
</data>
<flag name="review"
          id="16074"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40506</attachid>
            <date>2009-10-02 04:01:09 -0700</date>
            <delta_ts>2009-10-06 10:32:37 -0700</delta_ts>
            <desc>caret-cleanup.diff</desc>
            <filename>caret-cleanup.diff</filename>
            <type>text/plain</type>
            <size>19461</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAxN2M0ZDI2M2VmOThkMjdkZTEyMzIyMzdiZjg1ZGU5MjRmMmNkNGQ5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBG
cmksIDIgT2N0IDIwMDkgMTM6NTc6MjEgKzAzMDAKU3ViamVjdDogW1BBVENIXSBXZWJDb3JlOgoK
MjAwOS0xMC0wMiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjU1MjYKICAgICAgICBbR3RrXSBBZGRpdGlvbmFsIHN1cHBvcnQgaXMg
bmVlZGVkIGZvciBjYXJldCBicm93c2luZwoKICAgICAgICBFbmFibGUgY2FyZXQgbW92ZW1lbnQg
Y29tbWFuZHMgYWxzbyB3aGVuIGNhcmV0IGJyb3dzaW5nIHNldHRpbmcgaXMKICAgICAgICBlbmFi
bGVkLgoKICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6CiAgICAgICAgKFdlYkNv
cmU6OmNhcmV0QnJvd3NpbmdFbmFibGVkKToKICAgICAgICAoV2ViQ29yZTo6ZW5hYmxlZFZpc2li
bGVTZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcpOgogICAgICAgIChXZWJDb3JlOjplbmFibGVkSW5F
ZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcpOgogICAgICAgIChXZWJDb3JlOjpDb21tYW5kRW50
cnk6Oik6CiAgICAgICAgKiBtYW51YWwtdGVzdHMvZ3RrL2NhcmV0LWJyb3dzaW5nLmh0bWw6IEFk
ZGVkLgoKV2ViS2l0L2d0azoKCjIwMDktMTAtMDIgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEu
Y29tPgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1
MjYKICAgICAgICBbR3RrXSBBZGRpdGlvbmFsIHN1cHBvcnQgaXMgbmVlZGVkIGZvciBjYXJldCBi
cm93c2luZwoKICAgICAgICBSZW1vdmUgc3BlY2lhbCBjYXNlcyBmb3IgY2FyZXQgYnJvd3Npbmcs
IHRoZXkgYXJlIG5vdyBoYW5kbGVkIGluCiAgICAgICAgY3Jvc3MtcGxhdGZvcm0gY29kZS4KCiAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOgogICAgICAgIChXZWJL
aXQ6OkVkaXRvckNsaWVudDo6aGFuZGxlS2V5Ym9hcmRFdmVudCk6Ci0tLQogV2ViQ29yZS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysrKysKIFdlYkNv
cmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcCAgICAgICAgICAgICB8ICAgNDggKysrKysrKysr
KysrKysrKystLS0tLS0tCiBXZWJDb3JlL21hbnVhbC10ZXN0cy9ndGsvY2FyZXQtYnJvd3Npbmcu
aHRtbCAgfCAgICA3ICsrKysKIFdlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMTEgKysrKysrCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudEd0ay5jcHAgfCAgIDQ0ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA1IGZpbGVzIGNoYW5n
ZWQsIDcyIGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0
IFdlYkNvcmUvbWFudWFsLXRlc3RzL2d0ay9jYXJldC1icm93c2luZy5odG1sCgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxMWFjZjk1Li4x
Y2RkY2U4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDA5LTEwLTAyICBYYW4gTG9wZXogIDx4bG9wZXpAaWdh
bGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1MjYKKyAgICAgICAg
W0d0a10gQWRkaXRpb25hbCBzdXBwb3J0IGlzIG5lZWRlZCBmb3IgY2FyZXQgYnJvd3NpbmcKKwor
ICAgICAgICBFbmFibGUgY2FyZXQgbW92ZW1lbnQgY29tbWFuZHMgYWxzbyB3aGVuIGNhcmV0IGJy
b3dzaW5nIHNldHRpbmcgaXMKKyAgICAgICAgZW5hYmxlZC4KKworICAgICAgICAqIGVkaXRpbmcv
RWRpdG9yQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYXJldEJyb3dzaW5nRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlOjplbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93
c2luZyk6CisgICAgICAgIChXZWJDb3JlOjplbmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJv
d3NpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q29tbWFuZEVudHJ5OjopOgorICAgICAgICAqIG1h
bnVhbC10ZXN0cy9ndGsvY2FyZXQtYnJvd3NpbmcuaHRtbDogQWRkZWQuCisKIDIwMDktMTAtMDEg
IE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIFRpZ2VyIGJ1
aWxkLiAgRG9uJ3QgdW5jb25kaXRpb25hbGx5IGVuYWJsZSAzRCBjYW52YXMgYXMgaXQgaXMgbm90
IHN1cHBvcnRlZCBvbiBUaWdlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JD
b21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAppbmRleCAxOTZh
NGRhLi5hYmQwMTc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5j
cHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCkBAIC0xLDYgKzEsNyBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSWdhbGlh
IFMuTC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTA5Niw2ICsxMDk3LDE5
IEBAIHN0YXRpYyBib29sIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSwgRXZl
bnQqIGV2ZW50LCBFZGl0b3JDb21tYW5kU291CiAgICAgcmV0dXJuIChzZWxlY3Rpb24uaXNDYXJl
dCgpICYmIHNlbGVjdGlvbi5pc0NvbnRlbnRFZGl0YWJsZSgpKSB8fCBzZWxlY3Rpb24uaXNSYW5n
ZSgpOwogfQogCitzdGF0aWMgYm9vbCBjYXJldEJyb3dzaW5nRW5hYmxlZChGcmFtZSogZnJhbWUp
Cit7CisgICAgcmV0dXJuIGZyYW1lLT5zZXR0aW5ncygpICYmIGZyYW1lLT5zZXR0aW5ncygpLT5j
YXJldEJyb3dzaW5nRW5hYmxlZCgpOworfQorCitzdGF0aWMgRWRpdG9yQ29tbWFuZFNvdXJjZSBk
dW1teUVkaXRvckNvbW1hbmRTb3VyY2UgPSBzdGF0aWNfY2FzdDxFZGl0b3JDb21tYW5kU291cmNl
PigwKTsKKworc3RhdGljIGJvb2wgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJvd3Np
bmcoRnJhbWUqIGZyYW1lLCBFdmVudCogZXZlbnQsIEVkaXRvckNvbW1hbmRTb3VyY2UpCit7Cisg
ICAgLy8gVGhlIEVkaXRvckNvbW1hbmRTb3VyY2UgcGFyYW1ldGVyIGlzIHVudXNlZCBpbiBlbmFi
bGVkVmlzaWJsZVNlbGVjdGlvbiwgc28ganVzdCBwYXNzIGEgZHVtbXkgdmFyaWFibGUKKyAgICBy
ZXR1cm4gY2FyZXRCcm93c2luZ0VuYWJsZWQoZnJhbWUpIHx8IGVuYWJsZWRWaXNpYmxlU2VsZWN0
aW9uKGZyYW1lLCBldmVudCwgZHVtbXlFZGl0b3JDb21tYW5kU291cmNlKTsKK30KKwogc3RhdGlj
IGJvb2wgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25BbmRNYXJrKEZyYW1lKiBmcmFtZSwgRXZlbnQq
IGV2ZW50LCBFZGl0b3JDb21tYW5kU291cmNlKQogewogICAgIGNvbnN0IFZpc2libGVTZWxlY3Rp
b24mIHNlbGVjdGlvbiA9IGZyYW1lLT5lZGl0b3IoKS0+c2VsZWN0aW9uRm9yQ29tbWFuZChldmVu
dCk7CkBAIC0xMTQwLDYgKzExNTQsMTIgQEAgc3RhdGljIGJvb2wgZW5hYmxlZEluRWRpdGFibGVU
ZXh0KEZyYW1lKiBmcmFtZSwgRXZlbnQqIGV2ZW50LCBFZGl0b3JDb21tYW5kU291cmMKICAgICBy
ZXR1cm4gZnJhbWUtPmVkaXRvcigpLT5zZWxlY3Rpb25Gb3JDb21tYW5kKGV2ZW50KS5pc0NvbnRl
bnRFZGl0YWJsZSgpOwogfQogCitzdGF0aWMgYm9vbCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNh
cmV0QnJvd3NpbmcoRnJhbWUqIGZyYW1lLCBFdmVudCogZXZlbnQsIEVkaXRvckNvbW1hbmRTb3Vy
Y2UpCit7CisgICAgLy8gVGhlIEVkaXRvckNvbW1hbmRTb3VyY2UgcGFyYW1ldGVyIGlzIHVudXNl
ZCBpbiBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHNvIGp1c3QgcGFzcyBhIGR1bW15IHZhcmlhYmxl
CisgICAgcmV0dXJuIGNhcmV0QnJvd3NpbmdFbmFibGVkKGZyYW1lKSB8fCBlbmFibGVkSW5FZGl0
YWJsZVRleHQoZnJhbWUsIGV2ZW50LCBkdW1teUVkaXRvckNvbW1hbmRTb3VyY2UpOworfQorCiBz
dGF0aWMgYm9vbCBlbmFibGVkSW5SaWNobHlFZGl0YWJsZVRleHQoRnJhbWUqIGZyYW1lLCBFdmVu
dCosIEVkaXRvckNvbW1hbmRTb3VyY2UpCiB7CiAgICAgcmV0dXJuIGZyYW1lLT5zZWxlY3Rpb24o
KS0+aXNDYXJldE9yUmFuZ2UoKSAmJiBmcmFtZS0+c2VsZWN0aW9uKCktPmlzQ29udGVudFJpY2hs
eUVkaXRhYmxlKCk7CkBAIC0xMzMwLDIwICsxMzUwLDIwIEBAIHN0YXRpYyBjb25zdCBDb21tYW5k
TWFwJiBjcmVhdGVDb21tYW5kTWFwKCkKICAgICAgICAgeyAiTWFrZVRleHRXcml0aW5nRGlyZWN0
aW9uUmlnaHRUb0xlZnQiLCB7IGV4ZWN1dGVNYWtlVGV4dFdyaXRpbmdEaXJlY3Rpb25SaWdodFRv
TGVmdCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJblJpY2hseUVkaXRh
YmxlVGV4dCwgc3RhdGVUZXh0V3JpdGluZ0RpcmVjdGlvblJpZ2h0VG9MZWZ0LCB2YWx1ZU51bGws
IG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAog
ICAgICAgICB7ICJNb3ZlQmFja3dhcmQiLCB7IGV4ZWN1dGVNb3ZlQmFja3dhcmQsIHN1cHBvcnRl
ZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwg
dmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2Fi
bGVkIH0gfSwKICAgICAgICAgeyAiTW92ZUJhY2t3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBl
eGVjdXRlTW92ZUJhY2t3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9y
S2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxs
LCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
LSAgICAgICAgeyAiTW92ZURvd24iLCB7IGV4ZWN1dGVNb3ZlRG93biwgc3VwcG9ydGVkRnJvbU1l
bnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51
bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9
LAotICAgICAgICB7ICJNb3ZlRG93bkFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVE
b3duQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5h
YmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0
aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92
ZURvd24iLCB7IGV4ZWN1dGVNb3ZlRG93biwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcs
IGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51
bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9
LAorICAgICAgICB7ICJNb3ZlRG93bkFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVE
b3duQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5h
YmxlZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxs
LCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
ICAgICAgICAgeyAiTW92ZUZvcndhcmQiLCB7IGV4ZWN1dGVNb3ZlRm9yd2FyZCwgc3VwcG9ydGVk
RnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2
YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJs
ZWQgfSB9LAogICAgICAgICB7ICJNb3ZlRm9yd2FyZEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhl
Y3V0ZU1vdmVGb3J3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5
QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBu
b3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAg
ICAgICAgeyAiTW92ZUxlZnQiLCB7IGV4ZWN1dGVNb3ZlTGVmdCwgc3VwcG9ydGVkRnJvbU1lbnVP
cktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGws
IG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAot
ICAgICAgICB7ICJNb3ZlTGVmdEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVMZWZ0
QW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxl
ZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9u
LCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZUxl
ZnQiLCB7IGV4ZWN1dGVNb3ZlTGVmdCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVu
YWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGws
IG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAor
ICAgICAgICB7ICJNb3ZlTGVmdEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVMZWZ0
QW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxl
ZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBu
b3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAg
ICAgICAgeyAiTW92ZVBhZ2VEb3duIiwgeyBleGVjdXRlTW92ZVBhZ2VEb3duLCBzdXBwb3J0ZWRG
cm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCiAgICAgICAgIHsgIk1vdmVQYWdlRG93bkFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhl
Y3V0ZU1vdmVQYWdlRG93bkFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktl
eUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwg
bm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAg
ICAgICAgIHsgIk1vdmVQYWdlVXAiLCB7IGV4ZWN1dGVNb3ZlUGFnZVVwLCBzdXBwb3J0ZWRGcm9t
TWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVl
TnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9
IH0sCiAgICAgICAgIHsgIk1vdmVQYWdlVXBBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVN
b3ZlUGFnZVVwQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGlu
ZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0
SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAg
eyAiTW92ZVBhcmFncmFwaEJhY2t3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92
ZVBhcmFncmFwaEJhY2t3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9y
S2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxs
LCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
LSAgICAgICAgeyAiTW92ZVBhcmFncmFwaEZvcndhcmRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4
ZWN1dGVNb3ZlUGFyYWdyYXBoRm9yd2FyZEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJv
bU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCi0gICAgICAgIHsgIk1vdmVSaWdodCIsIHsgZXhlY3V0ZU1vdmVSaWdodCwgc3VwcG9y
dGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlUmlnaHRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4
ZWN1dGVNb3ZlUmlnaHRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlC
aW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5v
dFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAorICAg
ICAgICB7ICJNb3ZlUGFyYWdyYXBoQmFja3dhcmRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1
dGVNb3ZlUGFyYWdyYXBoQmFja3dhcmRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21N
ZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywg
c3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRp
b25XaGVuRGlzYWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlUGFyYWdyYXBoRm9yd2FyZEFuZE1v
ZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVQYXJhZ3JhcGhGb3J3YXJkQW5kTW9kaWZ5U2Vs
ZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxl
Y3Rpb25PckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0
aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92
ZVJpZ2h0IiwgeyBleGVjdXRlTW92ZVJpZ2h0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGlu
ZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVl
TnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9
IH0sCisgICAgICAgIHsgIk1vdmVSaWdodEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1v
dmVSaWdodEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcs
IGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVl
TnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9
IH0sCiAgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnQiLCB7IGV4ZWN1dGVNb3Zl
VG9CZWdpbm5pbmdPZkRvY3VtZW50LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5h
YmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlv
biwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVU
b0JlZ2lubmluZ09mRG9jdW1lbnRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9C
ZWdpbm5pbmdPZkRvY3VtZW50QW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9y
S2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxs
LCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
ICAgICAgICAgeyAiTW92ZVRvQmVnaW5uaW5nT2ZMaW5lIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5u
aW5nT2ZMaW5lLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFi
bGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxv
d0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCkBAIC0xMzY0LDE2ICsxMzg0LDE2IEBAIHN0YXRp
YyBjb25zdCBDb21tYW5kTWFwJiBjcmVhdGVDb21tYW5kTWFwKCkKICAgICAgICAgeyAiTW92ZVRv
TGVmdEVuZE9mTGluZUFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVUb0xlZnRFbmRP
ZkxpbmVBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBl
bmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0
aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92
ZVRvUmlnaHRFbmRPZkxpbmUiLCB7IGV4ZWN1dGVNb3ZlVG9SaWdodEVuZE9mTGluZSwgc3VwcG9y
dGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25l
LCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlz
YWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlVG9SaWdodEVuZE9mTGluZUFuZE1vZGlmeVNlbGVj
dGlvbiIsIHsgZXhlY3V0ZU1vdmVUb1JpZ2h0RW5kT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0aW9uLCBz
dXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0
ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldo
ZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVVcCIsIHsgZXhlY3V0ZU1vdmVVcCwgc3Vw
cG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVO
b25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVu
RGlzYWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlVXBBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4
ZWN1dGVNb3ZlVXBBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5k
aW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRl
eHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAorICAgICAg
ICB7ICJNb3ZlVXAiLCB7IGV4ZWN1dGVNb3ZlVXAsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5k
aW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFs
dWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVk
IH0gfSwKKyAgICAgICAgeyAiTW92ZVVwQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92
ZVVwQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5h
YmxlZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxs
LCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
ICAgICAgICAgeyAiTW92ZVdvcmRCYWNrd2FyZCIsIHsgZXhlY3V0ZU1vdmVXb3JkQmFja3dhcmQs
IHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0
YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9u
V2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVdvcmRCYWNrd2FyZEFuZE1vZGlmeVNl
bGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVXb3JkQmFja3dhcmRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1
cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwgc3Rh
dGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25X
aGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlV29yZEZvcndhcmQiLCB7IGV4ZWN1dGVN
b3ZlV29yZEZvcndhcmQsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5F
ZGl0YWJsZVRleHQsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05v
dEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVdvcmRGb3J3
YXJkQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVdvcmRGb3J3YXJkQW5kTW9kaWZ5
U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVT
ZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFs
bG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVdvcmRMZWZ0Iiwg
eyBleGVjdXRlTW92ZVdvcmRMZWZ0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5h
YmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlv
biwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVX
b3JkTGVmdEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVXb3JkTGVmdEFuZE1vZGlm
eVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxl
U2VsZWN0aW9uLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RB
bGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVXb3JkUmlnaHQi
LCB7IGV4ZWN1dGVNb3ZlV29yZFJpZ2h0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywg
ZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2Vy
dGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1v
dmVXb3JkUmlnaHRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlV29yZFJpZ2h0QW5k
TW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZp
c2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBk
b05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVdvcmRM
ZWZ0IiwgeyBleGVjdXRlTW92ZVdvcmRMZWZ0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGlu
ZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVl
TnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9
IH0sCisgICAgICAgIHsgIk1vdmVXb3JkTGVmdEFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0
ZU1vdmVXb3JkTGVmdEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJp
bmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUs
IHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNh
YmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVXb3JkUmlnaHQiLCB7IGV4ZWN1dGVNb3ZlV29yZFJp
Z2h0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0
T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwg
ZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVXb3Jk
UmlnaHRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlV29yZFJpZ2h0QW5kTW9kaWZ5
U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVT
ZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5z
ZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAi
T3V0ZGVudCIsIHsgZXhlY3V0ZU91dGRlbnQsIHN1cHBvcnRlZCwgZW5hYmxlZEluUmljaGx5RWRp
dGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RB
bGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIlBhc3RlIiwgeyBleGVj
dXRlUGFzdGUsIHN1cHBvcnRlZFBhc3RlLCBlbmFibGVkUGFzdGUsIHN0YXRlTm9uZSwgdmFsdWVO
dWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBhbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAg
ICAgICAgIHsgIlBhc3RlQW5kTWF0Y2hTdHlsZSIsIHsgZXhlY3V0ZVBhc3RlQW5kTWF0Y2hTdHls
ZSwgc3VwcG9ydGVkUGFzdGUsIGVuYWJsZWRQYXN0ZSwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5v
dFRleHRJbnNlcnRpb24sIGFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbWFudWFsLXRlc3RzL2d0ay9jYXJldC1icm93c2luZy5odG1sIGIvV2ViQ29y
ZS9tYW51YWwtdGVzdHMvZ3RrL2NhcmV0LWJyb3dzaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uMTgyYjA0MwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvbWFu
dWFsLXRlc3RzL2d0ay9jYXJldC1icm93c2luZy5odG1sCkBAIC0wLDAgKzEsNyBAQAorPGh0bWw+
Cis8Ym9keT4KKzxwPk1hbnVhbCB0ZXN0IGZvciBDYXJldCBCcm93c2luZy4gUmVzaXplIHlvdXIg
d2luZG93IHVudGlsIHRoZSBmaXJzdCBwYXJhZ3JhcGggZmlsbHMgYXQgbGVhc3QgdHdvIGxpbmVz
IG9mIHRleHQgLiBFbmFibGUgY2FyZXQgYnJvd3NpbmcgbW9kZSAodXN1YWxseSBieSBwcmVzc2lu
ZyB0aGVGNyBrZXkpLiBQcmVzcyBkb3duLiBOb3cgeW91IHNob3VsZCBiZSBvbiB0aGUgc2Vjb25k
IGxpbmUgb2YgdGhlIGZpcnN0IHBhcmFncmFwaC4gUHJlc3MgdXAuIE5vdyB5b3Ugc2hvdWxkIGJl
IG9uIHRoZSBmaXJzdCBsaW5lIGFnYWluLiBOb3cgcHJlc3MgQ3RybCtEb3duLjwvcD4KKzxwPllv
dSBzaG91bGQgYmUgb24gdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHNlY29uZCBwYXJhZ3JhcGggbm93
LiBQcmVzcyBDdHJsK0Rvd24gYWdhaW4uPC9wPgorPHA+WW91IHNob3VsZCBiZSBvbiB0aGUgZmly
c3QgbGluZSBvZiB0aGUgdGhpcmQgcGFyYWdyYXBoIG5vdy4gUHJlc3MgQ3RybCtVcCwgYW5kIHlv
dSBzaG91bGQgYmUgYmFjayBvbiB0aGUgc2Vjb25kIHBhcmFncmFwaC48L3A+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hh
bmdlTG9nCmluZGV4IDMyNDZkZjguLmNmNTczNmMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDkt
MTAtMDIgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTUyNgorICAgICAgICBbR3RrXSBBZGRp
dGlvbmFsIHN1cHBvcnQgaXMgbmVlZGVkIGZvciBjYXJldCBicm93c2luZworCisgICAgICAgIFJl
bW92ZSBzcGVjaWFsIGNhc2VzIGZvciBjYXJldCBicm93c2luZywgdGhleSBhcmUgbm93IGhhbmRs
ZWQgaW4KKyAgICAgICAgY3Jvc3MtcGxhdGZvcm0gY29kZS4KKworICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVu
dDo6aGFuZGxlS2V5Ym9hcmRFdmVudCk6CisKIDIwMDktMTAtMDEgIFhhbiBMb3BleiAgPHhsb3Bl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYS4KZGlm
ZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcCBi
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcAppbmRleCBiOGJh
NWFkLi43ODU0ODkxIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGll
bnRHdGsuY3BwCkBAIC00NTMsMzggKzQ1Myw2IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBpbnRlcnBy
ZXRFZGl0b3JDb21tYW5kS2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCogZXZ0KQogICAgIHJl
dHVybiBtYXBLZXkgPyBrZXlQcmVzc0NvbW1hbmRzTWFwLT5nZXQobWFwS2V5KSA6IDA7CiB9CiAK
LXN0YXRpYyBib29sIGhhbmRsZUNhcmV0QnJvd3NpbmdLZXlib2FyZEV2ZW50KEZyYW1lKiBmcmFt
ZSwgY29uc3QgUGxhdGZvcm1LZXlib2FyZEV2ZW50KiBrZXlFdmVudCkKLXsKLSAgICBzd2l0Y2gg
KGtleUV2ZW50LT53aW5kb3dzVmlydHVhbEtleUNvZGUoKSkgewotICAgICAgICBjYXNlIFZLX0xF
RlQ6Ci0gICAgICAgICAgICBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShrZXlFdmVudC0+c2hp
ZnRLZXkoKSA/IFNlbGVjdGlvbkNvbnRyb2xsZXI6OkVYVEVORCA6IFNlbGVjdGlvbkNvbnRyb2xs
ZXI6Ok1PVkUsCi0gICAgICAgICAgICAgICAgICAgIFNlbGVjdGlvbkNvbnRyb2xsZXI6OkxFRlQs
Ci0gICAgICAgICAgICAgICAgICAgIGtleUV2ZW50LT5jdHJsS2V5KCkgPyBXb3JkR3JhbnVsYXJp
dHkgOiBDaGFyYWN0ZXJHcmFudWxhcml0eSwKLSAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7Ci0g
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBWS19SSUdIVDoKLSAgICAgICAg
ICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9kaWZ5KGtleUV2ZW50LT5zaGlmdEtleSgpID8gU2Vs
ZWN0aW9uQ29udHJvbGxlcjo6RVhURU5EIDogU2VsZWN0aW9uQ29udHJvbGxlcjo6TU9WRSwKLSAg
ICAgICAgICAgICAgICAgICAgU2VsZWN0aW9uQ29udHJvbGxlcjo6UklHSFQsCi0gICAgICAgICAg
ICAgICAgICAgIGtleUV2ZW50LT5jdHJsS2V5KCkgPyBXb3JkR3JhbnVsYXJpdHkgOiBDaGFyYWN0
ZXJHcmFudWxhcml0eSwKLSAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7Ci0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBWS19VUDoKLSAgICAgICAgICAgIGZyYW1lLT5zZWxl
Y3Rpb24oKS0+bW9kaWZ5KGtleUV2ZW50LT5zaGlmdEtleSgpID8gU2VsZWN0aW9uQ29udHJvbGxl
cjo6RVhURU5EIDogU2VsZWN0aW9uQ29udHJvbGxlcjo6TU9WRSwKLSAgICAgICAgICAgICAgICAg
ICAgU2VsZWN0aW9uQ29udHJvbGxlcjo6QkFDS1dBUkQsCi0gICAgICAgICAgICAgICAgICAgIGtl
eUV2ZW50LT5jdHJsS2V5KCkgPyBQYXJhZ3JhcGhHcmFudWxhcml0eSA6IExpbmVHcmFudWxhcml0
eSwKLSAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICAgICAgY2FzZSBWS19ET1dOOgotICAgICAgICAgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5t
b2RpZnkoa2V5RXZlbnQtPnNoaWZ0S2V5KCkgPyBTZWxlY3Rpb25Db250cm9sbGVyOjpFWFRFTkQg
OiBTZWxlY3Rpb25Db250cm9sbGVyOjpNT1ZFLAotICAgICAgICAgICAgICAgICAgICBTZWxlY3Rp
b25Db250cm9sbGVyOjpGT1JXQVJELAotICAgICAgICAgICAgICAgICAgICBrZXlFdmVudC0+Y3Ry
bEtleSgpID8gUGFyYWdyYXBoR3JhbnVsYXJpdHkgOiBMaW5lR3JhbnVsYXJpdHksCi0gICAgICAg
ICAgICAgICAgICAgIHRydWUpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGRl
ZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIE5vdCBhIGNhcmV0IGJyb3dzd2lu
ZyBrZXlzdHJva2UsIHNvIGNvbnRpbnVlIHByb2Nlc3NpbmcuCi0gICAgfQotfQotCiB2b2lkIEVk
aXRvckNsaWVudDo6aGFuZGxlS2V5Ym9hcmRFdmVudChLZXlib2FyZEV2ZW50KiBldmVudCkKIHsK
ICAgICBOb2RlKiBub2RlID0gZXZlbnQtPnRhcmdldCgpLT50b05vZGUoKTsKQEAgLTQ5NiwxNSAr
NDY0LDkgQEAgdm9pZCBFZGl0b3JDbGllbnQ6OmhhbmRsZUtleWJvYXJkRXZlbnQoS2V5Ym9hcmRF
dmVudCogZXZlbnQpCiAgICAgaWYgKCFwbGF0Zm9ybUV2ZW50KQogICAgICAgICByZXR1cm47CiAK
LSAgICBib29sIGNhcmV0QnJvd3NpbmcgPSBmcmFtZS0+c2V0dGluZ3MoKS0+Y2FyZXRCcm93c2lu
Z0VuYWJsZWQoKTsKLSAgICBpZiAoY2FyZXRCcm93c2luZyAmJiBoYW5kbGVDYXJldEJyb3dzaW5n
S2V5Ym9hcmRFdmVudChmcmFtZSwgcGxhdGZvcm1FdmVudCkpIHsKLSAgICAgICAgLy8gVGhpcyB3
YXMgYSBjYXJldCBicm93c2luZyBrZXkgZXZlbnQsIHNvIHByZXZlbnQgaXQgZnJvbSBidWJibGlu
ZyB1cCB0byB0aGUgRE9NLgotICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIERvbid0IGFsbG93IGVkaXRvciBjb21tYW5k
cyBvciB0ZXh0IGluc2VydGlvbiBmb3Igbm9kZXMgdGhhdCBjYW5ub3QgZWRpdC4KLSAgICBpZiAo
IWZyYW1lLT5lZGl0b3IoKS0+Y2FuRWRpdCgpKQorICAgIC8vIERvbid0IGFsbG93IGVkaXRvciBj
b21tYW5kcyBvciB0ZXh0IGluc2VydGlvbiBmb3Igbm9kZXMgdGhhdAorICAgIC8vIGNhbm5vdCBl
ZGl0LCB1bmxlc3Mgd2UgYXJlIGluIGNhcmV0IG1vZGUuCisgICAgaWYgKCFmcmFtZS0+ZWRpdG9y
KCktPmNhbkVkaXQoKSAmJiAhKGZyYW1lLT5zZXR0aW5ncygpICYmIGZyYW1lLT5zZXR0aW5ncygp
LT5jYXJldEJyb3dzaW5nRW5hYmxlZCgpKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgY29uc3Qg
Z2NoYXIqIGVkaXRvckNvbW1hbmRTdHJpbmcgPSBpbnRlcnByZXRFZGl0b3JDb21tYW5kS2V5RXZl
bnQoZXZlbnQpOwotLSAKMS42LjQuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76080</attachid>
            <date>2010-12-09 10:09:31 -0800</date>
            <delta_ts>2010-12-09 10:40:47 -0800</delta_ts>
            <desc>Move to Beginning/End of the document + Layout test</desc>
            <filename>0001-2010-12-09-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>11535</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA5Mzk5N2IyMjRlZjE0ZGRkNWEyNzhjZGI1Nzc3Y2I5NzE3MDUxOWY0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBUaHUsIDkgRGVjIDIwMTAgMTk6MDU6MTkgKzAxMDAKU3ViamVjdDogW1BBVENI
XSAyMDEwLTEyLTA5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
CiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHdGtdIEFkZGl0
aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9yIGNhcmV0IGJyb3dzaW5nCiAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTI2CgogICAgICAgIEVuYWJsZSAi
TW92ZVRve0JlZ2lubmlubmd8RW5kfU9mRG9jdW1lbnQiIGNvbW1hbmRzIHdoZW4gY2FyZXQKICAg
ICAgICBicm93c2luZyBpcyBlbmFibGVkLgoKICAgICAgICBUaGlzIGNoYW5nZSBpbXBhY3RzIHRo
ZSBHVEstcG9ydCBvbmx5IGFzIGNhcmV0IGJyb3dzaW5nIGlzIGEKICAgICAgICBmZWF0dXJlIG9u
bHkgdXNlZCBpbiB0aGF0IHBsYXRmb3JtIHNvIGZhci4KCiAgICAgICAgVGVzdDogcGxhdGZvcm0v
Z3RrL2VkaXRpbmcvc2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLmh0bWwK
CiAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgogICAgICAgIChXZWJDb3JlOjpj
cmVhdGVDb21tYW5kTWFwKTogRW5hYmxlIHRoZSBjb21tYWRzIHdoZW4gaW4gY2FyZXQgYnJvd3Np
bmcuCgoyMDEwLTEyLTA5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNv
bT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHdGtdIEFk
ZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9yIGNhcmV0IGJyb3dzaW5nCiAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTI2CgogICAgICAgIE5ldyBs
YXlvdXQgdGVzdCB0byBjaGVjayB0aGUgIk1vdmVUb3tCZWdpbm5pbm5nfEVuZH1PZkRvY3VtZW50
IgogICAgICAgIGNvbW1hbmRzIHdoZW4gY2FyZXQgYnJvd3NpbmcgaXMgZW5hYmxlZC4KCiAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxlY3Rpb24vY2FyZXQtbW9kZS1kb2N1bWVudC1i
ZWdpbi1lbmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAgICAqIHBsYXRmb3JtL2d0ay9lZGl0
aW5nL3NlbGVjdGlvbi9jYXJldC1tb2RlLWRvY3VtZW50LWJlZ2luLWVuZC5odG1sOiBBZGRlZC4K
LS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTMgKysrKysrCiAuLi4vY2FyZXQtbW9kZS1kb2N1bWVudC1iZWdpbi1lbmQtZXhwZWN0ZWQu
dHh0ICAgICB8ICAgMTkgKysrKysrKysrCiAuLi4vc2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1l
bnQtYmVnaW4tZW5kLmh0bWwgICB8ICAgNDAgKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxOCArKysrKysr
KysKIFdlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcCAgICAgICAgICAgICAgICAgIHwg
ICAgOCArKy0tCiA1IGZpbGVzIGNoYW5nZWQsIDk0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z
KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcv
c2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLWV4cGVjdGVkLnR4dAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlv
bi9jYXJldC1tb2RlLWRvY3VtZW50LWJlZ2luLWVuZC5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE5NmIyNGYuLjBk
OWIxMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMi0wOSAgTWFyaW8gU2FuY2hleiBQ
cmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgW0d0a10gQWRkaXRpb25hbCBzdXBwb3J0IGlzIG5lZWRlZCBm
b3IgY2FyZXQgYnJvd3NpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI1NTI2CisKKyAgICAgICAgTmV3IGxheW91dCB0ZXN0IHRvIGNoZWNrIHRoZSAi
TW92ZVRve0JlZ2lubmlubmd8RW5kfU9mRG9jdW1lbnQiCisgICAgICAgIGNvbW1hbmRzIHdoZW4g
Y2FyZXQgYnJvd3NpbmcgaXMgZW5hYmxlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9lZGl0
aW5nL3NlbGVjdGlvbi9jYXJldC1tb2RlLWRvY3VtZW50LWJlZ2luLWVuZC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlvbi9jYXJldC1t
b2RlLWRvY3VtZW50LWJlZ2luLWVuZC5odG1sOiBBZGRlZC4KKwogMjAxMC0xMi0wNiAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcv
c2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlvbi9jYXJldC1tb2RlLWRvY3Vt
ZW50LWJlZ2luLWVuZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uOTkyYjYyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9lZGl0aW5nL3NlbGVjdGlvbi9jYXJldC1tb2RlLWRvY3VtZW50LWJlZ2luLWVuZC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxOSBAQAorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5H
IERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gNSBvZiAj
dGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDUgb2YgI3RleHQgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0
aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNo
b3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9E
T01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBQID4gU1BBTiA+IFAgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gUCA+IFNQQU4gPiBQID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxT
ZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorU29tZSB0ZXh0LgorU29t
ZSB0ZXh0LgorU29tZSB0ZXh0LgorQSBwYXJhZ3JhcGggdG8gZmluaXNoLgorCitUaGlzIHRlc3Rz
IGRpcmVjdCBuYXZpZ2F0aW9uIHRvIHRoZSBiZWdpbiBhbmQgZW5kIG9mIHRoZSBkb2N1bWVudCBp
biBjYXJldCBtb2RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlvbi9jYXJldC1tb2RlLWRvY3Vt
ZW50LWJlZ2luLWVuZC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvc2Vs
ZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZmIzNjNjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlvbi9jYXJldC1tb2RlLWRvY3VtZW50LWJl
Z2luLWVuZC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9InN0YXJ0SGVyZSI+CisgIFNvbWUgdGV4dC48
YnIgLz4KKyAgU29tZSB0ZXh0LjxiciAvPgorICBTb21lIHRleHQuCis8L2Rpdj4KKzxwPkEgcGFy
YWdyYXBoIHRvIGZpbmlzaC48L3A+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIGRpcmVj
dCBuYXZpZ2F0aW9uIHRvIHRoZSBiZWdpbiBhbmQgZW5kIG9mIHRoZSBkb2N1bWVudCBpbiBjYXJl
dCBtb2RlLiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgIGxheW91
dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0RW5hYmxlQ2FyZXRCcm93
c2luZyIsIHRydWUpOworICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBFZGl0aW5nQ2FsbGJhY2tzKCk7CisKKyAgLy8gU2V0IGNh
cmV0IGluIHRoZSBzZWNvbmQgY2VsbCBvZiB0aGUgdGFibGUuCisgIHN0YXJ0UG9pbnQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnRIZXJlIik7CisgIHdpbmRvdy5nZXRTZWxlY3Rpb24o
KS5zZXRQb3NpdGlvbihzdGFydFBvaW50LmNoaWxkTm9kZXMuaXRlbSgwKSwgNSk7CisKKyAgLy8g
TW92ZSBkb3duIGFuZCB1cCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBsaW5lcyBpbnNpZGUgdGhlIGVk
aXRhYmxlIGNvbnRlbnQuCisgIGxheW91dFRlc3RDb250cm9sbGVyLmV4ZWNDb21tYW5kKCJNb3Zl
VG9CZWdpbm5pbmdPZkRvY3VtZW50Iik7CisgIGxheW91dFRlc3RDb250cm9sbGVyLmV4ZWNDb21t
YW5kKCJNb3ZlVG9FbmRPZkRvY3VtZW50Iik7Cit9CisKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMGNhZWEwLi5i
NTgwNjBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEwLTEyLTA5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8
bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBbR3RrXSBBZGRpdGlvbmFsIHN1cHBvcnQgaXMgbmVlZGVkIGZvciBjYXJl
dCBicm93c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjU1MjYKKworICAgICAgICBFbmFibGUgIk1vdmVUb3tCZWdpbm5pbm5nfEVuZH1PZkRvY3Vt
ZW50IiBjb21tYW5kcyB3aGVuIGNhcmV0CisgICAgICAgIGJyb3dzaW5nIGlzIGVuYWJsZWQuCisK
KyAgICAgICAgVGhpcyBjaGFuZ2UgaW1wYWN0cyB0aGUgR1RLLXBvcnQgb25seSBhcyBjYXJldCBi
cm93c2luZyBpcyBhCisgICAgICAgIGZlYXR1cmUgb25seSB1c2VkIGluIHRoYXQgcGxhdGZvcm0g
c28gZmFyLgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2d0ay9lZGl0aW5nL3NlbGVjdGlvbi9j
YXJldC1tb2RlLWRvY3VtZW50LWJlZ2luLWVuZC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0Vk
aXRvckNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQ29tbWFuZE1hcCk6IEVu
YWJsZSB0aGUgY29tbWFkcyB3aGVuIGluIGNhcmV0IGJyb3dzaW5nLgorCiAyMDEwLTEyLTA2ICBD
aHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFu
ZC5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKaW5kZXggYWI4MzgxNy4u
YjJiMzM3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCisr
KyBiL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcApAQCAtMTQ0MiwxNiArMTQ0Miwx
NiBAQCBzdGF0aWMgY29uc3QgQ29tbWFuZE1hcCYgY3JlYXRlQ29tbWFuZE1hcCgpCiAgICAgICAg
IHsgIk1vdmVQYXJhZ3JhcGhGb3J3YXJkQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92
ZVBhcmFncmFwaEZvcndhcmRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JL
ZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywgc3RhdGVO
b25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVu
RGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlUmlnaHQiLCB7IGV4ZWN1dGVNb3ZlUmlnaHQs
IHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNh
cmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05v
dEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVJpZ2h0QW5k
TW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9uLCBz
dXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25PckNh
cmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05v
dEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVRvQmVnaW5u
aW5nT2ZEb2N1bWVudCIsIHsgZXhlY3V0ZU1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnQsIHN1cHBv
cnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRlTm9u
ZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRp
c2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudEFuZE1vZGlm
eVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnRBbmRNb2RpZnlT
ZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNl
bGVjdGlvbiwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxs
b3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlVG9CZWdpbm5pbmdP
ZkRvY3VtZW50IiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudCwgc3VwcG9ydGVk
RnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2lu
Zywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVj
dXRpb25XaGVuRGlzYWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlVG9CZWdpbm5pbmdPZkRvY3Vt
ZW50QW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVu
dEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJs
ZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwg
bm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAg
ICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mTGluZSIsIHsgZXhlY3V0ZU1vdmVUb0JlZ2lubmlu
Z09mTGluZSwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxl
VGV4dE9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRp
b24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3Zl
VG9CZWdpbm5pbmdPZkxpbmVBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9CZWdp
bm5pbmdPZkxpbmVBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5k
aW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2
YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJs
ZWQgfSB9LAogICAgICAgICB7ICJNb3ZlVG9CZWdpbm5pbmdPZlBhcmFncmFwaCIsIHsgZXhlY3V0
ZU1vdmVUb0JlZ2lubmluZ09mUGFyYWdyYXBoLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGlu
ZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVl
TnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9
IH0sCiAgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mUGFyYWdyYXBoQW5kTW9kaWZ5U2VsZWN0
aW9uIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZQYXJhZ3JhcGhBbmRNb2RpZnlTZWxlY3Rp
b24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlv
bk9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24s
IGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlVG9C
ZWdpbm5pbmdPZlNlbnRlbmNlIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZTZW50ZW5jZSwg
c3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2Fy
ZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90
QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlVG9CZWdpbm5p
bmdPZlNlbnRlbmNlQW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5n
T2ZTZW50ZW5jZUFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRp
bmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCi0gICAgICAgIHsgIk1vdmVUb0VuZE9mRG9jdW1lbnQiLCB7IGV4ZWN1dGVNb3ZlVG9F
bmRPZkRvY3VtZW50LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRp
dGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RB
bGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0gICAgICAgIHsgIk1vdmVUb0VuZE9mRG9j
dW1lbnRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9FbmRPZkRvY3VtZW50QW5k
TW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZp
c2libGVTZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBk
b05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVRvRW5k
T2ZEb2N1bWVudCIsIHsgZXhlY3V0ZU1vdmVUb0VuZE9mRG9jdW1lbnQsIHN1cHBvcnRlZEZyb21N
ZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcsIHN0
YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9u
V2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVRvRW5kT2ZEb2N1bWVudEFuZE1vZGlm
eVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVUb0VuZE9mRG9jdW1lbnRBbmRNb2RpZnlTZWxlY3Rp
b24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlv
bk9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24s
IGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlVG9F
bmRPZkxpbmUiLCB7IGV4ZWN1dGVNb3ZlVG9FbmRPZkxpbmUsIHN1cHBvcnRlZEZyb21NZW51T3JL
ZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9u
ZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRp
c2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVRvRW5kT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0aW9u
IiwgeyBleGVjdXRlTW92ZVRvRW5kT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRG
cm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rpb25PckNhcmV0QnJvd3Np
bmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhl
Y3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVRvRW5kT2ZQYXJhZ3JhcGgi
LCB7IGV4ZWN1dGVNb3ZlVG9FbmRPZlBhcmFncmFwaCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJp
bmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2
YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJs
ZWQgfSB9LAotLSAKMS43LjMuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76092</attachid>
            <date>2010-12-09 10:40:47 -0800</date>
            <delta_ts>2010-12-13 03:48:43 -0800</delta_ts>
            <desc>Move to Beginning/End of the document + Layout test</desc>
            <filename>0001-2010-12-09-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>12716</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAwNTRlOTY5ZWIzOTM5MjI4NmVhYWJjMDU1ODNlMTZmZGEyMDU0NjMyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBUaHUsIDkgRGVjIDIwMTAgMTk6MDU6MTkgKzAxMDAKU3ViamVjdDogW1BBVENI
XSAyMDEwLTEyLTA5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
CiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHdGtdIEFkZGl0
aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9yIGNhcmV0IGJyb3dzaW5nCiAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTI2CgogICAgICAgIEVuYWJsZSAi
TW92ZVRve0JlZ2lubmlubmd8RW5kfU9mRG9jdW1lbnQiIGNvbW1hbmRzIHdoZW4gY2FyZXQKICAg
ICAgICBicm93c2luZyBpcyBlbmFibGVkLgoKICAgICAgICBUaGlzIGNoYW5nZSBpbXBhY3RzIHRo
ZSBHVEstcG9ydCBvbmx5IGFzIGNhcmV0IGJyb3dzaW5nIGlzIGEKICAgICAgICBmZWF0dXJlIG9u
bHkgdXNlZCBpbiB0aGF0IHBsYXRmb3JtIHNvIGZhci4KCiAgICAgICAgVGVzdDogcGxhdGZvcm0v
Z3RrL2VkaXRpbmcvc2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLmh0bWwK
CiAgICAgICAgKiBlZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwOgogICAgICAgIChXZWJDb3JlOjpj
cmVhdGVDb21tYW5kTWFwKTogRW5hYmxlIHRoZSBjb21tYWRzIHdoZW4gaW4gY2FyZXQgYnJvd3Np
bmcuCgoyMDEwLTEyLTA5ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNv
bT4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtHdGtdIEFk
ZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9yIGNhcmV0IGJyb3dzaW5nCiAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTI2CgogICAgICAgIE5ldyBs
YXlvdXQgdGVzdCB0byBjaGVjayB0aGUgIk1vdmVUb3tCZWdpbm5pbm5nfEVuZH1PZkRvY3VtZW50
IgogICAgICAgIGNvbW1hbmRzIHdoZW4gY2FyZXQgYnJvd3NpbmcgaXMgZW5hYmxlZC4KCiAgICAg
ICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxlY3Rpb24vY2FyZXQtbW9kZS1kb2N1bWVudC1i
ZWdpbi1lbmQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAgICAqIHBsYXRmb3JtL2d0ay9lZGl0
aW5nL3NlbGVjdGlvbi9jYXJldC1tb2RlLWRvY3VtZW50LWJlZ2luLWVuZC5odG1sOiBBZGRlZC4K
LS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTMgKysrKysrCiAuLi4vY2FyZXQtbW9kZS1kb2N1bWVudC1iZWdpbi1lbmQtZXhwZWN0ZWQu
dHh0ICAgICB8ICAgMjQgKysrKysrKysrKysKIC4uLi9zZWxlY3Rpb24vY2FyZXQtbW9kZS1kb2N1
bWVudC1iZWdpbi1lbmQuaHRtbCAgIHwgICA0NCArKysrKysrKysrKysrKysrKysrKwogV2ViQ29y
ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE4ICsrKysr
KysrCiBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAgICAgICAgICAgICAgICAgICB8
ICAgIDggKystLQogNSBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv
bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGlu
Zy9zZWxlY3Rpb24vY2FyZXQtbW9kZS1kb2N1bWVudC1iZWdpbi1lbmQtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvc2VsZWN0
aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLmh0bWwKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTk2YjI0Zi4u
MGQ5YjExMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEwLTEyLTA5ICBNYXJpbyBTYW5jaGV6
IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbR3RrXSBBZGRpdGlvbmFsIHN1cHBvcnQgaXMgbmVlZGVk
IGZvciBjYXJldCBicm93c2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjU1MjYKKworICAgICAgICBOZXcgbGF5b3V0IHRlc3QgdG8gY2hlY2sgdGhl
ICJNb3ZlVG97QmVnaW5uaW5uZ3xFbmR9T2ZEb2N1bWVudCIKKyAgICAgICAgY29tbWFuZHMgd2hl
biBjYXJldCBicm93c2luZyBpcyBlbmFibGVkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Vk
aXRpbmcvc2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2VkaXRpbmcvc2VsZWN0aW9uL2NhcmV0
LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLmh0bWw6IEFkZGVkLgorCiAyMDEwLTEyLTA2ICBDaHJp
cyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
T2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGlu
Zy9zZWxlY3Rpb24vY2FyZXQtbW9kZS1kb2N1bWVudC1iZWdpbi1lbmQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvc2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9j
dW1lbnQtYmVnaW4tZW5kLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi42NjBmNmMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2VkaXRpbmcvc2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI0IEBACitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJ
TkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA1IG9m
ICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNSBvZiAjdGV4dCA+IERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxl
Y3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246
V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTog
c2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
b0RPTVJhbmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+IFAgPiBTUEFOID4gUCA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBQID4gU1BBTiA+IFAgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGls
bFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVH
QVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+
IFAgPiBTUEFOID4gUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBQ
ID4gU1BBTiA+IFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZy
b20gMyBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3Rl
eHQgPiBQID4gU1BBTiA+IFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1Nl
bGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA1IG9mICN0ZXh0ID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNSBvZiAjdGV4dCA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA1IG9mICN0ZXh0ID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IFAgPiBTUEFOID4gUCA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3du
c3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0Zp
cnN0IHRleHQgbGluZS4KK1NlY29uZCB0ZXh0IGxpbmUuCitUaGlyZCB0ZXh0IGxpbmUuCitBIHBh
cmFncmFwaCB0byBmaW5pc2guCisKK1RoaXMgdGVzdHMgZGlyZWN0IG5hdmlnYXRpb24gdG8gdGhl
IGJlZ2luIGFuZCBlbmQgb2YgdGhlIGRvY3VtZW50IGluIGNhcmV0IG1vZGUuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Vk
aXRpbmcvc2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLmh0bWwgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9zZWxlY3Rpb24vY2FyZXQtbW9kZS1kb2N1bWVu
dC1iZWdpbi1lbmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTll
N2NmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcv
c2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1lbnQtYmVnaW4tZW5kLmh0bWwKQEAgLTAsMCArMSw0
NCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRp
diBpZD0ic3RhcnRIZXJlIj4KKyAgRmlyc3QgdGV4dCBsaW5lLjxiciAvPgorICBTZWNvbmQgdGV4
dCBsaW5lLjxiciAvPgorICBUaGlyZCB0ZXh0IGxpbmUuCis8L2Rpdj4KKzxwPkEgcGFyYWdyYXBo
IHRvIGZpbmlzaC48L3A+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIGRpcmVjdCBuYXZp
Z2F0aW9uIHRvIHRoZSBiZWdpbiBhbmQgZW5kIG9mIHRoZSBkb2N1bWVudCBpbiBjYXJldCBtb2Rl
LiIpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgIGxheW91dFRlc3RD
b250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0RW5hYmxlQ2FyZXRCcm93c2luZyIs
IHRydWUpOworICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBFZGl0aW5nQ2FsbGJhY2tzKCk7CisKKyAgc3RhcnRQb2ludCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydEhlcmUiKTsKKyAgd2luZG93LmdldFNlbGVjdGlv
bigpLnNldFBvc2l0aW9uKHN0YXJ0UG9pbnQuY2hpbGROb2Rlcy5pdGVtKDApLCA1KTsKKworICAv
LyBNb3ZlIHRvIHRoZSBiZWdpbm5pbmcgYW5kIHRoZSBlbmQgb2YgdGhlIGRvY3VtZW50LgorICBs
YXlvdXRUZXN0Q29udHJvbGxlci5leGVjQ29tbWFuZCgiTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVu
dCIpOworICBsYXlvdXRUZXN0Q29udHJvbGxlci5leGVjQ29tbWFuZCgiTW92ZVRvRW5kT2ZEb2N1
bWVudCIpOworCisgIC8vIFRyeSB0aGUgc2FtZSBjb21tYW5kcyBtb2RpZnlpbmcgdGhlIHNlbGVj
dGlvbi4KKyAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXhlY0NvbW1hbmQoIk1vdmVUb0JlZ2lubmlu
Z09mRG9jdW1lbnRBbmRNb2RpZnlTZWxlY3Rpb24iKTsKKyAgd2luZG93LmdldFNlbGVjdGlvbigp
LnNldFBvc2l0aW9uKHN0YXJ0UG9pbnQuY2hpbGROb2Rlcy5pdGVtKDApLCA1KTsKKyAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZXhlY0NvbW1hbmQoIk1vdmVUb0VuZE9mRG9jdW1lbnRBbmRNb2RpZnlT
ZWxlY3Rpb24iKTsKK30KKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGMwY2FlYTAuLmI1ODA2MGUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTAtMTItMDkgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtH
dGtdIEFkZGl0aW9uYWwgc3VwcG9ydCBpcyBuZWVkZWQgZm9yIGNhcmV0IGJyb3dzaW5nCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTUyNgorCisgICAg
ICAgIEVuYWJsZSAiTW92ZVRve0JlZ2lubmlubmd8RW5kfU9mRG9jdW1lbnQiIGNvbW1hbmRzIHdo
ZW4gY2FyZXQKKyAgICAgICAgYnJvd3NpbmcgaXMgZW5hYmxlZC4KKworICAgICAgICBUaGlzIGNo
YW5nZSBpbXBhY3RzIHRoZSBHVEstcG9ydCBvbmx5IGFzIGNhcmV0IGJyb3dzaW5nIGlzIGEKKyAg
ICAgICAgZmVhdHVyZSBvbmx5IHVzZWQgaW4gdGhhdCBwbGF0Zm9ybSBzbyBmYXIuCisKKyAgICAg
ICAgVGVzdDogcGxhdGZvcm0vZ3RrL2VkaXRpbmcvc2VsZWN0aW9uL2NhcmV0LW1vZGUtZG9jdW1l
bnQtYmVnaW4tZW5kLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVDb21tYW5kTWFwKTogRW5hYmxlIHRoZSBjb21tYWRz
IHdoZW4gaW4gY2FyZXQgYnJvd3NpbmcuCisKIDIwMTAtMTItMDYgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcCBiL1dlYkNvcmUv
ZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAppbmRleCBhYjgzODE3Li5iMmIzMzc3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0
aW5nL0VkaXRvckNvbW1hbmQuY3BwCkBAIC0xNDQyLDE2ICsxNDQyLDE2IEBAIHN0YXRpYyBjb25z
dCBDb21tYW5kTWFwJiBjcmVhdGVDb21tYW5kTWFwKCkKICAgICAgICAgeyAiTW92ZVBhcmFncmFw
aEZvcndhcmRBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlUGFyYWdyYXBoRm9yd2Fy
ZEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJs
ZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwg
bm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAg
ICAgICAgIHsgIk1vdmVSaWdodCIsIHsgZXhlY3V0ZU1vdmVSaWdodCwgc3VwcG9ydGVkRnJvbU1l
bnVPcktleUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3Rh
dGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25X
aGVuRGlzYWJsZWQgfSB9LAogICAgICAgICB7ICJNb3ZlUmlnaHRBbmRNb2RpZnlTZWxlY3Rpb24i
LCB7IGV4ZWN1dGVNb3ZlUmlnaHRBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51
T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywgc3Rh
dGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25X
aGVuRGlzYWJsZWQgfSB9LAotICAgICAgICB7ICJNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50Iiwg
eyBleGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudCwgc3VwcG9ydGVkRnJvbU1lbnVPcktl
eUJpbmRpbmcsIGVuYWJsZWRJbkVkaXRhYmxlVGV4dCwgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5v
dFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAotICAg
ICAgICB7ICJNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50QW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBl
eGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9y
dGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uLCBzdGF0ZU5v
bmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5E
aXNhYmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnQiLCB7IGV4
ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5Qmlu
ZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCisgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mRG9jdW1lbnRBbmRNb2RpZnlTZWxl
Y3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZkRvY3VtZW50QW5kTW9kaWZ5U2VsZWN0
aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2libGVTZWxlY3Rp
b25PckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9u
LCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAiTW92ZVRv
QmVnaW5uaW5nT2ZMaW5lIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5nT2ZMaW5lLCBzdXBwb3J0
ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dz
aW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4
ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mTGlu
ZUFuZE1vZGlmeVNlbGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVUb0JlZ2lubmluZ09mTGluZUFuZE1v
ZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNp
YmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4
dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAg
IHsgIk1vdmVUb0JlZ2lubmluZ09mUGFyYWdyYXBoIiwgeyBleGVjdXRlTW92ZVRvQmVnaW5uaW5n
T2ZQYXJhZ3JhcGgsIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0
YWJsZVRleHRPckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5z
ZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKICAgICAgICAgeyAi
TW92ZVRvQmVnaW5uaW5nT2ZQYXJhZ3JhcGhBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVN
b3ZlVG9CZWdpbm5pbmdPZlBhcmFncmFwaEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJv
bU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5n
LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1
dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mU2VudGVu
Y2UiLCB7IGV4ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZlNlbnRlbmNlLCBzdXBwb3J0ZWRGcm9tTWVu
dU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0
ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldo
ZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVUb0JlZ2lubmluZ09mU2VudGVuY2VBbmRN
b2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3ZlVG9CZWdpbm5pbmdPZlNlbnRlbmNlQW5kTW9k
aWZ5U2VsZWN0aW9uLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZFZpc2li
bGVTZWxlY3Rpb25PckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0
SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKLSAgICAgICAg
eyAiTW92ZVRvRW5kT2ZEb2N1bWVudCIsIHsgZXhlY3V0ZU1vdmVUb0VuZE9mRG9jdW1lbnQsIHN1
cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHQsIHN0YXRl
Tm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hl
bkRpc2FibGVkIH0gfSwKLSAgICAgICAgeyAiTW92ZVRvRW5kT2ZEb2N1bWVudEFuZE1vZGlmeVNl
bGVjdGlvbiIsIHsgZXhlY3V0ZU1vdmVUb0VuZE9mRG9jdW1lbnRBbmRNb2RpZnlTZWxlY3Rpb24s
IHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbiwg
c3RhdGVOb25lLCB2YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRp
b25XaGVuRGlzYWJsZWQgfSB9LAorICAgICAgICB7ICJNb3ZlVG9FbmRPZkRvY3VtZW50IiwgeyBl
eGVjdXRlTW92ZVRvRW5kT2ZEb2N1bWVudCwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcs
IGVuYWJsZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51
bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9
LAorICAgICAgICB7ICJNb3ZlVG9FbmRPZkRvY3VtZW50QW5kTW9kaWZ5U2VsZWN0aW9uIiwgeyBl
eGVjdXRlTW92ZVRvRW5kT2ZEb2N1bWVudEFuZE1vZGlmeVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJv
bU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRWaXNpYmxlU2VsZWN0aW9uT3JDYXJldEJyb3dzaW5n
LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1
dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIk1vdmVUb0VuZE9mTGluZSIsIHsgZXhl
Y3V0ZU1vdmVUb0VuZE9mTGluZSwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJs
ZWRJbkVkaXRhYmxlVGV4dE9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2YWx1ZU51bGwsIG5v
dFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJsZWQgfSB9LAogICAg
ICAgICB7ICJNb3ZlVG9FbmRPZkxpbmVBbmRNb2RpZnlTZWxlY3Rpb24iLCB7IGV4ZWN1dGVNb3Zl
VG9FbmRPZkxpbmVBbmRNb2RpZnlTZWxlY3Rpb24sIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5k
aW5nLCBlbmFibGVkVmlzaWJsZVNlbGVjdGlvbk9yQ2FyZXRCcm93c2luZywgc3RhdGVOb25lLCB2
YWx1ZU51bGwsIG5vdFRleHRJbnNlcnRpb24sIGRvTm90QWxsb3dFeGVjdXRpb25XaGVuRGlzYWJs
ZWQgfSB9LAogICAgICAgICB7ICJNb3ZlVG9FbmRPZlBhcmFncmFwaCIsIHsgZXhlY3V0ZU1vdmVU
b0VuZE9mUGFyYWdyYXBoLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZElu
RWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4
dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCi0tIAoxLjcu
My4yCgo=
</data>
<flag name="review"
          id="66969"
          type_id="1"
          status="+"
          setter="xan.lopez"
    />
          </attachment>
      

    </bug>

</bugzilla>