<?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>25619</bug_id>
          
          <creation_ts>2009-05-07 10:48:37 -0700</creation_ts>
          <short_desc>the shadow direction is negated in canvas context shadowOffsetY.</short_desc>
          <delta_ts>2010-12-22 21:32:23 -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>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yongjun Zhang">yongjun.zhang</reporter>
          <assigned_to name="Yongjun Zhang">yongjun.zhang</assigned_to>
          <cc>abarth</cc>
    
    <cc>ariya.hidayat</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>mihaip</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yongjun.zhang</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>120296</commentid>
    <comment_count>0</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-05-07 10:48:37 -0700</bug_when>
    <thetext>The shadow is painted on the wrong direction when shadowOffsetY is set.  For example, for context.shadowOffsetY = 5, the shadow is painted 5 pix _above_ , not 5 px _below_ the shadowed object.  However, if context.shadowBlur is set, the shadow is painted correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120297</commentid>
    <comment_count>1</comment_count>
      <attachid>30103</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-05-07 10:50:13 -0700</bug_when>
    <thetext>Created attachment 30103
a simple test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120298</commentid>
    <comment_count>2</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-05-07 10:57:56 -0700</bug_when>
    <thetext>looks like simple shadowed text are painted differently than blur-shadowed text.  Blur-shadowed text is painted directly by the CG; while simple shadow is painted in FontMac.mm by offsetting the text position (line 105).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120299</commentid>
    <comment_count>3</comment_count>
      <attachid>30104</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-05-07 11:04:45 -0700</bug_when>
    <thetext>Created attachment 30104
use the right y offset value for simple shadowed text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121436</commentid>
    <comment_count>4</comment_count>
      <attachid>30104</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-05-14 22:00:31 -0700</bug_when>
    <thetext>Comment on attachment 30104
use the right y offset value for simple shadowed text.

This breaks CSS text-shadow when the blur radius is 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121806</commentid>
    <comment_count>5</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-05-18 10:43:23 -0700</bug_when>
    <thetext>yes, indeed it breaks CSS text-shadow without blur radius. I&apos;ll keep digging :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325029</commentid>
    <comment_count>6</comment_count>
      <attachid>77122</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-21 08:49:57 -0800</bug_when>
    <thetext>Created attachment 77122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325030</commentid>
    <comment_count>7</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-21 08:51:09 -0800</bug_when>
    <thetext>The attached patch seems to work for both canvas and CSS text shadows. Is checking for shadowsIgnoreTransforms the right thing? If so, I&apos;ll add a layout test and clean this up for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325187</commentid>
    <comment_count>8</comment_count>
      <attachid>77149</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-21 13:59:22 -0800</bug_when>
    <thetext>Created attachment 77149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325241</commentid>
    <comment_count>9</comment_count>
      <attachid>77160</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-21 15:41:44 -0800</bug_when>
    <thetext>Created attachment 77160
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325244</commentid>
    <comment_count>10</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-21 15:48:19 -0800</bug_when>
    <thetext>New version of the patch fixes things for transforms too (it actually sends that on the CG shadow path, since making shadow offsets not take into account transforms was too complex for the simple path).

Note that that was a problem before this patch too, on my test case at http://persistent.info/webkit/test-cases/webkit-25619.html the shadow in the top right is not only above (it should be below), it&apos;s also displaced by twice as much as it should be (there&apos;s a 2x scale transform on the canvas).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325805</commentid>
    <comment_count>11</comment_count>
      <attachid>77160</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-22 17:15:10 -0800</bug_when>
    <thetext>Comment on attachment 77160
Patch

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

&gt; WebCore/platform/graphics/mac/FontMac.mm:183
&gt; +        // If shadows are ignoring transforms, then we haven&apos;t applied the Y coordinate flip yet, so down is negative.

You never enter this code if shadows ignore transforms, because of the !context-&gt;shadowsIgnoreTransforms() check above. So this comment is not accurate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325807</commentid>
    <comment_count>12</comment_count>
      <attachid>77160</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-22 17:18:21 -0800</bug_when>
    <thetext>Comment on attachment 77160
Patch

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

&gt;&gt; WebCore/platform/graphics/mac/FontMac.mm:183
&gt;&gt; +        // If shadows are ignoring transforms, then we haven&apos;t applied the Y coordinate flip yet, so down is negative.
&gt; 
&gt; You never enter this code if shadows ignore transforms, because of the !context-&gt;shadowsIgnoreTransforms() check above. So this comment is not accurate.

The check is &quot;!context-&gt;shadowsIgnoreTransforms() || context-&gt;getCTM().isIdentityOrTranslationOrFlipped()&quot;, so we&apos;ll still end up here if the canvas transform is just a translation (or non-existent).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325825</commentid>
    <comment_count>13</comment_count>
      <attachid>77160</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-22 18:07:09 -0800</bug_when>
    <thetext>Comment on attachment 77160
Patch

Rejecting attachment 77160 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sf&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 77160]&quot; exit_code: 2
Last 500 characters of output:
le WebCore/platform/graphics/GraphicsContext.h
Hunk #1 succeeded at 242 (offset 2 lines).
patching file WebCore/platform/graphics/mac/FontMac.mm
Hunk #1 FAILED at 172.
1 out of 1 hunk FAILED -- saving rejects to file WebCore/platform/graphics/mac/FontMac.mm.rej
patching file WebCore/platform/graphics/win/FontCGWin.cpp
Hunk #1 succeeded at 357 with fuzz 2 (offset 3 lines).

