<?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>25459</bug_id>
          
          <creation_ts>2009-04-28 15:25:42 -0700</creation_ts>
          <short_desc>Regression(?): tabs in not-left alignment erroneously overflows</short_desc>
          <delta_ts>2010-12-14 01:29:13 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xiaomei Ji">xji</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hyatt</cc>
    
    <cc>mitz</cc>
    
    <cc>playmobil</cc>
    
    <cc>progame+wk</cc>
    
    <cc>rniwa</cc>
    
    <cc>xji</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>119184</commentid>
    <comment_count>0</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-04-28 15:25:42 -0700</bug_when>
    <thetext>Test version:
Safari 4 public beta (528.16): OK
with nightly webkit build r42662: FAIL

Steps:
1. open the attached txt file, copy the whole text
2. open the attached HTML file, paste the text into the text area

Results:
The first Hebrew character is not displayed inside the textarea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119185</commentid>
    <comment_count>1</comment_count>
      <attachid>29867</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-04-28 15:26:15 -0700</bug_when>
    <thetext>Created attachment 29867
txt file to copy text from</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119186</commentid>
    <comment_count>2</comment_count>
      <attachid>29868</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-04-28 15:26:39 -0700</bug_when>
    <thetext>Created attachment 29868
HTML file to past text into</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119188</commentid>
    <comment_count>3</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-04-28 15:29:01 -0700</bug_when>
    <thetext>In Chrome bug:
http://code.google.com/p/chromium/issues/detail?id=11022</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119274</commentid>
    <comment_count>4</comment_count>
    <who name="Yair Yogev">progame+wk</who>
    <bug_when>2009-04-29 00:25:33 -0700</bug_when>
    <thetext>if you paste and then rsize that textarea to the right by dragging the corner of it, you can &quot;choose&quot; how much you want the string to be covered. (you can paste and then resize or resize and then paste, same results, and the string is covered differently for every textarea width)

for example try this text area instead
http://chromium.googlecode.com/issues/attachment?aid=5947434597506434990&amp;name=test3.html
here the whole first word (not character) will be covered.

if instead you paste the string in that textarea *after* writing the word
hello (anything between 3-8 characters will work in this specific case)
the string will appear behind the &quot;hello&quot;

see screenshot
http://img17.imageshack.us/img17/7143/chrometextoverlaps.jpg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296521</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-19 16:35:58 -0700</bug_when>
    <thetext>Mn.. I can&apos;t reproduce this bug on TOT.  All &quot;פורסם&quot; is displayed on the textarea.  Maybe it has been fixed?  Xiaomei, can you verify it on TOT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296673</commentid>
    <comment_count>6</comment_count>
    <who name="Yair Yogev">progame+wk</who>
    <bug_when>2010-10-20 00:33:30 -0700</bug_when>
    <thetext>Still reproducible using Chromium ToT with WebKit 70105 under XP.

Make sure you use Ctrl+A to copy the whole text from the txt file (maybe something slipped out?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>296854</commentid>
    <comment_count>7</comment_count>
      <attachid>71303</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-10-20 10:14:28 -0700</bug_when>
    <thetext>Created attachment 71303
chrome result in Windows vista

second progame.
test in Chrome 8.0.560.0 (63221) (Webkit r70136) in Windows Vista.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297496</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-21 10:29:17 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=71303) [details]
&gt; chrome result in Windows vista
&gt; 
&gt; second progame.
&gt; test in Chrome 8.0.560.0 (63221) (Webkit r70136) in Windows Vista.

It seems like this only reproduces on Windows Chromium.  I&apos;m not even sure if this is a WebKit bug.  Is there a good reason to believe this is a bug in WebKit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297506</commentid>
    <comment_count>9</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-10-21 10:53:18 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; Created an attachment (id=71303) [details] [details]
&gt; &gt; chrome result in Windows vista
&gt; &gt; 
&gt; &gt; second progame.
&gt; &gt; test in Chrome 8.0.560.0 (63221) (Webkit r70136) in Windows Vista.
&gt; 
&gt; It seems like this only reproduces on Windows Chromium.  I&apos;m not even sure if this is a WebKit bug.  Is there a good reason to believe this is a bug in WebKit?

The operation should be taken care by WebKit, not Chromium.
It might be a WebKit platform-dependent bug.

Safari (4.0.5) in Windows behaves the same as Chromium (8.0.552.5 dev).
(&apos;div&apos; in the attachment is from my local build, which might not be accurate. paste the string to &apos;div&apos; works fine for both Safari and Chromium dev).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297516</commentid>
    <comment_count>10</comment_count>
      <attachid>71462</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-10-21 11:13:51 -0700</bug_when>
    <thetext>Created attachment 71462
demo

Open the attached document, and you see the first few letters overflowing from the div even though there are enough space to put the entire text node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297518</commentid>
    <comment_count>11</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-10-21 11:17:58 -0700</bug_when>
    <thetext>Isn’t this bug simply about tabs in right-to-left flows?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303805</commentid>
    <comment_count>12</comment_count>
      <attachid>72773</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-11-02 17:09:20 -0700</bug_when>
    <thetext>Created attachment 72773
test case

It is a webkit bug. Safari and Chromium in Mac overflows wrongly using the attached test case. 

Dan is correct that it is the tabs in right-to-left overflow problem.

In the following line in RenderBlock::computeInlineDirectionPositionsForLine()

            r-&gt;m_box-&gt;setLogicalWidth(rt-&gt;width(r-&gt;m_start, r-&gt;m_stop - r-&gt;m_start, totalLogicalWidth, firstLine, &amp;fallbackFonts, &amp;glyphOverflow) + hyphenWidth);

&apos;totalLogicalWidth&apos; is not the x-axis position for a BidiRun in RTL, base on which, the width of &apos;tab&apos; is computed wrongly in WidthIterator::advance().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305026</commentid>
    <comment_count>13</comment_count>
      <attachid>73013</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-11-04 17:23:38 -0700</bug_when>
    <thetext>Created attachment 73013
patch w/ layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305033</commentid>
    <comment_count>14</comment_count>
      <attachid>73013</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-11-04 17:31:50 -0700</bug_when>
    <thetext>Comment on attachment 73013
patch w/ layout test

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

&gt; LayoutTests/fast/dom/tab-in-right-alignment-expected.txt:23
&gt; +314
&gt; +308
&gt; +303
&gt; +297
&gt; +288
&gt; +279
&gt; +271
&gt; +263
&gt; +243
&gt; +187
&gt; +195
&gt; +203
&gt; +211
&gt; +219
&gt; +227
&gt; +235
&gt; +179
&gt; +171
&gt; +163
&gt; +131
&gt; +139
&gt; +147

Instead of printing these coordinates out, can we compare it with some expected value?  It&apos;s really hard to tell whether the test is passing or not from this output.  Also, I suspect that this test fails on other platforms because of font differences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305086</commentid>
    <comment_count>15</comment_count>
      <attachid>73026</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-11-04 18:34:13 -0700</bug_when>
    <thetext>Created attachment 73026
patch w/ layout test

changed to only compare the x-pos of the 2 right most characters. And should be no need to rebaseline for other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305097</commentid>
    <comment_count>16</comment_count>
      <attachid>73026</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-11-04 18:55:04 -0700</bug_when>
    <thetext>Comment on attachment 73026
patch w/ layout test

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

&gt; LayoutTests/fast/dom/tab-in-right-alignment.html:25
&gt; +    }

Maybe print log(&quot;PASS&quot;) here so that it&apos;s easy to tell that the test is passing.  It&apos;s also a good idea to hide the contents of div in DRT to avoid unnecessary flakiness etc... i.e. do:
if (window.layoutTestController)
  div.innerHTML = &quot;&quot;; // or div.style.display = &quot;none&quot;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305538</commentid>
    <comment_count>17</comment_count>
      <attachid>73122</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-11-05 14:44:05 -0700</bug_when>
    <thetext>Created attachment 73122
patch w/ layout test

updated per rniwa&apos;s feedback and skip the test in QT since QT does not support textInputController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305552</commentid>
    <comment_count>18</comment_count>
      <attachid>73122</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-05 15:00:50 -0700</bug_when>
    <thetext>Comment on attachment 73122
patch w/ layout test

I think this idea is fine for RTL, but the patch (unless I&apos;m mistaken) will break LTR.  In the case where the logicalLeft of the root box in LTR doesn&apos;t happen to match the left content edge of the containing block (e.g., because of a left float), then this will make the tabs behave differently on the narrower LTR lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305559</commentid>
    <comment_count>19</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-05 15:03:02 -0700</bug_when>
    <thetext>Are the tabs really variable on each RTL line?  I would have thought you&apos;d go from the right edge so that you&apos;d have some consistency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305578</commentid>
    <comment_count>20</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-05 15:22:42 -0700</bug_when>
    <thetext>xji pointed out to me that there&apos;s an inconsistency here with how we measure, since computeInlineDirectionPositionsForLine doesn&apos;t include the actual offset from the block edge in its measurement.  For the rendering to be consistent it has to do the same thing.

It seems to me like this is right, then... we should maybe mention that textPos() is trying to be consistent with computeInlineDirectionPositionsForLine in the implementation of textPos().

It also seems like you don&apos;t need to subtract out the borders and padding any longer if you&apos;re subtracting from the root?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306361</commentid>
    <comment_count>21</comment_count>
      <attachid>73282</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-11-08 14:13:03 -0800</bug_when>
    <thetext>Created attachment 73282
patch w/ layout test

updated code and test per dhyatt&apos;s feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306373</commentid>
    <comment_count>22</comment_count>
      <attachid>73282</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-11-08 14:26:01 -0800</bug_when>
    <thetext>Comment on attachment 73282
patch w/ layout test

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

&gt; WebCore/platform/graphics/TextRun.h:123
&gt; +    int m_xpos;  

There&apos;s extraneous space after m_xpos.  Please remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314640</commentid>
    <comment_count>23</comment_count>
      <attachid>73282</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-11-29 14:19:04 -0800</bug_when>
    <thetext>Comment on attachment 73282
patch w/ layout test

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314709</commentid>
    <comment_count>24</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-11-29 16:13:13 -0800</bug_when>
    <thetext>Committed r72847: &lt;http://trac.webkit.org/changeset/72847&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318075</commentid>
    <comment_count>25</comment_count>
    <who name="Yair Yogev">progame+wk</who>
    <bug_when>2010-12-07 00:25:23 -0800</bug_when>
    <thetext>i don&apos;t think this issue is fixed :/
is passes the new test case, but fails the original &quot;2 file copy+paste procedure&quot; test case.
re-open?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318331</commentid>
    <comment_count>26</comment_count>
      <attachid>75829</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-12-07 11:07:33 -0800</bug_when>
    <thetext>Created attachment 75829
test case for textarea

works for &apos;div&apos;, but not for &apos;textarea&apos;.
reopened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321525</commentid>
    <comment_count>27</comment_count>
      <attachid>76462</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-12-13 16:09:21 -0800</bug_when>
    <thetext>Created attachment 76462
test case for Mac port

Previous fix brings the consistency between RenderBlock::computeInlineDirectionPositionsForLine() and Font::drawSimpleText(). And it fixed the problem when the line can fit in the containing block (when containing block&apos;s available width is greater then the total logical width of the line).

But there are 2 other problems:

1. In the case of writing direction is RTL, wide line should overflow to the left. So, we need to add logicalLeft adjustment when text alignment is LEFT or RIGHT in RenderBlock::computeInlineDirectionPositionsForLine(). For example:

        case RIGHT:
        case WEBKIT_RIGHT:
            if (style()-&gt;isLeftToRightDirection()) {
                ......
            } else {
                if (totalLogicalWidth &gt; availableLogicalWidth &amp;&amp; trailingSpaceRun) {
                    trailingSpaceRun-&gt;m_box-&gt;setLogicalWidth(max(0, trailingSpaceRun-&gt;m_box-&gt;logicalWidth() - totalLogicalWidth + availableLogicalWidth));
                    totalLogicalWidth -= trailingSpaceRun-&gt;m_box-&gt;logicalWidth();
+                  logicalLeft +=  availableLogicalWidth - totalLogicalWidth;
                } else
                    logicalLeft += availableLogicalWidth - totalLogicalWidth;
            }
            break;


2. TAB width computation is not consistent between RenderBlock::findNextLineBreak() and RenderBlock::computeInlineDirectionPositionsForLine()/ Font::drawSimpleText().

Given the following example: &quot;ABCDE: \topqrst uvwx&quot; in RTL block, where capital letter stands for Hebrew letter.
Let&apos;s assume the logical width of &quot;ABCDE: &quot; is 62, logical width of &quot;opqrst&quot; is 86, tab width is 48, and the width of block is 183.

The character width computation in RenderBlock::findNextLineBreak() follows logical order. So, the width of &quot;\t&quot; will be: &quot;48 - mod(62, 48)&quot; = 34,
and &quot;ABCDE: \topqrst&quot; can fit in one line.

After line break is found, bidi run will be generated on the line. Then, logical width and logical left are computed for each InlineBox in 
RenderBlock::computeInlineDirectionPositionsForLine().

The logical width computation in RenderBlock::computeInlineDirectionPositionsForLine() (and Font::drawSimpleText()) follows visual order between text runs and logical order inside one text run. The 1st visual text run in the above line is &quot;opqrst&quot;, and the 2nd is &quot;ABCDE: \t&quot;. So, the width of &quot;\t&quot; will be 
&quot;48 - mod(86 + 62, 48)&quot; = 44. Same when drawing text.

In the end, the above line overflowed left (although it should fit in).

I am thinking to compute the logical width of each InlineBox in RenderBlock::computeInlineDirectionPositionsForLine() following *logical* order of text runs.
And besides logical left in InlineBox, we will need a new data member: logical offset (offset of the box in logical order), which will replace textPos() as the x position of text run and is used in &quot;\t&quot; width computation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321534</commentid>
    <comment_count>28</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2010-12-13 16:24:50 -0800</bug_when>
    <thetext>reopened since the fix is not completed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321779</commentid>
    <comment_count>29</comment_count>
      <attachid>73282</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 01:29:13 -0800</bug_when>
    <thetext>Comment on attachment 73282
patch w/ layout test

Cleared David Hyatt&apos;s review+ from obsolete attachment 73282 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>29867</attachid>
            <date>2009-04-28 15:26:15 -0700</date>
            <delta_ts>2010-10-21 11:13:51 -0700</delta_ts>
            <desc>txt file to copy text from</desc>
            <filename>test_copy.txt</filename>
            <type>text/plain</type>
            <size>31</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">77u/16TXldeo16HXnTogCTI0LjA0LjA5LCAyMToxNA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>29868</attachid>
            <date>2009-04-28 15:26:39 -0700</date>
            <delta_ts>2010-10-21 11:13:51 -0700</delta_ts>
            <desc>HTML file to past text into</desc>
            <filename>textarea.html</filename>
            <type>text/html</type>
            <size>187</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">77u/PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4gDQo8aGVhZD4gDQo8c3R5bGU+DQp0ZXh0YXJlYQ0K
ew0KZGlyZWN0aW9uOnJ0bDsNCn0NCjwvc3R5bGU+DQo8L2hlYWQ+IA0KPGJvZHk+DQo8dGV4dGFy
ZWE+DQo8L3RleHRhcmVhPg0KPGRpdiBjb250ZW50ZWRpdGFibGUgZGlyPXJ0bD48L2Rpdj4NCjwv
Ym9keT4gDQo8L2h0bWw+IA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>71303</attachid>
            <date>2010-10-20 10:14:28 -0700</date>
            <delta_ts>2010-10-20 10:14:28 -0700</delta_ts>
            <desc>chrome result in Windows vista</desc>
            <filename>25459.jpg</filename>
            <type>image/jpeg</type>
            <size>27315</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAC2A3cDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwC8bmUn
