<?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>43674</bug_id>
          
          <creation_ts>2010-08-07 11:53:12 -0700</creation_ts>
          <short_desc>Create a separate SimpleFontData constructor for SVG fonts and move the CTFontRef member to platform data</short_desc>
          <delta_ts>2010-08-08 10:48:28 -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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>mitz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>261748</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-08-07 11:53:12 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261749</commentid>
    <comment_count>1</comment_count>
      <attachid>63823</attachid>
    <who name="">mitz</who>
    <bug_when>2010-08-07 11:54:03 -0700</bug_when>
    <thetext>Created attachment 63823
Create a separate SimpleFontData constructor for SVG fonts and move the CTFontRef member to platform dat</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261750</commentid>
    <comment_count>2</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-08-07 12:00:32 -0700</bug_when>
    <thetext>&lt;http://trac.webkit.org/projects/webkit/changeset/64915&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261751</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-07 12:07:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/64915 might have broken Qt Linux Release minimal, Qt Linux ARMv5 Release, and Qt Linux ARMv7 Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261752</commentid>
    <comment_count>4</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-08-07 12:11:37 -0700</bug_when>
    <thetext>Attachment 63823 did not build on qt:
Build output: http://queues.webkit.org/results/3674039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261883</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-08-08 07:59:45 -0700</bug_when>
    <thetext>This broke Chromium Mac: http://build.webkit.org/builders/Chromium%20Mac%20Release/builds/11836/steps/compile-webkit/logs/stdio

Haven&apos;t yet looked at the details, just noticed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261891</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-08-08 09:42:18 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This broke Chromium Mac: http://build.webkit.org/builders/Chromium%20Mac%20Release/builds/11836/steps/compile-webkit/logs/stdio
&gt; 
&gt; Haven&apos;t yet looked at the details, just noticed.

Thanks. I committed r64950 in an attempt to fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261904</commentid>
    <comment_count>7</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-08-08 10:48:28 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; This broke Chromium Mac: http://build.webkit.org/builders/Chromium%20Mac%20Release/builds/11836/steps/compile-webkit/logs/stdio
&gt; &gt; 
&gt; &gt; Haven&apos;t yet looked at the details, just noticed.
&gt; 
&gt; Thanks. I committed r64950 in an attempt to fix it.

It worked, yay! Thanks mitz.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63823</attachid>
            <date>2010-08-07 11:54:03 -0700</date>
            <delta_ts>2010-08-07 11:57:38 -0700</delta_ts>
            <desc>Create a separate SimpleFontData constructor for SVG fonts and move the CTFontRef member to platform dat</desc>
            <filename>svg-font-constructor_r1.diff</filename>
            <type>text/plain</type>
            <size>27050</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0OTE0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDgtMDcgIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDcmVhdGVkIGEgc2VwYXJhdGUgU2ltcGxlRm9udERhdGEgY29uc3Ry
