<?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>66935</bug_id>
          
          <creation_ts>2011-08-25 06:36:13 -0700</creation_ts>
          <short_desc>[Chromium] Change OOP Font loading code to use CGFont*() APIs</short_desc>
          <delta_ts>2011-09-11 20:13:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Jeremy Moskovich">playmobil</reporter>
          <assigned_to name="Jeremy Moskovich">playmobil</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>mark</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>456813</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-08-25 06:36:13 -0700</bug_when>
    <thetext>This change is necessary due a bug in ATSFontDeactivate() on 10.5. See crbug.com/93191 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456816</commentid>
    <comment_count>1</comment_count>
      <attachid>105173</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-08-25 06:40:10 -0700</bug_when>
    <thetext>Created attachment 105173
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457015</commentid>
    <comment_count>2</comment_count>
      <attachid>105173</attachid>
    <who name="Mark Mentovai">mark</who>
    <bug_when>2011-08-25 11:29:57 -0700</bug_when>
    <thetext>Comment on attachment 105173
Patch

&gt; diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog

&gt; +        This change is necessary due a bug in ATSFontDeactivate() on 10.5.

Not true. ATSFontDeactivate did not appear to have this bug (based on disassembly) in 10.5. The bug is present in 10.6, but we never observed it there (or it never happened often enough to cause us to take notice). It is present on 10.7 and occurs very frequently there. You should revise the ChangeLog message to not mislead.

&gt;diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog

Same in this file.

Assuming it works, LGTM on the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458806</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-08-30 02:56:09 -0700</bug_when>
    <thetext>Whoops 10.5 -&gt; 10.7 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458811</commentid>
    <comment_count>4</comment_count>
      <attachid>105606</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-08-30 03:02:05 -0700</bug_when>
    <thetext>Created attachment 105606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459076</commentid>
    <comment_count>5</comment_count>
      <attachid>105606</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-30 12:18:01 -0700</bug_when>
    <thetext>Comment on attachment 105606
Patch

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

I think this is fine.  It could be better with more RetainPtr usage.

&gt; Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm:135
&gt; +    CGFontRef cgFont;

I think ideally we&apos;d use a RetainPtr here.

&gt; Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm:150
&gt; +        CGFontRelease(cgFont);

Then this goes away.

&gt; Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm:162
&gt; +  MemoryActivatedFont* font = new MemoryActivatedFont(fontID, nsFont, cgFont);
&gt;    return adoptRef(font);

You don&apos;t need the local here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462068</commentid>
    <comment_count>6</comment_count>
      <attachid>106313</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-09-05 01:15:28 -0700</bug_when>
    <thetext>Created attachment 106313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462069</commentid>
    <comment_count>7</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-09-05 01:18:30 -0700</bug_when>
    <thetext>Eric: Thanks for the review, would you mind taking another look. Does my use of RetainPtr look logical to you? Specifically the argument passing and the fact I&apos;m not using the AdoptCF tag?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462831</commentid>
    <comment_count>8</comment_count>
      <attachid>106313</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-06 13:51:59 -0700</bug_when>
    <thetext>Comment on attachment 106313
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.h:75
&gt; +    static PassRefPtr&lt;MemoryActivatedFont&gt; create(uint32_t fontID, NSFont*, RetainPtr&lt;CGFontRef&gt;);

Do we not have a PassRetainPtr?  I&apos;m really not a RetainPtr expert, I just know they&apos;re strictly superior to manual memory management.

&gt; Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm:160
&gt; +MemoryActivatedFont::MemoryActivatedFont(uint32_t fontID, NSFont* nsFont, RetainPtr&lt;CGFontRef&gt; cgFont)