JlfP+9R9ol/56P8A99GqnmUhkA5Jr6nlR4ly59ok/wCer/8AfRo+0yf89H/76NUPtUX/AD1T/voU
faov+eqf99ClZD1L/wBol/56P/30aPtMv/PR/wDvo1Q+1Rf89U/76FH2qL/nqn/fQosg1L/2iX/n
o/8A30aPtEv/AD0f/vo1Q+1Rf89U/wC+hR9qi/56p/30KLINS/8AaZf+ej/99Gj7RL/z0f8A76NU
PtUX/PVP++hR9qi/56p/30KLINS/9ok/56v/AN9Gj7TJ/wA9H/76NUPtUX/PVP8AvoUfaov+eqf9
9CiyDUv/AGiX/no//fRo+0y/89H/AO+jVD7VF/z1T/voUfaov+eqf99CiyDUv/aJf+ej/wDfRo+0
S/8APR/++jVD7VF/z1T/AL6FH2qL/nqn/fQosg1L/wBpl/56P/30aPtEv/PR/wDvo1Q+1Rf89U/7
6FH2qL/nqn/fQosg1L/2iT/nq/8A30aPtMn/AD0f/vo1Q+1Rf89U/wC+hR9qi/56p/30KLINS/8A
aJf+ej/99Gj7TL/z0f8A76NUPtUX/PVP++hR9qi/56p/30KLINS/9ol/56P/AN9Gj7RL/wA9H/76
NUPtUX/PVP8AvoUouIycCRSfZqdkGpe+0y/89H/76NH2iX/no/8A30ap+YAMk0z7VF/z1T/voUWQ
i/8AaJP+er/99Gj7TJ/z0f8A76NUPtUX/PVP++hR9qi/56p/30KVkPUv/aJf+ej/APfRo+0y/wDP
R/8Avo1Q+1Rf89U/76FH2qL/AJ6p/wB9CiyDUv8A2iX/AJ6P/wB9Gj7RL/z0f/vo1Q+1Rf8APVP+
+hR9qi/56p/30KLINS/9pl/56P8A99Gj7RL/AM9H/wC+jVD7VF/z1T/voUfaov8Anqn/AH0KLINS
/wDaJP8Anq//AH0aPtMn/PR/++jVD7VF/wA9U/76FH2qL/nqn/fQosg1L/2iX/no/wD30aPtMv8A
z0f/AL6NUPtUX/PVP++hR9qi/wCeqf8AfQosg1L/ANol/wCej/8AfRo+0S/89H/76NUPtUX/AD1T
/voUfaov+eqf99CiyDUv/aZf+ej/APfRo+0S/wDPR/8Avo1Q+1Rf89U/76FH2qL/AJ6p/wB9CiyD
Uv8A2iT/AJ6v/wB9Gj7TJ/z0f/vo1Q+1Rf8APVP++hR9qi/56p/30KLINS/9ol/56P8A99Gj7TL/
AM9H/wC+jVD7VF/z1T/voUfaov8Anqn/AH0KLINS/wDaJf8Ano//AH0aPtEv/PR/++jVEXMZOBIh
PsacZQoyTgU7IRc+0y/89H/76NH2iX/no/8A30azvt1uP+WyfnSfb7f/AJ7J+dL3R6ml9ok/56v/
AN9Gj7TJ/wA9H/76NZv2+3/57J+dH2+3/wCeyfnR7oWZpfaJf+ej/wDfRo+0y/8APR/++jWb9vt/
+eyfnR9vt/8Ansn50e6FmaX2iX/no/8A30aPtEv/AD0f/vo1m/b7f/nsn50fb7f/AJ7J+dHuhZml
9pl/56P/AN9Gj7RL/wA9H/76NZv2+3/57J+dH2+3/wCeyfnR7oWZpfaJP+er/wDfRo+0yf8APR/+
+jWb9vt/+eyfnR9vt/8Ansn50e6FmaX2iX/no/8A30aPtMv/AD0f/vo1m/b7f/nsn50fb7f/AJ7J
+dHuhZml9ol/56P/AN9Gj7RL/wA9H/76NZv2+3/57J+dH2+3/wCeyfnR7oWZpfaZf+ej/wDfRo+0
S/8APR/++jWb9vt/+eyfnR9vt/8Ansn50e6FmaX2iT/nq/8A30aPtMn/AD0f/vo1m/b7f/nsn50f
b7f/AJ7J+dHuhZml9ol/56P/AN9Gj7TL/wA9H/76NZv2+3/57J+dOS7hc4WRSfY0aBqaH2iX/no/
/fRo+0S/89H/AO+jVMygDJIA9aZ9qi/56p/30KdkLUv/AGmX/no//fRo+0S/89H/AO+jVD7VF/z1
T/voUfaov+eqf99ClZD1L/2iT/nq/wD30aPtMn/PR/8Avo1Q+1Rf89U/76FH2qL/AJ6p/wB9CiyD
Uv8A2iX/AJ6P/wB9Gj7TL/z0f/vo1Q+1Rf8APVP++hR9qi/56p/30KLINS/9ol/56P8A99Gj7RL/
AM9H/wC+jVD7VF/z1T/voUfaov8Anqn/AH0KLINS/wDaZf8Ano//AH0aPtEv/PR/++jVD7VF/wA9
U/76FH2qL/nqn/fQosg1L/2iT/nq/wD30aPtMn/PR/8Avo1Q+1Rf89U/76FH2qL/AJ6p/wB9CiyD
Uv8A2iX/AJ6P/wB9Gj7TL/z0f/vo1Q+1Rf8APVP++hR9qi/56p/30KLINS/9ol/56P8A99Gj7RL/
AM9H/wC+jVD7VF/z1T/voUfaov8Anqn/AH0KLINS/wDaZf8Ano//AH0aPtEv/PR/++jVD7VF/wA9
U/76FH2qL/nqn/fQosg1L/2iT/nq/wD30aPtMn/PR/8Avo1Q+1Rf89U/76FH2qL/AJ6p/wB9CiyD
Uv8A2iX/AJ6P/wB9Gj7TL/z0f/vo1RW4jY4V1J9jT99OyEW/tEv/AD0f/vo0faJf+ej/APfRqp5l
G+jlQFv7TL/z0f8A76NMknkZoQZGIM8XBP8A00Wq/mUx5ArRMThVmjYn0AcEn8qmUfdY47ov/apv
+e0n/fRo+1Tf89pP++jVHeomhke3iuo42LNbzHCSjaRg8HoSG6HlR9as/wBoWH/Qn6L/AN9r/wDG
aicpRdlG5cYprVjL25mNhcgyv/qm/iPoas3VzcC6EUUzK0lwkKkkkLvcLnGRnGc446Vjy7otKeNp
DIyQFS56sQvWrt27C88xAGaK5SUKTgNscNjPOM4xnFOUXrbewl0uW94+2fZP+EkHm+d9n/5Bk+3z
N2zG7fj73Gc4qNLq5DSxvOxeKaSIspIDbHK5xk4zjOMmoftdt9t+1/2DH53nfaP+QrNt8zduzt2Y
+9zjGKiV2LSyOArSzSSlQchd7lsZ4zjOM4FZUYz5ve2LqONtC1BcyrZ2oWVwPIj4DH+4Kk+1Tf8A
PaT/AL6NUYn/ANFtv+uEX/oAp3mVvGK5UZN6l+0S/u4DKmoQqEJ+0iQlPsi4J3nLfOmAcEbeRg4+
bZBHd3BDZuHdQx2PtMZceu0klfoTn1weBHaalcWkBiS1tWDk/aTK2/7WuCNhyvyJgnAG7k5Ofm3w
RuRuyuxSx2J5hkKD03EAt9SM+uTycqcZ8z5tjSbjbQv/AGqb/ntJ/wB9GqU91KlneTCQmSGUyxlu
drrGhU4PoRS+ZVO4cHTb8g8EyY/79qP5g1dWK5f67Ewep6zsoq1sorwj0Tx7fWv4dsVvr155kDwW
+PlYcM56fl1/KsAvgZJrutBtjaaLbqRiSUec/wBW6fkMD8K96vK0bLqedBa3NuMApy+30AWq9tdf
aI2fDooxyRwQe/8AjWZqupw6fsbas10/yxROMon+0w/iPovTgk8Cs/8AtO/lCyya/MJMkFVlYBeO
MKu1QPoK+Wq1cZKtONF6J9l+bPWpYek6alPqdXLmMjEm4EZyKp22p2l6zLa3sE5X7wikVsfXBqtp
t1cXNrI1zIkjhyN6gfMMA5OMc8+g/rXM6ZdzHT4Xt54bieDTZBH9nXmA4UgOMnJJAx0+6ePT0qE5
qnH2u9tTknTSk0mdxvb1o8xvWuYm1xpWuGtL2NoEggLSoA4iLOQ7fgOeeBjp1q3pV/5yagZr0XNt
BJhZmCgFNikngAHqea6OdXsZ8rNIavYtA84v7Ywxna8gmXap9Cc4FPXULd7dLhbqJoXIVZBINrEn
AAPQ88Vza3Ol6klxeS6nb2wkMWzy50DRqjFkLZyAxOeCOnHrVa9ur+5sLWWe3muIUlQxzJsXzD5w
CsVLAglQMYGPn7VPOPkOsGpWpuzaC8g+0jrD5g39M/d69KdbX8F4he1uYp0U4LROGAPpxXN3rxfb
LmC01Mf6X5n2yIlGFuPLxvJHK4KqOTjmrGiSy3Oo3NyBbeUIY4t1q5eNmG7o2BnAI7cdMmnGV3YT
jZXOi3t61WOp2i3f2Q3sAuenkmRd/TP3c56VBDNqTTAT2tqkXdkuWZh+BjH86xLgP/aV+8zoLFL2
FpcKd6kIhVt2cYztzx0yc03LawJXudXvb1o3t61yS6vqP2q+P2m33xCYJZtIC4252kR7Ax4AOdxB
B49kOq3J+0Ja6t9qQLb7JtiHBeXa3QYPH5fWpVSLsPkZ129vU0b29TXLtqF9HrrWrX9vGkTKqpcS
qjTKVGW27PmOc/dYDjp6w/2xKNNMjasCY5cTSrLBh/lzthYrtPbhgD7+p7SNri5GdWlwsjOqSqzI
drgHJU4zg+nBFP3t61zM+qXIklVrtra3F0kbTsigwoYg3ORgEtxkjv8ASiK7v7uW0gS/dEkScidI
0zKqsoRuQRyD2GD27YfOuwcrOm3t60b29ax7DWYpNOtpLqUCdoYnkwp6udo6erZq/Bcx3CM8TblV
2QnBHzKcEfmKvRktNblne3rUVxGlzC0UyLIjDBVhmq10Zd6eRu83n/dx71JAf3K/fzznf1z3oW4H
O6To2NZnS5TfBaEFQwyHJ+79cD9a6oPKZIYYYmkeRiqohUdFJ7kDoDVR2MdzG38L/Kfr1H9fzrR0
v5tb08f9NH/9FPSrTlyuXYqnFOSQyZbq2ZRc20kIYHDFlYdQOdpOOSBz60m9vWuuvNMtr1QJzIBt
ZMJIUyGxkHB5BwOK4PT5Hk0u3d2LMYlJJPJ4rno1nNO/Q0rU1CzRcjnEsayRyB0YZVlOQR7Gnb29
a4hTeL4dit/tcjRXGlyOEVFGwqFwBxnkEg5z7YqVrg21xd3MOrNK/wDZgeEnyiJCu/phedp549ea
1dRLp/Wv+RPs33/rQ7Le3rRvb1rlf7TuDBcmLV4pI1SJmuHMaCNix3IDggHA4DAkZ5PNWotSeWzd
obqSSWSKJYo5Y1DKz5AYleDnrxxhfenzonlZufa49gfz02M20NuGCc4x9c8U6OcTRrJHIHRhlWU5
BHsay0iT7ZBbRj9xZRZ/4GRhfyG7/voVg6Zf3KaRHHZ3v2iRdPdmiVFPkOoGztnJ9GznqMChzS3B
Rb2O03t60b29a5ibXWla4a0vY2gSCAtKgDiMs5Dt+A554GOnWrGnX17OLwW00V+sU4SOSVxGCmxT
nKoQeT6YpqSbsLlZsfb7f7U1r9qi+0KNxi3jeB6460lvqVpdq7W15BME++Y5A2364PFYs1/p93rC
wtdWsQs2ZmBlVXaQqQcD0AJyfX6GqkEk32aSx0+STU9PjESeYhjyq4O5A2VVuAo9RuqHMrlOjl1a
yhSJ5b+2jWUZjZpVAce3PNSLf27XTWq3URuFGWiDjeB6kde4rkop44dC025juzbajFabYLclGM+c
YG3kkEqOmDViIyPq9vbQyWkpiu5J3aKTdIgIbKuMYXk7epzgccU+fWwOGh1e9vU0b29TWDqeoXdt
Yx+c0VnNJLsV0uBsAwT8zPGcZwRjaecViTSTXcN1NNfSJPcaQriNQg8wgPuABXOO/HPzfTBKol0/
q1wjBvr/AFc7ne3rRvb1rkrjV5YZbGK11ASACLcXePEwZ8HaAmWxznBUDjrzW42r2SKzNPgKJGPy
NwIzh+3Y/n2q1KLuTyy0NHe3rRvb1qIPuUEdCMiq90Zd6eRu83n/AHce9N6EonuI0uYWimRZEYYK
sM1k+DvDIvPElybyIS2WnkbQ4yJHPK59cDk++K0I3EdruJfjJbf1z3rrvDNr9l0OF2GJbgmd/q3T
8l2j8Kxr1XCFl1NqMFKV30L91drYxwKtvJIZH8tI4to6KW/iIAGFPeok1ZftMcE9rPbGQHY0hQqT
kDGVY4ySAM4yTjqQKL/m70sf9PLf+iZadeaZbXqgTmQDayYSQpkNjIODyDgcV5h3F6o7e4hu7eO4
tpo5oZFDJJGwZWB6EEcEVQ0KaSfw5p8srs8j2yFmY5LHaOSe9eWxHVo/h7a6f/as8lvqHhm5lWBI
Ix5JiWPaEO0sQyuVbcT1yu3jCvv/AF3/AMiox5mkey0V5K9+2nX+p6lZ+K5bqU+GRNZsxtmWdo/P
J27Yxu2EbuO55yMCr48S3z2OpPa+LbSe3jhtpJL+ZoIEtpWciSFH2lA20cLIGKkjcecinp/Xm/8A
IlbX/rZP9T0uoBfWhhWYXUHlPJ5Sv5g2l923aD67uMevFchaeIZLnSJZLPVLi5ubi0tltoLq3jEk
ckpdVlZo8I4bG47eAEyOtacNnF/a9jpsCD7Fo9sH5HWVlKJ+IUOT/vKamWl/L+v69RXN+3uIbu3j
uLaaOaGRQySRsGVgehBHBFSV5B4Y1zUYvClvb6PrX2+4j0GaR7SOGM/YZURfJ6DcCxJ4ctuwSAAM
Vs3fjd7ptQk0rWbeSyhsbJ5LqFUlW2aSZ1mkyARlUAODkLjJGM1TWtl/W/8AkU1b+vT/ADPRqpDW
NMOpvpg1G0/tBE8xrXz181V/vFM5A5HOK5Xw9resXw1hdNvLTXo7a9SKCe5mFurRGFGJDxRMHO5j
yFAOeMdKZea7oGqeL4rGXVNLtRpEskkge6RJpLgxsrBVJB2qjMWbucD+E0mI6rTte0fV0mfTNWsb
1Yceaba4SQR5/vbScdD19KjufEug2UFrPda3psEV2u63klu0VZhxyhJ+Ycjp61wdhcXa6fcaH4fu
LjxLoFuttCLiB7ffHHhvMhWTMccnypGOu4eYck8VStL63tfAnhzUodWfTPENrpRjsNPZoZGvQxTC
eV8zMrtGoGwqwz25p6X/AK8x2PUE1fTJdUk0uPUbR9QjXe9os6mVV4OSmcgcjnHcVdrzK1eebxZY
6baXGlXbW2rXF9NJa3BkuIA6Sb0mUDEeGcICWJOB8owcbXibXNW07QoTePa6ReXF0IYp4NQXyVG0
tmSWa3IXO0gARsSdoB5OFfS4utv6/r/M7OivF7qe91az1K6vNcuIb7UPCcci20aQgXDBZi6qrR7i
O5xyN56DaBr6h4suLOfQ7bSvEC3KhLZpHmnt8XqSTbDsVISZCoDBirRhflJyc07a2/rr/kD0/ryX
+Z6jRWNJ4r0WJJHe8wsa3LufKfgW5CzHp/CSPr2zWukiyRq6nKsAQfakA6s7WdItda06W0uolYMp
CsRkoexB7GoNR+1/bD9h83f5f77+7t7bc/xda0bbZ9li8vfs2jG/O78c96abTugaueReH9IeG7un
v4lMtrIYEVhkbh1YfpiunjNxNOsEELzOUL4VlGACB/ER/eFT+IIPsmvrKBhLuPP/AANeD+mPyqbw
+N2uAf8ATrJ/6HHXpTrOVL2nU4VTSqcnQqSG4gl8q4hkhYgEbipBznupIzwePY+lJvb1Nb/iTToJ
NG1C5LyrKlq7LslZQSgLKSAcHB5rk7o3DWEhtnxPs3IcDkjnH49PxqaFVzT5ug6tPlat1LT3Cxsi
vKqs52oCcFjjOB68A0/e3rXPJqlxcPaXUEjC2ubny0jKjlRGxPvyw/QetULHWb9rd7qe9t2Ee2Se
3WRWeIbsOCmwFQAT1LHgc+uvOrmfIzsN7etG9vWufsr/AFKa58hwplVWnKt8oKsBsUkA45LDOP4K
XUL+5tprL7RcJb7yQ8FvKjO5LADG9RuHrjB54zT5lYXKzf3t60b29a5u31G5k1JU+27pjcSRyWW1
f3cYzh+m4cBTknB3e4qr/b1w9jH5d2jXKafNJOAFJSVQuMjHBBzxU+0ja5XI72Ou3t6mje3qa583
csV9BbXeqNboYldHYRqbhyxyvK44+UYHPPWqS6teNd3gn1K3tVjMq+UWDSRgH5WEezJ4wc7iCD09
G5pO39aCUWzq1nV2dVkVmQ4YA5KnGcH04Ip29vWuXklura/1G5huSiLewI0QRSHDLGpySM9DxjH4
1RjHl/Z9+rSp5WqSiTcYh5efMwT8vBPvx83HbCU9tP60/wAx8ml7/wBWudtvb1o3t61y1tqtzJfB
BqKyS/apo2tSigJEpbDH+LjA5zjt15qXTNTMojE2pmRlkKyMBG8chCEkIyAYA6888YpqpF6icGjo
ftC7nXzV3IAWGeVHv+VJFdRzZ8qZJMYzsYHGRkfoQfxrFw8tkqMuJdRl3OMcrHjkH/gAC/U1Re7e
21m/WG9CTG6hCWgVT5oKIG684A9MYxk5o5rOzQKNzrN7epo3t6mucj1iQ3dvatdJ9oN9LHJFxuEQ
DlcjsMBee9aS6xZMiuJ8qyRuDsbo7bVPTuacZRauJxaNHe3rRvb1qPJqncGbzj5BfO35/THt71TE
ia/tYr+2eGZQwI4JHKn1FcBJ5kErwyf6xH2NngZ9fpXoMZHlJtzjHG7rXHeKrbytRWYcLcJg/wC8
vH8sflW9CVnYiSKfkXHpF/32f8KYqyO7IrwM69VEmSP0qWKYy28b/PyV3+XjdjI3YzxnGcZrSvjp
/wDYen/Z/wC0fN23P2fd5Wd28bvM7Y3Y+72rSdVxaQKCaMYsysUcbWHajfTr4fKko/hOD9D/APXx
VXdW8dUZtWJRHAP+Xa3/ABhU/wBKNkH/AD7W/wD35X/Cot1G6jkj2C77kuyD/n2t/wDvyv8AhRsg
/wCfa3/78r/hUW6jfRyR7BzPuS7IP+fa3/78r/hRsg/59rf/AL8r/hUW6jdRyR7Bd9yXZB/z7W//
AH5X/CjZB/z7W/8A35X/AAqLdRuo5I9g5n3JdkH/AD7W/wD35X/CjZB/z7W//flf8Ki3UbqOSPYO
Z9yXZB/z7W//AH5X/Co7xh9gnUAACJgABgDg9qTdUN03+hz/APXNv5VM4pQduw4tuSPe/skv9z9R
RWjRXzfMz1eVHz5p8MV7fxwSOFiyDKxOAF7jPqeld82p2ZJP2mP/AL6rqvCNvDbeEtJ8mNU8y0ik
cgcszKCSfxNbe6uytjnKexzxwqtueOa7YQ6zcQyx6xFbLGhTb5e/OTyc7h/nPrVeLQ7NNMks31hH
Z5VlEuzDLhSMD5uhzz9BXte6jdWSxdlZRN4wnG1pbeR5PoUVto1lJbyalHcs8pk37dmMgDGMn0rT
/tKz/wCfmP8A76r0XdRuoWLsrKJM6LnJylLVnm819ayxMiXwhY9HQqSPpkEfpUNlLYWUcgF75ryO
ZJJJGG5mPHYAdABwB0r07dRuo+t63sT9X6XPO/7Ss/8An5j/ADo/tKz/AOfmP869E3Ubqf1x9hfV
l3PO/wC0rP8A5+Y/zpP7Ss/+fmP/AL6r0XdTWkIZVVSzt0H9TR9cfYPqy7nnn9pWf/PzH/31R/aV
n/z8x/8AfVeh4u/+ecP/AH9P/wATRi7/AOecP/f0/wDxNH1x9g+rLuedvqFoyMou0QkYDKRke/PF
VrR7G1llmbUGuJpcBpJWXOB0ACgADk9u9em4u/8AnnD/AN/T/wDE0Yu/+ecP/f0//E0vret7D+r9
Lnnv9pWf/PzH+dH9pWf/AD8x/nXoWLv/AJ5w/wDf0/8AxNGLv/nnD/39P/xNP64+wvq3mee/2lZ/
8/Mf50n9pWf/AD8x/wDfVeh4u/8AnnD/AN/T/wDE0Yu/+ecP/f0//E0fXH2D6su555/aVn/z8x/9
9Uf2lZ/8/Mf/AH1XoeLv/nnD/wB/T/8AE0Yu/wDnnD/39P8A8TR9cfYPqy7nnn9pWf8Az8x/nQdS
s/8An5j/ADr0PF3/AM84f+/p/wDiaMXf/POH/v6f/iaPrj7B9WXc83nvrSSIhbmMN1U7u46UsWrQ
MYp4L/7PNExIYbSQcEEYYEdCa9Hxd/8APOH/AL+n/wCJoxd/884f+/p/+JpPFX0cRrD22ZwR8R3h
xnxAxx/0yh/+Iqrb3ljb28cK3SFUUKCW54r0fF3/AM84f+/p/wDiaMXf/POH/v6f/iamOIUfhiOV
Fy3keef2lZ/8/Mf/AH1UV1dWF3aTW0l0oSVCjFWGQCMcV6Ri7/55w/8Af0//ABNGLv8A55w/9/T/
APE1Txd9OUSw1tbnna6hZKoUXMeAMfeoa/sWKlp4SVOVJI4OMcfgTXomLv8A55w/9/T/APE0Yu/+
ecP/AH9P/wATT+uPsL6su552t/YqWKzwgscsQRycYyfwAp39pWf/AD8x/nXoWLv/AJ5w/wDf0/8A
xNGLv/nnD/39P/xNH1x9g+reZ5zNfWssTIl8IWPR0Kkj6ZBH6VDZS2FlHIBe+a8jmSSSRhuZjx2A
HQAcAdK9Mxd/884f+/p/+Joxd/8APOH/AL+n/wCJpfW9b2H9X0tc88/tKz/5+Y/++qP7Ss/+fmP/
AL6r0PF3/wA84f8Av6f/AImjF3/zzh/7+n/4mn9cfYX1Zdzzz+0rP/n5j/Oj+0rP/n5j/OvQ8Xf/
ADzh/wC/p/8AiaMXf/POH/v6f/iaPrj7B9WXc89/tKz/AOfmP86P7Ss/+fmP869Cxd/884f+/p/+
Joxd/wDPOH/v6f8A4mj64+wfVl3PPf7Ss/8An5j/ADpP7Ss/+fmP/vqvQ8Xf/POH/v6f/iaMXf8A
zzh/7+n/AOJo+uPsH1bzPPP7Ss/+fmP/AL6o/tKz/wCfmP8A76r0PF3/AM84f+/p/wDiaMXf/POH
/v6f/iaPrj7B9WXc4C1jXW72OytyZIiQZ3Xoqdxn1PSvRMjGBUW26/55w/8Af0//ABNG26/55Q/9
/T/8TXPVquo7s2p01BWI7y0N4kW24lt5In8xJIgpIO0r0YEdGPaqx06+OM65eHH/AEyg/wDjdXdt
1/zyh/7+n/4mjbdf88of+/p/+JrI0EsrZLGxgtIiTHCgRSeuAMVPmodt3/zyh/7+n/4mjbd/884f
+/p/+JoAi1Oxi1XSbzTp2dYbuB4HaMgMFZSDjIIzzVmJRFEkakkIoUZ9qj23X/POH/v6f/iaNt1/
zyh/7+n/AOJoAe8cUjxs8aO0bbkLKCVOCMj0OCR+JoSOONpGjjRWkbc5VQCxwBk+pwAPoBTNt3/z
yh/7+n/4mjbdf884f+/p/wDiaAJt1QXkMlzaSQxXc1pIwwJ4QhdPoHVl/MGl23X/ADyh/wC/p/8A
iaNt1/zyh/7+n/4mgCno2jxaNBOq3NxdT3MxnuLm5KmSVyAMnaFUYVVAAAGAK0s1Dtuv+eUP/f0/
/E0bbr/nlD/39P8A8TQBNmjNQ7br/nnD/wB/T/8AE0bbv/nnD/39P/xNAE2aN1Q7br/nlD/39P8A
8TRtu/8AnlD/AN/T/wDE0ATbqN1Q7br/AJ5w/wDf0/8AxNG26/55Q/8Af0//ABNAE2aM1Dtuv+eU
P/f0/wDxNG26/wCeUP8A39P/AMTQBNmkJ5qLbdf88of+/p/+Jo23X/PKH/v6f/iaAMzxJp76hpmY
F3XEDCWMDuR1H4gmuNi1UQSrPBftZ3Cq0bDaucEjIIYHuor0Xbdf88of+/p/+Jo23f8Azzh/7+n/
AOJranV5YuLV0ZTp8z5k7M89uNbuLu3lgn15njlQxuPLiGVIwRkJ6Ug1GzAA+0x8f7Veh4u/+ecP
/f0//E0Yu/8AnnD/AN/T/wDE1pHEKPwxIlQct5Hnv9pWf/PzH+dJ/aVn/wA/Mf8A31XoeLv/AJ5w
/wDf0/8AxNGLv/nnD/39P/xNX9cfYn6su555/aVn/wA/Mf8A31R/aVn/AM/Mf/fVeh4u/wDnnD/3
9P8A8TRi7/55w/8Af0//ABNH1x9g+reZ55/aVn/z8x/nR/aVn/z8x/nXoeLv/nnD/wB/T/8AE0Yu
/wDnnD/39P8A8TR9cfYPq3mee/2lZ/8APzH+dH9pWf8Az8x/nXoWLv8A55w/9/T/APE0Yu/+ecP/
AH9P/wATR9cfYPqy7nnv9pWf/PzH+dJ/aVn/AM/Mf/fVeh4u/wDnnD/39P8A8TRi7/55w/8Af0//
ABNH1x9g+rLuebWtxYWkbpHdKQ0jyHcw6sxY/qale/sZEZHniZWGCpOQRXomLv8A55w/9/T/APE0
Yu/+ecP/AH9P/wATS+t6W5R/Vutzzv7fYlw/nw7wCA2RkA9R+g/Kl/tKz/5+Y/zr0PF3/wA84f8A
v6f/AImjF3/zzh/7+n/4mn9cfYX1bzPPf7Ss/wDn5j/Oj+0rP/n5j/OvQsXf/POH/v6f/iaMXf8A
zzh/7+n/AOJo+uPsH1Zdzz3+0rP/AJ+Y/wA6T+0rP/n5j/76r0PF3/zzh/7+n/4mjF3/AM84f+/p
/wDiaPrj7B9W8zzs6lZ/8/Mf/fVZevNa6hprLHPGZoyHQbupHb8ia9Yxd/8APOH/AL+n/wCJoxd/
884f+/p/+JprGtO6QfVl3PnSO+WEsEmRcnlXHQ0LqCK7Or2oZurBOT+tfRe26/55Q/8Af0//ABNG
26/55Q/9/T/8TW39pd4fiT9U/vHzrJqXmRsjTQYYYOFP+NR/aoP+eq/nX0dtu/8AnnD/AN/T/wDE
0bbr/nlD/wB/T/8AE01mbW0PxF9Uv9o+cvtUH/PVfzo+1Qf89V/Ovo3bdf8APKH/AL+n/wCJo23f
/PKH/v6f/iaf9qP+X8Q+prufOX2qD/nqv50faoP+eq/nX0btuv8AnlD/AN/T/wDE0bbr/nnD/wB/
T/8AE0f2o/5fxD6mu585faoP+eq/nR9qg/56r+dfRu26/wCeUP8A39P/AMTRtuv+eUP/AH9P/wAT
R/aj/l/EPqa7nzl9qg/56r+dH2qD/nqv519GH7QilniQqOuxyT+RApwcMAQcg8g0f2q/5fxD6mu5
84/aoP8Anqv50faoP+eq/nX0fuo3Uf2q/wCX8Q+prufOH2qD/nqv502eRJLOYowYbG6fSvpHdXlf
xdVRcaewUBmt5wxxycbcfzP51cMwdV8jja9/yJlheRc1z1SiiivJO0xfDLf8Upo//XjB/wCi1rRm
uEgjLsfoPWsrw03/ABSuj/8AXjD/AOgCrV7AZ0DKfnXoPWlL4mNbFi2mllj3yKFyflx6VPurHtrW
CeMlhIrA4IyOv5VoxgRxqi5wowM0mMn3VHPJIkJaJQzDsaaTkEetZ89nbwRGT94cdgR/hSA0La6W
4TI4YfeHpU26syxt2j/evkEjge1Xt1DAxvE3iKTRYraG0tvtWo3j+Xbw5wCe5PsMj8/xrn7/AMRe
K/DSw3WsR6XcW8zbfJhcpIvHbPXH0P1q14wiu7PUdK8QWts9ylgzCeJOW2MOWA9uf0qjqHjjStUS
KLR9LGqapJhY457XIT1ySOn0OPetEtFoS2db4b1ObVvD9rf3AVZZtzEJ0HzEAD8MVqRHN/H/ANcn
/mtVrdRDbRoIo4sKMxxABVPfH41NbnOoJ/1yf+a1D3KI/EOoz6bpvmW4/eu20NjO0bSxOO5wpA9y
KzdOv9XtNfi03U3WYTx7wwKnbwTwQq/3SCMdxzT/ABIkD6jY+fCkqiCYhXQMM7o+cEH3rmx9lXV7
EQ20Mbfa4cFIwp/1i+gFctTEqE+SxzzxHJLlseg3tz9jsLi62b/JiaTbnGcDOM1Vi1zTpLWWc3ts
PIQPOomUmLI6Nzx6c4qTWEeXRb6ONWd2t5AqqMknaeAKyEsJIdQ0oQWrJGmmywsVTAU/JhSe3OeP
rVTnNOVuy/8Abv8AJGk5SUlbb/gpfqTp4v0R4rGT7fAovOF3TIPLO3OH+bj0+pArSfVdOjnSCS/t
UmdyixtMoZmHYDOSeRxXO2zyR6X4ble0vALNxHcL9mk3IfJZc7cZIyQMgEe9VWaOSz8RWEenTy3V
3eSJGyQMyOSAFLOBhdp5+YjGMih1WpNb/rt+dznjWnypyt0/Jv8ANWOuk1GxivFs5Ly3S6cZWBpV
DsPULnPY/lTbq/jgsluYds/mMqxBW4csQBzzxz1rEVZrXXtltHcTCaVTdxzWreXwgHmJLjGeAMEn
PYDmrtuY72/tFit2gt7SES+UyhSjsMKpXsQu7j3FaQlzL5/1/X66HRCble/T+v6/pk+q6t/ZqOVg
85o7eW4Yb9uFQZ9D1OB+fpTNK8RaZq2yGC/s2vvJWaazjuFeSEEA/Mo5HUckCqd1E99o+u3caNI9
xbywQKo3FkVWAwB6sWP4iud0mM3p8IWNnol7YSaSpkumntHgSBfJZDGrkBXLOyn5SR8pJ6CqT3+X
6/8AANH0+f6f8E7pNQspI7aSO8t2S6OLdllBE3Bb5Dn5uATx2BNVl8Q6I+oSaeusaeb2Ngj24uU8
xWJAAK5yDkgY964XSft5t/BmkLpWoxXOlTPHeSy2rrFCy28yAhyMOrE8MpI6ZIJANeJ0i0Hwjo1x
o15FqVhqdss7y2jJGkgYh5FlI2vvOT8hY4bJ74qy5rea/F7hLRN+V/zPUZnaOCR0iaV1UlY1IBc+
gJIHPua52PxHqVtqMlhq+lW9vMbOS8t2tbxp0dYyA6sWjQqfmTHBByeeObssNzpLX2qTanqt/Asb
utgsEL47gRhIw7HjABY9ec9aw/D9/HqdxeapqFnqb6jJbHFpNpk8UdvCOfJRpI1V3JxuOfmI4+VR
id9uwzb0LUNZ1GCO51DTbC0t5oVliNvfPO5yAcMDEgHB7E1Ss/GEd9qusWsFmxt9PthPHcmTi4+a
RWCjHADRsM8554x15+30Rb7V7seELWbw7Yzac8FzM2myWqNMXUoVhYRlmVfMy4x98DJxxb0nSdY0
rxXem7FncabDo8MKx2emPEsiq0uIk3SsNwB5HOQy9OpctdtN/wBf68xR2112/T+vI17bxDqUOhz6
1rOm2drYR2n2ofZL17iQjbu27WiQA49zz+dSaZr+oSaxFpmsaXDYT3Ns1zbGK788OFKh0b5F2uN6
nA3A5ODxXN2el6VLq99NpHh+5tNAbSpYdQtl0+S0F1ISCipCyoWcL5g3AfxgZPabQ9Jnv9fivY7/
AF6S2srGW2hvNUgEMqvJs4SNo0ztCZLuhySBlsEB9f68/wDgC6f15f8ABv8A1btr6/s9MtHu7+7g
tLZMb5riQRouTgZYnA5rJ1Pxn4f0rTLTUp9VtGs7uZYYZo7iMo5LbSwYsAVXqxB4ANZ+ux6tpGl2
iR6hqF+sl4PtF61jHcXFrFsbmOOKMAncAMlGxuJII6c9a2d/B4d1KeS01WZV8RQXgM9oBPLCGhLS
eXGi56McKueDkbgaS1f3fmv8/wABy0X9dn/l+J2Vl4w0HUNdn0a11O1lu4Yklwk6MHDBj8uGySAu
TxwCPWr2m65pOtCU6VqllfCIgSfZbhJdmemdpOOhrmL26vbbXteubPTLi4mvNIhexWW0kMUroJiU
c4AQ/MvysVJzgVz5sNa1e/v3sp9XlmuNAuLaO6vdPFkiTFkxGg8tHAGTjeW68McMaOtv66/5WD+v
y/zudtfeMNJhsrqbT76y1Ga1ljjmgt7pGaMvIE+bGSuCT1HbFaFvruj3lrNdWuq2M9vC/lyzRXCM
kbcfKxBwDyOD61yOpvaa54KbS7LQdQh8pLaJ7WfTpIwiCVMxglcOAAc7Cy4Gc4xUPijSLm51HxLF
Dp0sltdadYpiOElZWWaTcBgckKRkdhigFtc6w+LfDa2rXR8QaULdZfJaU3sewSYzsJzjdjnHWrWp
azpejwxzapqVnYxSHaj3U6xBj1wCxGTWBNo6P401i6OnBo5dEit1l8n5X+ebcmcYPGzI9Me1cvb6
fqVjcaRd39xr1lbtoNtaq2n6et00ci5MkciGGR1zlTkAA7SCeAKOn9ef+X4/e3o/68v8/wAPu9Fv
td0fS13ahqtjaLhWzcXCRjDZweSOuDj6Gqs/izRbfxJb6DLqFut/cRGWNDMgzyoC4znc27IGOQD6
VgaP4ehtNYiVbK5ktYfD8drDJeRDeAXcmM4AUNjblR7cVU8PR3en/wDCIvf2F/j+wns5Nts7GOUm
EhHwPk4U8tgccmhf5/8At3+S+8T208v0/wA39x21lrOl6lcXFvYalZ3U1s22eOCdXaI5IwwBypyD
19KkXUrB4oJUvbZo7iTyoXEqkSvz8qnPJ+VuB6H0rjPC97caRC1tDY6neaPbRwQWjzaY8F1FufaY
2DBfMRAQxcKMAHJY81m3uhakdQ1OCOxujb6JO+p6c2zInlkdJtsfXJG2ZD6CSjt2Dv8A1/Wp6Dda
zpVjbTXN3qVnb28MnlSyyzqixvx8rEnAPI4PrVK98T2FnPprG4tjYXscsv243CiJERQ27d0IOeuR
XFzaVqlv/wAI7q1zJrFpGwuri6NharcT2887B13RtHIcBd0eVXK8DgE1P/Z9vpc/hm9Ww1jULKG6
vLqSSexzNC0mSJDEiKVyxJACBvmzjOaOmv8AX9bh6HYXHiK0EOlT2MkF9bahdi2SeCYMgyrHcCMh
sFMYqSTW7Q3aRW95pskaSSR3Ra8CvCUXcQFAOSMjcCVwDn2rgtR0bWNXsrmfSUutKOoa759q727B
4FFuYzM0ZAKbnBPIB+YE8mtfSI3bUfDkMei3OnDT/tUNzEYnMaOUHzCQjEisckPnJzz82RQtn/XR
fkD0a/rqzo/D3ibSfFFnJc6VeRTrFI0cipIjMhDFQSFJwG25HqCDU8evaPLqraVHq1i+orndaLcI
ZhgZOUznpz0rnvDV7NY6WdLfT9SS7bULqIv9kcRxb5JZEkLkBShGOVJ5YA9ayLGCaXwtonhv+yb6
HWbO6t5J5ZLR1iR45Q8swmx5bbwHPDFj5mCPvYa1f3f8P8g6HdLrWlNdS2q6nZG4iRpJIhOu9EU4
ZiM5AB4J7Gm6drukav8A8gzVbG94J/0a4STgYz90npkfmK4260e7/wCES1tYtNkkkk1trqa38vD3
MC3CswAON2UU4Hfp3qaDVrSf4gTapBYXUKR6KwaS4tXt3lIlXC7XAfjoCRg54zg1MXe3mv0v/wAA
JaXt3/W3/BOvGpwiS7MzRw29s6xmaRwoLEAkc9MZA69aZda1p9paw3L3UJhmcIjrIuDk4JznGB39
KpSxXOn6TZxqH3tLuuZY4fNdC2WZlUA87jjODgHpVKKG4TTrmRobtwNSjm+eHEjIChLbVA9zgDPt
nNPrb+ugf1+ZtwazYXN/JZxXUTSoobiRTuBz055wBz9RU9tfWl7u+y3UE+z73lSBsfXFZc0s8Woa
hLDaySPPZoYA0LbHZQ/yt6HkcHB5rONvfXlxOYHvHeTT5IllmtxAoclcKo2ggdcZz7Hg0B/X5G5c
azaRwSvbzwXLxMqvHHKCVywXnGcdf0qzHf2c0LzRXcDxIdrusgIU+hOeKxrsxX2hm1g0+4QosSmJ
7Zl2rvXKjIweB2yOKZq1nLJcaoiWztFLbQLhUOHIdsj3wMfhQHQ2Dq+miIynUbTyw2wv5y4Demc9
fapbm9tbNFe6uYYFY4UyyBQT7ZrOkslbW72X7MCr2KxhtnDcvlffjHH0rLit7mCSzluJL+GM6fFE
Db24lKsPvKylGIzkdh056Cj+vz/yD+vy/wAzpJ7+ztRm4u4IRgH95IF4PTqfY1C+r2MepR2D3EYn
kTcoLr6jA65yc8fQ1n2WnJDeoBBK0SacsSNMgzyxyp4xnGMiotNWe1bR3nt5xixMLYiY7XymA2B8
vQ8nA4o/r8/8g/r8jcub21slVrq5hgVjgGWQKCfxpsuoWUDxpNeW8byDKK8oBYe2TzWWLgx6qNQu
LO78me1VYsQM7RHJLKyqCQTlfbjrUE7C2/thLixmcXKBoisJZWTywApI4XBB6kDnNJ6Ia3Ntrpmk
xAIZQYfMUCbDN6YGPun+9n8KqpqVwGuYZ4LeKeFEcf6QTGQxIGX2gg5B7elV9KikF1ZSGNgn9mxr
uxxnI4z60yW2ZvDtx5cM7Tyy7n3xkSOfM6kc8YHHsBVNW/rzJTuad3qNrZDbNcQpMVLJE8gVn9gD
1qW0n+1WcFxt2+bGr7c5xkZxWJcgwzaxFPZTTtdgGIxwl1ddgUKWAwuCD1x1zU32K6l0zT1SAlkg
VXBvpbYqcDjCA5/HpSQ2aty86Rj7NCsshOAHk2KPcnBP5A1nDWZSph+xj7d9o+z+UJfkzt35346b
eeme2KSS4uNK0tR9kled5Nqqkkt0Ez/EzEbsD0x7VAYrT+zY2zqPmLcbzcpauJfMxy20r0x8v3SM
HHagCz/bMghZGtQLxbgW5h835dxGQd2Pukc5xntilXWW+yzGS2/0qOf7OIY5Nwd8AjDEDjBySQMc
+lZT2Mxs5ZJ4rqS2u7pXuAy7pjEFAUlQMglgDhQCB2GOE+wE2qFbWd9OgvfMSJ428xoypDZU/Mw3
MTgjJGetH9fkH9fmbc99dWttG01rF9ollEUccc5KknuWKjHQ9jUmn3r3izrLCIpoJTFIqvvXOAeD
gZGCOwrAe1Y2syJZzpo8t0paFYSHEYXkqmNyguB0APUj1rV0KIww3CRxyx2fnE24mQq+CMtnPzfe
zgtz+lC/r8AZrUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ
AUUUUAFFFFABRRRQBmanr+maPNFFfXBjklBZFWJ3JA/3Qa5q31y4g1b+2rme4/si6llgVCrFUVQN
jhMZySD2rV8aQ2qaBPqModLm0XNvNE210ckAc+mSMisPUfGZfw9LBDLdRz+QEj1Lygsc0qgb1U9i
ecH16dBm4rQls7DTNZsNZjkewnMqxttfMbIQfowFR2rf6HB/1zX+VJ4etbG20a3ewQiK4RZiznLu
WGcse5qO1b/RIf8Armv8qllGb4gvnazuYNP1u3sL63TzX3qrHbjPIboD64NYPgLxdqGs3c+n6k6z
yJF5yThApIBAIIHHcfrWh4n8GWXiaWK4edra6jXZ5gQOGXOcEZHqec964jUdI1fwBqUGpWU/2i3P
yGTZtVs9UdcnGccHPb1FaRUWrdSG2nc9i3V5f8XDmXTf+uFx/wCyV3Wh6zDrukQahAjIsoOUbqpB
wR78jrXBfFk5l07/AK4XH/slXhv4q+f5Mmr8B6v5lFY19ZW2oyx+eZMRxsRsTeeSvbBzRUNRXf7v
+CXqV/Djf8UvpH/XlD/6AK091Z3hiymn8KaRIs8aqbKHCmInHyAddwrV/s24/wCfqL/vyf8A4qon
8THHZEe6jdUn9m3H/P1F/wB+T/8AFUf2bcf8/UX/AH5P/wAVUjI91G6pP7NuP+fqL/vyf/iqP7Nu
P+fqL/vyf/iqAI91G6pP7NuP+fqL/vyf/iqP7NuP+fqL/vyf/iqAIw2DxTVCIWKKqlvvFQBn6+tT
f2bcf8/UX/fk/wDxVH9m3H/P1F/35P8A8VQBHupYpPKuklILAKVOOoBxz+lP/s24/wCfqL/vyf8A
4qj+zbj/AJ+ov+/J/wDiqAHXLaZe7ftdoJ9mdvm2jPjPXGVqGO20OKRZI9MhR0IZWWxIII7g7ak/
s24/5+ov+/J/+Ko/s24/5+ov+/J/+KpWQuVb2LP9oQek3/fh/wDCj+0IPSb/AL8P/hVb+zbj/n6i
/wC/J/8AiqP7NuP+fqL/AL8n/wCKpjLP9oQek3/fh/8ACobeaytfN8mOZfNkMr/uZDlj1PIpn9m3
H/P1F/35P/xVH9m3H/P1F/35P/xVFle4iz/aEHpN/wB+H/wpq3dojOyxyKznLkW75Y4xz8vPAqD+
zbj/AJ+ov+/J/wDiqP7NuP8An6i/78n/AOKoGTx3lpDGsccciIowqrbuAB7DFO/tCD0m/wC/D/4V
W/s24/5+ov8Avyf/AIqj+zbj/n6i/wC/J/8AiqALP9oQek3/AH4f/Csi20nRbXUVvwupTXCFmjN1
PdXCxk8EosjMqnBIyADgkdCavf2bcf8AP1F/35P/AMVR/Ztx/wA/UX/fk/8AxVAFn+0IPSb/AL8P
/hR/aEHpN/34f/Cq39m3H/P1F/35P/xVH9m3H/P1F/35P/xVAFn+0IPSb/vw/wDhR/aEHpN/34f/
AAqt/Ztx/wA/UX/fk/8AxVH9m3H/AD9Rf9+T/wDFUAWf7Qg9Jv8Avw/+FH9oQek3/fh/8Krf2bcf
8/UX/fk//FUf2bcf8/UX/fk//FUAWf7Qg9Jv+/D/AOFH9oQek3/fh/8ACq39m3H/AD9Rf9+T/wDF
Uf2bcf8AP1F/35P/AMVQBZ/tCD0m/wC/D/4Uf2hB6Tf9+H/wqt/Ztx/z9Rf9+T/8VR/Ztx/z9Rf9
+T/8VQBZ/tCD0m/78P8A4Uf2hB6Tf9+H/wAKrf2bcf8AP1F/35P/AMVR/Ztx/wA/UX/fk/8AxVAF
n+0IPSb/AL8P/hR/aEHpN/34f/Cq39m3H/P1F/35P/xVH9m3H/P1F/35P/xVAFn+0IPSb/vw/wDh
R/aEHpN/34f/AAqt/Ztx/wA/UX/fk/8AxVH9m3H/AD9Rf9+T/wDFUAWf7Qg9Jv8Avw/+FH9oQek3
/fh/8Krf2bcf8/UX/fk//FUf2bcf8/UX/fk//FUAWf7Qg9Jv+/D/AOFH9oQek3/fh/8ACq39m3H/
AD9Rf9+T/wDFUf2bcf8AP1F/35P/AMVQBZ/tCD0m/wC/D/4Uf2hB6Tf9+H/wqt/Ztx/z9Rf9+T/8
VR/Ztx/z9Rf9+T/8VQBZ/tCD0m/78P8A4Uf2hB6Tf9+H/wAKrf2bcf8AP1F/35P/AMVR/Ztx/wA/
UX/fk/8AxVAD7ua0vbWS2lN4qSDBMImicfR0ww/AiqWn6doumCbyILqR5ipkluvPuZG28qC8m5sA
5IGcAkkck1a/s24/5+ov+/J/+Ko/s24/5+ov+/J/+KoAs/2hB6Tf9+H/AMKP7Qg9Jv8Avw/+FVv7
NuP+fqL/AL8n/wCKo/s24/5+ov8Avyf/AIqgCz/aEHpN/wB+H/wo/tCD0m/78P8A4VW/s24/5+ov
+/J/+Ko/s24/5+ov+/J/+KoAs/2hB6Tf9+H/AMKP7Qg9Jv8Avw/+FVv7NuP+fqL/AL8n/wCKo/s2
4/5+ov8Avyf/AIqgCz/aEHpN/wB+H/wo/tCD0m/78P8A4VW/s24/5+ov+/J/+Ko/s24/5+ov+/J/
+KoAs/2hB6Tf9+H/AMKP7Qg9Jv8Avw/+FVv7NuP+fqL/AL8n/wCKo/s24/5+ov8Avyf/AIqgCz/a
EHpN/wB+H/wqncpp13KXnF44OAY/34jYehQfKR9RzT/7NuP+fqL/AL8n/wCKo/s24/5+ov8Avyf/
AIqgCz/aFv6Tf9+H/wAKP7Qg9Jv+/D/4VW/s24/5+ov+/J/+Ko/s24/5+ov+/J/+KoAs/wBoQek3
/fh/8KP7Qg9Jv+/D/wCFVv7NuP8An6i/78n/AOKo/s24/wCfqL/vyf8A4qgCz/aEHpN/34f/AAo/
tCD0m/78P/hVb+zbj/n6i/78n/4qj+zbj/n6i/78n/4qgCz/AGhB6Tf9+H/wo/tCD0m/78P/AIVW
/s24/wCfqL/vyf8A4qj+zbj/AJ+ov+/J/wDiqALP9oQek3/fh/8ACj+0IPSb/vw/+FVv7NuP+fqL
/vyf/iqP7NuP+fqL/vyf/iqALP8AaEHpN/34f/Cj+0IPSb/vw/8AhVb+zbj/AJ+ov+/J/wDiqP7N
uP8An6i/78n/AOKoAs/2hB6Tf9+H/wAKP7Qg9Jv+/D/4VW/s24/5+ov+/J/+Ko/s24/5+ov+/J/+
KoAs/wBoQek3/fh/8KP7Qg9Jv+/D/wCFVv7NuP8An6i/78n/AOKo/s24/wCfqL/vyf8A4qgCz/aE
HpN/34f/AAo/tCD0m/78P/hVb+zbj/n6i/78n/4qj+zbj/n6i/78n/4qgCz/AGhB6Tf9+H/wo/tC
D0m/78P/AIVW/s24/wCfqL/vyf8A4qj+zbj/AJ+ov+/J/wDiqALP9oQek3/fh/8ACj+0IPSb/vw/
+FVv7NuP+fqL/vyf/iqP7NuP+fqL/vyf/iqALP8AaEHpN/34f/Cj+0IPSb/vw/8AhVb+zbj/AJ+o
v+/J/wDiqP7NuP8An6i/78n/AOKoAs/2hB6Tf9+H/wAKP7Qg9Jv+/D/4VW/s24/5+ov+/J/+Ko/s
24/5+ov+/J/+KoAs/wBoQek3/fh/8KP7Qg9Jv+/D/wCFVv7NuP8An6i/78n/AOKo/s24/wCfqL/v
yf8A4qgCz/aEHpN/34f/AAo/tCD0m/78P/hVb+zbj/n6i/78n/4qj+zbj/n6i/78n/4qgCz/AGhB
6Tf9+H/wo/tCD0m/78P/AIVW/s24/wCfqL/vyf8A4qj+zbj/AJ+ov+/J/wDiqALP9oQek3/fh/8A
Cj+0IPSb/vw/+FVv7NuP+fqL/vyf/iqP7NuP+fqL/vyf/iqALP8AaEHpN/34f/Cj+0IPSb/vw/8A
hVb+zbj/AJ+ov+/J/wDiqP7NuP8An6i/78n/AOKoAs/2hB6Tf9+H/wAKP7Qg9Jv+/D/4VW/s24/5
+ov+/J/+Ko/s24/5+ov+/J/+KoAs/wBoQek3/fh/8KP7Qg9Jv+/D/wCFVv7NuP8An6i/78n/AOKo
/s24/wCfqL/vyf8A4qgCS4nsbu3eC5heWFxhke2cg/htpsrabNafZJLXfbY2+UbVtuPptxTf7NuP
+fqL/vyf/iqP7NuP+fqL/vyf/iqYEwvbeKAJBE4CLtRBEyKAOg5AAFUoh5cSJnO1QKn/ALNuP+fq
L/vyf/iqP7NuP+fqL/vyf/iqQEe6mSpHPE0U0aSxuMMkihlYe4PBqf8As24/5+ov+/J/+Ko/s24/
5+ov+/J/+KoAgijit4ligijiiUYVI1Cqv0A4Feb/ABWOZdO/64XH/slen/2bcf8AP1F/35P/AMVX
mfxYt3t5NODyB2MFwcqu0fwe5row38VfP8mZVfgOtuvMuVAS7lgGCG2JG4YcHBDqw6gUV0f2K0/5
9Yf+/YoqOZFWKng//kTdG/684v8A0EVqT3UVu6I+8s4JASNnOBjPQH1FZfg//kTdG/684v8A0EVo
Sf8AIVt/+uEv/oUdRP4mVHZB/aEP9y5/8BpP/iaP7Qh/uXP/AIDSf/E1arGs/EK3WqLYyaZqNp5o
dree5iVUnCEbsAMWXqCA6qSOmakZf/tCH+5c/wDgNJ/8TR/aEP8Acuf/AAGk/wDiaqW+v2l1r82k
QpM8kMZd5go8rcpUMgOclhuXPGBnGcggatHS4eRV/tCH+5c/+A0n/wATR/aEP9y5/wDAaT/4ms+x
8SQ31+lutjeRQTFxbXcqoIrgr1CYYsOASNyrkAkZFS2+v2l1r82kQpM8kMZd5go8rcpUMgOclhuX
PGBnGcggC1At/wBoQ/3Ln/wGk/8AiaP7Qh/uXP8A4DSf/E1arFsfEkN9fpbrY3kUExcW13KqCK4K
9QmGLDgEjcq5AJGRQBof2hD/AHLn/wABpP8A4mj+0If7lz/4DSf/ABNZ1j4lhvr9Lf7BfQQzPIlt
dyqnlXDJncFwxYcKxG5VyASM1t0AVf7Qh/uXP/gNJ/8AE0f2hD/cuf8AwGk/+Jq1RQBV/tCH+5c/
+A0n/wATR/aEP9y5/wDAaT/4mrVFAFX+0If7lz/4DSf/ABNH9oQ/3Ln/AMBpP/iatUUAVf7Qh/uX
P/gNJ/8AE0f2hD/cuf8AwGk/+Jq1RQBV/tCH+5c/+A0n/wATR/aEP9y5/wDAaT/4mlXUbF7i5t0v
bdp7UBriMSqWhBGQXGcrkcjNUrLxT4e1OSSOw17S7t4ozLIsF5HIUQdWIB4AyOaALn9oQ/3Ln/wG
k/8AiaP7Qh/uXP8A4DSf/E1U0/xR4f1a5+zabrumXtxtLeVbXccjYHU4Uk4pdO8SaFq9y1tpmtad
e3CqXaK2ukkYKDgkhSTjJH50AX4LiO5VjGW+RtrBkKkHAPQgHoRUtUrCWOaa/aKRXUXO0lTkZCIC
PqCCD7irtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR
RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
AFeT/GP/AF+mf9e9x/7JXrFeT/GP/X6Z/wBe9x/7JW+G/ir5/kzOt8B6hRRRWZRm+D/+RN0b/rzi
/wDQRWhJ/wAhW3/64S/+hR1n+D/+RN0b/rzi/wDQRWhJ/wAhW3/64S/+hR0p/Exx2RR0S81e9m1S
W/tooLVLporFNjJI0a8F3yf4mBIwBxg85rO8P2HiSPWJr7X4bCSWRGRZra/kdYUyCEjiMKgA4BZi
xYkDnAAXqaKkZyOm+EjpHi+O9sYDHpiW8qfPqtzI2+RlY4hcFFGQejd844retf7X/te/+2fYf7Mx
H9i8nf52cfvPMz8vXGNvbrWhRQtFYDmNN0XVIb3T4bpLRdP0t5GtpY52eWbKsi712KqYVznBbJx0
qDTfCR0jxfHe2MBj0xLeVPn1W5kbfIyscQuCijIPRu+ccV11FC0aYPUz7X+1/wC17/7Z9h/szEf2
Lyd/nZx+88zPy9cY29utZGm6LqkN7p8N0loun6W8jW0sc7PLNlWRd67FVMK5zgtk46V09FAHIWXh
ab/hKYtSnsLa0t7WaWaEQ6lPOGdwy5ELKscOQzMdmST3656+iijpYOtwooooAKKKKACiiigAoorG
fxCsWrpZS6ZqMcMk3kJetEohaTBO3G7fjgjdt2k9+lHkA6wsbyDxHq93Na6VHbXAh8ia3jIuZdqk
N57Hg4PC46CsbStG8QQX2lx3kOnJZ2M9xKZ4ryR5JvMD4yhiUDlwT8x6d63rfWY7jXJ9L+yXcbxR
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
tv8An4h/77FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH/AL7FHPHuHK+xNRUP2y2/5+If++xR9stv
+fiH/vsUc8e4cr7E1FQ/bLb/AJ+If++xR9stv+fiH/vsUc8e4cr7E1FQ/bLb/n4h/wC+xR9stv8A
n4h/77FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH/AL7FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH
/vsUc8e4cr7E1FQ/bLb/AJ+If++xR9stv+fiH/vsUc8e4cr7E1FQ/bLb/n4h/wC+xR9stv8An4h/
77FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH/AL7FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH/vsU
c8e4cr7E1FQ/bLb/AJ+If++xR9stv+fiH/vsUc8e4cr7E1FQ/a7b/n4i/wC+xR9stv8An4h/77FH
PHuHK+xNRUP2y2/5+If++xR9stv+fiH/AL7FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH/vsUc8e4
cr7E1FQ/bLb/AJ+If++xR9stv+fiH/vsUc8e4cr7E1FQ/bLb/n4h/wC+xR9stv8An4h/77FHPHuH
K+xNRUP2y2/5+If++xR9stv+fiH/AL7FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH/vsUc8e4cr7E
1FQ/bLb/AJ+If++xR9stv+fiH/vsUc8e4cr7E1FQ/bLb/n4h/wC+xR9stv8An4h/77FHPHuHK+xN
RUP2y2/5+If++xR9stv+fiH/AL7FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH/vsUc8e4cr7E1FQ/
bLb/AJ+If++xR9stv+fiH/vsUc8e4cr7E1FQ/bLb/n4h/wC+xR9stv8An4h/77FHPHuHK+xNRUP2
y2/5+If++xR9stv+fiH/AL7FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH/vsUc8e4cr7E1FQ/bLb/
AJ+If++xR9stv+fiH/vsUc8e4cr7E1FQ/bLb/n4h/wC+xR9stv8An4h/77FHPHuHK+xNRUP2y2/5
+If++xR9stv+fiH/AL7FHPHuHK+xNRUP2y2/5+If++xR9stv+fiH/vsUc8e4cr7E1FQ/bLb/AJ+I
f++xR9stv+fiH/vsUc8e4cr7E1FQ/bLb/n4h/wC+xR9stv8An4h/77FHPHuHK+xNRUP2y2/5+If+
+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
vgVNRRyR7BzPuQ/Y7b/n3h/74FH2O2/594f++BU1FHJHsHM+5D9jtv8An3h/74FH2O2/594f++BU
1FHJHsHM+5D9jtv+feH/AL4FH2O2/wCfeH/vgVNRRyR7BzPuQ/Y7b/n3h/74FH2O2/594f8AvgVN
RRyR7BzPuQ/Y7b/n3h/74FH2O2/594f++BU1FHJHsHM+5D9jtv8An3h/74FH2O2/594f++BU1FHJ
HsHM+5D9jtv+feH/AL4FH2O2/wCfeH/vgVNRRyR7BzPuQ/Y7b/n3h/74FH2O2/594f8AvgVNRRyR
7BzPuQ/Y7b/n3h/74FH2O2/594f++BU1FHJHsHM+5D9jtv8An3h/74FH2O2/594f++BU1FHJHsHM
+5D9jtv+feH/AL4FH2O2/wCfeH/vgVNRRyR7BzPuQ/Y7b/n3h/74FH2O2/594f8AvgVNRRyR7BzP
uQ/Y7b/n3h/74FH2O2/594f++BU1FHJHsHM+5D9jtv8An3h/74FH2O2/594f++BU1FHJHsHM+5D9
jtv+feH/AL4FH2O2/wCfeH/vgVNRRyR7BzPuQ/Y7b/n3h/74FH2O2/594f8AvgVNRRyR7BzPuQ/Y
7b/n3h/74FH2O2/594f++BU1FHJHsHM+5D9jtv8An3h/74FH2O2/594f++BU1FHJHsHM+5D9jtv+
feH/AL4FH2O2/wCfeH/vgVNRRyR7BzPuNSNI12oiqvoowK8q+Mf+v0z/AK97j/2SvV68o+Mf+v0z
/r3uP/ZK6cKrVF8/yMq3wP8Arqer0UUVgaGL4Q/5E3Rv+vOL/wBBFbVFFVP4mKOyCiiipGFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF
FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXlHxj/1+mf8AXvcf+yUUVvhv4q+f5GVb
4P67nq9FFFYGp//Z
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>71462</attachid>
            <date>2010-10-21 11:13:51 -0700</date>
            <delta_ts>2010-11-02 17:09:20 -0700</delta_ts>
            <desc>demo</desc>
            <filename>bug25459.html</filename>
            <type>text/html</type>
            <size>164</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">77u/PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxib2R5Pg0KPGRpdiBpZD0ic3JjIiBkaXI9InJ0