Failed to run &quot;[u&apos;/Projects/CommitQueue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Simon Fraser&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/7317088</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325830</commentid>
    <comment_count>14</comment_count>
      <attachid>77290</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-22 18:17:37 -0800</bug_when>
    <thetext>Created attachment 77290
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325854</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-22 19:24:16 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 77290:

inspector/styles-disable-then-enable.html bug 51384 (author: pfeldman@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325855</commentid>
    <comment_count>16</comment_count>
      <attachid>77290</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-22 19:25:51 -0800</bug_when>
    <thetext>Comment on attachment 77290
Patch for landing

Clearing flags on attachment: 77290

Committed r74532: &lt;http://trac.webkit.org/changeset/74532&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325856</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-22 19:26:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325873</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-22 20:24:50 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/74532 might have broken SnowLeopard Intel Release (Tests)
The following tests are not passing:
http/tests/local/stylesheet-and-script-load-order-media-print.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325889</commentid>
    <comment_count>19</comment_count>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2010-12-22 21:32:23 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; http://trac.webkit.org/changeset/74532 might have broken SnowLeopard Intel Release (Tests)
&gt; The following tests are not passing:
&gt; http/tests/local/stylesheet-and-script-load-order-media-print.html

This is just a flaky test, the bot is green again. Bug 51470 is already filed for it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>30103</attachid>
            <date>2009-05-07 10:50:13 -0700</date>
            <delta_ts>2009-05-07 10:50:13 -0700</delta_ts>
            <desc>a simple test case.</desc>
            <filename>sh.html</filename>
            <type>text/html</type>
            <size>514</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPiAgICAKPHNjcmlwdCBsYW5ndWFnZT0iSmF2YXNjcmlwdCI+CiAgICAgIGZ1
bmN0aW9uIGRyYXdfc2hhZG93X3RleHQoKSB7CiAgICAgICB2YXIgY3R4ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NhbnZhcycpLmdldENvbnRleHQoJzJkJyk7CgogICAgICAgIGN0eC5zaGFk
b3dPZmZzZXRZID0gNTsKICAgICAgICBjdHguc2hhZG93Q29sb3IgPSAicmdiYSgwLCAwLCAwLCAw
LjUpIjsKICAgICAgICAKICAgICAgICBjdHguZm9udCA9ICIyMHB4IFRpbWVzIE5ldyBSb21hbiI7
CiAgICAgICAgY3R4LmZpbGxTdHlsZSA9ICJCbGFjayI7CiAgICAgICAgY3R4LmZpbGxUZXh0KCJT
aGFkb3cgVGV4dCIsIDEwLCAyMCk7CiAgICAgIH0KPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHkgb25s
b2FkPSJkcmF3X3NoYWRvd190ZXh0KCk7Ij4KPGgxPnNoYWRvdyB5IG9mZnNldDwvaDE+CjxjYW52
YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwvY2FudmFzPgo8L2JvZHk+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30104</attachid>
            <date>2009-05-07 11:04:45 -0700</date>
            <delta_ts>2010-12-21 08:49:53 -0800</delta_ts>
            <desc>use the right y offset value for simple shadowed text.</desc>
            <filename>shadowOffsetY.patch</filename>
            <type>text/plain</type>
            <size>1734</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MzM0NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDUtMDcgIFlvbmdqdW4gWmhhbmcgIDx5b25nanVuLnpoYW5n
QG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBCdWcgMjU2MTk6IHRoZSBzaGFkb3cgZGlyZWN0aW9uIGlzIG5lZ2F0ZWQgaW4gY2FudmFz
IGNvbnRleHQgc2hhZG93T2Zmc2V0WQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjU2MTkKKworICAgICAgICBVc2UgdGhlIHJpZ2h0IHkgb2Zmc2V0IHZh
bHVlIGZvciBwYWludGluZyBzaW1wbGUgc2hhZG93ZWQgdGV4dC4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJh
d0dseXBocyk6CisKIDIwMDktMDUtMDcgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBGaXggQ2hyb21pdW0gYnVpbGQgYnVzdGFnZS4KSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQkocmV2aXNpb24gNDMzNDcpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDIsNyArMTAyLDcgQEAgdm9pZCBGb250OjpkcmF3R2x5cGhzKEdyYXBoaWNzQ29udGV4dCogYwog
ICAgICAgICBDb2xvciBmaWxsQ29sb3IgPSBjb250ZXh0LT5maWxsQ29sb3IoKTsKICAgICAgICAg
Q29sb3Igc2hhZG93RmlsbENvbG9yKHNoYWRvd0NvbG9yLnJlZCgpLCBzaGFkb3dDb2xvci5ncmVl
bigpLCBzaGFkb3dDb2xvci5ibHVlKCksIHNoYWRvd0NvbG9yLmFscGhhKCkgKiBmaWxsQ29sb3Iu
YWxwaGEoKSAvIDI1NSk7CiAgICAgICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihzaGFkb3dGaWxs
Q29sb3IpOwotICAgICAgICBDR0NvbnRleHRTZXRUZXh0UG9zaXRpb24oY2dDb250ZXh0LCBwb2lu
dC54KCkgKyBzaGFkb3dTaXplLndpZHRoKCksIHBvaW50LnkoKSArIHNoYWRvd1NpemUuaGVpZ2h0
KCkpOworICAgICAgICBDR0NvbnRleHRTZXRUZXh0UG9zaXRpb24oY2dDb250ZXh0LCBwb2ludC54
KCkgKyBzaGFkb3dTaXplLndpZHRoKCksIHBvaW50LnkoKSAtIHNoYWRvd1NpemUuaGVpZ2h0KCkp
OwogICAgICAgICBDR0NvbnRleHRTaG93R2x5cGhzV2l0aEFkdmFuY2VzKGNnQ29udGV4dCwgZ2x5
cGhCdWZmZXIuZ2x5cGhzKGZyb20pLCBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhmcm9tKSwgbnVtR2x5
cGhzKTsKICAgICAgICAgaWYgKGZvbnQtPm1fc3ludGhldGljQm9sZE9mZnNldCkgewogICAgICAg
ICAgICAgQ0dDb250ZXh0U2V0VGV4dFBvc2l0aW9uKGNnQ29udGV4dCwgcG9pbnQueCgpICsgc2hh
ZG93U2l6ZS53aWR0aCgpICsgZm9udC0+bV9zeW50aGV0aWNCb2xkT2Zmc2V0LCBwb2ludC55KCkg
KyBzaGFkb3dTaXplLmhlaWdodCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77122</attachid>
            <date>2010-12-21 08:49:57 -0800</date>
            <delta_ts>2010-12-21 13:59:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-25619-20101221084956.patch</filename>
            <type>text/plain</type>
            <size>3745</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZmYxMTExMDI4ODZhZThjNGYzMTY3YzhjMmQzNTZmNTk1YjZiMjNmYi4uMGI3MzZiYWJjOGE0YmIz
ZjJmOTY3MDMyYzY5MjQ5OTYzMjE1MGJlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0xMi0yMSAgTWlo
YWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB0aGUgc2hhZG93IGRpcmVjdGlvbiBpcyBuZWdh
dGVkIGluIGNhbnZhcyBjb250ZXh0IHNoYWRvd09mZnNldFkuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTYxOQorICAgICAgICAKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpzaGFkb3dz
SWdub3JlVHJhbnNmb3Jtcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3R2x5cGhzKToKKwogMjAxMC0xMi0xNyAgTU9SSVRB
IEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1l
cyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmNwcAppbmRleCA5YjYyMWY4OWE5NjNiMzBmNGVjODQ2Zjg3MjIzMTM4MjcyMjIzZjhhLi44MDA3
ZTUyMTllNmZhODdiOGJhNjM5YjE0NWU2MDUyNTM3MjNlMjQ1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCkBAIC0zMDQsNiArMzA0LDExIEBAIHZv
aWQgR3JhcGhpY3NDb250ZXh0OjpzZXRTaGFkb3dzSWdub3JlVHJhbnNmb3Jtcyhib29sIGlnbm9y
ZVRyYW5zZm9ybXMpCiAgICAgbV9zdGF0ZS5zaGFkb3dzSWdub3JlVHJhbnNmb3JtcyA9IGlnbm9y
ZVRyYW5zZm9ybXM7CiB9CiAKK2Jvb2wgR3JhcGhpY3NDb250ZXh0OjpzaGFkb3dzSWdub3JlVHJh
bnNmb3JtcygpCit7CisgICAgcmV0dXJuIG1fc3RhdGUuc2hhZG93c0lnbm9yZVRyYW5zZm9ybXM7
Cit9CisKIGJvb2wgR3JhcGhpY3NDb250ZXh0Ojp1cGRhdGluZ0NvbnRyb2xUaW50cygpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fdXBkYXRpbmdDb250cm9sVGludHM7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCA3NDVmN2VhMWQyYjExNWM4ODI4YmUy
MzMxYWNiZjhkNDZjMjZhYzU5Li45MmU5MzNjMjAwNTAyZjJjYzJiNGFlNjEwZTYyODE2YzRiYmMz
ZDM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAg
LTI0MCw2ICsyNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEdyYWRpZW50KiBm
aWxsR3JhZGllbnQoKSBjb25zdDsKIAogICAgICAgICB2b2lkIHNldFNoYWRvd3NJZ25vcmVUcmFu
c2Zvcm1zKGJvb2wpOworICAgICAgICBib29sIHNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKCk7CiAK
ICAgICAgICAgdm9pZCBzZXRTaG91bGRBbnRpYWxpYXMoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hv
dWxkQW50aWFsaWFzKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9Gb250TWFjLm1tIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1h
Yy5tbQppbmRleCA0MDNmYmUwOGZjMmVhNmQ3ODVmZTNlMDQwNzEyMzkxZTRiZmY0YzZiLi40YWUz
ZDk3MzliYTM2Y2M5YWZhYWE0YThkMTE4NjAyMzBjNmVlODM4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KQEAgLTE3OSwxMCArMTc5LDEzIEBAIHZvaWQgRm9udDo6
ZHJhd0dseXBocyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFNpbXBsZUZvbnREYXRh
KiBmb250LCBjb25zCiAgICAgICAgIENvbG9yIGZpbGxDb2xvciA9IGNvbnRleHQtPmZpbGxDb2xv
cigpOwogICAgICAgICBDb2xvciBzaGFkb3dGaWxsQ29sb3Ioc2hhZG93Q29sb3IucmVkKCksIHNo
YWRvd0NvbG9yLmdyZWVuKCksIHNoYWRvd0NvbG9yLmJsdWUoKSwgc2hhZG93Q29sb3IuYWxwaGEo
KSAqIGZpbGxDb2xvci5hbHBoYSgpIC8gMjU1KTsKICAgICAgICAgY29udGV4dC0+c2V0RmlsbENv
bG9yKHNoYWRvd0ZpbGxDb2xvciwgZmlsbENvbG9yU3BhY2UpOwotICAgICAgICBDR0NvbnRleHRT
ZXRUZXh0UG9zaXRpb24oY2dDb250ZXh0LCBwb2ludC54KCkgKyBzaGFkb3dPZmZzZXQud2lkdGgo
KSwgcG9pbnQueSgpICsgc2hhZG93T2Zmc2V0LmhlaWdodCgpKTsKKyAgICAgICAgZmxvYXQgc2hh
ZG93VGV4dFggPSBwb2ludC54KCkgKyBzaGFkb3dPZmZzZXQud2lkdGgoKTsKKyAgICAgICAgLy8g
SWYgc2hhZG93cyBhcmUgaWdub3JpbmcgdHJhbnNmb3JtcywgdGhlbiB3ZSBoYXZlbid0IGFwcGxp
ZWQgdGhlIFkgY29vcmRpbmF0ZSBmbGlwIHlldCwgc28gZG93biBpcyBuZWdhdGl2ZS4KKyAgICAg
ICAgZmxvYXQgc2hhZG93VGV4dFkgPSBwb2ludC55KCkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0KCkg
KiAoY29udGV4dC0+c2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoKSA/IC0xIDogMSk7CisgICAgICAg
IENHQ29udGV4dFNldFRleHRQb3NpdGlvbihjZ0NvbnRleHQsIHNoYWRvd1RleHRYLCBzaGFkb3dU
ZXh0WSk7CiAgICAgICAgIHNob3dHbHlwaHNXaXRoQWR2YW5jZXMoZm9udCwgY2dDb250ZXh0LCBn
bHlwaEJ1ZmZlci5nbHlwaHMoZnJvbSksIGdseXBoQnVmZmVyLmFkdmFuY2VzKGZyb20pLCBudW1H
bHlwaHMpOwogICAgICAgICBpZiAoZm9udC0+c3ludGhldGljQm9sZE9mZnNldCgpKSB7Ci0gICAg
ICAgICAgICBDR0NvbnRleHRTZXRUZXh0UG9zaXRpb24oY2dDb250ZXh0LCBwb2ludC54KCkgKyBz
aGFkb3dPZmZzZXQud2lkdGgoKSArIGZvbnQtPnN5bnRoZXRpY0JvbGRPZmZzZXQoKSwgcG9pbnQu
eSgpICsgc2hhZG93T2Zmc2V0LmhlaWdodCgpKTsKKyAgICAgICAgICAgIENHQ29udGV4dFNldFRl
eHRQb3NpdGlvbihjZ0NvbnRleHQsIHNoYWRvd1RleHRYICsgZm9udC0+c3ludGhldGljQm9sZE9m
ZnNldCgpLCBzaGFkb3dUZXh0WSk7CiAgICAgICAgICAgICBzaG93R2x5cGhzV2l0aEFkdmFuY2Vz
KGZvbnQsIGNnQ29udGV4dCwgZ2x5cGhCdWZmZXIuZ2x5cGhzKGZyb20pLCBnbHlwaEJ1ZmZlci5h
ZHZhbmNlcyhmcm9tKSwgbnVtR2x5cGhzKTsKICAgICAgICAgfQogICAgICAgICBjb250ZXh0LT5z
ZXRGaWxsQ29sb3IoZmlsbENvbG9yLCBmaWxsQ29sb3JTcGFjZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77149</attachid>
            <date>2010-12-21 13:59:22 -0800</date>
            <delta_ts>2010-12-21 15:41:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-25619-20101221135920.patch</filename>
            <type>text/plain</type>
            <size>7717</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMjA1NWQxZjk5MjBkYjg0ODhmMzVjYTE0MDAzYTQwNzcyZTlhZDk2Li5jNTI0MWFi
YzEwNjUzODU1ZGYxYWEyMTMzMDU3YzkxMWI0MDg4ZDZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdGhlIHNoYWRvdyBk
aXJlY3Rpb24gaXMgbmVnYXRlZCBpbiBjYW52YXMgY29udGV4dCBzaGFkb3dPZmZzZXRZLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU2MTkKKyAgICAg
ICAgCisgICAgICAgIEFkZCB0ZXN0IHRvIHZlcmlmeSB0aGF0IHNoYWRvd09mZnNldFkgaXMgaGFu
ZGxlZCBjb3JyZWN0bHkuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3ct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFk
b3cuaHRtbDogQWRkZWQuCisKIDIwMTAtMTItMjEgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2ZpbGxUZXh0LXNoYWRvdy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3ctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmExNzAzYmFkYWU0MmEyMGJjNDgwNDRlMGQ5MTgzNTBkYTIyZjhjZjMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3ctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzYgQEAKK1Rlc3RzIHRoYXQgKHZlcnRpY2FsKSBzaGFkb3cgb2Zm
c2V0cyBhcmUgYXBwbGllZCBjb3JyZWN0bHkgd2hlbiB1c2luZyBmaWxsVGV4dCgpIHJlZ2FyZGxl
c3Mgb2YgYmx1ciBhbW91bnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0
aW5nIHdpdGggYmx1ciBvZiAwIHBpeGVscworUEFTUyBpbWdkYXRhWzBdIGlzIDAKK1BBU1MgaW1n
ZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFbMl0gaXMgMAorUEFTUyBpbWdkYXRhWzNdIGlzIDAK
K1BBU1MgaW1nZGF0YVswXSBpcyAyNTUKK1BBU1MgaW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2Rh
dGFbMl0gaXMgMAorUEFTUyBpbWdkYXRhWzNdIGlzIDI1NQorVGVzdGluZyB3aXRoIGJsdXIgb2Yg
MSBwaXhlbHMKK1BBU1MgaW1nZGF0YVswXSBpcyAwCitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFT
UyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVszXSBpcyAwCitQQVNTIGltZ2RhdGFbMF0g
aXMgMjU1CitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1Mg
aW1nZGF0YVszXSBpcyAyNTUKK1Rlc3Rpbmcgd2l0aCBibHVyIG9mIDUgcGl4ZWxzCitQQVNTIGlt
Z2RhdGFbMF0gaXMgMAorUEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAw
CitQQVNTIGltZ2RhdGFbM10gaXMgMAorUEFTUyBpbWdkYXRhWzBdIGlzIDI1NQorUEFTUyBpbWdk
YXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAwCitQQVNTIGltZ2RhdGFbM10gaXMgMjU1
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3cuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MjE4MjIzNTljM2ZlMmFjMTdiODhjYjRiOTY3OWE0NzhkNmIwZDk5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93Lmh0bWwKQEAgLTAsMCAr
MSw1NCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyB3aWR0aD0iNjAwIiBo
ZWlnaHQ9IjMwMCIgc3R5bGU9ImJvcmRlcjogc29saWQgMXB4IGdyYXkiPjwvY2FudmFzPgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0ICh2ZXJ0aWNhbCkgc2hhZG93IG9mZnNldHMg
YXJlIGFwcGxpZWQgY29ycmVjdGx5IHdoZW4gdXNpbmcgZmlsbFRleHQoKSByZWdhcmRsZXNzIG9m
IGJsdXIgYW1vdW50LicpOwordmFyIGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCdjYW52YXMnKVswXS5nZXRDb250ZXh0KCcyZCcpOworY3R4LmZvbnQgPSAnYm9sZCAxMjhweCBz
YW5zLXNlcmlmJzsKK2N0eC5zaGFkb3dDb2xvciA9ICdyZWQnCitjdHguc2hhZG93T2Zmc2V0WSA9
IDEwMDsKKworZnVuY3Rpb24gdGVzdFdpdGhCbHVyKGJsdXIpIHsKKyAgY3R4LmNsZWFyUmVjdCgw
LCAwLCA2MDAsIDMwMCk7CisgIGN0eC5zaGFkb3dCbHVyID0gYmx1cjsKKyAgCisgIC8vIENlbnRl
ciB0aGUgSSBhcm91bmQgdGhlIFkgYXhpcy4KKyAgY3R4LmZpbGxUZXh0KCdJJywgLWN0eC5tZWFz
dXJlVGV4dCgnSScpLndpZHRoLzIsIDEyOCk7CisgIAorICBkZWJ1ZygnVGVzdGluZyB3aXRoIGJs
dXIgb2YgJyArIGJsdXIgKyAnIHBpeGVscycpOworCisgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBz
aGFkb3cgZG9lc24ndCBlbmQgdXAgYWJvdmUgdGhlIHRleHQuLi4KKyAgdmFyIGltYWdlRGF0YSA9
IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgMSwgMSk7CisgIGltZ2RhdGEgPSBpbWFnZURhdGEuZGF0
YTsKKworICBzaG91bGRCZSgnaW1nZGF0YVswXScsICcwJyk7CisgIHNob3VsZEJlKCdpbWdkYXRh
WzFdJywgJzAnKTsKKyAgc2hvdWxkQmUoJ2ltZ2RhdGFbMl0nLCAnMCcpOworICBzaG91bGRCZSgn
aW1nZGF0YVszXScsICcwJyk7CisgIAorICAvLyAuLi5idXQgYmVsb3cuCisgIHZhciBpbWFnZURh
dGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDE1MCwgMSwgMSk7CisgIGltZ2RhdGEgPSBpbWFnZURh
dGEuZGF0YTsgIAorICBzaG91bGRCZSgnaW1nZGF0YVswXScsICcyNTUnKTsKKyAgc2hvdWxkQmUo
J2ltZ2RhdGFbMV0nLCAnMCcpOworICBzaG91bGRCZSgnaW1nZGF0YVsyXScsICcwJyk7CisgIHNo
b3VsZEJlKCdpbWdkYXRhWzNdJywgJzI1NScpOworfQorCit0ZXN0V2l0aEJsdXIoMCk7Cit0ZXN0
V2l0aEJsdXIoMSk7Cit0ZXN0V2l0aEJsdXIoNSk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJkMDJjZmU3ZDQxZmEzMDYw
OTAyMmNkYzQyN2FhYThjYWMwN2RlMi4uYWRjNTUxYmNmNjBjMTRiN2YyZTU1M2JkOTE4NzE0MTAw
ODQ0ZDU2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0xMi0yMSAgTWloYWkgUGFycGFyaXRhICA8bWlo
YWlwQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICB0aGUgc2hhZG93IGRpcmVjdGlvbiBpcyBuZWdhdGVkIGluIGNhbnZhcyBjb250
ZXh0IHNoYWRvd09mZnNldFkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yNTYxOQorICAgICAgICAKKyAgICAgICAgSW52ZXJ0IHNoYWRvdyBvZmZzZXQg
WSBkaXJlY3Rpb24gaW4gMC1ibHVyIHBhdGggaW4gRm9udE1hYzo6ZHJhd0dseXBzCisgICAgICAg
IGlmIHdlJ3JlIG5vdCB0cmFuc2Zvcm1pbmcgc2hhZG93cyAoaS5lLiBhcmUgcmVuZGVyaW5nIGlu
IGEgY2FudmFzKS4KKworICAgICAgICBUZXN0OiBmYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3cu
aHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2hhZG93c0lnbm9yZVRyYW5zZm9y
bXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udDo6ZHJhd0dseXBocyk6CisKIDIwMTAtMTItMjEgIFlvbmcgTGkgIDx5b2xpQHJpbS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAppbmRleCA5YjYyMWY4OWE5NjNiMzBmNGVj
ODQ2Zjg3MjIzMTM4MjcyMjIzZjhhLi40MzlmYzVkOWJlMGRmNDVkN2Y4MTY3YzE0ZjEwMjkxMzUx
YWQ5ZWZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
Y3BwCkBAIC0zMDQsNiArMzA0LDExIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRTaGFkb3dz
SWdub3JlVHJhbnNmb3Jtcyhib29sIGlnbm9yZVRyYW5zZm9ybXMpCiAgICAgbV9zdGF0ZS5zaGFk
b3dzSWdub3JlVHJhbnNmb3JtcyA9IGlnbm9yZVRyYW5zZm9ybXM7CiB9CiAKK2Jvb2wgR3JhcGhp
Y3NDb250ZXh0OjpzaGFkb3dzSWdub3JlVHJhbnNmb3JtcygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fc3RhdGUuc2hhZG93c0lnbm9yZVRyYW5zZm9ybXM7Cit9CisKIGJvb2wgR3JhcGhpY3NDb250
ZXh0Ojp1cGRhdGluZ0NvbnRyb2xUaW50cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fdXBkYXRp
bmdDb250cm9sVGludHM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuaAppbmRleCA3NDVmN2VhMWQyYjExNWM4ODI4YmUyMzMxYWNiZjhkNDZjMjZhYzU5Li4yOTE4
NGFlYmY0OTUwZGZkNjUwZDQ3YWIwNjFlMDA5NTEyZWRiMTM5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTI0MCw2ICsyNDAsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEdyYWRpZW50KiBmaWxsR3JhZGllbnQoKSBjb25zdDsKIAog
ICAgICAgICB2b2lkIHNldFNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKGJvb2wpOworICAgICAgICBi
b29sIHNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKCkgY29uc3Q7CiAKICAgICAgICAgdm9pZCBzZXRT
aG91bGRBbnRpYWxpYXMoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkQW50aWFsaWFzKCkgY29u
c3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1t
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQppbmRleCA0MDNmYmUw
OGZjMmVhNmQ3ODVmZTNlMDQwNzEyMzkxZTRiZmY0YzZiLi40YWUzZDk3MzliYTM2Y2M5YWZhYWE0
YThkMTE4NjAyMzBjNmVlODM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Gb250TWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRN
YWMubW0KQEAgLTE3OSwxMCArMTc5LDEzIEBAIHZvaWQgRm9udDo6ZHJhd0dseXBocyhHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250LCBjb25zCiAgICAg
ICAgIENvbG9yIGZpbGxDb2xvciA9IGNvbnRleHQtPmZpbGxDb2xvcigpOwogICAgICAgICBDb2xv
ciBzaGFkb3dGaWxsQ29sb3Ioc2hhZG93Q29sb3IucmVkKCksIHNoYWRvd0NvbG9yLmdyZWVuKCks
IHNoYWRvd0NvbG9yLmJsdWUoKSwgc2hhZG93Q29sb3IuYWxwaGEoKSAqIGZpbGxDb2xvci5hbHBo
YSgpIC8gMjU1KTsKICAgICAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKHNoYWRvd0ZpbGxDb2xv
ciwgZmlsbENvbG9yU3BhY2UpOwotICAgICAgICBDR0NvbnRleHRTZXRUZXh0UG9zaXRpb24oY2dD
b250ZXh0LCBwb2ludC54KCkgKyBzaGFkb3dPZmZzZXQud2lkdGgoKSwgcG9pbnQueSgpICsgc2hh
ZG93T2Zmc2V0LmhlaWdodCgpKTsKKyAgICAgICAgZmxvYXQgc2hhZG93VGV4dFggPSBwb2ludC54
KCkgKyBzaGFkb3dPZmZzZXQud2lkdGgoKTsKKyAgICAgICAgLy8gSWYgc2hhZG93cyBhcmUgaWdu
b3JpbmcgdHJhbnNmb3JtcywgdGhlbiB3ZSBoYXZlbid0IGFwcGxpZWQgdGhlIFkgY29vcmRpbmF0
ZSBmbGlwIHlldCwgc28gZG93biBpcyBuZWdhdGl2ZS4KKyAgICAgICAgZmxvYXQgc2hhZG93VGV4
dFkgPSBwb2ludC55KCkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0KCkgKiAoY29udGV4dC0+c2hhZG93
c0lnbm9yZVRyYW5zZm9ybXMoKSA/IC0xIDogMSk7CisgICAgICAgIENHQ29udGV4dFNldFRleHRQ
b3NpdGlvbihjZ0NvbnRleHQsIHNoYWRvd1RleHRYLCBzaGFkb3dUZXh0WSk7CiAgICAgICAgIHNo
b3dHbHlwaHNXaXRoQWR2YW5jZXMoZm9udCwgY2dDb250ZXh0LCBnbHlwaEJ1ZmZlci5nbHlwaHMo
ZnJvbSksIGdseXBoQnVmZmVyLmFkdmFuY2VzKGZyb20pLCBudW1HbHlwaHMpOwogICAgICAgICBp
ZiAoZm9udC0+c3ludGhldGljQm9sZE9mZnNldCgpKSB7Ci0gICAgICAgICAgICBDR0NvbnRleHRT
ZXRUZXh0UG9zaXRpb24oY2dDb250ZXh0LCBwb2ludC54KCkgKyBzaGFkb3dPZmZzZXQud2lkdGgo
KSArIGZvbnQtPnN5bnRoZXRpY0JvbGRPZmZzZXQoKSwgcG9pbnQueSgpICsgc2hhZG93T2Zmc2V0
LmhlaWdodCgpKTsKKyAgICAgICAgICAgIENHQ29udGV4dFNldFRleHRQb3NpdGlvbihjZ0NvbnRl
eHQsIHNoYWRvd1RleHRYICsgZm9udC0+c3ludGhldGljQm9sZE9mZnNldCgpLCBzaGFkb3dUZXh0
WSk7CiAgICAgICAgICAgICBzaG93R2x5cGhzV2l0aEFkdmFuY2VzKGZvbnQsIGNnQ29udGV4dCwg
Z2x5cGhCdWZmZXIuZ2x5cGhzKGZyb20pLCBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhmcm9tKSwgbnVt
R2x5cGhzKTsKICAgICAgICAgfQogICAgICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoZmlsbENv
bG9yLCBmaWxsQ29sb3JTcGFjZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77160</attachid>
            <date>2010-12-21 15:41:44 -0800</date>
            <delta_ts>2010-12-22 18:17:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-25619-20101221154143.patch</filename>
            <type>text/plain</type>
            <size>11922</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwMjA1NWQxZjk5MjBkYjg0ODhmMzVjYTE0MDAzYTQwNzcyZTlhZDk2Li5jNTI0MWFi
YzEwNjUzODU1ZGYxYWEyMTMzMDU3YzkxMWI0MDg4ZDZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdGhlIHNoYWRvdyBk
aXJlY3Rpb24gaXMgbmVnYXRlZCBpbiBjYW52YXMgY29udGV4dCBzaGFkb3dPZmZzZXRZLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU2MTkKKyAgICAg
ICAgCisgICAgICAgIEFkZCB0ZXN0IHRvIHZlcmlmeSB0aGF0IHNoYWRvd09mZnNldFkgaXMgaGFu
ZGxlZCBjb3JyZWN0bHkuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3ct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFk
b3cuaHRtbDogQWRkZWQuCisKIDIwMTAtMTItMjEgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2ZpbGxUZXh0LXNoYWRvdy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3ctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjhmMjQ1YjlmMzgxN2EzNWNiMDFiMjU1NWFhNjQwNDkyMDIwZGNiMjYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3ctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNjUgQEAKK1Rlc3RzIHRoYXQgKHZlcnRpY2FsKSBzaGFkb3cgb2Zm
c2V0cyBhcmUgYXBwbGllZCBjb3JyZWN0bHkgd2hlbiB1c2luZyBmaWxsVGV4dCgpIHJlZ2FyZGxl
c3Mgb2YgYmx1ciBhbW91bnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0
aW5nIHdpdGggbm8gdHJhbnNmb3JtCitUZXN0aW5nIHdpdGggYmx1ciBvZiAwIHBpeGVscworUEFT
UyBpbWdkYXRhWzBdIGlzIDAKK1BBU1MgaW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFbMl0g
aXMgMAorUEFTUyBpbWdkYXRhWzNdIGlzIDAKK1BBU1MgaW1nZGF0YVswXSBpcyAyNTUKK1BBU1Mg
aW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFbMl0gaXMgMAorUEFTUyBpbWdkYXRhWzNdIGlz
IDI1NQorVGVzdGluZyB3aXRoIGJsdXIgb2YgMSBwaXhlbHMKK1BBU1MgaW1nZGF0YVswXSBpcyAw
CitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0
YVszXSBpcyAwCitQQVNTIGltZ2RhdGFbMF0gaXMgMjU1CitQQVNTIGltZ2RhdGFbMV0gaXMgMAor
UEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVszXSBpcyAyNTUKK1Rlc3Rpbmcgd2l0
aCBibHVyIG9mIDUgcGl4ZWxzCitQQVNTIGltZ2RhdGFbMF0gaXMgMAorUEFTUyBpbWdkYXRhWzFd
IGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAwCitQQVNTIGltZ2RhdGFbM10gaXMgMAorUEFTUyBp
bWdkYXRhWzBdIGlzIDI1NQorUEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBp
cyAwCitQQVNTIGltZ2RhdGFbM10gaXMgMjU1CitUZXN0aW5nIHdpdGggc2NhbGUgdHJhbnNmb3Jt
CitUZXN0aW5nIHdpdGggYmx1ciBvZiAwIHBpeGVscworUEFTUyBpbWdkYXRhWzBdIGlzIDAKK1BB
U1MgaW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFbMl0gaXMgMAorUEFTUyBpbWdkYXRhWzNd
IGlzIDAKK1BBU1MgaW1nZGF0YVswXSBpcyAyNTUKK1BBU1MgaW1nZGF0YVsxXSBpcyAwCitQQVNT
IGltZ2RhdGFbMl0gaXMgMAorUEFTUyBpbWdkYXRhWzNdIGlzIDI1NQorVGVzdGluZyB3aXRoIGJs
dXIgb2YgMSBwaXhlbHMKK1BBU1MgaW1nZGF0YVswXSBpcyAwCitQQVNTIGltZ2RhdGFbMV0gaXMg
MAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVszXSBpcyAwCitQQVNTIGltZ2Rh
dGFbMF0gaXMgMjU1CitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAK
K1BBU1MgaW1nZGF0YVszXSBpcyAyNTUKK1Rlc3Rpbmcgd2l0aCBibHVyIG9mIDUgcGl4ZWxzCitQ
QVNTIGltZ2RhdGFbMF0gaXMgMAorUEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsy
XSBpcyAwCitQQVNTIGltZ2RhdGFbM10gaXMgMAorUEFTUyBpbWdkYXRhWzBdIGlzIDI1NQorUEFT
UyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAwCitQQVNTIGltZ2RhdGFbM10g
aXMgMjU1CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3cuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44YmM0NTVlZDVlMWVhYTBiMmY5OGE1YzhiM2E1ZmNlMDJjMjVmMzMwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93Lmh0bWwKQEAg
LTAsMCArMSw2MSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGNhbnZhcyB3aWR0aD0i
NjAwIiBoZWlnaHQ9IjMwMCIgc3R5bGU9ImJvcmRlcjogc29saWQgMXB4IGdyYXkiPjwvY2FudmFz
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0ICh2ZXJ0aWNhbCkgc2hhZG93IG9m
ZnNldHMgYXJlIGFwcGxpZWQgY29ycmVjdGx5IHdoZW4gdXNpbmcgZmlsbFRleHQoKSByZWdhcmRs
ZXNzIG9mIGJsdXIgYW1vdW50LicpOwordmFyIGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdjYW52YXMnKVswXS5nZXRDb250ZXh0KCcyZCcpOworY3R4LmZvbnQgPSAnYm9sZCAx
MjhweCBzYW5zLXNlcmlmJzsKK2N0eC5zaGFkb3dDb2xvciA9ICdyZWQnCitjdHguc2hhZG93T2Zm
c2V0WSA9IDEwMDsKKworZnVuY3Rpb24gdGVzdFdpdGhCbHVyKGJsdXIsIGJlbG93T2Zmc2V0KSB7
CisgIGN0eC5jbGVhclJlY3QoMCwgMCwgNjAwLCAzMDApOworICBjdHguc2hhZG93Qmx1ciA9IGJs
dXI7CisgIAorICAvLyBDZW50ZXIgdGhlIEkgYXJvdW5kIHRoZSBZIGF4aXMuCisgIGN0eC5maWxs
VGV4dCgnSScsIC1jdHgubWVhc3VyZVRleHQoJ0knKS53aWR0aC8yLCAxMjgpOworICAKKyAgZGVi
dWcoJ1Rlc3Rpbmcgd2l0aCBibHVyIG9mICcgKyBibHVyICsgJyBwaXhlbHMnKTsKKworICAvLyBN
YWtlIHN1cmUgdGhhdCB0aGUgc2hhZG93IGRvZXNuJ3QgZW5kIHVwIGFib3ZlIHRoZSB0ZXh0Li4u
CisgIHZhciBpbWFnZURhdGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIDEsIDEpOworICBpbWdk
YXRhID0gaW1hZ2VEYXRhLmRhdGE7CisKKyAgc2hvdWxkQmUoJ2ltZ2RhdGFbMF0nLCAnMCcpOwor
ICBzaG91bGRCZSgnaW1nZGF0YVsxXScsICcwJyk7CisgIHNob3VsZEJlKCdpbWdkYXRhWzJdJywg
JzAnKTsKKyAgc2hvdWxkQmUoJ2ltZ2RhdGFbM10nLCAnMCcpOworICAKKyAgLy8gLi4uYnV0IGJl
bG93LgorICB2YXIgaW1hZ2VEYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCBiZWxvd09mZnNldCwg
MSwgMSk7CisgIGltZ2RhdGEgPSBpbWFnZURhdGEuZGF0YTsgIAorICBzaG91bGRCZSgnaW1nZGF0
YVswXScsICcyNTUnKTsKKyAgc2hvdWxkQmUoJ2ltZ2RhdGFbMV0nLCAnMCcpOworICBzaG91bGRC
ZSgnaW1nZGF0YVsyXScsICcwJyk7CisgIHNob3VsZEJlKCdpbWdkYXRhWzNdJywgJzI1NScpOwor
fQorCitkZWJ1ZygnVGVzdGluZyB3aXRoIG5vIHRyYW5zZm9ybScpOwordGVzdFdpdGhCbHVyKDAs
IDE1MCk7Cit0ZXN0V2l0aEJsdXIoMSwgMTUwKTsKK3Rlc3RXaXRoQmx1cig1LCAxNTApOworCitk
ZWJ1ZygnVGVzdGluZyB3aXRoIHNjYWxlIHRyYW5zZm9ybScpOworY3R4LnNjYWxlKDEsIDIpOwor
dGVzdFdpdGhCbHVyKDAsIDI5OSk7Cit0ZXN0V2l0aEJsdXIoMSwgMjk5KTsKK3Rlc3RXaXRoQmx1
cig1LCAyOTkpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGUyZDAyY2ZlN2Q0MWZhMzA2MDkwMjJjZGM0MjdhYWE4Y2FjMDdk
ZTIuLjkwNWU4YWQ3NjUxN2JjMGUzZTdjNjY2ZTFkMjc2NDE4MmMyYTQxMDYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTAtMTItMjEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdGhlIHNoYWRv
dyBkaXJlY3Rpb24gaXMgbmVnYXRlZCBpbiBjYW52YXMgY29udGV4dCBzaGFkb3dPZmZzZXRZLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU2MTkKKyAg
ICAgICAgCisgICAgICAgIEludmVydCBzaGFkb3cgb2Zmc2V0IFkgZGlyZWN0aW9uIGluIDAtYmx1
ciBwYXRoIGluIEZvbnRNYWM6OmRyYXdHbHlwcworICAgICAgICBpZiB3ZSdyZSBub3QgdHJhbnNm
b3JtaW5nIHNoYWRvd3MgKGkuZS4gYXJlIHJlbmRlcmluZyBpbiBhIGNhbnZhcykuIEFsc28KKyAg
ICAgICAgdXNlIENHIHNoYWRvd3MgaWYgdGhlcmUncyBhIG5vbi10cmFuc2xhdGUvZmxpcCB0cmFu
c2Zvcm0gYXBwbGllZAorICAgICAgICAoc2hhZG93IG9mZnNldHMgYXJlIHN1cHBvc2VkIHRvIGln
bm9yZSB0cmFuc2Zvcm1zLCBidXQgdGhlIG5haXZlL3NpbXBsZQorICAgICAgICBpbXBsZW1lbnRh
dGlvbiB3YXMgdGFraW5nIHRoZW0gaW50byBhY2NvdW50KS4KKyAgICAgICAgCisgICAgICAgIEFs
c28gZG9lcyB0aGUgZXF1aXZhbGVudCBjaGFuZ2VzIHRvIEZvbnRDR1dpbi4KKworICAgICAgICBU
ZXN0OiBmYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3cuaHRtbAorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDo6c2hhZG93c0lnbm9yZVRyYW5zZm9ybXMpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L21hYy9Gb250TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd0dseXBocyk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250OjpkcmF3R2x5cGhzKToKKwogMjAxMC0xMi0yMSAgWW9uZyBMaSAgPHlvbGlA
cmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCmluZGV4IDliNjIxZjg5YTk2M2Iz
MGY0ZWM4NDZmODcyMjMxMzgyNzIyMjNmOGEuLjQzOWZjNWQ5YmUwZGY0NWQ3ZjgxNjdjMTRmMTAy
OTEzNTFhZDllZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dC5jcHAKQEAgLTMwNCw2ICszMDQsMTEgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldFNo
YWRvd3NJZ25vcmVUcmFuc2Zvcm1zKGJvb2wgaWdub3JlVHJhbnNmb3JtcykKICAgICBtX3N0YXRl
LnNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zID0gaWdub3JlVHJhbnNmb3JtczsKIH0KIAorYm9vbCBH
cmFwaGljc0NvbnRleHQ6OnNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9zdGF0ZS5zaGFkb3dzSWdub3JlVHJhbnNmb3JtczsKK30KKwogYm9vbCBHcmFwaGlj
c0NvbnRleHQ6OnVwZGF0aW5nQ29udHJvbFRpbnRzKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV91
cGRhdGluZ0NvbnRyb2xUaW50czsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dC5oCmluZGV4IDc0NWY3ZWExZDJiMTE1Yzg4MjhiZTIzMzFhY2JmOGQ0NmMyNmFjNTku
LjI5MTg0YWViZjQ5NTBkZmQ2NTBkNDdhYjA2MWUwMDk1MTJlZGIxMzkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAtMjQwLDYgKzI0MCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgR3JhZGllbnQqIGZpbGxHcmFkaWVudCgpIGNvbnN0
OwogCiAgICAgICAgIHZvaWQgc2V0U2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoYm9vbCk7CisgICAg
ICAgIGJvb2wgc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoKSBjb25zdDsKIAogICAgICAgICB2b2lk
IHNldFNob3VsZEFudGlhbGlhcyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGRBbnRpYWxpYXMo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRN
YWMubW0gYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCmluZGV4IDQw
M2ZiZTA4ZmMyZWE2ZDc4NWZlM2UwNDA3MTIzOTFlNGJmZjRjNmIuLjFmN2RmYzRiMTlhMjhhYWI2
YzQ3M2QwOTM0NTVhZjRmZTY5NTMxZTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRNYWMubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udE1hYy5tbQpAQCAtMTcyLDE3ICsxNzIsMjAgQEAgdm9pZCBGb250OjpkcmF3R2x5cGhzKEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgU2ltcGxlRm9udERhdGEqIGZvbnQsIGNvbnMK
ICAgICBDb2xvclNwYWNlIGZpbGxDb2xvclNwYWNlID0gY29udGV4dC0+ZmlsbENvbG9yU3BhY2Uo
KTsKICAgICBjb250ZXh0LT5nZXRTaGFkb3coc2hhZG93T2Zmc2V0LCBzaGFkb3dCbHVyLCBzaGFk
b3dDb2xvcik7CiAKLSAgICBib29sIGhhc1NpbXBsZVNoYWRvdyA9IGNvbnRleHQtPnRleHREcmF3
aW5nTW9kZSgpID09IFRleHRNb2RlRmlsbCAmJiBzaGFkb3dDb2xvci5pc1ZhbGlkKCkgJiYgIXNo
YWRvd0JsdXIgJiYgIXBsYXRmb3JtRGF0YS5pc0NvbG9yQml0bWFwRm9udCgpOworICAgIGJvb2wg
aGFzU2ltcGxlU2hhZG93ID0gY29udGV4dC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gVGV4dE1vZGVG
aWxsICYmIHNoYWRvd0NvbG9yLmlzVmFsaWQoKSAmJiAhc2hhZG93Qmx1ciAmJiAhcGxhdGZvcm1E
YXRhLmlzQ29sb3JCaXRtYXBGb250KCkgJiYgKCFjb250ZXh0LT5zaGFkb3dzSWdub3JlVHJhbnNm
b3JtcygpIHx8IGNvbnRleHQtPmdldENUTSgpLmlzSWRlbnRpdHlPclRyYW5zbGF0aW9uT3JGbGlw
cGVkKCkpOwogICAgIGlmIChoYXNTaW1wbGVTaGFkb3cpIHsKICAgICAgICAgLy8gUGFpbnQgc2lt
cGxlIHNoYWRvd3Mgb3Vyc2VsdmVzIGluc3RlYWQgb2YgcmVseWluZyBvbiBDRyBzaGFkb3dzLCB0
byBhdm9pZCBsb3Npbmcgc3VicGl4ZWwgYW50aWFsaWFzaW5nLgogICAgICAgICBjb250ZXh0LT5j
bGVhclNoYWRvdygpOwogICAgICAgICBDb2xvciBmaWxsQ29sb3IgPSBjb250ZXh0LT5maWxsQ29s
b3IoKTsKICAgICAgICAgQ29sb3Igc2hhZG93RmlsbENvbG9yKHNoYWRvd0NvbG9yLnJlZCgpLCBz
aGFkb3dDb2xvci5ncmVlbigpLCBzaGFkb3dDb2xvci5ibHVlKCksIHNoYWRvd0NvbG9yLmFscGhh
KCkgKiBmaWxsQ29sb3IuYWxwaGEoKSAvIDI1NSk7CiAgICAgICAgIGNvbnRleHQtPnNldEZpbGxD
b2xvcihzaGFkb3dGaWxsQ29sb3IsIGZpbGxDb2xvclNwYWNlKTsKLSAgICAgICAgQ0dDb250ZXh0
U2V0VGV4dFBvc2l0aW9uKGNnQ29udGV4dCwgcG9pbnQueCgpICsgc2hhZG93T2Zmc2V0LndpZHRo
KCksIHBvaW50LnkoKSArIHNoYWRvd09mZnNldC5oZWlnaHQoKSk7CisgICAgICAgIGZsb2F0IHNo
YWRvd1RleHRYID0gcG9pbnQueCgpICsgc2hhZG93T2Zmc2V0LndpZHRoKCk7CisgICAgICAgIC8v
IElmIHNoYWRvd3MgYXJlIGlnbm9yaW5nIHRyYW5zZm9ybXMsIHRoZW4gd2UgaGF2ZW4ndCBhcHBs
aWVkIHRoZSBZIGNvb3JkaW5hdGUgZmxpcCB5ZXQsIHNvIGRvd24gaXMgbmVnYXRpdmUuCisgICAg
ICAgIGZsb2F0IHNoYWRvd1RleHRZID0gcG9pbnQueSgpICsgc2hhZG93T2Zmc2V0LmhlaWdodCgp
ICogKGNvbnRleHQtPnNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKCkgPyAtMSA6IDEpOworICAgICAg
ICBDR0NvbnRleHRTZXRUZXh0UG9zaXRpb24oY2dDb250ZXh0LCBzaGFkb3dUZXh0WCwgc2hhZG93
VGV4dFkpOwogICAgICAgICBzaG93R2x5cGhzV2l0aEFkdmFuY2VzKGZvbnQsIGNnQ29udGV4dCwg
Z2x5cGhCdWZmZXIuZ2x5cGhzKGZyb20pLCBnbHlwaEJ1ZmZlci5hZHZhbmNlcyhmcm9tKSwgbnVt
R2x5cGhzKTsKICAgICAgICAgaWYgKGZvbnQtPnN5bnRoZXRpY0JvbGRPZmZzZXQoKSkgewotICAg
ICAgICAgICAgQ0dDb250ZXh0U2V0VGV4dFBvc2l0aW9uKGNnQ29udGV4dCwgcG9pbnQueCgpICsg
c2hhZG93T2Zmc2V0LndpZHRoKCkgKyBmb250LT5zeW50aGV0aWNCb2xkT2Zmc2V0KCksIHBvaW50
LnkoKSArIHNoYWRvd09mZnNldC5oZWlnaHQoKSk7CisgICAgICAgICAgICBDR0NvbnRleHRTZXRU
ZXh0UG9zaXRpb24oY2dDb250ZXh0LCBzaGFkb3dUZXh0WCArIGZvbnQtPnN5bnRoZXRpY0JvbGRP
ZmZzZXQoKSwgc2hhZG93VGV4dFkpOwogICAgICAgICAgICAgc2hvd0dseXBoc1dpdGhBZHZhbmNl
cyhmb250LCBjZ0NvbnRleHQsIGdseXBoQnVmZmVyLmdseXBocyhmcm9tKSwgZ2x5cGhCdWZmZXIu
YWR2YW5jZXMoZnJvbSksIG51bUdseXBocyk7CiAgICAgICAgIH0KICAgICAgICAgY29udGV4dC0+
c2V0RmlsbENvbG9yKGZpbGxDb2xvciwgZmlsbENvbG9yU3BhY2UpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAKaW5kZXggYTI3ODcyYmVjNzUwOGM3YzkzMTgx
Mzc5OWFmMThiMDFjNWRjMGJlMy4uNzc3YThlOGMyZWI3YzE3ZmUyZmRlMDRiN2JhMjFiZWI0MTFj
ZTM2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2lu
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCkBA
IC0zNTQsMTQgKzM1NCwxNyBAQCB2b2lkIEZvbnQ6OmRyYXdHbHlwaHMoR3JhcGhpY3NDb250ZXh0
KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmbwogICAgIENvbG9yIHNo
YWRvd0NvbG9yOwogICAgIGdyYXBoaWNzQ29udGV4dC0+Z2V0U2hhZG93KHNoYWRvd09mZnNldCwg
c2hhZG93Qmx1ciwgc2hhZG93Q29sb3IpOwogCi0gICAgYm9vbCBoYXNTaW1wbGVTaGFkb3cgPSBn
cmFwaGljc0NvbnRleHQtPnRleHREcmF3aW5nTW9kZSgpID09IFRleHRNb2RlRmlsbCAmJiBzaGFk
b3dDb2xvci5pc1ZhbGlkKCkgJiYgIXNoYWRvd0JsdXI7CisgICAgYm9vbCBoYXNTaW1wbGVTaGFk
b3cgPSBncmFwaGljc0NvbnRleHQtPnRleHREcmF3aW5nTW9kZSgpID09IFRleHRNb2RlRmlsbCAm
JiBzaGFkb3dDb2xvci5pc1ZhbGlkKCkgJiYgIXNoYWRvd0JsdXIgJiYgKCFncmFwaGljc0NvbnRl
eHQtPnNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKCkgfHwgZ3JhcGhpY3NDb250ZXh0LT5nZXRDVE0o
KS5pc0lkZW50aXR5T3JUcmFuc2xhdGlvbk9yRmxpcHBlZCgpKTsKICAgICBpZiAoaGFzU2ltcGxl
U2hhZG93KSB7CiAgICAgICAgIC8vIFBhaW50IHNpbXBsZSBzaGFkb3dzIG91cnNlbHZlcyBpbnN0
ZWFkIG9mIHJlbHlpbmcgb24gQ0cgc2hhZG93cywgdG8gYXZvaWQgbG9zaW5nIHN1YnBpeGVsIGFu
dGlhbGlhc2luZy4KICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5jbGVhclNoYWRvdygpOwogICAg
ICAgICBDb2xvciBmaWxsQ29sb3IgPSBncmFwaGljc0NvbnRleHQtPmZpbGxDb2xvcigpOwogICAg
ICAgICBDb2xvciBzaGFkb3dGaWxsQ29sb3Ioc2hhZG93Q29sb3IucmVkKCksIHNoYWRvd0NvbG9y
LmdyZWVuKCksIHNoYWRvd0NvbG9yLmJsdWUoKSwgc2hhZG93Q29sb3IuYWxwaGEoKSAqIGZpbGxD
b2xvci5hbHBoYSgpIC8gMjU1KTsKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5zZXRGaWxsQ29s
b3Ioc2hhZG93RmlsbENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICAgICAgQ0dDb250
ZXh0U2V0VGV4dFBvc2l0aW9uKGNnQ29udGV4dCwgcG9pbnQueCgpICsgdHJhbnNsYXRpb24ud2lk
dGgoKSArIHNoYWRvd09mZnNldC53aWR0aCgpLCBwb2ludC55KCkgKyB0cmFuc2xhdGlvbi5oZWln
aHQoKSArIHNoYWRvd09mZnNldC5oZWlnaHQoKSk7CisgICAgICAgIGZsb2F0IHNoYWRvd1RleHRY
ID0gcG9pbnQueCgpICsgdHJhbnNsYXRpb24ud2lkdGgoKSArIHNoYWRvd09mZnNldC53aWR0aCgp
OworICAgICAgICAvLyBJZiBzaGFkb3dzIGFyZSBpZ25vcmluZyB0cmFuc2Zvcm1zLCB0aGVuIHdl
IGhhdmVuJ3QgYXBwbGllZCB0aGUgWSBjb29yZGluYXRlIGZsaXAgeWV0LCBzbyBkb3duIGlzIG5l
Z2F0aXZlLgorICAgICAgICBmbG9hdCBzaGFkb3dUZXh0WSA9IHBvaW50LnkoKSArIHRyYW5zbGF0
aW9uLmhlaWdodCgpICsgc2hhZG93T2Zmc2V0LmhlaWdodCgpICogKGdyYXBoaWNzQ29udGV4dC0+
c2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoKSA/IC0xIDogMSk7CisgICAgICAgIENHQ29udGV4dFNl
dFRleHRQb3NpdGlvbihjZ0NvbnRleHQsIHNoYWRvd1RleHRYLCBzaGFkb3dUZXh0WSk7CiAgICAg
ICAgIENHQ29udGV4dFNob3dHbHlwaHNXaXRoQWR2YW5jZXMoY2dDb250ZXh0LCBnbHlwaEJ1ZmZl
ci5nbHlwaHMoZnJvbSksIGdseXBoQnVmZmVyLmFkdmFuY2VzKGZyb20pLCBudW1HbHlwaHMpOwog
ICAgICAgICBpZiAoZm9udC0+c3ludGhldGljQm9sZE9mZnNldCgpKSB7CiAgICAgICAgICAgICBD
R0NvbnRleHRTZXRUZXh0UG9zaXRpb24oY2dDb250ZXh0LCBwb2ludC54KCkgKyB0cmFuc2xhdGlv
bi53aWR0aCgpICsgc2hhZG93T2Zmc2V0LndpZHRoKCkgKyBmb250LT5zeW50aGV0aWNCb2xkT2Zm
c2V0KCksIHBvaW50LnkoKSArIHRyYW5zbGF0aW9uLmhlaWdodCgpICsgc2hhZG93T2Zmc2V0Lmhl
aWdodCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77290</attachid>
            <date>2010-12-22 18:17:37 -0800</date>
            <delta_ts>2010-12-22 19:25:51 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-25619-20101222181736.patch</filename>
            <type>text/plain</type>
            <size>11975</size>
            <attacher name="Mihai Parparita">mihaip</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhNzg5MDM3NGFhOWNjYzRhOTY0ZDA0YzI2ZmYzNGQxYjYwZmFhZjcyLi5kYjcxMTg4
OGE0MDBmY2U2NmQzMDIzMWYyZGU5OTZjODIxZGNjODc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMjEgIE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIHRoZSBzaGFkb3cgZGly
ZWN0aW9uIGlzIG5lZ2F0ZWQgaW4gY2FudmFzIGNvbnRleHQgc2hhZG93T2Zmc2V0WS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NjE5CisgICAgICAg
IAorICAgICAgICBBZGQgdGVzdCB0byB2ZXJpZnkgdGhhdCBzaGFkb3dPZmZzZXRZIGlzIGhhbmRs
ZWQgY29ycmVjdGx5LgorCisgICAgICAgICogZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93
Lmh0bWw6IEFkZGVkLgorCiAyMDEwLTEyLTIyICBBcml5YSBIaWRheWF0ICA8YXJpeWFAc2VuY2hh
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsVGV4dC1zaGFkb3ctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44ZjI0NWI5ZjM4MTdhMzVjYjAxYjI1NTVhYTY0MDQ5MjAyMGRjYjI2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDY1IEBACitUZXN0cyB0aGF0ICh2ZXJ0aWNhbCkgc2hhZG93IG9mZnNl
dHMgYXJlIGFwcGxpZWQgY29ycmVjdGx5IHdoZW4gdXNpbmcgZmlsbFRleHQoKSByZWdhcmRsZXNz
IG9mIGJsdXIgYW1vdW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdGlu
ZyB3aXRoIG5vIHRyYW5zZm9ybQorVGVzdGluZyB3aXRoIGJsdXIgb2YgMCBwaXhlbHMKK1BBU1Mg
aW1nZGF0YVswXSBpcyAwCitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlz
IDAKK1BBU1MgaW1nZGF0YVszXSBpcyAwCitQQVNTIGltZ2RhdGFbMF0gaXMgMjU1CitQQVNTIGlt
Z2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVszXSBpcyAy
NTUKK1Rlc3Rpbmcgd2l0aCBibHVyIG9mIDEgcGl4ZWxzCitQQVNTIGltZ2RhdGFbMF0gaXMgMAor
UEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAwCitQQVNTIGltZ2RhdGFb
M10gaXMgMAorUEFTUyBpbWdkYXRhWzBdIGlzIDI1NQorUEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BB
U1MgaW1nZGF0YVsyXSBpcyAwCitQQVNTIGltZ2RhdGFbM10gaXMgMjU1CitUZXN0aW5nIHdpdGgg
Ymx1ciBvZiA1IHBpeGVscworUEFTUyBpbWdkYXRhWzBdIGlzIDAKK1BBU1MgaW1nZGF0YVsxXSBp
cyAwCitQQVNTIGltZ2RhdGFbMl0gaXMgMAorUEFTUyBpbWdkYXRhWzNdIGlzIDAKK1BBU1MgaW1n
ZGF0YVswXSBpcyAyNTUKK1BBU1MgaW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFbMl0gaXMg
MAorUEFTUyBpbWdkYXRhWzNdIGlzIDI1NQorVGVzdGluZyB3aXRoIHNjYWxlIHRyYW5zZm9ybQor
VGVzdGluZyB3aXRoIGJsdXIgb2YgMCBwaXhlbHMKK1BBU1MgaW1nZGF0YVswXSBpcyAwCitQQVNT
IGltZ2RhdGFbMV0gaXMgMAorUEFTUyBpbWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVszXSBp
cyAwCitQQVNTIGltZ2RhdGFbMF0gaXMgMjU1CitQQVNTIGltZ2RhdGFbMV0gaXMgMAorUEFTUyBp
bWdkYXRhWzJdIGlzIDAKK1BBU1MgaW1nZGF0YVszXSBpcyAyNTUKK1Rlc3Rpbmcgd2l0aCBibHVy
IG9mIDEgcGl4ZWxzCitQQVNTIGltZ2RhdGFbMF0gaXMgMAorUEFTUyBpbWdkYXRhWzFdIGlzIDAK
K1BBU1MgaW1nZGF0YVsyXSBpcyAwCitQQVNTIGltZ2RhdGFbM10gaXMgMAorUEFTUyBpbWdkYXRh
WzBdIGlzIDI1NQorUEFTUyBpbWdkYXRhWzFdIGlzIDAKK1BBU1MgaW1nZGF0YVsyXSBpcyAwCitQ
QVNTIGltZ2RhdGFbM10gaXMgMjU1CitUZXN0aW5nIHdpdGggYmx1ciBvZiA1IHBpeGVscworUEFT
UyBpbWdkYXRhWzBdIGlzIDAKK1BBU1MgaW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFbMl0g
aXMgMAorUEFTUyBpbWdkYXRhWzNdIGlzIDAKK1BBU1MgaW1nZGF0YVswXSBpcyAyNTUKK1BBU1Mg
aW1nZGF0YVsxXSBpcyAwCitQQVNTIGltZ2RhdGFbMl0gaXMgMAorUEFTUyBpbWdkYXRhWzNdIGlz
IDI1NQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2ZpbGxUZXh0LXNoYWRvdy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbFRleHQtc2hhZG93Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGJjNDU1ZWQ1ZTFlYWEwYjJmOThhNWM4YjNhNWZjZTAyYzI1ZjMzMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2ZpbGxUZXh0LXNoYWRvdy5odG1sCkBAIC0w
LDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgd2lkdGg9IjYw
MCIgaGVpZ2h0PSIzMDAiIHN0eWxlPSJib3JkZXI6IHNvbGlkIDFweCBncmF5Ij48L2NhbnZhcz4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCAodmVydGljYWwpIHNoYWRvdyBvZmZz
ZXRzIGFyZSBhcHBsaWVkIGNvcnJlY3RseSB3aGVuIHVzaW5nIGZpbGxUZXh0KCkgcmVnYXJkbGVz
cyBvZiBibHVyIGFtb3VudC4nKTsKK3ZhciBjdHggPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnY2FudmFzJylbMF0uZ2V0Q29udGV4dCgnMmQnKTsKK2N0eC5mb250ID0gJ2JvbGQgMTI4
cHggc2Fucy1zZXJpZic7CitjdHguc2hhZG93Q29sb3IgPSAncmVkJworY3R4LnNoYWRvd09mZnNl
dFkgPSAxMDA7CisKK2Z1bmN0aW9uIHRlc3RXaXRoQmx1cihibHVyLCBiZWxvd09mZnNldCkgewor
ICBjdHguY2xlYXJSZWN0KDAsIDAsIDYwMCwgMzAwKTsKKyAgY3R4LnNoYWRvd0JsdXIgPSBibHVy
OworICAKKyAgLy8gQ2VudGVyIHRoZSBJIGFyb3VuZCB0aGUgWSBheGlzLgorICBjdHguZmlsbFRl
eHQoJ0knLCAtY3R4Lm1lYXN1cmVUZXh0KCdJJykud2lkdGgvMiwgMTI4KTsKKyAgCisgIGRlYnVn
KCdUZXN0aW5nIHdpdGggYmx1ciBvZiAnICsgYmx1ciArICcgcGl4ZWxzJyk7CisKKyAgLy8gTWFr
ZSBzdXJlIHRoYXQgdGhlIHNoYWRvdyBkb2Vzbid0IGVuZCB1cCBhYm92ZSB0aGUgdGV4dC4uLgor
ICB2YXIgaW1hZ2VEYXRhID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKTsKKyAgaW1nZGF0
YSA9IGltYWdlRGF0YS5kYXRhOworCisgIHNob3VsZEJlKCdpbWdkYXRhWzBdJywgJzAnKTsKKyAg
c2hvdWxkQmUoJ2ltZ2RhdGFbMV0nLCAnMCcpOworICBzaG91bGRCZSgnaW1nZGF0YVsyXScsICcw
Jyk7CisgIHNob3VsZEJlKCdpbWdkYXRhWzNdJywgJzAnKTsKKyAgCisgIC8vIC4uLmJ1dCBiZWxv
dy4KKyAgdmFyIGltYWdlRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgYmVsb3dPZmZzZXQsIDEs
IDEpOworICBpbWdkYXRhID0gaW1hZ2VEYXRhLmRhdGE7ICAKKyAgc2hvdWxkQmUoJ2ltZ2RhdGFb
MF0nLCAnMjU1Jyk7CisgIHNob3VsZEJlKCdpbWdkYXRhWzFdJywgJzAnKTsKKyAgc2hvdWxkQmUo
J2ltZ2RhdGFbMl0nLCAnMCcpOworICBzaG91bGRCZSgnaW1nZGF0YVszXScsICcyNTUnKTsKK30K
KworZGVidWcoJ1Rlc3Rpbmcgd2l0aCBubyB0cmFuc2Zvcm0nKTsKK3Rlc3RXaXRoQmx1cigwLCAx
NTApOwordGVzdFdpdGhCbHVyKDEsIDE1MCk7Cit0ZXN0V2l0aEJsdXIoNSwgMTUwKTsKKworZGVi
dWcoJ1Rlc3Rpbmcgd2l0aCBzY2FsZSB0cmFuc2Zvcm0nKTsKK2N0eC5zY2FsZSgxLCAyKTsKK3Rl
c3RXaXRoQmx1cigwLCAyOTkpOwordGVzdFdpdGhCbHVyKDEsIDI5OSk7Cit0ZXN0V2l0aEJsdXIo
NSwgMjk5KTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCAzMWVkYzc0YzQwMjJkYzQxNzlkMGFkZWFlMzAzYzM4MmMxMjlhNjgy
Li40NWM0NTI5ODMxMDQ3ZmRhZmY5NjJmOTJiODQ3OTkzZjE4YTY5MGU3IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBA
CisyMDEwLTEyLTIxICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICB0aGUgc2hhZG93IGRp
cmVjdGlvbiBpcyBuZWdhdGVkIGluIGNhbnZhcyBjb250ZXh0IHNoYWRvd09mZnNldFkuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTYxOQorICAgICAg
ICAKKyAgICAgICAgSW52ZXJ0IHNoYWRvdyBvZmZzZXQgWSBkaXJlY3Rpb24gaW4gMC1ibHVyIHBh
dGggaW4gRm9udE1hYzo6ZHJhd0dseXBzCisgICAgICAgIGlmIHdlJ3JlIG5vdCB0cmFuc2Zvcm1p
bmcgc2hhZG93cyAoaS5lLiBhcmUgcmVuZGVyaW5nIGluIGEgY2FudmFzKS4gQWxzbworICAgICAg
ICB1c2UgQ0cgc2hhZG93cyBpZiB0aGVyZSdzIGEgbm9uLXRyYW5zbGF0ZS9mbGlwIHRyYW5zZm9y
bSBhcHBsaWVkCisgICAgICAgIChzaGFkb3cgb2Zmc2V0cyBhcmUgc3VwcG9zZWQgdG8gaWdub3Jl
IHRyYW5zZm9ybXMsIGJ1dCB0aGUgbmFpdmUvc2ltcGxlCisgICAgICAgIGltcGxlbWVudGF0aW9u
IHdhcyB0YWtpbmcgdGhlbSBpbnRvIGFjY291bnQpLgorICAgICAgICAKKyAgICAgICAgQWxzbyBk
b2VzIHRoZSBlcXVpdmFsZW50IGNoYW5nZXMgdG8gRm9udENHV2luLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvY2FudmFzL2ZpbGxUZXh0LXNoYWRvdy5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0OjpzaGFkb3dzSWdub3JlVHJhbnNmb3Jtcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0ZvbnRNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpGb250OjpkcmF3R2x5cGhzKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnQ6OmRyYXdHbHlwaHMpOgorCiAyMDEwLTEyLTIyICBEYW4gQmVybnN0ZWluICA8bWl0
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKaW5kZXggZjMyMzk2OTNh
Mjc1OTA4MTczNjBiMzMyZjYxZTdmMzVmZDY1NzYxZC4uOTA3Y2RkMjRmNmIyNTE5NTk0Njc0ZTI2
ZmYxOTA4ZTQwMThkZjYyMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmNwcApAQCAtMzA3LDYgKzMwNywxMSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
c2V0U2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoYm9vbCBpZ25vcmVUcmFuc2Zvcm1zKQogICAgIG1f
c3RhdGUuc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMgPSBpZ25vcmVUcmFuc2Zvcm1zOwogfQogCiti
b29sIEdyYXBoaWNzQ29udGV4dDo6c2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoKSBjb25zdAorewor
ICAgIHJldHVybiBtX3N0YXRlLnNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zOworfQorCiBib29sIEdy
YXBoaWNzQ29udGV4dDo6dXBkYXRpbmdDb250cm9sVGludHMoKSBjb25zdAogewogICAgIHJldHVy
biBtX3VwZGF0aW5nQ29udHJvbFRpbnRzOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmgKaW5kZXggNmE1Y2ZjY2ZmOGY2OTlhZWU1N2E2ZTZiNDc3NzI3YmQ1OTMy
YjkxOC4uYmNmNmIxMDVkMDI1N2MwNTJjNzI0ZTc4MmMzOGQ0NGNmNzVlMmUwYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCkBAIC0yNDIsNiArMjQyLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBHcmFkaWVudCogZmlsbEdyYWRpZW50KCkg
Y29uc3Q7CiAKICAgICAgICAgdm9pZCBzZXRTaGFkb3dzSWdub3JlVHJhbnNmb3Jtcyhib29sKTsK
KyAgICAgICAgYm9vbCBzaGFkb3dzSWdub3JlVHJhbnNmb3JtcygpIGNvbnN0OwogCiAgICAgICAg
IHZvaWQgc2V0U2hvdWxkQW50aWFsaWFzKGJvb2wpOwogICAgICAgICBib29sIHNob3VsZEFudGlh
bGlhcygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udE1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KaW5k
ZXggMjE2OTQ5MGQ0MGJmNzQ3YjNhMzgwNzJlMjAxMDQzNWZjMTlkNjk1OC4uODUxOTY2NzU4ZmY0
ZmNkMWYzMmZkNzFlNDk3Y2VkMDcxNWI4ZWMzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Gb250TWFjLm1tCkBAIC0xNzMsMTcgKzE3MywyMCBAQCB2b2lkIEZvbnQ6OmRyYXdHbHlw
aHMoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBTaW1wbGVGb250RGF0YSogZm9udCwg
Y29ucwogICAgIENvbG9yU3BhY2UgZmlsbENvbG9yU3BhY2UgPSBjb250ZXh0LT5maWxsQ29sb3JT
cGFjZSgpOwogICAgIGNvbnRleHQtPmdldFNoYWRvdyhzaGFkb3dPZmZzZXQsIHNoYWRvd0JsdXIs
IHNoYWRvd0NvbG9yLCBzaGFkb3dDb2xvclNwYWNlKTsKIAotICAgIGJvb2wgaGFzU2ltcGxlU2hh
ZG93ID0gY29udGV4dC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gVGV4dE1vZGVGaWxsICYmIHNoYWRv
d0NvbG9yLmlzVmFsaWQoKSAmJiAhc2hhZG93Qmx1ciAmJiAhcGxhdGZvcm1EYXRhLmlzQ29sb3JC
aXRtYXBGb250KCk7CisgICAgYm9vbCBoYXNTaW1wbGVTaGFkb3cgPSBjb250ZXh0LT50ZXh0RHJh
d2luZ01vZGUoKSA9PSBUZXh0TW9kZUZpbGwgJiYgc2hhZG93Q29sb3IuaXNWYWxpZCgpICYmICFz
aGFkb3dCbHVyICYmICFwbGF0Zm9ybURhdGEuaXNDb2xvckJpdG1hcEZvbnQoKSAmJiAoIWNvbnRl
eHQtPnNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKCkgfHwgY29udGV4dC0+Z2V0Q1RNKCkuaXNJZGVu
dGl0eU9yVHJhbnNsYXRpb25PckZsaXBwZWQoKSk7CiAgICAgaWYgKGhhc1NpbXBsZVNoYWRvdykg
ewogICAgICAgICAvLyBQYWludCBzaW1wbGUgc2hhZG93cyBvdXJzZWx2ZXMgaW5zdGVhZCBvZiBy
ZWx5aW5nIG9uIENHIHNoYWRvd3MsIHRvIGF2b2lkIGxvc2luZyBzdWJwaXhlbCBhbnRpYWxpYXNp
bmcuCiAgICAgICAgIGNvbnRleHQtPmNsZWFyU2hhZG93KCk7CiAgICAgICAgIENvbG9yIGZpbGxD
b2xvciA9IGNvbnRleHQtPmZpbGxDb2xvcigpOwogICAgICAgICBDb2xvciBzaGFkb3dGaWxsQ29s
b3Ioc2hhZG93Q29sb3IucmVkKCksIHNoYWRvd0NvbG9yLmdyZWVuKCksIHNoYWRvd0NvbG9yLmJs
dWUoKSwgc2hhZG93Q29sb3IuYWxwaGEoKSAqIGZpbGxDb2xvci5hbHBoYSgpIC8gMjU1KTsKICAg
ICAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKHNoYWRvd0ZpbGxDb2xvciwgc2hhZG93Q29sb3JT
cGFjZSk7Ci0gICAgICAgIENHQ29udGV4dFNldFRleHRQb3NpdGlvbihjZ0NvbnRleHQsIHBvaW50
LngoKSArIHNoYWRvd09mZnNldC53aWR0aCgpLCBwb2ludC55KCkgKyBzaGFkb3dPZmZzZXQuaGVp
Z2h0KCkpOworICAgICAgICBmbG9hdCBzaGFkb3dUZXh0WCA9IHBvaW50LngoKSArIHNoYWRvd09m
ZnNldC53aWR0aCgpOworICAgICAgICAvLyBJZiBzaGFkb3dzIGFyZSBpZ25vcmluZyB0cmFuc2Zv
cm1zLCB0aGVuIHdlIGhhdmVuJ3QgYXBwbGllZCB0aGUgWSBjb29yZGluYXRlIGZsaXAgeWV0LCBz
byBkb3duIGlzIG5lZ2F0aXZlLgorICAgICAgICBmbG9hdCBzaGFkb3dUZXh0WSA9IHBvaW50Lnko
KSArIHNoYWRvd09mZnNldC5oZWlnaHQoKSAqIChjb250ZXh0LT5zaGFkb3dzSWdub3JlVHJhbnNm
b3JtcygpID8gLTEgOiAxKTsKKyAgICAgICAgQ0dDb250ZXh0U2V0VGV4dFBvc2l0aW9uKGNnQ29u
dGV4dCwgc2hhZG93VGV4dFgsIHNoYWRvd1RleHRZKTsKICAgICAgICAgc2hvd0dseXBoc1dpdGhB
ZHZhbmNlcyhmb250LCBjZ0NvbnRleHQsIGdseXBoQnVmZmVyLmdseXBocyhmcm9tKSwgZ2x5cGhC
dWZmZXIuYWR2YW5jZXMoZnJvbSksIG51bUdseXBocyk7CiAgICAgICAgIGlmIChmb250LT5zeW50
aGV0aWNCb2xkT2Zmc2V0KCkpIHsKLSAgICAgICAgICAgIENHQ29udGV4dFNldFRleHRQb3NpdGlv
bihjZ0NvbnRleHQsIHBvaW50LngoKSArIHNoYWRvd09mZnNldC53aWR0aCgpICsgZm9udC0+c3lu
dGhldGljQm9sZE9mZnNldCgpLCBwb2ludC55KCkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0KCkpOwor
ICAgICAgICAgICAgQ0dDb250ZXh0U2V0VGV4dFBvc2l0aW9uKGNnQ29udGV4dCwgc2hhZG93VGV4
dFggKyBmb250LT5zeW50aGV0aWNCb2xkT2Zmc2V0KCksIHNoYWRvd1RleHRZKTsKICAgICAgICAg
ICAgIHNob3dHbHlwaHNXaXRoQWR2YW5jZXMoZm9udCwgY2dDb250ZXh0LCBnbHlwaEJ1ZmZlci5n
bHlwaHMoZnJvbSksIGdseXBoQnVmZmVyLmFkdmFuY2VzKGZyb20pLCBudW1HbHlwaHMpOwogICAg
ICAgICB9CiAgICAgICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihmaWxsQ29sb3IsIGZpbGxDb2xv
clNwYWNlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
R1dpbi5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCmlu
ZGV4IDIxOTRlZjcxMDA5NjgxNGRlZjE2Zjk4ZjgxZThiZGJlZTQ0ODc5YzIuLjgwMTI3MjI5YmQw
ZjQzNjY3MzQ2ZDQ3MmEzOWUxZWU0YjZmY2RjMWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udENHV2luLmNwcApAQCAtMzU3LDE0ICszNTcsMTcgQEAgdm9pZCBGb250Ojpk
cmF3R2x5cGhzKEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBTaW1wbGVG
b250RGF0YSogZm8KICAgICBDb2xvclNwYWNlIHNoYWRvd0NvbG9yU3BhY2U7CiAgICAgZ3JhcGhp
Y3NDb250ZXh0LT5nZXRTaGFkb3coc2hhZG93T2Zmc2V0LCBzaGFkb3dCbHVyLCBzaGFkb3dDb2xv
ciwgc2hhZG93Q29sb3JTcGFjZSk7CiAKLSAgICBib29sIGhhc1NpbXBsZVNoYWRvdyA9IGdyYXBo
aWNzQ29udGV4dC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gVGV4dE1vZGVGaWxsICYmIHNoYWRvd0Nv
bG9yLmlzVmFsaWQoKSAmJiAhc2hhZG93Qmx1cjsKKyAgICBib29sIGhhc1NpbXBsZVNoYWRvdyA9
IGdyYXBoaWNzQ29udGV4dC0+dGV4dERyYXdpbmdNb2RlKCkgPT0gVGV4dE1vZGVGaWxsICYmIHNo
YWRvd0NvbG9yLmlzVmFsaWQoKSAmJiAhc2hhZG93Qmx1ciAmJiAoIWdyYXBoaWNzQ29udGV4dC0+
c2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoKSB8fCBncmFwaGljc0NvbnRleHQtPmdldENUTSgpLmlz
SWRlbnRpdHlPclRyYW5zbGF0aW9uT3JGbGlwcGVkKCkpOwogICAgIGlmIChoYXNTaW1wbGVTaGFk
b3cpIHsKICAgICAgICAgLy8gUGFpbnQgc2ltcGxlIHNoYWRvd3Mgb3Vyc2VsdmVzIGluc3RlYWQg
b2YgcmVseWluZyBvbiBDRyBzaGFkb3dzLCB0byBhdm9pZCBsb3Npbmcgc3VicGl4ZWwgYW50aWFs
aWFzaW5nLgogICAgICAgICBncmFwaGljc0NvbnRleHQtPmNsZWFyU2hhZG93KCk7CiAgICAgICAg
IENvbG9yIGZpbGxDb2xvciA9IGdyYXBoaWNzQ29udGV4dC0+ZmlsbENvbG9yKCk7CiAgICAgICAg
IENvbG9yIHNoYWRvd0ZpbGxDb2xvcihzaGFkb3dDb2xvci5yZWQoKSwgc2hhZG93Q29sb3IuZ3Jl
ZW4oKSwgc2hhZG93Q29sb3IuYmx1ZSgpLCBzaGFkb3dDb2xvci5hbHBoYSgpICogZmlsbENvbG9y
LmFscGhhKCkgLyAyNTUpOwogICAgICAgICBncmFwaGljc0NvbnRleHQtPnNldEZpbGxDb2xvcihz
aGFkb3dGaWxsQ29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwotICAgICAgICBDR0NvbnRleHRT
ZXRUZXh0UG9zaXRpb24oY2dDb250ZXh0LCBwb2ludC54KCkgKyB0cmFuc2xhdGlvbi53aWR0aCgp
ICsgc2hhZG93T2Zmc2V0LndpZHRoKCksIHBvaW50LnkoKSArIHRyYW5zbGF0aW9uLmhlaWdodCgp
ICsgc2hhZG93T2Zmc2V0LmhlaWdodCgpKTsKKyAgICAgICAgZmxvYXQgc2hhZG93VGV4dFggPSBw
b2ludC54KCkgKyB0cmFuc2xhdGlvbi53aWR0aCgpICsgc2hhZG93T2Zmc2V0LndpZHRoKCk7Cisg
ICAgICAgIC8vIElmIHNoYWRvd3MgYXJlIGlnbm9yaW5nIHRyYW5zZm9ybXMsIHRoZW4gd2UgaGF2
ZW4ndCBhcHBsaWVkIHRoZSBZIGNvb3JkaW5hdGUgZmxpcCB5ZXQsIHNvIGRvd24gaXMgbmVnYXRp
dmUuCisgICAgICAgIGZsb2F0IHNoYWRvd1RleHRZID0gcG9pbnQueSgpICsgdHJhbnNsYXRpb24u
aGVpZ2h0KCkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0KCkgKiAoZ3JhcGhpY3NDb250ZXh0LT5zaGFk
b3dzSWdub3JlVHJhbnNmb3JtcygpID8gLTEgOiAxKTsKKyAgICAgICAgQ0dDb250ZXh0U2V0VGV4
dFBvc2l0aW9uKGNnQ29udGV4dCwgc2hhZG93VGV4dFgsIHNoYWRvd1RleHRZKTsKICAgICAgICAg
Q0dDb250ZXh0U2hvd0dseXBoc1dpdGhBZHZhbmNlcyhjZ0NvbnRleHQsIGdseXBoQnVmZmVyLmds
eXBocyhmcm9tKSwgZ2x5cGhCdWZmZXIuYWR2YW5jZXMoZnJvbSksIG51bUdseXBocyk7CiAgICAg
ICAgIGlmIChmb250LT5zeW50aGV0aWNCb2xkT2Zmc2V0KCkpIHsKICAgICAgICAgICAgIENHQ29u
dGV4dFNldFRleHRQb3NpdGlvbihjZ0NvbnRleHQsIHBvaW50LngoKSArIHRyYW5zbGF0aW9uLndp
ZHRoKCkgKyBzaGFkb3dPZmZzZXQud2lkdGgoKSArIGZvbnQtPnN5bnRoZXRpY0JvbGRPZmZzZXQo
KSwgcG9pbnQueSgpICsgdHJhbnNsYXRpb24uaGVpZ2h0KCkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0
KCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>