<?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>45391</bug_id>
          
          <creation_ts>2010-09-08 07:09:53 -0700</creation_ts>
          <short_desc>QtWebKit asserts when selecting elided text.</short_desc>
          <delta_ts>2010-12-13 10:59:25 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Christian S">christian.stromme</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adawit</cc>
    
    <cc>ademar</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>jhanssen</cc>
    
    <cc>kling</cc>
    
    <cc>rhodovan.u-szeged</cc>
    
    <cc>robert</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>275817</commentid>
    <comment_count>0</comment_count>
    <who name="Christian S">christian.stromme</who>
    <bug_when>2010-09-08 07:09:53 -0700</bug_when>
    <thetext>In Qt 4.7.0 RC1 there is an assertion in FontQt.cpp when selecting elided text.
In Qt 4.6.x it does not assert, but selecting the elided word will cause an overlay where the text is elided.


Steps to reproduce:

open the html file &quot;test.html&quot; with the Qt demo browser, or compile and run the example code in the attached file.


Attached file:
qtwebkit_bug.tar.bz2

archive content:
- app.pro
- main.cpp
- test.html
- bt.txt (backtrace from the demo browser)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304940</commentid>
    <comment_count>1</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-11-04 15:44:48 -0700</bug_when>
    <thetext>You forgot to attach something!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>309664</commentid>
    <comment_count>2</comment_count>
      <attachid>73979</attachid>
    <who name="Christian S">christian.stromme</who>
    <bug_when>2010-11-16 03:36:21 -0800</bug_when>
    <thetext>Created attachment 73979
Test case

Sorry for the late reply, the file should be attached now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314289</commentid>
    <comment_count>3</comment_count>
      <attachid>74996</attachid>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-11-29 01:03:29 -0800</bug_when>
    <thetext>Created attachment 74996
Patch

Make sure that the length passed to fromRawDataWithoutRef() does not exceed the length of the string. This is essentially what happens in FontFastPath.cpp since that one uses WidthIterator for getting the &apos;to&apos; value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314290</commentid>
    <comment_count>4</comment_count>
      <attachid>74996</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-11-29 01:06:02 -0800</bug_when>
    <thetext>Comment on attachment 74996
Patch

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

&gt; WebKit/qt/tests/qwebview/tst_qwebview.cpp:325
&gt; +    QTest::qWait(1000);

Why this long wait?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314292</commentid>
    <comment_count>5</comment_count>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-11-29 01:12:33 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 74996 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=74996&amp;action=review
&gt; 
&gt; &gt; WebKit/qt/tests/qwebview/tst_qwebview.cpp:325
&gt; &gt; +    QTest::qWait(1000);
&gt; 
&gt; Why this long wait?

To make sure the next paint event is received. Is there a way in QTestLib to wait for a particular event perhaps?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314294</commentid>
    <comment_count>6</comment_count>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-11-29 01:16:38 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Why this long wait?
&gt; 
&gt; To make sure the next paint event is received. Is there a way in QTestLib to wait for a particular event perhaps?

Looks like a simple QApplication::processEvent() is sufficient to trigger the problem. I&apos;ll upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314295</commentid>
    <comment_count>7</comment_count>
      <attachid>74997</attachid>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-11-29 01:20:38 -0800</bug_when>
    <thetext>Created attachment 74997
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314300</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-11-29 01:27:53 -0800</bug_when>
    <thetext>It is tricky to test this reliably, processEvents() may be enough on one machine, it may not on another one. On desktop machines it&apos;s fairly easy to get somewhat reliable results, but on slower machines with entirely different windowing systems it becomes difficult. (something we&apos;ve observed when running on meego/maemo devices for example)

Would this assertion trigger anyway when running the tests on the bots? After all we&apos;re doing release builds there.

I&apos;m not a big fan of adding these kind of tests, given that there&apos;s a very small chance of actually catching a regression with them. At the same time they cause headaches when running the tests on other platforms.

I like the qWait() approach over calling processEvents() FWIW.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314301</commentid>
    <comment_count>9</comment_count>
      <attachid>74997</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-11-29 01:29:23 -0800</bug_when>
    <thetext>Comment on attachment 74997
Patch

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

&gt; WebKit/qt/tests/qwebview/tst_qwebview.cpp:325
&gt; +    QApplication::processEvents();

Hmm, in this particular case I wonder if this is going to work at all on platforms that are slightly more asynchronous, such as Mac OS X?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314302</commentid>
    <comment_count>10</comment_count>
      <attachid>74997</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-11-29 01:30:07 -0800</bug_when>
    <thetext>Comment on attachment 74997
Patch

r- due to Simon&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314306</commentid>
    <comment_count>11</comment_count>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-11-29 01:33:09 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 74997 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=74997&amp;action=review
&gt; 
&gt; &gt; WebKit/qt/tests/qwebview/tst_qwebview.cpp:325
&gt; &gt; +    QApplication::processEvents();
&gt; 
&gt; Hmm, in this particular case I wonder if this is going to work at all on platforms that are slightly more asynchronous, such as Mac OS X?

This was tested on OS X actually.

I can go back to qWait() if that&apos;s preferrable, or even use a QEventLoop to verify that a QPaintEvent has been received by the view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314310</commentid>
    <comment_count>12</comment_count>
      <attachid>75002</attachid>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-11-29 01:50:18 -0800</bug_when>
    <thetext>Created attachment 75002
Patch

Updated the test to explicitly wait (up to 5 seconds) for the next QPaintEvent after updating the selection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314311</commentid>
    <comment_count>13</comment_count>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-11-29 01:52:57 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Would this assertion trigger anyway when running the tests on the bots? After all we&apos;re doing release builds there.

Not entirely sure, but the QCOMPARE() at the end would fail even if the test does not assert in release mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314313</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-29 01:55:43 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 74997:

http/tests/security/xssAuditor/dom-write-innerHTML.html
fast/profiler/throw-exception-from-eval.html

Please file bugs against the tests.  These tests were authored by abarth@webkit.org, dbates@webkit.org, kmccullough@apple.com, oliver@apple.com, and timothy@apple.com.  The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314331</commentid>
    <comment_count>15</comment_count>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-11-29 03:12:56 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #8)