bCIgc3R5bGU9IndpZHRoOiA1MGV4O2JvcmRlcjogc29saWQgMXB4OyI+PHByZT7XpNeV16jXoded
OiAJMjQuMDQuMDksIDIxOjE0PC9wcmU+PC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>72773</attachid>
            <date>2010-11-02 17:09:20 -0700</date>
            <delta_ts>2010-12-07 11:07:33 -0800</delta_ts>
            <desc>test case</desc>
            <filename>25459_1.html</filename>
            <type>text/html</type>
            <size>171</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPC9oZWFkPgo8Ym9keT4KPGRpdiBpZD0ic3Jj
IiBkaXI9InJ0bCIgc3R5bGU9IndpZHRoOiA0MGV4O2JvcmRlcjogc29saWQgMXB4OyI+PHByZT7X
pNeV16jXodedOiAJMjQuMDQuMDksIDIxOjE0PC9wcmU+PC9kaXY+CjwvYm9keT4KPC9odG1sPgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73013</attachid>
            <date>2010-11-04 17:23:38 -0700</date>
            <delta_ts>2010-11-04 18:34:13 -0700</delta_ts>
            <desc>patch w/ layout test</desc>
            <filename>25459.v1</filename>
            <type>text/plain</type>
            <size>6757</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTM2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMTEtMDQgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0
