<?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>29564</bug_id>
          
          <creation_ts>2009-09-21 08:12:13 -0700</creation_ts>
          <short_desc>[Qt] Webkit Button Size</short_desc>
          <delta_ts>2010-01-27 16:37:31 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tor Arne Vestbø">vestbo</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>ossy</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>148667</commentid>
    <comment_count>0</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-09-21 08:12:13 -0700</bug_when>
    <thetext>This bug report originated from Nokia internal issue QT-1730


--- Comments ---

Product
Qt

Function
ActiveQt

Version
4.5.2

Platform
Windows XP

Platform details
Both Linux &amp;amp; Windows XP

Compilers
MSVC

Compiler details
Buoth MSVC and Gcc

Subject
Webkit Button Size

Steps to reproduce / test case
Try this page

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body &amp;gt;
&amp;lt;button type=&amp;quot;button&amp;quot; style=&amp;quot;width:300px;height:250px;&amp;quot; value=&amp;quot;bootone&amp;quot;&amp;gt;botz&amp;lt;/button&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

Webkit display correctly button width, but height is fixed to 30 pixels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181154</commentid>
    <comment_count>1</comment_count>
      <attachid>46656</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-15 01:46:25 -0800</bug_when>
    <thetext>Created attachment 46656
Patch with test case