I think you can jus thave ethis be a CGFontRef, I&apos;m not sure we gain anything by forcing the caller to use a RetainPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463986</commentid>
    <comment_count>9</comment_count>
      <attachid>106722</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-09-08 04:49:16 -0700</bug_when>
    <thetext>Created attachment 106722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463987</commentid>
    <comment_count>10</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-09-08 04:51:38 -0700</bug_when>
    <thetext>Thanks Eric, there is no PassRetainPtr to the best of my knowledge (http://www.webkit.org/coding/RefPtr.html lists the omission as an area that needs to be documented).

I&apos;m going to land this patch in the coming days if there are no objections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464054</commentid>
    <comment_count>11</comment_count>
      <attachid>106722</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-08 08:10:33 -0700</bug_when>
    <thetext>Comment on attachment 106722
Patch

It appears this change is almost entirely red lines now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465451</commentid>
    <comment_count>12</comment_count>
      <attachid>106722</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-11 20:13:49 -0700</bug_when>
    <thetext>Comment on attachment 106722
Patch

Clearing flags on attachment: 106722

Committed r94936: &lt;http://trac.webkit.org/changeset/94936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465452</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-11 20:13:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105173</attachid>
            <date>2011-08-25 06:40:10 -0700</date>
            <delta_ts>2011-08-30 03:01:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66935-20110825164007.patch</filename>
            <type>text/plain</type>
            <size>11793</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM3ODEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxMjQ4ZTA5MWE0MzQwMmU0
NjBmMjEyZTg5YzlhMmUxNzk5MzgwNTY1Li5iM2FmNmUxZWRjZDA2YThkN2U5ZmZkMTM3MTU3Mzhl
OGE2YTI5NTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDgtMjUgIEplcmVt
eSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
Q2hhbmdlIE9PUCBGb250IGxvYWRpbmcgY29kZSB0byB1c2UgQ0dGb250KigpIEFQSXMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNQorCisgICAg
ICAgIFRoaXMgY2hhbmdlIGlzIG5lY2Vzc2FyeSBkdWUgYSBidWcgaW4gQVRTRm9udERlYWN0aXZh
dGUoKSBvbiAxMC41LgorICAgICAgICBTZWUgY3JidWcuY29tLzkzMTkxIGZvciBkZXRhaWxzLgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAtIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW06CisgICAgICAgIChXZWJD
b3JlOjpNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVt
b3J5QWN0aXZhdGVkRm9udDo6TWVtb3J5QWN0aXZhdGVkRm9udCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZW1vcnlBY3RpdmF0ZWRGb250Ojp+TWVtb3J5QWN0aXZhdGVkRm9udCk6CisKIDIwMTEtMDgt
MjUgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5Mzc3MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oCmluZGV4IDk1MjEyYjYyYzAzYTU4ODgw
YjYwN2MyYjI2Y2M5YmU2MTU1YmU5YjcuLjc5ZjU0ZTQyNmUxMTc1YjRjZmMwY2RjNjhhMzhhMzc2
ZDlmYmY1ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bs
YXRmb3JtQnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxh
dGZvcm1CcmlkZ2UuaApAQCAtMTUxLDcgKzE1MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9v
bCBlbnN1cmVGb250TG9hZGVkKEhGT05UKTsKICNlbmRpZgogI2lmIE9TKERBUldJTikKLSAgICBz
dGF0aWMgYm9vbCBsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIEFUU0ZvbnRDb250YWluZXJSZWYq
LCB1aW50MzJfdCogZm9udElEKTsKKyAgICBzdGF0aWMgYm9vbCBsb2FkRm9udChOU0ZvbnQqIHNy
Y0ZvbnQsIENHRm9udFJlZiosIHVpbnQzMl90KiBmb250SUQpOwogI2VsaWYgT1MoVU5JWCkKICAg
ICBzdGF0aWMgdm9pZCBnZXRSZW5kZXJTdHlsZUZvclN0cmlrZShjb25zdCBjaGFyKiBmYW1pbHks
IGludCBzaXplQW5kU3R5bGUsIEZvbnRSZW5kZXJTdHlsZSogcmVzdWx0KTsKICAgICBzdGF0aWMg
U3RyaW5nIGdldEZvbnRGYW1pbHlGb3JDaGFyYWN0ZXJzKGNvbnN0IFVDaGFyKiwgc2l6ZV90IG51
bUNoYXJhY3RlcnMsIGNvbnN0IGNoYXIqIHByZWZlcnJlZExvY2FsZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250
TG9hZGluZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jv
c3NQcm9jZXNzRm9udExvYWRpbmcuaAppbmRleCBkMmMxNTY1ZDc4NmRhODU4YTdiMGI1ZDVjMWU2
ODU2YTJmZGJhMWVkLi5lOGRlZWIxNWE2ODZlOTEyMTkwM2M3OGM4NGU3ZDE2YjVmMGU5YWJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9z
c1Byb2Nlc3NGb250TG9hZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmgKQEAgLTM2LDggKzM2LDYgQEAK
ICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQq
IENHRm9udFJlZjsKLXR5cGVkZWYgVUludDMyIEFUU0ZvbnRDb250YWluZXJSZWY7Ci10eXBlZGVm
IFVJbnQzMiBBVFNGb250UmVmOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc0LDI1ICs3
MiwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZW1vcnlBY3RpdmF0ZWRGb250IDog
cHVibGljIFJlZkNvdW50ZWQ8TWVtb3J5QWN0aXZhdGVkRm9udD4gewogcHVibGljOgogICAgIC8v
IFVzZSB0byBjcmVhdGUgYSBuZXcgb2JqZWN0LCBzZWUgZG9jcyBvbiBjb25zdHJ1Y3RvciBiZWxv
dy4KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBjcmVhdGUodWlu
dDMyX3QgZm9udElELCBOU0ZvbnQqLCBBVFNGb250Q29udGFpbmVyUmVmKTsKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBjcmVhdGUodWludDMyX3QgZm9udElELCBO
U0ZvbnQqLCBDR0ZvbnRSZWYpOwogICAgIH5NZW1vcnlBY3RpdmF0ZWRGb250KCk7CiAgICAgCiAg
ICAgLy8gR2V0IGNhY2hlZCBDR0ZvbnRSZWYgY29ycmVzcG9uZGluZyB0byB0aGUgaW4tbWVtb3J5
IGZvbnQuCiAgICAgQ0dGb250UmVmIGNnRm9udCgpIHsgcmV0dXJuIG1fY2dGb250LmdldCgpOyB9
Ci0gICAgCi0gICAgLy8gR2V0IGNhY2hlZCBBVFNGb250UmVmIGNvcnJlc3BvbmRpbmcgdG8gdGhl
IGluLW1lbW9yeSBmb250LgotICAgIEFUU0ZvbnRSZWYgYXRzRm9udFJlZigpIHsgcmV0dXJuIG1f
YXRzRm9udFJlZjsgfQogCiBwcml2YXRlOgogICAgIC8vIHNyY0ZvbnRSZWYgLSBBVFNGb250UmVm
IGJlbG9uZ2luZyB0byB0aGUgTlNGb250IG9iamVjdCB0aGF0IGZhaWxlZCB0bwogICAgIC8vIGxv
YWQgaW4tcHJvY2Vzcy4KICAgICAvLyBjb250YWluZXIgLSBhIGZvbnQgY29udGFpbmVyIGNvcnJl
c3BvbmRpbmcgdG8gYW4gaWRlbnRpY2FsIGZvbnQgdGhhdAogICAgIC8vIHdlIGxvYWRlZCBjcm9z
cy1wcm9jZXNzLgotICAgIE1lbW9yeUFjdGl2YXRlZEZvbnQodWludDMyX3QgZm9udElELCBOU0Zv
bnQqLCBBVFNGb250Q29udGFpbmVyUmVmKTsKKyAgICBNZW1vcnlBY3RpdmF0ZWRGb250KHVpbnQz
Ml90IGZvbnRJRCwgTlNGb250KiwgQ0dGb250UmVmKTsKIAotICAgIEFUU0ZvbnRDb250YWluZXJS
ZWYgbV9mb250Q29udGFpbmVyOwogICAgIFdURjo6UmV0YWluUHRyPENHRm9udFJlZj4gbV9jZ0Zv
bnQ7Ci0gICAgQVRTRm9udFJlZiBtX2F0c0ZvbnRSZWY7CiAgICAgdWludDMyX3QgbV9mb250SUQ7
CiAgICAgV1RGOjpTdHJpbmcgbV9pblNhbmRib3hIYXNoS2V5OwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRM
b2FkaW5nLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jv
c3NQcm9jZXNzRm9udExvYWRpbmcubW0KaW5kZXggZjEwYWQ5YWMzZjJkYmM0NjU1MGUyNTFkZTE3
OGFkM2EwZmVkMWFjMC4uYzM3NjNmY2I5MGZkMWU3MmVjMzkzNzM4ODEwMTJkYzU2ZjkyNTU0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jv
c3NQcm9jZXNzRm9udExvYWRpbmcubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW0KQEAgLTEzMiw2OCArMTMy
LDQxIEBAIFBhc3NSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9udD4gbG9hZEZvbnRGcm9tQnJvd3Nl
clByb2Nlc3MoTlNGb250KiBuc0ZvbnQpCiAgICAgaWYgKGZvbnQpCiAgICAgICAgIHJldHVybiBm
b250OwogCi0gICAgQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXI7CisgICAgQ0dGb250UmVm
IGNnRm9udDsKICAgICB1aW50MzJfdCBmb250SUQ7CiAgICAgLy8gU2VuZCBjcm9zcy1wcm9jZXNz
IHJlcXVlc3QgdG8gbG9hZCBmb250LgotICAgIGlmICghUGxhdGZvcm1CcmlkZ2U6OmxvYWRGb250
KG5zRm9udCwgJmNvbnRhaW5lciwgJmZvbnRJRCkpCisgICAgaWYgKCFQbGF0Zm9ybUJyaWRnZTo6
bG9hZEZvbnQobnNGb250LCAmY2dGb250LCAmZm9udElEKSkKICAgICAgICAgcmV0dXJuIDA7CiAK
ICAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIHRoZSBmb250SUQgZnJvbSB0aGUgYnJvd3NlciBwcm9j
ZXNzLCB3ZSBjYW4gY29uc3VsdAogICAgIC8vIHRoZSBJRCBjYWNoZS4KICAgICBmb250ID0gZm9u
dENhY2hlQnlGb250SUQoKS5nZXQoZm9udElEKTsKICAgICBpZiAoZm9udCkgewotICAgICAgICAv
LyBXZSBjYW4gc2FmZWx5IGRpc2NhcmQgdGhlIG5ldyBjb250YWluZXIgc2luY2Ugd2UgYWxyZWFk
eSBoYXZlIHRoZQorICAgICAgICAvLyBXZSBjYW4gc2FmZWx5IGRpc2NhcmQgdGhlIG5ldyBjZ0Zv
bnQgc2luY2Ugd2UgYWxyZWFkeSBoYXZlIHRoZQogICAgICAgICAvLyBmb250IGluIG91ciBjYWNo
ZS4KICAgICAgICAgLy8gRklYTUU6IFBsYXRmb3JtQnJpZGdlOjpsb2FkRm9udCgpIHNob3VsZCBj
b25zdWx0IHRoZSBpZCBjYWNoZQogICAgICAgICAvLyBiZWZvcmUgYWN0aXZhdGluZyB0aGUgZm9u
dC4gIFRoZW4gd2UgY2FuIHNhdmUgdGhpcyBhY3RpdmF0ZS9kZWFjdGl2ZQogICAgICAgICAvLyBk
YW5jZSBhbHRvZ2V0aGVyLgotICAgICAgICBBVFNGb250RGVhY3RpdmF0ZShjb250YWluZXIsIDAs
IGtBVFNPcHRpb25GbGFnc0RlZmF1bHQpOworICAgICAgICBDR0ZvbnRSZWxlYXNlKGNnRm9udCk7
CiAgICAgICAgIHJldHVybiBmb250OwogICAgIH0KIAotICAgIHJldHVybiBNZW1vcnlBY3RpdmF0
ZWRGb250OjpjcmVhdGUoZm9udElELCBuc0ZvbnQsIGNvbnRhaW5lcik7CisgICAgcmV0dXJuIE1l
bW9yeUFjdGl2YXRlZEZvbnQ6OmNyZWF0ZShmb250SUQsIG5zRm9udCwgY2dGb250KTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UKIAotUGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBNZW1vcnlB
Y3RpdmF0ZWRGb250OjpjcmVhdGUodWludDMyX3QgZm9udElELCBOU0ZvbnQqIG5zRm9udCwgQVRT
Rm9udENvbnRhaW5lclJlZiBjb250YWluZXIpCitQYXNzUmVmUHRyPE1lbW9yeUFjdGl2YXRlZEZv
bnQ+IE1lbW9yeUFjdGl2YXRlZEZvbnQ6OmNyZWF0ZSh1aW50MzJfdCBmb250SUQsIE5TRm9udCog
bnNGb250LCBDR0ZvbnRSZWYgY2dGb250KQogewotICBNZW1vcnlBY3RpdmF0ZWRGb250KiBmb250
ID0gbmV3IE1lbW9yeUFjdGl2YXRlZEZvbnQoZm9udElELCBuc0ZvbnQsIGNvbnRhaW5lcik7Ci0g
IGlmICghZm9udC0+Y2dGb250KCkpICAvLyBPYmplY3QgY29uc3RydWN0aW9uIGZhaWxlZC4KLSAg
ewotICAgICAgZGVsZXRlIGZvbnQ7Ci0gICAgICByZXR1cm4gMDsKLSAgfQorICBNZW1vcnlBY3Rp
dmF0ZWRGb250KiBmb250ID0gbmV3IE1lbW9yeUFjdGl2YXRlZEZvbnQoZm9udElELCBuc0ZvbnQs
IGNnRm9udCk7CiAgIHJldHVybiBhZG9wdFJlZihmb250KTsKIH0KIAotTWVtb3J5QWN0aXZhdGVk
Rm9udDo6TWVtb3J5QWN0aXZhdGVkRm9udCh1aW50MzJfdCBmb250SUQsIE5TRm9udCogbnNGb250
LCBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lcikKLSAgICA6IG1fZm9udENvbnRhaW5lcihj
b250YWluZXIpCi0gICAgLCBtX2F0c0ZvbnRSZWYoa0FUU0ZvbnRSZWZVbnNwZWNpZmllZCkKK01l
bW9yeUFjdGl2YXRlZEZvbnQ6Ok1lbW9yeUFjdGl2YXRlZEZvbnQodWludDMyX3QgZm9udElELCBO
U0ZvbnQqIG5zRm9udCwgQ0dGb250UmVmIGNnRm9udCkKKyAgICA6IG1fY2dGb250KGNnRm9udCkK
ICAgICAsIG1fZm9udElEKGZvbnRJRCkKICAgICAsIG1faW5TYW5kYm94SGFzaEtleShoYXNoS2V5
RnJvbU5TRm9udChuc0ZvbnQpKQogewotICAgIGlmICghY29udGFpbmVyKQotICAgICAgICByZXR1
cm47Ci0gICAgCi0gICAgLy8gQ291bnQgdGhlIG51bWJlciBvZiBmb250cyBpbiB0aGUgY29udGFp
bmVyLgotICAgIEl0ZW1Db3VudCBmb250Q291bnQgPSAwOwotICAgIE9TU3RhdHVzIGVyciA9IEFU
U0ZvbnRGaW5kRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGtBVFNPcHRpb25GbGFnc0RlZmF1bHQs
IDAsIDAsICZmb250Q291bnQpOwotICAgIGlmIChlcnIgIT0gbm9FcnIgfHwgZm9udENvdW50IDwg
MSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gRm9yIG5vdyBhbHdheXMgYXNzdW1lIHRoYXQg
d2Ugd2FudCB0aGUgZmlyc3QgZm9udCBpbiB0aGUgY29udGFpbmVyLgotICAgIEFUU0ZvbnRGaW5k
RnJvbUNvbnRhaW5lcihjb250YWluZXIsIGtBVFNPcHRpb25GbGFnc0RlZmF1bHQsIDEsICZtX2F0
c0ZvbnRSZWYsIDApOwotCi0gICAgaWYgKCFtX2F0c0ZvbnRSZWYpCi0gICAgICAgIHJldHVybjsK
LQotICAgIC8vIENhY2hlIENHRm9udCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZm9udC4KLSAgICBt
X2NnRm9udC5hZG9wdENGKENHRm9udENyZWF0ZVdpdGhQbGF0Zm9ybUZvbnQoJm1fYXRzRm9udFJl
ZikpOwotICAgIAotICAgIGlmICghbV9jZ0ZvbnQpCi0gICAgICAgIHJldHVybjsKLSAgICAKICAg
ICAvLyBBZGQgb3Vyc2VsdmVzIHRvIGNhY2hlcy4KICAgICBmb250Q2FjaGVCeUZvbnRJRCgpLmFk
ZChmb250SUQsIHRoaXMpOwogICAgIGZvbnRDYWNoZUJ5Rm9udE5hbWUoKS5hZGQobV9pblNhbmRi
b3hIYXNoS2V5LCB0aGlzKTsKQEAgLTIwMywyMCArMTc2LDEyIEBAIE1lbW9yeUFjdGl2YXRlZEZv
bnQ6Ok1lbW9yeUFjdGl2YXRlZEZvbnQodWludDMyX3QgZm9udElELCBOU0ZvbnQqIG5zRm9udCwg
QVRTRm9uCiAvLyBmcm9tIGNhY2hlLgogTWVtb3J5QWN0aXZhdGVkRm9udDo6fk1lbW9yeUFjdGl2
YXRlZEZvbnQoKQogewotICAgIGlmIChtX2NnRm9udCkgewotICAgICAgICAvLyBGaXJzdCByZW1v
dmUgb3Vyc2VsdmVzIGZyb20gdGhlIGNhY2hlcy4KLSAgICAgICAgQVNTRVJUKGZvbnRDYWNoZUJ5
Rm9udElEKCkuY29udGFpbnMobV9mb250SUQpKTsKLSAgICAgICAgQVNTRVJUKGZvbnRDYWNoZUJ5
Rm9udE5hbWUoKS5jb250YWlucyhtX2luU2FuZGJveEhhc2hLZXkpKTsKLSAgICAgICAgCi0gICAg
ICAgIGZvbnRDYWNoZUJ5Rm9udElEKCkucmVtb3ZlKG1fZm9udElEKTsKLSAgICAgICAgZm9udENh
Y2hlQnlGb250TmFtZSgpLnJlbW92ZShtX2luU2FuZGJveEhhc2hLZXkpOwotICAgICAgICAKLSAg
ICAgICAgLy8gTWFrZSBzdXJlIHRoZSBDR0ZvbnQgaXMgZGVzdHJveWVkIGJlZm9yZSBpdHMgZm9u
dCBjb250YWluZXIuCi0gICAgICAgIG1fY2dGb250LnJlbGVhc2VSZWYoKTsKLSAgICB9Ci0gICAg
Ci0gICAgaWYgKG1fZm9udENvbnRhaW5lciAhPSBrQVRTRm9udENvbnRhaW5lclJlZlVuc3BlY2lm
aWVkKQotICAgICAgICBBVFNGb250RGVhY3RpdmF0ZShtX2ZvbnRDb250YWluZXIsIDAsIGtBVFNP
cHRpb25GbGFnc0RlZmF1bHQpOworICAgIC8vIEZpcnN0IHJlbW92ZSBvdXJzZWx2ZXMgZnJvbSB0
aGUgY2FjaGVzLgorICAgIEFTU0VSVChmb250Q2FjaGVCeUZvbnRJRCgpLmNvbnRhaW5zKG1fZm9u
dElEKSk7CisgICAgQVNTRVJUKGZvbnRDYWNoZUJ5Rm9udE5hbWUoKS5jb250YWlucyhtX2luU2Fu
ZGJveEhhc2hLZXkpKTsKKworICAgIGZvbnRDYWNoZUJ5Rm9udElEKCkucmVtb3ZlKG1fZm9udElE
KTsKKyAgICBmb250Q2FjaGVCeUZvbnROYW1lKCkucmVtb3ZlKG1faW5TYW5kYm94SGFzaEtleSk7
CiB9CiAKIC8vIEdpdmVuIGFuIE5TRm9udCwgdHJ5IHRvIGxvYWQgYSByZXByZXNlbnRhdGlvbiBv
ZiB0aGF0IGZvbnQgaW50byB0aGUgY2dGb250CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDU0ZTgxNjk0NGQ0Nzk0Y2NlMDBkOGUwMDczYTVhODNlYzdhODQ3YTguLjU1MjI3MWJlYTA5MTg3
MzViOWRhNzAyNDJlYmNhYWM5NTczZTRkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgtMjUgIEplcmVteSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ2hhbmdlIE9PUCBGb250IGxvYWRpbmcg
Y29kZSB0byB1c2UgQ0dGb250KigpIEFQSXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNQorCisgICAgICAgIFRoaXMgY2hhbmdlIGlzIG5lY2Vz
c2FyeSBkdWUgYSBidWcgaW4gQVRTRm9udERlYWN0aXZhdGUoKSBvbiAxMC41LgorICAgICAgICBT
ZWUgY3JidWcuY29tLzkzMTkxIGZvciBkZXRhaWxzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL21hYy9XZWJTYW5kYm94U3VwcG9ydC5o
OgorICAgICAgICAqIHNyYy9QbGF0Zm9ybUJyaWRnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUJyaWRnZTo6bG9hZEZvbnQpOgorCiAyMDExLTA4LTI0ICBLZW50YXJvIEhhcmEgIDxo
YXJha2VuQGdvb2dsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IGEga2V5cGF0aCBwYXJzZXIg
c3RyaWN0bHkgZm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9tYWMvV2ViU2FuZGJveFN1cHBvcnQuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oCmluZGV4IDA4OTlh
OTU2OGRkZTdiODY2YjliZGZmZDJiODBhODFkYThlMzJhYTcuLjM0MjgwYzZlYjI4MThkOWU3Yjhh
MGEyOGQxNzQ1YjQzZDdhYjI2N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oCkBAIC0zMSw3ICszMSw3IEBACiAjaWZu
ZGVmIFdlYlNhbmRib3hTdXBwb3J0X2gKICNkZWZpbmUgV2ViU2FuZGJveFN1cHBvcnRfaAogCi10
eXBlZGVmIHVpbnRwdHJfdCBBVFNGb250Q29udGFpbmVyUmVmOwordHlwZWRlZiBzdHJ1Y3QgQ0dG
b250KiBDR0ZvbnRSZWY7CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TRm9udDsKQEAgLTQ1
LDE4ICs0NSwxNSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYlNhbmRib3hTdXBwb3J0
IHsKIHB1YmxpYzoKICAgICAvLyBHaXZlbiBhbiBpbnB1dCBmb250IC0gfHNyY0ZvbnR8IFt3aGlj
aCBjYW4ndCBiZSBsb2FkZWQgZHVlIHRvIHNhbmRib3gKLSAgICAvLyByZXN0cmljdGlvbnNdLiAg
UmV0dXJuIGEgZm9udCBjb250YWluZXIgYmVsb25naW5nIHRvIGFuIGVxdWl2YWxlbnQKLSAgICAv
LyBmb250IGZpbGUgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgdGhlIGZvbnQgYW5kIGEgdW5p
cXVlIGlkZW50aWZpZXIKLSAgICAvLyBjb3JyZXNwb25kaW5nIHRvIHRoZSBvbi1kaXNrIGZvbnQg
ZmlsZS4KLSAgICAvLwotICAgIC8vIE5vdGUgdGhhdCBhIGZvbnQgY29udGFpbmVyIG1heSBjb250
YWluIG11bHRpcGxlIGZvbnRzLCB0aGUgY2FsbGVyIGlzCi0gICAgLy8gcmVzcG9uc2libGUgZm9y
IHJldHJlaXZpbmcgdGhlIGFwcHJvcHJpYXRlIGZvbnQgZnJvbSB0aGUgY29udGFpbmVyLgorICAg
IC8vIHJlc3RyaWN0aW9uc10uIFJldHVybiBhIGZvbnQgYmVsb25naW5nIHRvIGFuIGVxdWl2YWxl
bnQgZm9udCBmaWxlCisgICAgLy8gdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgdGhlIGZvbnQg
YW5kIGEgdW5pcXVlIGlkZW50aWZpZXIgY29ycmVzcG9uZGluZworICAgIC8vIHRvIHRoZSBvbi1k
aXNrIGZvbnQgZmlsZS4KICAgICAvLwogICAgIC8vIElmIHRoaXMgZnVuY3Rpb24gc3VjY2VlZHMs
IHRoZSBjYWxsZXIgYXNzdW1lcyBvd25lcnNoaXAgb2YgdGhlIHxvdXR8Ci0gICAgLy8gcGFyYW1l
dGVyIGFuZCBtdXN0IGNhbGwgQVRTRm9udERlYWN0aXZhdGUoKSB0byB1bmxvYWQgaXQgd2hlbiBk
b25lLgorICAgIC8vIHBhcmFtZXRlciBhbmQgbXVzdCBjYWxsIENHRm9udFJlbGVhc2UoKSB0byB1
bmxvYWQgaXQgd2hlbiBkb25lLgogICAgIC8vCiAgICAgLy8gUmV0dXJuczogdHJ1ZSBvbiBzdWNj
ZXNzLCBmYWxzZSBvbiBlcnJvci4KLSAgICB2aXJ0dWFsIGJvb2wgbG9hZEZvbnQoTlNGb250KiBz
cmNGb250LCBBVFNGb250Q29udGFpbmVyUmVmKiwgdWludDMyX3QqIGZvbnRJRCkgPSAwOworICAg
IHZpcnR1YWwgYm9vbCBsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIENHRm9udFJlZiogb3V0LCB1
aW50MzJfdCogZm9udElEKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtQnJpZGdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtQnJpZGdlLmNwcAppbmRleCA3ZDIxODQy
MDQ2NDE1YTBhMzkyN2EwMTlmNWIzOWMzZDdlZGI3MDk3Li45MjhjNzE3YWUwMGZjZTIyOGUwNDli
NjRhMGViOGM3OTk0ZGMzMTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9QbGF0Zm9ybUJyaWRnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxh
dGZvcm1CcmlkZ2UuY3BwCkBAIC00NDQsMTcgKzQ0NCwxNyBAQCBib29sIFBsYXRmb3JtQnJpZGdl
OjplbnN1cmVGb250TG9hZGVkKEhGT05UIGZvbnQpCiAjZW5kaWYKIAogI2lmIE9TKERBUldJTikK
LWJvb2wgUGxhdGZvcm1CcmlkZ2U6OmxvYWRGb250KE5TRm9udCogc3JjRm9udCwgQVRTRm9udENv
bnRhaW5lclJlZiogY29udGFpbmVyLCB1aW50MzJfdCogZm9udElEKQorYm9vbCBQbGF0Zm9ybUJy
aWRnZTo6bG9hZEZvbnQoTlNGb250KiBzcmNGb250LCBDR0ZvbnRSZWYqIG91dCwgdWludDMyX3Qq
IGZvbnRJRCkKIHsKICAgICBXZWJTYW5kYm94U3VwcG9ydCogc3MgPSB3ZWJLaXRDbGllbnQoKS0+
c2FuZGJveFN1cHBvcnQoKTsKICAgICBpZiAoc3MpCi0gICAgICAgIHJldHVybiBzcy0+bG9hZEZv
bnQoc3JjRm9udCwgY29udGFpbmVyLCBmb250SUQpOworICAgICAgICByZXR1cm4gc3MtPmxvYWRG
b250KHNyY0ZvbnQsIG91dCwgZm9udElEKTsKIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2hvdWxk
IG9ubHkgYmUgY2FsbGVkIGluIHJlc3BvbnNlIHRvIGFuIGVycm9yIGxvYWRpbmcgYQogICAgIC8v
IGZvbnQgZHVlIHRvIGJlaW5nIGJsb2NrZWQgYnkgdGhlIHNhbmRib3guCiAgICAgLy8gVGhpcyBi
eSBkZWZpbml0aW9uIHNob3VsZG4ndCBoYXBwZW4gaWYgdGhlcmUgaXMgbm8gc2FuZGJveCBzdXBw
b3J0LgogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICpjb250YWluZXIgPSAwOworICAg
ICpvdXQgPSAwOwogICAgICpmb250SUQgPSAwOwogICAgIHJldHVybiBmYWxzZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105606</attachid>
            <date>2011-08-30 03:02:05 -0700</date>
            <delta_ts>2011-09-05 01:15:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66935-20110830130209.patch</filename>
            <type>text/plain</type>
            <size>11822</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQwNjMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZTM5ZmViNzg4N2VhZDJi
NjAwZjIzMjI0NWVkNWJiYjNkZGZiMjQ4Li4xOTIzZGVhYzY5MDExMGJmN2RlNTMzYjA3MWYwNDdl
NmVhMWRkODNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDgtMjUgIEplcmVt
eSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
Q2hhbmdlIE9PUCBGb250IGxvYWRpbmcgY29kZSB0byB1c2UgQ0dGb250KigpIEFQSXMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNQorCisgICAg
ICAgIFRoaXMgY2hhbmdlIGlzIG5lY2Vzc2FyeSBkdWUgYSBidWcgaW4gQVRTRm9udERlYWN0aXZh
dGUoKSBvbiAxMC43LgorICAgICAgICBTZWUgY3JidWcuY29tLzkzMTkxIGZvciBkZXRhaWxzLgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAtIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW06CisgICAgICAgIChXZWJD
b3JlOjpNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVt
b3J5QWN0aXZhdGVkRm9udDo6TWVtb3J5QWN0aXZhdGVkRm9udCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZW1vcnlBY3RpdmF0ZWRGb250Ojp+TWVtb3J5QWN0aXZhdGVkRm9udCk6CisKIDIwMTEtMDgt
MjkgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV0
dXJuIHZhbHVlIG9mIHdpbmRvdy5vbmVycm9yIGhhcyBpbnZlcnRlZCBzZW1hbnRpY3MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oCmluZGV4
IDk1MjEyYjYyYzAzYTU4ODgwYjYwN2MyYjI2Y2M5YmU2MTU1YmU5YjcuLjc5ZjU0ZTQyNmUxMTc1
YjRjZmMwY2RjNjhhMzhhMzc2ZDlmYmY1ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUGxhdGZvcm1CcmlkZ2UuaApAQCAtMTUxLDcgKzE1MSw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgYm9vbCBlbnN1cmVGb250TG9hZGVkKEhGT05UKTsKICNlbmRpZgogI2lm
IE9TKERBUldJTikKLSAgICBzdGF0aWMgYm9vbCBsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIEFU
U0ZvbnRDb250YWluZXJSZWYqLCB1aW50MzJfdCogZm9udElEKTsKKyAgICBzdGF0aWMgYm9vbCBs
b2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIENHRm9udFJlZiosIHVpbnQzMl90KiBmb250SUQpOwog
I2VsaWYgT1MoVU5JWCkKICAgICBzdGF0aWMgdm9pZCBnZXRSZW5kZXJTdHlsZUZvclN0cmlrZShj
b25zdCBjaGFyKiBmYW1pbHksIGludCBzaXplQW5kU3R5bGUsIEZvbnRSZW5kZXJTdHlsZSogcmVz
dWx0KTsKICAgICBzdGF0aWMgU3RyaW5nIGdldEZvbnRGYW1pbHlGb3JDaGFyYWN0ZXJzKGNvbnN0
IFVDaGFyKiwgc2l6ZV90IG51bUNoYXJhY3RlcnMsIGNvbnN0IGNoYXIqIHByZWZlcnJlZExvY2Fs
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGluZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcuaAppbmRleCBkMmMxNTY1ZDc4
NmRhODU4YTdiMGI1ZDVjMWU2ODU2YTJmZGJhMWVkLi5lOGRlZWIxNWE2ODZlOTEyMTkwM2M3OGM4
NGU3ZDE2YjVmMGU5YWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGluZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmgK
QEAgLTM2LDggKzM2LDYgQEAKICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiB0eXBl
ZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKLXR5cGVkZWYgVUludDMyIEFUU0ZvbnRDb250
YWluZXJSZWY7Ci10eXBlZGVmIFVJbnQzMiBBVFNGb250UmVmOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTc0LDI1ICs3MiwyMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZW1v
cnlBY3RpdmF0ZWRGb250IDogcHVibGljIFJlZkNvdW50ZWQ8TWVtb3J5QWN0aXZhdGVkRm9udD4g
ewogcHVibGljOgogICAgIC8vIFVzZSB0byBjcmVhdGUgYSBuZXcgb2JqZWN0LCBzZWUgZG9jcyBv
biBjb25zdHJ1Y3RvciBiZWxvdy4KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0
ZWRGb250PiBjcmVhdGUodWludDMyX3QgZm9udElELCBOU0ZvbnQqLCBBVFNGb250Q29udGFpbmVy
UmVmKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBjcmVhdGUo
dWludDMyX3QgZm9udElELCBOU0ZvbnQqLCBDR0ZvbnRSZWYpOwogICAgIH5NZW1vcnlBY3RpdmF0
ZWRGb250KCk7CiAgICAgCiAgICAgLy8gR2V0IGNhY2hlZCBDR0ZvbnRSZWYgY29ycmVzcG9uZGlu
ZyB0byB0aGUgaW4tbWVtb3J5IGZvbnQuCiAgICAgQ0dGb250UmVmIGNnRm9udCgpIHsgcmV0dXJu
IG1fY2dGb250LmdldCgpOyB9Ci0gICAgCi0gICAgLy8gR2V0IGNhY2hlZCBBVFNGb250UmVmIGNv
cnJlc3BvbmRpbmcgdG8gdGhlIGluLW1lbW9yeSBmb250LgotICAgIEFUU0ZvbnRSZWYgYXRzRm9u
dFJlZigpIHsgcmV0dXJuIG1fYXRzRm9udFJlZjsgfQogCiBwcml2YXRlOgogICAgIC8vIHNyY0Zv
bnRSZWYgLSBBVFNGb250UmVmIGJlbG9uZ2luZyB0byB0aGUgTlNGb250IG9iamVjdCB0aGF0IGZh
aWxlZCB0bwogICAgIC8vIGxvYWQgaW4tcHJvY2Vzcy4KICAgICAvLyBjb250YWluZXIgLSBhIGZv
bnQgY29udGFpbmVyIGNvcnJlc3BvbmRpbmcgdG8gYW4gaWRlbnRpY2FsIGZvbnQgdGhhdAogICAg
IC8vIHdlIGxvYWRlZCBjcm9zcy1wcm9jZXNzLgotICAgIE1lbW9yeUFjdGl2YXRlZEZvbnQodWlu
dDMyX3QgZm9udElELCBOU0ZvbnQqLCBBVFNGb250Q29udGFpbmVyUmVmKTsKKyAgICBNZW1vcnlB
Y3RpdmF0ZWRGb250KHVpbnQzMl90IGZvbnRJRCwgTlNGb250KiwgQ0dGb250UmVmKTsKIAotICAg
IEFUU0ZvbnRDb250YWluZXJSZWYgbV9mb250Q29udGFpbmVyOwogICAgIFdURjo6UmV0YWluUHRy
PENHRm9udFJlZj4gbV9jZ0ZvbnQ7Ci0gICAgQVRTRm9udFJlZiBtX2F0c0ZvbnRSZWY7CiAgICAg
dWludDMyX3QgbV9mb250SUQ7CiAgICAgV1RGOjpTdHJpbmcgbV9pblNhbmRib3hIYXNoS2V5Owog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW0KaW5kZXggZjEwYWQ5YWMz
ZjJkYmM0NjU1MGUyNTFkZTE3OGFkM2EwZmVkMWFjMC4uYzM3NjNmY2I5MGZkMWU3MmVjMzkzNzM4
ODEwMTJkYzU2ZjkyNTU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcu
bW0KQEAgLTEzMiw2OCArMTMyLDQxIEBAIFBhc3NSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9udD4g
bG9hZEZvbnRGcm9tQnJvd3NlclByb2Nlc3MoTlNGb250KiBuc0ZvbnQpCiAgICAgaWYgKGZvbnQp
CiAgICAgICAgIHJldHVybiBmb250OwogCi0gICAgQVRTRm9udENvbnRhaW5lclJlZiBjb250YWlu
ZXI7CisgICAgQ0dGb250UmVmIGNnRm9udDsKICAgICB1aW50MzJfdCBmb250SUQ7CiAgICAgLy8g
U2VuZCBjcm9zcy1wcm9jZXNzIHJlcXVlc3QgdG8gbG9hZCBmb250LgotICAgIGlmICghUGxhdGZv
cm1CcmlkZ2U6OmxvYWRGb250KG5zRm9udCwgJmNvbnRhaW5lciwgJmZvbnRJRCkpCisgICAgaWYg
KCFQbGF0Zm9ybUJyaWRnZTo6bG9hZEZvbnQobnNGb250LCAmY2dGb250LCAmZm9udElEKSkKICAg
ICAgICAgcmV0dXJuIDA7CiAKICAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIHRoZSBmb250SUQgZnJv
bSB0aGUgYnJvd3NlciBwcm9jZXNzLCB3ZSBjYW4gY29uc3VsdAogICAgIC8vIHRoZSBJRCBjYWNo
ZS4KICAgICBmb250ID0gZm9udENhY2hlQnlGb250SUQoKS5nZXQoZm9udElEKTsKICAgICBpZiAo
Zm9udCkgewotICAgICAgICAvLyBXZSBjYW4gc2FmZWx5IGRpc2NhcmQgdGhlIG5ldyBjb250YWlu
ZXIgc2luY2Ugd2UgYWxyZWFkeSBoYXZlIHRoZQorICAgICAgICAvLyBXZSBjYW4gc2FmZWx5IGRp
c2NhcmQgdGhlIG5ldyBjZ0ZvbnQgc2luY2Ugd2UgYWxyZWFkeSBoYXZlIHRoZQogICAgICAgICAv
LyBmb250IGluIG91ciBjYWNoZS4KICAgICAgICAgLy8gRklYTUU6IFBsYXRmb3JtQnJpZGdlOjps
b2FkRm9udCgpIHNob3VsZCBjb25zdWx0IHRoZSBpZCBjYWNoZQogICAgICAgICAvLyBiZWZvcmUg
YWN0aXZhdGluZyB0aGUgZm9udC4gIFRoZW4gd2UgY2FuIHNhdmUgdGhpcyBhY3RpdmF0ZS9kZWFj
dGl2ZQogICAgICAgICAvLyBkYW5jZSBhbHRvZ2V0aGVyLgotICAgICAgICBBVFNGb250RGVhY3Rp
dmF0ZShjb250YWluZXIsIDAsIGtBVFNPcHRpb25GbGFnc0RlZmF1bHQpOworICAgICAgICBDR0Zv
bnRSZWxlYXNlKGNnRm9udCk7CiAgICAgICAgIHJldHVybiBmb250OwogICAgIH0KIAotICAgIHJl
dHVybiBNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUoZm9udElELCBuc0ZvbnQsIGNvbnRhaW5l
cik7CisgICAgcmV0dXJuIE1lbW9yeUFjdGl2YXRlZEZvbnQ6OmNyZWF0ZShmb250SUQsIG5zRm9u
dCwgY2dGb250KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UKIAotUGFzc1JlZlB0cjxNZW1vcnlBY3Rp
dmF0ZWRGb250PiBNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUodWludDMyX3QgZm9udElELCBO
U0ZvbnQqIG5zRm9udCwgQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXIpCitQYXNzUmVmUHRy
PE1lbW9yeUFjdGl2YXRlZEZvbnQ+IE1lbW9yeUFjdGl2YXRlZEZvbnQ6OmNyZWF0ZSh1aW50MzJf
dCBmb250SUQsIE5TRm9udCogbnNGb250LCBDR0ZvbnRSZWYgY2dGb250KQogewotICBNZW1vcnlB
Y3RpdmF0ZWRGb250KiBmb250ID0gbmV3IE1lbW9yeUFjdGl2YXRlZEZvbnQoZm9udElELCBuc0Zv
bnQsIGNvbnRhaW5lcik7Ci0gIGlmICghZm9udC0+Y2dGb250KCkpICAvLyBPYmplY3QgY29uc3Ry
dWN0aW9uIGZhaWxlZC4KLSAgewotICAgICAgZGVsZXRlIGZvbnQ7Ci0gICAgICByZXR1cm4gMDsK
LSAgfQorICBNZW1vcnlBY3RpdmF0ZWRGb250KiBmb250ID0gbmV3IE1lbW9yeUFjdGl2YXRlZEZv
bnQoZm9udElELCBuc0ZvbnQsIGNnRm9udCk7CiAgIHJldHVybiBhZG9wdFJlZihmb250KTsKIH0K
IAotTWVtb3J5QWN0aXZhdGVkRm9udDo6TWVtb3J5QWN0aXZhdGVkRm9udCh1aW50MzJfdCBmb250
SUQsIE5TRm9udCogbnNGb250LCBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lcikKLSAgICA6
IG1fZm9udENvbnRhaW5lcihjb250YWluZXIpCi0gICAgLCBtX2F0c0ZvbnRSZWYoa0FUU0ZvbnRS
ZWZVbnNwZWNpZmllZCkKK01lbW9yeUFjdGl2YXRlZEZvbnQ6Ok1lbW9yeUFjdGl2YXRlZEZvbnQo
dWludDMyX3QgZm9udElELCBOU0ZvbnQqIG5zRm9udCwgQ0dGb250UmVmIGNnRm9udCkKKyAgICA6
IG1fY2dGb250KGNnRm9udCkKICAgICAsIG1fZm9udElEKGZvbnRJRCkKICAgICAsIG1faW5TYW5k
Ym94SGFzaEtleShoYXNoS2V5RnJvbU5TRm9udChuc0ZvbnQpKQogewotICAgIGlmICghY29udGFp
bmVyKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgLy8gQ291bnQgdGhlIG51bWJlciBvZiBm
b250cyBpbiB0aGUgY29udGFpbmVyLgotICAgIEl0ZW1Db3VudCBmb250Q291bnQgPSAwOwotICAg
IE9TU3RhdHVzIGVyciA9IEFUU0ZvbnRGaW5kRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGtBVFNP
cHRpb25GbGFnc0RlZmF1bHQsIDAsIDAsICZmb250Q291bnQpOwotICAgIGlmIChlcnIgIT0gbm9F
cnIgfHwgZm9udENvdW50IDwgMSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gRm9yIG5vdyBh
bHdheXMgYXNzdW1lIHRoYXQgd2Ugd2FudCB0aGUgZmlyc3QgZm9udCBpbiB0aGUgY29udGFpbmVy
LgotICAgIEFUU0ZvbnRGaW5kRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGtBVFNPcHRpb25GbGFn
c0RlZmF1bHQsIDEsICZtX2F0c0ZvbnRSZWYsIDApOwotCi0gICAgaWYgKCFtX2F0c0ZvbnRSZWYp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIC8vIENhY2hlIENHRm9udCByZXByZXNlbnRhdGlvbiBv
ZiB0aGUgZm9udC4KLSAgICBtX2NnRm9udC5hZG9wdENGKENHRm9udENyZWF0ZVdpdGhQbGF0Zm9y
bUZvbnQoJm1fYXRzRm9udFJlZikpOwotICAgIAotICAgIGlmICghbV9jZ0ZvbnQpCi0gICAgICAg
IHJldHVybjsKLSAgICAKICAgICAvLyBBZGQgb3Vyc2VsdmVzIHRvIGNhY2hlcy4KICAgICBmb250
Q2FjaGVCeUZvbnRJRCgpLmFkZChmb250SUQsIHRoaXMpOwogICAgIGZvbnRDYWNoZUJ5Rm9udE5h
bWUoKS5hZGQobV9pblNhbmRib3hIYXNoS2V5LCB0aGlzKTsKQEAgLTIwMywyMCArMTc2LDEyIEBA
IE1lbW9yeUFjdGl2YXRlZEZvbnQ6Ok1lbW9yeUFjdGl2YXRlZEZvbnQodWludDMyX3QgZm9udElE
LCBOU0ZvbnQqIG5zRm9udCwgQVRTRm9uCiAvLyBmcm9tIGNhY2hlLgogTWVtb3J5QWN0aXZhdGVk
Rm9udDo6fk1lbW9yeUFjdGl2YXRlZEZvbnQoKQogewotICAgIGlmIChtX2NnRm9udCkgewotICAg
ICAgICAvLyBGaXJzdCByZW1vdmUgb3Vyc2VsdmVzIGZyb20gdGhlIGNhY2hlcy4KLSAgICAgICAg
QVNTRVJUKGZvbnRDYWNoZUJ5Rm9udElEKCkuY29udGFpbnMobV9mb250SUQpKTsKLSAgICAgICAg
QVNTRVJUKGZvbnRDYWNoZUJ5Rm9udE5hbWUoKS5jb250YWlucyhtX2luU2FuZGJveEhhc2hLZXkp
KTsKLSAgICAgICAgCi0gICAgICAgIGZvbnRDYWNoZUJ5Rm9udElEKCkucmVtb3ZlKG1fZm9udElE
KTsKLSAgICAgICAgZm9udENhY2hlQnlGb250TmFtZSgpLnJlbW92ZShtX2luU2FuZGJveEhhc2hL
ZXkpOwotICAgICAgICAKLSAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBDR0ZvbnQgaXMgZGVzdHJv
eWVkIGJlZm9yZSBpdHMgZm9udCBjb250YWluZXIuCi0gICAgICAgIG1fY2dGb250LnJlbGVhc2VS
ZWYoKTsKLSAgICB9Ci0gICAgCi0gICAgaWYgKG1fZm9udENvbnRhaW5lciAhPSBrQVRTRm9udENv
bnRhaW5lclJlZlVuc3BlY2lmaWVkKQotICAgICAgICBBVFNGb250RGVhY3RpdmF0ZShtX2ZvbnRD
b250YWluZXIsIDAsIGtBVFNPcHRpb25GbGFnc0RlZmF1bHQpOworICAgIC8vIEZpcnN0IHJlbW92
ZSBvdXJzZWx2ZXMgZnJvbSB0aGUgY2FjaGVzLgorICAgIEFTU0VSVChmb250Q2FjaGVCeUZvbnRJ
RCgpLmNvbnRhaW5zKG1fZm9udElEKSk7CisgICAgQVNTRVJUKGZvbnRDYWNoZUJ5Rm9udE5hbWUo
KS5jb250YWlucyhtX2luU2FuZGJveEhhc2hLZXkpKTsKKworICAgIGZvbnRDYWNoZUJ5Rm9udElE
KCkucmVtb3ZlKG1fZm9udElEKTsKKyAgICBmb250Q2FjaGVCeUZvbnROYW1lKCkucmVtb3ZlKG1f
aW5TYW5kYm94SGFzaEtleSk7CiB9CiAKIC8vIEdpdmVuIGFuIE5TRm9udCwgdHJ5IHRvIGxvYWQg
YSByZXByZXNlbnRhdGlvbiBvZiB0aGF0IGZvbnQgaW50byB0aGUgY2dGb250CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCmluZGV4IGM3N2U0NTkyZjdjMGY5MjY4MzEzNTc5NTYwYThkYjUzMmI3NWMz
OTMuLmJhMGU0NzQxYjBkNTNlNWNkMGZkYWE0ZGMyM2VlM2MyZWM1MGYxZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDgtMjUgIEplcmVteSBNb3Nr
b3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ2hhbmdl
IE9PUCBGb250IGxvYWRpbmcgY29kZSB0byB1c2UgQ0dGb250KigpIEFQSXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNQorCisgICAgICAgIFRo
aXMgY2hhbmdlIGlzIG5lY2Vzc2FyeSBkdWUgYSBidWcgaW4gQVRTRm9udERlYWN0aXZhdGUoKSBv
biAxMC43LgorICAgICAgICBTZWUgY3JidWcuY29tLzkzMTkxIGZvciBkZXRhaWxzLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL21hYy9X
ZWJTYW5kYm94U3VwcG9ydC5oOgorICAgICAgICAqIHNyYy9QbGF0Zm9ybUJyaWRnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUJyaWRnZTo6bG9hZEZvbnQpOgorCiAyMDExLTA4LTI5
ICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtDaHJvbWl1
bV0gQWRkIGFiaWxpdHkgdG8gZG8gc3RhdGljIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBkZXNlcmlh
bGl6YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL21hYy9X
ZWJTYW5kYm94U3VwcG9ydC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dl
YlNhbmRib3hTdXBwb3J0LmgKaW5kZXggMDg5OWE5NTY4ZGRlN2I4NjZiOWJkZmZkMmI4MGE4MWRh
OGUzMmFhNy4uMzQyODBjNmViMjgxOGQ5ZTdiOGEwYTI4ZDE3NDViNDNkN2FiMjY3YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBw
b3J0LmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5kZWYgV2ViU2FuZGJveFN1cHBvcnRfaAogI2Rl
ZmluZSBXZWJTYW5kYm94U3VwcG9ydF9oCiAKLXR5cGVkZWYgdWludHB0cl90IEFUU0ZvbnRDb250
YWluZXJSZWY7Cit0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKIAogI2lmZGVmIF9f
T0JKQ19fCiBAY2xhc3MgTlNGb250OwpAQCAtNDUsMTggKzQ1LDE1IEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogY2xhc3MgV2ViU2FuZGJveFN1cHBvcnQgewogcHVibGljOgogICAgIC8vIEdpdmVuIGFu
IGlucHV0IGZvbnQgLSB8c3JjRm9udHwgW3doaWNoIGNhbid0IGJlIGxvYWRlZCBkdWUgdG8gc2Fu
ZGJveAotICAgIC8vIHJlc3RyaWN0aW9uc10uICBSZXR1cm4gYSBmb250IGNvbnRhaW5lciBiZWxv
bmdpbmcgdG8gYW4gZXF1aXZhbGVudAotICAgIC8vIGZvbnQgZmlsZSB0aGF0IGNhbiBiZSB1c2Vk
IHRvIGFjY2VzcyB0aGUgZm9udCBhbmQgYSB1bmlxdWUgaWRlbnRpZmllcgotICAgIC8vIGNvcnJl
c3BvbmRpbmcgdG8gdGhlIG9uLWRpc2sgZm9udCBmaWxlLgotICAgIC8vCi0gICAgLy8gTm90ZSB0
aGF0IGEgZm9udCBjb250YWluZXIgbWF5IGNvbnRhaW4gbXVsdGlwbGUgZm9udHMsIHRoZSBjYWxs
ZXIgaXMKLSAgICAvLyByZXNwb25zaWJsZSBmb3IgcmV0cmVpdmluZyB0aGUgYXBwcm9wcmlhdGUg
Zm9udCBmcm9tIHRoZSBjb250YWluZXIuCisgICAgLy8gcmVzdHJpY3Rpb25zXS4gUmV0dXJuIGEg
Zm9udCBiZWxvbmdpbmcgdG8gYW4gZXF1aXZhbGVudCBmb250IGZpbGUKKyAgICAvLyB0aGF0IGNh
biBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgZm9udCBhbmQgYSB1bmlxdWUgaWRlbnRpZmllciBjb3Jy
ZXNwb25kaW5nCisgICAgLy8gdG8gdGhlIG9uLWRpc2sgZm9udCBmaWxlLgogICAgIC8vCiAgICAg
Ly8gSWYgdGhpcyBmdW5jdGlvbiBzdWNjZWVkcywgdGhlIGNhbGxlciBhc3N1bWVzIG93bmVyc2hp
cCBvZiB0aGUgfG91dHwKLSAgICAvLyBwYXJhbWV0ZXIgYW5kIG11c3QgY2FsbCBBVFNGb250RGVh
Y3RpdmF0ZSgpIHRvIHVubG9hZCBpdCB3aGVuIGRvbmUuCisgICAgLy8gcGFyYW1ldGVyIGFuZCBt
dXN0IGNhbGwgQ0dGb250UmVsZWFzZSgpIHRvIHVubG9hZCBpdCB3aGVuIGRvbmUuCiAgICAgLy8K
ICAgICAvLyBSZXR1cm5zOiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGVycm9yLgotICAgIHZp
cnR1YWwgYm9vbCBsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIEFUU0ZvbnRDb250YWluZXJSZWYq
LCB1aW50MzJfdCogZm9udElEKSA9IDA7CisgICAgdmlydHVhbCBib29sIGxvYWRGb250KE5TRm9u
dCogc3JjRm9udCwgQ0dGb250UmVmKiBvdXQsIHVpbnQzMl90KiBmb250SUQpID0gMDsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvUGxhdGZvcm1CcmlkZ2UuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxh
dGZvcm1CcmlkZ2UuY3BwCmluZGV4IDM3Yzg1ZTk3MTY5NDI2ZDQ5ZjcwZmViNjBhNDMwZTE2YzQ0
YzhjOGQuLmJkODNmMGY3YjMxZWEyZjM2OTMzOGVmZmRkYWFkOTgyZGE2YmQ1YTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtQnJpZGdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAKQEAgLTQ0NCwxNyAr
NDQ0LDE3IEBAIGJvb2wgUGxhdGZvcm1CcmlkZ2U6OmVuc3VyZUZvbnRMb2FkZWQoSEZPTlQgZm9u
dCkKICNlbmRpZgogCiAjaWYgT1MoREFSV0lOKQotYm9vbCBQbGF0Zm9ybUJyaWRnZTo6bG9hZEZv
bnQoTlNGb250KiBzcmNGb250LCBBVFNGb250Q29udGFpbmVyUmVmKiBjb250YWluZXIsIHVpbnQz
Ml90KiBmb250SUQpCitib29sIFBsYXRmb3JtQnJpZGdlOjpsb2FkRm9udChOU0ZvbnQqIHNyY0Zv
bnQsIENHRm9udFJlZiogb3V0LCB1aW50MzJfdCogZm9udElEKQogewogICAgIFdlYlNhbmRib3hT
dXBwb3J0KiBzcyA9IHdlYktpdENsaWVudCgpLT5zYW5kYm94U3VwcG9ydCgpOwogICAgIGlmIChz
cykKLSAgICAgICAgcmV0dXJuIHNzLT5sb2FkRm9udChzcmNGb250LCBjb250YWluZXIsIGZvbnRJ
RCk7CisgICAgICAgIHJldHVybiBzcy0+bG9hZEZvbnQoc3JjRm9udCwgb3V0LCBmb250SUQpOwog
CiAgICAgLy8gVGhpcyBmdW5jdGlvbiBzaG91bGQgb25seSBiZSBjYWxsZWQgaW4gcmVzcG9uc2Ug
dG8gYW4gZXJyb3IgbG9hZGluZyBhCiAgICAgLy8gZm9udCBkdWUgdG8gYmVpbmcgYmxvY2tlZCBi
eSB0aGUgc2FuZGJveC4KICAgICAvLyBUaGlzIGJ5IGRlZmluaXRpb24gc2hvdWxkbid0IGhhcHBl
biBpZiB0aGVyZSBpcyBubyBzYW5kYm94IHN1cHBvcnQuCiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgKmNvbnRhaW5lciA9IDA7CisgICAgKm91dCA9IDA7CiAgICAgKmZvbnRJRCA9IDA7
CiAgICAgcmV0dXJuIGZhbHNlOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106313</attachid>
            <date>2011-09-05 01:15:28 -0700</date>
            <delta_ts>2011-09-08 04:49:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66935-20110905111525.patch</filename>
            <type>text/plain</type>
            <size>11883</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ0NjkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjM2FkYmZiYWQ5MzBhZDIz
MWUxNjI1YTlhMzQzZmRlNDhlZDZkZGNmLi41ODc3NTc4MzAyODYyZWNjMGVkOWU3ODE1N2NhMDY4
NmQwOWYwZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDgtMjUgIEplcmVt
eSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
Q2hhbmdlIE9PUCBGb250IGxvYWRpbmcgY29kZSB0byB1c2UgQ0dGb250KigpIEFQSXMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNQorCisgICAg
ICAgIFRoaXMgY2hhbmdlIGlzIG5lY2Vzc2FyeSBkdWUgYSBidWcgaW4gQVRTRm9udERlYWN0aXZh
dGUoKSBvbiAxMC43LgorICAgICAgICBTZWUgY3JidWcuY29tLzkzMTkxIGZvciBkZXRhaWxzLgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAtIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW06CisgICAgICAgIChXZWJD
b3JlOjpNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVt
b3J5QWN0aXZhdGVkRm9udDo6TWVtb3J5QWN0aXZhdGVkRm9udCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZW1vcnlBY3RpdmF0ZWRGb250Ojp+TWVtb3J5QWN0aXZhdGVkRm9udCk6CisKIDIwMTEtMDkt
MDIgIEJpbGwgQnVkZ2UgIDxiYnVkZ2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBhICdk
aWREb3dubG9hZERhdGEnIG1ldGhvZCB0byBSZXNvdXJjZUxvYWRlciwgU3VicmVzb3VyY2VMb2Fk
ZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9y
bVN1cHBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3Vw
cG9ydC5oCmluZGV4IGQ3NTc2MjEwM2VhODVlNTA5ZDBiZjJhNjgzOTgwMWQ4ZjFlZDUxMTUuLjM1
NTVhN2QwOWNmYjgyZDc5ZDE5MjIwZmZhN2Q2M2MzYTY2YzdiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCkBAIC0xNTIsNyAr
MTUyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGVuc3VyZUZvbnRMb2FkZWQoSEZPTlQp
OwogI2VuZGlmCiAjaWYgT1MoREFSV0lOKQotICAgIHN0YXRpYyBib29sIGxvYWRGb250KE5TRm9u
dCogc3JjRm9udCwgQVRTRm9udENvbnRhaW5lclJlZiosIHVpbnQzMl90KiBmb250SUQpOworICAg
IHN0YXRpYyBib29sIGxvYWRGb250KE5TRm9udCogc3JjRm9udCwgQ0dGb250UmVmKiwgdWludDMy
X3QqIGZvbnRJRCk7CiAjZWxpZiBPUyhVTklYKQogICAgIHN0YXRpYyB2b2lkIGdldFJlbmRlclN0
eWxlRm9yU3RyaWtlKGNvbnN0IGNoYXIqIGZhbWlseSwgaW50IHNpemVBbmRTdHlsZSwgRm9udFJl
bmRlclN0eWxlKiByZXN1bHQpOwogICAgIHN0YXRpYyBTdHJpbmcgZ2V0Rm9udEZhbWlseUZvckNo
YXJhY3RlcnMoY29uc3QgVUNoYXIqLCBzaXplX3QgbnVtQ2hhcmFjdGVycywgY29uc3QgY2hhciog
cHJlZmVycmVkTG9jYWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGluZy5oCmlu
ZGV4IGQyYzE1NjVkNzg2ZGE4NThhN2IwYjVkNWMxZTY4NTZhMmZkYmExZWQuLjAyNjAxNDYyYzFh
M2I3NjUwZWNjZDFkMWYwZGM1ZTllOTVlYjk1NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNz
Rm9udExvYWRpbmcuaApAQCAtMzYsOCArMzYsNiBAQAogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwotdHlwZWRlZiBVSW50
MzIgQVRTRm9udENvbnRhaW5lclJlZjsKLXR5cGVkZWYgVUludDMyIEFUU0ZvbnRSZWY7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNzQsMjUgKzcyLDIwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIE1lbW9yeUFjdGl2YXRlZEZvbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxNZW1vcnlB
Y3RpdmF0ZWRGb250PiB7CiBwdWJsaWM6CiAgICAgLy8gVXNlIHRvIGNyZWF0ZSBhIG5ldyBvYmpl
Y3QsIHNlZSBkb2NzIG9uIGNvbnN0cnVjdG9yIGJlbG93LgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE1lbW9yeUFjdGl2YXRlZEZvbnQ+IGNyZWF0ZSh1aW50MzJfdCBmb250SUQsIE5TRm9udCosIEFU
U0ZvbnRDb250YWluZXJSZWYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lbW9yeUFjdGl2YXRl
ZEZvbnQ+IGNyZWF0ZSh1aW50MzJfdCBmb250SUQsIE5TRm9udCosIFJldGFpblB0cjxDR0ZvbnRS
ZWY+KTsKICAgICB+TWVtb3J5QWN0aXZhdGVkRm9udCgpOwogICAgIAogICAgIC8vIEdldCBjYWNo
ZWQgQ0dGb250UmVmIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGluLW1lbW9yeSBmb250LgogICAgIENH
Rm9udFJlZiBjZ0ZvbnQoKSB7IHJldHVybiBtX2NnRm9udC5nZXQoKTsgfQotICAgIAotICAgIC8v
IEdldCBjYWNoZWQgQVRTRm9udFJlZiBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbi1tZW1vcnkgZm9u
dC4KLSAgICBBVFNGb250UmVmIGF0c0ZvbnRSZWYoKSB7IHJldHVybiBtX2F0c0ZvbnRSZWY7IH0K
IAogcHJpdmF0ZToKICAgICAvLyBzcmNGb250UmVmIC0gQVRTRm9udFJlZiBiZWxvbmdpbmcgdG8g
dGhlIE5TRm9udCBvYmplY3QgdGhhdCBmYWlsZWQgdG8KICAgICAvLyBsb2FkIGluLXByb2Nlc3Mu
CiAgICAgLy8gY29udGFpbmVyIC0gYSBmb250IGNvbnRhaW5lciBjb3JyZXNwb25kaW5nIHRvIGFu
IGlkZW50aWNhbCBmb250IHRoYXQKICAgICAvLyB3ZSBsb2FkZWQgY3Jvc3MtcHJvY2Vzcy4KLSAg
ICBNZW1vcnlBY3RpdmF0ZWRGb250KHVpbnQzMl90IGZvbnRJRCwgTlNGb250KiwgQVRTRm9udENv
bnRhaW5lclJlZik7CisgICAgTWVtb3J5QWN0aXZhdGVkRm9udCh1aW50MzJfdCBmb250SUQsIE5T
Rm9udCosIFJldGFpblB0cjxDR0ZvbnRSZWY+KTsKIAotICAgIEFUU0ZvbnRDb250YWluZXJSZWYg
bV9mb250Q29udGFpbmVyOwogICAgIFdURjo6UmV0YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7
Ci0gICAgQVRTRm9udFJlZiBtX2F0c0ZvbnRSZWY7CiAgICAgdWludDMyX3QgbV9mb250SUQ7CiAg
ICAgV1RGOjpTdHJpbmcgbV9pblNhbmRib3hIYXNoS2V5OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2Fk
aW5nLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQ
cm9jZXNzRm9udExvYWRpbmcubW0KaW5kZXggNmFiZTNkNjJkYjQyMTQ4OGVkMDU1YjY5NWI0YjA0
MTg0Njk4OWVmNy4uNjQ5NzMxMWUwMjc1YjAwZjA4NGFkYTc5MzA5N2NmNzBiODQzMjY1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQ
cm9jZXNzRm9udExvYWRpbmcubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW0KQEAgLTEzMiw2OCArMTMyLDM2
IEBAIFBhc3NSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9udD4gbG9hZEZvbnRGcm9tQnJvd3NlclBy
b2Nlc3MoTlNGb250KiBuc0ZvbnQpCiAgICAgaWYgKGZvbnQpCiAgICAgICAgIHJldHVybiBmb250
OwogCi0gICAgQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXI7CisgICAgQ0dGb250UmVmIHRt
cENHRm9udDsKICAgICB1aW50MzJfdCBmb250SUQ7CiAgICAgLy8gU2VuZCBjcm9zcy1wcm9jZXNz
IHJlcXVlc3QgdG8gbG9hZCBmb250LgotICAgIGlmICghUGxhdGZvcm1TdXBwb3J0Ojpsb2FkRm9u
dChuc0ZvbnQsICZjb250YWluZXIsICZmb250SUQpKQorICAgIGlmICghUGxhdGZvcm1TdXBwb3J0
Ojpsb2FkRm9udChuc0ZvbnQsICZ0bXBDR0ZvbnQsICZmb250SUQpKQogICAgICAgICByZXR1cm4g
MDsKIAorICAgIFJldGFpblB0cjxDR0ZvbnRSZWY+IGNnRm9udCh0bXBDR0ZvbnQpOwogICAgIC8v
IE5vdyB0aGF0IHdlIGhhdmUgdGhlIGZvbnRJRCBmcm9tIHRoZSBicm93c2VyIHByb2Nlc3MsIHdl
IGNhbiBjb25zdWx0CiAgICAgLy8gdGhlIElEIGNhY2hlLgogICAgIGZvbnQgPSBmb250Q2FjaGVC
eUZvbnRJRCgpLmdldChmb250SUQpOwotICAgIGlmIChmb250KSB7Ci0gICAgICAgIC8vIFdlIGNh
biBzYWZlbHkgZGlzY2FyZCB0aGUgbmV3IGNvbnRhaW5lciBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUg
dGhlCi0gICAgICAgIC8vIGZvbnQgaW4gb3VyIGNhY2hlLgorICAgIGlmIChmb250KQogICAgICAg
ICAvLyBGSVhNRTogUGxhdGZvcm1TdXBwb3J0Ojpsb2FkRm9udCgpIHNob3VsZCBjb25zdWx0IHRo
ZSBpZCBjYWNoZQotICAgICAgICAvLyBiZWZvcmUgYWN0aXZhdGluZyB0aGUgZm9udC4gIFRoZW4g
d2UgY2FuIHNhdmUgdGhpcyBhY3RpdmF0ZS9kZWFjdGl2ZQotICAgICAgICAvLyBkYW5jZSBhbHRv
Z2V0aGVyLgotICAgICAgICBBVFNGb250RGVhY3RpdmF0ZShjb250YWluZXIsIDAsIGtBVFNPcHRp
b25GbGFnc0RlZmF1bHQpOworICAgICAgICAvLyBiZWZvcmUgYWN0aXZhdGluZyB0aGUgZm9udC4K
ICAgICAgICAgcmV0dXJuIGZvbnQ7Ci0gICAgfQogCi0gICAgcmV0dXJuIE1lbW9yeUFjdGl2YXRl
ZEZvbnQ6OmNyZWF0ZShmb250SUQsIG5zRm9udCwgY29udGFpbmVyKTsKKyAgICByZXR1cm4gTWVt
b3J5QWN0aXZhdGVkRm9udDo6Y3JlYXRlKGZvbnRJRCwgbnNGb250LCBjZ0ZvbnQpOwogfQogCiB9
IC8vIG5hbWVzcGFjZQogCi1QYXNzUmVmUHRyPE1lbW9yeUFjdGl2YXRlZEZvbnQ+IE1lbW9yeUFj
dGl2YXRlZEZvbnQ6OmNyZWF0ZSh1aW50MzJfdCBmb250SUQsIE5TRm9udCogbnNGb250LCBBVFNG
b250Q29udGFpbmVyUmVmIGNvbnRhaW5lcikKK1Bhc3NSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9u
dD4gTWVtb3J5QWN0aXZhdGVkRm9udDo6Y3JlYXRlKHVpbnQzMl90IGZvbnRJRCwgTlNGb250KiBu
c0ZvbnQsIFJldGFpblB0cjxDR0ZvbnRSZWY+IGNnRm9udCkKIHsKLSAgTWVtb3J5QWN0aXZhdGVk
Rm9udCogZm9udCA9IG5ldyBNZW1vcnlBY3RpdmF0ZWRGb250KGZvbnRJRCwgbnNGb250LCBjb250
YWluZXIpOwotICBpZiAoIWZvbnQtPmNnRm9udCgpKSAgLy8gT2JqZWN0IGNvbnN0cnVjdGlvbiBm
YWlsZWQuCi0gIHsKLSAgICAgIGRlbGV0ZSBmb250OwotICAgICAgcmV0dXJuIDA7Ci0gIH0KLSAg
cmV0dXJuIGFkb3B0UmVmKGZvbnQpOworICByZXR1cm4gYWRvcHRSZWYobmV3IE1lbW9yeUFjdGl2
YXRlZEZvbnQoZm9udElELCBuc0ZvbnQsIGNnRm9udCkpOwogfQogCi1NZW1vcnlBY3RpdmF0ZWRG
b250OjpNZW1vcnlBY3RpdmF0ZWRGb250KHVpbnQzMl90IGZvbnRJRCwgTlNGb250KiBuc0ZvbnQs
IEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyKQotICAgIDogbV9mb250Q29udGFpbmVyKGNv
bnRhaW5lcikKLSAgICAsIG1fYXRzRm9udFJlZihrQVRTRm9udFJlZlVuc3BlY2lmaWVkKQorTWVt
b3J5QWN0aXZhdGVkRm9udDo6TWVtb3J5QWN0aXZhdGVkRm9udCh1aW50MzJfdCBmb250SUQsIE5T
Rm9udCogbnNGb250LCBSZXRhaW5QdHI8Q0dGb250UmVmPiBjZ0ZvbnQpCisgICAgOiBtX2NnRm9u
dChjZ0ZvbnQpCiAgICAgLCBtX2ZvbnRJRChmb250SUQpCiAgICAgLCBtX2luU2FuZGJveEhhc2hL
ZXkoaGFzaEtleUZyb21OU0ZvbnQobnNGb250KSkKIHsKLSAgICBpZiAoIWNvbnRhaW5lcikKLSAg
ICAgICAgcmV0dXJuOwotICAgIAotICAgIC8vIENvdW50IHRoZSBudW1iZXIgb2YgZm9udHMgaW4g
dGhlIGNvbnRhaW5lci4KLSAgICBJdGVtQ291bnQgZm9udENvdW50ID0gMDsKLSAgICBPU1N0YXR1
cyBlcnIgPSBBVFNGb250RmluZEZyb21Db250YWluZXIoY29udGFpbmVyLCBrQVRTT3B0aW9uRmxh
Z3NEZWZhdWx0LCAwLCAwLCAmZm9udENvdW50KTsKLSAgICBpZiAoZXJyICE9IG5vRXJyIHx8IGZv
bnRDb3VudCA8IDEpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIEZvciBub3cgYWx3YXlzIGFz
c3VtZSB0aGF0IHdlIHdhbnQgdGhlIGZpcnN0IGZvbnQgaW4gdGhlIGNvbnRhaW5lci4KLSAgICBB
VFNGb250RmluZEZyb21Db250YWluZXIoY29udGFpbmVyLCBrQVRTT3B0aW9uRmxhZ3NEZWZhdWx0
LCAxLCAmbV9hdHNGb250UmVmLCAwKTsKLQotICAgIGlmICghbV9hdHNGb250UmVmKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICAvLyBDYWNoZSBDR0ZvbnQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGZv
bnQuCi0gICAgbV9jZ0ZvbnQuYWRvcHRDRihDR0ZvbnRDcmVhdGVXaXRoUGxhdGZvcm1Gb250KCZt
X2F0c0ZvbnRSZWYpKTsKLSAgICAKLSAgICBpZiAoIW1fY2dGb250KQotICAgICAgICByZXR1cm47
Ci0gICAgCiAgICAgLy8gQWRkIG91cnNlbHZlcyB0byBjYWNoZXMuCiAgICAgZm9udENhY2hlQnlG
b250SUQoKS5hZGQoZm9udElELCB0aGlzKTsKICAgICBmb250Q2FjaGVCeUZvbnROYW1lKCkuYWRk
KG1faW5TYW5kYm94SGFzaEtleSwgdGhpcyk7CkBAIC0yMDMsMjAgKzE3MSwxMiBAQCBNZW1vcnlB
Y3RpdmF0ZWRGb250OjpNZW1vcnlBY3RpdmF0ZWRGb250KHVpbnQzMl90IGZvbnRJRCwgTlNGb250
KiBuc0ZvbnQsIEFUU0ZvbgogLy8gZnJvbSBjYWNoZS4KIE1lbW9yeUFjdGl2YXRlZEZvbnQ6On5N
ZW1vcnlBY3RpdmF0ZWRGb250KCkKIHsKLSAgICBpZiAobV9jZ0ZvbnQpIHsKLSAgICAgICAgLy8g
Rmlyc3QgcmVtb3ZlIG91cnNlbHZlcyBmcm9tIHRoZSBjYWNoZXMuCi0gICAgICAgIEFTU0VSVChm
b250Q2FjaGVCeUZvbnRJRCgpLmNvbnRhaW5zKG1fZm9udElEKSk7Ci0gICAgICAgIEFTU0VSVChm
b250Q2FjaGVCeUZvbnROYW1lKCkuY29udGFpbnMobV9pblNhbmRib3hIYXNoS2V5KSk7Ci0gICAg
ICAgIAotICAgICAgICBmb250Q2FjaGVCeUZvbnRJRCgpLnJlbW92ZShtX2ZvbnRJRCk7Ci0gICAg
ICAgIGZvbnRDYWNoZUJ5Rm9udE5hbWUoKS5yZW1vdmUobV9pblNhbmRib3hIYXNoS2V5KTsKLSAg
ICAgICAgCi0gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgQ0dGb250IGlzIGRlc3Ryb3llZCBiZWZv
cmUgaXRzIGZvbnQgY29udGFpbmVyLgotICAgICAgICBtX2NnRm9udC5yZWxlYXNlUmVmKCk7Ci0g
ICAgfQotICAgIAotICAgIGlmIChtX2ZvbnRDb250YWluZXIgIT0ga0FUU0ZvbnRDb250YWluZXJS
ZWZVbnNwZWNpZmllZCkKLSAgICAgICAgQVRTRm9udERlYWN0aXZhdGUobV9mb250Q29udGFpbmVy
LCAwLCBrQVRTT3B0aW9uRmxhZ3NEZWZhdWx0KTsKKyAgICAvLyBGaXJzdCByZW1vdmUgb3Vyc2Vs
dmVzIGZyb20gdGhlIGNhY2hlcy4KKyAgICBBU1NFUlQoZm9udENhY2hlQnlGb250SUQoKS5jb250
YWlucyhtX2ZvbnRJRCkpOworICAgIEFTU0VSVChmb250Q2FjaGVCeUZvbnROYW1lKCkuY29udGFp
bnMobV9pblNhbmRib3hIYXNoS2V5KSk7CisKKyAgICBmb250Q2FjaGVCeUZvbnRJRCgpLnJlbW92
ZShtX2ZvbnRJRCk7CisgICAgZm9udENhY2hlQnlGb250TmFtZSgpLnJlbW92ZShtX2luU2FuZGJv
eEhhc2hLZXkpOwogfQogCiAvLyBHaXZlbiBhbiBOU0ZvbnQsIHRyeSB0byBsb2FkIGEgcmVwcmVz
ZW50YXRpb24gb2YgdGhhdCBmb250IGludG8gdGhlIGNnRm9udApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCAxOTRjZmI0NDcwY2NmZWM2YzQ5YTNiY2NjOTI0YTU1ZTIxMmIxZTA4Li4yMmNl
NzdiYzVjYTlkNzhkYTkwYzhkOGI1NDEzNjVkNWE3MDFmMTcxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTA4LTI1ICBKZXJlbXkgTW9za292aWNoICA8
amVyZW15QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIENoYW5nZSBPT1AgRm9u
dCBsb2FkaW5nIGNvZGUgdG8gdXNlIENHRm9udCooKSBBUElzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MzUKKworICAgICAgICBUaGlzIGNoYW5n
ZSBpcyBuZWNlc3NhcnkgZHVlIGEgYnVnIGluIEFUU0ZvbnREZWFjdGl2YXRlKCkgb24gMTAuNy4K
KyAgICAgICAgU2VlIGNyYnVnLmNvbS85MzE5MSBmb3IgZGV0YWlscy4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9tYWMvV2ViU2FuZGJv
eFN1cHBvcnQuaDoKKyAgICAgICAgKiBzcmMvUGxhdGZvcm1CcmlkZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1CcmlkZ2U6OmxvYWRGb250KToKKwogMjAxMS0wOS0wMiAgQmlsbCBC
dWRnZSAgPGJidWRnZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIGEgJ2RpZERvd25sb2Fk
RGF0YScgbWV0aG9kIHRvIFJlc291cmNlSGFuZGxlSW50ZXJuYWwgYW5kIHBhc3MgdGhlc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5kYm94U3Vw
cG9ydC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBw
b3J0LmgKaW5kZXggMDg5OWE5NTY4ZGRlN2I4NjZiOWJkZmZkMmI4MGE4MWRhOGUzMmFhNy4uMzQy
ODBjNmViMjgxOGQ5ZTdiOGEwYTI4ZDE3NDViNDNkN2FiMjY3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgKQEAgLTMx
LDcgKzMxLDcgQEAKICNpZm5kZWYgV2ViU2FuZGJveFN1cHBvcnRfaAogI2RlZmluZSBXZWJTYW5k
Ym94U3VwcG9ydF9oCiAKLXR5cGVkZWYgdWludHB0cl90IEFUU0ZvbnRDb250YWluZXJSZWY7Cit0
eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKIAogI2lmZGVmIF9fT0JKQ19fCiBAY2xh
c3MgTlNGb250OwpAQCAtNDUsMTggKzQ1LDE1IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3Mg
V2ViU2FuZGJveFN1cHBvcnQgewogcHVibGljOgogICAgIC8vIEdpdmVuIGFuIGlucHV0IGZvbnQg
LSB8c3JjRm9udHwgW3doaWNoIGNhbid0IGJlIGxvYWRlZCBkdWUgdG8gc2FuZGJveAotICAgIC8v
IHJlc3RyaWN0aW9uc10uICBSZXR1cm4gYSBmb250IGNvbnRhaW5lciBiZWxvbmdpbmcgdG8gYW4g
ZXF1aXZhbGVudAotICAgIC8vIGZvbnQgZmlsZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyB0
aGUgZm9udCBhbmQgYSB1bmlxdWUgaWRlbnRpZmllcgotICAgIC8vIGNvcnJlc3BvbmRpbmcgdG8g
dGhlIG9uLWRpc2sgZm9udCBmaWxlLgotICAgIC8vCi0gICAgLy8gTm90ZSB0aGF0IGEgZm9udCBj
b250YWluZXIgbWF5IGNvbnRhaW4gbXVsdGlwbGUgZm9udHMsIHRoZSBjYWxsZXIgaXMKLSAgICAv
LyByZXNwb25zaWJsZSBmb3IgcmV0cmVpdmluZyB0aGUgYXBwcm9wcmlhdGUgZm9udCBmcm9tIHRo
ZSBjb250YWluZXIuCisgICAgLy8gcmVzdHJpY3Rpb25zXS4gUmV0dXJuIGEgZm9udCBiZWxvbmdp
bmcgdG8gYW4gZXF1aXZhbGVudCBmb250IGZpbGUKKyAgICAvLyB0aGF0IGNhbiBiZSB1c2VkIHRv
IGFjY2VzcyB0aGUgZm9udCBhbmQgYSB1bmlxdWUgaWRlbnRpZmllciBjb3JyZXNwb25kaW5nCisg
ICAgLy8gdG8gdGhlIG9uLWRpc2sgZm9udCBmaWxlLgogICAgIC8vCiAgICAgLy8gSWYgdGhpcyBm
dW5jdGlvbiBzdWNjZWVkcywgdGhlIGNhbGxlciBhc3N1bWVzIG93bmVyc2hpcCBvZiB0aGUgfG91
dHwKLSAgICAvLyBwYXJhbWV0ZXIgYW5kIG11c3QgY2FsbCBBVFNGb250RGVhY3RpdmF0ZSgpIHRv
IHVubG9hZCBpdCB3aGVuIGRvbmUuCisgICAgLy8gcGFyYW1ldGVyIGFuZCBtdXN0IGNhbGwgQ0dG
b250UmVsZWFzZSgpIHRvIHVubG9hZCBpdCB3aGVuIGRvbmUuCiAgICAgLy8KICAgICAvLyBSZXR1
cm5zOiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGVycm9yLgotICAgIHZpcnR1YWwgYm9vbCBs
b2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIEFUU0ZvbnRDb250YWluZXJSZWYqLCB1aW50MzJfdCog
Zm9udElEKSA9IDA7CisgICAgdmlydHVhbCBib29sIGxvYWRGb250KE5TRm9udCogc3JjRm9udCwg
Q0dGb250UmVmKiBvdXQsIHVpbnQzMl90KiBmb250SUQpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZv
cm1TdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9y
dC5jcHAKaW5kZXggZjdjNzA3YWExOGE4ZjliMGY5OWEwMDdkMDQ2NTQxODQwNzljOGI1ZC4uNWVl
MTgzODEwYWE3NzViZWNmYWY0MmIzZDBkMTNlMGNmZDkxZTRjYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCkBAIC00NDQsMTcgKzQ0NCwxNyBA
QCBib29sIFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChIRk9OVCBmb250KQogI2Vu
ZGlmCiAKICNpZiBPUyhEQVJXSU4pCi1ib29sIFBsYXRmb3JtU3VwcG9ydDo6bG9hZEZvbnQoTlNG
b250KiBzcmNGb250LCBBVFNGb250Q29udGFpbmVyUmVmKiBjb250YWluZXIsIHVpbnQzMl90KiBm
b250SUQpCitib29sIFBsYXRmb3JtU3VwcG9ydDo6bG9hZEZvbnQoTlNGb250KiBzcmNGb250LCBD
R0ZvbnRSZWYqIG91dCwgdWludDMyX3QqIGZvbnRJRCkKIHsKICAgICBXZWJTYW5kYm94U3VwcG9y
dCogc3MgPSB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+c2FuZGJveFN1cHBvcnQoKTsKICAgICBp
ZiAoc3MpCi0gICAgICAgIHJldHVybiBzcy0+bG9hZEZvbnQoc3JjRm9udCwgY29udGFpbmVyLCBm
b250SUQpOworICAgICAgICByZXR1cm4gc3MtPmxvYWRGb250KHNyY0ZvbnQsIG91dCwgZm9udElE
KTsKIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGluIHJlc3Bv
bnNlIHRvIGFuIGVycm9yIGxvYWRpbmcgYQogICAgIC8vIGZvbnQgZHVlIHRvIGJlaW5nIGJsb2Nr
ZWQgYnkgdGhlIHNhbmRib3guCiAgICAgLy8gVGhpcyBieSBkZWZpbml0aW9uIHNob3VsZG4ndCBo
YXBwZW4gaWYgdGhlcmUgaXMgbm8gc2FuZGJveCBzdXBwb3J0LgogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgICpjb250YWluZXIgPSAwOworICAgICpvdXQgPSAwOwogICAgICpmb250SUQg
PSAwOwogICAgIHJldHVybiBmYWxzZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106722</attachid>
            <date>2011-09-08 04:49:16 -0700</date>
            <delta_ts>2011-09-11 20:13:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66935-20110908144913.patch</filename>
            <type>text/plain</type>
            <size>11832</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2NzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNzEwMTU5MDUwZGJkZDA0
NGZjMDY1ZDg0NGQ3N2JmNWFhMjM0ZDFmLi5kNDY3MTQ2ZWQxOTJmYzhiYzIyMTM5ODJmZmJkOTdi
MzlkYTY1YzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDgtMjUgIEplcmVt
eSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
Q2hhbmdlIE9PUCBGb250IGxvYWRpbmcgY29kZSB0byB1c2UgQ0dGb250KigpIEFQSXMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNQorCisgICAg
ICAgIFRoaXMgY2hhbmdlIGlzIG5lY2Vzc2FyeSBkdWUgYSBidWcgaW4gQVRTRm9udERlYWN0aXZh
dGUoKSBvbiAxMC43LgorICAgICAgICBTZWUgY3JidWcuY29tLzkzMTkxIGZvciBkZXRhaWxzLgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAtIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW06CisgICAgICAgIChXZWJD
b3JlOjpNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVt
b3J5QWN0aXZhdGVkRm9udDo6TWVtb3J5QWN0aXZhdGVkRm9udCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZW1vcnlBY3RpdmF0ZWRGb250Ojp+TWVtb3J5QWN0aXZhdGVkRm9udCk6CisKIDIwMTEtMDkt
MDYgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogZG8gbm90IHJlLWNyZWF0ZSBSYXdTb3VyY2VDb2RlIHdoZW4gdG9nZ2xp
bmcgcHJldHR5LXByaW50IG1vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCmluZGV4IDc4ZTAxNzRkMjAwYjU4MTMxZDA4MzZjNzgx
MGM4OTk0ZjQyNDgzMTAuLmUzMjE3YmIyMDAzOGNhYjEzYmQ2NGFkMzM1NDBlZWY3NzE1NmI4ODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3Vw
cG9ydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3Vw
cG9ydC5oCkBAIC0xNTIsNyArMTUyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGVuc3Vy
ZUZvbnRMb2FkZWQoSEZPTlQpOwogI2VuZGlmCiAjaWYgT1MoREFSV0lOKQotICAgIHN0YXRpYyBi
b29sIGxvYWRGb250KE5TRm9udCogc3JjRm9udCwgQVRTRm9udENvbnRhaW5lclJlZiosIHVpbnQz
Ml90KiBmb250SUQpOworICAgIHN0YXRpYyBib29sIGxvYWRGb250KE5TRm9udCogc3JjRm9udCwg
Q0dGb250UmVmKiwgdWludDMyX3QqIGZvbnRJRCk7CiAjZWxpZiBPUyhVTklYKQogICAgIHN0YXRp
YyB2b2lkIGdldFJlbmRlclN0eWxlRm9yU3RyaWtlKGNvbnN0IGNoYXIqIGZhbWlseSwgaW50IHNp
emVBbmRTdHlsZSwgRm9udFJlbmRlclN0eWxlKiByZXN1bHQpOwogICAgIHN0YXRpYyBTdHJpbmcg
Z2V0Rm9udEZhbWlseUZvckNoYXJhY3RlcnMoY29uc3QgVUNoYXIqLCBzaXplX3QgbnVtQ2hhcmFj
dGVycywgY29uc3QgY2hhciogcHJlZmVycmVkTG9jYWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5n
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nl
c3NGb250TG9hZGluZy5oCmluZGV4IGQyYzE1NjVkNzg2ZGE4NThhN2IwYjVkNWMxZTY4NTZhMmZk
YmExZWQuLmU4ZGVlYjE1YTY4NmU5MTIxOTAzYzc4Yzg0ZTdkMTZiNWYwZTlhYmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vz
c0ZvbnRMb2FkaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcuaApAQCAtMzYsOCArMzYsNiBAQAogI2ltcG9y
dCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250
UmVmOwotdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKLXR5cGVkZWYgVUludDMy
IEFUU0ZvbnRSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNzQsMjUgKzcyLDIwIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1lbW9yeUFjdGl2YXRlZEZvbnQgOiBwdWJsaWMg
UmVmQ291bnRlZDxNZW1vcnlBY3RpdmF0ZWRGb250PiB7CiBwdWJsaWM6CiAgICAgLy8gVXNlIHRv
IGNyZWF0ZSBhIG5ldyBvYmplY3QsIHNlZSBkb2NzIG9uIGNvbnN0cnVjdG9yIGJlbG93LgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPE1lbW9yeUFjdGl2YXRlZEZvbnQ+IGNyZWF0ZSh1aW50MzJfdCBm
b250SUQsIE5TRm9udCosIEFUU0ZvbnRDb250YWluZXJSZWYpOworICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE1lbW9yeUFjdGl2YXRlZEZvbnQ+IGNyZWF0ZSh1aW50MzJfdCBmb250SUQsIE5TRm9udCos
IENHRm9udFJlZik7CiAgICAgfk1lbW9yeUFjdGl2YXRlZEZvbnQoKTsKICAgICAKICAgICAvLyBH
ZXQgY2FjaGVkIENHRm9udFJlZiBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbi1tZW1vcnkgZm9udC4K
ICAgICBDR0ZvbnRSZWYgY2dGb250KCkgeyByZXR1cm4gbV9jZ0ZvbnQuZ2V0KCk7IH0KLSAgICAK
LSAgICAvLyBHZXQgY2FjaGVkIEFUU0ZvbnRSZWYgY29ycmVzcG9uZGluZyB0byB0aGUgaW4tbWVt
b3J5IGZvbnQuCi0gICAgQVRTRm9udFJlZiBhdHNGb250UmVmKCkgeyByZXR1cm4gbV9hdHNGb250
UmVmOyB9CiAKIHByaXZhdGU6CiAgICAgLy8gc3JjRm9udFJlZiAtIEFUU0ZvbnRSZWYgYmVsb25n
aW5nIHRvIHRoZSBOU0ZvbnQgb2JqZWN0IHRoYXQgZmFpbGVkIHRvCiAgICAgLy8gbG9hZCBpbi1w
cm9jZXNzLgogICAgIC8vIGNvbnRhaW5lciAtIGEgZm9udCBjb250YWluZXIgY29ycmVzcG9uZGlu
ZyB0byBhbiBpZGVudGljYWwgZm9udCB0aGF0CiAgICAgLy8gd2UgbG9hZGVkIGNyb3NzLXByb2Nl
c3MuCi0gICAgTWVtb3J5QWN0aXZhdGVkRm9udCh1aW50MzJfdCBmb250SUQsIE5TRm9udCosIEFU
U0ZvbnRDb250YWluZXJSZWYpOworICAgIE1lbW9yeUFjdGl2YXRlZEZvbnQodWludDMyX3QgZm9u
dElELCBOU0ZvbnQqLCBDR0ZvbnRSZWYpOwogCi0gICAgQVRTRm9udENvbnRhaW5lclJlZiBtX2Zv
bnRDb250YWluZXI7CiAgICAgV1RGOjpSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsKLSAg
ICBBVFNGb250UmVmIG1fYXRzRm9udFJlZjsKICAgICB1aW50MzJfdCBtX2ZvbnRJRDsKICAgICBX
VEY6OlN0cmluZyBtX2luU2FuZGJveEhhc2hLZXk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nl
c3NGb250TG9hZGluZy5tbQppbmRleCA2YWJlM2Q2MmRiNDIxNDg4ZWQwNTViNjk1YjRiMDQxODQ2
OTg5ZWY3Li40MWI5ZDBmY2ZmYTI2MTFhNDJlNDJkZmMzMjliZjQzZGM2Mzc3N2IyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nl
c3NGb250TG9hZGluZy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGluZy5tbQpAQCAtMTMyLDY4ICsxMzIsMzYgQEAg
UGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBsb2FkRm9udEZyb21Ccm93c2VyUHJvY2Vz
cyhOU0ZvbnQqIG5zRm9udCkKICAgICBpZiAoZm9udCkKICAgICAgICAgcmV0dXJuIGZvbnQ7CiAK
LSAgICBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lcjsKKyAgICBDR0ZvbnRSZWYgdG1wQ0dG
b250OwogICAgIHVpbnQzMl90IGZvbnRJRDsKICAgICAvLyBTZW5kIGNyb3NzLXByb2Nlc3MgcmVx
dWVzdCB0byBsb2FkIGZvbnQuCi0gICAgaWYgKCFQbGF0Zm9ybVN1cHBvcnQ6OmxvYWRGb250KG5z
Rm9udCwgJmNvbnRhaW5lciwgJmZvbnRJRCkpCisgICAgaWYgKCFQbGF0Zm9ybVN1cHBvcnQ6Omxv
YWRGb250KG5zRm9udCwgJnRtcENHRm9udCwgJmZvbnRJRCkpCiAgICAgICAgIHJldHVybiAwOwog
CisgICAgUmV0YWluUHRyPENHRm9udFJlZj4gY2dGb250KHRtcENHRm9udCk7CiAgICAgLy8gTm93
IHRoYXQgd2UgaGF2ZSB0aGUgZm9udElEIGZyb20gdGhlIGJyb3dzZXIgcHJvY2Vzcywgd2UgY2Fu
IGNvbnN1bHQKICAgICAvLyB0aGUgSUQgY2FjaGUuCiAgICAgZm9udCA9IGZvbnRDYWNoZUJ5Rm9u
dElEKCkuZ2V0KGZvbnRJRCk7Ci0gICAgaWYgKGZvbnQpIHsKLSAgICAgICAgLy8gV2UgY2FuIHNh
ZmVseSBkaXNjYXJkIHRoZSBuZXcgY29udGFpbmVyIHNpbmNlIHdlIGFscmVhZHkgaGF2ZSB0aGUK
LSAgICAgICAgLy8gZm9udCBpbiBvdXIgY2FjaGUuCisgICAgaWYgKGZvbnQpCiAgICAgICAgIC8v
IEZJWE1FOiBQbGF0Zm9ybVN1cHBvcnQ6OmxvYWRGb250KCkgc2hvdWxkIGNvbnN1bHQgdGhlIGlk
IGNhY2hlCi0gICAgICAgIC8vIGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBmb250LiAgVGhlbiB3ZSBj
YW4gc2F2ZSB0aGlzIGFjdGl2YXRlL2RlYWN0aXZlCi0gICAgICAgIC8vIGRhbmNlIGFsdG9nZXRo
ZXIuCi0gICAgICAgIEFUU0ZvbnREZWFjdGl2YXRlKGNvbnRhaW5lciwgMCwga0FUU09wdGlvbkZs
YWdzRGVmYXVsdCk7CisgICAgICAgIC8vIGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBmb250LgogICAg
ICAgICByZXR1cm4gZm9udDsKLSAgICB9CiAKLSAgICByZXR1cm4gTWVtb3J5QWN0aXZhdGVkRm9u
dDo6Y3JlYXRlKGZvbnRJRCwgbnNGb250LCBjb250YWluZXIpOworICAgIHJldHVybiBNZW1vcnlB
Y3RpdmF0ZWRGb250OjpjcmVhdGUoZm9udElELCBuc0ZvbnQsIGNnRm9udC5nZXQoKSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlCiAKLVBhc3NSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9udD4gTWVtb3J5
QWN0aXZhdGVkRm9udDo6Y3JlYXRlKHVpbnQzMl90IGZvbnRJRCwgTlNGb250KiBuc0ZvbnQsIEFU
U0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyKQorUGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRG
b250PiBNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUodWludDMyX3QgZm9udElELCBOU0ZvbnQq
IG5zRm9udCwgQ0dGb250UmVmIGNnRm9udCkKIHsKLSAgTWVtb3J5QWN0aXZhdGVkRm9udCogZm9u
dCA9IG5ldyBNZW1vcnlBY3RpdmF0ZWRGb250KGZvbnRJRCwgbnNGb250LCBjb250YWluZXIpOwot
ICBpZiAoIWZvbnQtPmNnRm9udCgpKSAgLy8gT2JqZWN0IGNvbnN0cnVjdGlvbiBmYWlsZWQuCi0g
IHsKLSAgICAgIGRlbGV0ZSBmb250OwotICAgICAgcmV0dXJuIDA7Ci0gIH0KLSAgcmV0dXJuIGFk
b3B0UmVmKGZvbnQpOworICByZXR1cm4gYWRvcHRSZWYobmV3IE1lbW9yeUFjdGl2YXRlZEZvbnQo
Zm9udElELCBuc0ZvbnQsIGNnRm9udCkpOwogfQogCi1NZW1vcnlBY3RpdmF0ZWRGb250OjpNZW1v
cnlBY3RpdmF0ZWRGb250KHVpbnQzMl90IGZvbnRJRCwgTlNGb250KiBuc0ZvbnQsIEFUU0ZvbnRD
b250YWluZXJSZWYgY29udGFpbmVyKQotICAgIDogbV9mb250Q29udGFpbmVyKGNvbnRhaW5lcikK
LSAgICAsIG1fYXRzRm9udFJlZihrQVRTRm9udFJlZlVuc3BlY2lmaWVkKQorTWVtb3J5QWN0aXZh
dGVkRm9udDo6TWVtb3J5QWN0aXZhdGVkRm9udCh1aW50MzJfdCBmb250SUQsIE5TRm9udCogbnNG
b250LCBDR0ZvbnRSZWYgY2dGb250KQorICAgIDogbV9jZ0ZvbnQoY2dGb250KQogICAgICwgbV9m
b250SUQoZm9udElEKQogICAgICwgbV9pblNhbmRib3hIYXNoS2V5KGhhc2hLZXlGcm9tTlNGb250
KG5zRm9udCkpCiB7Ci0gICAgaWYgKCFjb250YWluZXIpCi0gICAgICAgIHJldHVybjsKLSAgICAK
LSAgICAvLyBDb3VudCB0aGUgbnVtYmVyIG9mIGZvbnRzIGluIHRoZSBjb250YWluZXIuCi0gICAg
SXRlbUNvdW50IGZvbnRDb3VudCA9IDA7Ci0gICAgT1NTdGF0dXMgZXJyID0gQVRTRm9udEZpbmRG
cm9tQ29udGFpbmVyKGNvbnRhaW5lciwga0FUU09wdGlvbkZsYWdzRGVmYXVsdCwgMCwgMCwgJmZv
bnRDb3VudCk7Ci0gICAgaWYgKGVyciAhPSBub0VyciB8fCBmb250Q291bnQgPCAxKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICAvLyBGb3Igbm93IGFsd2F5cyBhc3N1bWUgdGhhdCB3ZSB3YW50IHRo
ZSBmaXJzdCBmb250IGluIHRoZSBjb250YWluZXIuCi0gICAgQVRTRm9udEZpbmRGcm9tQ29udGFp
bmVyKGNvbnRhaW5lciwga0FUU09wdGlvbkZsYWdzRGVmYXVsdCwgMSwgJm1fYXRzRm9udFJlZiwg
MCk7Ci0KLSAgICBpZiAoIW1fYXRzRm9udFJlZikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8g
Q2FjaGUgQ0dGb250IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBmb250LgotICAgIG1fY2dGb250LmFk
b3B0Q0YoQ0dGb250Q3JlYXRlV2l0aFBsYXRmb3JtRm9udCgmbV9hdHNGb250UmVmKSk7Ci0gICAg
Ci0gICAgaWYgKCFtX2NnRm9udCkKLSAgICAgICAgcmV0dXJuOwotICAgIAogICAgIC8vIEFkZCBv
dXJzZWx2ZXMgdG8gY2FjaGVzLgogICAgIGZvbnRDYWNoZUJ5Rm9udElEKCkuYWRkKGZvbnRJRCwg
dGhpcyk7CiAgICAgZm9udENhY2hlQnlGb250TmFtZSgpLmFkZChtX2luU2FuZGJveEhhc2hLZXks
IHRoaXMpOwpAQCAtMjAzLDIwICsxNzEsMTIgQEAgTWVtb3J5QWN0aXZhdGVkRm9udDo6TWVtb3J5
QWN0aXZhdGVkRm9udCh1aW50MzJfdCBmb250SUQsIE5TRm9udCogbnNGb250LCBBVFNGb24KIC8v
IGZyb20gY2FjaGUuCiBNZW1vcnlBY3RpdmF0ZWRGb250Ojp+TWVtb3J5QWN0aXZhdGVkRm9udCgp
CiB7Ci0gICAgaWYgKG1fY2dGb250KSB7Ci0gICAgICAgIC8vIEZpcnN0IHJlbW92ZSBvdXJzZWx2
ZXMgZnJvbSB0aGUgY2FjaGVzLgotICAgICAgICBBU1NFUlQoZm9udENhY2hlQnlGb250SUQoKS5j
b250YWlucyhtX2ZvbnRJRCkpOwotICAgICAgICBBU1NFUlQoZm9udENhY2hlQnlGb250TmFtZSgp
LmNvbnRhaW5zKG1faW5TYW5kYm94SGFzaEtleSkpOwotICAgICAgICAKLSAgICAgICAgZm9udENh
Y2hlQnlGb250SUQoKS5yZW1vdmUobV9mb250SUQpOwotICAgICAgICBmb250Q2FjaGVCeUZvbnRO
YW1lKCkucmVtb3ZlKG1faW5TYW5kYm94SGFzaEtleSk7Ci0gICAgICAgIAotICAgICAgICAvLyBN
YWtlIHN1cmUgdGhlIENHRm9udCBpcyBkZXN0cm95ZWQgYmVmb3JlIGl0cyBmb250IGNvbnRhaW5l
ci4KLSAgICAgICAgbV9jZ0ZvbnQucmVsZWFzZVJlZigpOwotICAgIH0KLSAgICAKLSAgICBpZiAo
bV9mb250Q29udGFpbmVyICE9IGtBVFNGb250Q29udGFpbmVyUmVmVW5zcGVjaWZpZWQpCi0gICAg
ICAgIEFUU0ZvbnREZWFjdGl2YXRlKG1fZm9udENvbnRhaW5lciwgMCwga0FUU09wdGlvbkZsYWdz
RGVmYXVsdCk7CisgICAgLy8gRmlyc3QgcmVtb3ZlIG91cnNlbHZlcyBmcm9tIHRoZSBjYWNoZXMu
CisgICAgQVNTRVJUKGZvbnRDYWNoZUJ5Rm9udElEKCkuY29udGFpbnMobV9mb250SUQpKTsKKyAg
ICBBU1NFUlQoZm9udENhY2hlQnlGb250TmFtZSgpLmNvbnRhaW5zKG1faW5TYW5kYm94SGFzaEtl
eSkpOworCisgICAgZm9udENhY2hlQnlGb250SUQoKS5yZW1vdmUobV9mb250SUQpOworICAgIGZv
bnRDYWNoZUJ5Rm9udE5hbWUoKS5yZW1vdmUobV9pblNhbmRib3hIYXNoS2V5KTsKIH0KIAogLy8g
R2l2ZW4gYW4gTlNGb250LCB0cnkgdG8gbG9hZCBhIHJlcHJlc2VudGF0aW9uIG9mIHRoYXQgZm9u
dCBpbnRvIHRoZSBjZ0ZvbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggN2Y5NTk4MWVm
N2NjOWQ0OTE3NzViZjQxYWE5ZWY3OTZlMzQwYmExOS4uMWJiYmRkMDc2ZWMzYzk5ZTUwYzU2ZjZj
OTA5MzQ4OGYwNDU1MjA0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxMS0wOC0yNSAgSmVyZW15IE1vc2tvdmljaCAgPGplcmVteUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW0Nocm9taXVtXSBDaGFuZ2UgT09QIEZvbnQgbG9hZGluZyBjb2RlIHRvIHVz
ZSBDR0ZvbnQqKCkgQVBJcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2OTM1CisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaXMgbmVjZXNzYXJ5IGR1ZSBh
IGJ1ZyBpbiBBVFNGb250RGVhY3RpdmF0ZSgpIG9uIDEwLjcuCisgICAgICAgIFNlZSBjcmJ1Zy5j
b20vOTMxOTEgZm9yIGRldGFpbHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0Lmg6CisgICAgICAg
ICogc3JjL1BsYXRmb3JtQnJpZGdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQnJp
ZGdlOjpsb2FkRm9udCk6CisKIDIwMTEtMDktMDcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5NDYz
NS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5k
Ym94U3VwcG9ydC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRi
b3hTdXBwb3J0LmgKaW5kZXggMDg5OWE5NTY4ZGRlN2I4NjZiOWJkZmZkMmI4MGE4MWRhOGUzMmFh
Ny4uMzQyODBjNmViMjgxOGQ5ZTdiOGEwYTI4ZDE3NDViNDNkN2FiMjY3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgK
QEAgLTMxLDcgKzMxLDcgQEAKICNpZm5kZWYgV2ViU2FuZGJveFN1cHBvcnRfaAogI2RlZmluZSBX
ZWJTYW5kYm94U3VwcG9ydF9oCiAKLXR5cGVkZWYgdWludHB0cl90IEFUU0ZvbnRDb250YWluZXJS
ZWY7Cit0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKIAogI2lmZGVmIF9fT0JKQ19f
CiBAY2xhc3MgTlNGb250OwpAQCAtNDUsMTggKzQ1LDE1IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
Y2xhc3MgV2ViU2FuZGJveFN1cHBvcnQgewogcHVibGljOgogICAgIC8vIEdpdmVuIGFuIGlucHV0
IGZvbnQgLSB8c3JjRm9udHwgW3doaWNoIGNhbid0IGJlIGxvYWRlZCBkdWUgdG8gc2FuZGJveAot
ICAgIC8vIHJlc3RyaWN0aW9uc10uICBSZXR1cm4gYSBmb250IGNvbnRhaW5lciBiZWxvbmdpbmcg
dG8gYW4gZXF1aXZhbGVudAotICAgIC8vIGZvbnQgZmlsZSB0aGF0IGNhbiBiZSB1c2VkIHRvIGFj
Y2VzcyB0aGUgZm9udCBhbmQgYSB1bmlxdWUgaWRlbnRpZmllcgotICAgIC8vIGNvcnJlc3BvbmRp
bmcgdG8gdGhlIG9uLWRpc2sgZm9udCBmaWxlLgotICAgIC8vCi0gICAgLy8gTm90ZSB0aGF0IGEg
Zm9udCBjb250YWluZXIgbWF5IGNvbnRhaW4gbXVsdGlwbGUgZm9udHMsIHRoZSBjYWxsZXIgaXMK
LSAgICAvLyByZXNwb25zaWJsZSBmb3IgcmV0cmVpdmluZyB0aGUgYXBwcm9wcmlhdGUgZm9udCBm
cm9tIHRoZSBjb250YWluZXIuCisgICAgLy8gcmVzdHJpY3Rpb25zXS4gUmV0dXJuIGEgZm9udCBi
ZWxvbmdpbmcgdG8gYW4gZXF1aXZhbGVudCBmb250IGZpbGUKKyAgICAvLyB0aGF0IGNhbiBiZSB1
c2VkIHRvIGFjY2VzcyB0aGUgZm9udCBhbmQgYSB1bmlxdWUgaWRlbnRpZmllciBjb3JyZXNwb25k
aW5nCisgICAgLy8gdG8gdGhlIG9uLWRpc2sgZm9udCBmaWxlLgogICAgIC8vCiAgICAgLy8gSWYg
dGhpcyBmdW5jdGlvbiBzdWNjZWVkcywgdGhlIGNhbGxlciBhc3N1bWVzIG93bmVyc2hpcCBvZiB0
aGUgfG91dHwKLSAgICAvLyBwYXJhbWV0ZXIgYW5kIG11c3QgY2FsbCBBVFNGb250RGVhY3RpdmF0
ZSgpIHRvIHVubG9hZCBpdCB3aGVuIGRvbmUuCisgICAgLy8gcGFyYW1ldGVyIGFuZCBtdXN0IGNh
bGwgQ0dGb250UmVsZWFzZSgpIHRvIHVubG9hZCBpdCB3aGVuIGRvbmUuCiAgICAgLy8KICAgICAv
LyBSZXR1cm5zOiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGVycm9yLgotICAgIHZpcnR1YWwg
Ym9vbCBsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIEFUU0ZvbnRDb250YWluZXJSZWYqLCB1aW50
MzJfdCogZm9udElEKSA9IDA7CisgICAgdmlydHVhbCBib29sIGxvYWRGb250KE5TRm9udCogc3Jj
Rm9udCwgQ0dGb250UmVmKiBvdXQsIHVpbnQzMl90KiBmb250SUQpID0gMDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
UGxhdGZvcm1TdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3Jt
U3VwcG9ydC5jcHAKaW5kZXggYTQ4MTE1NWM3M2I3YzJmOGVjNjY3MWVkOTkwN2FiMDU1NjNlNTU1
My4uMjZiMWU5NmQwZDBhMjFiZDU3NTQ3ZDEyNDA1N2Y2NzM0ZmQ2YzVjNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCkBAIC00NDQsMTcgKzQ0
NCwxNyBAQCBib29sIFBsYXRmb3JtU3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChIRk9OVCBmb250
KQogI2VuZGlmCiAKICNpZiBPUyhEQVJXSU4pCi1ib29sIFBsYXRmb3JtU3VwcG9ydDo6bG9hZEZv
bnQoTlNGb250KiBzcmNGb250LCBBVFNGb250Q29udGFpbmVyUmVmKiBjb250YWluZXIsIHVpbnQz
Ml90KiBmb250SUQpCitib29sIFBsYXRmb3JtU3VwcG9ydDo6bG9hZEZvbnQoTlNGb250KiBzcmNG
b250LCBDR0ZvbnRSZWYqIG91dCwgdWludDMyX3QqIGZvbnRJRCkKIHsKICAgICBXZWJTYW5kYm94
U3VwcG9ydCogc3MgPSB3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+c2FuZGJveFN1cHBvcnQoKTsK
ICAgICBpZiAoc3MpCi0gICAgICAgIHJldHVybiBzcy0+bG9hZEZvbnQoc3JjRm9udCwgY29udGFp
bmVyLCBmb250SUQpOworICAgICAgICByZXR1cm4gc3MtPmxvYWRGb250KHNyY0ZvbnQsIG91dCwg
Zm9udElEKTsKIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGlu
IHJlc3BvbnNlIHRvIGFuIGVycm9yIGxvYWRpbmcgYQogICAgIC8vIGZvbnQgZHVlIHRvIGJlaW5n
IGJsb2NrZWQgYnkgdGhlIHNhbmRib3guCiAgICAgLy8gVGhpcyBieSBkZWZpbml0aW9uIHNob3Vs
ZG4ndCBoYXBwZW4gaWYgdGhlcmUgaXMgbm8gc2FuZGJveCBzdXBwb3J0LgogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgICpjb250YWluZXIgPSAwOworICAgICpvdXQgPSAwOwogICAgICpm
b250SUQgPSAwOwogICAgIHJldHVybiBmYWxzZTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>