&gt; &gt; Would this assertion trigger anyway when running the tests on the bots? After all we&apos;re doing release builds there.
&gt; 
&gt; Not entirely sure, but the QCOMPARE() at the end would fail even if the test does not assert in release mode.

Actually, that&apos;s not true, the test will pass with the assertion not active.

What I&apos;d want to verify is the selection rectangle, but I can&apos;t find any way of retrieving that.
Any suggestions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314336</commentid>
    <comment_count>16</comment_count>
      <attachid>75008</attachid>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-11-29 03:31:55 -0800</bug_when>
    <thetext>Created attachment 75008
Patch

New patch without a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314344</commentid>
    <comment_count>17</comment_count>
      <attachid>75008</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-29 04:06:08 -0800</bug_when>
    <thetext>Comment on attachment 75008
Patch

Clearing flags on attachment: 75008

Committed r72788: &lt;http://trac.webkit.org/changeset/72788&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314345</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-29 04:06:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319436</commentid>
    <comment_count>19</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-12-09 06:34:23 -0800</bug_when>
    <thetext>Shouldn&apos;t this be cherry picked into qtwebkit-2.1 ? There is a downstream report of a crash that seems to have been caused by this bug. See https://bugs.kde.org/show_bug.cgi?id=259272.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319471</commentid>
    <comment_count>20</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-12-09 08:17:57 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Shouldn&apos;t this be cherry picked into qtwebkit-2.1 ? There is a downstream report of a crash that seems to have been caused by this bug. See https://bugs.kde.org/show_bug.cgi?id=259272.

I would not cherry pick targeting 2.1 for an assert. It is late in the process, only important changes should go in.
Qt scripts to build webkit always build in release.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319613</commentid>
    <comment_count>21</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-12-09 11:25:18 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; Shouldn&apos;t this be cherry picked into qtwebkit-2.1 ? There is a downstream report of a crash that seems to have been caused by this bug. See https://bugs.kde.org/show_bug.cgi?id=259272.
&gt; 
&gt; I would not cherry pick targeting 2.1 for an assert. It is late in the process, only important changes should go in.
&gt; Qt scripts to build webkit always build in release.

I believe a fix for a crash that happens by openging a web page is worth including in the release (or in a later minor update)... It can even be classified as a security vuln (at minimum it&apos;s a DoS).

The problem I have is that I can&apos;t reproduce the crash with the supplied example:

Inside Font::selectionRectForText(), codePath(run) returns Complex and thus Font::selectionRectForSimpleText() (where the problem is) never gets called.

Anybody familiar with the code could tell what should I do to actually call Font::selectionRectForSimpleText()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319695</commentid>
    <comment_count>22</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-12-09 13:45:14 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; I believe a fix for a crash that happens by openging a web page is worth including in the release (or in a later minor update)... It can even be classified as a security vuln (at minimum it&apos;s a DoS).

Yep, I was under the assumption it is only invalid selection and assertion in debug. If this can cause a crash in release, I agree this need to go in 2.0 and 2.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319740</commentid>
    <comment_count>23</comment_count>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-12-09 15:12:19 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; I believe a fix for a crash that happens by openging a web page is worth including in the release (or in a later minor update)... It can even be classified as a security vuln (at minimum it&apos;s a DoS).
&gt; 
&gt; Yep, I was under the assumption it is only invalid selection and assertion in debug. If this can cause a crash in release, I agree this need to go in 2.0 and 2.1.

