<?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>60657</bug_id>
          
          <creation_ts>2011-05-11 13:43:10 -0700</creation_ts>
          <short_desc>SimpleFontData::scaledFontData should return a PassOwnPtr</short_desc>
          <delta_ts>2011-05-12 13:50:55 -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>New Bugs</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>
          
          <blocked>60723</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>aroben</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>402237</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-11 13:43:10 -0700</bug_when>
    <thetext>SimpleFontData::scaledFontData should return a PassOwnPtr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402240</commentid>
    <comment_count>1</comment_count>
      <attachid>93176</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-11 13:45:55 -0700</bug_when>
    <thetext>Created attachment 93176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402321</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-11 15:10:59 -0700</bug_when>
    <thetext>Should the function be renamed to createScaledFontData()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402345</commentid>
    <comment_count>3</comment_count>
      <attachid>93196</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-11 15:31:03 -0700</bug_when>
    <thetext>Created attachment 93196
Alternativ Patch (renamed to createScaledFontData)

(In reply to comment #2)
&gt; Should the function be renamed to createScaledFontData()?

Good idea, thx!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402346</commentid>
    <comment_count>4</comment_count>
      <attachid>93196</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-11 15:32:28 -0700</bug_when>
    <thetext>Comment on attachment 93196
Alternativ Patch (renamed to createScaledFontData)

Ooops, missed some changes in patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402548</commentid>
    <comment_count>5</comment_count>
      <attachid>93176</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-11 19:14:23 -0700</bug_when>
    <thetext>Comment on attachment 93176
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403117</commentid>
    <comment_count>6</comment_count>
      <attachid>93176</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-12 13:50:46 -0700</bug_when>
    <thetext>Comment on attachment 93176
Patch

Clearing flags on attachment: 93176

Committed r86375: &lt;http://trac.webkit.org/changeset/86375&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>403118</commentid>
    <comment_count>7</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-05-12 13:50:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93176</attachid>
            <date>2011-05-11 13:45:55 -0700</date>
            <delta_ts>2011-05-12 13:50:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60657-20110511224552.patch</filename>
            <type>text/plain</type>
            <size>16659</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYyNTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MmVkYmU3MDAxOGI0YjYw
NjAwZmI1YzYxYjRiMDMzNzc2M2Y1Y2ZjLi4wMDUwZTMwZDgyNzZmNGUxM2U2NDljMmNiMWZhZWRm
YWIyODExMWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDUtMTEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRh
IHNob3VsZCByZXR1cm4gYSBQYXNzT3duUHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MDY1NworCisgICAgICAgIExldCBzY2FsZWRGb250RGF0YSBy
ZXR1cm4gYSBQYXNzT3duUHRyIGluc3RlYWQgb2YgYSByYXcgcG9pbnRlcgorICAgICAgICB0byBt
YWtlIFNpbXBsZUZvbnREYXRhIGJ1aWxkIHdpdGhvdXQgTE9PU0VfUEFTU19PV05fUFRSLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0YSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0YSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTaW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2lt
cGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy93eC9TaW1wbGVGb250RGF0YVd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnRE
YXRhOjpzY2FsZWRGb250RGF0YSk6CisKIDIwMTEtMDUtMTEgIEplc3NpZSBCZXJsaW4gIDxqYmVy
bGluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTdGV2ZSBGYWxrZW5idXJnLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgK
aW5kZXggYjg3Nzg1ODc3OTcwYmYxMDJlMzY1MzFmZGQ1YjdjMmNjYjBiZWVkNi4uMmM3NjE4NmIz
Mzg4Mjc3MWE3YmNiMWU5MWE3Yjc4MTAzODQxNzZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCkBAIC0xOTMsNyArMTkzLDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgY29tbW9uSW5pdCgpOwogCi0gICAgU2ltcGxlRm9udERhdGEq
IHNjYWxlZEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGZsb2F0IHNjYWxlRmFjdG9y
KSBjb25zdDsKKyAgICBQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBzY2FsZWRGb250RGF0YShj
b25zdCBGb250RGVzY3JpcHRpb24mLCBmbG9hdCBzY2FsZUZhY3RvcikgY29uc3Q7CiAKICNpZiAo
UExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpKSBcCiAgICAgfHwgKE9TKFdJTkRPV1MpICYmIFBM
QVRGT1JNKFdYKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAK
aW5kZXggYzMwMjg1OTlmMjhmNDg1MzliZjkzNjQ2MDViODJmYTIzOWMwODlkZC4uOGJmZWRjNjNk
ZTBhZDA1NGYwYzE4Y2FiNmRiMjU5NDY3NDllZjdmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxl
Rm9udERhdGFDaHJvbWl1bVdpbi5jcHAKQEAgLTMwLDEwICszMCw2IEBACiAgKi8KIAogI2luY2x1
ZGUgImNvbmZpZy5oIgotCi0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgZGVmaW5lIQotI2RlZmluZSBM
T09TRV9QQVNTX09XTl9QVFIKLQogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAKICNpbmNs
dWRlICJGbG9hdFJlY3QuaCIKQEAgLTExNiwxNCArMTEyLDE0IEBAIHZvaWQgU2ltcGxlRm9udERh
dGE6OnBsYXRmb3JtRGVzdHJveSgpCiB7CiB9CiAKLVNpbXBsZUZvbnREYXRhKiBTaW1wbGVGb250
RGF0YTo6c2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRp
b24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAorUGFzc093blB0cjxTaW1wbGVGb250RGF0YT4g
U2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZhY3RvcikgY29uc3QKIHsKICAgICBMT0dGT05UIHdp
bkZvbnQ7CiAgICAgR2V0T2JqZWN0KG1fcGxhdGZvcm1EYXRhLmhmb250KCksIHNpemVvZihMT0dG
T05UKSwgJndpbkZvbnQpOwogICAgIGZsb2F0IHNjYWxlZFNpemUgPSBzY2FsZUZhY3RvciAqIGZv
bnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKTsKICAgICB3aW5Gb250LmxmSGVpZ2h0ID0gLWxy
b3VuZGYoc2NhbGVkU2l6ZSk7CiAgICAgSEZPTlQgaGZvbnQgPSBDcmVhdGVGb250SW5kaXJlY3Qo
JndpbkZvbnQpOwotICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERhdGEoRm9udFBsYXRmb3JtRGF0
YShoZm9udCwgc2NhbGVkU2l6ZSksIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSk7CisgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBTaW1wbGVGb250RGF0YShGb250UGxhdGZvcm1EYXRhKGhmb250LCBzY2Fs
ZWRTaXplKSwgaXNDdXN0b21Gb250KCksIGZhbHNlKSk7CiB9CiAKIFNpbXBsZUZvbnREYXRhKiBT
aW1wbGVGb250RGF0YTo6c21hbGxDYXBzRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBm
b250RGVzY3JpcHRpb24pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhTGludXguY3BwCmlu
ZGV4IGJjYWQxYzRmODllYjM4Mzg0NGRlYjc0NDAxMmIyMDRkNzRiOGNhYzguLjdjYTE3N2Q5NTY5
YTk5NTQzOTZmNmJmMjIzNDA4NzM2YjYwM2NkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhTGludXguY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRh
TGludXguY3BwCkBAIC0yOSwxMCArMjksNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
LQotLy8gRklYTUU6IFJlbW92ZSB0aGlzIGRlZmluZSEKLSNkZWZpbmUgTE9PU0VfUEFTU19PV05f
UFRSCi0KICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogCiAjaW5jbHVkZSAiRm9udC5oIgpA
QCAtMTU5LDEwICsxNTUsMTAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1EZXN0cm95
KCkKIHsKIH0KIAotU2ltcGxlRm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0
YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2NhbGVGYWN0
b3IpIGNvbnN0CitQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBTaW1wbGVGb250RGF0YTo6c2Nh
bGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2F0
IHNjYWxlRmFjdG9yKSBjb25zdAogewogICAgIGNvbnN0IGZsb2F0IHNjYWxlZFNpemUgPSBscm91
bmRmKGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKSAqIHNjYWxlRmFjdG9yKTsKLSAgICBy
ZXR1cm4gbmV3IFNpbXBsZUZvbnREYXRhKEZvbnRQbGF0Zm9ybURhdGEobV9wbGF0Zm9ybURhdGEs
IHNjYWxlZFNpemUpLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpOworICAgIHJldHVybiBhZG9wdFB0
cihuZXcgU2ltcGxlRm9udERhdGEoRm9udFBsYXRmb3JtRGF0YShtX3BsYXRmb3JtRGF0YSwgc2Nh
bGVkU2l6ZSksIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSkpOwogfQogCiBTaW1wbGVGb250RGF0YSog
U2ltcGxlRm9udERhdGE6OnNtYWxsQ2Fwc0ZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBl
LmNwcAppbmRleCA2MjkwZWViMzQ5ZDE2ZTU0ZGRjODQyN2Q4NzVlMWU1MjQ4NTU1ZTU3Li4wMjQ3
ZDc0OWZmMjFiOWEzNmI5ZGVhZWRmNTAzNWI0Y2JiODI1MzAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1w
bGVGb250RGF0YUZyZWVUeXBlLmNwcApAQCAtODYsMTEgKzg2LDExIEBAIHZvaWQgU2ltcGxlRm9u
dERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCiB7CiB9CiAKLVNpbXBsZUZvbnREYXRhKiBTaW1wbGVG
b250RGF0YTo6c2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3Jp
cHRpb24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAorUGFzc093blB0cjxTaW1wbGVGb250RGF0
YT4gU2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYg
Zm9udERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZhY3RvcikgY29uc3QKIHsKLSAgICByZXR1cm4g
bmV3IFNpbXBsZUZvbnREYXRhKEZvbnRQbGF0Zm9ybURhdGEoY2Fpcm9fc2NhbGVkX2ZvbnRfZ2V0
X2ZvbnRfZmFjZShtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCkpLAorICAgIHJldHVybiBhZG9w
dFB0cihuZXcgU2ltcGxlRm9udERhdGEoRm9udFBsYXRmb3JtRGF0YShjYWlyb19zY2FsZWRfZm9u
dF9nZXRfZm9udF9mYWNlKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQoKSksCiAgICAgICAgIHNj
YWxlRmFjdG9yICogZm9udERlc2NyaXB0aW9uLmNvbXB1dGVkU2l6ZSgpLCBtX3BsYXRmb3JtRGF0
YS5zeW50aGV0aWNCb2xkKCksIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSksCi0g
ICAgICAgIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSk7CisgICAgICAgIGlzQ3VzdG9tRm9udCgpLCBm
YWxzZSkpOwogfQogCiBTaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNtYWxsQ2Fwc0Zv
bnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9u
dERhdGFIYWlrdS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9T
aW1wbGVGb250RGF0YUhhaWt1LmNwcAppbmRleCA0ZGVkNzYxZDM4YTE0MWQ2ZGNkMDAyZThhOWM5
MzAxZDliZTI3YTMzLi44ZjRmMGMzYTdhMTNiYjg5YjkxZTNlOTNhMmIwMGQ5NWIzZTVkYWFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVG
b250RGF0YUhhaWt1LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9o
YWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcApAQCAtNjYsMTIgKzY2LDEyIEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCiB7CiB9CiAKLVNpbXBsZUZvbnREYXRhKiBT
aW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpb24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAorUGFzc093blB0cjxTaW1wbGVG
b250RGF0YT4gU2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZhY3RvcikgY29uc3QKIHsKICAgICBG
b250RGVzY3JpcHRpb24gZGVzYyA9IEZvbnREZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pOwog
ICAgIGRlc2Muc2V0U3BlY2lmaWVkU2l6ZShzY2FsZUZhY3RvciAqIGZvbnREZXNjcmlwdGlvbi5j
b21wdXRlZFNpemUoKSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YSBmb250UGxhdGZvcm1EYXRhKGRl
c2MsIGRlc2MuZmFtaWx5KCkuZmFtaWx5KCkpOwotICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERh
dGEoZm9udFBsYXRmb3JtRGF0YSwgaXNDdXN0b21Gb250KCksIGZhbHNlKTsKKyAgICByZXR1cm4g
YWRvcHRQdHIobmV3IFNpbXBsZUZvbnREYXRhKGZvbnRQbGF0Zm9ybURhdGEsIGlzQ3VzdG9tRm9u
dCgpLCBmYWxzZSkpOwogfQogCiBTaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNtYWxs
Q2Fwc0ZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBs
ZUZvbnREYXRhTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1Np
bXBsZUZvbnREYXRhTWFjLm1tCmluZGV4IDU4NzBkYzhjOWU1Y2UxZjExYTU3MjM1NWQ0NzY0MjE5
ZTg0MDAzYjguLjBjN2IwOWFlZjU2NDU3ODNhYmY5NGVjMDRlNzdlOTcyNDQyODVmYjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0
YU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxl
Rm9udERhdGFNYWMubW0KQEAgLTI4LDEwICsyOCw2IEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmln
LmgiCi0KLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyBkZWZpbmUhCi0jZGVmaW5lIExPT1NFX1BBU1Nf
T1dOX1BUUgotCiAjaW1wb3J0ICJTaW1wbGVGb250RGF0YS5oIgogCiAjaW1wb3J0ICJCbG9ja0V4
Y2VwdGlvbnMuaCIKQEAgLTMwMCwxMiArMjk2LDEyIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtRGVzdHJveSgpCiAjZW5kaWYKIH0KIAotU2ltcGxlRm9udERhdGEqIFNpbXBsZUZvbnRE
YXRhOjpzY2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlv
biwgZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0CitQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBT
aW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpb24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAogewogICAgIGlmIChpc0N1c3Rv
bUZvbnQoKSkgewogICAgICAgICBGb250UGxhdGZvcm1EYXRhIHNjYWxlZEZvbnREYXRhKG1fcGxh
dGZvcm1EYXRhKTsKICAgICAgICAgc2NhbGVkRm9udERhdGEubV9zaXplID0gc2NhbGVkRm9udERh
dGEubV9zaXplICogc2NhbGVGYWN0b3I7Ci0gICAgICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERh
dGEoc2NhbGVkRm9udERhdGEsIHRydWUsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBTaW1wbGVGb250RGF0YShzY2FsZWRGb250RGF0YSwgdHJ1ZSwgZmFsc2UpKTsKICAgICB9
CiAKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CkBAIC0zMjksMTEgKzMyNSwxMiBA
QCBTaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgZm9udERlc2NyaQogICAgICAgICBzY2FsZWRGb250RGF0YS5tX3N5bnRo
ZXRpY0JvbGQgPSAoZm9udFRyYWl0cyAmIE5TQm9sZEZvbnRNYXNrKSAmJiAhKHNjYWxlZEZvbnRU
cmFpdHMgJiBOU0JvbGRGb250TWFzayk7CiAgICAgICAgIHNjYWxlZEZvbnREYXRhLm1fc3ludGhl
dGljT2JsaXF1ZSA9IChmb250VHJhaXRzICYgTlNJdGFsaWNGb250TWFzaykgJiYgIShzY2FsZWRG
b250VHJhaXRzICYgTlNJdGFsaWNGb250TWFzayk7CiAKLSAgICAgICAgcmV0dXJuIGZvbnRDYWNo
ZSgpLT5nZXRDYWNoZWRGb250RGF0YSgmc2NhbGVkRm9udERhdGEpOworICAgICAgICAvLyBTaW1w
bGVGb250RGF0YTo6cGxhdGZvcm1EZXN0cm95KCkgdGFrZXMgY2FyZSBvZiBub3QgZGVsZXRpbmcg
dGhlIGNhY2hlZCBmb250IGRhdGEgdHdpY2UuCisgICAgICAgIHJldHVybiBhZG9wdFB0cihmb250
Q2FjaGUoKS0+Z2V0Q2FjaGVkRm9udERhdGEoJnNjYWxlZEZvbnREYXRhKSk7CiAgICAgfQogICAg
IEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAogU2ltcGxlRm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpzbWFsbENhcHNG
b250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZv
bnREYXRhUGFuZ28uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28v
U2ltcGxlRm9udERhdGFQYW5nby5jcHAKaW5kZXggM2ZlMTViMzY3MzY2NmVkZWQ4OWM5ZmYxZjBj
MmMwZmM5Y2Y5ZjljOC4uYjQxY2Y1ZDhiNTY5ODg2YWYwNmVhNGQzNWE5MTkwMjlhZmEyYjk5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxl
Rm9udERhdGFQYW5nby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAKQEAgLTg0LDEyICs4NCwxMiBAQCB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybURlc3Ryb3koKQogewogfQogCi1TaW1wbGVGb250RGF0YSog
U2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZhY3RvcikgY29uc3QKK1Bhc3NPd25QdHI8U2ltcGxl
Rm9udERhdGE+IFNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3Jp
cHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0CiB7CiAgICAg
Rm9udERlc2NyaXB0aW9uIGRlc2MgPSBGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTsK
ICAgICBkZXNjLnNldFNwZWNpZmllZFNpemUoc2NhbGVGYWN0b3IgKiBmb250RGVzY3JpcHRpb24u
Y29tcHV0ZWRTaXplKCkpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEgcGxhdGZvcm1EYXRhKGRlc2Ms
IGRlc2MuZmFtaWx5KCkuZmFtaWx5KCkpOwotICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERhdGEo
cGxhdGZvcm1EYXRhKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNpbXBsZUZvbnREYXRhKHBs
YXRmb3JtRGF0YSkpOwogfQogCiBTaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNtYWxs
Q2Fwc0ZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxl
Rm9udERhdGFRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1w
bGVGb250RGF0YVF0LmNwcAppbmRleCAwMzEyMDkyNjY4YjgyMWY5YTY2MzYzMmVlNmYyODRkYzk5
MmQyM2QwLi41ZDBmYTcwOTFiM2FkNzM0OTg2NjJlMzMxMWVkNGUzMDk4NWFkN2ZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250
RGF0YVF0LmNwcApAQCAtNzEsMTAgKzcxLDEwIEBAIGZsb2F0IFNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiAgICAgcmV0dXJuIGFkdmFuY2Vz
LmF0KDApLngoKTsKIH0KIAotU2ltcGxlRm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpzY2FsZWRG
b250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2Nh
bGVGYWN0b3IpIGNvbnN0CitQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBTaW1wbGVGb250RGF0
YTo6c2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24s
IGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAogewogICAgIGNvbnN0IGZsb2F0IHNjYWxlZFNpemUg
PSBscm91bmRmKGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKSAqIHNjYWxlRmFjdG9yKTsK
LSAgICByZXR1cm4gbmV3IFNpbXBsZUZvbnREYXRhKEZvbnRQbGF0Zm9ybURhdGEobV9wbGF0Zm9y
bURhdGEsIHNjYWxlZFNpemUpLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpOworICAgIHJldHVybiBh
ZG9wdFB0cihuZXcgU2ltcGxlRm9udERhdGEoRm9udFBsYXRmb3JtRGF0YShtX3BsYXRmb3JtRGF0
YSwgc2NhbGVkU2l6ZSksIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSkpOwogfQogCiBTaW1wbGVGb250
RGF0YSogU2ltcGxlRm9udERhdGE6OnNtYWxsQ2Fwc0ZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYgZm9udERlc2NyaXB0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAKaW5kZXggNzk2
MmM3MzQyZjY4NmM1MzZiMzgyYjZhNWNlYmEwMDdkOGM2ZGFkYi4uMjYxOWFmMTA0MWEyMDM2MDk3
N2JjZTgzOGY0YTJkNTBjNzY0YTI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCkBAIC0yNywxMCAr
MjcsNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotLy8gRklYTUU6IFJlbW92ZSB0
aGlzIGRlZmluZSEKLSNkZWZpbmUgTE9PU0VfUEFTU19PV05fUFRSCi0KICNpbmNsdWRlICJTaW1w
bGVGb250RGF0YS5oIgogCiAjaW5jbHVkZSAiRm9udC5oIgpAQCAtMTEyLDIwICsxMDgsMjAgQEAg
dm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1EZXN0cm95KCkKICAgICBkZWxldGUgbV9zY3Jp
cHRGb250UHJvcGVydGllczsKIH0KIAotU2ltcGxlRm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpz
Y2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxv
YXQgc2NhbGVGYWN0b3IpIGNvbnN0CitQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBTaW1wbGVG
b250RGF0YTo6c2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3Jp
cHRpb24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAogewotICAgICAgICBmbG9hdCBzY2FsZWRT
aXplID0gc2NhbGVGYWN0b3IgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCk7Ci0gICAgICAgIGlmIChp
c0N1c3RvbUZvbnQoKSkgewotICAgICAgICAgICAgRm9udFBsYXRmb3JtRGF0YSBzY2FsZWRGb250
KG1fcGxhdGZvcm1EYXRhKTsKLSAgICAgICAgICAgIHNjYWxlZEZvbnQuc2V0U2l6ZShzY2FsZWRT
aXplKTsKLSAgICAgICAgICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERhdGEoc2NhbGVkRm9udCwg
dHJ1ZSwgZmFsc2UpOwotICAgICAgICB9CisgICAgZmxvYXQgc2NhbGVkU2l6ZSA9IHNjYWxlRmFj
dG9yICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpOworICAgIGlmIChpc0N1c3RvbUZvbnQoKSkgewor
ICAgICAgICBGb250UGxhdGZvcm1EYXRhIHNjYWxlZEZvbnQobV9wbGF0Zm9ybURhdGEpOworICAg
ICAgICBzY2FsZWRGb250LnNldFNpemUoc2NhbGVkU2l6ZSk7CisgICAgICAgIHJldHVybiBhZG9w
dFB0cihuZXcgU2ltcGxlRm9udERhdGEoc2NhbGVkRm9udCwgdHJ1ZSwgZmFsc2UpKTsKKyAgICB9
CiAKLSAgICAgICAgTE9HRk9OVCB3aW5mb250OwotICAgICAgICBHZXRPYmplY3QobV9wbGF0Zm9y
bURhdGEuaGZvbnQoKSwgc2l6ZW9mKExPR0ZPTlQpLCAmd2luZm9udCk7Ci0gICAgICAgIHdpbmZv
bnQubGZIZWlnaHQgPSAtbHJvdW5kZihzY2FsZWRTaXplICogKG1fcGxhdGZvcm1EYXRhLnVzZUdE
SSgpID8gMSA6IDMyKSk7Ci0gICAgICAgIEhGT05UIGhmb250ID0gQ3JlYXRlRm9udEluZGlyZWN0
KCZ3aW5mb250KTsKLSAgICAgICAgcmV0dXJuIG5ldyBTaW1wbGVGb250RGF0YShGb250UGxhdGZv
cm1EYXRhKGhmb250LCBzY2FsZWRTaXplLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCks
IG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSwgbV9wbGF0Zm9ybURhdGEudXNlR0RJ
KCkpLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpOworICAgIExPR0ZPTlQgd2luZm9udDsKKyAgICBH
ZXRPYmplY3QobV9wbGF0Zm9ybURhdGEuaGZvbnQoKSwgc2l6ZW9mKExPR0ZPTlQpLCAmd2luZm9u
dCk7CisgICAgd2luZm9udC5sZkhlaWdodCA9IC1scm91bmRmKHNjYWxlZFNpemUgKiAobV9wbGF0
Zm9ybURhdGEudXNlR0RJKCkgPyAxIDogMzIpKTsKKyAgICBIRk9OVCBoZm9udCA9IENyZWF0ZUZv
bnRJbmRpcmVjdCgmd2luZm9udCk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTaW1wbGVGb250
RGF0YShGb250UGxhdGZvcm1EYXRhKGhmb250LCBzY2FsZWRTaXplLCBtX3BsYXRmb3JtRGF0YS5z
eW50aGV0aWNCb2xkKCksIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSwgbV9wbGF0
Zm9ybURhdGEudXNlR0RJKCkpLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpKTsKIH0KIAogU2ltcGxl
Rm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpzbWFsbENhcHNGb250RGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5j
cHAKaW5kZXggZDg5Mjg0YWUyMTFkZDUxZDBkYzAxMGM1ZmY3MDFjYzc1ODViMDM2Ny4uODdmYzY4
NDVhNTlmODEyODViZmM2OWNlOTlkYTA1ODQ1ZmYzYWJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFX
aW5DRS5jcHAKQEAgLTI4LDEwICsyOCw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgZGVmaW5lIQotI2RlZmluZSBMT09TRV9QQVNTX09XTl9Q
VFIKLQogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAKICNpbmNsdWRlICJGbG9hdFJlY3Qu
aCIKQEAgLTY3LDE0ICs2MywxNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybURlc3Ry
b3koKQogewogfQogCi1TaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnRE
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZh
Y3RvcikgY29uc3QKK1Bhc3NPd25QdHI8U2ltcGxlRm9udERhdGE+IFNpbXBsZUZvbnREYXRhOjpz
Y2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxv
YXQgc2NhbGVGYWN0b3IpIGNvbnN0CiB7CiAgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNjKGZv
bnREZXNjcmlwdGlvbik7CiAgICAgZm9udERlc2Muc2V0Q29tcHV0ZWRTaXplKGxyb3VuZGYoc2Nh
bGVGYWN0b3IgKiBmb250RGVzYy5jb21wdXRlZFNpemUoKSkpOwogICAgIGZvbnREZXNjLnNldFNw
ZWNpZmllZFNpemUobHJvdW5kZihzY2FsZUZhY3RvciAqIGZvbnREZXNjLnNwZWNpZmllZFNpemUo
KSkpOwogICAgIGZvbnREZXNjLnNldEtleXdvcmRTaXplKGxyb3VuZGYoc2NhbGVGYWN0b3IgKiBm
b250RGVzYy5rZXl3b3JkU2l6ZSgpKSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YSogcmVzdWx0ID0g
Zm9udENhY2hlKCktPmdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2MsIG1fcGxhdGZv
cm1EYXRhLmZhbWlseSgpKTsKLSAgICByZXR1cm4gcmVzdWx0ID8gbmV3IFNpbXBsZUZvbnREYXRh
KCpyZXN1bHQpIDogMDsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTaW1wbGVGb250RGF0YSgqcmVzdWx0KSk7CiB9CiAK
IFNpbXBsZUZvbnREYXRhKiBTaW1wbGVGb250RGF0YTo6c21hbGxDYXBzRm9udERhdGEoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVGb250RGF0YVd4LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCmlu
ZGV4IDRmMjRlNGMyNWRlYzZkYTgyNGRlOTBjZWFhMTUzNjYxZmFkYWE4OTAuLmNlYWIxYWJlYjY5
Mjg5YmU2YTk2OTc1NzQwMmQ0MzcxZWMyYWIwY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCkBAIC05MCwx
MiArOTAsMTIgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1EZXN0cm95KCkKICNlbmRp
ZgogfQogCi1TaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZhY3Rvcikg
Y29uc3QKK1Bhc3NPd25QdHI8U2ltcGxlRm9udERhdGE+IFNpbXBsZUZvbnREYXRhOjpzY2FsZWRG
b250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2Nh
bGVGYWN0b3IpIGNvbnN0CiB7CiAgICAgRm9udERlc2NyaXB0aW9uIGRlc2MgPSBGb250RGVzY3Jp
cHRpb24oZm9udERlc2NyaXB0aW9uKTsKICAgICBkZXNjLnNldFNwZWNpZmllZFNpemUoc2NhbGVG
YWN0b3IgKiBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRTaXplKCkpOwogICAgIEZvbnRQbGF0Zm9y
bURhdGEgcGxhdGZvcm1EYXRhKGRlc2MsIGRlc2MuZmFtaWx5KCkuZmFtaWx5KCkpOwotICAgIHJl
dHVybiBuZXcgU2ltcGxlRm9udERhdGEocGxhdGZvcm1EYXRhLCBpc0N1c3RvbUZvbnQoKSwgZmFs
c2UpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2ltcGxlRm9udERhdGEocGxhdGZvcm1EYXRh
LCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpKTsKIH0KIAogU2ltcGxlRm9udERhdGEqIFNpbXBsZUZv
bnREYXRhOjpzbWFsbENhcHNGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbikgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93196</attachid>
            <date>2011-05-11 15:31:03 -0700</date>
            <delta_ts>2011-05-11 15:32:27 -0700</delta_ts>
            <desc>Alternativ Patch (renamed to createScaledFontData)</desc>
            <filename>bug-60657-20110511224552.patch</filename>
            <type>text/plain</type>
            <size>16725</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYyNTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MmVkYmU3MDAxOGI0YjYw
NjAwZmI1YzYxYjRiMDMzNzc2M2Y1Y2ZjLi4wMDUwZTMwZDgyNzZmNGUxM2U2NDljMmNiMWZhZWRm
YWIyODExMWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMDUtMTEgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRh
IHNob3VsZCByZXR1cm4gYSBQYXNzT3duUHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MDY1NworCisgICAgICAgIExldCBzY2FsZWRGb250RGF0YSBy
ZXR1cm4gYSBQYXNzT3duUHRyIGluc3RlYWQgb2YgYSByYXcgcG9pbnRlcgorICAgICAgICB0byBt
YWtlIFNpbXBsZUZvbnREYXRhIGJ1aWxkIHdpdGhvdXQgTE9PU0VfUEFTU19PV05fUFRSLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0YSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0YSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTaW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2lt
cGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy93eC9TaW1wbGVGb250RGF0YVd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnRE
YXRhOjpzY2FsZWRGb250RGF0YSk6CisKIDIwMTEtMDUtMTEgIEplc3NpZSBCZXJsaW4gIDxqYmVy
bGluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTdGV2ZSBGYWxrZW5idXJnLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgK
aW5kZXggYjg3Nzg1ODc3OTcwYmYxMDJlMzY1MzFmZGQ1YjdjMmNjYjBiZWVkNi4uMmM3NjE4NmIz
Mzg4Mjc3MWE3YmNiMWU5MWE3Yjc4MTAzODQxNzZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCkBAIC0xOTMsNyArMTkzLDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgY29tbW9uSW5pdCgpOwogCi0gICAgU2ltcGxlRm9udERhdGEq
IHNjYWxlZEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGZsb2F0IHNjYWxlRmFjdG9y
KSBjb25zdDsKKyAgICBQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBjcmVhdGVTY2FsZWRGb250
RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBmbG9hdCBzY2FsZUZhY3RvcikgY29uc3Q7CiAK
ICNpZiAoUExBVEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpKSBcCiAgICAgfHwgKE9TKFdJTkRPV1Mp
ICYmIFBMQVRGT1JNKFdYKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdp
bi5jcHAKaW5kZXggYzMwMjg1OTlmMjhmNDg1MzliZjkzNjQ2MDViODJmYTIzOWMwODlkZC4uOGJm
ZWRjNjNkZTBhZDA1NGYwYzE4Y2FiNmRiMjU5NDY3NDllZjdmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1
bVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
U2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAKQEAgLTMwLDEwICszMCw2IEBACiAgKi8KIAog
I2luY2x1ZGUgImNvbmZpZy5oIgotCi0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgZGVmaW5lIQotI2Rl
ZmluZSBMT09TRV9QQVNTX09XTl9QVFIKLQogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAK
ICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKQEAgLTExNiwxNCArMTEyLDE0IEBAIHZvaWQgU2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCiB7CiB9CiAKLVNpbXBsZUZvbnREYXRhKiBTaW1w
bGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVz
Y3JpcHRpb24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAorUGFzc093blB0cjxTaW1wbGVGb250
RGF0YT4gU2ltcGxlRm9udERhdGE6OmNyZWF0ZVNjYWxlZEZvbnREYXRhKGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZhY3RvcikgY29uc3QKIHsKICAg
ICBMT0dGT05UIHdpbkZvbnQ7CiAgICAgR2V0T2JqZWN0KG1fcGxhdGZvcm1EYXRhLmhmb250KCks
IHNpemVvZihMT0dGT05UKSwgJndpbkZvbnQpOwogICAgIGZsb2F0IHNjYWxlZFNpemUgPSBzY2Fs
ZUZhY3RvciAqIGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKTsKICAgICB3aW5Gb250Lmxm
SGVpZ2h0ID0gLWxyb3VuZGYoc2NhbGVkU2l6ZSk7CiAgICAgSEZPTlQgaGZvbnQgPSBDcmVhdGVG
b250SW5kaXJlY3QoJndpbkZvbnQpOwotICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERhdGEoRm9u
dFBsYXRmb3JtRGF0YShoZm9udCwgc2NhbGVkU2l6ZSksIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSk7
CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTaW1wbGVGb250RGF0YShGb250UGxhdGZvcm1EYXRh
KGhmb250LCBzY2FsZWRTaXplKSwgaXNDdXN0b21Gb250KCksIGZhbHNlKSk7CiB9CiAKIFNpbXBs
ZUZvbnREYXRhKiBTaW1wbGVGb250RGF0YTo6c21hbGxDYXBzRm9udERhdGEoY29uc3QgRm9udERl
c2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRh
TGludXguY3BwCmluZGV4IGJjYWQxYzRmODllYjM4Mzg0NGRlYjc0NDAxMmIyMDRkNzRiOGNhYzgu
LjdjYTE3N2Q5NTY5YTk5NTQzOTZmNmJmMjIzNDA4NzM2YjYwM2NkMDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhTGlu
dXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhTGludXguY3BwCkBAIC0yOSwxMCArMjksNiBAQAogICovCiAKICNpbmNsdWRl
ICJjb25maWcuaCIKLQotLy8gRklYTUU6IFJlbW92ZSB0aGlzIGRlZmluZSEKLSNkZWZpbmUgTE9P
U0VfUEFTU19PV05fUFRSCi0KICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogCiAjaW5jbHVk
ZSAiRm9udC5oIgpAQCAtMTU5LDEwICsxNTUsMTAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxh
dGZvcm1EZXN0cm95KCkKIHsKIH0KIAotU2ltcGxlRm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpz
Y2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxv
YXQgc2NhbGVGYWN0b3IpIGNvbnN0CitQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBTaW1wbGVG
b250RGF0YTo6Y3JlYXRlU2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpb24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAogewogICAgIGNvbnN0IGZsb2F0
IHNjYWxlZFNpemUgPSBscm91bmRmKGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKSAqIHNj
YWxlRmFjdG9yKTsKLSAgICByZXR1cm4gbmV3IFNpbXBsZUZvbnREYXRhKEZvbnRQbGF0Zm9ybURh
dGEobV9wbGF0Zm9ybURhdGEsIHNjYWxlZFNpemUpLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpOwor
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2ltcGxlRm9udERhdGEoRm9udFBsYXRmb3JtRGF0YSht
X3BsYXRmb3JtRGF0YSwgc2NhbGVkU2l6ZSksIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSkpOwogfQog
CiBTaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNtYWxsQ2Fwc0ZvbnREYXRhKGNvbnN0
IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVl
VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1w
bGVGb250RGF0YUZyZWVUeXBlLmNwcAppbmRleCA2MjkwZWViMzQ5ZDE2ZTU0ZGRjODQyN2Q4NzVl
MWU1MjQ4NTU1ZTU3Li4wMjQ3ZDc0OWZmMjFiOWEzNmI5ZGVhZWRmNTAzNWI0Y2JiODI1MzAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1w
bGVGb250RGF0YUZyZWVUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcApAQCAtODYsMTEgKzg2LDEx
IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCiB7CiB9CiAKLVNpbXBs
ZUZvbnREYXRhKiBTaW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAorUGFzc093
blB0cjxTaW1wbGVGb250RGF0YT4gU2ltcGxlRm9udERhdGE6OmNyZWF0ZVNjYWxlZEZvbnREYXRh
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZhY3Rv
cikgY29uc3QKIHsKLSAgICByZXR1cm4gbmV3IFNpbXBsZUZvbnREYXRhKEZvbnRQbGF0Zm9ybURh
dGEoY2Fpcm9fc2NhbGVkX2ZvbnRfZ2V0X2ZvbnRfZmFjZShtX3BsYXRmb3JtRGF0YS5zY2FsZWRG
b250KCkpLAorICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2ltcGxlRm9udERhdGEoRm9udFBsYXRm
b3JtRGF0YShjYWlyb19zY2FsZWRfZm9udF9nZXRfZm9udF9mYWNlKG1fcGxhdGZvcm1EYXRhLnNj
YWxlZEZvbnQoKSksCiAgICAgICAgIHNjYWxlRmFjdG9yICogZm9udERlc2NyaXB0aW9uLmNvbXB1
dGVkU2l6ZSgpLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksIG1fcGxhdGZvcm1EYXRh
LnN5bnRoZXRpY09ibGlxdWUoKSksCi0gICAgICAgIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSk7Cisg
ICAgICAgIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSkpOwogfQogCiBTaW1wbGVGb250RGF0YSogU2lt
cGxlRm9udERhdGE6OnNtYWxsQ2Fwc0ZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcAppbmRleCA0ZGVk
NzYxZDM4YTE0MWQ2ZGNkMDAyZThhOWM5MzAxZDliZTI3YTMzLi44ZjRmMGMzYTdhMTNiYjg5Yjkx
ZTNlOTNhMmIwMGQ5NWIzZTVkYWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcApAQCAt
NjYsMTIgKzY2LDEyIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCiB7
CiB9CiAKLVNpbXBsZUZvbnREYXRhKiBTaW1wbGVGb250RGF0YTo6c2NhbGVkRm9udERhdGEoY29u
c3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2F0IHNjYWxlRmFjdG9yKSBj
b25zdAorUGFzc093blB0cjxTaW1wbGVGb250RGF0YT4gU2ltcGxlRm9udERhdGE6OmNyZWF0ZVNj
YWxlZEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9h
dCBzY2FsZUZhY3RvcikgY29uc3QKIHsKICAgICBGb250RGVzY3JpcHRpb24gZGVzYyA9IEZvbnRE
ZXNjcmlwdGlvbihmb250RGVzY3JpcHRpb24pOwogICAgIGRlc2Muc2V0U3BlY2lmaWVkU2l6ZShz
Y2FsZUZhY3RvciAqIGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKSk7CiAgICAgRm9udFBs
YXRmb3JtRGF0YSBmb250UGxhdGZvcm1EYXRhKGRlc2MsIGRlc2MuZmFtaWx5KCkuZmFtaWx5KCkp
OwotICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERhdGEoZm9udFBsYXRmb3JtRGF0YSwgaXNDdXN0
b21Gb250KCksIGZhbHNlKTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNpbXBsZUZvbnREYXRh
KGZvbnRQbGF0Zm9ybURhdGEsIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSkpOwogfQogCiBTaW1wbGVG
b250RGF0YSogU2ltcGxlRm9udERhdGE6OnNtYWxsQ2Fwc0ZvbnREYXRhKGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZm9udERlc2NyaXB0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCmluZGV4IDU4
NzBkYzhjOWU1Y2UxZjExYTU3MjM1NWQ0NzY0MjE5ZTg0MDAzYjguLjBjN2IwOWFlZjU2NDU3ODNh
YmY5NGVjMDRlNzdlOTcyNDQyODVmYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KQEAgLTI4LDEwICsy
OCw2IEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgiCi0KLS8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBkZWZpbmUhCi0jZGVmaW5lIExPT1NFX1BBU1NfT1dOX1BUUgotCiAjaW1wb3J0ICJTaW1wbGVG
b250RGF0YS5oIgogCiAjaW1wb3J0ICJCbG9ja0V4Y2VwdGlvbnMuaCIKQEAgLTMwMCwxMiArMjk2
LDEyIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCiAjZW5kaWYKIH0K
IAotU2ltcGxlRm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0
CitQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBTaW1wbGVGb250RGF0YTo6Y3JlYXRlU2NhbGVk
Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2F0IHNj
YWxlRmFjdG9yKSBjb25zdAogewogICAgIGlmIChpc0N1c3RvbUZvbnQoKSkgewogICAgICAgICBG
b250UGxhdGZvcm1EYXRhIHNjYWxlZEZvbnREYXRhKG1fcGxhdGZvcm1EYXRhKTsKICAgICAgICAg
c2NhbGVkRm9udERhdGEubV9zaXplID0gc2NhbGVkRm9udERhdGEubV9zaXplICogc2NhbGVGYWN0
b3I7Ci0gICAgICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERhdGEoc2NhbGVkRm9udERhdGEsIHRy
dWUsIGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTaW1wbGVGb250RGF0YShz
Y2FsZWRGb250RGF0YSwgdHJ1ZSwgZmFsc2UpKTsKICAgICB9CiAKICAgICBCRUdJTl9CTE9DS19P
QkpDX0VYQ0VQVElPTlM7CkBAIC0zMjksMTEgKzMyNSwxMiBAQCBTaW1wbGVGb250RGF0YSogU2lt
cGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERl
c2NyaQogICAgICAgICBzY2FsZWRGb250RGF0YS5tX3N5bnRoZXRpY0JvbGQgPSAoZm9udFRyYWl0
cyAmIE5TQm9sZEZvbnRNYXNrKSAmJiAhKHNjYWxlZEZvbnRUcmFpdHMgJiBOU0JvbGRGb250TWFz
ayk7CiAgICAgICAgIHNjYWxlZEZvbnREYXRhLm1fc3ludGhldGljT2JsaXF1ZSA9IChmb250VHJh
aXRzICYgTlNJdGFsaWNGb250TWFzaykgJiYgIShzY2FsZWRGb250VHJhaXRzICYgTlNJdGFsaWNG
b250TWFzayk7CiAKLSAgICAgICAgcmV0dXJuIGZvbnRDYWNoZSgpLT5nZXRDYWNoZWRGb250RGF0
YSgmc2NhbGVkRm9udERhdGEpOworICAgICAgICAvLyBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1E
ZXN0cm95KCkgdGFrZXMgY2FyZSBvZiBub3QgZGVsZXRpbmcgdGhlIGNhY2hlZCBmb250IGRhdGEg
dHdpY2UuCisgICAgICAgIHJldHVybiBhZG9wdFB0cihmb250Q2FjaGUoKS0+Z2V0Q2FjaGVkRm9u
dERhdGEoJnNjYWxlZEZvbnREYXRhKSk7CiAgICAgfQogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQ
VElPTlM7CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogU2ltcGxl
Rm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpzbWFsbENhcHNGb250RGF0YShjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnREYXRhUGFuZ28uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5j
cHAKaW5kZXggM2ZlMTViMzY3MzY2NmVkZWQ4OWM5ZmYxZjBjMmMwZmM5Y2Y5ZjljOC4uYjQxY2Y1
ZDhiNTY5ODg2YWYwNmVhNGQzNWE5MTkwMjlhZmEyYjk5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQ
YW5nby5jcHAKQEAgLTg0LDEyICs4NCwxMiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bURlc3Ryb3koKQogewogfQogCi1TaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNjYWxl
ZEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9hdCBz
Y2FsZUZhY3RvcikgY29uc3QKK1Bhc3NPd25QdHI8U2ltcGxlRm9udERhdGE+IFNpbXBsZUZvbnRE
YXRhOjpjcmVhdGVTY2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0CiB7CiAgICAgRm9udERlc2NyaXB0aW9u
IGRlc2MgPSBGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTsKICAgICBkZXNjLnNldFNw
ZWNpZmllZFNpemUoc2NhbGVGYWN0b3IgKiBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRTaXplKCkp
OwogICAgIEZvbnRQbGF0Zm9ybURhdGEgcGxhdGZvcm1EYXRhKGRlc2MsIGRlc2MuZmFtaWx5KCku
ZmFtaWx5KCkpOwotICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERhdGEocGxhdGZvcm1EYXRhKTsK
KyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNpbXBsZUZvbnREYXRhKHBsYXRmb3JtRGF0YSkpOwog
fQogCiBTaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNtYWxsQ2Fwc0ZvbnREYXRhKGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNw
cAppbmRleCAwMzEyMDkyNjY4YjgyMWY5YTY2MzYzMmVlNmYyODRkYzk5MmQyM2QwLi41ZDBmYTcw
OTFiM2FkNzM0OTg2NjJlMzMxMWVkNGUzMDk4NWFkN2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcApAQCAt
NzEsMTAgKzcxLDEwIEBAIGZsb2F0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybVdpZHRoRm9yR2x5
cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiAgICAgcmV0dXJuIGFkdmFuY2VzLmF0KDApLngoKTsKIH0K
IAotU2ltcGxlRm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250RGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0
CitQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBTaW1wbGVGb250RGF0YTo6Y3JlYXRlU2NhbGVk
Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2F0IHNj
YWxlRmFjdG9yKSBjb25zdAogewogICAgIGNvbnN0IGZsb2F0IHNjYWxlZFNpemUgPSBscm91bmRm
KGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKSAqIHNjYWxlRmFjdG9yKTsKLSAgICByZXR1
cm4gbmV3IFNpbXBsZUZvbnREYXRhKEZvbnRQbGF0Zm9ybURhdGEobV9wbGF0Zm9ybURhdGEsIHNj
YWxlZFNpemUpLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpOworICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgU2ltcGxlRm9udERhdGEoRm9udFBsYXRmb3JtRGF0YShtX3BsYXRmb3JtRGF0YSwgc2NhbGVk
U2l6ZSksIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSkpOwogfQogCiBTaW1wbGVGb250RGF0YSogU2lt
cGxlRm9udERhdGE6OnNtYWxsQ2Fwc0ZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAKaW5kZXggNzk2MmM3MzQyZjY4
NmM1MzZiMzgyYjZhNWNlYmEwMDdkOGM2ZGFkYi4uMjYxOWFmMTA0MWEyMDM2MDk3N2JjZTgzOGY0
YTJkNTBjNzY0YTI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCkBAIC0yNywxMCArMjcsNiBAQAog
ICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQotLy8gRklYTUU6IFJlbW92ZSB0aGlzIGRlZmlu
ZSEKLSNkZWZpbmUgTE9PU0VfUEFTU19PV05fUFRSCi0KICNpbmNsdWRlICJTaW1wbGVGb250RGF0
YS5oIgogCiAjaW5jbHVkZSAiRm9udC5oIgpAQCAtMTEyLDIwICsxMDgsMjAgQEAgdm9pZCBTaW1w
bGVGb250RGF0YTo6cGxhdGZvcm1EZXN0cm95KCkKICAgICBkZWxldGUgbV9zY3JpcHRGb250UHJv
cGVydGllczsKIH0KIAotU2ltcGxlRm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpzY2FsZWRGb250
RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2NhbGVG
YWN0b3IpIGNvbnN0CitQYXNzT3duUHRyPFNpbXBsZUZvbnREYXRhPiBTaW1wbGVGb250RGF0YTo6
Y3JlYXRlU2NhbGVkRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRp
b24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAogewotICAgICAgICBmbG9hdCBzY2FsZWRTaXpl
ID0gc2NhbGVGYWN0b3IgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCk7Ci0gICAgICAgIGlmIChpc0N1
c3RvbUZvbnQoKSkgewotICAgICAgICAgICAgRm9udFBsYXRmb3JtRGF0YSBzY2FsZWRGb250KG1f
cGxhdGZvcm1EYXRhKTsKLSAgICAgICAgICAgIHNjYWxlZEZvbnQuc2V0U2l6ZShzY2FsZWRTaXpl
KTsKLSAgICAgICAgICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERhdGEoc2NhbGVkRm9udCwgdHJ1
ZSwgZmFsc2UpOwotICAgICAgICB9CisgICAgZmxvYXQgc2NhbGVkU2l6ZSA9IHNjYWxlRmFjdG9y
ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpOworICAgIGlmIChpc0N1c3RvbUZvbnQoKSkgeworICAg
ICAgICBGb250UGxhdGZvcm1EYXRhIHNjYWxlZEZvbnQobV9wbGF0Zm9ybURhdGEpOworICAgICAg
ICBzY2FsZWRGb250LnNldFNpemUoc2NhbGVkU2l6ZSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0
cihuZXcgU2ltcGxlRm9udERhdGEoc2NhbGVkRm9udCwgdHJ1ZSwgZmFsc2UpKTsKKyAgICB9CiAK
LSAgICAgICAgTE9HRk9OVCB3aW5mb250OwotICAgICAgICBHZXRPYmplY3QobV9wbGF0Zm9ybURh
dGEuaGZvbnQoKSwgc2l6ZW9mKExPR0ZPTlQpLCAmd2luZm9udCk7Ci0gICAgICAgIHdpbmZvbnQu
bGZIZWlnaHQgPSAtbHJvdW5kZihzY2FsZWRTaXplICogKG1fcGxhdGZvcm1EYXRhLnVzZUdESSgp
ID8gMSA6IDMyKSk7Ci0gICAgICAgIEhGT05UIGhmb250ID0gQ3JlYXRlRm9udEluZGlyZWN0KCZ3
aW5mb250KTsKLSAgICAgICAgcmV0dXJuIG5ldyBTaW1wbGVGb250RGF0YShGb250UGxhdGZvcm1E
YXRhKGhmb250LCBzY2FsZWRTaXplLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksIG1f
cGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSwgbV9wbGF0Zm9ybURhdGEudXNlR0RJKCkp
LCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpOworICAgIExPR0ZPTlQgd2luZm9udDsKKyAgICBHZXRP
YmplY3QobV9wbGF0Zm9ybURhdGEuaGZvbnQoKSwgc2l6ZW9mKExPR0ZPTlQpLCAmd2luZm9udCk7
CisgICAgd2luZm9udC5sZkhlaWdodCA9IC1scm91bmRmKHNjYWxlZFNpemUgKiAobV9wbGF0Zm9y
bURhdGEudXNlR0RJKCkgPyAxIDogMzIpKTsKKyAgICBIRk9OVCBoZm9udCA9IENyZWF0ZUZvbnRJ
bmRpcmVjdCgmd2luZm9udCk7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTaW1wbGVGb250RGF0
YShGb250UGxhdGZvcm1EYXRhKGhmb250LCBzY2FsZWRTaXplLCBtX3BsYXRmb3JtRGF0YS5zeW50
aGV0aWNCb2xkKCksIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSwgbV9wbGF0Zm9y
bURhdGEudXNlR0RJKCkpLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpKTsKIH0KIAogU2ltcGxlRm9u
dERhdGEqIFNpbXBsZUZvbnREYXRhOjpzbWFsbENhcHNGb250RGF0YShjb25zdCBGb250RGVzY3Jp
cHRpb24mIGZvbnREZXNjcmlwdGlvbikgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAK
aW5kZXggZDg5Mjg0YWUyMTFkZDUxZDBkYzAxMGM1ZmY3MDFjYzc1ODViMDM2Ny4uODdmYzY4NDVh
NTlmODEyODViZmM2OWNlOTlkYTA1ODQ1ZmYzYWJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5D
RS5jcHAKQEAgLTI4LDEwICsyOCw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCi0v
LyBGSVhNRTogUmVtb3ZlIHRoaXMgZGVmaW5lIQotI2RlZmluZSBMT09TRV9QQVNTX09XTl9QVFIK
LQogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
QEAgLTY3LDE0ICs2MywxNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybURlc3Ryb3ko
KQogewogfQogCi1TaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRh
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZhY3Rv
cikgY29uc3QKK1Bhc3NPd25QdHI8U2ltcGxlRm9udERhdGE+IFNpbXBsZUZvbnREYXRhOjpjcmVh
dGVTY2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwg
ZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0CiB7CiAgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNj
KGZvbnREZXNjcmlwdGlvbik7CiAgICAgZm9udERlc2Muc2V0Q29tcHV0ZWRTaXplKGxyb3VuZGYo
c2NhbGVGYWN0b3IgKiBmb250RGVzYy5jb21wdXRlZFNpemUoKSkpOwogICAgIGZvbnREZXNjLnNl
dFNwZWNpZmllZFNpemUobHJvdW5kZihzY2FsZUZhY3RvciAqIGZvbnREZXNjLnNwZWNpZmllZFNp
emUoKSkpOwogICAgIGZvbnREZXNjLnNldEtleXdvcmRTaXplKGxyb3VuZGYoc2NhbGVGYWN0b3Ig
KiBmb250RGVzYy5rZXl3b3JkU2l6ZSgpKSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YSogcmVzdWx0
ID0gZm9udENhY2hlKCktPmdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2MsIG1fcGxh
dGZvcm1EYXRhLmZhbWlseSgpKTsKLSAgICByZXR1cm4gcmVzdWx0ID8gbmV3IFNpbXBsZUZvbnRE
YXRhKCpyZXN1bHQpIDogMDsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTaW1wbGVGb250RGF0YSgqcmVzdWx0KSk7CiB9
CiAKIFNpbXBsZUZvbnREYXRhKiBTaW1wbGVGb250RGF0YTo6c21hbGxDYXBzRm9udERhdGEoY29u
c3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24pIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVGb250RGF0YVd4LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3Bw
CmluZGV4IDRmMjRlNGMyNWRlYzZkYTgyNGRlOTBjZWFhMTUzNjYxZmFkYWE4OTAuLmNlYWIxYWJl
YjY5Mjg5YmU2YTk2OTc1NzQwMmQ0MzcxZWMyYWIwY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCkBAIC05
MCwxMiArOTAsMTIgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1EZXN0cm95KCkKICNl
bmRpZgogfQogCi1TaW1wbGVGb250RGF0YSogU2ltcGxlRm9udERhdGE6OnNjYWxlZEZvbnREYXRh
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBmbG9hdCBzY2FsZUZhY3Rv
cikgY29uc3QKK1Bhc3NPd25QdHI8U2ltcGxlRm9udERhdGE+IFNpbXBsZUZvbnREYXRhOjpjcmVh
dGVTY2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwg
ZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0CiB7CiAgICAgRm9udERlc2NyaXB0aW9uIGRlc2MgPSBG
b250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0aW9uKTsKICAgICBkZXNjLnNldFNwZWNpZmllZFNp
emUoc2NhbGVGYWN0b3IgKiBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRTaXplKCkpOwogICAgIEZv
bnRQbGF0Zm9ybURhdGEgcGxhdGZvcm1EYXRhKGRlc2MsIGRlc2MuZmFtaWx5KCkuZmFtaWx5KCkp
OwotICAgIHJldHVybiBuZXcgU2ltcGxlRm9udERhdGEocGxhdGZvcm1EYXRhLCBpc0N1c3RvbUZv
bnQoKSwgZmFsc2UpOworICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2ltcGxlRm9udERhdGEocGxh
dGZvcm1EYXRhLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpKTsKIH0KIAogU2ltcGxlRm9udERhdGEq
IFNpbXBsZUZvbnREYXRhOjpzbWFsbENhcHNGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24m
IGZvbnREZXNjcmlwdGlvbikgY29uc3QK
</data>

          </attachment>
      

    </bug>

</bugzilla>