YWIgb3ZlcmZsb3cgcHJvYmxlbSB3aGVuIGFsaWdubWVudCBpcyBub3QgbGVmdC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NDU5CisKKyAgICAgICAg
SSBjaGVja2VkIFdvcmRQYWQgaW4gV2luZG93cywgVGV4dEVkaXQgaW4gTWFjLCBPcGVuT2ZmaWNl
LCBhbmQgR29vZ2xlIGRvYy4gCisgICAgICAgIEluIGFsbCBvZiB0aGVtLCAod2hlbiB0aGUgd3Jp
dGluZyBtb2RlIGlzIGhvcml6b250YWwpIHdoZW4gdGhlIGFsaWdubWVudCBpcyBub3QKKyAgICAg
ICAgbGVmdCBhbGlnbm1lbnQsIHRoZSBsZW5ndGggb2YgdGFiIGlzIGNvbXB1dGVkIGJhc2VkIG9u
IHRoZSB0YWIncyBwb3NpdGlvbgorICAgICAgICByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBv
ZiBsaW5lLCBub3QgYmFzZWQgb24gdGhlIHRhYidzIHBvc2l0aW9uIHJlbGF0aXZlIAorICAgICAg
ICB0byB0aGUgbGVmdCBlZGdlIG9mIHRoZSBkb2N1bWVudC4KKworICAgICAgICBXZWJLaXQgc2hv
dWxkIGZvbGxvdyB0aGUgc2FtZS4KKworICAgICAgICBUaGUgbV94UG9zIGluIGVhY2ggVGV4dFJ1
biBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIGxpbmUsIAorICAg
ICAgICBub3QgbGVmdCBzdGFydCBvZiBpdHMgY29udGFpbmluZyBibG9jayAoaW4gcmlnaHQgYWxp
Z25tZW50IGFuZCBjZW50ZXIgYWxpZ25tZW50LAorICAgICAgICBsZWZ0IHN0YXJ0IG9mIHRoZSBs
aW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2Nr
KS4KKyAgICAgICAgU28sIHdoZW4gdGhlIHRleHQgaXMgZHJhd24sIHRoZSB3aWR0aCBvZiB0YWIg
aXMgY29uc2lzdGVudCB3aXRoIHRoZSB3aWR0aCAKKyAgICAgICAgY29tcHV0ZWQgaW4gUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKCkuCisKKyAgICAg
ICAgSSBkaWQgbm90IHRlc3QgdmVydGljYWwgd3JpdGluZyBtb2RlLCBidXQgSSB0aGluayB0aGUg
c2FtZSBydWxlIHNob3VsZCBhcHBseS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS90YWItaW4t
cmlnaHQtYWxpZ25tZW50Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5oOgorCiAyMDEwLTExLTAzICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UZXh0UnVuLmgJKHJldmlzaW9uIDcxMzYyKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNyw3ICsxMTcsMTAgQEAg
cHJpdmF0ZToKICAgICBjb25zdCBVQ2hhciogbV9jaGFyYWN0ZXJzOwogICAgIGludCBtX2xlbjsK
IAotICAgIGludCBtX3hwb3M7CisgICAgLy8gbV94cG9zIGlzIHRoZSB4IHBvc2l0aW9uIHJlbGF0
aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCByZWxhdGl2ZSB0byB0
aGUgbGVmdAorICAgIC8vIHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLiBJbiB0aGUgY2Fz
ZSBvZiByaWdodCBhbGlnbm1lbnQgb3IgY2VudGVyIGFsaWdubWVudCwgbGVmdCBzdGFydCBvZgor
ICAgIC8vIHRoZSB0ZXh0IGxpbmUgaXMgbm90IHRoZSBzYW1lIGFzIGxlZnQgc3RhcnQgb2YgdGhl
IGNvbnRhaW5pbmcgYmxvY2suCisgICAgaW50IG1feHBvczsgIAogICAgIGludCBtX3BhZGRpbmc7
CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzEzNjIpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4
NSw3ICsxMDg1LDcgQEAgaW50IElubGluZVRleHRCb3g6OnRleHRQb3MoKSBjb25zdAogICAgIGlm
IChsb2dpY2FsTGVmdCgpID09IDApCiAgICAgICAgIHJldHVybiAwOwogICAgIFJlbmRlckJsb2Nr
KiBibG9ja0VsZW1lbnQgPSByZW5kZXJlcigpLT5jb250YWluaW5nQmxvY2soKTsKLSAgICByZXR1
cm4gbG9naWNhbExlZnQoKSAtIGJsb2NrRWxlbWVudC0+Ym9yZGVyU3RhcnQoKSAtIGJsb2NrRWxl
bWVudC0+cGFkZGluZ1N0YXJ0KCk7CisgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkgLSByb290KCkt
PmxvZ2ljYWxMZWZ0KCkgLSBibG9ja0VsZW1lbnQtPmJvcmRlclN0YXJ0KCkgLSBibG9ja0VsZW1l
bnQtPnBhZGRpbmdTdGFydCgpOwogfQogCiBpbnQgSW5saW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9z
aXRpb24oaW50IGxpbmVPZmZzZXQsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiA3MTM2MikKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDcgKzEx
OCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB1bnNpZ25lZCBjYXJldE1heFJl
bmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAgICBpbnQgdGV4dFBvcygpIGNvbnN0OworICAgIGlu
dCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVybnMgdGhlIHggcG9zaXRpb24gcmVsYXRpdmUgdG8g
dGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQgbGluZS4KIAogcHVibGljOgogICAgIHZpcnR1YWwg
aW50IG9mZnNldEZvclBvc2l0aW9uKGludCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0g
dHJ1ZSkgY29uc3Q7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MTM2NykKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEwLTExLTA0ICBYaWFv
bWVpIEppICA8eGppQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGaXggdGFiIG92ZXJmbG93IHByb2JsZW0gd2hlbiBhbGlnbm1l
bnQgaXMgbm90IGxlZnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNTQ1OQorCisgICAgICAgIEkgY2hlY2tlZCBXb3JkUGFkIGluIFdpbmRvd3MsIFRl
eHRFZGl0IGluIE1hYywgT3Blbk9mZmljZSwgYW5kIEdvb2dsZSBkb2MuIAorICAgICAgICBJbiBh
bGwgb2YgdGhlbSwgKHdoZW4gdGhlIHdyaXRpbmcgbW9kZSBpcyBob3Jpem9udGFsKSB3aGVuIHRo
ZSBhbGlnbm1lbnQgaXMgbm90CisgICAgICAgIGxlZnQgYWxpZ25tZW50LCB0aGUgbGVuZ3RoIG9m
IHRhYiBpcyBjb21wdXRlZCBiYXNlZCBvbiB0aGUgdGFiJ3MgcG9zaXRpb24KKyAgICAgICAgcmVs
YXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgbGluZSwgbm90IGJhc2VkIG9uIHRoZSB0YWIncyBw
b3NpdGlvbiByZWxhdGl2ZSAKKyAgICAgICAgdG8gdGhlIGxlZnQgZWRnZSBvZiB0aGUgZG9jdW1l
bnQuCisKKyAgICAgICAgV2ViS2l0IHNob3VsZCBmb2xsb3cgdGhlIHNhbWUuCisKKyAgICAgICAg
VGhlIG1feFBvcyBpbiBlYWNoIFRleHRSdW4gc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBsZWZ0
IHN0YXJ0IG9mIHRoZSBsaW5lLCAKKyAgICAgICAgbm90IGxlZnQgc3RhcnQgb2YgaXRzIGNvbnRh
aW5pbmcgYmxvY2sgKGluIHJpZ2h0IGFsaWdubWVudCBhbmQgY2VudGVyIGFsaWdubWVudCwKKyAg
ICAgICAgbGVmdCBzdGFydCBvZiB0aGUgbGluZSBpcyBub3QgdGhlIHNhbWUgYXMgbGVmdCBzdGFy
dCBvZiB0aGUgY29udGFpbmluZyBibG9jaykuCisgICAgICAgIFNvLCB3aGVuIHRoZSB0ZXh0IGlz
IGRyYXduLCB0aGUgd2lkdGggb2YgdGFiIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgd2lkdGggCisg
ICAgICAgIGNvbXB1dGVkIGluIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9z
aXRpb25zRm9yTGluZSgpLgorCisgICAgICAgIEkgZGlkIG5vdCB0ZXN0IHZlcnRpY2FsIHdyaXRp
bmcgbW9kZSwgYnV0IEkgdGhpbmsgdGhlIHNhbWUgcnVsZSBzaG91bGQgYXBwbHkuCisKKyAgICAg
ICAgKiBmYXN0L2RvbS90YWItaW4tcmlnaHQtYWxpZ25tZW50LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9kb20vdGFiLWluLXJpZ2h0LWFsaWdubWVudC5odG1sOiBBZGRlZC4K
KwogMjAxMC0xMS0wMyAgWmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Rh
Yi1pbi1yaWdodC1hbGlnbm1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL3RhYi1pbi1yaWdodC1hbGlnbm1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vdGFiLWluLXJpZ2h0LWFsaWdubWVudC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjMgQEAKK9ek15XXqNeh1506IAkyNC4w
NC4wOSwgMjE6MTQKKzMxNAorMzA4CiszMDMKKzI5NworMjg4CisyNzkKKzI3MQorMjYzCisyNDMK
KzE4NworMTk1CisyMDMKKzIxMQorMjE5CisyMjcKKzIzNQorMTc5CisxNzEKKzE2MworMTMxCisx
MzkKKzE0NwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vdGFiLWluLXJpZ2h0LWFsaWdubWVu
dC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3RhYi1pbi1yaWdodC1h
bGlnbm1lbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3RhYi1p
bi1yaWdodC1hbGlnbm1lbnQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAorPCFE
T0NUWVBFIGh0bWw+IAorPGh0bWw+IAorPGhlYWQ+IAorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu
dC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIgPgorPHNjcmlwdD4KKyAg
ICBmdW5jdGlvbiBsb2coc3RyKSAKKyAgICB7CisgICAgICAgIHZhciBsaSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImxpIik7CisgICAgICAgIGxpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKHN0cikpOworICAgICAgICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIik7CisgICAgICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQobGkpOworICAg
IH0KKyAgICAKKyAgICBvbmxvYWQgPSBmdW5jdGlvbigpIAorICAgIHsKKyAgICAgICAgaWYgKHdp
bmRvdy50ZXh0SW5wdXRDb250cm9sbGVyKQorICAgICAgICB7CisgICAgICAgICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IDIyOyArK2kpIAorICAgICAgICAgICAgeworICAgICAgICAgICAgCXZhciBj
YXJldFJlY3QgPSB0ZXh0SW5wdXRDb250cm9sbGVyLmZpcnN0UmVjdEZvckNoYXJhY3RlclJhbmdl
KGksIDApOworICAgICAgICAgICAgCWxvZyhjYXJldFJlY3RbMF0pOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCis8L3NjcmlwdD4K
KzwvaGVhZD4gCis8Ym9keT4gCis8ZGl2IGNvbnRlbnRlZGl0YWJsZSBpZD0iZGl2IiBkaXI9InJ0
bCIgc3R5bGU9IndpZHRoOiA0MGV4O2JvcmRlcjogc29saWQgMXB4OyI+PHByZSBpZD0icHJlIj7X
pNeV16jXodedOiAJMjQuMDQuMDksIDIxOjE0PC9wcmU+PC9kaXY+IAorPHVsIGlkPSJjb25zb2xl
Ij48L3VsPgorPC9ib2R5PiAKKzwvaHRtbD4gCisgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73026</attachid>
            <date>2010-11-04 18:34:13 -0700</date>
            <delta_ts>2010-11-05 14:44:05 -0700</delta_ts>
            <desc>patch w/ layout test</desc>
            <filename>25459.v2</filename>
            <type>text/plain</type>
            <size>7013</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTM2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMTEtMDQgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0