I didn&apos;t see any crashes when testing in release mode myself but using a QString returned by fromRawDataWithoutRef() could certainly read and write to memory out of bounds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319800</commentid>
    <comment_count>24</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-12-09 17:08:48 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; (In reply to comment #21)
&gt; &gt; &gt; I believe a fix for a crash that happens by openging a web page is worth including in the release (or in a later minor update)... It can even be classified as a security vuln (at minimum it&apos;s a DoS).
&gt; &gt; 
&gt; &gt; Yep, I was under the assumption it is only invalid selection and assertion in debug. If this can cause a crash in release, I agree this need to go in 2.0 and 2.1.
&gt; 
&gt; I didn&apos;t see any crashes when testing in release mode myself but using a QString returned by fromRawDataWithoutRef() could certainly read and write to memory out of bounds.

So it&apos;s a simple fix and has potential security implications. I&apos;m adding it as a blocker for 2.1 and 2.0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321245</commentid>
    <comment_count>25</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-12-13 10:59:17 -0800</bug_when>
    <thetext>Revision r72788 cherry-picked into qtwebkit-2.1 with commit 6aef00a &lt;http://gitorious.org/webkit/qtwebkit/commit/6aef00a&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>73979</attachid>
            <date>2010-11-16 03:36:21 -0800</date>
            <delta_ts>2010-11-16 03:36:21 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>qtwebkit_bug.tar.bz2</filename>
            <type>application/x-bzip</type>
            <size>3341</size>
            <attacher name="Christian S">christian.stromme</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74996</attachid>
            <date>2010-11-29 01:03:29 -0800</date>
            <delta_ts>2010-11-29 01:20:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45391-20101129010327.patch</filename>
            <type>text/plain</type>
            <size>5061</size>
            <attacher name="Jan Erik Hanssen">jhanssen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmI1NWJkMDZkZWUwN2IxNDEzNTkyMDg5NTc3NzNlYzdhM2QxNTAyNi4uMDFhN2IwZmM0NWQwNDQx
ZjI4MmE3Yzg5MTJkMzY3YTJhZTM1N2NjYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMS0yOSAgSmFu
IEVyaWsgSGFuc3NlbiAgPGpoYW5zc2VuQHNlbmNoYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUXRXZWJLaXQgYXNzZXJ0cyB3aGVuIHNlbGVj
dGluZyBlbGlkZWQgdGV4dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ1MzkxCisKKyAgICAgICAgRW5zdXJlIHRoYXQgdGhlIGxlbmd0aCBwYXNzZWQg
dG8gZnJvbVJhd0RhdGFXaXRob3V0UmVmKCkgZG9lcworICAgICAgICBub3QgZXhjZWVkIHRoZSBs
ZW5ndGggb2YgdGhlIHN0cmluZy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpzZWxlY3Rpb25SZWN0Rm9yU2ltcGxl
VGV4dCk6CisKIDIwMTAtMTEtMjMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0ZvbnRRdC5jcHAKaW5kZXggNTY0YWIyYjQ3NjJhODg4MjE3NDNjNDRmN2IxZDA3NGJj
MTE5MzA1OC4uODlkZmQwMGVmODJhOGQzYWMyOTdlODU2ZTk2YjgxMTg1Mjc5NTA4NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcApAQCAtMzQ0LDcgKzM0NCw3IEBAIEZs
b2F0UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBy
dW4sIGNvbnN0IEZsb2F0UG9pbnQmCiAjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNL
KDQsIDcsIDApCiAgICAgU3RyaW5nIHNhbml0aXplZCA9IEZvbnQ6Om5vcm1hbGl6ZVNwYWNlcyhT
dHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgcnVuLmxlbmd0aCgpKSk7CiAgICAgUVN0cmluZyB3aG9s
ZVRleHQgPSBmcm9tUmF3RGF0YVdpdGhvdXRSZWYoc2FuaXRpemVkKTsKLSAgICBRU3RyaW5nIHNl
bGVjdGVkVGV4dCA9IGZyb21SYXdEYXRhV2l0aG91dFJlZihzYW5pdGl6ZWQsIGZyb20sIHRvIC0g
ZnJvbSk7CisgICAgUVN0cmluZyBzZWxlY3RlZFRleHQgPSBmcm9tUmF3RGF0YVdpdGhvdXRSZWYo
c2FuaXRpemVkLCBmcm9tLCBxTWluKHRvIC0gZnJvbSwgd2hvbGVUZXh0Lmxlbmd0aCgpIC0gZnJv
bSkpOwogCiAgICAgaW50IHN0YXJ0WCA9IFFGb250TWV0cmljcyhmb250KCkpLndpZHRoKHdob2xl
VGV4dCwgZnJvbSwgUXQ6OlRleHRCeXBhc3NTaGFwaW5nKTsKICAgICBpbnQgd2lkdGggPSBRRm9u
dE1ldHJpY3MoZm9udCgpKS53aWR0aChzZWxlY3RlZFRleHQsIC0xLCBRdDo6VGV4dEJ5cGFzc1No
YXBpbmcpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFu
Z2VMb2cKaW5kZXggNWM1NGRiMmFiY2VlYjIzMDRhYjE3ODljMzcwYzlhYWQ0YzJmNjc5ZC4uNTdm
ZDY0MTg0OGRiNmYxYzIwMDhjNjU3ODYxNjdkMjJmOGE5NjQyOCAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMTEtMjkgIEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBzZW5jaGEuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFF0V2ViS2l0IGFz
c2VydHMgd2hlbiBzZWxlY3RpbmcgZWxpZGVkIHRleHQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTM5MQorCisgICAgICAgIFRlc3QgdGhhdCBzZWxl
Y3RpbmcgZWxpZGVkIHRleHQgZG9lcyBub3QgY2F1c2UgYW4gYXNzZXJ0LgorCisgICAgICAgICog
dGVzdHMvcXdlYnZpZXcvcmVzb3VyY2VzL2VsaWRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHRl
c3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5jcHA6CisgICAgICAgICh0c3RfUVdlYlZpZXc6OnNl
bGVjdEVsaWRlZFRleHQpOgorICAgICAgICAqIHRlc3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5x
cmM6CisKIDIwMTAtMTEtMjUgIE5vcmJlcnQgTGVzZXIgIDxub3JiZXJ0Lmxlc2VyQG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9zLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3Jlc291cmNlcy9lbGlkZS5odG1sIGIvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJ2aWV3L3Jlc291cmNlcy9lbGlkZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNmM5ZjljNTQ4
ODg4OTUyZmM2MTM3NmQ1MTEzNDI0MmU0MzkyZjkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQv
cXQvdGVzdHMvcXdlYnZpZXcvcmVzb3VyY2VzL2VsaWRlLmh0bWwKQEAgLTAsMCArMSwyNiBAQAor
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0
bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBo
dHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYt
OCI+Cis8dGl0bGU+RWxsaXBzaXMgKyBTZWxlY3Rpb24gYnVnPC90aXRsZT4KKzxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CitkaXYuZWxpZGUKK3sKK3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOword2hp
dGUtc3BhY2U6IG5vd3JhcDsKK292ZXJmbG93OiBoaWRkZW47Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImVsaWRlIj4KKyAgUG5ldW1vbm91bHRyYW1pY3Jvc2Nv
cGljc2lsaWNvdm9sY2Fub2Nvbmlvc2lzLAorICBTdXBlcmNhbGlmcmFnaWxpc3RpY2V4cGlhbGlk
b2Npb3VzLAorICBQc2V1ZG9wc2V1ZG9oeXBvcGFyYXRoeXJvaWRpc20sCisgIEhpcHBvcG90b21v
bnN0cm9zZXNxdWlwZWRhbGlhbiwKKyAgRmxvY2NpbmF1Y2luaWhpbGlwaWxpZmljYXRpb24KKzwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+IApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3F3
ZWJ2aWV3L3RzdF9xd2Vidmlldy5jcHAgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3
ZWJ2aWV3LmNwcAppbmRleCA4Y2QyZjNmZjVlNDBmODM0ZDAxMjI1ODk4NWQ0M2ZmNzU0MTkxMTdk
Li4xNTU1NmY0ZDhlMmIwNWNiMzk5NjNlM2U1MDU4NzI4MWM0ZjMzODVlIDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvcXQv
dGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LmNwcApAQCAtNTEsNiArNTEsOCBAQCBwcml2YXRl
IHNsb3RzOgogICAgIHZvaWQgZm9jdXNJbnB1dFR5cGVzKCk7CiAKICAgICB2b2lkIGNyYXNoVGVz
dHMoKTsKKworICAgIHZvaWQgc2VsZWN0RWxpZGVkVGV4dCgpOwogfTsKIAogLy8gVGhpcyB3aWxs
IGJlIGNhbGxlZCBiZWZvcmUgdGhlIGZpcnN0IHRlc3QgZnVuY3Rpb24gaXMgZXhlY3V0ZWQuCkBA
IC0zMDYsNiArMzA4LDI1IEBAIHZvaWQgdHN0X1FXZWJWaWV3Ojpmb2N1c0lucHV0VHlwZXMoKQog
ICAgIFFWRVJJRlkod2ViVmlldy50ZXN0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVuYWJs
ZWQpKTsKIH0KIAordm9pZCB0c3RfUVdlYlZpZXc6OnNlbGVjdEVsaWRlZFRleHQoKQoreworICAg
IFFXZWJWaWV3IHdlYlZpZXc7CisKKyAgICBRRmlsZSBmaWxlKCI6L3Jlc291cmNlcy9lbGlkZS5o
dG1sIik7CisgICAgUVZFUklGWShmaWxlLm9wZW4oUUZpbGU6OlJlYWRPbmx5KSk7CisgICAgd2Vi
Vmlldy5zZXRIdG1sKFFTdHJpbmc6OmZyb21MYXRpbjEoZmlsZS5yZWFkQWxsKCkpKTsKKworICAg
IHdlYlZpZXcuc2hvdygpOworICAgIFFUZXN0OjpxV2FpdEZvcldpbmRvd1Nob3duKCZ3ZWJWaWV3
KTsKKworICAgIHdlYlZpZXcucGFnZSgpLT5zZXRDb250ZW50RWRpdGFibGUodHJ1ZSk7CisgICAg
d2ViVmlldy5wYWdlKCktPnRyaWdnZXJBY3Rpb24oUVdlYlBhZ2U6OlNlbGVjdEFsbCk7CisKKyAg
ICBRVGVzdDo6cVdhaXQoMTAwMCk7CisKKyAgICBRQ09NUEFSRSh3ZWJWaWV3LnBhZ2UoKS0+c2Vs
ZWN0ZWRUZXh0KCksIHdlYlZpZXcucGFnZSgpLT5tYWluRnJhbWUoKS0+dG9QbGFpblRleHQoKSk7
Cit9CisKIFFURVNUX01BSU4odHN0X1FXZWJWaWV3KQogI2luY2x1ZGUgInRzdF9xd2Vidmlldy5t
b2MiCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC90ZXN0cy9xd2Vidmlldy90c3RfcXdlYnZpZXcu
cXJjIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5xcmMKaW5kZXggODcx
MGE5YTE3Zjg0M2EwMzRiYjM5OWZhMjgzODdhZGMzZjhkNzEyOS4uM2RiYjM2NDQzNzNkYzliNjA1
MjhmOThmYzc5YmRiYjVjZWE1ZjUwYyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2
aWV3L3RzdF9xd2Vidmlldy5xcmMKKysrIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3RzdF9x
d2Vidmlldy5xcmMKQEAgLTMsNiArMyw3IEBACiAgICAgPGZpbGU+cmVzb3VyY2VzL2luZGV4Lmh0
bWw8L2ZpbGU+CiAgICAgPGZpbGU+cmVzb3VyY2VzL2ZyYW1lX2EuaHRtbDwvZmlsZT4KICAgICA8
ZmlsZT5yZXNvdXJjZXMvaW5wdXRfdHlwZXMuaHRtbDwvZmlsZT4KKyAgICA8ZmlsZT5yZXNvdXJj
ZXMvZWxpZGUuaHRtbDwvZmlsZT4KIDwvcXJlc291cmNlPgogPC9SQ0M+CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74997</attachid>
            <date>2010-11-29 01:20:38 -0800</date>
            <delta_ts>2010-11-29 01:50:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45391-20101129012036.patch</filename>
            <type>text/plain</type>
            <size>5072</size>
            <attacher name="Jan Erik Hanssen">jhanssen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmI1NWJkMDZkZWUwN2IxNDEzNTkyMDg5NTc3NzNlYzdhM2QxNTAyNi4uMDFhN2IwZmM0NWQwNDQx
ZjI4MmE3Yzg5MTJkMzY3YTJhZTM1N2NjYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMS0yOSAgSmFu
IEVyaWsgSGFuc3NlbiAgPGpoYW5zc2VuQHNlbmNoYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUXRXZWJLaXQgYXNzZXJ0cyB3aGVuIHNlbGVj
dGluZyBlbGlkZWQgdGV4dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ1MzkxCisKKyAgICAgICAgRW5zdXJlIHRoYXQgdGhlIGxlbmd0aCBwYXNzZWQg
dG8gZnJvbVJhd0RhdGFXaXRob3V0UmVmKCkgZG9lcworICAgICAgICBub3QgZXhjZWVkIHRoZSBs
ZW5ndGggb2YgdGhlIHN0cmluZy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpzZWxlY3Rpb25SZWN0Rm9yU2ltcGxl
VGV4dCk6CisKIDIwMTAtMTEtMjMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0ZvbnRRdC5jcHAKaW5kZXggNTY0YWIyYjQ3NjJhODg4MjE3NDNjNDRmN2IxZDA3NGJj
MTE5MzA1OC4uODlkZmQwMGVmODJhOGQzYWMyOTdlODU2ZTk2YjgxMTg1Mjc5NTA4NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcApAQCAtMzQ0LDcgKzM0NCw3IEBAIEZs
b2F0UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBy
dW4sIGNvbnN0IEZsb2F0UG9pbnQmCiAjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNL
KDQsIDcsIDApCiAgICAgU3RyaW5nIHNhbml0aXplZCA9IEZvbnQ6Om5vcm1hbGl6ZVNwYWNlcyhT
dHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgcnVuLmxlbmd0aCgpKSk7CiAgICAgUVN0cmluZyB3aG9s
ZVRleHQgPSBmcm9tUmF3RGF0YVdpdGhvdXRSZWYoc2FuaXRpemVkKTsKLSAgICBRU3RyaW5nIHNl
bGVjdGVkVGV4dCA9IGZyb21SYXdEYXRhV2l0aG91dFJlZihzYW5pdGl6ZWQsIGZyb20sIHRvIC0g
ZnJvbSk7CisgICAgUVN0cmluZyBzZWxlY3RlZFRleHQgPSBmcm9tUmF3RGF0YVdpdGhvdXRSZWYo
c2FuaXRpemVkLCBmcm9tLCBxTWluKHRvIC0gZnJvbSwgd2hvbGVUZXh0Lmxlbmd0aCgpIC0gZnJv
bSkpOwogCiAgICAgaW50IHN0YXJ0WCA9IFFGb250TWV0cmljcyhmb250KCkpLndpZHRoKHdob2xl
VGV4dCwgZnJvbSwgUXQ6OlRleHRCeXBhc3NTaGFwaW5nKTsKICAgICBpbnQgd2lkdGggPSBRRm9u
dE1ldHJpY3MoZm9udCgpKS53aWR0aChzZWxlY3RlZFRleHQsIC0xLCBRdDo6VGV4dEJ5cGFzc1No
YXBpbmcpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFu
Z2VMb2cKaW5kZXggNWM1NGRiMmFiY2VlYjIzMDRhYjE3ODljMzcwYzlhYWQ0YzJmNjc5ZC4uNTdm
ZDY0MTg0OGRiNmYxYzIwMDhjNjU3ODYxNjdkMjJmOGE5NjQyOCAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMTEtMjkgIEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBzZW5jaGEuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFF0V2ViS2l0IGFz
c2VydHMgd2hlbiBzZWxlY3RpbmcgZWxpZGVkIHRleHQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTM5MQorCisgICAgICAgIFRlc3QgdGhhdCBzZWxl
Y3RpbmcgZWxpZGVkIHRleHQgZG9lcyBub3QgY2F1c2UgYW4gYXNzZXJ0LgorCisgICAgICAgICog
dGVzdHMvcXdlYnZpZXcvcmVzb3VyY2VzL2VsaWRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHRl
c3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5jcHA6CisgICAgICAgICh0c3RfUVdlYlZpZXc6OnNl
bGVjdEVsaWRlZFRleHQpOgorICAgICAgICAqIHRlc3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5x
cmM6CisKIDIwMTAtMTEtMjUgIE5vcmJlcnQgTGVzZXIgIDxub3JiZXJ0Lmxlc2VyQG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9zLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3Jlc291cmNlcy9lbGlkZS5odG1sIGIvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJ2aWV3L3Jlc291cmNlcy9lbGlkZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNmM5ZjljNTQ4
ODg4OTUyZmM2MTM3NmQ1MTEzNDI0MmU0MzkyZjkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQv
cXQvdGVzdHMvcXdlYnZpZXcvcmVzb3VyY2VzL2VsaWRlLmh0bWwKQEAgLTAsMCArMSwyNiBAQAor
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0
bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBo
dHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYt
OCI+Cis8dGl0bGU+RWxsaXBzaXMgKyBTZWxlY3Rpb24gYnVnPC90aXRsZT4KKzxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CitkaXYuZWxpZGUKK3sKK3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOword2hp
dGUtc3BhY2U6IG5vd3JhcDsKK292ZXJmbG93OiBoaWRkZW47Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImVsaWRlIj4KKyAgUG5ldW1vbm91bHRyYW1pY3Jvc2Nv
cGljc2lsaWNvdm9sY2Fub2Nvbmlvc2lzLAorICBTdXBlcmNhbGlmcmFnaWxpc3RpY2V4cGlhbGlk
b2Npb3VzLAorICBQc2V1ZG9wc2V1ZG9oeXBvcGFyYXRoeXJvaWRpc20sCisgIEhpcHBvcG90b21v
bnN0cm9zZXNxdWlwZWRhbGlhbiwKKyAgRmxvY2NpbmF1Y2luaWhpbGlwaWxpZmljYXRpb24KKzwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+IApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3F3
ZWJ2aWV3L3RzdF9xd2Vidmlldy5jcHAgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3
ZWJ2aWV3LmNwcAppbmRleCA4Y2QyZjNmZjVlNDBmODM0ZDAxMjI1ODk4NWQ0M2ZmNzU0MTkxMTdk
Li4wNDFhZDZhZGU0YmRlYmRiN2FlNTM1Nzc2M2ZmNTNhYTJjMWQ4NWRlIDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvcXQv
dGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LmNwcApAQCAtNTEsNiArNTEsOCBAQCBwcml2YXRl
IHNsb3RzOgogICAgIHZvaWQgZm9jdXNJbnB1dFR5cGVzKCk7CiAKICAgICB2b2lkIGNyYXNoVGVz
dHMoKTsKKworICAgIHZvaWQgc2VsZWN0RWxpZGVkVGV4dCgpOwogfTsKIAogLy8gVGhpcyB3aWxs
IGJlIGNhbGxlZCBiZWZvcmUgdGhlIGZpcnN0IHRlc3QgZnVuY3Rpb24gaXMgZXhlY3V0ZWQuCkBA
IC0zMDYsNiArMzA4LDI1IEBAIHZvaWQgdHN0X1FXZWJWaWV3Ojpmb2N1c0lucHV0VHlwZXMoKQog
ICAgIFFWRVJJRlkod2ViVmlldy50ZXN0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVuYWJs
ZWQpKTsKIH0KIAordm9pZCB0c3RfUVdlYlZpZXc6OnNlbGVjdEVsaWRlZFRleHQoKQoreworICAg
IFFXZWJWaWV3IHdlYlZpZXc7CisKKyAgICBRRmlsZSBmaWxlKCI6L3Jlc291cmNlcy9lbGlkZS5o
dG1sIik7CisgICAgUVZFUklGWShmaWxlLm9wZW4oUUZpbGU6OlJlYWRPbmx5KSk7CisgICAgd2Vi
Vmlldy5zZXRIdG1sKFFTdHJpbmc6OmZyb21MYXRpbjEoZmlsZS5yZWFkQWxsKCkpKTsKKworICAg
IHdlYlZpZXcuc2hvdygpOworICAgIFFUZXN0OjpxV2FpdEZvcldpbmRvd1Nob3duKCZ3ZWJWaWV3
KTsKKworICAgIHdlYlZpZXcucGFnZSgpLT5zZXRDb250ZW50RWRpdGFibGUodHJ1ZSk7CisgICAg
d2ViVmlldy5wYWdlKCktPnRyaWdnZXJBY3Rpb24oUVdlYlBhZ2U6OlNlbGVjdEFsbCk7CisKKyAg
ICBRQXBwbGljYXRpb246OnByb2Nlc3NFdmVudHMoKTsKKworICAgIFFDT01QQVJFKHdlYlZpZXcu
cGFnZSgpLT5zZWxlY3RlZFRleHQoKSwgd2ViVmlldy5wYWdlKCktPm1haW5GcmFtZSgpLT50b1Bs
YWluVGV4dCgpKTsKK30KKwogUVRFU1RfTUFJTih0c3RfUVdlYlZpZXcpCiAjaW5jbHVkZSAidHN0
X3F3ZWJ2aWV3Lm1vYyIKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3Rz
dF9xd2Vidmlldy5xcmMgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LnFy
YwppbmRleCA4NzEwYTlhMTdmODQzYTAzNGJiMzk5ZmEyODM4N2FkYzNmOGQ3MTI5Li4zZGJiMzY0
NDM3M2RjOWI2MDUyOGY5OGZjNzliZGJiNWNlYTVmNTBjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQv
dGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LnFyYworKysgYi9XZWJLaXQvcXQvdGVzdHMvcXdl
YnZpZXcvdHN0X3F3ZWJ2aWV3LnFyYwpAQCAtMyw2ICszLDcgQEAKICAgICA8ZmlsZT5yZXNvdXJj
ZXMvaW5kZXguaHRtbDwvZmlsZT4KICAgICA8ZmlsZT5yZXNvdXJjZXMvZnJhbWVfYS5odG1sPC9m
aWxlPgogICAgIDxmaWxlPnJlc291cmNlcy9pbnB1dF90eXBlcy5odG1sPC9maWxlPgorICAgIDxm
aWxlPnJlc291cmNlcy9lbGlkZS5odG1sPC9maWxlPgogPC9xcmVzb3VyY2U+CiA8L1JDQz4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75002</attachid>
            <date>2010-11-29 01:50:18 -0800</date>
            <delta_ts>2010-11-29 03:31:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45391-20101129015016.patch</filename>
            <type>text/plain</type>
            <size>5916</size>
            <attacher name="Jan Erik Hanssen">jhanssen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmI1NWJkMDZkZWUwN2IxNDEzNTkyMDg5NTc3NzNlYzdhM2QxNTAyNi4uMDFhN2IwZmM0NWQwNDQx
ZjI4MmE3Yzg5MTJkMzY3YTJhZTM1N2NjYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMS0yOSAgSmFu
IEVyaWsgSGFuc3NlbiAgPGpoYW5zc2VuQHNlbmNoYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUXRXZWJLaXQgYXNzZXJ0cyB3aGVuIHNlbGVj
dGluZyBlbGlkZWQgdGV4dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ1MzkxCisKKyAgICAgICAgRW5zdXJlIHRoYXQgdGhlIGxlbmd0aCBwYXNzZWQg
dG8gZnJvbVJhd0RhdGFXaXRob3V0UmVmKCkgZG9lcworICAgICAgICBub3QgZXhjZWVkIHRoZSBs
ZW5ndGggb2YgdGhlIHN0cmluZy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpzZWxlY3Rpb25SZWN0Rm9yU2ltcGxl
VGV4dCk6CisKIDIwMTAtMTEtMjMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0ZvbnRRdC5jcHAKaW5kZXggNTY0YWIyYjQ3NjJhODg4MjE3NDNjNDRmN2IxZDA3NGJj
MTE5MzA1OC4uODlkZmQwMGVmODJhOGQzYWMyOTdlODU2ZTk2YjgxMTg1Mjc5NTA4NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcApAQCAtMzQ0LDcgKzM0NCw3IEBAIEZs
b2F0UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBy
dW4sIGNvbnN0IEZsb2F0UG9pbnQmCiAjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNL
KDQsIDcsIDApCiAgICAgU3RyaW5nIHNhbml0aXplZCA9IEZvbnQ6Om5vcm1hbGl6ZVNwYWNlcyhT
dHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgcnVuLmxlbmd0aCgpKSk7CiAgICAgUVN0cmluZyB3aG9s
ZVRleHQgPSBmcm9tUmF3RGF0YVdpdGhvdXRSZWYoc2FuaXRpemVkKTsKLSAgICBRU3RyaW5nIHNl
bGVjdGVkVGV4dCA9IGZyb21SYXdEYXRhV2l0aG91dFJlZihzYW5pdGl6ZWQsIGZyb20sIHRvIC0g
ZnJvbSk7CisgICAgUVN0cmluZyBzZWxlY3RlZFRleHQgPSBmcm9tUmF3RGF0YVdpdGhvdXRSZWYo
c2FuaXRpemVkLCBmcm9tLCBxTWluKHRvIC0gZnJvbSwgd2hvbGVUZXh0Lmxlbmd0aCgpIC0gZnJv
bSkpOwogCiAgICAgaW50IHN0YXJ0WCA9IFFGb250TWV0cmljcyhmb250KCkpLndpZHRoKHdob2xl
VGV4dCwgZnJvbSwgUXQ6OlRleHRCeXBhc3NTaGFwaW5nKTsKICAgICBpbnQgd2lkdGggPSBRRm9u
dE1ldHJpY3MoZm9udCgpKS53aWR0aChzZWxlY3RlZFRleHQsIC0xLCBRdDo6VGV4dEJ5cGFzc1No
YXBpbmcpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFu
Z2VMb2cKaW5kZXggNWM1NGRiMmFiY2VlYjIzMDRhYjE3ODljMzcwYzlhYWQ0YzJmNjc5ZC4uNTdm
ZDY0MTg0OGRiNmYxYzIwMDhjNjU3ODYxNjdkMjJmOGE5NjQyOCAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMTEtMjkgIEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBzZW5jaGEuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFF0V2ViS2l0IGFz
c2VydHMgd2hlbiBzZWxlY3RpbmcgZWxpZGVkIHRleHQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTM5MQorCisgICAgICAgIFRlc3QgdGhhdCBzZWxl
Y3RpbmcgZWxpZGVkIHRleHQgZG9lcyBub3QgY2F1c2UgYW4gYXNzZXJ0LgorCisgICAgICAgICog
dGVzdHMvcXdlYnZpZXcvcmVzb3VyY2VzL2VsaWRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHRl
c3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5jcHA6CisgICAgICAgICh0c3RfUVdlYlZpZXc6OnNl
bGVjdEVsaWRlZFRleHQpOgorICAgICAgICAqIHRlc3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5x
cmM6CisKIDIwMTAtMTEtMjUgIE5vcmJlcnQgTGVzZXIgIDxub3JiZXJ0Lmxlc2VyQG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBMYXN6bG8gR29tYm9zLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3Jlc291cmNlcy9lbGlkZS5odG1sIGIvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJ2aWV3L3Jlc291cmNlcy9lbGlkZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNmM5ZjljNTQ4
ODg4OTUyZmM2MTM3NmQ1MTEzNDI0MmU0MzkyZjkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQv
cXQvdGVzdHMvcXdlYnZpZXcvcmVzb3VyY2VzL2VsaWRlLmh0bWwKQEAgLTAsMCArMSwyNiBAQAor
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0
bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBo
dHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYt
OCI+Cis8dGl0bGU+RWxsaXBzaXMgKyBTZWxlY3Rpb24gYnVnPC90aXRsZT4KKzxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CitkaXYuZWxpZGUKK3sKK3RleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOword2hp
dGUtc3BhY2U6IG5vd3JhcDsKK292ZXJmbG93OiBoaWRkZW47Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImVsaWRlIj4KKyAgUG5ldW1vbm91bHRyYW1pY3Jvc2Nv
cGljc2lsaWNvdm9sY2Fub2Nvbmlvc2lzLAorICBTdXBlcmNhbGlmcmFnaWxpc3RpY2V4cGlhbGlk
b2Npb3VzLAorICBQc2V1ZG9wc2V1ZG9oeXBvcGFyYXRoeXJvaWRpc20sCisgIEhpcHBvcG90b21v
bnN0cm9zZXNxdWlwZWRhbGlhbiwKKyAgRmxvY2NpbmF1Y2luaWhpbGlwaWxpZmljYXRpb24KKzwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+IApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3F3
ZWJ2aWV3L3RzdF9xd2Vidmlldy5jcHAgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3
ZWJ2aWV3LmNwcAppbmRleCA4Y2QyZjNmZjVlNDBmODM0ZDAxMjI1ODk4NWQ0M2ZmNzU0MTkxMTdk
Li4zYWFmNTM0MWEzMWE3M2ZhOTRlNDI3NTBlYjk5ZDhlNDRkMDViZmRhIDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LmNwcAorKysgYi9XZWJLaXQvcXQv
dGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1
ZGUgPHF0ZXN0Lmg+CiAjaW5jbHVkZSAiLi4vdXRpbC5oIgogCisjaW5jbHVkZSA8cWV2ZW50bG9v
cC5oPgogI2luY2x1ZGUgPHFwYWludGVyLmg+CiAjaW5jbHVkZSA8cXdlYnZpZXcuaD4KICNpbmNs
dWRlIDxxd2VicGFnZS5oPgpAQCAtNTEsNiArNTIsOCBAQCBwcml2YXRlIHNsb3RzOgogICAgIHZv
aWQgZm9jdXNJbnB1dFR5cGVzKCk7CiAKICAgICB2b2lkIGNyYXNoVGVzdHMoKTsKKworICAgIHZv
aWQgc2VsZWN0RWxpZGVkVGV4dCgpOwogfTsKIAogLy8gVGhpcyB3aWxsIGJlIGNhbGxlZCBiZWZv
cmUgdGhlIGZpcnN0IHRlc3QgZnVuY3Rpb24gaXMgZXhlY3V0ZWQuCkBAIC0zMDYsNiArMzA5LDYx
IEBAIHZvaWQgdHN0X1FXZWJWaWV3Ojpmb2N1c0lucHV0VHlwZXMoKQogICAgIFFWRVJJRlkod2Vi
Vmlldy50ZXN0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVuYWJsZWQpKTsKIH0KIAorY2xh
c3MgUGFpbnRXZWJWaWV3IDogcHVibGljIFFXZWJWaWV3IHsKK3B1YmxpYzoKKyAgICBQYWludFdl
YlZpZXcoUVdpZGdldCogcGFyZW50ID0gMCk7CisKKyAgICBib29sIHdhaXRGb3JQYWludEV2ZW50
KGludCB3YWl0KTsKKworcHJvdGVjdGVkOgorICAgIHZvaWQgcGFpbnRFdmVudChRUGFpbnRFdmVu
dCogZXZlbnQpOworCitwcml2YXRlOgorICAgIFFFdmVudExvb3AgbG9vcDsKKyAgICBib29sIHBh
aW50OworfTsKKworUGFpbnRXZWJWaWV3OjpQYWludFdlYlZpZXcoUVdpZGdldCogcGFyZW50KQor
ICAgIDogUVdlYlZpZXcocGFyZW50KSwgcGFpbnQoZmFsc2UpCit7Cit9CisKK2Jvb2wgUGFpbnRX
ZWJWaWV3Ojp3YWl0Rm9yUGFpbnRFdmVudChpbnQgd2FpdCkKK3sKKyAgICBRVGltZXI6OnNpbmds
ZVNob3Qod2FpdCwgJmxvb3AsIFNMT1QocXVpdCgpKSk7CisgICAgcGFpbnQgPSBmYWxzZTsKKyAg
ICBsb29wLmV4ZWMoKTsKKyAgICByZXR1cm4gcGFpbnQ7Cit9CisKK3ZvaWQgUGFpbnRXZWJWaWV3
OjpwYWludEV2ZW50KFFQYWludEV2ZW50KiBldmVudCkKK3sKKyAgICBRV2ViVmlldzo6cGFpbnRF
dmVudChldmVudCk7CisgICAgaWYgKGxvb3AuaXNSdW5uaW5nKCkpIHsKKyAgICAgICAgcGFpbnQg
PSB0cnVlOworICAgICAgICBsb29wLnF1aXQoKTsKKyAgICB9Cit9CisKK3ZvaWQgdHN0X1FXZWJW
aWV3OjpzZWxlY3RFbGlkZWRUZXh0KCkKK3sKKyAgICBQYWludFdlYlZpZXcgd2ViVmlldzsKKwor
ICAgIFFGaWxlIGZpbGUoIjovcmVzb3VyY2VzL2VsaWRlLmh0bWwiKTsKKyAgICBRVkVSSUZZKGZp
bGUub3BlbihRRmlsZTo6UmVhZE9ubHkpKTsKKyAgICB3ZWJWaWV3LnNldEh0bWwoUVN0cmluZzo6
ZnJvbUxhdGluMShmaWxlLnJlYWRBbGwoKSkpOworCisgICAgd2ViVmlldy5zaG93KCk7CisgICAg
UVRlc3Q6OnFXYWl0Rm9yV2luZG93U2hvd24oJndlYlZpZXcpOworCisgICAgd2ViVmlldy5wYWdl
KCktPnNldENvbnRlbnRFZGl0YWJsZSh0cnVlKTsKKyAgICB3ZWJWaWV3LnBhZ2UoKS0+dHJpZ2dl
ckFjdGlvbihRV2ViUGFnZTo6U2VsZWN0QWxsKTsKKworICAgIFFWRVJJRlkod2ViVmlldy53YWl0
Rm9yUGFpbnRFdmVudCg1MDAwKSk7CisKKyAgICBRQ09NUEFSRSh3ZWJWaWV3LnBhZ2UoKS0+c2Vs
ZWN0ZWRUZXh0KCksIHdlYlZpZXcucGFnZSgpLT5tYWluRnJhbWUoKS0+dG9QbGFpblRleHQoKSk7
Cit9CisKIFFURVNUX01BSU4odHN0X1FXZWJWaWV3KQogI2luY2x1ZGUgInRzdF9xd2Vidmlldy5t
b2MiCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC90ZXN0cy9xd2Vidmlldy90c3RfcXdlYnZpZXcu
cXJjIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3RzdF9xd2Vidmlldy5xcmMKaW5kZXggODcx
MGE5YTE3Zjg0M2EwMzRiYjM5OWZhMjgzODdhZGMzZjhkNzEyOS4uM2RiYjM2NDQzNzNkYzliNjA1
MjhmOThmYzc5YmRiYjVjZWE1ZjUwYyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2
aWV3L3RzdF9xd2Vidmlldy5xcmMKKysrIGIvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJ2aWV3L3RzdF9x
d2Vidmlldy5xcmMKQEAgLTMsNiArMyw3IEBACiAgICAgPGZpbGU+cmVzb3VyY2VzL2luZGV4Lmh0
bWw8L2ZpbGU+CiAgICAgPGZpbGU+cmVzb3VyY2VzL2ZyYW1lX2EuaHRtbDwvZmlsZT4KICAgICA8
ZmlsZT5yZXNvdXJjZXMvaW5wdXRfdHlwZXMuaHRtbDwvZmlsZT4KKyAgICA8ZmlsZT5yZXNvdXJj
ZXMvZWxpZGUuaHRtbDwvZmlsZT4KIDwvcXJlc291cmNlPgogPC9SQ0M+CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75008</attachid>
            <date>2010-11-29 03:31:55 -0800</date>
            <delta_ts>2010-11-29 04:06:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45391-20101129033154.patch</filename>
            <type>text/plain</type>
            <size>1661</size>
            <attacher name="Jan Erik Hanssen">jhanssen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmI1NWJkMDZkZWUwN2IxNDEzNTkyMDg5NTc3NzNlYzdhM2QxNTAyNi4uMDFhN2IwZmM0NWQwNDQx
ZjI4MmE3Yzg5MTJkMzY3YTJhZTM1N2NjYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMS0yOSAgSmFu
IEVyaWsgSGFuc3NlbiAgPGpoYW5zc2VuQHNlbmNoYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUXRXZWJLaXQgYXNzZXJ0cyB3aGVuIHNlbGVj
dGluZyBlbGlkZWQgdGV4dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ1MzkxCisKKyAgICAgICAgRW5zdXJlIHRoYXQgdGhlIGxlbmd0aCBwYXNzZWQg
dG8gZnJvbVJhd0RhdGFXaXRob3V0UmVmKCkgZG9lcworICAgICAgICBub3QgZXhjZWVkIHRoZSBs
ZW5ndGggb2YgdGhlIHN0cmluZy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpzZWxlY3Rpb25SZWN0Rm9yU2ltcGxl
VGV4dCk6CisKIDIwMTAtMTEtMjMgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0ZvbnRRdC5jcHAKaW5kZXggNTY0YWIyYjQ3NjJhODg4MjE3NDNjNDRmN2IxZDA3NGJj
MTE5MzA1OC4uODlkZmQwMGVmODJhOGQzYWMyOTdlODU2ZTk2YjgxMTg1Mjc5NTA4NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UXQuY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFF0LmNwcApAQCAtMzQ0LDcgKzM0NCw3IEBAIEZs
b2F0UmVjdCBGb250OjpzZWxlY3Rpb25SZWN0Rm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBy
dW4sIGNvbnN0IEZsb2F0UG9pbnQmCiAjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNL
KDQsIDcsIDApCiAgICAgU3RyaW5nIHNhbml0aXplZCA9IEZvbnQ6Om5vcm1hbGl6ZVNwYWNlcyhT
dHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgcnVuLmxlbmd0aCgpKSk7CiAgICAgUVN0cmluZyB3aG9s
ZVRleHQgPSBmcm9tUmF3RGF0YVdpdGhvdXRSZWYoc2FuaXRpemVkKTsKLSAgICBRU3RyaW5nIHNl
bGVjdGVkVGV4dCA9IGZyb21SYXdEYXRhV2l0aG91dFJlZihzYW5pdGl6ZWQsIGZyb20sIHRvIC0g
ZnJvbSk7CisgICAgUVN0cmluZyBzZWxlY3RlZFRleHQgPSBmcm9tUmF3RGF0YVdpdGhvdXRSZWYo
c2FuaXRpemVkLCBmcm9tLCBxTWluKHRvIC0gZnJvbSwgd2hvbGVUZXh0Lmxlbmd0aCgpIC0gZnJv
bSkpOwogCiAgICAgaW50IHN0YXJ0WCA9IFFGb250TWV0cmljcyhmb250KCkpLndpZHRoKHdob2xl
VGV4dCwgZnJvbSwgUXQ6OlRleHRCeXBhc3NTaGFwaW5nKTsKICAgICBpbnQgd2lkdGggPSBRRm9u
dE1ldHJpY3MoZm9udCgpKS53aWR0aChzZWxlY3RlZFRleHQsIC0xLCBRdDo6VGV4dEJ5cGFzc1No
YXBpbmcpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>