Notice, the Mac ports ignore the specified height for &lt;input type=&quot;button&quot;&gt; elements unless a border, and/or background CSS property is also specified (because method RenderTheme::isControlStyled returns false on line 72 of RenderTheme.cpp &lt;http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderTheme.cpp?rev=52432#L72&gt;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181156</commentid>
    <comment_count>2</comment_count>
      <attachid>46658</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-15 01:49:23 -0800</bug_when>
    <thetext>Created attachment 46658
Self-contained layout test

For convenience, here is a self-contained version of the layout test included in the patch &lt;https://bugs.webkit.org/attachment.cgi?id=46656&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181168</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-01-15 02:30:54 -0800</bug_when>
    <thetext>What is up with the self-contained layout test? It doesnt even open here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181176</commentid>
    <comment_count>4</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-01-15 02:54:36 -0800</bug_when>
    <thetext>Cool stuff, thanks for looking into this Daniel!

It does not seem like we return anything for navigator.platform on Qt/Mac, so
the check expects 40, resulting in a failed layout-tests on Qt/Mac.

Also, I&apos;m wondering if we should perhaps base these decisions in the
RenderTheme at runtime based on the current QStyle, rather then Q_WS_MAC, since
we might be running with -style windows, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181177</commentid>
    <comment_count>5</comment_count>
      <attachid>46656</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-01-15 02:58:35 -0800</bug_when>
    <thetext>Comment on attachment 46656
Patch with test case

sorry, r- as per the above comments

Won&apos;t the expected result with button5=18 fail when put into LayoutTests/fast/css/button-height-expected.txt ? I mean, it&apos;s only going to work for mac and possibly qt-mac, the other platforms, win, qt, etc should have a expected file with 40 no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181268</commentid>
    <comment_count>6</comment_count>
      <attachid>46687</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-15 10:25:59 -0800</bug_when>
    <thetext>Created attachment 46687
Patch with test cases

Updated patch based on IRC discussion last night with Tor Arne Vestbø and Kenneth Christiansen.

Patch also substitutes a runtime check for the macro Q_WS_MAC.

Now, that bug #33711 has been resolved we can use navigator.platform in the layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181270</commentid>
    <comment_count>7</comment_count>
      <attachid>46688</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-15 10:28:35 -0800</bug_when>
    <thetext>Created attachment 46688
Patch with test case

Fixed lack of indent on line added to RenderThemeQt::RenderThemeQt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181272</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-15 10:32:39 -0800</bug_when>
    <thetext>Attachment 46688 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/qt/RenderThemeQt.cpp:412:  Missing space before {  [whitespace/braces] [5]
Total errors found: 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181274</commentid>
    <comment_count>9</comment_count>
      <attachid>46689</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-15 10:41:34 -0800</bug_when>
    <thetext>Created attachment 46689
Patch with test case

Fix style error found by style bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181314</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-15 12:26:54 -0800</bug_when>
    <thetext>Attachment 46689 did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/190443</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181317</commentid>
    <comment_count>11</comment_count>
      <attachid>46689</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-15 12:29:34 -0800</bug_when>
    <thetext>Comment on attachment 46689
Patch with test case

Looks like QMacStyle cannot be found. Clearing review flag while I look into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181793</commentid>
    <comment_count>12</comment_count>
      <attachid>46689</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-01-18 01:59:19 -0800</bug_when>
    <thetext>Comment on attachment 46689
Patch with test case

&gt; +    if (qobject_cast&lt;QMacStyle*&gt;(qStyle()) {

There&apos;s a closing ) missing here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181825</commentid>
    <comment_count>13</comment_count>
      <attachid>46689</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-01-18 04:26:54 -0800</bug_when>
    <thetext>Comment on attachment 46689
Patch with test case

Thanks for the updated patch Daniel!

&gt; +#include &lt;QMacStyle&gt;

QMacStyle is only available on mac, so this has to be wrapped in Q_WS_MAC

&gt;      QFont defaultButtonFont = QApplication::font(&amp;button);
&gt;      QFontInfo fontInfo(defaultButtonFont);
&gt;      m_buttonFontFamily = defaultButtonFont.family();
&gt; -#ifdef Q_WS_MAC
&gt; -    m_buttonFontPixelSize = fontInfo.pixelSize();
&gt; -#endif
&gt; +    if (qobject_cast&lt;QMacStyle*&gt;(qStyle()))
&gt; +        m_buttonFontPixelSize = fontInfo.pixelSize();
&gt;  }

We can&apos;t reference the style in the ctor like this, it&apos;s too early. You could move the init code into adjustButtonSizes() where those two members are used and use static variables there to cache it.

the QMacStyle check also has to be wrapped in Q_WS_MAC like the include

&gt; +    if (qobject_cast&lt;QMacStyle*&gt;(qStyle()) &amp;&amp; style-&gt;appearance() == PushButtonPart) {

Same

&gt; +    if (qobject_cast&lt;QMacStyle*&gt;(qStyle()) {

Same


&gt; Index: LayoutTests/fast/css/button-height-expected.txt
&gt; ===================================================================
&gt; --- LayoutTests/fast/css/button-height-expected.txt	(revision 0)
&gt; +++ LayoutTests/fast/css/button-height-expected.txt	(revision 0)
&gt; @@ -0,0 +1,13 @@

This is a cross-platform expected file, which means it must be valid for mac, win, qt, gtk, qt-mac, etc if there are no overrides in platform/port-spesific results.

&gt; +PASS document.getElementById(&apos;button1&apos;).offsetHeight is document.getElementById(&apos;button2&apos;).offsetHeight
&gt; +PASS document.getElementById(&apos;button3&apos;).offsetHeight is 40
&gt; +PASS document.getElementById(&apos;button4&apos;).offsetHeight is 40
&gt; +PASS document.getElementById(&apos;button5&apos;).offsetHeight is 18

The hard-coded result of 18 here will not match for example qt, gtk, where the button will have a height of 40.

&gt; +    shouldEvaluateTo(&quot;document.getElementById(&apos;button5&apos;).offsetHeight&quot;, 
&gt; +        (navigator.platform.indexOf(&quot;Mac&quot;) !== -1) ? document.getElementById(&quot;button1&quot;).offsetHeight : 40);

This one is tricky. For Qt we run the DRT with -style windows on all platforms, which means that with the runtime check in RenderThemeQt we&apos;ll render the button 40 pixel high, but navigator.platform will still return MacIntel, so we&apos;ll expect the height to be button1.

I guess the easiest here would be to change this line into dumping the height of the button5, and then using the expected-file to detect failure, with the cross-platform expected file expecting 40, and then a platform-specific expected file with 18 in the mac results.

(or a number of platform-specific expected files with 40 instead of a shared cross-platform one) + the mac one with 18</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182114</commentid>
    <comment_count>14</comment_count>
      <attachid>46882</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-18 20:10:00 -0800</bug_when>
    <thetext>Created attachment 46882
Patch with test case

It is unclear to me how we benefit from using QMacStyle instead of the macro definition Q_WS_MAC since we need to use Q_WS_MAC anyway to conditionally #include &lt;QMacStyle&gt; and surround any code blocks that use QMacStyle. So, I have removed the changes related to QMacStyle from the patch. If we do decide to switch to using QMacStyle, I suggest we do this in a separate bug.

Moreover, I have updated the layout test and expected results so that we do not need platform-specific results. I chose to output a custom PASS/FAIL message when testing the fifth button in the test case instead of outputting the height of the button (which is platform-specific) so as to avoid the need for platform-specific results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182665</commentid>
    <comment_count>15</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-01-20 01:33:32 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; It is unclear to me how we benefit from using QMacStyle instead of the macro
&gt; definition Q_WS_MAC since we need to use Q_WS_MAC anyway to conditionally
&gt; #include &lt;QMacStyle&gt; and surround any code blocks that use QMacStyle.

QMacStyle is only available on Mac, so we have to ifdef it&apos;s use to make QtWebKit compile on other platforms. But on Mac, where the style is available, we can make a runtime check, to see if QtWebKit is running with the Mac style or one of the other styles (-style windows or -style plastique for example).

But that&apos;s okey, we can defer runtime stylechecks to a later patch. It has problems of its own since we don&apos;t report the runtime style back to JS or the DRT in any way, so layout-tests will still think they are running against &quot;MacIntel&quot; for example, even though the tests are running with the windows-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183017</commentid>
    <comment_count>16</comment_count>
      <attachid>46882</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-20 18:31:46 -0800</bug_when>
    <thetext>Comment on attachment 46882
Patch with test case

Clearing flags on attachment: 46882

Committed r53591: &lt;http://trac.webkit.org/changeset/53591&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183018</commentid>
    <comment_count>17</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-20 18:31:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183039</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-20 19:29:42 -0800</bug_when>
    <thetext>This caused failures on the Qt bot:
http://build.webkit.org/results/Qt%20Linux%20Release/r53591%20(6284)/fast/replaced/table-percent-height-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183072</commentid>
    <comment_count>19</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-20 21:08:26 -0800</bug_when>
    <thetext>Rolled out patch &lt;https://bugs.webkit.org/attachment.cgi?id=46882&gt; in change set 53601 &lt;http://trac.webkit.org/changeset/53601&gt; as it caused a regression of test /fast/replaced/table-percent-height.html on the Qt bot.

Need to look into this further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183497</commentid>
    <comment_count>20</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-21 22:54:36 -0800</bug_when>
    <thetext>I have confirmed that both the Apple and Chromium Windows ports fail the test &lt;http://trac.webkit.org/export/53675/trunk/LayoutTests/fast/replaced/table-percent-height.html&gt; (when run by hand) with respect to percentage button heights within a parent with an unspecified height. 

Note, the reason that the Apple Windows DRT bot does not fail the test is because it uses the Mac theme for controls instead of the native Windows theme, see bug #25592. Hence, it matches the Mac result, which sets the height of the button to the minimum height necessary to display the button label (by default - see comment in patch for more details).

Moreover, the Apple, Chromium, and Qt ports don&apos;t conform to the CSS 2.1 spec. with regards to the heights of buttons. We should file this as a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183504</commentid>
    <comment_count>21</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-21 23:13:38 -0800</bug_when>
    <thetext>I mean&apos;t to add that this patch brings Qt in line with the behavior on both the Mac ports and the Windows ports.

Since the Qt DRT bot does not use the Mac theme (like the Win DRT bot does), it fails fast/replaced/table-percent-height.html.

Although we should make all the ports adhere to the CSS 2.1 spec. with regards to button heights, I suggest we do this in a separate bug.

We have the following options: 1) Land this patch with expected failing results for Qt Win/Linux and file a follow-up bug. 2) Land this patch and skip the test on Qt Win/Linux.

I think landing this patch with expected failing results for the Qt Win/Linux ports is best, since the majority of the test cases in the test pass (4/44 tests fail).

I am open to thoughts on this matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184188</commentid>
    <comment_count>22</comment_count>
      <attachid>47320</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-25 00:00:18 -0800</bug_when>
    <thetext>Created attachment 47320
Patch with test case

Updated patch to include expected failure results for the test /LayoutTests/fast/replaced/table-percent-height.html on the Qt port.

I suggest that we land this patch with expected failure results for now since this patch brings the Qt port in line with the functionality in both the Mac and Windows ports.

As aforementioned, I have confirmed that the other Windows ports also fail this test when run by hand. I filed bug #34071 about these failures and updated the test case table-percent-height.html (in this patch) to reference this bug number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184933</commentid>
    <comment_count>23</comment_count>
      <attachid>47320</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-26 21:29:25 -0800</bug_when>
    <thetext>Comment on attachment 47320
Patch with test case

Clearing flags on attachment: 47320

Committed r53897: &lt;http://trac.webkit.org/changeset/53897&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184934</commentid>
    <comment_count>24</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-26 21:29:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185269</commentid>
    <comment_count>25</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-27 16:24:24 -0800</bug_when>
    <thetext>This test failed on Windows since it was created. Landed expected failing results for Windows in r53959.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185273</commentid>
    <comment_count>26</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-01-27 16:37:31 -0800</bug_when>
    <thetext>Just want to clarify that we are landing expected failure results because of bug #25592. That is, Apple Windows DRT uses the Mac theme to render buttons instead of the native Windows theme. So, the button height under DRT is equivalent to the Mac button height. The test assumes that the theme used corresponds to the native theme for the platform. That is, if the platform is Windows, then controls are drawn using the Windows theme. Hence, the fifth button test in the test case fails because we determine the expected height of the button with respect to the platform instead of the theme. 

Note, the test case passes under the Apple Windows port when run manually. 

(In reply to comment #25)
&gt; This test failed on Windows since it was created. Landed expected failing
&gt; results for Windows in r53959.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46656</attachid>
            <date>2010-01-15 01:46:25 -0800</date>
            <delta_ts>2010-01-15 10:25:59 -0800</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug29564.patch</filename>
            <type>text/plain</type>
            <size>6379</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzMyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTAtMDEtMTUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTU2NAorCisgICAgICAgIFtR
dF0gRml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGhlaWdodCBvZiA8YnV0dG9uPi0gYW5kCisgICAg
ICAgIDxpbnB1dCB0eXBlPSJidXR0b24iPi0gZWxlbWVudHMgYXJlIGZpeGVkIHRvIHRoZSBoZWln
aHQgb2YgdGhlCisgICAgICAgIGJ1dHRvbiBsYWJlbCBmb250IHBsdXMgcGFkZGluZy4gVGhhdCBp
cywgdGhlIENTUyBoZWlnaHQgcHJvcGVydHkKKyAgICAgICAgaXMgYmVpbmcgaWdub3JlZC4KKwor
ICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91bGQgaG9ub3IgdGhlIHVzZXItc3BlY2lmaWVkIGhlaWdo
dCwgaWYgYXBwcm9wcmlhdGUKKyAgICAgICAgZm9yIHRoZSBwbGF0Zm9ybSBhbmQgY29udGV4dC4g
Tm90aWNlLCB0aGUgTWFjIHBvcnRzIGRvIG5vdCBob25vciB0aGUKKyAgICAgICAgaGVpZ2h0IGZv
ciA8aW5wdXQgdHlwZT0iYnV0dG9uIj4gZWxlbWVudHMgdW5sZXNzIGEgYm9yZGVyIGFuZC9vcgor
ICAgICAgICBiYWNrZ3JvdW5kIGlzIGFsc28gc3BlY2lmaWVkLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvY3NzL2J1dHRvbi1oZWlnaHQuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVy
VGhlbWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RCdXR0
b25TdHlsZSk6IAorCiAyMDEwLTAxLTE1ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCShyZXZpc2lvbiA1MzMxOSkKKysrIFdlYkNvcmUvcGxh
dGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5Nyw4ICszOTcs
MTIgQEAgdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RCdXR0b25TdHlsZShDUwogICAgIC8vIERp
dGNoIHRoZSBib3JkZXIuCiAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7CiAKLSAgICAvLyBIZWln
aHQgaXMgbG9ja2VkIHRvIGF1dG8uCi0gICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoQXV0bykp
OworI2lmZGVmIFFfV1NfTUFDCisgICAgLy8gVGhlIE1hYyBwb3J0cyBpZ25vcmUgdGhlIHNwZWNp
ZmllZCBoZWlnaHQgZm9yIDxpbnB1dCB0eXBlPSJidXR0b24iPiBlbGVtZW50cworICAgIC8vIHVu
bGVzcyBhIGJvcmRlciBhbmQvb3IgYmFja2dyb3VuZCBDU1MgcHJvcGVydHkgaXMgYWxzbyBzcGVj
aWZpZWQuCisgICAgaWYgKHN0eWxlLT5hcHBlYXJhbmNlKCkgPT0gUHVzaEJ1dHRvblBhcnQpCisg
ICAgICAgIHN0eWxlLT5zZXRIZWlnaHQoTGVuZ3RoKEF1dG8pKTsKKyNlbmRpZgogCiAgICAgLy8g
V2hpdGUtc3BhY2UgaXMgbG9ja2VkIHRvIHByZQogICAgIHN0eWxlLT5zZXRXaGl0ZVNwYWNlKFBS
RSk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1MzMyNikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTAxLTE1ICBEYW5pZWwgQmF0ZXMg
IDxkYmF0ZXNAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk1
NjQKKyAgICAgICAgCisgICAgICAgIFRlc3RzIHRoYXQgdGhlIHVzZXItc3BlY2lmaWVkIGhlaWdo
dCBmb3IgPGJ1dHRvbj4tIGFuZCA8aW5wdXQgdHlwZT0iYnV0dG9uIj4tCisgICAgICAgIGVsZW1l
bnRzIGFyZSBob25vcmVkLCBpZiBhcHByb3ByaWF0ZSBmb3IgdGhlIHBsYXRmb3JtIGFuZCBjb250
ZXh0LgorCisgICAgICAgICogZmFzdC9jc3MvYnV0dG9uLWhlaWdodC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2J1dHRvbi1oZWlnaHQuaHRtbDogQWRkZWQuCisKIDIw
MTAtMDEtMTQgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBCcmFkeSBFaWRzb24uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9idXR0
b24taGVpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy9idXR0b24taGVpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvY3NzL2J1dHRvbi1oZWlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDEzIEBACitUaGlzIHRlc3RzIHRoYXQgdGhlIHNwZWNpZmllZCBoZWlnaHQgaXMgaG9ub3Jl
ZCAoKikgZm9yIDxpbnB1dD4gYW5kIDxidXR0b24+IGVsZW1lbnRzLgorKCopIFRoZSBNYWMgcG9y
dHMgaWdub3JlIHRoZSBzcGVjaWZpZWQgaGVpZ2h0IGZvciA8aW5wdXQgdHlwZT0iYnV0dG9uIj4g
ZWxlbWVudHMgdW5sZXNzIGEgYm9yZGVyIGFuZC9vciBiYWNrZ3JvdW5kIENTUyBwcm9wZXJ0eSBp
cyBhbHNvIHNwZWNpZmllZCAoc2VlIHRoZSBmaWZ0aCBidXR0b24gYmVsb3cpLiBEaXNyZWdhcmRp
bmcgcGFkZGluZywgdGhleSByZW5kZXIgdGhlIGJ1dHRvbiB3aXRoIGEgaGVpZ2h0IGVxdWFsIHRv
IHRoZSBoZWlnaHQgb2YgdGhlIGZvbnQgdXNlZCBmb3IgdGhlIGJ1dHRvbiBsYWJlbC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2J1dHRvbjEnKS5vZmZzZXRIZWlnaHQgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRv
bjInKS5vZmZzZXRIZWlnaHQKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjMn
KS5vZmZzZXRIZWlnaHQgaXMgNDAKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRv
bjQnKS5vZmZzZXRIZWlnaHQgaXMgNDAKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1
dHRvbjUnKS5vZmZzZXRIZWlnaHQgaXMgMTgKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy9idXR0b24taGVpZ2h0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDUxIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjYnV0dG9uMywgI2J1dHRv
bjUgeyBoZWlnaHQ6IDQwcHg7IH0KKyNidXR0b240IHsgaGVpZ2h0OiA0MHB4OyBiYWNrZ3JvdW5k
LWNvbG9yOiB5ZWxsb3c7IH0KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
K3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgc2hvdWxkQmUoImRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdidXR0b24xJykub2Zmc2V0SGVpZ2h0IiwgImRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdidXR0b24yJykub2Zmc2V0SGVpZ2h0Iik7CisgICAgc2hvdWxkRXZhbHVhdGVUbygi
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjMnKS5vZmZzZXRIZWlnaHQiLCA0MCk7Cisg
ICAgc2hvdWxkRXZhbHVhdGVUbygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjQnKS5v
ZmZzZXRIZWlnaHQiLCA0MCk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygiZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2J1dHRvbjUnKS5vZmZzZXRIZWlnaHQiLCAKKyAgICAgICAgKG5hdmlnYXRvci5w
bGF0Zm9ybS5pbmRleE9mKCJNYWMiKSAhPT0gLTEpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImJ1dHRvbjUiKS5vZmZzZXRIZWlnaHQgOiA0MCk7CisgICAgCisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICB2YXIgdGVzdENvbnRhaW5lciA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0LWNvbnRhaW5lciIpOworICAgICAgICBpZiAodGVzdENvbnRh
aW5lcikKKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5l
cik7ICAgCisgICAgfQorICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBD
T01QTEVURTwvc3Bhbj4nKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgICA8b2w+Cisg
ICAgICAgIDxsaT48aW5wdXQgaWQ9ImJ1dHRvbjEiIHR5cGU9ImJ1dHRvbiIgdmFsdWU9InVuc3Bl
Y2lmaWVkIGhlaWdodCIvPjxwPjxzdHJvbmc+RXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPiBoZWln
aHQgb2YgYnV0dG9uIGxhYmVsIGZvbnQuPC9wPjwvbGk+CisgICAgICAgIDxsaT48YnV0dG9uIGlk
PSJidXR0b24yIj51bnNwZWNpZmllZCBoZWlnaHQ8L2J1dHRvbj48cD48c3Ryb25nPkV4cGVjdGVk
IGhlaWdodDo8L3N0cm9uZz4gaGVpZ2h0IG9mIGJ1dHRvbiBsYWJlbCBmb250LjwvcD48L2xpPgor
ICAgICAgICA8bGk+PGJ1dHRvbiBpZD0iYnV0dG9uMyI+aGVpZ2h0IDQwIHBpeGVsczwvYnV0dG9u
PjxwPjxzdHJvbmc+RXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPiA0MCBwaXhlbHMuPC9wPjwvbGk+
CisgICAgICAgIDxsaT48aW5wdXQgaWQ9ImJ1dHRvbjQiIHR5cGU9ImJ1dHRvbiIgdmFsdWU9Imhl
aWdodCA0MCBwaXhlbHMsIGJhY2tncm91bmQgeWVsbG93Ii8+PHA+PHN0cm9uZz5FeHBlY3RlZCBo
ZWlnaHQ6PC9zdHJvbmc+IDQwIHBpeGVscy48L3A+PC9saT4KKyAgICAgICAgPGxpPjxpbnB1dCBp
ZD0iYnV0dG9uNSIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iaGVpZ2h0IDQwIHBpeGVscyAoKikiLz48
cD48c3Ryb25nPigqKSBFeHBlY3RlZCBoZWlnaHQ6PC9zdHJvbmc+PGJyLz5NYWM6IGhlaWdodCBv
ZiBidXR0b24gbGFiZWwgZm9udC48YnIvPk90aGVyOiA0MCBwaXhlbHMuPC9wPjwvbGk+CisgICAg
PC9vbD4KKzwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHRoZSBzcGVjaWZpZWQgaGVpZ2h0IGlz
IGhvbm9yZWQgKCopIGZvciAmbHQ7aW5wdXQmZ3Q7IGFuZCAmbHQ7YnV0dG9uJmd0OyBlbGVtZW50
cy48YnIvPiIgKworICAgICAgICAgICAgICAgICIoKikgVGhlIE1hYyBwb3J0cyBpZ25vcmUgdGhl
IHNwZWNpZmllZCBoZWlnaHQgZm9yICZsdDtpbnB1dCB0eXBlPSZxdW90O2J1dHRvbiZxdW90OyZn
dDsgZWxlbWVudHMgdW5sZXNzIGEgIiArCisgICAgICAgICAgICAgICAgImJvcmRlciBhbmQvb3Ig
YmFja2dyb3VuZCBDU1MgcHJvcGVydHkgaXMgYWxzbyBzcGVjaWZpZWQgKHNlZSB0aGUgZmlmdGgg
YnV0dG9uIGJlbG93KS4gRGlzcmVnYXJkaW5nICIgKworICAgICAgICAgICAgICAgICJwYWRkaW5n
LCB0aGV5IHJlbmRlciB0aGUgYnV0dG9uIHdpdGggYSBoZWlnaHQgZXF1YWwgdG8gdGhlIGhlaWdo
dCBvZiB0aGUgZm9udCB1c2VkIGZvciB0aGUgYnV0dG9uIGxhYmVsLiIpOworICAgIHZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="28955"
          type_id="1"
          status="-"
          setter="vestbo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>46658</attachid>
            <date>2010-01-15 01:49:23 -0800</date>
            <delta_ts>2010-01-15 10:25:59 -0800</delta_ts>
            <desc>Self-contained layout test</desc>
            <filename>button-height-selfcontained.html</filename>
            <type>text/html</type>
            <size>2614</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvZXhwb3J0LzUzMzI3L3RydW5rL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KPHNjcmlwdCBzcmM9Imh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
ZXhwb3J0LzUzMzI3L3RydW5rL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KPHN0eWxlPgojYnV0dG9uMywgI2J1dHRvbjUgeyBoZWlnaHQ6IDQw
cHg7IH0KI2J1dHRvbjQgeyBoZWlnaHQ6IDQwcHg7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsg
fQo8L3N0eWxlPgo8c2NyaXB0PgppZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwoKd2luZG93Lm9ubG9hZCA9IGZ1bmN0
aW9uKCkKewogICAgc2hvdWxkQmUoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24xJyku
b2Zmc2V0SGVpZ2h0IiwgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24yJykub2Zmc2V0
SGVpZ2h0Iik7CiAgICBzaG91bGRFdmFsdWF0ZVRvKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
YnV0dG9uMycpLm9mZnNldEhlaWdodCIsIDQwKTsKICAgIHNob3VsZEV2YWx1YXRlVG8oImRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b240Jykub2Zmc2V0SGVpZ2h0IiwgNDApOwogICAgc2hv
dWxkRXZhbHVhdGVUbygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjUnKS5vZmZzZXRI
ZWlnaHQiLCAKICAgICAgICAobmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoIk1hYyIpICE9PSAt
MSkgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uNSIpLm9mZnNldEhlaWdodCA6IDQw
KTsKICAgIAogICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgICAgIHZh
ciB0ZXN0Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtY29udGFpbmVy
Iik7CiAgICAgICAgaWYgKHRlc3RDb250YWluZXIpCiAgICAgICAgICAgIGRvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7ICAgCiAgICB9CiAgICBkZWJ1ZygnPGJyIC8+PHNw
YW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Cn0KPC9zY3JpcHQ+CjwvaGVh
ZD4KPGJvZHk+CjxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgo8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5l
ciI+CiAgICA8b2w+CiAgICAgICAgPGxpPjxpbnB1dCBpZD0iYnV0dG9uMSIgdHlwZT0iYnV0dG9u
IiB2YWx1ZT0idW5zcGVjaWZpZWQgaGVpZ2h0Ii8+PHA+PHN0cm9uZz5FeHBlY3RlZCBoZWlnaHQ6
PC9zdHJvbmc+IGhlaWdodCBvZiBidXR0b24gbGFiZWwgZm9udC48L3A+PC9saT4KICAgICAgICA8
bGk+PGJ1dHRvbiBpZD0iYnV0dG9uMiI+dW5zcGVjaWZpZWQgaGVpZ2h0PC9idXR0b24+PHA+PHN0
cm9uZz5FeHBlY3RlZCBoZWlnaHQ6PC9zdHJvbmc+IGhlaWdodCBvZiBidXR0b24gbGFiZWwgZm9u
dC48L3A+PC9saT4KICAgICAgICA8bGk+PGJ1dHRvbiBpZD0iYnV0dG9uMyI+aGVpZ2h0IDQwIHBp
eGVsczwvYnV0dG9uPjxwPjxzdHJvbmc+RXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPiA0MCBwaXhl
bHMuPC9wPjwvbGk+CiAgICAgICAgPGxpPjxpbnB1dCBpZD0iYnV0dG9uNCIgdHlwZT0iYnV0dG9u
IiB2YWx1ZT0iaGVpZ2h0IDQwIHBpeGVscywgYmFja2dyb3VuZCB5ZWxsb3ciLz48cD48c3Ryb25n
PkV4cGVjdGVkIGhlaWdodDo8L3N0cm9uZz4gNDAgcGl4ZWxzLjwvcD48L2xpPgogICAgICAgIDxs
aT48aW5wdXQgaWQ9ImJ1dHRvbjUiIHR5cGU9ImJ1dHRvbiIgdmFsdWU9ImhlaWdodCA0MCBwaXhl
bHMgKCopIi8+PHA+PHN0cm9uZz4oKikgRXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPjxici8+TWFj
OiBoZWlnaHQgb2YgYnV0dG9uIGxhYmVsIGZvbnQuPGJyLz5PdGhlcjogNDAgcGl4ZWxzLjwvcD48
L2xpPgogICAgPC9vbD4KPC9kaXY+Cjxoci8+CjxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgo8c2Ny
aXB0PgogICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCB0aGUgc3BlY2lmaWVkIGhlaWdo
dCBpcyBob25vcmVkICgqKSBmb3IgJmx0O2lucHV0Jmd0OyBhbmQgJmx0O2J1dHRvbiZndDsgZWxl
bWVudHMuPGJyLz4iICsKICAgICAgICAgICAgICAgICIoKikgVGhlIE1hYyBwb3J0cyBpZ25vcmUg
dGhlIHNwZWNpZmllZCBoZWlnaHQgZm9yICZsdDtpbnB1dCB0eXBlPSZxdW90O2J1dHRvbiZxdW90
OyZndDsgZWxlbWVudHMgdW5sZXNzIGEgIiArCiAgICAgICAgICAgICAgICAiYm9yZGVyIGFuZC9v
ciBiYWNrZ3JvdW5kIENTUyBwcm9wZXJ0eSBpcyBhbHNvIHNwZWNpZmllZCAoc2VlIHRoZSBmaWZ0
aCBidXR0b24gYmVsb3cpLiBEaXNyZWdhcmRpbmcgIiArCiAgICAgICAgICAgICAgICAicGFkZGlu
ZywgdGhleSByZW5kZXIgdGhlIGJ1dHRvbiB3aXRoIGEgaGVpZ2h0IGVxdWFsIHRvIHRoZSBoZWln
aHQgb2YgdGhlIGZvbnQgdXNlZCBmb3IgdGhlIGJ1dHRvbiBsYWJlbC4iKTsKICAgIHZhciBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46687</attachid>
            <date>2010-01-15 10:25:59 -0800</date>
            <delta_ts>2010-01-15 10:28:35 -0800</delta_ts>
            <desc>Patch with test cases</desc>
            <filename>Bug29564_1.patch</filename>
            <type>text/plain</type>
            <size>8118</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzMzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDEtMTUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTU2NAorCisgICAgICAgIFtR
dF0gRml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGhlaWdodCBvZiA8YnV0dG9uPi0gYW5kCisgICAg
ICAgIDxpbnB1dCB0eXBlPSJidXR0b24iPi0gZWxlbWVudHMgYXJlIGZpeGVkIHRvIHRoZSBoZWln
aHQgb2YgdGhlCisgICAgICAgIGJ1dHRvbiBsYWJlbCBmb250IHBsdXMgcGFkZGluZy4gVGhhdCBp
cywgdGhlIENTUyBoZWlnaHQgcHJvcGVydHkKKyAgICAgICAgaXMgYmVpbmcgaWdub3JlZC4KKwor
ICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91bGQgaG9ub3IgdGhlIHVzZXItc3BlY2lmaWVkIGhlaWdo
dCwgaWYgYXBwcm9wcmlhdGUKKyAgICAgICAgZm9yIHRoZSBwbGF0Zm9ybSBhbmQgY29udGV4dC4g
Tm90aWNlLCB0aGUgTWFjIHBvcnRzIGRvIG5vdCBob25vciB0aGUKKyAgICAgICAgaGVpZ2h0IGZv
ciA8aW5wdXQgdHlwZT0iYnV0dG9uIj4gZWxlbWVudHMgdW5sZXNzIGEgYm9yZGVyIGFuZC9vcgor
ICAgICAgICBiYWNrZ3JvdW5kIGlzIGFsc28gc3BlY2lmaWVkLgorICAgICAgICAKKyAgICAgICAg
QWxzbywgdGhpcyBwYXRjaCBzdWJzdGl0dXRlcyBhIHJ1bnRpbWUgY2hlY2sgZm9yIHRoZSBtYWNy
byBRX1dTX01BQy4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9idXR0b24taGVpZ2h0Lmh0bWwK
KworICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6UmVuZGVyVGhlbWVRdCk6IFN1YnN0aXR1dGVkIHJ1bnRpbWUg
Y2hlY2sKKyAgICAgICAgZm9yIFFfV1NfTUFDLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVRdDo6YWRqdXN0QnV0dG9uU3R5bGUpOgorCiAyMDEwLTAxLTE1ICBEaW1pdHJpIEdsYXprb3Yg
IDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91
dCByNTMzMzEuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHJldmlz
aW9uIDUzMzE5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgPFFEZWJ1Zz4KICNpbmNsdWRl
IDxRRmlsZT4KICNpbmNsdWRlIDxRTGluZUVkaXQ+CisjaW5jbHVkZSA8UU1hY1N0eWxlPgogI2lu
Y2x1ZGUgPFFQYWludGVyPgogI2luY2x1ZGUgPFFQdXNoQnV0dG9uPgogI2luY2x1ZGUgPFFTdHls
ZUZhY3Rvcnk+CkBAIC0xMzUsOSArMTM2LDggQEAgUmVuZGVyVGhlbWVRdDo6UmVuZGVyVGhlbWVR
dChQYWdlKiBwYWdlKQogICAgIFFGb250IGRlZmF1bHRCdXR0b25Gb250ID0gUUFwcGxpY2F0aW9u
Ojpmb250KCZidXR0b24pOwogICAgIFFGb250SW5mbyBmb250SW5mbyhkZWZhdWx0QnV0dG9uRm9u
dCk7CiAgICAgbV9idXR0b25Gb250RmFtaWx5ID0gZGVmYXVsdEJ1dHRvbkZvbnQuZmFtaWx5KCk7
Ci0jaWZkZWYgUV9XU19NQUMKK2lmIChxb2JqZWN0X2Nhc3Q8UU1hY1N0eWxlKj4ocVN0eWxlKCkp
KQogICAgIG1fYnV0dG9uRm9udFBpeGVsU2l6ZSA9IGZvbnRJbmZvLnBpeGVsU2l6ZSgpOwotI2Vu
ZGlmCiB9CiAKIFJlbmRlclRoZW1lUXQ6On5SZW5kZXJUaGVtZVF0KCkKQEAgLTM5Nyw4ICszOTcs
MTEgQEAgdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RCdXR0b25TdHlsZShDUwogICAgIC8vIERp
dGNoIHRoZSBib3JkZXIuCiAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7CiAKLSAgICAvLyBIZWln
aHQgaXMgbG9ja2VkIHRvIGF1dG8uCi0gICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoQXV0bykp
OworICAgIGlmIChxb2JqZWN0X2Nhc3Q8UU1hY1N0eWxlKj4ocVN0eWxlKCkpICYmIHN0eWxlLT5h
cHBlYXJhbmNlKCkgPT0gUHVzaEJ1dHRvblBhcnQpIHsKKyAgICAgICAgLy8gVGhlIE1hYyBwb3J0
cyBpZ25vcmUgdGhlIHNwZWNpZmllZCBoZWlnaHQgZm9yIDxpbnB1dCB0eXBlPSJidXR0b24iPiBl
bGVtZW50cworICAgICAgICAvLyB1bmxlc3MgYSBib3JkZXIgYW5kL29yIGJhY2tncm91bmQgQ1NT
IHByb3BlcnR5IGlzIGFsc28gc3BlY2lmaWVkLgorICAgICAgICBzdHlsZS0+c2V0SGVpZ2h0KExl
bmd0aChBdXRvKSk7CisgICAgfQogCiAgICAgLy8gV2hpdGUtc3BhY2UgaXMgbG9ja2VkIHRvIHBy
ZQogICAgIHN0eWxlLT5zZXRXaGl0ZVNwYWNlKFBSRSk7CkBAIC00MDYsMTMgKzQwOSwxNCBAQCB2
b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRvblN0eWxlKENTCiAgICAgRm9udERlc2NyaXB0
aW9uIGZvbnREZXNjcmlwdGlvbiA9IHN0eWxlLT5mb250RGVzY3JpcHRpb24oKTsKICAgICBmb250
RGVzY3JpcHRpb24uc2V0SXNBYnNvbHV0ZVNpemUodHJ1ZSk7CiAKLSNpZmRlZiBRX1dTX01BQyAv
LyBVc2UgZml4ZWQgZm9udCBzaXplIGFuZCBmYW1pbHkgb24gTWFjIChsaWtlIFNhZmFyaSBkb2Vz
KQotICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTcGVjaWZpZWRTaXplKG1fYnV0dG9uRm9udFBpeGVs
U2l6ZSk7Ci0gICAgZm9udERlc2NyaXB0aW9uLnNldENvbXB1dGVkU2l6ZShtX2J1dHRvbkZvbnRQ
aXhlbFNpemUpOwotI2Vsc2UKLSAgICBmb250RGVzY3JpcHRpb24uc2V0U3BlY2lmaWVkU2l6ZShz
dHlsZS0+Zm9udFNpemUoKSk7Ci0gICAgZm9udERlc2NyaXB0aW9uLnNldENvbXB1dGVkU2l6ZShz
dHlsZS0+Zm9udFNpemUoKSk7Ci0jZW5kaWYKKyAgICBpZiAocW9iamVjdF9jYXN0PFFNYWNTdHls
ZSo+KHFTdHlsZSgpKXsKKyAgICAgICAgLy8gVXNlIGZpeGVkIGZvbnQgc2l6ZSBhbmQgZmFtaWx5
IG9uIE1hYyAobGlrZSBTYWZhcmkgZG9lcykKKyAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldFNw
ZWNpZmllZFNpemUobV9idXR0b25Gb250UGl4ZWxTaXplKTsKKyAgICAgICAgZm9udERlc2NyaXB0
aW9uLnNldENvbXB1dGVkU2l6ZShtX2J1dHRvbkZvbnRQaXhlbFNpemUpOworICAgIH0gZWxzZSB7
CisgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTcGVjaWZpZWRTaXplKHN0eWxlLT5mb250U2l6
ZSgpKTsKKyAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldENvbXB1dGVkU2l6ZShzdHlsZS0+Zm9u
dFNpemUoKSk7CisgICAgfQogCiAgICAgRm9udEZhbWlseSBmb250RmFtaWx5OwogICAgIGZvbnRG
YW1pbHkuc2V0RmFtaWx5KG1fYnV0dG9uRm9udEZhbWlseSk7CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1
MzMzNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE1IEBACisyMDEwLTAxLTE1ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk1NjQKKyAgICAgICAgCisgICAgICAgIFRl
c3RzIHRoYXQgdGhlIHVzZXItc3BlY2lmaWVkIGhlaWdodCBmb3IgPGJ1dHRvbj4tIGFuZCA8aW5w
dXQgdHlwZT0iYnV0dG9uIj4tCisgICAgICAgIGVsZW1lbnRzIGFyZSBob25vcmVkLCBpZiBhcHBy
b3ByaWF0ZSBmb3IgdGhlIHBsYXRmb3JtIGFuZCBjb250ZXh0LgorCisgICAgICAgICogZmFzdC9j
c3MvYnV0dG9uLWhlaWdodC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3Nz
L2J1dHRvbi1oZWlnaHQuaHRtbDogQWRkZWQuCisKIDIwMTAtMDEtMTQgIE9qYW4gVmFmYWkgIDxv
amFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWlnaHQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWlnaHQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdHMgdGhhdCB0
aGUgc3BlY2lmaWVkIGhlaWdodCBpcyBob25vcmVkICgqKSBmb3IgPGlucHV0PiBhbmQgPGJ1dHRv
bj4gZWxlbWVudHMuCisoKikgVGhlIE1hYyBwb3J0cyBpZ25vcmUgdGhlIHNwZWNpZmllZCBoZWln
aHQgZm9yIDxpbnB1dCB0eXBlPSJidXR0b24iPiBlbGVtZW50cyB1bmxlc3MgYSBib3JkZXIgYW5k
L29yIGJhY2tncm91bmQgQ1NTIHByb3BlcnR5IGlzIGFsc28gc3BlY2lmaWVkIChzZWUgdGhlIGZp
ZnRoIGJ1dHRvbiBiZWxvdykuIERpc3JlZ2FyZGluZyBwYWRkaW5nLCB0aGV5IHJlbmRlciB0aGUg
YnV0dG9uIHdpdGggYSBoZWlnaHQgZXF1YWwgdG8gdGhlIGhlaWdodCBvZiB0aGUgZm9udCB1c2Vk
IGZvciB0aGUgYnV0dG9uIGxhYmVsLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
UEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMScpLm9mZnNldEhlaWdodCBpcyBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMicpLm9mZnNldEhlaWdodAorUEFTUyBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMycpLm9mZnNldEhlaWdodCBpcyA0MAorUEFTUyBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uNCcpLm9mZnNldEhlaWdodCBpcyA0MAorUEFT
UyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uNScpLm9mZnNldEhlaWdodCBpcyAxOAor
CitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWln
aHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9idXR0b24taGVpZ2h0
Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9idXR0b24taGVpZ2h0
Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTEgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKyNidXR0b24zLCAjYnV0dG9uNSB7IGhlaWdodDogNDBweDsgfQorI2J1dHRv
bjQgeyBoZWlnaHQ6IDQwcHg7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsgfQorPC9zdHlsZT4K
KzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkK
K3sKKyAgICBzaG91bGRCZSgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjEnKS5vZmZz
ZXRIZWlnaHQiLCAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjInKS5vZmZzZXRIZWln
aHQiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0
dG9uMycpLm9mZnNldEhlaWdodCIsIDQwKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uNCcpLm9mZnNldEhlaWdodCIsIDQwKTsKKyAgICBzaG91
bGRFdmFsdWF0ZVRvKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uNScpLm9mZnNldEhl
aWdodCIsIAorICAgICAgICAobmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoIk1hYyIpICE9PSAt
MSkgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMSIpLm9mZnNldEhlaWdodCA6IDQw
KTsKKyAgICAKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IHZhciB0ZXN0Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtY29udGFp
bmVyIik7CisgICAgICAgIGlmICh0ZXN0Q29udGFpbmVyKQorICAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsgICAKKyAgICB9CisgICAgZGVidWcoJzxi
ciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
dGVzdC1jb250YWluZXIiPgorICAgIDxvbD4KKyAgICAgICAgPGxpPjxpbnB1dCBpZD0iYnV0dG9u
MSIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0idW5zcGVjaWZpZWQgaGVpZ2h0Ii8+PHA+PHN0cm9uZz5F
eHBlY3RlZCBoZWlnaHQ6PC9zdHJvbmc+IGhlaWdodCBvZiBidXR0b24gbGFiZWwgZm9udC48L3A+
PC9saT4KKyAgICAgICAgPGxpPjxidXR0b24gaWQ9ImJ1dHRvbjIiPnVuc3BlY2lmaWVkIGhlaWdo
dDwvYnV0dG9uPjxwPjxzdHJvbmc+RXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPiBoZWlnaHQgb2Yg
YnV0dG9uIGxhYmVsIGZvbnQuPC9wPjwvbGk+CisgICAgICAgIDxsaT48YnV0dG9uIGlkPSJidXR0
b24zIj5oZWlnaHQgNDAgcGl4ZWxzPC9idXR0b24+PHA+PHN0cm9uZz5FeHBlY3RlZCBoZWlnaHQ6
PC9zdHJvbmc+IDQwIHBpeGVscy48L3A+PC9saT4KKyAgICAgICAgPGxpPjxpbnB1dCBpZD0iYnV0
dG9uNCIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iaGVpZ2h0IDQwIHBpeGVscywgYmFja2dyb3VuZCB5
ZWxsb3ciLz48cD48c3Ryb25nPkV4cGVjdGVkIGhlaWdodDo8L3N0cm9uZz4gNDAgcGl4ZWxzLjwv
cD48L2xpPgorICAgICAgICA8bGk+PGlucHV0IGlkPSJidXR0b241IiB0eXBlPSJidXR0b24iIHZh
bHVlPSJoZWlnaHQgNDAgcGl4ZWxzICgqKSIvPjxwPjxzdHJvbmc+KCopIEV4cGVjdGVkIGhlaWdo
dDo8L3N0cm9uZz48YnIvPk1hYzogaGVpZ2h0IG9mIGJ1dHRvbiBsYWJlbCBmb250Ljxici8+T3Ro
ZXI6IDQwIHBpeGVscy48L3A+PC9saT4KKyAgICA8L29sPgorPC9kaXY+Cis8aHIvPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Rz
IHRoYXQgdGhlIHNwZWNpZmllZCBoZWlnaHQgaXMgaG9ub3JlZCAoKikgZm9yICZsdDtpbnB1dCZn
dDsgYW5kICZsdDtidXR0b24mZ3Q7IGVsZW1lbnRzLjxici8+IiArCisgICAgICAgICAgICAgICAg
IigqKSBUaGUgTWFjIHBvcnRzIGlnbm9yZSB0aGUgc3BlY2lmaWVkIGhlaWdodCBmb3IgJmx0O2lu
cHV0IHR5cGU9JnF1b3Q7YnV0dG9uJnF1b3Q7Jmd0OyBlbGVtZW50cyB1bmxlc3MgYSAiICsKKyAg
ICAgICAgICAgICAgICAiYm9yZGVyIGFuZC9vciBiYWNrZ3JvdW5kIENTUyBwcm9wZXJ0eSBpcyBh
bHNvIHNwZWNpZmllZCAoc2VlIHRoZSBmaWZ0aCBidXR0b24gYmVsb3cpLiBEaXNyZWdhcmRpbmcg
IiArCisgICAgICAgICAgICAgICAgInBhZGRpbmcsIHRoZXkgcmVuZGVyIHRoZSBidXR0b24gd2l0
aCBhIGhlaWdodCBlcXVhbCB0byB0aGUgaGVpZ2h0IG9mIHRoZSBmb250IHVzZWQgZm9yIHRoZSBi
dXR0b24gbGFiZWwuIik7CisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46688</attachid>
            <date>2010-01-15 10:28:35 -0800</date>
            <delta_ts>2010-01-15 10:41:34 -0800</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug29564_1.patch</filename>
            <type>text/plain</type>
            <size>8177</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzMzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDEtMTUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTU2NAorCisgICAgICAgIFtR
dF0gRml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGhlaWdodCBvZiA8YnV0dG9uPi0gYW5kCisgICAg
ICAgIDxpbnB1dCB0eXBlPSJidXR0b24iPi0gZWxlbWVudHMgYXJlIGZpeGVkIHRvIHRoZSBoZWln
aHQgb2YgdGhlCisgICAgICAgIGJ1dHRvbiBsYWJlbCBmb250IHBsdXMgcGFkZGluZy4gVGhhdCBp
cywgdGhlIENTUyBoZWlnaHQgcHJvcGVydHkKKyAgICAgICAgaXMgYmVpbmcgaWdub3JlZC4KKwor
ICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91bGQgaG9ub3IgdGhlIHVzZXItc3BlY2lmaWVkIGhlaWdo
dCwgaWYgYXBwcm9wcmlhdGUKKyAgICAgICAgZm9yIHRoZSBwbGF0Zm9ybSBhbmQgY29udGV4dC4g
Tm90aWNlLCB0aGUgTWFjIHBvcnRzIGRvIG5vdCBob25vciB0aGUKKyAgICAgICAgaGVpZ2h0IGZv
ciA8aW5wdXQgdHlwZT0iYnV0dG9uIj4gZWxlbWVudHMgdW5sZXNzIGEgYm9yZGVyIGFuZC9vcgor
ICAgICAgICBiYWNrZ3JvdW5kIGlzIGFsc28gc3BlY2lmaWVkLgorICAgICAgICAKKyAgICAgICAg
QWxzbywgdGhpcyBwYXRjaCBzdWJzdGl0dXRlcyBhIHJ1bnRpbWUgY2hlY2sgZm9yIHRoZSBtYWNy
byBRX1dTX01BQy4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9idXR0b24taGVpZ2h0Lmh0bWwK
KworICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6UmVuZGVyVGhlbWVRdCk6IFN1YnN0aXR1dGVkIHJ1bnRpbWUg
Y2hlY2sKKyAgICAgICAgZm9yIFFfV1NfTUFDLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVRdDo6YWRqdXN0QnV0dG9uU3R5bGUpOgorCiAyMDEwLTAxLTE1ICBEaW1pdHJpIEdsYXprb3Yg
IDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91
dCByNTMzMzEuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHJldmlz
aW9uIDUzMzE5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgPFFEZWJ1Zz4KICNpbmNsdWRl
IDxRRmlsZT4KICNpbmNsdWRlIDxRTGluZUVkaXQ+CisjaW5jbHVkZSA8UU1hY1N0eWxlPgogI2lu
Y2x1ZGUgPFFQYWludGVyPgogI2luY2x1ZGUgPFFQdXNoQnV0dG9uPgogI2luY2x1ZGUgPFFTdHls
ZUZhY3Rvcnk+CkBAIC0xMzUsOSArMTM2LDggQEAgUmVuZGVyVGhlbWVRdDo6UmVuZGVyVGhlbWVR
dChQYWdlKiBwYWdlKQogICAgIFFGb250IGRlZmF1bHRCdXR0b25Gb250ID0gUUFwcGxpY2F0aW9u
Ojpmb250KCZidXR0b24pOwogICAgIFFGb250SW5mbyBmb250SW5mbyhkZWZhdWx0QnV0dG9uRm9u
dCk7CiAgICAgbV9idXR0b25Gb250RmFtaWx5ID0gZGVmYXVsdEJ1dHRvbkZvbnQuZmFtaWx5KCk7
Ci0jaWZkZWYgUV9XU19NQUMKLSAgICBtX2J1dHRvbkZvbnRQaXhlbFNpemUgPSBmb250SW5mby5w
aXhlbFNpemUoKTsKLSNlbmRpZgorICAgIGlmIChxb2JqZWN0X2Nhc3Q8UU1hY1N0eWxlKj4ocVN0
eWxlKCkpKQorICAgICAgICBtX2J1dHRvbkZvbnRQaXhlbFNpemUgPSBmb250SW5mby5waXhlbFNp
emUoKTsKIH0KIAogUmVuZGVyVGhlbWVRdDo6flJlbmRlclRoZW1lUXQoKQpAQCAtMzk3LDggKzM5
NywxMSBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRvblN0eWxlKENTCiAgICAgLy8g
RGl0Y2ggdGhlIGJvcmRlci4KICAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKIAotICAgIC8vIEhl
aWdodCBpcyBsb2NrZWQgdG8gYXV0by4KLSAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChBdXRv
KSk7CisgICAgaWYgKHFvYmplY3RfY2FzdDxRTWFjU3R5bGUqPihxU3R5bGUoKSkgJiYgc3R5bGUt
PmFwcGVhcmFuY2UoKSA9PSBQdXNoQnV0dG9uUGFydCkgeworICAgICAgICAvLyBUaGUgTWFjIHBv
cnRzIGlnbm9yZSB0aGUgc3BlY2lmaWVkIGhlaWdodCBmb3IgPGlucHV0IHR5cGU9ImJ1dHRvbiI+
IGVsZW1lbnRzCisgICAgICAgIC8vIHVubGVzcyBhIGJvcmRlciBhbmQvb3IgYmFja2dyb3VuZCBD
U1MgcHJvcGVydHkgaXMgYWxzbyBzcGVjaWZpZWQuCisgICAgICAgIHN0eWxlLT5zZXRIZWlnaHQo
TGVuZ3RoKEF1dG8pKTsKKyAgICB9CiAKICAgICAvLyBXaGl0ZS1zcGFjZSBpcyBsb2NrZWQgdG8g
cHJlCiAgICAgc3R5bGUtPnNldFdoaXRlU3BhY2UoUFJFKTsKQEAgLTQwNiwxMyArNDA5LDE0IEBA
IHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0QnV0dG9uU3R5bGUoQ1MKICAgICBGb250RGVzY3Jp
cHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGUtPmZvbnREZXNjcmlwdGlvbigpOwogICAgIGZv
bnREZXNjcmlwdGlvbi5zZXRJc0Fic29sdXRlU2l6ZSh0cnVlKTsKIAotI2lmZGVmIFFfV1NfTUFD
IC8vIFVzZSBmaXhlZCBmb250IHNpemUgYW5kIGZhbWlseSBvbiBNYWMgKGxpa2UgU2FmYXJpIGRv
ZXMpCi0gICAgZm9udERlc2NyaXB0aW9uLnNldFNwZWNpZmllZFNpemUobV9idXR0b25Gb250UGl4
ZWxTaXplKTsKLSAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXplKG1fYnV0dG9uRm9u
dFBpeGVsU2l6ZSk7Ci0jZWxzZQotICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTcGVjaWZpZWRTaXpl
KHN0eWxlLT5mb250U2l6ZSgpKTsKLSAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXpl
KHN0eWxlLT5mb250U2l6ZSgpKTsKLSNlbmRpZgorICAgIGlmIChxb2JqZWN0X2Nhc3Q8UU1hY1N0
eWxlKj4ocVN0eWxlKCkpeworICAgICAgICAvLyBVc2UgZml4ZWQgZm9udCBzaXplIGFuZCBmYW1p
bHkgb24gTWFjIChsaWtlIFNhZmFyaSBkb2VzKQorICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0
U3BlY2lmaWVkU2l6ZShtX2J1dHRvbkZvbnRQaXhlbFNpemUpOworICAgICAgICBmb250RGVzY3Jp
cHRpb24uc2V0Q29tcHV0ZWRTaXplKG1fYnV0dG9uRm9udFBpeGVsU2l6ZSk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldFNwZWNpZmllZFNpemUoc3R5bGUtPmZvbnRT
aXplKCkpOworICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXplKHN0eWxlLT5m
b250U2l6ZSgpKTsKKyAgICB9CiAKICAgICBGb250RmFtaWx5IGZvbnRGYW1pbHk7CiAgICAgZm9u
dEZhbWlseS5zZXRGYW1pbHkobV9idXR0b25Gb250RmFtaWx5KTsKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDUzMzM0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTAtMDEtMTUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTU2NAorICAgICAgICAKKyAgICAgICAg
VGVzdHMgdGhhdCB0aGUgdXNlci1zcGVjaWZpZWQgaGVpZ2h0IGZvciA8YnV0dG9uPi0gYW5kIDxp
bnB1dCB0eXBlPSJidXR0b24iPi0KKyAgICAgICAgZWxlbWVudHMgYXJlIGhvbm9yZWQsIGlmIGFw
cHJvcHJpYXRlIGZvciB0aGUgcGxhdGZvcm0gYW5kIGNvbnRleHQuCisKKyAgICAgICAgKiBmYXN0
L2Nzcy9idXR0b24taGVpZ2h0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9j
c3MvYnV0dG9uLWhlaWdodC5odG1sOiBBZGRlZC4KKwogMjAxMC0wMS0xNCAgT2phbiBWYWZhaSAg
PG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9idXR0b24taGVpZ2h0LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0cyB0aGF0
IHRoZSBzcGVjaWZpZWQgaGVpZ2h0IGlzIGhvbm9yZWQgKCopIGZvciA8aW5wdXQ+IGFuZCA8YnV0
dG9uPiBlbGVtZW50cy4KKygqKSBUaGUgTWFjIHBvcnRzIGlnbm9yZSB0aGUgc3BlY2lmaWVkIGhl
aWdodCBmb3IgPGlucHV0IHR5cGU9ImJ1dHRvbiI+IGVsZW1lbnRzIHVubGVzcyBhIGJvcmRlciBh
bmQvb3IgYmFja2dyb3VuZCBDU1MgcHJvcGVydHkgaXMgYWxzbyBzcGVjaWZpZWQgKHNlZSB0aGUg
ZmlmdGggYnV0dG9uIGJlbG93KS4gRGlzcmVnYXJkaW5nIHBhZGRpbmcsIHRoZXkgcmVuZGVyIHRo
ZSBidXR0b24gd2l0aCBhIGhlaWdodCBlcXVhbCB0byB0aGUgaGVpZ2h0IG9mIHRoZSBmb250IHVz
ZWQgZm9yIHRoZSBidXR0b24gbGFiZWwuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24xJykub2Zmc2V0SGVpZ2h0IGlz
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24yJykub2Zmc2V0SGVpZ2h0CitQQVNTIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24zJykub2Zmc2V0SGVpZ2h0IGlzIDQwCitQQVNT
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b240Jykub2Zmc2V0SGVpZ2h0IGlzIDQwCitQ
QVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b241Jykub2Zmc2V0SGVpZ2h0IGlzIDE4
CisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhl
aWdodC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWln
aHQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWln
aHQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorI2J1dHRvbjMsICNidXR0b241IHsgaGVpZ2h0OiA0MHB4OyB9CisjYnV0
dG9uNCB7IGhlaWdodDogNDBweDsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OyB9Cis8L3N0eWxl
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24o
KQoreworICAgIHNob3VsZEJlKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMScpLm9m
ZnNldEhlaWdodCIsICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMicpLm9mZnNldEhl
aWdodCIpOworICAgIHNob3VsZEV2YWx1YXRlVG8oImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdi
dXR0b24zJykub2Zmc2V0SGVpZ2h0IiwgNDApOworICAgIHNob3VsZEV2YWx1YXRlVG8oImRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b240Jykub2Zmc2V0SGVpZ2h0IiwgNDApOworICAgIHNo
b3VsZEV2YWx1YXRlVG8oImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b241Jykub2Zmc2V0
SGVpZ2h0IiwgCisgICAgICAgIChuYXZpZ2F0b3IucGxhdGZvcm0uaW5kZXhPZigiTWFjIikgIT09
IC0xKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJidXR0b24xIikub2Zmc2V0SGVpZ2h0IDog
NDApOworICAgIAorICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
ICAgdmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdC1jb250
YWluZXIiKTsKKyAgICAgICAgaWYgKHRlc3RDb250YWluZXIpCisgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LnJlbW92ZUNoaWxkKHRlc3RDb250YWluZXIpOyAgIAorICAgIH0KKyAgICBkZWJ1Zygn
PGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJ0ZXN0LWNvbnRhaW5lciI+CisgICAgPG9sPgorICAgICAgICA8bGk+PGlucHV0IGlkPSJidXR0
b24xIiB0eXBlPSJidXR0b24iIHZhbHVlPSJ1bnNwZWNpZmllZCBoZWlnaHQiLz48cD48c3Ryb25n
PkV4cGVjdGVkIGhlaWdodDo8L3N0cm9uZz4gaGVpZ2h0IG9mIGJ1dHRvbiBsYWJlbCBmb250Ljwv
cD48L2xpPgorICAgICAgICA8bGk+PGJ1dHRvbiBpZD0iYnV0dG9uMiI+dW5zcGVjaWZpZWQgaGVp
Z2h0PC9idXR0b24+PHA+PHN0cm9uZz5FeHBlY3RlZCBoZWlnaHQ6PC9zdHJvbmc+IGhlaWdodCBv
ZiBidXR0b24gbGFiZWwgZm9udC48L3A+PC9saT4KKyAgICAgICAgPGxpPjxidXR0b24gaWQ9ImJ1
dHRvbjMiPmhlaWdodCA0MCBwaXhlbHM8L2J1dHRvbj48cD48c3Ryb25nPkV4cGVjdGVkIGhlaWdo
dDo8L3N0cm9uZz4gNDAgcGl4ZWxzLjwvcD48L2xpPgorICAgICAgICA8bGk+PGlucHV0IGlkPSJi
dXR0b240IiB0eXBlPSJidXR0b24iIHZhbHVlPSJoZWlnaHQgNDAgcGl4ZWxzLCBiYWNrZ3JvdW5k
IHllbGxvdyIvPjxwPjxzdHJvbmc+RXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPiA0MCBwaXhlbHMu
PC9wPjwvbGk+CisgICAgICAgIDxsaT48aW5wdXQgaWQ9ImJ1dHRvbjUiIHR5cGU9ImJ1dHRvbiIg
dmFsdWU9ImhlaWdodCA0MCBwaXhlbHMgKCopIi8+PHA+PHN0cm9uZz4oKikgRXhwZWN0ZWQgaGVp
Z2h0Ojwvc3Ryb25nPjxici8+TWFjOiBoZWlnaHQgb2YgYnV0dG9uIGxhYmVsIGZvbnQuPGJyLz5P
dGhlcjogNDAgcGl4ZWxzLjwvcD48L2xpPgorICAgIDwvb2w+Cis8L2Rpdj4KKzxoci8+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dHMgdGhhdCB0aGUgc3BlY2lmaWVkIGhlaWdodCBpcyBob25vcmVkICgqKSBmb3IgJmx0O2lucHV0
Jmd0OyBhbmQgJmx0O2J1dHRvbiZndDsgZWxlbWVudHMuPGJyLz4iICsKKyAgICAgICAgICAgICAg
ICAiKCopIFRoZSBNYWMgcG9ydHMgaWdub3JlIHRoZSBzcGVjaWZpZWQgaGVpZ2h0IGZvciAmbHQ7
aW5wdXQgdHlwZT0mcXVvdDtidXR0b24mcXVvdDsmZ3Q7IGVsZW1lbnRzIHVubGVzcyBhICIgKwor
ICAgICAgICAgICAgICAgICJib3JkZXIgYW5kL29yIGJhY2tncm91bmQgQ1NTIHByb3BlcnR5IGlz
IGFsc28gc3BlY2lmaWVkIChzZWUgdGhlIGZpZnRoIGJ1dHRvbiBiZWxvdykuIERpc3JlZ2FyZGlu
ZyAiICsKKyAgICAgICAgICAgICAgICAicGFkZGluZywgdGhleSByZW5kZXIgdGhlIGJ1dHRvbiB3
aXRoIGEgaGVpZ2h0IGVxdWFsIHRvIHRoZSBoZWlnaHQgb2YgdGhlIGZvbnQgdXNlZCBmb3IgdGhl
IGJ1dHRvbiBsYWJlbC4iKTsKKyAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46689</attachid>
            <date>2010-01-15 10:41:34 -0800</date>
            <delta_ts>2010-01-18 20:10:00 -0800</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug29564_2.patch</filename>
            <type>text/plain</type>
            <size>8178</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzMzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDEtMTUgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTU2NAorCisgICAgICAgIFtR
dF0gRml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGhlaWdodCBvZiA8YnV0dG9uPi0gYW5kCisgICAg
ICAgIDxpbnB1dCB0eXBlPSJidXR0b24iPi0gZWxlbWVudHMgYXJlIGZpeGVkIHRvIHRoZSBoZWln
aHQgb2YgdGhlCisgICAgICAgIGJ1dHRvbiBsYWJlbCBmb250IHBsdXMgcGFkZGluZy4gVGhhdCBp
cywgdGhlIENTUyBoZWlnaHQgcHJvcGVydHkKKyAgICAgICAgaXMgYmVpbmcgaWdub3JlZC4KKwor
ICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91bGQgaG9ub3IgdGhlIHVzZXItc3BlY2lmaWVkIGhlaWdo
dCwgaWYgYXBwcm9wcmlhdGUKKyAgICAgICAgZm9yIHRoZSBwbGF0Zm9ybSBhbmQgY29udGV4dC4g
Tm90aWNlLCB0aGUgTWFjIHBvcnRzIGRvIG5vdCBob25vciB0aGUKKyAgICAgICAgaGVpZ2h0IGZv
ciA8aW5wdXQgdHlwZT0iYnV0dG9uIj4gZWxlbWVudHMgdW5sZXNzIGEgYm9yZGVyIGFuZC9vcgor
ICAgICAgICBiYWNrZ3JvdW5kIGlzIGFsc28gc3BlY2lmaWVkLgorICAgICAgICAKKyAgICAgICAg
QWxzbywgdGhpcyBwYXRjaCBzdWJzdGl0dXRlcyBhIHJ1bnRpbWUgY2hlY2sgZm9yIHRoZSBtYWNy
byBRX1dTX01BQy4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9idXR0b24taGVpZ2h0Lmh0bWwK
KworICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6UmVuZGVyVGhlbWVRdCk6IFN1YnN0aXR1dGVkIHJ1bnRpbWUg
Y2hlY2sKKyAgICAgICAgZm9yIFFfV1NfTUFDLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVRdDo6YWRqdXN0QnV0dG9uU3R5bGUpOgorCiAyMDEwLTAxLTE1ICBEaW1pdHJpIEdsYXprb3Yg
IDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91
dCByNTMzMzEuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHJldmlz
aW9uIDUzMzE5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgPFFEZWJ1Zz4KICNpbmNsdWRl
IDxRRmlsZT4KICNpbmNsdWRlIDxRTGluZUVkaXQ+CisjaW5jbHVkZSA8UU1hY1N0eWxlPgogI2lu
Y2x1ZGUgPFFQYWludGVyPgogI2luY2x1ZGUgPFFQdXNoQnV0dG9uPgogI2luY2x1ZGUgPFFTdHls
ZUZhY3Rvcnk+CkBAIC0xMzUsOSArMTM2LDggQEAgUmVuZGVyVGhlbWVRdDo6UmVuZGVyVGhlbWVR
dChQYWdlKiBwYWdlKQogICAgIFFGb250IGRlZmF1bHRCdXR0b25Gb250ID0gUUFwcGxpY2F0aW9u
Ojpmb250KCZidXR0b24pOwogICAgIFFGb250SW5mbyBmb250SW5mbyhkZWZhdWx0QnV0dG9uRm9u
dCk7CiAgICAgbV9idXR0b25Gb250RmFtaWx5ID0gZGVmYXVsdEJ1dHRvbkZvbnQuZmFtaWx5KCk7
Ci0jaWZkZWYgUV9XU19NQUMKLSAgICBtX2J1dHRvbkZvbnRQaXhlbFNpemUgPSBmb250SW5mby5w
aXhlbFNpemUoKTsKLSNlbmRpZgorICAgIGlmIChxb2JqZWN0X2Nhc3Q8UU1hY1N0eWxlKj4ocVN0
eWxlKCkpKQorICAgICAgICBtX2J1dHRvbkZvbnRQaXhlbFNpemUgPSBmb250SW5mby5waXhlbFNp
emUoKTsKIH0KIAogUmVuZGVyVGhlbWVRdDo6flJlbmRlclRoZW1lUXQoKQpAQCAtMzk3LDggKzM5
NywxMSBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRvblN0eWxlKENTCiAgICAgLy8g
RGl0Y2ggdGhlIGJvcmRlci4KICAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKIAotICAgIC8vIEhl
aWdodCBpcyBsb2NrZWQgdG8gYXV0by4KLSAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChBdXRv
KSk7CisgICAgaWYgKHFvYmplY3RfY2FzdDxRTWFjU3R5bGUqPihxU3R5bGUoKSkgJiYgc3R5bGUt
PmFwcGVhcmFuY2UoKSA9PSBQdXNoQnV0dG9uUGFydCkgeworICAgICAgICAvLyBUaGUgTWFjIHBv
cnRzIGlnbm9yZSB0aGUgc3BlY2lmaWVkIGhlaWdodCBmb3IgPGlucHV0IHR5cGU9ImJ1dHRvbiI+
IGVsZW1lbnRzCisgICAgICAgIC8vIHVubGVzcyBhIGJvcmRlciBhbmQvb3IgYmFja2dyb3VuZCBD
U1MgcHJvcGVydHkgaXMgYWxzbyBzcGVjaWZpZWQuCisgICAgICAgIHN0eWxlLT5zZXRIZWlnaHQo
TGVuZ3RoKEF1dG8pKTsKKyAgICB9CiAKICAgICAvLyBXaGl0ZS1zcGFjZSBpcyBsb2NrZWQgdG8g
cHJlCiAgICAgc3R5bGUtPnNldFdoaXRlU3BhY2UoUFJFKTsKQEAgLTQwNiwxMyArNDA5LDE0IEBA
IHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0QnV0dG9uU3R5bGUoQ1MKICAgICBGb250RGVzY3Jp
cHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGUtPmZvbnREZXNjcmlwdGlvbigpOwogICAgIGZv
bnREZXNjcmlwdGlvbi5zZXRJc0Fic29sdXRlU2l6ZSh0cnVlKTsKIAotI2lmZGVmIFFfV1NfTUFD
IC8vIFVzZSBmaXhlZCBmb250IHNpemUgYW5kIGZhbWlseSBvbiBNYWMgKGxpa2UgU2FmYXJpIGRv
ZXMpCi0gICAgZm9udERlc2NyaXB0aW9uLnNldFNwZWNpZmllZFNpemUobV9idXR0b25Gb250UGl4
ZWxTaXplKTsKLSAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXplKG1fYnV0dG9uRm9u
dFBpeGVsU2l6ZSk7Ci0jZWxzZQotICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTcGVjaWZpZWRTaXpl
KHN0eWxlLT5mb250U2l6ZSgpKTsKLSAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRTaXpl
KHN0eWxlLT5mb250U2l6ZSgpKTsKLSNlbmRpZgorICAgIGlmIChxb2JqZWN0X2Nhc3Q8UU1hY1N0
eWxlKj4ocVN0eWxlKCkpIHsKKyAgICAgICAgLy8gVXNlIGZpeGVkIGZvbnQgc2l6ZSBhbmQgZmFt
aWx5IG9uIE1hYyAobGlrZSBTYWZhcmkgZG9lcykKKyAgICAgICAgZm9udERlc2NyaXB0aW9uLnNl
dFNwZWNpZmllZFNpemUobV9idXR0b25Gb250UGl4ZWxTaXplKTsKKyAgICAgICAgZm9udERlc2Ny
aXB0aW9uLnNldENvbXB1dGVkU2l6ZShtX2J1dHRvbkZvbnRQaXhlbFNpemUpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTcGVjaWZpZWRTaXplKHN0eWxlLT5mb250
U2l6ZSgpKTsKKyAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldENvbXB1dGVkU2l6ZShzdHlsZS0+
Zm9udFNpemUoKSk7CisgICAgfQogCiAgICAgRm9udEZhbWlseSBmb250RmFtaWx5OwogICAgIGZv
bnRGYW1pbHkuc2V0RmFtaWx5KG1fYnV0dG9uRm9udEZhbWlseSk7CkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biA1MzMzNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDEwLTAxLTE1ICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAd2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk1NjQKKyAgICAgICAgCisgICAgICAg
IFRlc3RzIHRoYXQgdGhlIHVzZXItc3BlY2lmaWVkIGhlaWdodCBmb3IgPGJ1dHRvbj4tIGFuZCA8
aW5wdXQgdHlwZT0iYnV0dG9uIj4tCisgICAgICAgIGVsZW1lbnRzIGFyZSBob25vcmVkLCBpZiBh
cHByb3ByaWF0ZSBmb3IgdGhlIHBsYXRmb3JtIGFuZCBjb250ZXh0LgorCisgICAgICAgICogZmFz
dC9jc3MvYnV0dG9uLWhlaWdodC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
Y3NzL2J1dHRvbi1oZWlnaHQuaHRtbDogQWRkZWQuCisKIDIwMTAtMDEtMTQgIE9qYW4gVmFmYWkg
IDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWlnaHQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWlnaHQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdHMgdGhh
dCB0aGUgc3BlY2lmaWVkIGhlaWdodCBpcyBob25vcmVkICgqKSBmb3IgPGlucHV0PiBhbmQgPGJ1
dHRvbj4gZWxlbWVudHMuCisoKikgVGhlIE1hYyBwb3J0cyBpZ25vcmUgdGhlIHNwZWNpZmllZCBo
ZWlnaHQgZm9yIDxpbnB1dCB0eXBlPSJidXR0b24iPiBlbGVtZW50cyB1bmxlc3MgYSBib3JkZXIg
YW5kL29yIGJhY2tncm91bmQgQ1NTIHByb3BlcnR5IGlzIGFsc28gc3BlY2lmaWVkIChzZWUgdGhl
IGZpZnRoIGJ1dHRvbiBiZWxvdykuIERpc3JlZ2FyZGluZyBwYWRkaW5nLCB0aGV5IHJlbmRlciB0
aGUgYnV0dG9uIHdpdGggYSBoZWlnaHQgZXF1YWwgdG8gdGhlIGhlaWdodCBvZiB0aGUgZm9udCB1
c2VkIGZvciB0aGUgYnV0dG9uIGxhYmVsLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMScpLm9mZnNldEhlaWdodCBp
cyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMicpLm9mZnNldEhlaWdodAorUEFTUyBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMycpLm9mZnNldEhlaWdodCBpcyA0MAorUEFT
UyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uNCcpLm9mZnNldEhlaWdodCBpcyA0MAor
UEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uNScpLm9mZnNldEhlaWdodCBpcyAx
OAorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1o
ZWlnaHQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9idXR0b24taGVp
Z2h0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9idXR0b24taGVp
Z2h0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTEgQEAKKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KKyNidXR0b24zLCAjYnV0dG9uNSB7IGhlaWdodDogNDBweDsgfQorI2J1
dHRvbjQgeyBoZWlnaHQ6IDQwcHg7IGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsgfQorPC9zdHls
ZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9u
KCkKK3sKKyAgICBzaG91bGRCZSgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjEnKS5v
ZmZzZXRIZWlnaHQiLCAiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjInKS5vZmZzZXRI
ZWlnaHQiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
YnV0dG9uMycpLm9mZnNldEhlaWdodCIsIDQwKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uNCcpLm9mZnNldEhlaWdodCIsIDQwKTsKKyAgICBz
aG91bGRFdmFsdWF0ZVRvKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uNScpLm9mZnNl
dEhlaWdodCIsIAorICAgICAgICAobmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoIk1hYyIpICE9
PSAtMSkgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uMSIpLm9mZnNldEhlaWdodCA6
IDQwKTsKKyAgICAKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgIHZhciB0ZXN0Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtY29u
dGFpbmVyIik7CisgICAgICAgIGlmICh0ZXN0Q29udGFpbmVyKQorICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0Q29udGFpbmVyKTsgICAKKyAgICB9CisgICAgZGVidWco
JzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5URVNUIENPTVBMRVRFPC9zcGFuPicpOworfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0idGVzdC1jb250YWluZXIiPgorICAgIDxvbD4KKyAgICAgICAgPGxpPjxpbnB1dCBpZD0iYnV0
dG9uMSIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0idW5zcGVjaWZpZWQgaGVpZ2h0Ii8+PHA+PHN0cm9u
Zz5FeHBlY3RlZCBoZWlnaHQ6PC9zdHJvbmc+IGhlaWdodCBvZiBidXR0b24gbGFiZWwgZm9udC48
L3A+PC9saT4KKyAgICAgICAgPGxpPjxidXR0b24gaWQ9ImJ1dHRvbjIiPnVuc3BlY2lmaWVkIGhl
aWdodDwvYnV0dG9uPjxwPjxzdHJvbmc+RXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPiBoZWlnaHQg
b2YgYnV0dG9uIGxhYmVsIGZvbnQuPC9wPjwvbGk+CisgICAgICAgIDxsaT48YnV0dG9uIGlkPSJi
dXR0b24zIj5oZWlnaHQgNDAgcGl4ZWxzPC9idXR0b24+PHA+PHN0cm9uZz5FeHBlY3RlZCBoZWln
aHQ6PC9zdHJvbmc+IDQwIHBpeGVscy48L3A+PC9saT4KKyAgICAgICAgPGxpPjxpbnB1dCBpZD0i
YnV0dG9uNCIgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iaGVpZ2h0IDQwIHBpeGVscywgYmFja2dyb3Vu
ZCB5ZWxsb3ciLz48cD48c3Ryb25nPkV4cGVjdGVkIGhlaWdodDo8L3N0cm9uZz4gNDAgcGl4ZWxz
LjwvcD48L2xpPgorICAgICAgICA8bGk+PGlucHV0IGlkPSJidXR0b241IiB0eXBlPSJidXR0b24i
IHZhbHVlPSJoZWlnaHQgNDAgcGl4ZWxzICgqKSIvPjxwPjxzdHJvbmc+KCopIEV4cGVjdGVkIGhl
aWdodDo8L3N0cm9uZz48YnIvPk1hYzogaGVpZ2h0IG9mIGJ1dHRvbiBsYWJlbCBmb250Ljxici8+
T3RoZXI6IDQwIHBpeGVscy48L3A+PC9saT4KKyAgICA8L29sPgorPC9kaXY+Cis8aHIvPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRl
c3RzIHRoYXQgdGhlIHNwZWNpZmllZCBoZWlnaHQgaXMgaG9ub3JlZCAoKikgZm9yICZsdDtpbnB1
dCZndDsgYW5kICZsdDtidXR0b24mZ3Q7IGVsZW1lbnRzLjxici8+IiArCisgICAgICAgICAgICAg
ICAgIigqKSBUaGUgTWFjIHBvcnRzIGlnbm9yZSB0aGUgc3BlY2lmaWVkIGhlaWdodCBmb3IgJmx0
O2lucHV0IHR5cGU9JnF1b3Q7YnV0dG9uJnF1b3Q7Jmd0OyBlbGVtZW50cyB1bmxlc3MgYSAiICsK
KyAgICAgICAgICAgICAgICAiYm9yZGVyIGFuZC9vciBiYWNrZ3JvdW5kIENTUyBwcm9wZXJ0eSBp
cyBhbHNvIHNwZWNpZmllZCAoc2VlIHRoZSBmaWZ0aCBidXR0b24gYmVsb3cpLiBEaXNyZWdhcmRp
bmcgIiArCisgICAgICAgICAgICAgICAgInBhZGRpbmcsIHRoZXkgcmVuZGVyIHRoZSBidXR0b24g
d2l0aCBhIGhlaWdodCBlcXVhbCB0byB0aGUgaGVpZ2h0IG9mIHRoZSBmb250IHVzZWQgZm9yIHRo
ZSBidXR0b24gbGFiZWwuIik7CisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="29139"
          type_id="1"
          status="-"
          setter="vestbo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46882</attachid>
            <date>2010-01-18 20:10:00 -0800</date>
            <delta_ts>2010-01-25 00:00:18 -0800</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug29564_4.patch</filename>
            <type>text/plain</type>
            <size>6880</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzM4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMDEtMTggIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTU2NAorCisgICAgICAgIFtR
dF0gRml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGhlaWdodCBvZiA8YnV0dG9uPi0gYW5kCisgICAg
ICAgIDxpbnB1dCB0eXBlPSJidXR0b24iPi0gZWxlbWVudHMgYXJlIGZpeGVkIHRvIHRoZSBoZWln
aHQgb2YgdGhlCisgICAgICAgIGJ1dHRvbiBsYWJlbCBmb250IHBsdXMgcGFkZGluZy4gVGhhdCBp
cywgdGhlIENTUyBoZWlnaHQgcHJvcGVydHkKKyAgICAgICAgaXMgYmVpbmcgaWdub3JlZC4KKwor
ICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91bGQgaG9ub3IgdGhlIHVzZXItc3BlY2lmaWVkIGhlaWdo
dCwgaWYgYXBwcm9wcmlhdGUKKyAgICAgICAgZm9yIHRoZSBwbGF0Zm9ybSBhbmQgY29udGV4dC4g
Tm90aWNlLCB0aGUgTWFjIHBvcnRzIGRvIG5vdCBob25vciB0aGUKKyAgICAgICAgaGVpZ2h0IGZv
ciA8aW5wdXQgdHlwZT0iYnV0dG9uIj4gZWxlbWVudHMgdW5sZXNzIGEgYm9yZGVyIGFuZC9vcgor
ICAgICAgICBiYWNrZ3JvdW5kIGlzIGFsc28gc3BlY2lmaWVkLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvY3NzL2J1dHRvbi1oZWlnaHQuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVy
VGhlbWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpSZW5kZXJUaGVt
ZVF0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRvblN0eWxl
KToKKwogMjAxMC0wMS0xNyAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5jcHAJKHJldmlzaW9uIDUzMzE5KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9S
ZW5kZXJUaGVtZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk3LDggKzM5NywxMyBAQCB2b2lk
IFJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRvblN0eWxlKENTCiAgICAgLy8gRGl0Y2ggdGhlIGJv
cmRlci4KICAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKIAotICAgIC8vIEhlaWdodCBpcyBsb2Nr
ZWQgdG8gYXV0by4KLSAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChBdXRvKSk7CisjaWZkZWYg
UV9XU19NQUMKKyAgICBpZiAoc3R5bGUtPmFwcGVhcmFuY2UoKSA9PSBQdXNoQnV0dG9uUGFydCkg
eworICAgICAgICAvLyBUaGUgTWFjIHBvcnRzIGlnbm9yZSB0aGUgc3BlY2lmaWVkIGhlaWdodCBm
b3IgPGlucHV0IHR5cGU9ImJ1dHRvbiI+IGVsZW1lbnRzCisgICAgICAgIC8vIHVubGVzcyBhIGJv
cmRlciBhbmQvb3IgYmFja2dyb3VuZCBDU1MgcHJvcGVydHkgaXMgYWxzbyBzcGVjaWZpZWQuCisg
ICAgICAgIHN0eWxlLT5zZXRIZWlnaHQoTGVuZ3RoKEF1dG8pKTsKKyAgICB9CisjZW5kaWYKIAog
ICAgIC8vIFdoaXRlLXNwYWNlIGlzIGxvY2tlZCB0byBwcmUKICAgICBzdHlsZS0+c2V0V2hpdGVT
cGFjZShQUkUpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTMzMzQpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMS0xOCAgRGFuaWVs
IEJhdGVzICA8ZGJhdGVzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI5NTY0CisgICAgICAgIAorICAgICAgICBUZXN0cyB0aGF0IHRoZSB1c2VyLXNwZWNpZmll
ZCBoZWlnaHQgZm9yIDxidXR0b24+LSBhbmQgPGlucHV0IHR5cGU9ImJ1dHRvbiI+LQorICAgICAg
ICBlbGVtZW50cyBhcmUgaG9ub3JlZCwgaWYgYXBwcm9wcmlhdGUgZm9yIHRoZSBwbGF0Zm9ybSBh
bmQgY29udGV4dC4KKworICAgICAgICAqIGZhc3QvY3NzL2J1dHRvbi1oZWlnaHQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9idXR0b24taGVpZ2h0Lmh0bWw6IEFkZGVk
LgorCiAyMDEwLTAxLTE0ICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9i
dXR0b24taGVpZ2h0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy9idXR0b24taGVpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWlnaHQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEzIEBACitUaGlzIHRlc3RzIHRoYXQgdGhlIHNwZWNpZmllZCBoZWlnaHQgaXMgaG9u
b3JlZCAoKikgZm9yIDxpbnB1dD4gYW5kIDxidXR0b24+IGVsZW1lbnRzLgorKCopIFRoZSBNYWMg
cG9ydHMgaWdub3JlIHRoZSBzcGVjaWZpZWQgaGVpZ2h0IGZvciA8aW5wdXQgdHlwZT0iYnV0dG9u
Ij4gZWxlbWVudHMgdW5sZXNzIGEgYm9yZGVyIGFuZC9vciBiYWNrZ3JvdW5kIENTUyBwcm9wZXJ0
eSBpcyBhbHNvIHNwZWNpZmllZCAoc2VlIHRoZSBmaWZ0aCBidXR0b24gYmVsb3cpLiBEaXNyZWdh
cmRpbmcgcGFkZGluZywgdGhleSByZW5kZXIgdGhlIGJ1dHRvbiB3aXRoIGEgaGVpZ2h0IGVxdWFs
IHRvIHRoZSBoZWlnaHQgb2YgdGhlIGZvbnQgdXNlZCBmb3IgdGhlIGJ1dHRvbiBsYWJlbC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2J1dHRvbjEnKS5vZmZzZXRIZWlnaHQgaXMgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1
dHRvbjInKS5vZmZzZXRIZWlnaHQKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRv
bjMnKS5vZmZzZXRIZWlnaHQgaXMgNDAKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1
dHRvbjQnKS5vZmZzZXRIZWlnaHQgaXMgNDAKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2J1dHRvbjUnKS5vZmZzZXRIZWlnaHQgaXMgY29ycmVjdCBmb3IgdGhpcyBwbGF0Zm9ybS4KKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9idXR0b24taGVpZ2h0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU2IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CisjYnV0dG9uMywgI2J1dHRvbjUgeyBoZWlnaHQ6IDQwcHg7IH0KKyNidXR0b240
IHsgaGVpZ2h0OiA0MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7IH0KKzwvc3R5bGU+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCit7
CisgICAgc2hvdWxkQmUoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24xJykub2Zmc2V0
SGVpZ2h0IiwgImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24yJykub2Zmc2V0SGVpZ2h0
Iik7CisgICAgc2hvdWxkRXZhbHVhdGVUbygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRv
bjMnKS5vZmZzZXRIZWlnaHQiLCA0MCk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygiZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjQnKS5vZmZzZXRIZWlnaHQiLCA0MCk7CisKKyAgICAvLyBO
b3RlLCB0aGUgZXhwZWN0ZWQgaGVpZ2h0IGlzIHRoZSBoZWlnaHQgb2YgYnV0dG9uIDEgZm9yIHRo
ZSBNYWMgcG9ydHMsIGFuZCA0MCBvdGhlcndpc2UuCisgICAgdmFyIGV4cGVjdGVkQnV0dG9uNUhl
aWdodCA9IChuYXZpZ2F0b3IucGxhdGZvcm0uaW5kZXhPZigiTWFjIikgIT09IC0xKSA/IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJidXR0b24xIikub2Zmc2V0SGVpZ2h0IDogNDA7CisgICAgaWYg
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b241Jykub2Zmc2V0SGVpZ2h0ID09IGV4cGVj
dGVkQnV0dG9uNUhlaWdodCkKKyAgICAgICAgdGVzdFBhc3NlZCgiZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2J1dHRvbjUnKS5vZmZzZXRIZWlnaHQgaXMgY29ycmVjdCBmb3IgdGhpcyBwbGF0Zm9y
bS4iKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoImRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdidXR0b241Jykub2Zmc2V0SGVpZ2h0IGlzIGluY29ycmVjdCBmb3IgdGhpcyBwbGF0Zm9y
bS4gU2hvdWxkIGJlIHRoZSBzYW1lIGhlaWdodCBhcyBidXR0b24gMSBmb3IgdGhlIE1hYyBwb3J0
cyBhbmQgNDAgb3RoZXJ3aXNlLiIpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICB2YXIgdGVzdENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0ZXN0LWNvbnRhaW5lciIpOworICAgICAgICBpZiAodGVzdENvbnRhaW5lcikKKyAgICAg
ICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7ICAgCisgICAg
fQorICAgIGRlYnVnKCc8YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bh
bj4nKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24i
PjwvcD4KKzxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgICA8b2w+CisgICAgICAgIDxsaT48
aW5wdXQgaWQ9ImJ1dHRvbjEiIHR5cGU9ImJ1dHRvbiIgdmFsdWU9InVuc3BlY2lmaWVkIGhlaWdo
dCIvPjxwPjxzdHJvbmc+RXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPiBoZWlnaHQgb2YgYnV0dG9u
IGxhYmVsIGZvbnQuPC9wPjwvbGk+CisgICAgICAgIDxsaT48YnV0dG9uIGlkPSJidXR0b24yIj51
bnNwZWNpZmllZCBoZWlnaHQ8L2J1dHRvbj48cD48c3Ryb25nPkV4cGVjdGVkIGhlaWdodDo8L3N0
cm9uZz4gaGVpZ2h0IG9mIGJ1dHRvbiBsYWJlbCBmb250LjwvcD48L2xpPgorICAgICAgICA8bGk+
PGJ1dHRvbiBpZD0iYnV0dG9uMyI+aGVpZ2h0IDQwIHBpeGVsczwvYnV0dG9uPjxwPjxzdHJvbmc+
RXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPiA0MCBwaXhlbHMuPC9wPjwvbGk+CisgICAgICAgIDxs
aT48aW5wdXQgaWQ9ImJ1dHRvbjQiIHR5cGU9ImJ1dHRvbiIgdmFsdWU9ImhlaWdodCA0MCBwaXhl
bHMsIGJhY2tncm91bmQgeWVsbG93Ii8+PHA+PHN0cm9uZz5FeHBlY3RlZCBoZWlnaHQ6PC9zdHJv
bmc+IDQwIHBpeGVscy48L3A+PC9saT4KKyAgICAgICAgPGxpPjxpbnB1dCBpZD0iYnV0dG9uNSIg
dHlwZT0iYnV0dG9uIiB2YWx1ZT0iaGVpZ2h0IDQwIHBpeGVscyAoKikiLz48cD48c3Ryb25nPigq
KSBFeHBlY3RlZCBoZWlnaHQ6PC9zdHJvbmc+PGJyLz5NYWM6IGhlaWdodCBvZiBidXR0b24gbGFi
ZWwgZm9udC48YnIvPk90aGVyOiA0MCBwaXhlbHMuPC9wPjwvbGk+CisgICAgPC9vbD4KKzwvZGl2
PgorPGhyLz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0cyB0aGF0IHRoZSBzcGVjaWZpZWQgaGVpZ2h0IGlzIGhvbm9yZWQgKCop
IGZvciAmbHQ7aW5wdXQmZ3Q7IGFuZCAmbHQ7YnV0dG9uJmd0OyBlbGVtZW50cy48YnIvPiIgKwor
ICAgICAgICAgICAgICAgICIoKikgVGhlIE1hYyBwb3J0cyBpZ25vcmUgdGhlIHNwZWNpZmllZCBo
ZWlnaHQgZm9yICZsdDtpbnB1dCB0eXBlPSZxdW90O2J1dHRvbiZxdW90OyZndDsgZWxlbWVudHMg
dW5sZXNzIGEgIiArCisgICAgICAgICAgICAgICAgImJvcmRlciBhbmQvb3IgYmFja2dyb3VuZCBD
U1MgcHJvcGVydHkgaXMgYWxzbyBzcGVjaWZpZWQgKHNlZSB0aGUgZmlmdGggYnV0dG9uIGJlbG93
KS4gRGlzcmVnYXJkaW5nICIgKworICAgICAgICAgICAgICAgICJwYWRkaW5nLCB0aGV5IHJlbmRl
ciB0aGUgYnV0dG9uIHdpdGggYSBoZWlnaHQgZXF1YWwgdG8gdGhlIGhlaWdodCBvZiB0aGUgZm9u
dCB1c2VkIGZvciB0aGUgYnV0dG9uIGxhYmVsLiIpOworICAgIHZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47320</attachid>
            <date>2010-01-25 00:00:18 -0800</date>
            <delta_ts>2010-01-26 21:29:25 -0800</delta_ts>
            <desc>Patch with test case</desc>
            <filename>Bug29564_rebased.patch</filename>
            <type>text/plain</type>
            <size>11452</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1Mzc4MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTAtMDEtMjQgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTU2NAorCisgICAgICAgIFtR
dF0gRml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGhlaWdodCBvZiA8YnV0dG9uPi0gYW5kCisgICAg
ICAgIDxpbnB1dCB0eXBlPSJidXR0b24iPi0gZWxlbWVudHMgYXJlIGZpeGVkIHRvIHRoZSBoZWln
aHQgb2YgdGhlCisgICAgICAgIGJ1dHRvbiBsYWJlbCBmb250IHBsdXMgcGFkZGluZy4gVGhhdCBp
cywgdGhlIENTUyBoZWlnaHQgcHJvcGVydHkKKyAgICAgICAgaXMgYmVpbmcgaWdub3JlZC4KKwor
ICAgICAgICBJbnN0ZWFkLCB3ZSBzaG91bGQgaG9ub3IgdGhlIHVzZXItc3BlY2lmaWVkIGhlaWdo
dCwgaWYgYXBwcm9wcmlhdGUKKyAgICAgICAgZm9yIHRoZSBwbGF0Zm9ybSBhbmQgY29udGV4dC4g
Tm90aWNlLCB0aGUgTWFjIHBvcnRzIGRvIG5vdCBob25vciB0aGUKKyAgICAgICAgaGVpZ2h0IGZv
ciA8aW5wdXQgdHlwZT0iYnV0dG9uIj4gZWxlbWVudHMgdW5sZXNzIGEgYm9yZGVyIGFuZC9vcgor
ICAgICAgICBiYWNrZ3JvdW5kIGlzIGFsc28gc3BlY2lmaWVkLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvY3NzL2J1dHRvbi1oZWlnaHQuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVy
VGhlbWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RCdXR0
b25TdHlsZSk6CisKIDIwMTAtMDEtMjQgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCShyZXZpc2lvbiA1Mzc1MSkKKysrIFdlYkNvcmUv
cGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5Nyw4ICsz
OTcsMTMgQEAgdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RCdXR0b25TdHlsZShDUwogICAgIC8v
IERpdGNoIHRoZSBib3JkZXIuCiAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7CiAKLSAgICAvLyBI
ZWlnaHQgaXMgbG9ja2VkIHRvIGF1dG8uCi0gICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoQXV0
bykpOworI2lmZGVmIFFfV1NfTUFDCisgICAgaWYgKHN0eWxlLT5hcHBlYXJhbmNlKCkgPT0gUHVz
aEJ1dHRvblBhcnQpIHsKKyAgICAgICAgLy8gVGhlIE1hYyBwb3J0cyBpZ25vcmUgdGhlIHNwZWNp
ZmllZCBoZWlnaHQgZm9yIDxpbnB1dCB0eXBlPSJidXR0b24iPiBlbGVtZW50cworICAgICAgICAv
LyB1bmxlc3MgYSBib3JkZXIgYW5kL29yIGJhY2tncm91bmQgQ1NTIHByb3BlcnR5IGlzIGFsc28g
c3BlY2lmaWVkLgorICAgICAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChBdXRvKSk7CisgICAg
fQorI2VuZGlmCiAKICAgICAvLyBXaGl0ZS1zcGFjZSBpcyBsb2NrZWQgdG8gcHJlCiAgICAgc3R5
bGUtPnNldFdoaXRlU3BhY2UoUFJFKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDUzNzgwKQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAt
MDEtMjQgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yOTU2NAorCisgICAgICAgIFRlc3RzIHRoYXQgdGhlIHVzZXItc3Bl
Y2lmaWVkIGhlaWdodCBmb3IgPGJ1dHRvbj4tIGFuZCA8aW5wdXQgdHlwZT0iYnV0dG9uIj4tCisg
ICAgICAgIGVsZW1lbnRzIGFyZSBob25vcmVkLCBpZiBhcHByb3ByaWF0ZSBmb3IgdGhlIHBsYXRm
b3JtIGFuZCBjb250ZXh0LgorCisgICAgICAgICogZmFzdC9jc3MvYnV0dG9uLWhlaWdodC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2J1dHRvbi1oZWlnaHQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhlaWdodC1leHBl
Y3RlZC50eHQ6IEFkZGVkIG5vdGljZSBhYm91dCBmYWlsaW5nIHRlc3RzCisgICAgICAgIGluIFdp
bmRvd3MgcG9ydHMuCisgICAgICAgICogZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhlaWdo
dC5odG1sOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L3JlcGxhY2VkL3RhYmxl
LXBlcmNlbnQtaGVpZ2h0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTAtMDEtMjQgIEVyaWMg
Q2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
U2ltb24gRnJhc2VyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhl
aWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9i
dXR0b24taGVpZ2h0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAor
VGhpcyB0ZXN0cyB0aGF0IHRoZSBzcGVjaWZpZWQgaGVpZ2h0IGlzIGhvbm9yZWQgKCopIGZvciA8
aW5wdXQ+IGFuZCA8YnV0dG9uPiBlbGVtZW50cy4KKygqKSBUaGUgTWFjIHBvcnRzIGlnbm9yZSB0
aGUgc3BlY2lmaWVkIGhlaWdodCBmb3IgPGlucHV0IHR5cGU9ImJ1dHRvbiI+IGVsZW1lbnRzIHVu
bGVzcyBhIGJvcmRlciBhbmQvb3IgYmFja2dyb3VuZCBDU1MgcHJvcGVydHkgaXMgYWxzbyBzcGVj
aWZpZWQgKHNlZSB0aGUgZmlmdGggYnV0dG9uIGJlbG93KS4gRGlzcmVnYXJkaW5nIHBhZGRpbmcs
IHRoZXkgcmVuZGVyIHRoZSBidXR0b24gd2l0aCBhIGhlaWdodCBlcXVhbCB0byB0aGUgaGVpZ2h0
IG9mIHRoZSBmb250IHVzZWQgZm9yIHRoZSBidXR0b24gbGFiZWwuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24xJyku
b2Zmc2V0SGVpZ2h0IGlzIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24yJykub2Zmc2V0
SGVpZ2h0CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24zJykub2Zmc2V0SGVp
Z2h0IGlzIDQwCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b240Jykub2Zmc2V0
SGVpZ2h0IGlzIDQwCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b241Jykub2Zm
c2V0SGVpZ2h0IGlzIGNvcnJlY3QgZm9yIHRoaXMgcGxhdGZvcm0uCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvYnV0dG9uLWhlaWdodC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWlnaHQuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2J1dHRvbi1oZWlnaHQuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw1NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorI2J1
dHRvbjMsICNidXR0b241IHsgaGVpZ2h0OiA0MHB4OyB9CisjYnV0dG9uNCB7IGhlaWdodDogNDBw
eDsgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OyB9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQoreworICAgIHNob3VsZEJl
KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMScpLm9mZnNldEhlaWdodCIsICJkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMicpLm9mZnNldEhlaWdodCIpOworICAgIHNob3Vs
ZEV2YWx1YXRlVG8oImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24zJykub2Zmc2V0SGVp
Z2h0IiwgNDApOworICAgIHNob3VsZEV2YWx1YXRlVG8oImRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdidXR0b240Jykub2Zmc2V0SGVpZ2h0IiwgNDApOworCisgICAgLy8gTm90ZSwgdGhlIGV4cGVj
dGVkIGhlaWdodCBpcyB0aGUgaGVpZ2h0IG9mIGJ1dHRvbiAxIGZvciB0aGUgTWFjIHBvcnRzLCBh
bmQgNDAgb3RoZXJ3aXNlLgorICAgIHZhciBleHBlY3RlZEJ1dHRvbjVIZWlnaHQgPSAobmF2aWdh
dG9yLnBsYXRmb3JtLmluZGV4T2YoIk1hYyIpICE9PSAtMSkgPyBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiYnV0dG9uMSIpLm9mZnNldEhlaWdodCA6IDQwOworICAgIGlmIChkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnYnV0dG9uNScpLm9mZnNldEhlaWdodCA9PSBleHBlY3RlZEJ1dHRvbjVIZWln
aHQpCisgICAgICAgIHRlc3RQYXNzZWQoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b241
Jykub2Zmc2V0SGVpZ2h0IGlzIGNvcnJlY3QgZm9yIHRoaXMgcGxhdGZvcm0uIik7CisgICAgZWxz
ZQorICAgICAgICB0ZXN0RmFpbGVkKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uNScp
Lm9mZnNldEhlaWdodCBpcyBpbmNvcnJlY3QgZm9yIHRoaXMgcGxhdGZvcm0uIFNob3VsZCBiZSB0
aGUgc2FtZSBoZWlnaHQgYXMgYnV0dG9uIDEgZm9yIHRoZSBNYWMgcG9ydHMgYW5kIDQwIG90aGVy
d2lzZS4iKTsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
ICAgdmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdC1jb250
YWluZXIiKTsKKyAgICAgICAgaWYgKHRlc3RDb250YWluZXIpCisgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LnJlbW92ZUNoaWxkKHRlc3RDb250YWluZXIpOyAgIAorICAgIH0KKyAgICBkZWJ1Zygn
PGJyIC8+PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJ0ZXN0LWNvbnRhaW5lciI+CisgICAgPG9sPgorICAgICAgICA8bGk+PGlucHV0IGlkPSJidXR0
b24xIiB0eXBlPSJidXR0b24iIHZhbHVlPSJ1bnNwZWNpZmllZCBoZWlnaHQiLz48cD48c3Ryb25n
PkV4cGVjdGVkIGhlaWdodDo8L3N0cm9uZz4gaGVpZ2h0IG9mIGJ1dHRvbiBsYWJlbCBmb250Ljwv
cD48L2xpPgorICAgICAgICA8bGk+PGJ1dHRvbiBpZD0iYnV0dG9uMiI+dW5zcGVjaWZpZWQgaGVp
Z2h0PC9idXR0b24+PHA+PHN0cm9uZz5FeHBlY3RlZCBoZWlnaHQ6PC9zdHJvbmc+IGhlaWdodCBv
ZiBidXR0b24gbGFiZWwgZm9udC48L3A+PC9saT4KKyAgICAgICAgPGxpPjxidXR0b24gaWQ9ImJ1
dHRvbjMiPmhlaWdodCA0MCBwaXhlbHM8L2J1dHRvbj48cD48c3Ryb25nPkV4cGVjdGVkIGhlaWdo
dDo8L3N0cm9uZz4gNDAgcGl4ZWxzLjwvcD48L2xpPgorICAgICAgICA8bGk+PGlucHV0IGlkPSJi
dXR0b240IiB0eXBlPSJidXR0b24iIHZhbHVlPSJoZWlnaHQgNDAgcGl4ZWxzLCBiYWNrZ3JvdW5k
IHllbGxvdyIvPjxwPjxzdHJvbmc+RXhwZWN0ZWQgaGVpZ2h0Ojwvc3Ryb25nPiA0MCBwaXhlbHMu
PC9wPjwvbGk+CisgICAgICAgIDxsaT48aW5wdXQgaWQ9ImJ1dHRvbjUiIHR5cGU9ImJ1dHRvbiIg
dmFsdWU9ImhlaWdodCA0MCBwaXhlbHMgKCopIi8+PHA+PHN0cm9uZz4oKikgRXhwZWN0ZWQgaGVp
Z2h0Ojwvc3Ryb25nPjxici8+TWFjOiBoZWlnaHQgb2YgYnV0dG9uIGxhYmVsIGZvbnQuPGJyLz5P
dGhlcjogNDAgcGl4ZWxzLjwvcD48L2xpPgorICAgIDwvb2w+Cis8L2Rpdj4KKzxoci8+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVz
dHMgdGhhdCB0aGUgc3BlY2lmaWVkIGhlaWdodCBpcyBob25vcmVkICgqKSBmb3IgJmx0O2lucHV0
Jmd0OyBhbmQgJmx0O2J1dHRvbiZndDsgZWxlbWVudHMuPGJyLz4iICsKKyAgICAgICAgICAgICAg
ICAiKCopIFRoZSBNYWMgcG9ydHMgaWdub3JlIHRoZSBzcGVjaWZpZWQgaGVpZ2h0IGZvciAmbHQ7
aW5wdXQgdHlwZT0mcXVvdDtidXR0b24mcXVvdDsmZ3Q7IGVsZW1lbnRzIHVubGVzcyBhICIgKwor
ICAgICAgICAgICAgICAgICJib3JkZXIgYW5kL29yIGJhY2tncm91bmQgQ1NTIHByb3BlcnR5IGlz
IGFsc28gc3BlY2lmaWVkIChzZWUgdGhlIGZpZnRoIGJ1dHRvbiBiZWxvdykuIERpc3JlZ2FyZGlu
ZyAiICsKKyAgICAgICAgICAgICAgICAicGFkZGluZywgdGhleSByZW5kZXIgdGhlIGJ1dHRvbiB3
aXRoIGEgaGVpZ2h0IGVxdWFsIHRvIHRoZSBoZWlnaHQgb2YgdGhlIGZvbnQgdXNlZCBmb3IgdGhl
IGJ1dHRvbiBsYWJlbC4iKTsKKyAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9yZXBsYWNl
ZC90YWJsZS1wZXJjZW50LWhlaWdodC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhlaWdodC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDUzNzUxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50
LWhlaWdodC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAgQnV0
dG9uCiAKIAogVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJlcGxhY2VkIGVsZW1lbnRzIHdpdGggcGVy
Y2VudGFnZSBoZWlnaHRzIHdpdGhpbiB0YWJsZSBjZWxscyBoYXZlIHRoZSBjb3JyZWN0IGhlaWdo
dC4KK05vdGUsIHNvbWUgb2YgdGhlIGJ1dHRvbiBoZWlnaHQgdGVzdHMgZmFpbCBvbiB0aGUgV2lu
ZG93cyBwb3J0cy4gU2VlIGJ1ZyAjMzQwNzEuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhlaWdodC5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcmVwbGFjZWQvdGFibGUtcGVyY2Vu
dC1oZWlnaHQuaHRtbAkocmV2aXNpb24gNTM3NTEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3JlcGxh
Y2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTU5LDcgKzU5
LDcgQEAgZnVuY3Rpb24gaXM3NVBlcmNlbnRPZihleHByZXNzaW9uNzUsIGV4cAogCiBmdW5jdGlv
biB0ZXN0KCkKIHsKLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHJlcGxh
Y2VkIGVsZW1lbnRzIHdpdGggcGVyY2VudGFnZSBoZWlnaHRzIHdpdGhpbiB0YWJsZSBjZWxscyBo
YXZlIHRoZSBjb3JyZWN0IGhlaWdodC4iKTsKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0IHJlcGxhY2VkIGVsZW1lbnRzIHdpdGggcGVyY2VudGFnZSBoZWlnaHRzIHdpdGhp
biB0YWJsZSBjZWxscyBoYXZlIHRoZSBjb3JyZWN0IGhlaWdodC48YnI+Tm90ZSwgc29tZSBvZiB0
aGUgYnV0dG9uIGhlaWdodCB0ZXN0cyBmYWlsIG9uIHRoZSBXaW5kb3dzIHBvcnRzLiBTZWUgYnVn
ICMzNDA3MS4iKTsKIAogICAgIHNob3VsZEJlKCJnZXRXaWR0aCgnY2FudmFzLTc1JykiLCAiJzMw
MHB4JyIpOwogICAgIHNob3VsZEJlKCJnZXRIZWlnaHQoJ2NhbnZhcy03NScpIiwgIicxMTJweCci
KTsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvcmVwbGFjZWQvdGFibGUtcGVy
Y2VudC1oZWlnaHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRm
b3JtL3F0L2Zhc3QvcmVwbGFjZWQvdGFibGUtcGVyY2VudC1oZWlnaHQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9yZXBsYWNlZC90YWJs
ZS1wZXJjZW50LWhlaWdodC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzgg
QEAKKworCisKKworCisKK0J1dHRvbgorQnV0dG9uCisKKworCisKKworCisKKworCisKKworCisK
KworCisKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCByZXBsYWNlZCBlbGVtZW50cyB3aXRoIHBlcmNl
bnRhZ2UgaGVpZ2h0cyB3aXRoaW4gdGFibGUgY2VsbHMgaGF2ZSB0aGUgY29ycmVjdCBoZWlnaHQu
CitOb3RlLCBzb21lIG9mIHRoZSBidXR0b24gaGVpZ2h0IHRlc3RzIGZhaWwgb24gdGhlIFdpbmRv
d3MgcG9ydHMuIFNlZSBidWcgIzM0MDcxLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBnZXRXaWR0aCgnY2FudmFzLTc1JykgaXMgJzMwMHB4JworUEFTUyBnZXRIZWlnaHQo
J2NhbnZhcy03NScpIGlzICcxMTJweCcKK1BBU1MgZ2V0V2lkdGgoJ2NhbnZhcy0xMDAnKSBpcyAn
MzAwcHgnCitQQVNTIGdldEhlaWdodCgnY2FudmFzLTEwMCcpIGlzICcxNTBweCcKK1BBU1MgZ2V0
V2lkdGgoJ2VtYmVkLTc1JykgaXMgJzMwMHB4JworUEFTUyBnZXRIZWlnaHQoJ2VtYmVkLTc1Jykg
aXMgJzExMnB4JworUEFTUyBnZXRXaWR0aCgnZW1iZWQtMTAwJykgaXMgJzMwMHB4JworUEFTUyBn
ZXRIZWlnaHQoJ2VtYmVkLTEwMCcpIGlzICcxNTBweCcKK1BBU1MgZ2V0V2lkdGgoJ2ltZy03NScp
IGlzICc3NXB4JworUEFTUyBnZXRIZWlnaHQoJ2ltZy03NScpIGlzICc3NXB4JworUEFTUyBnZXRX
aWR0aCgnaW1nLTEwMCcpIGlzICcxMDBweCcKK1BBU1MgZ2V0SGVpZ2h0KCdpbWctMTAwJykgaXMg
JzEwMHB4JworUEFTUyBnZXRXaWR0aCgnb2JqZWN0LTc1JykgaXMgJzMwMHB4JworUEFTUyBnZXRI
ZWlnaHQoJ29iamVjdC03NScpIGlzICcxMTJweCcKK1BBU1MgZ2V0V2lkdGgoJ29iamVjdC0xMDAn
KSBpcyAnMzAwcHgnCitQQVNTIGdldEhlaWdodCgnb2JqZWN0LTEwMCcpIGlzICcxNTBweCcKK1BB
U1MgZ2V0V2lkdGgoJ2J1dHRvbi03NScpIGlzIGdldFdpZHRoKCdidXR0b24tMTAwJykKK1BBU1Mg
Z2V0SGVpZ2h0KCdidXR0b24tNzUnKSAhPSAnMHB4JyBpcyB0cnVlCitGQUlMIGdldEhlaWdodCgn
YnV0dG9uLTc1Jykgc2hvdWxkIGJlIDIxcHguIFdhcyAxNXB4LgorUEFTUyBnZXRXaWR0aCgnaW5w
dXQtYnV0dG9uLTc1JykgaXMgZ2V0V2lkdGgoJ2lucHV0LWJ1dHRvbi0xMDAnKQorUEFTUyBnZXRI
ZWlnaHQoJ2lucHV0LWJ1dHRvbi03NScpICE9ICcwcHgnIGlzIHRydWUKK0ZBSUwgZ2V0SGVpZ2h0
KCdpbnB1dC1idXR0b24tNzUnKSBzaG91bGQgYmUgMjFweC4gV2FzIDE1cHguCitQQVNTIGdldFdp
ZHRoKCdpbnB1dC1jaGVja2JveC03NScpIGlzIGdldFdpZHRoKCdpbnB1dC1jaGVja2JveC0xMDAn
KQorUEFTUyBnZXRIZWlnaHQoJ2lucHV0LWNoZWNrYm94LTc1JykgIT0gJzBweCcgaXMgdHJ1ZQor
UEFTUyBnZXRIZWlnaHQoJ2lucHV0LWNoZWNrYm94LTc1JykgaXMgNzUlIG9mIGdldEhlaWdodCgn
aW5wdXQtY2hlY2tib3gtMTAwJykuCitQQVNTIGdldFdpZHRoKCdpbnB1dC1maWxlLTc1JykgaXMg
Z2V0V2lkdGgoJ2lucHV0LWZpbGUtMTAwJykKK1BBU1MgZ2V0SGVpZ2h0KCdpbnB1dC1maWxlLTc1
JykgIT0gJzBweCcgaXMgdHJ1ZQorUEFTUyBnZXRIZWlnaHQoJ2lucHV0LWZpbGUtNzUnKSBpcyA3
NSUgb2YgZ2V0SGVpZ2h0KCdpbnB1dC1maWxlLTEwMCcpLgorUEFTUyBnZXRXaWR0aCgnaW5wdXQt
aW1hZ2UtNzUnKSBpcyAnNzVweCcKK1BBU1MgZ2V0SGVpZ2h0KCdpbnB1dC1pbWFnZS03NScpIGlz
ICc3NXB4JworUEFTUyBnZXRXaWR0aCgnaW5wdXQtaW1hZ2UtMTAwJykgaXMgJzEwMHB4JworUEFT
UyBnZXRIZWlnaHQoJ2lucHV0LWltYWdlLTEwMCcpIGlzICcxMDBweCcKK1BBU1MgZ2V0V2lkdGgo
J2lucHV0LXJhZGlvLTc1JykgaXMgZ2V0V2lkdGgoJ2lucHV0LXJhZGlvLTEwMCcpCitQQVNTIGdl
dEhlaWdodCgnaW5wdXQtcmFkaW8tNzUnKSAhPSAnMHB4JyBpcyB0cnVlCitQQVNTIGdldEhlaWdo
dCgnaW5wdXQtcmFkaW8tNzUnKSBpcyA3NSUgb2YgZ2V0SGVpZ2h0KCdpbnB1dC1yYWRpby0xMDAn
KS4KK1BBU1MgZ2V0V2lkdGgoJ2lucHV0LXJlc2V0LTc1JykgaXMgZ2V0V2lkdGgoJ2lucHV0LXJl
c2V0LTEwMCcpCitQQVNTIGdldEhlaWdodCgnaW5wdXQtcmVzZXQtNzUnKSAhPSAnMHB4JyBpcyB0
cnVlCitGQUlMIGdldEhlaWdodCgnaW5wdXQtcmVzZXQtNzUnKSBzaG91bGQgYmUgMjFweC4gV2Fz
IDE1cHguCitQQVNTIGdldFdpZHRoKCdpbnB1dC1zdWJtaXQtNzUnKSBpcyBnZXRXaWR0aCgnaW5w
dXQtc3VibWl0LTEwMCcpCitQQVNTIGdldEhlaWdodCgnaW5wdXQtc3VibWl0LTc1JykgIT0gJzBw
eCcgaXMgdHJ1ZQorRkFJTCBnZXRIZWlnaHQoJ2lucHV0LXN1Ym1pdC03NScpIHNob3VsZCBiZSAy
MXB4LiBXYXMgMTVweC4KK1BBU1MgZ2V0V2lkdGgoJ3NlbGVjdC03NScpIGlzIGdldFdpZHRoKCdz
ZWxlY3QtMTAwJykKK1BBU1MgZ2V0SGVpZ2h0KCdzZWxlY3QtNzUnKSAhPSAnMHB4JyBpcyB0cnVl
CitQQVNTIGdldEhlaWdodCgnc2VsZWN0LTc1JykgaXMgZ2V0SGVpZ2h0KCdzZWxlY3QtMTAwJykK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>