YWIgb3ZlcmZsb3cgcHJvYmxlbSB3aGVuIGFsaWdubWVudCBpcyBub3QgbGVmdC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NDU5CisKKyAgICAgICAg
SSBjaGVja2VkIFdvcmRQYWQgaW4gV2luZG93cywgVGV4dEVkaXQgaW4gTWFjLCBPcGVuT2ZmaWNl
LCBhbmQgR29vZ2xlIGRvYy4gCisgICAgICAgIEluIGFsbCBvZiB0aGVtLCAod2hlbiB0aGUgd3Jp
dGluZyBtb2RlIGlzIGhvcml6b250YWwpIHdoZW4gdGhlIGFsaWdubWVudCBpcyBub3QKKyAgICAg
ICAgbGVmdCBhbGlnbm1lbnQsIHRoZSBsZW5ndGggb2YgdGFiIGlzIGNvbXB1dGVkIGJhc2VkIG9u
IHRoZSB0YWIncyBwb3NpdGlvbgorICAgICAgICByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBv
ZiBsaW5lLCBub3QgYmFzZWQgb24gdGhlIHRhYidzIHBvc2l0aW9uIHJlbGF0aXZlIAorICAgICAg
ICB0byB0aGUgbGVmdCBlZGdlIG9mIHRoZSBkb2N1bWVudC4KKworICAgICAgICBXZWJLaXQgc2hv
dWxkIGZvbGxvdyB0aGUgc2FtZS4KKworICAgICAgICBUaGUgbV94UG9zIGluIGVhY2ggVGV4dFJ1
biBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIGxpbmUsIAorICAg
ICAgICBub3QgbGVmdCBzdGFydCBvZiBpdHMgY29udGFpbmluZyBibG9jayAoaW4gcmlnaHQgYWxp
Z25tZW50IGFuZCBjZW50ZXIgYWxpZ25tZW50LAorICAgICAgICBsZWZ0IHN0YXJ0IG9mIHRoZSBs
aW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2Nr
KS4KKyAgICAgICAgU28sIHdoZW4gdGhlIHRleHQgaXMgZHJhd24sIHRoZSB3aWR0aCBvZiB0YWIg
aXMgY29uc2lzdGVudCB3aXRoIHRoZSB3aWR0aCAKKyAgICAgICAgY29tcHV0ZWQgaW4gUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKCkuCisKKyAgICAg
ICAgSSBkaWQgbm90IHRlc3QgdmVydGljYWwgd3JpdGluZyBtb2RlLCBidXQgSSB0aGluayB0aGUg
c2FtZSBydWxlIHNob3VsZCBhcHBseS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS90YWItaW4t
cmlnaHQtYWxpZ25tZW50Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5oOgorCiAyMDEwLTExLTAzICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UZXh0UnVuLmgJKHJldmlzaW9uIDcxMzYyKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNyw3ICsxMTcsMTAgQEAg
cHJpdmF0ZToKICAgICBjb25zdCBVQ2hhciogbV9jaGFyYWN0ZXJzOwogICAgIGludCBtX2xlbjsK
IAotICAgIGludCBtX3hwb3M7CisgICAgLy8gbV94cG9zIGlzIHRoZSB4IHBvc2l0aW9uIHJlbGF0
aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCByZWxhdGl2ZSB0byB0
aGUgbGVmdAorICAgIC8vIHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLiBJbiB0aGUgY2Fz
ZSBvZiByaWdodCBhbGlnbm1lbnQgb3IgY2VudGVyIGFsaWdubWVudCwgbGVmdCBzdGFydCBvZgor
ICAgIC8vIHRoZSB0ZXh0IGxpbmUgaXMgbm90IHRoZSBzYW1lIGFzIGxlZnQgc3RhcnQgb2YgdGhl
IGNvbnRhaW5pbmcgYmxvY2suCisgICAgaW50IG1feHBvczsgIAogICAgIGludCBtX3BhZGRpbmc7
CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzEzNjIpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4
NSw3ICsxMDg1LDcgQEAgaW50IElubGluZVRleHRCb3g6OnRleHRQb3MoKSBjb25zdAogICAgIGlm
IChsb2dpY2FsTGVmdCgpID09IDApCiAgICAgICAgIHJldHVybiAwOwogICAgIFJlbmRlckJsb2Nr
KiBibG9ja0VsZW1lbnQgPSByZW5kZXJlcigpLT5jb250YWluaW5nQmxvY2soKTsKLSAgICByZXR1
cm4gbG9naWNhbExlZnQoKSAtIGJsb2NrRWxlbWVudC0+Ym9yZGVyU3RhcnQoKSAtIGJsb2NrRWxl
bWVudC0+cGFkZGluZ1N0YXJ0KCk7CisgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkgLSByb290KCkt
PmxvZ2ljYWxMZWZ0KCkgLSBibG9ja0VsZW1lbnQtPmJvcmRlclN0YXJ0KCkgLSBibG9ja0VsZW1l
bnQtPnBhZGRpbmdTdGFydCgpOwogfQogCiBpbnQgSW5saW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9z
aXRpb24oaW50IGxpbmVPZmZzZXQsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiA3MTM2MikKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDcgKzEx
OCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB1bnNpZ25lZCBjYXJldE1heFJl
bmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAgICBpbnQgdGV4dFBvcygpIGNvbnN0OworICAgIGlu
dCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVybnMgdGhlIHggcG9zaXRpb24gcmVsYXRpdmUgdG8g
dGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQgbGluZS4KIAogcHVibGljOgogICAgIHZpcnR1YWwg
aW50IG9mZnNldEZvclBvc2l0aW9uKGludCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0g
dHJ1ZSkgY29uc3Q7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MTM2NykKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEwLTExLTA0ICBYaWFv
bWVpIEppICA8eGppQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGaXggdGFiIG92ZXJmbG93IHByb2JsZW0gd2hlbiBhbGlnbm1l
bnQgaXMgbm90IGxlZnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNTQ1OQorCisgICAgICAgIEkgY2hlY2tlZCBXb3JkUGFkIGluIFdpbmRvd3MsIFRl
eHRFZGl0IGluIE1hYywgT3Blbk9mZmljZSwgYW5kIEdvb2dsZSBkb2MuIAorICAgICAgICBJbiBh
bGwgb2YgdGhlbSwgKHdoZW4gdGhlIHdyaXRpbmcgbW9kZSBpcyBob3Jpem9udGFsKSB3aGVuIHRo
ZSBhbGlnbm1lbnQgaXMgbm90CisgICAgICAgIGxlZnQgYWxpZ25tZW50LCB0aGUgbGVuZ3RoIG9m
IHRhYiBpcyBjb21wdXRlZCBiYXNlZCBvbiB0aGUgdGFiJ3MgcG9zaXRpb24KKyAgICAgICAgcmVs
YXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgbGluZSwgbm90IGJhc2VkIG9uIHRoZSB0YWIncyBw
b3NpdGlvbiByZWxhdGl2ZSAKKyAgICAgICAgdG8gdGhlIGxlZnQgZWRnZSBvZiB0aGUgZG9jdW1l
bnQuCisKKyAgICAgICAgV2ViS2l0IHNob3VsZCBmb2xsb3cgdGhlIHNhbWUuCisKKyAgICAgICAg
VGhlIG1feFBvcyBpbiBlYWNoIFRleHRSdW4gc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBsZWZ0
IHN0YXJ0IG9mIHRoZSBsaW5lLCAKKyAgICAgICAgbm90IGxlZnQgc3RhcnQgb2YgaXRzIGNvbnRh
aW5pbmcgYmxvY2sgKGluIHJpZ2h0IGFsaWdubWVudCBhbmQgY2VudGVyIGFsaWdubWVudCwKKyAg
ICAgICAgbGVmdCBzdGFydCBvZiB0aGUgbGluZSBpcyBub3QgdGhlIHNhbWUgYXMgbGVmdCBzdGFy
dCBvZiB0aGUgY29udGFpbmluZyBibG9jaykuCisgICAgICAgIFNvLCB3aGVuIHRoZSB0ZXh0IGlz
IGRyYXduLCB0aGUgd2lkdGggb2YgdGFiIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgd2lkdGggCisg
ICAgICAgIGNvbXB1dGVkIGluIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9z
aXRpb25zRm9yTGluZSgpLgorCisgICAgICAgIEkgZGlkIG5vdCB0ZXN0IHZlcnRpY2FsIHdyaXRp
bmcgbW9kZSwgYnV0IEkgdGhpbmsgdGhlIHNhbWUgcnVsZSBzaG91bGQgYXBwbHkuCisKKyAgICAg
ICAgKiBmYXN0L2RvbS90YWItaW4tcmlnaHQtYWxpZ25tZW50LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9kb20vdGFiLWluLXJpZ2h0LWFsaWdubWVudC5odG1sOiBBZGRlZC4K
KwogMjAxMC0xMS0wMyAgWmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Rh
Yi1pbi1yaWdodC1hbGlnbm1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL3RhYi1pbi1yaWdodC1hbGlnbm1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vdGFiLWluLXJpZ2h0LWFsaWdubWVudC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAor16TXldeo16HXnTogCTI0LjA0
LjA5LCAyMToxNAorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS90YWItaW4tcmlnaHQtYWxp
Z25tZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vdGFiLWluLXJp
Z2h0LWFsaWdubWVudC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
dGFiLWluLXJpZ2h0LWFsaWdubWVudC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM3IEBA
Cis8IURPQ1RZUEUgaHRtbD4gCis8aHRtbD4gCis8aGVhZD4gCis8bWV0YSBodHRwLWVxdWl2PSJD
b250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDtjaGFyc2V0PXV0Zi04IiA+Cis8c2NyaXB0
PgorICAgIGZ1bmN0aW9uIGxvZyhzdHIpIAorICAgIHsKKyAgICAgICAgdmFyIGxpID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibGkiKTsKKyAgICAgICAgbGkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlVGV4dE5vZGUoc3RyKSk7CisgICAgICAgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICAgICAgY29uc29sZS5hcHBlbmRDaGlsZChsaSk7
CisgICAgfQorICAgIAorICAgIG9ubG9hZCA9IGZ1bmN0aW9uKCkgCisgICAgeworICAgICAgICB2
YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdiIpOworICAgICAgICB2YXIgcmln
aHRPZkNsaWVudEJveCA9IGRpdi5jbGllbnRXaWR0aCArIGRpdi5vZmZzZXRMZWZ0OworICAgICAg
ICB2YXIgY2FyZXRSZWN0ID0gdGV4dElucHV0Q29udHJvbGxlci5maXJzdFJlY3RGb3JDaGFyYWN0
ZXJSYW5nZSgwLCAwKTsKKyAgICAgICAgdmFyIHhPZlJpZ2h0bW9zdENoYXJhY3RlciA9IGNhcmV0
UmVjdFswXTsKKyAgICAgICAgaWYgKHhPZlJpZ2h0bW9zdENoYXJhY3RlciA+IHJpZ2h0T2ZDbGll
bnRCb3gpCisgICAgICAgICAgICBsb2coIkZBSUxFRDogcmlnaHRtb3N0IGNoYXJhY3RlciBpcyBi
ZXlvbmQgdGhlIHJpZ2h0IGVkZ2Ugb2YgY2xpZW50IGJveCIpOworICAgICAgICBjYXJldFJlY3Qg
PSB0ZXh0SW5wdXRDb250cm9sbGVyLmZpcnN0UmVjdEZvckNoYXJhY3RlclJhbmdlKDEsIDApOwor
ICAgICAgICBpZiAoY2FyZXRSZWN0WzBdID49IHhPZlJpZ2h0bW9zdENoYXJhY3RlcikKKyAgICAg
ICAgICAgIGxvZygiRkFJTEVEOiBzZWNvbmQgcmlnaHRtb3N0IGNoYXJhY3RlciBpcyBvbiBvciBi
ZXlvbmQgdGhlIHJpZ2h0IGVkZ2Ugb2YgY2xpZW50IGJveCIpOworICAgIH0KKworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKworPC9zY3JpcHQ+Cis8L2hlYWQ+IAorPGJvZHk+IAorPGRpdiBjb250
ZW50ZWRpdGFibGUgaWQ9ImRpdiIgZGlyPSJydGwiIHN0eWxlPSJ3aWR0aDogNDBleDtib3JkZXI6
IHNvbGlkIDFweDsiPjxwcmUgaWQ9InByZSI+16TXldeo16HXnTogCTI0LjA0LjA5LCAyMToxNDwv
cHJlPjwvZGl2PiAKKzx1bCBpZD0iY29uc29sZSI+PC91bD4KKzwvYm9keT4gCis8L2h0bWw+IAor
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73122</attachid>
            <date>2010-11-05 14:44:05 -0700</date>
            <delta_ts>2010-11-08 14:13:03 -0800</delta_ts>
            <desc>patch w/ layout test</desc>
            <filename>25459.v3</filename>
            <type>text/plain</type>
            <size>7884</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTM2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMTEtMDQgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0