dWN0b3IgZXhjbHVzaXZlbHkgZm9yIFNWRyBmb250cyBhbmQgbW92ZWQgdGhlIENURm9udFJlZgor
ICAgICAgICBmcm9tIFNpbXBsZUZvbnREYXRhIHRvIEZvbnRQbGF0Zm9ybURhdGEuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzY3NAorCisgICAgICAg
ICogd3RmL1BsYXRmb3JtLmg6IE1vdmVkIGRlZmluaXRpb25zIG9mIFdURl9VU0VfQ09SRV9URVhU
IGFuZCBXVEZfVVNFX0FUU1VJIGhlcmUgZnJvbSBXZWJDb3JlL2NvbmZpZy5oLgorCiAyMDEwLTA4
LTA3ICBab2x0YW4gSGVyY3plZyAgPHpoZXJjemVnQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24g
NjQ5MTQpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpA
QCAtMTAzMiw4ICsxMDMyLDE3IEBAIG9uIE1pbkdXLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2gKICNkZWZpbmUgV1RGX1VTRV9RWE1MUVVFUlkgMQogI2VuZGlmCiAKLS8qIEFjY2VsZXJh
dGVkIGNvbXBvc2l0aW5nICovCiAjaWYgUExBVEZPUk0oTUFDKQorLyogQ29tcGxleCB0ZXh0IGZy
YW1ld29yayAqLworI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9MRU9QQVJEKQorI2RlZmluZSBXVEZfVVNFX0FUU1VJIDAKKyNkZWZpbmUgV1RG
X1VTRV9DT1JFX1RFWFQgMQorI2Vsc2UKKyNkZWZpbmUgV1RGX1VTRV9BVFNVSSAxCisjZGVmaW5l
IFdURl9VU0VfQ09SRV9URVhUIDAKKyNlbmRpZgorCisvKiBBY2NlbGVyYXRlZCBjb21wb3NpdGlu
ZyAqLwogI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKQogI2RlZmluZSBXVEZfVVNFX0FD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HIDEKICNlbmRpZgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0OTE0KQorKysgV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wOC0w
NyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENyZWF0ZWQgYSBzZXBhcmF0ZSBTaW1wbGVGb250
RGF0YSBjb25zdHJ1Y3RvciBleGNsdXNpdmVseSBmb3IgU1ZHIGZvbnRzIGFuZCBtb3ZlZCB0aGUg
Q1RGb250UmVmCisgICAgICAgIGZyb20gU2ltcGxlRm9udERhdGEgdG8gRm9udFBsYXRmb3JtRGF0
YS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNjc0
CisKKyAgICAgICAgKiBjb25maWcuaDogTW92ZWQgZGVmaW5pdGlvbnMgb2YgV1RGX1VTRV9DT1JF
X1RFWFQgYW5kIFdURl9VU0VfQVRTVUkgZnJvbSBoZXJlIHRvIHd0Zi9QbGF0Zm9ybS5oLgorICAg
ICAgICAqIGNzcy9DU1NGb250RmFjZVNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NG
b250RmFjZVNvdXJjZTo6Z2V0Rm9udERhdGEpOiBVc2UgbmV3IFNpbXBsZUZvbnREYXRhIGNvbnN0
cnVjdG9yIGZvciBTVkcgZm9udHMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZv
bnREYXRhKTogU2VwYXJhdGVkIGludG8gdHdvIGNvbnN0cnVjdG9ycywgb25lIGZvcgorICAgICAg
ICBQbGF0Zm9ybUZvbnREYXRhLWJhc2VkIGZvbnRzIGFuZCBvbmUgZm9yIFNWRyBmb250cy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOiBNb3ZlZCB0aGUgbV9D
VEZvbnQgbWVtYmVyIHZhcmlhYmxlIGFuZCB0aGUgZ2V0Q1RGb250KCkKKyAgICAgICAgYWNjZXNz
b3IgZnJvbSBoZXJl4oCmCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRQbGF0
Zm9ybURhdGEuaDog4oCmdG8gaGVyZSwgcmVuYW1pbmcgdGhlIGxhdHRlciBjdEZvbnQoKS4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udFBsYXRmb3JtRGF0YU1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOiBDb3B5
IG1fQ1RGb250LgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlcmF0b3I9
KTogQ29weSBtX0NURm9udC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OnNl
dEZvbnQpOiBDbGVhciBtX0NURm9udC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURh
dGE6OmN0Rm9udCk6IE1vdmVkIGhlcmUgZnJvbSBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBh
bmQgcmVuYW1lZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERh
dGFDb3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6Z2V0Q0ZT
dHJpbmdBdHRyaWJ1dGVzKTogVXBkYXRlZCB0byB1c2UgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250
KCkuCisgICAgICAgICogc3ZnL1NWR0ZvbnREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ZvbnREYXRhOjpTVkdGb250RGF0YSk6IEFkZGVkIGFuIGFzc2VydGlvbi4KKwogMjAxMC0wOC0w
NyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IFdlYkNvcmUvY29uZmlnLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9jb25maWcuaAkocmV2aXNpb24gNjQ5MTQpCisrKyBXZWJDb3JlL2NvbmZpZy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNTUsMTUgKzE1NSw2IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KE1BQykKLS8vIEFUU1VJIHZzLiBDb3JlVGV4dAotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJ
R0VSKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKQotI2RlZmluZSBXVEZfVVNFX0FU
U1VJIDAKLSNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQotI2Vsc2UKLSNkZWZpbmUgV1RGX1VT
RV9BVFNVSSAxCi0jZGVmaW5lIFdURl9VU0VfQ09SRV9URVhUIDAKLSNlbmRpZgotCiAvLyBOZXcg
dGhlbWUKICNkZWZpbmUgV1RGX1VTRV9ORVdfVEhFTUUgMQogI2VuZGlmIC8vIFBMQVRGT1JNKE1B
QykKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiA2NDkxNCkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDIzLDExICsxNDIzLDkgQEAKIAkJN0FFRDNFMDYwRkJCMUVB
QTAwRDJCMDNDIC8qIEluc3BlY3RvckZyb250ZW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUVEM0UwNDBGQkIxRUFBMDBEMkIwM0MgLyogSW5zcGVj
dG9yRnJvbnRlbmQuaCAqLzsgfTsKIAkJN0FGRDRBOEIxMTMxQzI3NjAwMzVCODgzIC8qIFNjcmlw
dEJyZWFrcG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdBRkQ0QThBMTEzMUMyNzYwMDM1Qjg4MyAvKiBTY3JpcHRCcmVha3BvaW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0FGRDRGRjQxMTMy
NzdCNjAwMzVCODgzIC8qIFNjcmlwdERlYnVnTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRkQ0RkYzMTEzMjc3QjYwMDM1Qjg4MyAvKiBT
Y3JpcHREZWJ1Z0xpc3RlbmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJODFCRTIwOTgxMUY0QUI4RDAwOTE1REZBIC8qIElEQkN1cnNvci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MUJFMjA5MzEx
RjRBQjhEMDA5MTVERkEgLyogSURCQ3Vyc29yLmNwcCAqLzsgfTsKIAkJODFCRTIwOTcxMUY0QUI4
RDAwOTE1REZBIC8qIElEQkN1cnNvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODFCRTIwOTIxMUY0QUI4RDAwOTE1REZBIC8qIElEQkN1cnNvci5oICov
OyB9OwogCQk4MUJFMjA5ODExRjRBQjhEMDA5MTVERkEgLyogSURCQ3Vyc29yQmFja2VuZEltcGwu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODFCRTIw
OTMxMUY0QUI4RDAwOTE1REZBIC8qIElEQkN1cnNvckJhY2tlbmRJbXBsLmNwcCAqLzsgfTsKLQkJ
ODFCRTIwOTkxMUY0QUI4RDAwOTE1REZBIC8qIElEQkN1cnNvckJhY2tlbmRJbXBsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MUJFMjA5NDExRjRBQjhE
MDA5MTVERkEgLyogSURCQ3Vyc29yQmFja2VuZEltcGwuaCAqLzsgfTsKLQkJODFCRTIwOUIxMUY0
QUI4RDAwOTE1REZBIC8qIElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgxQkUyMDk2MTFGNEFCOEQwMDkxNURG
QSAvKiBJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlLmggKi87IH07CisJCTgxQkUyMDk5MTFGNEFC
OEQwMDkxNURGQSAvKiBJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MUJFMjA5NDExRjRBQjhEMDA5MTVERkEg
LyogSURCQ3Vyc29yQmFja2VuZEludGVyZmFjZS5oICovOyB9OwogCQk4MUJFMjBEMjExRjRCQzMy
MDA5MTVERkEgLyogSlNJREJDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODFCRTIwQTcxMUY0QjY2RjAwOTE1REZBIC8qIEpTSURCQ3Vyc29y
LmNwcCAqLzsgfTsKIAkJODFCRTIwRDMxMUY0QkMzMjAwOTE1REZBIC8qIEpTSURCQ3Vyc29yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MUJFMjBBODEx
RjRCNjZGMDA5MTVERkEgLyogSlNJREJDdXJzb3IuaCAqLzsgfTsKIAkJODJCNjU4OTgxMTg5RTM5
MjAwRTA1MkExIC8qIEluc3BlY3RvckNTU1N0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MkI2NTg5NzExODlFMzkyMDBFMDUyQTEgLyogSW5zcGVj
dG9yQ1NTU3RvcmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNzI1OSw3ICs3MjU3LDYgQEAKIAkJN0FGRDRGRjMxMTMyNzdCNjAwMzVCODgzIC8q
IFNjcmlwdERlYnVnTGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U2NyaXB0RGVidWdMaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MUJF
MjA5MjExRjRBQjhEMDA5MTVERkEgLyogSURCQ3Vyc29yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IElEQkN1cnNvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
MUJFMjA5MzExRjRBQjhEMDA5MTVERkEgLyogSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURCQ3Vyc29yQmFja2VuZEltcGwuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4MUJFMjA5NDExRjRBQjhEMDA5MTVERkEg
LyogSURCQ3Vyc29yQmFja2VuZEltcGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSURCQ3Vyc29yQmFja2VuZEltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODFCRTIwOTQxMUY0QUI4RDAwOTE1REZBIC8qIElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCQ3Vyc29yQmFja2VuZEludGVyZmFj
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MUJFMjA5QzExRjRBQkJEMDA5MTVE
RkEgLyogSURCQ3Vyc29yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJDdXJzb3IuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MUJFMjBBNzExRjRCNjZGMDA5MTVERkEg
LyogSlNJREJDdXJzb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNJREJDdXJzb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAwOTcsOCAr
MTAwOTQsOCBAQAogCQlCNjU2NjI2ODEyMEIxMTVBMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCVHJhbnNhY3Rpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjY1NjYyNjkxMjBCMTE1QTAwNkVBODVDIC8qIElE
QlRyYW5zYWN0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJREJUcmFuc2FjdGlvbi5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2NTY2MjZEMTIwQjExNkIwMDZFQTg1
QyAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUI2NTY2MjZFMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lEQlRy
YW5zYWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTSURCVHJhbnNh
Y3Rpb24uaDsgcGF0aCA9IEpTSURCVHJhbnNhY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQjY1NjYyNkYxMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSlNJREJUcmFuc2FjdGlvbi5j
cHA7IHBhdGggPSBKU0lEQlRyYW5zYWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQjY1NjYyNkUxMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJREJUcmFuc2FjdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCNjU2NjI2RjEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJU
cmFuc2FjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lE
QlRyYW5zYWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjczNEIxODAx
MTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVyLmNwcDsgcGF0aCA9IHRyYW5zY29kZXIv
Rm9udFRyYW5zY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzM0QjE4
MjExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gRm9udFRyYW5zY29kZXIuaDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRy
YW5zY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0ExMTA0NTI1
RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQcmludENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNDY4
LDEyICsxMTQ2NSwxMSBAQAogCQkJCUM1ODVBNjk5MTFENEZCM0QwMDRDM0U0QiAvKiBJREJBbnku
aCAqLywKIAkJCQlDNTg1QTY5QTExRDRGQjNEMDA0QzNFNEIgLyogSURCQW55LmlkbCAqLywKIAkJ
CQlDNTg1QTY5QjExRDRGQjNEMDA0QzNFNEIgLyogSURCQ2FsbGJhY2tzLmggKi8sCi0JCQkJODFC
RTIwOTIxMUY0QUI4RDAwOTE1REZBIC8qIElEQkN1cnNvci5jcHAgKi8sCisJCQkJODFCRTIwOTIx
MUY0QUI4RDAwOTE1REZBIC8qIElEQkN1cnNvci5oICovLAogCQkJCTgxQkUyMDkyMTFGNEFCOEQw
MDkxNURGQSAvKiBJREJDdXJzb3IuaCAqLywKIAkJCQk4MUJFMjA5QzExRjRBQkJEMDA5MTVERkEg
LyogSURCQ3Vyc29yLmlkbCAqLywKIAkJCQk4MUJFMjA5MzExRjRBQjhEMDA5MTVERkEgLyogSURC
Q3Vyc29yQmFja2VuZEltcGwuY3BwICovLAotCQkJCTgxQkUyMDk0MTFGNEFCOEQwMDkxNURGQSAv
KiBJREJDdXJzb3JCYWNrZW5kSW1wbC5oICovLAotCQkJCTgxQkUyMDk1MTFGNEFCOEQwMDkxNURG
QSAvKiBJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlLmggKi8sCisJCQkJODFCRTIwOTQxMUY0QUI4
RDAwOTE1REZBIC8qIElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaCAqLywKIAkJCQlDNTg1QTZB
MzExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJhc2UuY3BwICovLAogCQkJCUM1ODVBNkE0MTFE
NEZCM0QwMDRDM0U0QiAvKiBJREJEYXRhYmFzZS5oICovLAogCQkJCUM1ODVBNkE1MTFENEZCM0Qw
MDRDM0U0QiAvKiBJREJEYXRhYmFzZS5pZGwgKi8sCkBAIC0xODcxNSw4ICsxODcxMSw3IEBACiAJ
CQkJQzU4NUE2NjMxMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRpZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUM1ODVBNkNGMTFENEZCM0QwMDRDM0U0QiAvKiBJREJDYWxsYmFja3Mu
aCBpbiBIZWFkZXJzICovLAogCQkJCTgxQkUyMDk3MTFGNEFCOEQwMDkxNURGQSAvKiBJREJDdXJz
b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTgxQkUyMDk5MTFGNEFCOEQwMDkxNURGQSAvKiBJREJD
dXJzb3JCYWNrZW5kSW1wbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODFCRTIwOUIxMUY0QUI4RDAw
OTE1REZBIC8qIElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2UuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTgxQkUyMDk5MTFGNEFCOEQwMDkxNURGQSAvKiBJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDNTg1QTZEODExRDRGQjNEMDA0QzNFNEIgLyogSURCRGF0YWJh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUI2MTc2MjYyMTIwMzQ5MDgwMEVGOTExNCAvKiBJREJE
YXRhYmFzZUJhY2tlbmRJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCNjE3NjI1NDEyMDMzNzRG
MDBFRjkxMTQgLyogSURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywK
QEAgLTIxMTY1LDcgKzIxMTYwLDcgQEAKIAkJCQk1MUUxRUNDMDBDOTFDOTA0MDBEQzI1NUIgLyog
SWNvblJlY29yZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNTg1QTZDQzExRDRGQjNEMDA0QzNF
NEIgLyogSURCQW55LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1ODVBNjYyMTFENEZBQzUwMDRD
M0U0QiAvKiBJREJCaW5kaW5nVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTgxQkUy
MDk4MTFGNEFCOEQwMDkxNURGQSAvKiBJREJDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODFCRTIwOTgxMUY0QUI4RDAwOTE1REZBIC8qIElEQkN1cnNvckJhY2tlbmRJbXBsLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTgxQkUyMDk4MTFGNEFCOEQwMDkxNURGQSAvKiBJREJDdXJzb3JCYWNr
ZW5kSW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNjkxQzFGOTEyMDZENEEwMDAyNUQ5ODAg
LyogSURCRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzU4NUE2RDUxMUQ0RkIzRDAw
NEMzRTRCIC8qIElEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4
OiBXZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCShyZXZpc2lvbiA2NDkxNCkKKysrIFdlYkNvcmUv
Y3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4LCAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTUz
LDggKzE1Myw3IEBAIFNpbXBsZUZvbnREYXRhKiBDU1NGb250RmFjZVNvdXJjZTo6Z2V0Rm8KICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fc3ZnRm9udEZhY2VFbGVtZW50ID0gZm9udEZhY2VFbGVt
ZW50OwogICAgICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICAgICAgU1ZHRm9u
dERhdGEqIHN2Z0ZvbnREYXRhID0gbmV3IFNWR0ZvbnREYXRhKGZvbnRGYWNlRWxlbWVudCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGZvbnREYXRhLnNldChuZXcgU2ltcGxlRm9udERhdGEobV9mb250
LT5wbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhl
bFNpemUoKSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RGVzY3JpcHRpb24u
cmVuZGVyaW5nTW9kZSgpKSwgdHJ1ZSwgZmFsc2UsIHN2Z0ZvbnREYXRhKSk7CisgICAgICAgICAg
ICAgICAgICAgIGZvbnREYXRhLnNldChuZXcgU2ltcGxlRm9udERhdGEoYWRvcHRQdHIobmV3IFNW
R0ZvbnREYXRhKGZvbnRGYWNlRWxlbWVudCkpLCBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhl
bFNpemUoKSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljKSk7CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfSBlbHNlCiAjZW5kaWYKQEAgLTE2OCwxMCArMTY3LDggQEAgU2lt
cGxlRm9udERhdGEqIENTU0ZvbnRGYWNlU291cmNlOjpnZXRGbwogICAgICAgICB9IGVsc2Ugewog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICAgICAvLyBJbi1Eb2N1bWVudCBTVkcgRm9u
dHMKLSAgICAgICAgICAgIGlmIChtX3N2Z0ZvbnRGYWNlRWxlbWVudCkgewotICAgICAgICAgICAg
ICAgIFNWR0ZvbnREYXRhKiBzdmdGb250RGF0YSA9IG5ldyBTVkdGb250RGF0YShtX3N2Z0ZvbnRG
YWNlRWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgZm9udERhdGEuc2V0KG5ldyBTaW1wbGVGb250
RGF0YShGb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgp
LCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMpLCB0cnVlLCBmYWxzZSwgc3ZnRm9udERh
dGEpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChtX3N2Z0ZvbnRGYWNlRWxlbWVu
dCkKKyAgICAgICAgICAgICAgICBmb250RGF0YS5zZXQobmV3IFNpbXBsZUZvbnREYXRhKGFkb3B0
UHRyKG5ldyBTVkdGb250RGF0YShtX3N2Z0ZvbnRGYWNlRWxlbWVudCkpLCBmb250RGVzY3JpcHRp
b24uY29tcHV0ZWRQaXhlbFNpemUoKSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljKSk7
CiAjZW5kaWYKICAgICAgICAgfQogICAgIH0gZWxzZSB7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkocmV2aXNpb24gNjQ5MTQpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDggQXBwbGUgQ29t
cHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUs
IDIwMDgsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTQ3LDY1
ICs0Nyw2NyBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBm
LCBib29sIGN1c3RvbUZvbnQsIGJvb2wgbG9hZGluZywgU1ZHRm9udERhdGEqIHN2Z0ZvbnREYXRh
KQorU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEm
IHBsYXRmb3JtRGF0YSwgYm9vbCBpc0N1c3RvbUZvbnQsIGJvb2wgaXNMb2FkaW5nKQogICAgIDog
bV9tYXhDaGFyV2lkdGgoLTEpCiAgICAgLCBtX2F2Z0NoYXJXaWR0aCgtMSkKICAgICAsIG1fdW5p
dHNQZXJFbShkZWZhdWx0VW5pdHNQZXJFbSkKLSAgICAsIG1fcGxhdGZvcm1EYXRhKGYpCisgICAg
LCBtX3BsYXRmb3JtRGF0YShwbGF0Zm9ybURhdGEpCiAgICAgLCBtX3RyZWF0QXNGaXhlZFBpdGNo
KGZhbHNlKQotI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0gICAgLCBtX3N2Z0ZvbnREYXRhKHN2Z0Zv
bnREYXRhKQotI2VuZGlmCi0gICAgLCBtX2lzQ3VzdG9tRm9udChjdXN0b21Gb250KQotICAgICwg
bV9pc0xvYWRpbmcobG9hZGluZykKKyAgICAsIG1faXNDdXN0b21Gb250KGlzQ3VzdG9tRm9udCkK
KyAgICAsIG1faXNMb2FkaW5nKGlzTG9hZGluZykKICAgICAsIG1fc21hbGxDYXBzRm9udERhdGEo
MCkKIHsKLSNpZiAhRU5BQkxFKFNWR19GT05UUykKLSAgICBVTlVTRURfUEFSQU0oc3ZnRm9udERh
dGEpOwotI2Vsc2UKLSAgICBpZiAoU1ZHRm9udEZhY2VFbGVtZW50KiBzdmdGb250RmFjZUVsZW1l
bnQgPSBzdmdGb250RGF0YSA/IHN2Z0ZvbnREYXRhLT5zdmdGb250RmFjZUVsZW1lbnQoKSA6IDAp
IHsKLSAgICAgICAgbV91bml0c1BlckVtID0gc3ZnRm9udEZhY2VFbGVtZW50LT51bml0c1BlckVt
KCk7Ci0KLSAgICAgICAgZG91YmxlIHNjYWxlID0gZi5zaXplKCk7Ci0gICAgICAgIGlmIChtX3Vu
aXRzUGVyRW0pCi0gICAgICAgICAgICBzY2FsZSAvPSBtX3VuaXRzUGVyRW07Ci0KLSAgICAgICAg
bV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNjZW50KCkg
KiBzY2FsZSk7Ci0gICAgICAgIG1fZGVzY2VudCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZh
Y2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZSk7Ci0gICAgICAgIG1feEhlaWdodCA9IHN0YXRp
Y19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT54SGVpZ2h0KCkgKiBzY2FsZSk7Ci0gICAg
ICAgIG1fbGluZUdhcCA9IDAuMWYgKiBmLnNpemUoKTsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9
IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOwotCi0gICAgICAgIFNWR0ZvbnRFbGVt
ZW50KiBhc3NvY2lhdGVkRm9udEVsZW1lbnQgPSBzdmdGb250RmFjZUVsZW1lbnQtPmFzc29jaWF0
ZWRGb250RWxlbWVudCgpOwotCi0gICAgICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IHNw
YWNlR2x5cGhzOwotICAgICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBoSWRlbnRp
ZmllcnNGb3JTdHJpbmcoU3RyaW5nKCIgIiwgMSksIHNwYWNlR2x5cGhzKTsKLSAgICAgICAgbV9z
cGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNFbXB0eSgpID8gbV94SGVpZ2h0IDogc3RhdGljX2Nh
c3Q8ZmxvYXQ+KHNwYWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUp
OwotCi0gICAgICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IG51bWVyYWxaZXJvR2x5cGhz
OwotICAgICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBoSWRlbnRpZmllcnNGb3JT
dHJpbmcoU3RyaW5nKCIwIiwgMSksIG51bWVyYWxaZXJvR2x5cGhzKTsKLSAgICAgICAgbV9hdmdD
aGFyV2lkdGggPSBudW1lcmFsWmVyb0dseXBocy5pc0VtcHR5KCkgPyBtX3NwYWNlV2lkdGggOiBz
dGF0aWNfY2FzdDxmbG9hdD4obnVtZXJhbFplcm9HbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2
YW5jZVggKiBzY2FsZSk7Ci0KLSAgICAgICAgVmVjdG9yPFNWR0dseXBoSWRlbnRpZmllcj4gbGV0
dGVyV0dseXBoczsKLSAgICAgICAgYXNzb2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50
aWZpZXJzRm9yU3RyaW5nKFN0cmluZygiVyIsIDEpLCBsZXR0ZXJXR2x5cGhzKTsKLSAgICAgICAg
bV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1wdHkoKSA/IG1fYXNjZW50IDogc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVgg
KiBzY2FsZSk7Ci0KLSAgICAgICAgLy8gRklYTUU6IGlzIHRoZXJlIGEgd2F5IHdlIGNhbiBnZXQg
dGhlIHNwYWNlIGdseXBoIGZyb20gdGhlIFNWR0dseXBoSWRlbnRpZmllciBhYm92ZT8KLSAgICAg
ICAgbV9zcGFjZUdseXBoID0gMDsKLSAgICAgICAgbV96ZXJvV2lkdGhTcGFjZUdseXBoID0gMDsK
LSAgICAgICAgZGV0ZXJtaW5lUGl0Y2goKTsKLSAgICAgICAgbV9hZGp1c3RlZFNwYWNlV2lkdGgg
PSByb3VuZGYobV9zcGFjZVdpZHRoKTsKLSAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZvbnRE
YXRhID0gdGhpczsKLSAgICAgICAgbV9taXNzaW5nR2x5cGhEYXRhLmdseXBoID0gMDsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotCiAgICAgcGxhdGZvcm1Jbml0KCk7CiAgICAgcGxh
dGZvcm1HbHlwaEluaXQoKTsKICAgICBwbGF0Zm9ybUNoYXJXaWR0aEluaXQoKTsKIH0KIAorI2lm
IEVOQUJMRShTVkdfRk9OVFMpCitTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEoUGFzc093
blB0cjxTVkdGb250RGF0YT4gc3ZnRm9udERhdGEsIGludCBzaXplLCBib29sIHN5bnRoZXRpY0Jv
bGQsIGJvb2wgc3ludGhldGljSXRhbGljKQorICAgIDogbV9wbGF0Zm9ybURhdGEoRm9udFBsYXRm
b3JtRGF0YShzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMpKQorICAgICwgbV90
cmVhdEFzRml4ZWRQaXRjaChmYWxzZSkKKyAgICAsIG1fc3ZnRm9udERhdGEoc3ZnRm9udERhdGEp
CisgICAgLCBtX2lzQ3VzdG9tRm9udCh0cnVlKQorICAgICwgbV9pc0xvYWRpbmcoZmFsc2UpCisg
ICAgLCBtX3NtYWxsQ2Fwc0ZvbnREYXRhKDApCit7CisgICAgU1ZHRm9udEZhY2VFbGVtZW50KiBz
dmdGb250RmFjZUVsZW1lbnQgPSBtX3N2Z0ZvbnREYXRhLT5zdmdGb250RmFjZUVsZW1lbnQoKTsK
KyAgICBtX3VuaXRzUGVyRW0gPSBzdmdGb250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsKKwor
ICAgIGRvdWJsZSBzY2FsZSA9IHNpemU7CisgICAgaWYgKG1fdW5pdHNQZXJFbSkKKyAgICAgICAg
c2NhbGUgLz0gbV91bml0c1BlckVtOworCisgICAgbV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+
KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNjZW50KCkgKiBzY2FsZSk7CisgICAgbV9kZXNjZW50ID0g
c3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsK
KyAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+eEhl
aWdodCgpICogc2NhbGUpOworICAgIG1fbGluZUdhcCA9IDAuMWYgKiBzaXplOworICAgIG1fbGlu
ZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKworICAgIFNWR0Zv
bnRFbGVtZW50KiBhc3NvY2lhdGVkRm9udEVsZW1lbnQgPSBzdmdGb250RmFjZUVsZW1lbnQtPmFz
c29jaWF0ZWRGb250RWxlbWVudCgpOworCisgICAgVmVjdG9yPFNWR0dseXBoSWRlbnRpZmllcj4g
c3BhY2VHbHlwaHM7CisgICAgYXNzb2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZp
ZXJzRm9yU3RyaW5nKFN0cmluZygiICIsIDEpLCBzcGFjZUdseXBocyk7CisgICAgbV9zcGFjZVdp
ZHRoID0gc3BhY2VHbHlwaHMuaXNFbXB0eSgpID8gbV94SGVpZ2h0IDogc3RhdGljX2Nhc3Q8Zmxv
YXQ+KHNwYWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOworCisg
ICAgVmVjdG9yPFNWR0dseXBoSWRlbnRpZmllcj4gbnVtZXJhbFplcm9HbHlwaHM7CisgICAgYXNz
b2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygi
MCIsIDEpLCBudW1lcmFsWmVyb0dseXBocyk7CisgICAgbV9hdmdDaGFyV2lkdGggPSBudW1lcmFs
WmVyb0dseXBocy5pc0VtcHR5KCkgPyBtX3NwYWNlV2lkdGggOiBzdGF0aWNfY2FzdDxmbG9hdD4o
bnVtZXJhbFplcm9HbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7CisK
KyAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVyPiBsZXR0ZXJXR2x5cGhzOworICAgIGFzc29j
aWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhTdHJpbmcoIlci
LCAxKSwgbGV0dGVyV0dseXBocyk7CisgICAgbV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhz
LmlzRW1wdHkoKSA/IG1fYXNjZW50IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+KGxldHRlcldHbHlwaHMu
Zmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7CisKKyAgICAvLyBGSVhNRTogaXMg
dGhlcmUgYSB3YXkgd2UgY2FuIGdldCB0aGUgc3BhY2UgZ2x5cGggZnJvbSB0aGUgU1ZHR2x5cGhJ
ZGVudGlmaWVyIGFib3ZlPworICAgIG1fc3BhY2VHbHlwaCA9IDA7CisgICAgbV96ZXJvV2lkdGhT
cGFjZUdseXBoID0gMDsKKyAgICBkZXRlcm1pbmVQaXRjaCgpOworICAgIG1fYWRqdXN0ZWRTcGFj
ZVdpZHRoID0gcm91bmRmKG1fc3BhY2VXaWR0aCk7CisgICAgbV9taXNzaW5nR2x5cGhEYXRhLmZv
bnREYXRhID0gdGhpczsKKyAgICBtX21pc3NpbmdHbHlwaERhdGEuZ2x5cGggPSAwOworfQorI2Vu
ZGlmCisKICNpZiAhUExBVEZPUk0oUVQpCiAvLyBFc3RpbWF0ZXMgb2YgYXZnQ2hhcldpZHRoIGFu
ZCBtYXhDaGFyV2lkdGggZm9yIHBsYXRmb3JtcyB0aGF0IGRvbid0IHN1cHBvcnQgYWNjZXNzaW5n
IHRoZXNlIHZhbHVlcyBmcm9tIHRoZSBmb250Lgogdm9pZCBTaW1wbGVGb250RGF0YTo6aW5pdENo
YXJXaWR0aHMoKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0
YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuaAkocmV2aXNpb24gNjQ5MTQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBs
ZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiAvKgogICogVGhpcyBm
aWxlIGlzIHBhcnQgb2YgdGhlIGludGVybmFsIGZvbnQgaW1wbGVtZW50YXRpb24uCiAgKgotICog
Q29weXJpZ2h0IChDKSAyMDA2LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwOCwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBUb3JjaCBNb2JpbGUsIEluYy4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCkBAIC0zMiwxNiArMzIsMTIgQEAKICNpbmNsdWRlICJUeXBlc2V0dGluZ0Zl
YXR1cmVzLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgVVNFKEFUU1VJKQogdHlw
ZWRlZiBzdHJ1Y3QgT3BhcXVlQVRTVVN0eWxlKiBBVFNVU3R5bGU7CiAjZW5kaWYKIAotI2lmIFVT
RShDT1JFX1RFWFQpCi0jaW5jbHVkZSA8QXBwbGljYXRpb25TZXJ2aWNlcy9BcHBsaWNhdGlvblNl
cnZpY2VzLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgotI2VuZGlmCi0KICNpZiAoUExB
VEZPUk0oV0lOKSAmJiAhT1MoV0lOQ0UpKSBcCiAgICAgfHwgKE9TKFdJTkRPV1MpICYmIFBMQVRG
T1JNKFdYKSkKICNpbmNsdWRlIDx1c3AxMC5oPgpAQCAtNjIsNyArNTgsNiBAQCB0eXBlZGVmIHN0
cnVjdCBPcGFxdWVBVFNVU3R5bGUqIEFUU1VTdHlsCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEZvbnREZXNjcmlwdGlvbjsKLWNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiBjbGFzcyBTVkdGb250RGF0YTsKIApAQCAtNzAsMTAgKzY1LDEyIEBAIGVudW0g
UGl0Y2ggeyBVbmtub3duUGl0Y2gsIEZpeGVkUGl0Y2gsIFYKIAogY2xhc3MgU2ltcGxlRm9udERh
dGEgOiBwdWJsaWMgRm9udERhdGEgewogcHVibGljOgotICAgIFNpbXBsZUZvbnREYXRhKGNvbnN0
IEZvbnRQbGF0Zm9ybURhdGEmLCBib29sIGN1c3RvbUZvbnQgPSBmYWxzZSwgYm9vbCBsb2FkaW5n
ID0gZmFsc2UsIFNWR0ZvbnREYXRhKiBkYXRhID0gMCk7CisgICAgU2ltcGxlRm9udERhdGEoY29u
c3QgRm9udFBsYXRmb3JtRGF0YSYsIGJvb2wgaXNDdXN0b21Gb250ID0gZmFsc2UsIGJvb2wgaXNM
b2FkaW5nID0gZmFsc2UpOworI2lmIEVOQUJMRShTVkdfRk9OVFMpCisgICAgU2ltcGxlRm9udERh
dGEoUGFzc093blB0cjxTVkdGb250RGF0YT4sIGludCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQs
IGJvb2wgc3ludGhldGljSXRhbGljKTsKKyNlbmRpZgogICAgIHZpcnR1YWwgflNpbXBsZUZvbnRE
YXRhKCk7CiAKLXB1YmxpYzoKICAgICBjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURh
dGEoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtRGF0YTsgfQogICAgIFNpbXBsZUZvbnREYXRh
KiBzbWFsbENhcHNGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlv
bikgY29uc3Q7CiAKQEAgLTEzMSw3ICsxMjgsNiBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFVT
RShDT1JFX1RFWFQpCi0gICAgQ1RGb250UmVmIGdldENURm9udCgpIGNvbnN0OwogICAgIENGRGlj
dGlvbmFyeVJlZiBnZXRDRlN0cmluZ0F0dHJpYnV0ZXMoVHlwZXNldHRpbmdGZWF0dXJlcykgY29u
c3Q7CiAjZW5kaWYKIApAQCAtMjM2LDcgKzIzMiw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lm
IFVTRShDT1JFX1RFWFQpCi0gICAgbXV0YWJsZSBSZXRhaW5QdHI8Q1RGb250UmVmPiBtX0NURm9u
dDsKICAgICBtdXRhYmxlIEhhc2hNYXA8dW5zaWduZWQsIFJldGFpblB0cjxDRkRpY3Rpb25hcnlS
ZWY+ID4gbV9DRlN0cmluZ0F0dHJpYnV0ZXM7CiAjZW5kaWYKIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udFBsYXRmb3JtRGF0YS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRQbGF0Zm9ybURhdGEuaAkocmV2aXNpb24gNjQ5
MTQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250UGxhdGZvcm1EYXRhLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIsNyArMiw3IEBACiAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0
aGUgaW50ZXJuYWwgZm9udCBpbXBsZW1lbnRhdGlvbi4KICAqIEl0IHNob3VsZCBub3QgYmUgaW5j
bHVkZWQgYnkgc291cmNlIGZpbGVzIG91dHNpZGUgb2YgaXQuCiAgKgotICogQ29weXJpZ2h0IChD
KSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTExNCw2ICsxMTQs
MTAgQEAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YSB7CiAgICAgTlNGb250ICpmb250KCkgY29uc3Qg
eyByZXR1cm4gbV9mb250OyB9CiAgICAgdm9pZCBzZXRGb250KE5TRm9udCAqZm9udCk7CiAKKyNp
ZiBVU0UoQ09SRV9URVhUKQorICAgIENURm9udFJlZiBjdEZvbnQoKSBjb25zdDsKKyNlbmRpZgor
CiAgICAgYm9vbCByb3VuZHNHbHlwaEFkdmFuY2VzKCkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd3NM
aWdhdHVyZXMoKSBjb25zdDsKICAgICBib29sIGlzQ29sb3JCaXRtYXBGb250KCkgY29uc3QgeyBy
ZXR1cm4gbV9pc0NvbG9yQml0bWFwRm9udDsgfQpAQCAtMTMyLDEyICsxMzYsMTcgQEAgcHJpdmF0
ZToKICAgICBzdGF0aWMgTlNGb250ICpoYXNoVGFibGVEZWxldGVkRm9udFZhbHVlKCkgeyByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxOU0ZvbnQgKj4oLTEpOyB9CiAKICAgICBOU0ZvbnQgKm1fZm9u
dDsKKwogI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgogICAgIFJldGFpblB0cjxDR0ZvbnRSZWY+
IG1fY2dGb250OwogI2Vsc2UKICAgICBDR0ZvbnRSZWYgbV9jZ0ZvbnQ7IC8vIEl0IGlzIG5vdCBu
ZWNlc3NhcnkgdG8gcmVmY291bnQgdGhpcywgc2luY2UgZWl0aGVyIGFuIE5TRm9udCBvd25zIGl0
IG9yIHNvbWUgQ2FjaGVkRm9udCBoYXMgaXQgcmVmZXJlbmNlZC4KICNlbmRpZgogCisjaWYgVVNF
KENPUkVfVEVYVCkKKyAgICBtdXRhYmxlIFJldGFpblB0cjxDVEZvbnRSZWY+IG1fQ1RGb250Owor
I2VuZGlmCisKICAgICBib29sIG1faXNDb2xvckJpdG1hcEZvbnQ7CiB9OwogCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250UGxhdGZvcm1EYXRhTWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRQbGF0Zm9ybURhdGFNYWMu
bW0JKHJldmlzaW9uIDY0OTE0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dFBsYXRmb3JtRGF0YU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsOSBAQCBGb250
UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKGNvbnN0CiAgICAgbV9jZ0ZvbnQgPSBmLm1f
Y2dGb250OwogICAgIG1fYXRzdUZvbnRJRCA9IGYubV9hdHN1Rm9udElEOwogICAgIG1faXNDb2xv
ckJpdG1hcEZvbnQgPSBmLm1faXNDb2xvckJpdG1hcEZvbnQ7CisjaWYgVVNFKENPUkVfVEVYVCkK
KyAgICBtX0NURm9udCA9IGYubV9DVEZvbnQ7CisjZW5kaWYKIH0KIAogRm9udFBsYXRmb3JtRGF0
YTo6IH5Gb250UGxhdGZvcm1EYXRhKCkKQEAgLTg0LDYgKzg3LDkgQEAgY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYgRm9udFBsYXRmb3JtRGF0YQogICAgICAgICBDRlJlbGVhc2UobV9mb250KTsKICAg
ICBtX2ZvbnQgPSBmLm1fZm9udDsKICAgICBtX2lzQ29sb3JCaXRtYXBGb250ID0gZi5tX2lzQ29s
b3JCaXRtYXBGb250OworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgbV9DVEZvbnQgPSBmLm1fQ1RG
b250OworI2VuZGlmCiAgICAgcmV0dXJuICp0aGlzOwogfQogCkBAIC0xMDcsNiArMTEzLDkgQEAg
dm9pZCBGb250UGxhdGZvcm1EYXRhOjpzZXRGb250KE5TRm9udCAqZgogI2lmICFkZWZpbmVkKEJV
SUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgbV9pc0NvbG9yQml0bWFwRm9udCA9
IENURm9udEdldFN5bWJvbGljVHJhaXRzKHRvQ1RGb250UmVmKGZvbnQpKSAmIGtDVEZvbnRDb2xv
ckdseXBoc1RyYWl0OwogI2VuZGlmCisjaWYgVVNFKENPUkVfVEVYVCkKKyAgICBtX0NURm9udCA9
IDA7CisjZW5kaWYKIH0KIAogYm9vbCBGb250UGxhdGZvcm1EYXRhOjpyb3VuZHNHbHlwaEFkdmFu
Y2VzKCkgY29uc3QKQEAgLTExOSw2ICsxMjgsMTcgQEAgYm9vbCBGb250UGxhdGZvcm1EYXRhOjph
bGxvd3NMaWdhdHVyZXMoKQogICAgIHJldHVybiAhW1ttX2ZvbnQgY292ZXJlZENoYXJhY3RlclNl
dF0gY2hhcmFjdGVySXNNZW1iZXI6J2EnXTsKIH0KIAorI2lmIFVTRShDT1JFX1RFWFQpCitDVEZv
bnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKK3sKKyAgICBpZiAobV9mb250
KQorICAgICAgICByZXR1cm4gdG9DVEZvbnRSZWYobV9mb250KTsKKyAgICBpZiAoIW1fQ1RGb250
KQorICAgICAgICBtX0NURm9udC5hZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQo
bV9jZ0ZvbnQuZ2V0KCksIG1fc2l6ZSwgMCwgMCkpOworICAgIHJldHVybiBtX0NURm9udC5nZXQo
KTsKK30KKyNlbmRpZiAvLyBVU0UoQ09SRV9URVhUKQorCiAjaWZuZGVmIE5ERUJVRwogU3RyaW5n
IEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QKIHsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRl
eHQuY3BwCShyZXZpc2lvbiA2NDkxNCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNSArNDEs
NiBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNURm9u
dFJlZiBTaW1wbGVGb250RGF0YTo6Z2V0Q1RGb250KCkgY29uc3QKLXsKLSAgICBpZiAoZ2V0TlNG
b250KCkpCi0gICAgICAgIHJldHVybiB0b0NURm9udFJlZihnZXROU0ZvbnQoKSk7Ci0gICAgaWYg
KCFtX0NURm9udCkKLSAgICAgICAgbV9DVEZvbnQuYWRvcHRDRihDVEZvbnRDcmVhdGVXaXRoR3Jh
cGhpY3NGb250KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpLCBtX3BsYXRmb3JtRGF0YS5zaXplKCks
IDAsIDApKTsKLSAgICByZXR1cm4gbV9DVEZvbnQuZ2V0KCk7Ci19Ci0KIENGRGljdGlvbmFyeVJl
ZiBTaW1wbGVGb250RGF0YTo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzKFR5cGVzZXR0aW5nRmVhdHVy
ZXMgdHlwZXNldHRpbmdGZWF0dXJlcykgY29uc3QKIHsKICAgICB1bnNpZ25lZCBrZXkgPSB0eXBl
c2V0dGluZ0ZlYXR1cmVzICsgMTsKQEAgLTcwLDcgKzYxLDcgQEAgQ0ZEaWN0aW9uYXJ5UmVmIFNp
bXBsZUZvbnREYXRhOjpnZXRDRlN0cgogICAgICAgICBzdGF0aWMgY29uc3QgZmxvYXQga2Vybmlu
Z0FkanVzdG1lbnRWYWx1ZSA9IDA7CiAgICAgICAgIHN0YXRpYyBDRk51bWJlclJlZiBrZXJuaW5n
QWRqdXN0bWVudCA9IENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJl
ckZsb2F0VHlwZSwgJmtlcm5pbmdBZGp1c3RtZW50VmFsdWUpOwogICAgICAgICBzdGF0aWMgY29u
c3Qgdm9pZCoga2V5c1dpdGhLZXJuaW5nRGlzYWJsZWRbXSA9IHsga0NURm9udEF0dHJpYnV0ZU5h
bWUsIGtDVEtlcm5BdHRyaWJ1dGVOYW1lLCBrQ1RMaWdhdHVyZUF0dHJpYnV0ZU5hbWUgfTsKLSAg
ICAgICAgY29uc3Qgdm9pZCogdmFsdWVzV2l0aEtlcm5pbmdEaXNhYmxlZFtdID0geyBnZXRDVEZv
bnQoKSwga2VybmluZ0FkanVzdG1lbnQsIGFsbG93TGlnYXR1cmVzCisgICAgICAgIGNvbnN0IHZv
aWQqIHZhbHVlc1dpdGhLZXJuaW5nRGlzYWJsZWRbXSA9IHsgcGxhdGZvcm1EYXRhKCkuY3RGb250
KCksIGtlcm5pbmdBZGp1c3RtZW50LCBhbGxvd0xpZ2F0dXJlcwogICAgICAgICAgICAgPyBsaWdh
dHVyZXNBbGxvd2VkIDogbGlnYXR1cmVzTm90QWxsb3dlZCB9OwogICAgICAgICBhdHRyaWJ1dGVz
RGljdGlvbmFyeS5hZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZSgwLCBrZXlzV2l0aEtlcm5pbmdE
aXNhYmxlZCwgdmFsdWVzV2l0aEtlcm5pbmdEaXNhYmxlZCwKICAgICAgICAgICAgIHNpemVvZihr
ZXlzV2l0aEtlcm5pbmdEaXNhYmxlZCkgLyBzaXplb2YoKmtleXNXaXRoS2VybmluZ0Rpc2FibGVk
KSwKQEAgLTc4LDcgKzY5LDcgQEAgQ0ZEaWN0aW9uYXJ5UmVmIFNpbXBsZUZvbnREYXRhOjpnZXRD
RlN0cgogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIEJ5IG9taXR0aW5nIHRoZSBrQ1RLZXJuQXR0
cmlidXRlTmFtZSBhdHRyaWJ1dGUsIHdlIGdldCBDb3JlIFRleHQncyBzdGFuZGFyZCBrZXJuaW5n
LgogICAgICAgICBzdGF0aWMgY29uc3Qgdm9pZCoga2V5c1dpdGhLZXJuaW5nRW5hYmxlZFtdID0g
eyBrQ1RGb250QXR0cmlidXRlTmFtZSwga0NUTGlnYXR1cmVBdHRyaWJ1dGVOYW1lIH07Ci0gICAg
ICAgIGNvbnN0IHZvaWQqIHZhbHVlc1dpdGhLZXJuaW5nRW5hYmxlZFtdID0geyBnZXRDVEZvbnQo
KSwgYWxsb3dMaWdhdHVyZXMgPyBsaWdhdHVyZXNBbGxvd2VkIDogbGlnYXR1cmVzTm90QWxsb3dl
ZCB9OworICAgICAgICBjb25zdCB2b2lkKiB2YWx1ZXNXaXRoS2VybmluZ0VuYWJsZWRbXSA9IHsg
cGxhdGZvcm1EYXRhKCkuY3RGb250KCksIGFsbG93TGlnYXR1cmVzID8gbGlnYXR1cmVzQWxsb3dl
ZCA6IGxpZ2F0dXJlc05vdEFsbG93ZWQgfTsKICAgICAgICAgYXR0cmlidXRlc0RpY3Rpb25hcnku
YWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGUoMCwga2V5c1dpdGhLZXJuaW5nRW5hYmxlZCwgdmFs
dWVzV2l0aEtlcm5pbmdFbmFibGVkLAogICAgICAgICAgICAgc2l6ZW9mKGtleXNXaXRoS2Vybmlu
Z0VuYWJsZWQpIC8gc2l6ZW9mKCprZXlzV2l0aEtlcm5pbmdFbmFibGVkKSwKICAgICAgICAgICAg
ICZrQ0ZDb3B5U3RyaW5nRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5
VmFsdWVDYWxsQmFja3MpKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5jcHAJKHJldmlzaW9uIDY0OTE0KQor
KysgV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICsz
Myw3IEBAIFNWR0ZvbnREYXRhOjpTVkdGb250RGF0YShTVkdGb250RmFjZUVsZW0KICAgICAsIG1f
dmVydGljYWxPcmlnaW5ZKGZvbnRGYWNlRWxlbWVudC0+dmVydGljYWxPcmlnaW5ZKCkpCiAgICAg
LCBtX3ZlcnRpY2FsQWR2YW5jZVkoZm9udEZhY2VFbGVtZW50LT52ZXJ0aWNhbEFkdmFuY2VZKCkp
CiB7CisgICAgQVNTRVJUX0FSRyhmb250RmFjZUVsZW1lbnQsIGZvbnRGYWNlRWxlbWVudCk7CiB9
CiAKIFNWR0ZvbnREYXRhOjp+U1ZHRm9udERhdGEoKQo=
</data>
<flag name="review"
          id="52243"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>