YWIgb3ZlcmZsb3cgcHJvYmxlbSB3aGVuIGFsaWdubWVudCBpcyBub3QgbGVmdC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NDU5CisKKyAgICAgICAg
SSBjaGVja2VkIFdvcmRQYWQgaW4gV2luZG93cywgVGV4dEVkaXQgaW4gTWFjLCBPcGVuT2ZmaWNl
LCBhbmQgR29vZ2xlIGRvYy4gCisgICAgICAgIEluIGFsbCBvZiB0aGVtLCAod2hlbiB0aGUgd3Jp
dGluZyBtb2RlIGlzIGhvcml6b250YWwpIHdoZW4gdGhlIGFsaWdubWVudCBpcyBub3QKKyAgICAg
ICAgbGVmdCBhbGlnbm1lbnQsIHRoZSBsZW5ndGggb2YgdGFiIGlzIGNvbXB1dGVkIGJhc2VkIG9u
IHRoZSB0YWIncyBwb3NpdGlvbgorICAgICAgICByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBv
ZiBsaW5lLCBub3QgYmFzZWQgb24gdGhlIHRhYidzIHBvc2l0aW9uIHJlbGF0aXZlIAorICAgICAg
ICB0byB0aGUgbGVmdCBlZGdlIG9mIHRoZSBkb2N1bWVudC4KKworICAgICAgICBXZWJLaXQgc2hv
dWxkIGZvbGxvdyB0aGUgc2FtZS4KKworICAgICAgICBUaGUgbV94UG9zIGluIGVhY2ggVGV4dFJ1
biBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIGxpbmUsIAorICAg
ICAgICBub3QgbGVmdCBzdGFydCBvZiBpdHMgY29udGFpbmluZyBibG9jayAoaW4gcmlnaHQgYWxp
Z25tZW50IGFuZCBjZW50ZXIgYWxpZ25tZW50LAorICAgICAgICBsZWZ0IHN0YXJ0IG9mIHRoZSBs
aW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2Nr
KS4KKyAgICAgICAgU28sIHdoZW4gdGhlIHRleHQgaXMgZHJhd24sIHRoZSB3aWR0aCBvZiB0YWIg
aXMgY29uc2lzdGVudCB3aXRoIHRoZSB3aWR0aCAKKyAgICAgICAgY29tcHV0ZWQgaW4gUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKCkuCisKKyAgICAg
ICAgSSBkaWQgbm90IHRlc3QgdmVydGljYWwgd3JpdGluZyBtb2RlLCBidXQgSSB0aGluayB0aGUg
c2FtZSBydWxlIHNob3VsZCBhcHBseS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS90YWItaW4t
cmlnaHQtYWxpZ25tZW50Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5oOgorCiAyMDEwLTExLTAzICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UZXh0UnVuLmgJKHJldmlzaW9uIDcxMzYyKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNyw3ICsxMTcsMTAgQEAg
cHJpdmF0ZToKICAgICBjb25zdCBVQ2hhciogbV9jaGFyYWN0ZXJzOwogICAgIGludCBtX2xlbjsK
IAotICAgIGludCBtX3hwb3M7CisgICAgLy8gbV94cG9zIGlzIHRoZSB4IHBvc2l0aW9uIHJlbGF0
aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCByZWxhdGl2ZSB0byB0
aGUgbGVmdAorICAgIC8vIHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLiBJbiB0aGUgY2Fz
ZSBvZiByaWdodCBhbGlnbm1lbnQgb3IgY2VudGVyIGFsaWdubWVudCwgbGVmdCBzdGFydCBvZgor
ICAgIC8vIHRoZSB0ZXh0IGxpbmUgaXMgbm90IHRoZSBzYW1lIGFzIGxlZnQgc3RhcnQgb2YgdGhl
IGNvbnRhaW5pbmcgYmxvY2suCisgICAgaW50IG1feHBvczsgIAogICAgIGludCBtX3BhZGRpbmc7
CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzEzNjIpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4
NSw3ICsxMDg1LDcgQEAgaW50IElubGluZVRleHRCb3g6OnRleHRQb3MoKSBjb25zdAogICAgIGlm
IChsb2dpY2FsTGVmdCgpID09IDApCiAgICAgICAgIHJldHVybiAwOwogICAgIFJlbmRlckJsb2Nr
KiBibG9ja0VsZW1lbnQgPSByZW5kZXJlcigpLT5jb250YWluaW5nQmxvY2soKTsKLSAgICByZXR1
cm4gbG9naWNhbExlZnQoKSAtIGJsb2NrRWxlbWVudC0+Ym9yZGVyU3RhcnQoKSAtIGJsb2NrRWxl
bWVudC0+cGFkZGluZ1N0YXJ0KCk7CisgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkgLSByb290KCkt
PmxvZ2ljYWxMZWZ0KCkgLSBibG9ja0VsZW1lbnQtPmJvcmRlclN0YXJ0KCkgLSBibG9ja0VsZW1l
bnQtPnBhZGRpbmdTdGFydCgpOwogfQogCiBpbnQgSW5saW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9z
aXRpb24oaW50IGxpbmVPZmZzZXQsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5oCShyZXZpc2lvbiA3MTM2MikKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDcgKzEx
OCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCB1bnNpZ25lZCBjYXJldE1heFJl
bmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAgICBpbnQgdGV4dFBvcygpIGNvbnN0OworICAgIGlu
dCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVybnMgdGhlIHggcG9zaXRpb24gcmVsYXRpdmUgdG8g
dGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQgbGluZS4KIAogcHVibGljOgogICAgIHZpcnR1YWwg
aW50IG9mZnNldEZvclBvc2l0aW9uKGludCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0g
dHJ1ZSkgY29uc3Q7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MTM2NykKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEwLTExLTA0ICBYaWFv
bWVpIEppICA8eGppQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBGaXggdGFiIG92ZXJmbG93IHByb2JsZW0gd2hlbiBhbGlnbm1l
bnQgaXMgbm90IGxlZnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNTQ1OQorCisgICAgICAgIEkgY2hlY2tlZCBXb3JkUGFkIGluIFdpbmRvd3MsIFRl
eHRFZGl0IGluIE1hYywgT3Blbk9mZmljZSwgYW5kIEdvb2dsZSBkb2MuIAorICAgICAgICBJbiBh
bGwgb2YgdGhlbSwgKHdoZW4gdGhlIHdyaXRpbmcgbW9kZSBpcyBob3Jpem9udGFsKSB3aGVuIHRo
ZSBhbGlnbm1lbnQgaXMgbm90CisgICAgICAgIGxlZnQgYWxpZ25tZW50LCB0aGUgbGVuZ3RoIG9m
IHRhYiBpcyBjb21wdXRlZCBiYXNlZCBvbiB0aGUgdGFiJ3MgcG9zaXRpb24KKyAgICAgICAgcmVs
YXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgbGluZSwgbm90IGJhc2VkIG9uIHRoZSB0YWIncyBw
b3NpdGlvbiByZWxhdGl2ZSAKKyAgICAgICAgdG8gdGhlIGxlZnQgZWRnZSBvZiB0aGUgZG9jdW1l
bnQuCisKKyAgICAgICAgV2ViS2l0IHNob3VsZCBmb2xsb3cgdGhlIHNhbWUuCisKKyAgICAgICAg
VGhlIG1feFBvcyBpbiBlYWNoIFRleHRSdW4gc2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBsZWZ0
IHN0YXJ0IG9mIHRoZSBsaW5lLCAKKyAgICAgICAgbm90IGxlZnQgc3RhcnQgb2YgaXRzIGNvbnRh
aW5pbmcgYmxvY2sgKGluIHJpZ2h0IGFsaWdubWVudCBhbmQgY2VudGVyIGFsaWdubWVudCwKKyAg
ICAgICAgbGVmdCBzdGFydCBvZiB0aGUgbGluZSBpcyBub3QgdGhlIHNhbWUgYXMgbGVmdCBzdGFy
dCBvZiB0aGUgY29udGFpbmluZyBibG9jaykuCisgICAgICAgIFNvLCB3aGVuIHRoZSB0ZXh0IGlz
IGRyYXduLCB0aGUgd2lkdGggb2YgdGFiIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgd2lkdGggCisg
ICAgICAgIGNvbXB1dGVkIGluIFJlbmRlckJsb2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9z
aXRpb25zRm9yTGluZSgpLgorCisgICAgICAgIEkgZGlkIG5vdCB0ZXN0IHZlcnRpY2FsIHdyaXRp
bmcgbW9kZSwgYnV0IEkgdGhpbmsgdGhlIHNhbWUgcnVsZSBzaG91bGQgYXBwbHkuCisKKyAgICAg
ICAgKiBmYXN0L2RvbS90YWItaW4tcmlnaHQtYWxpZ25tZW50LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9kb20vdGFiLWluLXJpZ2h0LWFsaWdubWVudC5odG1sOiBBZGRlZC4K
KwogMjAxMC0xMS0wMyAgWmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Rh
Yi1pbi1yaWdodC1hbGlnbm1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL3RhYi1pbi1yaWdodC1hbGlnbm1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vdGFiLWluLXJpZ2h0LWFsaWdubWVudC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorUEFTUworUEFTUwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9kb20vdGFiLWluLXJpZ2h0LWFsaWdubWVudC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3RhYi1pbi1yaWdodC1hbGlnbm1lbnQuaHRtbAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3RhYi1pbi1yaWdodC1hbGlnbm1l
bnQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+IAor
PGh0bWw+IAorPGhlYWQ+IAorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50
PSJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIgPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiBsb2co
c3RyKSAKKyAgICB7CisgICAgICAgIHZhciBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxp
Iik7CisgICAgICAgIGxpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0cikp
OworICAgICAgICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xl
Iik7CisgICAgICAgIGNvbnNvbGUuYXBwZW5kQ2hpbGQobGkpOworICAgIH0KKyAgICAKKyAgICBv
bmxvYWQgPSBmdW5jdGlvbigpIAorICAgIHsKKyAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJkaXYiKTsKKyAgICAgICAgdmFyIHJpZ2h0T2ZDbGllbnRCb3ggPSBkaXYu
Y2xpZW50V2lkdGggKyBkaXYub2Zmc2V0TGVmdDsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXh0SW5w
dXRDb250cm9sbGVyKSB7CisgICAgICAgICAgICB2YXIgY2FyZXRSZWN0ID0gdGV4dElucHV0Q29u
dHJvbGxlci5maXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5nZSgwLCAwKTsKKyAgICAgICAgICAgIHZh
ciB4T2ZSaWdodG1vc3RDaGFyYWN0ZXIgPSBjYXJldFJlY3RbMF07CisgICAgICAgICAgICBpZiAo
eE9mUmlnaHRtb3N0Q2hhcmFjdGVyID4gcmlnaHRPZkNsaWVudEJveCkKKyAgICAgICAgICAgICAg
ICBsb2coIkZBSUxFRDogcmlnaHRtb3N0IGNoYXJhY3RlciAoYXQgIiArIHhPZlJpZ2h0bW9zdENo
YXJhY3RlciArICIpIGlzIGJleW9uZCB0aGUgcmlnaHQgZWRnZSAoIiArIHJpZ2h0T2ZDbGllbnRC
b3ggKyAiKSBvZiBjbGllbnQgYm94Iik7CisgICAgICAgICAgICBlbHNlIAorICAgICAgICAgICAg
ICAgIGxvZygiUEFTUyIpOworICAgICAgICAgICAgY2FyZXRSZWN0ID0gdGV4dElucHV0Q29udHJv
bGxlci5maXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5nZSgxLCAwKTsKKyAgICAgICAgICAgIGlmIChj
YXJldFJlY3RbMF0gPj0geE9mUmlnaHRtb3N0Q2hhcmFjdGVyKQorICAgICAgICAgICAgICAgIGxv
ZygiRkFJTEVEOiBzZWNvbmQgcmlnaHRtb3N0IGNoYXJhY3RlciAoYXQgIiArIGNhcmV0UmVjdFsw
XSArICIpIGlzIG9uIG9yIGJleW9uZCB0aGUgcmlnaHQgZWRnZSAoIiArIHJpZ2h0T2ZDbGllbnRC
b3ggKyAiKSBvZiBjbGllbnQgYm94Iik7CisgICAgICAgICAgICBlbHNlIAorICAgICAgICAgICAg
ICAgIGxvZygiUEFTUyIpOworICAgICAgICB9CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgICAgICBkaXYuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAg
ICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKzwvc2NyaXB0PgorPC9oZWFkPiAKKzxi
b2R5PiAKKzxkaXYgY29udGVudGVkaXRhYmxlIGlkPSJkaXYiIGRpcj0icnRsIiBzdHlsZT0id2lk
dGg6IDQwZXg7Ym9yZGVyOiBzb2xpZCAxcHg7Ij48cHJlIGlkPSJwcmUiPtek15XXqNeh1506IAky
NC4wNC4wOSwgMjE6MTQ8L3ByZT48L2Rpdj4gCis8dWwgaWQ9ImNvbnNvbGUiPjwvdWw+Cis8L2Jv
ZHk+IAorPC9odG1sPiAKKyAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkocmV2aXNpb24g
NzEzNjIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkp
CkBAIC0yOTgsNiArMjk4LDcgQEAgZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXRhYi0wMDMuaHRt
bAogZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXRleHQtd2l0aC1uZXdsaW5lcy5odG1sCiAjIE1p
c3NpbmcgdGV4dElucHV0Q29udHJvbGxlci5maXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5nZSgpCiBl
ZGl0aW5nL2luc2VydGluZy9jYXJldC1wb3NpdGlvbi5odG1sCitmYXN0L2RvbS90YWItaW4tcmln
aHQtYWxpZ25tZW50Lmh0bWwKIAogIyAtLS0tIHRvIGJlIHJldmlld2VkCiBlZGl0aW5nL2luc2Vy
dGluZy80Mjc4Njk4Lmh0bWwK
</data>
<flag name="review"
          id="63507"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73282</attachid>
            <date>2010-11-08 14:13:03 -0800</date>
            <delta_ts>2010-12-14 01:29:13 -0800</delta_ts>
            <desc>patch w/ layout test</desc>
            <filename>25459.v4</filename>
            <type>text/plain</type>
            <size>8331</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTM2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMTEtMDQgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCB0
YWIgb3ZlcmZsb3cgcHJvYmxlbSB3aGVuIGFsaWdubWVudCBpcyBub3QgbGVmdC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NDU5CisKKyAgICAgICAg
SSBjaGVja2VkIFdvcmRQYWQgaW4gV2luZG93cywgVGV4dEVkaXQgaW4gTWFjLCBPcGVuT2ZmaWNl
LCBhbmQgR29vZ2xlIGRvYy4gCisgICAgICAgIEluIGFsbCBvZiB0aGVtLCAod2hlbiB0aGUgd3Jp
dGluZyBtb2RlIGlzIGhvcml6b250YWwpIHdoZW4gdGhlIGFsaWdubWVudCBpcyBub3QKKyAgICAg
ICAgbGVmdCBhbGlnbm1lbnQsIHRoZSBsZW5ndGggb2YgdGFiIGlzIGNvbXB1dGVkIGJhc2VkIG9u
IHRoZSB0YWIncyBwb3NpdGlvbgorICAgICAgICByZWxhdGl2ZSB0byB0aGUgbGVmdCBzdGFydCBv
ZiBsaW5lLCBub3QgYmFzZWQgb24gdGhlIHRhYidzIHBvc2l0aW9uIHJlbGF0aXZlIAorICAgICAg
ICB0byB0aGUgbGVmdCBlZGdlIG9mIHRoZSBkb2N1bWVudC4KKworICAgICAgICBXZWJLaXQgc2hv
dWxkIGZvbGxvdyB0aGUgc2FtZS4KKworICAgICAgICBUaGUgbV94UG9zIGluIGVhY2ggVGV4dFJ1
biBzaG91bGQgYmUgcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIGxpbmUsIAorICAg
ICAgICBub3QgbGVmdCBzdGFydCBvZiBpdHMgY29udGFpbmluZyBibG9jayAoaW4gcmlnaHQgYWxp
Z25tZW50IGFuZCBjZW50ZXIgYWxpZ25tZW50LAorICAgICAgICBsZWZ0IHN0YXJ0IG9mIHRoZSBs
aW5lIGlzIG5vdCB0aGUgc2FtZSBhcyBsZWZ0IHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2Nr
KS4KKyAgICAgICAgU28sIHdoZW4gdGhlIHRleHQgaXMgZHJhd24sIHRoZSB3aWR0aCBvZiB0YWIg
aXMgY29uc2lzdGVudCB3aXRoIHRoZSB3aWR0aCAKKyAgICAgICAgY29tcHV0ZWQgaW4gUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKCkuCisKKyAgICAg
ICAgSSBkaWQgbm90IHRlc3QgdmVydGljYWwgd3JpdGluZyBtb2RlLCBidXQgSSB0aGluayB0aGUg
c2FtZSBydWxlIHNob3VsZCBhcHBseS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS90YWItaW4t
cmlnaHQtYWxpZ25tZW50Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RleHRS
dW4uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5s
aW5lVGV4dEJveC5oOgorCiAyMDEwLTExLTAzICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UZXh0UnVuLmgJKHJldmlzaW9uIDcxMzYyKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UZXh0UnVuLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNyw3ICsxMTcsMTAgQEAg
cHJpdmF0ZToKICAgICBjb25zdCBVQ2hhciogbV9jaGFyYWN0ZXJzOwogICAgIGludCBtX2xlbjsK
IAotICAgIGludCBtX3hwb3M7CisgICAgLy8gbV94cG9zIGlzIHRoZSB4IHBvc2l0aW9uIHJlbGF0
aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSB0ZXh0IGxpbmUsIG5vdCByZWxhdGl2ZSB0byB0
aGUgbGVmdAorICAgIC8vIHN0YXJ0IG9mIHRoZSBjb250YWluaW5nIGJsb2NrLiBJbiB0aGUgY2Fz
ZSBvZiByaWdodCBhbGlnbm1lbnQgb3IgY2VudGVyIGFsaWdubWVudCwgbGVmdCBzdGFydCBvZgor
ICAgIC8vIHRoZSB0ZXh0IGxpbmUgaXMgbm90IHRoZSBzYW1lIGFzIGxlZnQgc3RhcnQgb2YgdGhl
IGNvbnRhaW5pbmcgYmxvY2suCisgICAgaW50IG1feHBvczsgIAogICAgIGludCBtX3BhZGRpbmc7
CiAjaWYgRU5BQkxFKFNWRykKICAgICBmbG9hdCBtX2hvcml6b250YWxHbHlwaFN0cmV0Y2g7Cklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzEzNjIpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4
MiwxMCArMTA4MiwxMSBAQCB1bnNpZ25lZCBJbmxpbmVUZXh0Qm94OjpjYXJldE1heFJlbmRlcmVk
CiAKIGludCBJbmxpbmVUZXh0Qm94Ojp0ZXh0UG9zKCkgY29uc3QKIHsKKyAgICAvLyBXaGVuIGNv
bXB1dGluZyB0aGUgd2lkdGggb2YgYSB0ZXh0IHJ1biwgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbmxp
bmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JMaW5lKCkgZG9lc24ndCBpbmNsdWRlIHRoZSBhY3R1YWwg
b2Zmc2V0CisgICAgLy8gZnJvbSB0aGUgY29udGFpbmluZyBibG9jayBlZGdlIGluIGl0cyBtZWFz
dXJlbWVudC4gdGV4dFBvcygpIHNob3VsZCBiZSBjb25zaXN0ZW50IHNvIHRoZSB0ZXh0IGFyZSBy
ZW5kZXJlZCBpbiB0aGUgc2FtZSB3aWR0aC4KICAgICBpZiAobG9naWNhbExlZnQoKSA9PSAwKQog
ICAgICAgICByZXR1cm4gMDsKLSAgICBSZW5kZXJCbG9jayogYmxvY2tFbGVtZW50ID0gcmVuZGVy
ZXIoKS0+Y29udGFpbmluZ0Jsb2NrKCk7Ci0gICAgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkgLSBibG9j
a0VsZW1lbnQtPmJvcmRlclN0YXJ0KCkgLSBibG9ja0VsZW1lbnQtPnBhZGRpbmdTdGFydCgpOwor
ICAgIHJldHVybiBsb2dpY2FsTGVmdCgpIC0gcm9vdCgpLT5sb2dpY2FsTGVmdCgpOwogfQogCiBp
bnQgSW5saW5lVGV4dEJveDo6b2Zmc2V0Rm9yUG9zaXRpb24oaW50IGxpbmVPZmZzZXQsIGJvb2wg
aW5jbHVkZVBhcnRpYWxHbHlwaHMpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVUZXh0Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJv
eC5oCShyZXZpc2lvbiA3MTM2MikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
aAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDcgKzExOCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgdmlydHVhbCB1bnNpZ25lZCBjYXJldE1heFJlbmRlcmVkT2Zmc2V0KCkgY29uc3Q7CiAKLSAg
ICBpbnQgdGV4dFBvcygpIGNvbnN0OworICAgIGludCB0ZXh0UG9zKCkgY29uc3Q7IC8vIHJldHVy
bnMgdGhlIHggcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2YgdGhlIHRleHQg
bGluZS4KIAogcHVibGljOgogICAgIHZpcnR1YWwgaW50IG9mZnNldEZvclBvc2l0aW9uKGludCB4
LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzID0gdHJ1ZSkgY29uc3Q7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA3MTM2NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDI5IEBACisyMDEwLTExLTA0ICBYaWFvbWVpIEppICA8eGppQGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggdGFi
IG92ZXJmbG93IHByb2JsZW0gd2hlbiBhbGlnbm1lbnQgaXMgbm90IGxlZnQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTQ1OQorCisgICAgICAgIEkg
Y2hlY2tlZCBXb3JkUGFkIGluIFdpbmRvd3MsIFRleHRFZGl0IGluIE1hYywgT3Blbk9mZmljZSwg
YW5kIEdvb2dsZSBkb2MuIAorICAgICAgICBJbiBhbGwgb2YgdGhlbSwgKHdoZW4gdGhlIHdyaXRp
bmcgbW9kZSBpcyBob3Jpem9udGFsKSB3aGVuIHRoZSBhbGlnbm1lbnQgaXMgbm90CisgICAgICAg
IGxlZnQgYWxpZ25tZW50LCB0aGUgbGVuZ3RoIG9mIHRhYiBpcyBjb21wdXRlZCBiYXNlZCBvbiB0
aGUgdGFiJ3MgcG9zaXRpb24KKyAgICAgICAgcmVsYXRpdmUgdG8gdGhlIGxlZnQgc3RhcnQgb2Yg
bGluZSwgbm90IGJhc2VkIG9uIHRoZSB0YWIncyBwb3NpdGlvbiByZWxhdGl2ZSAKKyAgICAgICAg
dG8gdGhlIGxlZnQgZWRnZSBvZiB0aGUgZG9jdW1lbnQuCisKKyAgICAgICAgV2ViS2l0IHNob3Vs
ZCBmb2xsb3cgdGhlIHNhbWUuCisKKyAgICAgICAgVGhlIG1feFBvcyBpbiBlYWNoIFRleHRSdW4g
c2hvdWxkIGJlIHJlbGF0aXZlIHRvIHRoZSBsZWZ0IHN0YXJ0IG9mIHRoZSBsaW5lLCAKKyAgICAg
ICAgbm90IGxlZnQgc3RhcnQgb2YgaXRzIGNvbnRhaW5pbmcgYmxvY2sgKGluIHJpZ2h0IGFsaWdu
bWVudCBhbmQgY2VudGVyIGFsaWdubWVudCwKKyAgICAgICAgbGVmdCBzdGFydCBvZiB0aGUgbGlu
ZSBpcyBub3QgdGhlIHNhbWUgYXMgbGVmdCBzdGFydCBvZiB0aGUgY29udGFpbmluZyBibG9jayku
CisgICAgICAgIFNvLCB3aGVuIHRoZSB0ZXh0IGlzIGRyYXduLCB0aGUgd2lkdGggb2YgdGFiIGlz
IGNvbnNpc3RlbnQgd2l0aCB0aGUgd2lkdGggCisgICAgICAgIGNvbXB1dGVkIGluIFJlbmRlckJs
b2NrOjpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yTGluZSgpLgorCisgICAgICAg
IEkgZGlkIG5vdCB0ZXN0IHZlcnRpY2FsIHdyaXRpbmcgbW9kZSwgYnV0IEkgdGhpbmsgdGhlIHNh
bWUgcnVsZSBzaG91bGQgYXBwbHkuCisKKyAgICAgICAgKiBmYXN0L2RvbS90YWItaW4tcmlnaHQt
YWxpZ25tZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vdGFiLWlu
LXJpZ2h0LWFsaWdubWVudC5odG1sOiBBZGRlZC4KKwogMjAxMC0xMS0wMyAgWmhlbnlhbyBNbyAg
PHptb0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3RhYi1pbi1yaWdodC1hbGlnbm1lbnQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3RhYi1pbi1yaWdodC1h
bGlnbm1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9k
b20vdGFiLWluLXJpZ2h0LWFsaWdubWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMiBAQAorUEFTUworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vdGFiLWlu
LXJpZ2h0LWFsaWdubWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9t
L3RhYi1pbi1yaWdodC1hbGlnbm1lbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL3RhYi1pbi1yaWdodC1hbGlnbm1lbnQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+IAorPGh0bWw+IAorPGhlYWQ+IAorPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIg
PgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiBsb2coc3RyKSAKKyAgICB7CisgICAgICAgIHZhciBs
aSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgICAgIGxpLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN0cikpOworICAgICAgICB2YXIgY29uc29sZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisgICAgICAgIGNvbnNvbGUuYXBwZW5k
Q2hpbGQobGkpOworICAgIH0KKyAgICAKKyAgICBvbmxvYWQgPSBmdW5jdGlvbigpIAorICAgIHsK
KyAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkaXYiKTsKKyAgICAg
ICAgdmFyIHByZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwcmUiKTsKKyAgICAgICAgdmFy
IHJpZ2h0T2ZDbGllbnRCb3ggPSBkaXYuY2xpZW50V2lkdGggKyBkaXYub2Zmc2V0TGVmdCAtIDIw
OyAvLyAyMCBmb3IgcmlnaHQgcGFkZGluZyBpbiAnZGl2JyBhbmQgJ3ByZScuCisgICAgICAgIGlm
ICh3aW5kb3cudGV4dElucHV0Q29udHJvbGxlcikgeworICAgICAgICAgICAgdmFyIGNhcmV0UmVj
dCA9IHRleHRJbnB1dENvbnRyb2xsZXIuZmlyc3RSZWN0Rm9yQ2hhcmFjdGVyUmFuZ2UoMCwgMCk7
CisgICAgICAgICAgICB2YXIgeE9mUmlnaHRtb3N0Q2hhcmFjdGVyID0gY2FyZXRSZWN0WzBdOwor
ICAgICAgICAgICAgaWYgKHhPZlJpZ2h0bW9zdENoYXJhY3RlciA+IHJpZ2h0T2ZDbGllbnRCb3gp
CisgICAgICAgICAgICAgICAgbG9nKCJGQUlMRUQ6IHJpZ2h0bW9zdCBjaGFyYWN0ZXIgKGF0ICIg
KyB4T2ZSaWdodG1vc3RDaGFyYWN0ZXIgKyAiKSBpcyBiZXlvbmQgdGhlIHJpZ2h0IGVkZ2UgKCIg
KyByaWdodE9mQ2xpZW50Qm94ICsgIikgb2YgY2xpZW50IGJveCIpOworICAgICAgICAgICAgZWxz
ZSAKKyAgICAgICAgICAgICAgICBsb2coIlBBU1MiKTsKKyAgICAgICAgICAgIGNhcmV0UmVjdCA9
IHRleHRJbnB1dENvbnRyb2xsZXIuZmlyc3RSZWN0Rm9yQ2hhcmFjdGVyUmFuZ2UoMSwgMCk7Cisg
ICAgICAgICAgICBpZiAoY2FyZXRSZWN0WzBdID49IHhPZlJpZ2h0bW9zdENoYXJhY3RlcikKKyAg
ICAgICAgICAgICAgICBsb2coIkZBSUxFRDogc2Vjb25kIHJpZ2h0bW9zdCBjaGFyYWN0ZXIgKGF0
ICIgKyBjYXJldFJlY3RbMF0gKyAiKSBpcyBvbiBvciBiZXlvbmQgdGhlIHJpZ2h0IGVkZ2UgKCIg
KyByaWdodE9mQ2xpZW50Qm94ICsgIikgb2YgY2xpZW50IGJveCIpOworICAgICAgICAgICAgZWxz
ZSAKKyAgICAgICAgICAgICAgICBsb2coIlBBU1MiKTsKKyAgICAgICAgfQorICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgZGl2LnN0eWxlLmRpc3Bs
YXkgPSAibm9uZSI7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCis8L3Njcmlw
dD4KKzwvaGVhZD4gCis8Ym9keT4gCis8ZGl2IGNvbnRlbnRlZGl0YWJsZSBpZD0iZGl2IiBkaXI9
InJ0bCIgc3R5bGU9InBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci13aWR0aDogMTBweDsgd2lk
dGg6IDQwZXg7Ym9yZGVyOiBzb2xpZCAxcHg7Ij48cHJlIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiAx
MHB4OyBib3JkZXItd2lkdGg6IDEwcHgiIGlkPSJwcmUiPtek15XXqNeh1506IAkyNC4wNC4wOSwg
MjE6MTQ8L3ByZT48L2Rpdj4gCis8dWwgaWQ9ImNvbnNvbGUiPjwvdWw+Cis8L2JvZHk+IAorPC9o
dG1sPiAKKyAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkocmV2aXNpb24gNzEzNjIpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0yOTgs
NiArMjk4LDcgQEAgZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXRhYi0wMDMuaHRtbAogZWRpdGlu
Zy9pbnNlcnRpbmcvaW5zZXJ0LXRleHQtd2l0aC1uZXdsaW5lcy5odG1sCiAjIE1pc3NpbmcgdGV4
dElucHV0Q29udHJvbGxlci5maXJzdFJlY3RGb3JDaGFyYWN0ZXJSYW5nZSgpCiBlZGl0aW5nL2lu
c2VydGluZy9jYXJldC1wb3NpdGlvbi5odG1sCitmYXN0L2RvbS90YWItaW4tcmlnaHQtYWxpZ25t
ZW50Lmh0bWwKIAogIyAtLS0tIHRvIGJlIHJldmlld2VkCiBlZGl0aW5nL2luc2VydGluZy80Mjc4
Njk4Lmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>75829</attachid>
            <date>2010-12-07 11:07:33 -0800</date>
            <delta_ts>2010-12-13 16:09:21 -0800</delta_ts>
            <desc>test case for textarea</desc>
            <filename>25459_textarea.htm</filename>
            <type>text/html</type>
            <size>135</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">77u/PCFET0NUWVBFIGh0bWw+IA0KPGh0bWw+IA0KPGhlYWQ+DQo8L2hlYWQ+IA0KPGJvZHk+IA0K
PHRleHRhcmVhIGRpcj1ydGw+16TXldeo16HXnTogCTI0LjA0LjA5LCAyMToxNDwvdGV4dGFyZWE+
IA0KPC9ib2R5PiANCjwvaHRtbD4g
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>76462</attachid>
            <date>2010-12-13 16:09:21 -0800</date>
            <delta_ts>2010-12-13 16:09:21 -0800</delta_ts>
            <desc>test case for Mac port</desc>
            <filename>25459_safari.html</filename>
            <type>text/html</type>
            <size>176</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">77u/PCFET0NUWVBFIGh0bWw+IA0KPGh0bWw+IA0KPGhlYWQ+DQo8L2hlYWQ+IA0KPGJvZHk+IA0K
PHRleHRhcmVhIHN0eWxlPSJmb250LXNpemU6IGxhcmdlOyB3aWR0aDogMTgzcHgiIGRpcj1ydGw+
16TXldeo16HXnTogCTI0LjA0LjA5LCAyMToxNDwvdGV4dGFyZWE+IA0KPC9ib2R5PiANCjwvaHRt
bD4gDQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>