<?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>216525</bug_id>
          
          <creation_ts>2020-09-14 21:17:21 -0700</creation_ts>
          <short_desc>[Apple Win] Migrate the first part of SimpleFontData{CG}Win.cpp to FontCoreText.cpp</short_desc>
          <delta_ts>2020-09-15 16:35:17 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>216353</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1688572</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-14 21:17:21 -0700</bug_when>
    <thetext>This is the next step of migrating the Apple Win port off CGFont and on to CTFont.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688573</commentid>
    <comment_count>1</comment_count>
      <attachid>408787</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-14 21:17:47 -0700</bug_when>
    <thetext>Created attachment 408787
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688578</commentid>
    <comment_count>2</comment_count>
      <attachid>408788</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-14 21:34:33 -0700</bug_when>
    <thetext>Created attachment 408788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688847</commentid>
    <comment_count>3</comment_count>
      <attachid>408863</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-15 14:19:14 -0700</bug_when>
    <thetext>Created attachment 408863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688911</commentid>
    <comment_count>4</comment_count>
      <attachid>408863</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-09-15 16:29:46 -0700</bug_when>
    <thetext>Comment on attachment 408863
Patch

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

&gt; Source/WebCore/platform/graphics/win/SimpleFontDataCairoWin.cpp:111
&gt; +    // is *not* fixed pitch. Unbelievable but true.

Add &quot;!&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688913</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-15 16:34:56 -0700</bug_when>
    <thetext>Committed r267112: &lt;https://trac.webkit.org/changeset/267112&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688915</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-15 16:35:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/68949143&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408787</attachid>
            <date>2020-09-14 21:17:47 -0700</date>
            <delta_ts>2020-09-14 21:34:32 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>8487</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCShyZXZpc2lv
biAyNjY5ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDc0LDcgKzQ3NCw3IEBACiAgICAgcmV0dXJuICpkZXJpdmVkRm9u
dERhdGEuYnJva2VuSWRlb2dyYXBoRm9udDsKIH0KIAotI2lmICFVU0UoQ09SRV9URVhUKSB8fCBQ
TEFURk9STShXSU4pCisjaWYgIVVTRShDT1JFX1RFWFQpCiAKIGJvb2wgRm9udDo6aXNQcm9iYWJs
eU9ubHlVc2VkVG9SZW5kZXJJY29ucygpIGNvbnN0CiB7CkBAIC02NDcsMTEgKzY0Nyw2IEBACiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIH0KLQotYm9vbCBGb250OjpwbGF0Zm9ybVN1cHBv
cnRzQ29kZVBvaW50KFVDaGFyMzIgY2hhcmFjdGVyLCBPcHRpb25hbDxVQ2hhcjMyPiB2YXJpYXRp
b24pIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHZhcmlhdGlvbiA/IGZhbHNlIDogZ2x5cGhGb3JDaGFy
YWN0ZXIoY2hhcmFjdGVyKTsKLX0KICNlbmRpZgogCiBib29sIEZvbnQ6OnN1cHBvcnRzQ29kZVBv
aW50KFVDaGFyMzIgY2hhcmFjdGVyKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVUZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q29yZVRleHQuY3BwCShy
ZXZpc2lvbiAyNjY5ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3Jl
dGV4dC9Gb250Q29yZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSwxMyArNTEsMTMgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgIVBMQVRGT1JNKFdJTikKLQogc3RhdGljIGlu
bGluZSBib29sIGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdS
ZWYgYikKIHsKICAgICByZXR1cm4gYSAmJiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFy
ZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NGQ29tcGFyZUVxdWFsVG87CiB9CiAKKyNpZiAhUExBVEZP
Uk0oV0lOKQorCiBzdGF0aWMgYm9vbCBmb250SGFzVmVydGljYWxHbHlwaHMoQ1RGb250UmVmIGZv
bnQpCiB7CiAgICAgcmV0dXJuIGZvbnRIYXNFaXRoZXJUYWJsZShmb250LCBrQ1RGb250VGFibGVW
aGVhLCBrQ1RGb250VGFibGVWT1JHKTsKQEAgLTYzNiw2ICs2MzYsMjggQEAKICAgICAgICAgZ2x5
cGhCdWZmZXIucmV2ZXJzZShiZWdpbm5pbmdHbHlwaEluZGV4LCBnbHlwaEJ1ZmZlci5zaXplKCkg
LSBiZWdpbm5pbmdHbHlwaEluZGV4KTsKIH0KIAorZmxvYXQgRm9udDo6cGxhdGZvcm1XaWR0aEZv
ckdseXBoKEdseXBoIGdseXBoKSBjb25zdAoreworICAgIENHU2l6ZSBhZHZhbmNlID0gQ0dTaXpl
WmVybzsKKworICAgIGlmIChwbGF0Zm9ybURhdGEoKS5zaXplKCkpIHsKKyAgICAgICAgYm9vbCBo
b3Jpem9udGFsID0gcGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBGb250T3JpZW50YXRp
b246Okhvcml6b250YWw7CisgICAgICAgIENURm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uID0g
aG9yaXpvbnRhbCB8fCBtX2lzQnJva2VuSWRlb2dyYXBoRmFsbGJhY2sgPyBrQ1RGb250T3JpZW50
YXRpb25Ib3Jpem9udGFsIDoga0NURm9udE9yaWVudGF0aW9uVmVydGljYWw7CisjaWYgVVNFKENU
Rk9OVEdFVEFEVkFOQ0VTX1dPUktBUk9VTkQpCisgICAgICAgIENHRm9udFJlbmRlcmluZ1N0eWxl
IHN0eWxlID0ga0NHRm9udFJlbmRlcmluZ1N0eWxlQW50aWFsaWFzaW5nIHwga0NHRm9udFJlbmRl
cmluZ1N0eWxlU3VicGl4ZWxQb3NpdGlvbmluZyB8IGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBp
eGVsUXVhbnRpemF0aW9uIHwga0NHRm9udEFudGlhbGlhc2luZ1N0eWxlVW5maWx0ZXJlZDsKKyAg
ICAgICAgaWYgKCFDVEZvbnRJc0FwcGxlQ29sb3JFbW9qaShtX3BsYXRmb3JtRGF0YS5jdEZvbnQo
KSkgJiYgIW1fcGxhdGZvcm1EYXRhLmhhc1ZhcmlhdGlvbnMoKSkKKyAgICAgICAgICAgIENURm9u
dEdldFVuc3VtbWVkQWR2YW5jZXNGb3JHbHlwaHNBbmRTdHlsZShtX3BsYXRmb3JtRGF0YS5jdEZv
bnQoKSwgb3JpZW50YXRpb24sIHN0eWxlLCAmZ2x5cGgsICZhZHZhbmNlLCAxKTsKKyAgICAgICAg
ZWxzZQorI2VuZGlmCisgICAgICAgIHsKKyAgICAgICAgICAgIENURm9udEdldEFkdmFuY2VzRm9y
R2x5cGhzKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBvcmllbnRhdGlvbiwgJmdseXBoLCAmYWR2
YW5jZSwgMSk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGFkdmFuY2Uud2lkdGggKyBt
X3N5bnRoZXRpY0JvbGRPZmZzZXQ7Cit9CisKKyNlbmRpZgorCiBzdGF0aWMgaW50IGV4dHJhY3RO
dW1iZXIoQ0ZOdW1iZXJSZWYgbnVtYmVyKQogewogICAgIGludCByZXN1bHQgPSAwOwpAQCAtNjQ2
LDcgKzY2OCw3IEBACiAKIHZvaWQgRm9udDo6ZGV0ZXJtaW5lUGl0Y2goKQogewotICAgIENURm9u
dFJlZiBjdEZvbnQgPSBtX3BsYXRmb3JtRGF0YS5mb250KCk7CisgICAgQ1RGb250UmVmIGN0Rm9u
dCA9IG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpOwogICAgIEFTU0VSVChjdEZvbnQpOwogCiAgICAg
Ly8gU3BlY2lhbCBjYXNlIE9zYWthLU1vbm8uCkBAIC02NjQsNyArNjg2LDcgQEAKICAgICBhdXRv
IGZ1bGxOYW1lID0gYWRvcHRDRihDVEZvbnRDb3B5RnVsbE5hbWUoY3RGb250KSk7CiAgICAgYXV0
byBmYW1pbHlOYW1lID0gYWRvcHRDRihDVEZvbnRDb3B5RmFtaWx5TmFtZShjdEZvbnQpKTsKIAot
ICAgIGludCBmaXhlZFBpdGNoID0gZXh0cmFjdE51bWJlcihhZG9wdENGKHN0YXRpY19jYXN0PENG
TnVtYmVyUmVmPihDVEZvbnRDb3B5QXR0cmlidXRlKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSwga0NU
Rm9udEZpeGVkQWR2YW5jZUF0dHJpYnV0ZSkpKS5nZXQoKSk7CisgICAgaW50IGZpeGVkUGl0Y2gg
PSBleHRyYWN0TnVtYmVyKGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZOdW1iZXJSZWY+KENURm9udENv
cHlBdHRyaWJ1dGUobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGtDVEZvbnRGaXhlZEFkdmFuY2VB
dHRyaWJ1dGUpKSkuZ2V0KCkpOwogICAgIG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPSAoQ1RGb250R2V0
U3ltYm9saWNUcmFpdHMoY3RGb250KSAmIGtDVEZvbnRNb25vU3BhY2VUcmFpdCkgfHwgZml4ZWRQ
aXRjaCB8fCAoY2FzZUluc2Vuc2l0aXZlQ29tcGFyZShmdWxsTmFtZS5nZXQoKSwgQ0ZTVFIoIk9z
YWthLU1vbm8iKSkgfHwgY2FzZUluc2Vuc2l0aXZlQ29tcGFyZShmdWxsTmFtZS5nZXQoKSwgQ0ZT
VFIoIk1TLVBHb3RoaWMiKSkgfHwgY2FzZUluc2Vuc2l0aXZlQ29tcGFyZShmdWxsTmFtZS5nZXQo
KSwgQ0ZTVFIoIk1vbm90eXBlQ29yc2l2YSIpKSk7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICBpZiAoZmFtaWx5TmFtZSAmJiBjYXNlSW5zZW5zaXRpdmVDb21wYXJlKGZhbWlseU5hbWUu
Z2V0KCksIENGU1RSKCJDb3VyaWVyIE5ldyIpKSkgewpAQCAtNjg1LDI2ICs3MDcsNiBAQAogICAg
IHJldHVybiBib3VuZGluZ0JveDsKIH0KIAotZmxvYXQgRm9udDo6cGxhdGZvcm1XaWR0aEZvckds
eXBoKEdseXBoIGdseXBoKSBjb25zdAotewotICAgIENHU2l6ZSBhZHZhbmNlID0gQ0dTaXplWmVy
bzsKLQotICAgIGlmIChwbGF0Zm9ybURhdGEoKS5zaXplKCkpIHsKLSAgICAgICAgYm9vbCBob3Jp
em9udGFsID0gcGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBGb250T3JpZW50YXRpb246
Okhvcml6b250YWw7Ci0gICAgICAgIENURm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uID0gaG9y
aXpvbnRhbCB8fCBtX2lzQnJva2VuSWRlb2dyYXBoRmFsbGJhY2sgPyBrQ1RGb250T3JpZW50YXRp
b25Ib3Jpem9udGFsIDoga0NURm9udE9yaWVudGF0aW9uVmVydGljYWw7Ci0jaWYgVVNFKENURk9O
VEdFVEFEVkFOQ0VTX1dPUktBUk9VTkQpCi0gICAgICAgIENHRm9udFJlbmRlcmluZ1N0eWxlIHN0
eWxlID0ga0NHRm9udFJlbmRlcmluZ1N0eWxlQW50aWFsaWFzaW5nIHwga0NHRm9udFJlbmRlcmlu
Z1N0eWxlU3VicGl4ZWxQb3NpdGlvbmluZyB8IGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVs
UXVhbnRpemF0aW9uIHwga0NHRm9udEFudGlhbGlhc2luZ1N0eWxlVW5maWx0ZXJlZDsKLSAgICAg
ICAgaWYgKCFDVEZvbnRJc0FwcGxlQ29sb3JFbW9qaShtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSkg
JiYgIW1fcGxhdGZvcm1EYXRhLmhhc1ZhcmlhdGlvbnMoKSkKLSAgICAgICAgICAgIENURm9udEdl
dFVuc3VtbWVkQWR2YW5jZXNGb3JHbHlwaHNBbmRTdHlsZShtX3BsYXRmb3JtRGF0YS5jdEZvbnQo
KSwgb3JpZW50YXRpb24sIHN0eWxlLCAmZ2x5cGgsICZhZHZhbmNlLCAxKTsKLSAgICAgICAgZWxz
ZQotI2VuZGlmCi0gICAgICAgIHsKLSAgICAgICAgICAgIENURm9udEdldEFkdmFuY2VzRm9yR2x5
cGhzKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBvcmllbnRhdGlvbiwgJmdseXBoLCAmYWR2YW5j
ZSwgMSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGFkdmFuY2Uud2lkdGggKyBtX3N5
bnRoZXRpY0JvbGRPZmZzZXQ7Ci19Ci0KIFBhdGggRm9udDo6cGxhdGZvcm1QYXRoRm9yR2x5cGgo
R2x5cGggZ2x5cGgpIGNvbnN0CiB7CiAgICAgYXV0byByZXN1bHQgPSBhZG9wdENGKENURm9udENy
ZWF0ZVBhdGhGb3JHbHlwaChwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKSwgZ2x5cGgsIG51bGxwdHIp
KTsKQEAgLTczMyw3ICs3MzUsNyBAQAogCiBib29sIEZvbnQ6OmlzUHJvYmFibHlPbmx5VXNlZFRv
UmVuZGVySWNvbnMoKSBjb25zdAogewotICAgIGF1dG8gcGxhdGZvcm1Gb250ID0gcGxhdGZvcm1E
YXRhKCkuZm9udCgpOworICAgIGF1dG8gcGxhdGZvcm1Gb250ID0gcGxhdGZvcm1EYXRhKCkuY3RG
b250KCk7CiAgICAgaWYgKCFwbGF0Zm9ybUZvbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApA
QCAtNzcwLDYgKzc3Miw0IEBACiAgICAgfSk7CiB9CiAKLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFDR1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCShyZXZpc2lvbiAyNjY5ODYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFD
R1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMiwzMyArMTEyLDExIEBACiAgICAgbV9mb250
TWV0cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOwogfQogCi1GbG9hdFJlY3QgRm9udDo6
cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKLXsKLSAgICBpZiAoIXBs
YXRmb3JtRGF0YSgpLnNpemUoKSkKLSAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwotCi0gICAg
aWYgKG1fcGxhdGZvcm1EYXRhLnVzZUdESSgpKQotICAgICAgICByZXR1cm4gYm91bmRzRm9yR0RJ
R2x5cGgoZ2x5cGgpOwotCi0gICAgQ0dSZWN0IGJveDsKLSAgICBDR0ZvbnRHZXRHbHlwaEJCb3hl
cyhtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSwgJmdseXBoLCAxLCAmYm94KTsKLSAgICBmbG9hdCBw
b2ludFNpemUgPSBtX3BsYXRmb3JtRGF0YS5zaXplKCk7Ci0gICAgQ0dGbG9hdCBzY2FsZSA9IHBv
aW50U2l6ZSAvIGZvbnRNZXRyaWNzKCkudW5pdHNQZXJFbSgpOwotICAgIEZsb2F0UmVjdCBib3Vu
ZGluZ0JveCA9IENHUmVjdEFwcGx5QWZmaW5lVHJhbnNmb3JtKGJveCwgQ0dBZmZpbmVUcmFuc2Zv
cm1NYWtlU2NhbGUoc2NhbGUsIC1zY2FsZSkpOwotICAgIGlmIChtX3N5bnRoZXRpY0JvbGRPZmZz
ZXQpCi0gICAgICAgIGJvdW5kaW5nQm94LnNldFdpZHRoKGJvdW5kaW5nQm94LndpZHRoKCkgKyBt
X3N5bnRoZXRpY0JvbGRPZmZzZXQpOwotCi0gICAgcmV0dXJuIGJvdW5kaW5nQm94OwotfQotCiBm
bG9hdCBGb250OjpwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiB7CiAg
ICAgaWYgKCFwbGF0Zm9ybURhdGEoKS5zaXplKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
aWYgKG1fcGxhdGZvcm1EYXRhLnVzZUdESSgpKQotICAgICAgICByZXR1cm4gd2lkdGhGb3JHRElH
bHlwaChnbHlwaCk7Ci0KICAgICBDR0ZvbnRSZWYgZm9udCA9IG1fcGxhdGZvcm1EYXRhLmNnRm9u
dCgpOwogICAgIGZsb2F0IHBvaW50U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKICAgICBD
R1NpemUgYWR2YW5jZTsKQEAgLTE1MCwyMSArMTI4LDYgQEAKICAgICByZXR1cm4gYWR2YW5jZS53
aWR0aCArIG1fc3ludGhldGljQm9sZE9mZnNldDsKIH0KIAotUGF0aCBGb250OjpwbGF0Zm9ybVBh
dGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKLXsKLSAgICBhdXRvIGN0Rm9udCA9IGFkb3B0
Q0YoQ1RGb250Q3JlYXRlV2l0aEdyYXBoaWNzRm9udChwbGF0Zm9ybURhdGEoKS5jZ0ZvbnQoKSwg
cGxhdGZvcm1EYXRhKCkuc2l6ZSgpLCBudWxscHRyLCBudWxscHRyKSk7Ci0gICAgYXV0byByZXN1
bHQgPSBhZG9wdENGKENURm9udENyZWF0ZVBhdGhGb3JHbHlwaChjdEZvbnQuZ2V0KCksIGdseXBo
LCBudWxscHRyKSk7Ci0gICAgYXV0byBzeW50aGV0aWNCb2xkT2Zmc2V0ID0gdGhpcy0+c3ludGhl
dGljQm9sZE9mZnNldCgpOwotICAgIGlmIChzeW50aGV0aWNCb2xkT2Zmc2V0KSB7Ci0gICAgICAg
IGF1dG8gbmV3UGF0aCA9IGFkb3B0Q0YoQ0dQYXRoQ3JlYXRlTXV0YWJsZSgpKTsKLSAgICAgICAg
Q0dQYXRoQWRkUGF0aChuZXdQYXRoLmdldCgpLCBudWxscHRyLCByZXN1bHQuZ2V0KCkpOwotICAg
ICAgICBhdXRvIHRyYW5zbGF0aW9uID0gQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlVHJhbnNsYXRpb24o
c3ludGhldGljQm9sZE9mZnNldCwgMCk7Ci0gICAgICAgIENHUGF0aEFkZFBhdGgobmV3UGF0aC5n
ZXQoKSwgJnRyYW5zbGF0aW9uLCByZXN1bHQuZ2V0KCkpOwotICAgICAgICByZXR1cm4gbmV3UGF0
aDsKLSAgICB9Ci0gICAgcmV0dXJuIGFkb3B0Q0YoQ0dQYXRoQ3JlYXRlTXV0YWJsZUNvcHkocmVz
dWx0LmdldCgpKSk7CiB9CiAKLX0KLQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAJ
KHJldmlzaW9uIDI2Njk4NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9TaW1wbGVGb250RGF0YVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSwyNyArMTM1LDYg
QEAKICAgICByZXR1cm4gRm9udDo6Y3JlYXRlKEZvbnRQbGF0Zm9ybURhdGEoV1RGTW92ZShoZm9u
dCksIHNjYWxlZFNpemUsIG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSwgbV9wbGF0Zm9y
bURhdGEuc3ludGhldGljT2JsaXF1ZSgpLCBtX3BsYXRmb3JtRGF0YS51c2VHREkoKSksIG9yaWdp
bigpKTsKIH0KIAotdm9pZCBGb250OjpkZXRlcm1pbmVQaXRjaCgpCi17Ci0gICAgaWYgKG9yaWdp
bigpID09IE9yaWdpbjo6UmVtb3RlKSB7Ci0gICAgICAgIG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPSBm
YWxzZTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIFRFWFRNRVRSSUNTIGhhdmUg
dGhpcy4gIFNldCBtX3RyZWF0QXNGaXhlZFBpdGNoIGJhc2VkIG9mZiB0aGF0LgotICAgIEhXbmRE
QyBkYygwKTsKLSAgICBTYXZlREMoZGMpOwotICAgIFNlbGVjdE9iamVjdChkYywgbV9wbGF0Zm9y
bURhdGEuaGZvbnQoKSk7Ci0KLSAgICAvLyBZZXMsIHRoaXMgbG9va3MgYmFja3dhcmRzLCBidXQg
dGhlIGZpeGVkIHBpdGNoIGJpdCBpcyBhY3R1YWxseSBzZXQgaWYgdGhlIGZvbnQKLSAgICAvLyBp
cyAqbm90KiBmaXhlZCBwaXRjaC4gIFVuYmVsaWV2YWJsZSBidXQgdHJ1ZS4KLSAgICBURVhUTUVU
UklDIHRtOwotICAgIEdldFRleHRNZXRyaWNzKGRjLCAmdG0pOwotICAgIG1fdHJlYXRBc0ZpeGVk
UGl0Y2ggPSAoKHRtLnRtUGl0Y2hBbmRGYW1pbHkgJiBUTVBGX0ZJWEVEX1BJVENIKSA9PSAwKTsK
LQotICAgIFJlc3RvcmVEQyhkYywgLTEpOwotfQotCiBGbG9hdFJlY3QgRm9udDo6Ym91bmRzRm9y
R0RJR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiB7CiAgICAgSFduZERDIGhkYygwKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408788</attachid>
            <date>2020-09-14 21:34:33 -0700</date>
            <delta_ts>2020-09-15 14:19:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216525-20200914213432.patch</filename>
            <type>text/plain</type>
            <size>12473</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzkxNzg5MmI2N2Y1MGJi
ODk0NGM1NjJlZjc2MjI5YWZmMTBiNDhjZi4uMzgxZDQzNjQyZmQ0NzA0NGIyYWMxMWQ1ZjAxODE5
ZjBhYjMyN2Y0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIwLTA5LTE0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gTWlncmF0ZSB0aGUgZmlyc3QgcGFydCBvZiBTaW1wbGVGb250RGF0YXtDR31XaW4uY3BwIHRv
IEZvbnRDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNjUyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgbWlncmF0ZXM6CisgICAgICAgIC0gRm9udDo6aXNQcm9iYWJseU9ubHlV
c2VkVG9SZW5kZXJJY29ucygpCisgICAgICAgIC0gRm9udDo6cGxhdGZvcm1TdXBwb3J0c0NvZGVQ
b2ludCgpCisgICAgICAgIC0gRm9udDo6ZGV0ZXJtaW5lUGl0Y2goKQorICAgICAgICAtIEZvbnQ6
OnBsYXRmb3JtQm91bmRzRm9yR2x5cGgoKQorICAgICAgICAtIEZvbnQ6OnBsYXRmb3JtUGF0aEZv
ckdseXBoKCkKKworICAgICAgICBmcm9tIHRoZSBvbGQgV2luZG93cyBDRyBjb2RlcGF0aCB0byB0
aGUgQ29yZSBUZXh0IGNvZGVwYXRoLiBUaGlzIHBhdGNoIHVuaWZpZXMgdGhlc2UgZnVuY3Rpb25z
CisgICAgICAgIGJldHdlZW4gdGhlIEFwcGxlIFdpbmRvd3MgcG9ydCBhbmQgdGhlIG1hY09TIC8g
aU9TIHBvcnRzLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OnZhcmlhbnRDYXBzU3VwcG9ydHNDaGFyYWN0ZXJGb3JTeW50aGVzaXMgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6cGxhdGZvcm1TdXBwb3J0c0NvZGVQb2ludCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVUZXh0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OnBsYXRmb3JtV2lkdGhGb3JHbHlwaCBjb25zdCk6
IE1vdmUgdGhpcyB1cCBpbnRvIHRoZSAjaWYgIVBMQVRGT1JNKFdJTikgc2VjdGlvbi4KKyAgICAg
ICAgV2UgZG9uJ3Qgd2FudCB0byBtaWdyYXRlIHRoaXMgb25lIGp1c3QgeWV0IGJlY2F1c2UgaXQg
Y2F1c2VzIGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIHRlc3QgZmFpbHVyZXMsCisgICAgICAgIHdo
aWNoIHJlcXVpcmUgbW9yZSBpbnZlc3RpZ2F0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6
ZGV0ZXJtaW5lUGl0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6aXNQcm9iYWJseU9ubHlV
c2VkVG9SZW5kZXJJY29ucyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6cGxhdGZv
cm1Cb3VuZHNGb3JHbHlwaCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpGb250
OjpwbGF0Zm9ybVBhdGhGb3JHbHlwaCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udDo6ZGV0ZXJtaW5lUGl0Y2gpOiBUaGUgV2luQ2Fpcm8gcG9ydCBpcyB0aGUgb25s
eSBwb3J0IHN0aWxsIHVzaW5nIHRoZSBub24tQ0cgV2luZG93cworICAgICAgICBpbXBsZW1lbnRh
dGlvbiBvZiB0aGlzIGZ1bmN0aW9uLCBzbyB3ZSBjYW4ganVzdCBtb3ZlIGl0IGRpcmVjdGx5IGlu
dG8gdGhlIENhaXJvV2luLXNwZWNpZmljIGZpbGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmRl
dGVybWluZVBpdGNoKTogRGVsZXRlZC4KKwogMjAyMC0wOS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtBcHBsZSBXaW5dIE1pZ3JhdGUgZnJv
bSBGb250UGxhdGZvcm1EYXRhV2luLmNwcCB0byBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCmluZGV4IDA3ZGViMzhl
YjFkMGZlNmRjYWUzYmFlMDdmYTU0YjhhNjczNGEzZDQuLmI0YzZiZmJiMjViYTg4OGFlZDU4OGU2
NzA2MWViMmZkYTIzZDZiNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuY3BwCkBAIC00NzQsNyArNDc0LDcgQEAgY29uc3QgRm9udCYgRm9udDo6YnJva2VuSWRlb2dy
YXBoRm9udCgpIGNvbnN0CiAgICAgcmV0dXJuICpkZXJpdmVkRm9udERhdGEuYnJva2VuSWRlb2dy
YXBoRm9udDsKIH0KIAotI2lmICFVU0UoQ09SRV9URVhUKSB8fCBQTEFURk9STShXSU4pCisjaWYg
IVVTRShDT1JFX1RFWFQpCiAKIGJvb2wgRm9udDo6aXNQcm9iYWJseU9ubHlVc2VkVG9SZW5kZXJJ
Y29ucygpIGNvbnN0CiB7CkBAIC02NDcsMTEgKzY0Nyw2IEBAIGJvb2wgRm9udDo6dmFyaWFudENh
cHNTdXBwb3J0c0NoYXJhY3RlckZvclN5bnRoZXNpcyhGb250VmFyaWFudENhcHMgZm9udFZhcmlh
bnRDCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIH0KLQotYm9vbCBGb250OjpwbGF0Zm9y
bVN1cHBvcnRzQ29kZVBvaW50KFVDaGFyMzIgY2hhcmFjdGVyLCBPcHRpb25hbDxVQ2hhcjMyPiB2
YXJpYXRpb24pIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHZhcmlhdGlvbiA/IGZhbHNlIDogZ2x5cGhG
b3JDaGFyYWN0ZXIoY2hhcmFjdGVyKTsKLX0KICNlbmRpZgogCiBib29sIEZvbnQ6OnN1cHBvcnRz
Q29kZVBvaW50KFVDaGFyMzIgY2hhcmFjdGVyKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVUZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRDb3JlVGV4dC5jcHAKaW5k
ZXggMjMxOTM2ZGI4Y2I0OWM3MDBkZjhjZmNmMzdhOWVhZjg2Nzg5MTdkZi4uNzBiNzc5OWUxYWZj
OTEyMDJhODUwOTZkZjI0MDQ1YzBlNGI1MDZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udENvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q29yZVRleHQuY3BwCkBAIC01
MSwxMyArNTEsMTMgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgIVBMQVRGT1JNKFdJ
TikKLQogc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUoQ0ZTdHJpbmdS
ZWYgYSwgQ0ZTdHJpbmdSZWYgYikKIHsKICAgICByZXR1cm4gYSAmJiBDRlN0cmluZ0NvbXBhcmUo
YSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NGQ29tcGFyZUVxdWFsVG87CiB9
CiAKKyNpZiAhUExBVEZPUk0oV0lOKQorCiBzdGF0aWMgYm9vbCBmb250SGFzVmVydGljYWxHbHlw
aHMoQ1RGb250UmVmIGZvbnQpCiB7CiAgICAgcmV0dXJuIGZvbnRIYXNFaXRoZXJUYWJsZShmb250
LCBrQ1RGb250VGFibGVWaGVhLCBrQ1RGb250VGFibGVWT1JHKTsKQEAgLTYzNiw2ICs2MzYsMjgg
QEAgdm9pZCBGb250OjphcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCB1
bnNpZ25lZCBiZWdpbm5pbmdHbHlwaEluZGUKICAgICAgICAgZ2x5cGhCdWZmZXIucmV2ZXJzZShi
ZWdpbm5pbmdHbHlwaEluZGV4LCBnbHlwaEJ1ZmZlci5zaXplKCkgLSBiZWdpbm5pbmdHbHlwaElu
ZGV4KTsKIH0KIAorZmxvYXQgRm9udDo6cGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBoIGdseXBo
KSBjb25zdAoreworICAgIENHU2l6ZSBhZHZhbmNlID0gQ0dTaXplWmVybzsKKworICAgIGlmIChw
bGF0Zm9ybURhdGEoKS5zaXplKCkpIHsKKyAgICAgICAgYm9vbCBob3Jpem9udGFsID0gcGxhdGZv
cm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBGb250T3JpZW50YXRpb246Okhvcml6b250YWw7Cisg
ICAgICAgIENURm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uID0gaG9yaXpvbnRhbCB8fCBtX2lz
QnJva2VuSWRlb2dyYXBoRmFsbGJhY2sgPyBrQ1RGb250T3JpZW50YXRpb25Ib3Jpem9udGFsIDog
a0NURm9udE9yaWVudGF0aW9uVmVydGljYWw7CisjaWYgVVNFKENURk9OVEdFVEFEVkFOQ0VTX1dP
UktBUk9VTkQpCisgICAgICAgIENHRm9udFJlbmRlcmluZ1N0eWxlIHN0eWxlID0ga0NHRm9udFJl
bmRlcmluZ1N0eWxlQW50aWFsaWFzaW5nIHwga0NHRm9udFJlbmRlcmluZ1N0eWxlU3VicGl4ZWxQ
b3NpdGlvbmluZyB8IGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUXVhbnRpemF0aW9uIHwg
a0NHRm9udEFudGlhbGlhc2luZ1N0eWxlVW5maWx0ZXJlZDsKKyAgICAgICAgaWYgKCFDVEZvbnRJ
c0FwcGxlQ29sb3JFbW9qaShtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSkgJiYgIW1fcGxhdGZvcm1E
YXRhLmhhc1ZhcmlhdGlvbnMoKSkKKyAgICAgICAgICAgIENURm9udEdldFVuc3VtbWVkQWR2YW5j
ZXNGb3JHbHlwaHNBbmRTdHlsZShtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgb3JpZW50YXRpb24s
IHN0eWxlLCAmZ2x5cGgsICZhZHZhbmNlLCAxKTsKKyAgICAgICAgZWxzZQorI2VuZGlmCisgICAg
ICAgIHsKKyAgICAgICAgICAgIENURm9udEdldEFkdmFuY2VzRm9yR2x5cGhzKG1fcGxhdGZvcm1E
YXRhLmN0Rm9udCgpLCBvcmllbnRhdGlvbiwgJmdseXBoLCAmYWR2YW5jZSwgMSk7CisgICAgICAg
IH0KKyAgICB9CisgICAgcmV0dXJuIGFkdmFuY2Uud2lkdGggKyBtX3N5bnRoZXRpY0JvbGRPZmZz
ZXQ7Cit9CisKKyNlbmRpZgorCiBzdGF0aWMgaW50IGV4dHJhY3ROdW1iZXIoQ0ZOdW1iZXJSZWYg
bnVtYmVyKQogewogICAgIGludCByZXN1bHQgPSAwOwpAQCAtNjQ2LDcgKzY2OCw3IEBAIHN0YXRp
YyBpbnQgZXh0cmFjdE51bWJlcihDRk51bWJlclJlZiBudW1iZXIpCiAKIHZvaWQgRm9udDo6ZGV0
ZXJtaW5lUGl0Y2goKQogewotICAgIENURm9udFJlZiBjdEZvbnQgPSBtX3BsYXRmb3JtRGF0YS5m
b250KCk7CisgICAgQ1RGb250UmVmIGN0Rm9udCA9IG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpOwog
ICAgIEFTU0VSVChjdEZvbnQpOwogCiAgICAgLy8gU3BlY2lhbCBjYXNlIE9zYWthLU1vbm8uCkBA
IC02NjQsNyArNjg2LDcgQEAgdm9pZCBGb250OjpkZXRlcm1pbmVQaXRjaCgpCiAgICAgYXV0byBm
dWxsTmFtZSA9IGFkb3B0Q0YoQ1RGb250Q29weUZ1bGxOYW1lKGN0Rm9udCkpOwogICAgIGF1dG8g
ZmFtaWx5TmFtZSA9IGFkb3B0Q0YoQ1RGb250Q29weUZhbWlseU5hbWUoY3RGb250KSk7CiAKLSAg
ICBpbnQgZml4ZWRQaXRjaCA9IGV4dHJhY3ROdW1iZXIoYWRvcHRDRihzdGF0aWNfY2FzdDxDRk51
bWJlclJlZj4oQ1RGb250Q29weUF0dHJpYnV0ZShtX3BsYXRmb3JtRGF0YS5mb250KCksIGtDVEZv
bnRGaXhlZEFkdmFuY2VBdHRyaWJ1dGUpKSkuZ2V0KCkpOworICAgIGludCBmaXhlZFBpdGNoID0g
ZXh0cmFjdE51bWJlcihhZG9wdENGKHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDVEZvbnRDb3B5
QXR0cmlidXRlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBrQ1RGb250Rml4ZWRBZHZhbmNlQXR0
cmlidXRlKSkpLmdldCgpKTsKICAgICBtX3RyZWF0QXNGaXhlZFBpdGNoID0gKENURm9udEdldFN5
bWJvbGljVHJhaXRzKGN0Rm9udCkgJiBrQ1RGb250TW9ub1NwYWNlVHJhaXQpIHx8IGZpeGVkUGl0
Y2ggfHwgKGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUoZnVsbE5hbWUuZ2V0KCksIENGU1RSKCJPc2Fr
YS1Nb25vIikpIHx8IGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUoZnVsbE5hbWUuZ2V0KCksIENGU1RS
KCJNUy1QR290aGljIikpIHx8IGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUoZnVsbE5hbWUuZ2V0KCks
IENGU1RSKCJNb25vdHlwZUNvcnNpdmEiKSkpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgaWYgKGZhbWlseU5hbWUgJiYgY2FzZUluc2Vuc2l0aXZlQ29tcGFyZShmYW1pbHlOYW1lLmdl
dCgpLCBDRlNUUigiQ291cmllciBOZXciKSkpIHsKQEAgLTY4NSwyNiArNzA3LDYgQEAgRmxvYXRS
ZWN0IEZvbnQ6OnBsYXRmb3JtQm91bmRzRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiAgICAg
cmV0dXJuIGJvdW5kaW5nQm94OwogfQogCi1mbG9hdCBGb250OjpwbGF0Zm9ybVdpZHRoRm9yR2x5
cGgoR2x5cGggZ2x5cGgpIGNvbnN0Ci17Ci0gICAgQ0dTaXplIGFkdmFuY2UgPSBDR1NpemVaZXJv
OwotCi0gICAgaWYgKHBsYXRmb3JtRGF0YSgpLnNpemUoKSkgewotICAgICAgICBib29sIGhvcml6
b250YWwgPSBwbGF0Zm9ybURhdGEoKS5vcmllbnRhdGlvbigpID09IEZvbnRPcmllbnRhdGlvbjo6
SG9yaXpvbnRhbDsKLSAgICAgICAgQ1RGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBob3Jp
em9udGFsIHx8IG1faXNCcm9rZW5JZGVvZ3JhcGhGYWxsYmFjayA/IGtDVEZvbnRPcmllbnRhdGlv
bkhvcml6b250YWwgOiBrQ1RGb250T3JpZW50YXRpb25WZXJ0aWNhbDsKLSNpZiBVU0UoQ1RGT05U
R0VUQURWQU5DRVNfV09SS0FST1VORCkKLSAgICAgICAgQ0dGb250UmVuZGVyaW5nU3R5bGUgc3R5
bGUgPSBrQ0dGb250UmVuZGVyaW5nU3R5bGVBbnRpYWxpYXNpbmcgfCBrQ0dGb250UmVuZGVyaW5n
U3R5bGVTdWJwaXhlbFBvc2l0aW9uaW5nIHwga0NHRm9udFJlbmRlcmluZ1N0eWxlU3VicGl4ZWxR
dWFudGl6YXRpb24gfCBrQ0dGb250QW50aWFsaWFzaW5nU3R5bGVVbmZpbHRlcmVkOwotICAgICAg
ICBpZiAoIUNURm9udElzQXBwbGVDb2xvckVtb2ppKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpKSAm
JiAhbV9wbGF0Zm9ybURhdGEuaGFzVmFyaWF0aW9ucygpKQotICAgICAgICAgICAgQ1RGb250R2V0
VW5zdW1tZWRBZHZhbmNlc0ZvckdseXBoc0FuZFN0eWxlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgp
LCBvcmllbnRhdGlvbiwgc3R5bGUsICZnbHlwaCwgJmFkdmFuY2UsIDEpOwotICAgICAgICBlbHNl
Ci0jZW5kaWYKLSAgICAgICAgewotICAgICAgICAgICAgQ1RGb250R2V0QWR2YW5jZXNGb3JHbHlw
aHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIG9yaWVudGF0aW9uLCAmZ2x5cGgsICZhZHZhbmNl
LCAxKTsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gYWR2YW5jZS53aWR0aCArIG1fc3lu
dGhldGljQm9sZE9mZnNldDsKLX0KLQogUGF0aCBGb250OjpwbGF0Zm9ybVBhdGhGb3JHbHlwaChH
bHlwaCBnbHlwaCkgY29uc3QKIHsKICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0Q0YoQ1RGb250Q3Jl
YXRlUGF0aEZvckdseXBoKHBsYXRmb3JtRGF0YSgpLmN0Rm9udCgpLCBnbHlwaCwgbnVsbHB0cikp
OwpAQCAtNzMzLDcgKzczNSw3IEBAIGJvb2wgRm9udDo6cGxhdGZvcm1TdXBwb3J0c0NvZGVQb2lu
dChVQ2hhcjMyIGNoYXJhY3RlciwgT3B0aW9uYWw8VUNoYXIzMj4gdmFyaWF0CiAKIGJvb2wgRm9u
dDo6aXNQcm9iYWJseU9ubHlVc2VkVG9SZW5kZXJJY29ucygpIGNvbnN0CiB7Ci0gICAgYXV0byBw
bGF0Zm9ybUZvbnQgPSBwbGF0Zm9ybURhdGEoKS5mb250KCk7CisgICAgYXV0byBwbGF0Zm9ybUZv
bnQgPSBwbGF0Zm9ybURhdGEoKS5jdEZvbnQoKTsKICAgICBpZiAoIXBsYXRmb3JtRm9udCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC03NzAsNiArNzcyLDQgQEAgYm9vbCBGb250Ojppc1By
b2JhYmx5T25seVVzZWRUb1JlbmRlckljb25zKCkgY29uc3QKICAgICB9KTsKIH0KIAotI2VuZGlm
Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcAppbmRleCA0
ZmFiNGNkY2ZkMDM4YmY0ZDdhZDQwYTMwODU0MzllYzhkM2JhNGIyLi42MGQzMzAyY2IyZjhkNWMx
YTQyMDc0MmRlYTU4MzJkNDRhNTliYTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCkBAIC0x
MTIsMjUgKzExMiw2IEBAIHZvaWQgRm9udDo6cGxhdGZvcm1Jbml0KCkKICAgICBtX2ZvbnRNZXRy
aWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJFbSk7CiB9CiAKLUZsb2F0UmVjdCBGb250OjpwbGF0
Zm9ybUJvdW5kc0ZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAotewotICAgIGlmICghcGxhdGZv
cm1EYXRhKCkuc2l6ZSgpKQotICAgICAgICByZXR1cm4gRmxvYXRSZWN0KCk7Ci0KLSAgICBpZiAo
bV9wbGF0Zm9ybURhdGEudXNlR0RJKCkpCi0gICAgICAgIHJldHVybiBib3VuZHNGb3JHRElHbHlw
aChnbHlwaCk7Ci0KLSAgICBDR1JlY3QgYm94OwotICAgIENHRm9udEdldEdseXBoQkJveGVzKG1f
cGxhdGZvcm1EYXRhLmNnRm9udCgpLCAmZ2x5cGgsIDEsICZib3gpOwotICAgIGZsb2F0IHBvaW50
U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKLSAgICBDR0Zsb2F0IHNjYWxlID0gcG9pbnRT
aXplIC8gZm9udE1ldHJpY3MoKS51bml0c1BlckVtKCk7Ci0gICAgRmxvYXRSZWN0IGJvdW5kaW5n
Qm94ID0gQ0dSZWN0QXBwbHlBZmZpbmVUcmFuc2Zvcm0oYm94LCBDR0FmZmluZVRyYW5zZm9ybU1h
a2VTY2FsZShzY2FsZSwgLXNjYWxlKSk7Ci0gICAgaWYgKG1fc3ludGhldGljQm9sZE9mZnNldCkK
LSAgICAgICAgYm91bmRpbmdCb3guc2V0V2lkdGgoYm91bmRpbmdCb3gud2lkdGgoKSArIG1fc3lu
dGhldGljQm9sZE9mZnNldCk7Ci0KLSAgICByZXR1cm4gYm91bmRpbmdCb3g7Ci19Ci0KIGZsb2F0
IEZvbnQ6OnBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKIHsKICAgICBp
ZiAoIXBsYXRmb3JtRGF0YSgpLnNpemUoKSkKQEAgLTE1MCwyMSArMTMxLDYgQEAgZmxvYXQgRm9u
dDo6cGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAogICAgIHJldHVybiBh
ZHZhbmNlLndpZHRoICsgbV9zeW50aGV0aWNCb2xkT2Zmc2V0OwogfQogCi1QYXRoIEZvbnQ6OnBs
YXRmb3JtUGF0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAotewotICAgIGF1dG8gY3RGb250
ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVXaXRoR3JhcGhpY3NGb250KHBsYXRmb3JtRGF0YSgpLmNn
Rm9udCgpLCBwbGF0Zm9ybURhdGEoKS5zaXplKCksIG51bGxwdHIsIG51bGxwdHIpKTsKLSAgICBh
dXRvIHJlc3VsdCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlUGF0aEZvckdseXBoKGN0Rm9udC5nZXQo
KSwgZ2x5cGgsIG51bGxwdHIpKTsKLSAgICBhdXRvIHN5bnRoZXRpY0JvbGRPZmZzZXQgPSB0aGlz
LT5zeW50aGV0aWNCb2xkT2Zmc2V0KCk7Ci0gICAgaWYgKHN5bnRoZXRpY0JvbGRPZmZzZXQpIHsK
LSAgICAgICAgYXV0byBuZXdQYXRoID0gYWRvcHRDRihDR1BhdGhDcmVhdGVNdXRhYmxlKCkpOwot
ICAgICAgICBDR1BhdGhBZGRQYXRoKG5ld1BhdGguZ2V0KCksIG51bGxwdHIsIHJlc3VsdC5nZXQo
KSk7Ci0gICAgICAgIGF1dG8gdHJhbnNsYXRpb24gPSBDR0FmZmluZVRyYW5zZm9ybU1ha2VUcmFu
c2xhdGlvbihzeW50aGV0aWNCb2xkT2Zmc2V0LCAwKTsKLSAgICAgICAgQ0dQYXRoQWRkUGF0aChu
ZXdQYXRoLmdldCgpLCAmdHJhbnNsYXRpb24sIHJlc3VsdC5nZXQoKSk7Ci0gICAgICAgIHJldHVy
biBuZXdQYXRoOwotICAgIH0KLSAgICByZXR1cm4gYWRvcHRDRihDR1BhdGhDcmVhdGVNdXRhYmxl
Q29weShyZXN1bHQuZ2V0KCkpKTsKLX0KLQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNhaXJvV2luLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNh
aXJvV2luLmNwcAppbmRleCA0NDZlMGExNjdkNzIxYTczZWFiMTJkYzM3ZGFiOGEzYjc3NDgxOWJm
Li45NDMzZGE5MDY1NDFjNjJhZTY4ZjQ1MWRmNjE4MmRhMDk5MmM4MmFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dp
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZv
bnREYXRhQ2Fpcm9XaW4uY3BwCkBAIC05NSw0ICs5NSwyNSBAQCB2b2lkIEZvbnQ6OnBsYXRmb3Jt
SW5pdCgpCiAgICAgUmVzdG9yZURDKGRjLCAtMSk7CiB9CiAKK3ZvaWQgRm9udDo6ZGV0ZXJtaW5l
UGl0Y2goKQoreworICAgIGlmIChvcmlnaW4oKSA9PSBPcmlnaW46OlJlbW90ZSkgeworICAgICAg
ICBtX3RyZWF0QXNGaXhlZFBpdGNoID0gZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICAvLyBURVhUTUVUUklDUyBoYXZlIHRoaXMuIFNldCBtX3RyZWF0QXNGaXhlZFBpdGNoIGJh
c2VkIG9mZiB0aGF0LgorICAgIEhXbmREQyBkYygwKTsKKyAgICBTYXZlREMoZGMpOworICAgIFNl
bGVjdE9iamVjdChkYywgbV9wbGF0Zm9ybURhdGEuaGZvbnQoKSk7CisKKyAgICAvLyBZZXMsIHRo
aXMgbG9va3MgYmFja3dhcmRzLCBidXQgdGhlIGZpeGVkIHBpdGNoIGJpdCBpcyBhY3R1YWxseSBz
ZXQgaWYgdGhlIGZvbnQKKyAgICAvLyBpcyAqbm90KiBmaXhlZCBwaXRjaC4gVW5iZWxpZXZhYmxl
IGJ1dCB0cnVlLgorICAgIFRFWFRNRVRSSUMgdG07CisgICAgR2V0VGV4dE1ldHJpY3MoZGMsICZ0
bSk7CisgICAgbV90cmVhdEFzRml4ZWRQaXRjaCA9ICEodG0udG1QaXRjaEFuZEZhbWlseSAmIFRN
UEZfRklYRURfUElUQ0gpOworCisgICAgUmVzdG9yZURDKGRjLCAtMSk7Cit9CisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0
YVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9u
dERhdGFXaW4uY3BwCmluZGV4IGVjYTMzMmFmNjUwNmYzODRjZTNkNzczYzNjY2EyZWNiYzg3ZmIw
ZTIuLjZkNjg1ZDgwMTc0NmMzNGQ5NzJlMjkzY2U0YTA0NDJlNGFjOWE3MGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnRE
YXRhV2luLmNwcApAQCAtMTM1LDI3ICsxMzUsNiBAQCBSZWZQdHI8Rm9udD4gRm9udDo6cGxhdGZv
cm1DcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aQog
ICAgIHJldHVybiBGb250OjpjcmVhdGUoRm9udFBsYXRmb3JtRGF0YShXVEZNb3ZlKGhmb250KSwg
c2NhbGVkU2l6ZSwgbV9wbGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpLCBtX3BsYXRmb3JtRGF0
YS5zeW50aGV0aWNPYmxpcXVlKCksIG1fcGxhdGZvcm1EYXRhLnVzZUdESSgpKSwgb3JpZ2luKCkp
OwogfQogCi12b2lkIEZvbnQ6OmRldGVybWluZVBpdGNoKCkKLXsKLSAgICBpZiAob3JpZ2luKCkg
PT0gT3JpZ2luOjpSZW1vdGUpIHsKLSAgICAgICAgbV90cmVhdEFzRml4ZWRQaXRjaCA9IGZhbHNl
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gVEVYVE1FVFJJQ1MgaGF2ZSB0aGlz
LiAgU2V0IG1fdHJlYXRBc0ZpeGVkUGl0Y2ggYmFzZWQgb2ZmIHRoYXQuCi0gICAgSFduZERDIGRj
KDApOwotICAgIFNhdmVEQyhkYyk7Ci0gICAgU2VsZWN0T2JqZWN0KGRjLCBtX3BsYXRmb3JtRGF0
YS5oZm9udCgpKTsKLQotICAgIC8vIFllcywgdGhpcyBsb29rcyBiYWNrd2FyZHMsIGJ1dCB0aGUg
Zml4ZWQgcGl0Y2ggYml0IGlzIGFjdHVhbGx5IHNldCBpZiB0aGUgZm9udAotICAgIC8vIGlzICpu
b3QqIGZpeGVkIHBpdGNoLiAgVW5iZWxpZXZhYmxlIGJ1dCB0cnVlLgotICAgIFRFWFRNRVRSSUMg
dG07Ci0gICAgR2V0VGV4dE1ldHJpY3MoZGMsICZ0bSk7Ci0gICAgbV90cmVhdEFzRml4ZWRQaXRj
aCA9ICgodG0udG1QaXRjaEFuZEZhbWlseSAmIFRNUEZfRklYRURfUElUQ0gpID09IDApOwotCi0g
ICAgUmVzdG9yZURDKGRjLCAtMSk7Ci19Ci0KIEZsb2F0UmVjdCBGb250Ojpib3VuZHNGb3JHRElH
bHlwaChHbHlwaCBnbHlwaCkgY29uc3QKIHsKICAgICBIV25kREMgaGRjKDApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408863</attachid>
            <date>2020-09-15 14:19:14 -0700</date>
            <delta_ts>2020-09-15 16:29:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216525-20200915141914.patch</filename>
            <type>text/plain</type>
            <size>13282</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjc2NjZjZDBhZTJmNTFh
YzM5ZGFkZTk1OWZhMTFkOTk1OGEwMDYyZC4uM2Q3YWZlNzVhYmZhMDM1YjIxY2IyOGMxZGIzOTJm
MDZjMjdiMzljOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA5LTE1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gTWlncmF0ZSB0aGUgZmlyc3QgcGFydCBvZiBTaW1wbGVGb250RGF0YXtDR31XaW4uY3BwIHRv
IEZvbnRDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNjUyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgbWlncmF0ZXM6CisgICAgICAgIC0gRm9udDo6aXNQcm9iYWJseU9ubHlV
c2VkVG9SZW5kZXJJY29ucygpCisgICAgICAgIC0gRm9udDo6cGxhdGZvcm1TdXBwb3J0c0NvZGVQ
b2ludCgpCisgICAgICAgIC0gRm9udDo6ZGV0ZXJtaW5lUGl0Y2goKQorICAgICAgICAtIEZvbnQ6
OnBsYXRmb3JtQm91bmRzRm9yR2x5cGgoKQorICAgICAgICAtIEZvbnQ6OnBsYXRmb3JtUGF0aEZv
ckdseXBoKCkKKyAgICAgICAgLSBGb250OjphcHBseVRyYW5zZm9ybXMoKQorCisgICAgICAgIGZy
b20gdGhlIG9sZCBXaW5kb3dzIENHIGNvZGVwYXRoIHRvIHRoZSBDb3JlIFRleHQgY29kZXBhdGgu
IFRoaXMgcGF0Y2ggdW5pZmllcyB0aGVzZSBmdW5jdGlvbnMKKyAgICAgICAgYmV0d2VlbiB0aGUg
QXBwbGUgV2luZG93cyBwb3J0IGFuZCB0aGUgbWFjT1MgLyBpT1MgcG9ydHMuCisKKyAgICAgICAg
Q292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6dmFyaWFudENhcHNTdXBwb3J0c0No
YXJhY3RlckZvclN5bnRoZXNpcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpwbGF0
Zm9ybVN1cHBvcnRzQ29kZVBvaW50IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb3JldGV4dC9Gb250Q29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udDo6cGxhdGZvcm1XaWR0aEZvckdseXBoIGNvbnN0KTogTW92ZSB0aGlzIHVwIGludG8gdGhl
ICNpZiAhUExBVEZPUk0oV0lOKSBzZWN0aW9uLgorICAgICAgICBXZSBkb24ndCB3YW50IHRvIG1p
Z3JhdGUgdGhpcyBvbmUganVzdCB5ZXQgYmVjYXVzZSBpdCBjYXVzZXMgYSBzaWduaWZpY2FudCBu
dW1iZXIgb2YgdGVzdCBmYWlsdXJlcywKKyAgICAgICAgd2hpY2ggcmVxdWlyZSBtb3JlIGludmVz
dGlnYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpGb250OjpkZXRlcm1pbmVQaXRjaCk6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Ojppc1Byb2JhYmx5T25seVVzZWRUb1JlbmRlckljb25zIGNvbnN0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpwbGF0Zm9ybUJvdW5kc0ZvckdseXBoIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OnBsYXRmb3JtUGF0aEZvckdseXBo
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxl
Rm9udERhdGFDYWlyb1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpkZXRlcm1pbmVQ
aXRjaCk6IFRoZSBXaW5DYWlybyBwb3J0IGlzIHRoZSBvbmx5IHBvcnQgc3RpbGwgdXNpbmcgdGhl
IG5vbi1DRyBXaW5kb3dzCisgICAgICAgIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24s
IHNvIHdlIGNhbiBqdXN0IG1vdmUgaXQgZGlyZWN0bHkgaW50byB0aGUgQ2Fpcm9XaW4tc3BlY2lm
aWMgZmlsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZGV0ZXJtaW5lUGl0Y2gpOiBEZWxldGVk
LgorCiAyMDIwLTA5LTE1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNo
IEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAppbmRleCAwN2Rl
YjM4ZWIxZDBmZTZkY2FlM2JhZTA3ZmE1NGI4YTY3MzRhM2Q0Li5iOWRkNzExYTI5MzZiZGIwYzM2
OWYwOGNlOTA3NThlZWQ0ZDFkN2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250LmNwcApAQCAtNDc0LDcgKzQ3NCw3IEBAIGNvbnN0IEZvbnQmIEZvbnQ6OmJyb2tlbklk
ZW9ncmFwaEZvbnQoKSBjb25zdAogICAgIHJldHVybiAqZGVyaXZlZEZvbnREYXRhLmJyb2tlbklk
ZW9ncmFwaEZvbnQ7CiB9CiAKLSNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQor
I2lmICFVU0UoQ09SRV9URVhUKQogCiBib29sIEZvbnQ6OmlzUHJvYmFibHlPbmx5VXNlZFRvUmVu
ZGVySWNvbnMoKSBjb25zdAogewpAQCAtNTExLDcgKzUxMSw3IEBAIFJlZlB0cjxGb250PiBGb250
OjpjcmVhdGVTY2FsZWRGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9u
LCBmbG9hCiAgICAgcmV0dXJuIHBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udChmb250RGVzY3JpcHRp
b24sIHNjYWxlRmFjdG9yKTsKIH0KIAotI2lmICFVU0UoQ09SRV9URVhUKSB8fCBQTEFURk9STShX
SU4pCisjaWYgIVVTRShDT1JFX1RFWFQpCiB2b2lkIEZvbnQ6OmFwcGx5VHJhbnNmb3JtcyhHbHlw
aEJ1ZmZlciYsIHVuc2lnbmVkLCB1bnNpZ25lZCwgYm9vbCwgYm9vbCwgY29uc3QgQXRvbVN0cmlu
ZyYsIFN0cmluZ1ZpZXcsIFRleHREaXJlY3Rpb24pIGNvbnN0CiB7CiB9CkBAIC02NDcsMTEgKzY0
Nyw2IEBAIGJvb2wgRm9udDo6dmFyaWFudENhcHNTdXBwb3J0c0NoYXJhY3RlckZvclN5bnRoZXNp
cyhGb250VmFyaWFudENhcHMgZm9udFZhcmlhbnRDCiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KIH0KLQotYm9vbCBGb250OjpwbGF0Zm9ybVN1cHBvcnRzQ29kZVBvaW50KFVDaGFyMzIgY2hh
cmFjdGVyLCBPcHRpb25hbDxVQ2hhcjMyPiB2YXJpYXRpb24pIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IHZhcmlhdGlvbiA/IGZhbHNlIDogZ2x5cGhGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyKTsKLX0KICNl
bmRpZgogCiBib29sIEZvbnQ6OnN1cHBvcnRzQ29kZVBvaW50KFVDaGFyMzIgY2hhcmFjdGVyKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRl
eHQvRm9udENvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
cmV0ZXh0L0ZvbnRDb3JlVGV4dC5jcHAKaW5kZXggMjMxOTM2ZGI4Y2I0OWM3MDBkZjhjZmNmMzdh
OWVhZjg2Nzg5MTdkZi4uMzNlZDViOWNhYzdlNzdlNWZkOGM5MTE5NWU0NzdkYWIyYmFiYTdmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9u
dENvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3Jl
dGV4dC9Gb250Q29yZVRleHQuY3BwCkBAIC01MSwxMyArNTEsMTMgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0jaWYgIVBMQVRGT1JNKFdJTikKLQogc3RhdGljIGlubGluZSBib29sIGNhc2VJ
bnNlbnNpdGl2ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKIHsKICAgICBy
ZXR1cm4gYSAmJiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2
ZSkgPT0ga0NGQ29tcGFyZUVxdWFsVG87CiB9CiAKKyNpZiAhUExBVEZPUk0oV0lOKQorCiBzdGF0
aWMgYm9vbCBmb250SGFzVmVydGljYWxHbHlwaHMoQ1RGb250UmVmIGZvbnQpCiB7CiAgICAgcmV0
dXJuIGZvbnRIYXNFaXRoZXJUYWJsZShmb250LCBrQ1RGb250VGFibGVWaGVhLCBrQ1RGb250VGFi
bGVWT1JHKTsKQEAgLTU2MSw2ICs1NjEsMjggQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OnBsYXRmb3Jt
Q3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBmbG9hdCBzY2FsZUYKICAg
ICByZXR1cm4gY3JlYXRlRGVyaXZhdGl2ZUZvbnQoc2NhbGVkRm9udC5nZXQoKSwgc2l6ZSwgbV9w
bGF0Zm9ybURhdGEub3JpZW50YXRpb24oKSwgZm9udFRyYWl0cywgbV9wbGF0Zm9ybURhdGEuc3lu
dGhldGljQm9sZCgpLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNPYmxpcXVlKCkpOwogfQogCitm
bG9hdCBGb250OjpwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0Cit7Cisg
ICAgQ0dTaXplIGFkdmFuY2UgPSBDR1NpemVaZXJvOworCisgICAgaWYgKHBsYXRmb3JtRGF0YSgp
LnNpemUoKSkgeworICAgICAgICBib29sIGhvcml6b250YWwgPSBwbGF0Zm9ybURhdGEoKS5vcmll
bnRhdGlvbigpID09IEZvbnRPcmllbnRhdGlvbjo6SG9yaXpvbnRhbDsKKyAgICAgICAgQ1RGb250
T3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBob3Jpem9udGFsIHx8IG1faXNCcm9rZW5JZGVvZ3Jh
cGhGYWxsYmFjayA/IGtDVEZvbnRPcmllbnRhdGlvbkhvcml6b250YWwgOiBrQ1RGb250T3JpZW50
YXRpb25WZXJ0aWNhbDsKKyNpZiBVU0UoQ1RGT05UR0VUQURWQU5DRVNfV09SS0FST1VORCkKKyAg
ICAgICAgQ0dGb250UmVuZGVyaW5nU3R5bGUgc3R5bGUgPSBrQ0dGb250UmVuZGVyaW5nU3R5bGVB
bnRpYWxpYXNpbmcgfCBrQ0dGb250UmVuZGVyaW5nU3R5bGVTdWJwaXhlbFBvc2l0aW9uaW5nIHwg
a0NHRm9udFJlbmRlcmluZ1N0eWxlU3VicGl4ZWxRdWFudGl6YXRpb24gfCBrQ0dGb250QW50aWFs
aWFzaW5nU3R5bGVVbmZpbHRlcmVkOworICAgICAgICBpZiAoIUNURm9udElzQXBwbGVDb2xvckVt
b2ppKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpKSAmJiAhbV9wbGF0Zm9ybURhdGEuaGFzVmFyaWF0
aW9ucygpKQorICAgICAgICAgICAgQ1RGb250R2V0VW5zdW1tZWRBZHZhbmNlc0ZvckdseXBoc0Fu
ZFN0eWxlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBvcmllbnRhdGlvbiwgc3R5bGUsICZnbHlw
aCwgJmFkdmFuY2UsIDEpOworICAgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgeworICAgICAg
ICAgICAgQ1RGb250R2V0QWR2YW5jZXNGb3JHbHlwaHMobV9wbGF0Zm9ybURhdGEuY3RGb250KCks
IG9yaWVudGF0aW9uLCAmZ2x5cGgsICZhZHZhbmNlLCAxKTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICByZXR1cm4gYWR2YW5jZS53aWR0aCArIG1fc3ludGhldGljQm9sZE9mZnNldDsKK30KKworI2Vu
ZGlmCisKIHZvaWQgRm9udDo6YXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZl
ciwgdW5zaWduZWQgYmVnaW5uaW5nR2x5cGhJbmRleCwgdW5zaWduZWQgYmVnaW5uaW5nU3RyaW5n
SW5kZXgsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcsIGNvbnN0IEF0
b21TdHJpbmcmIGxvY2FsZSwgU3RyaW5nVmlldyB0ZXh0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJl
Y3Rpb24pIGNvbnN0CiB7CiAgICAgVU5VU0VEX1BBUkFNKHJlcXVpcmVzU2hhcGluZyk7CkBAIC02
NDYsNyArNjY4LDcgQEAgc3RhdGljIGludCBleHRyYWN0TnVtYmVyKENGTnVtYmVyUmVmIG51bWJl
cikKIAogdm9pZCBGb250OjpkZXRlcm1pbmVQaXRjaCgpCiB7Ci0gICAgQ1RGb250UmVmIGN0Rm9u
dCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKTsKKyAgICBDVEZvbnRSZWYgY3RGb250ID0gbV9wbGF0
Zm9ybURhdGEuY3RGb250KCk7CiAgICAgQVNTRVJUKGN0Rm9udCk7CiAKICAgICAvLyBTcGVjaWFs
IGNhc2UgT3Nha2EtTW9uby4KQEAgLTY2NCw3ICs2ODYsNyBAQCB2b2lkIEZvbnQ6OmRldGVybWlu
ZVBpdGNoKCkKICAgICBhdXRvIGZ1bGxOYW1lID0gYWRvcHRDRihDVEZvbnRDb3B5RnVsbE5hbWUo
Y3RGb250KSk7CiAgICAgYXV0byBmYW1pbHlOYW1lID0gYWRvcHRDRihDVEZvbnRDb3B5RmFtaWx5
TmFtZShjdEZvbnQpKTsKIAotICAgIGludCBmaXhlZFBpdGNoID0gZXh0cmFjdE51bWJlcihhZG9w
dENGKHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDVEZvbnRDb3B5QXR0cmlidXRlKG1fcGxhdGZv
cm1EYXRhLmZvbnQoKSwga0NURm9udEZpeGVkQWR2YW5jZUF0dHJpYnV0ZSkpKS5nZXQoKSk7Cisg
ICAgaW50IGZpeGVkUGl0Y2ggPSBleHRyYWN0TnVtYmVyKGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZO
dW1iZXJSZWY+KENURm9udENvcHlBdHRyaWJ1dGUobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGtD
VEZvbnRGaXhlZEFkdmFuY2VBdHRyaWJ1dGUpKSkuZ2V0KCkpOwogICAgIG1fdHJlYXRBc0ZpeGVk
UGl0Y2ggPSAoQ1RGb250R2V0U3ltYm9saWNUcmFpdHMoY3RGb250KSAmIGtDVEZvbnRNb25vU3Bh
Y2VUcmFpdCkgfHwgZml4ZWRQaXRjaCB8fCAoY2FzZUluc2Vuc2l0aXZlQ29tcGFyZShmdWxsTmFt
ZS5nZXQoKSwgQ0ZTVFIoIk9zYWthLU1vbm8iKSkgfHwgY2FzZUluc2Vuc2l0aXZlQ29tcGFyZShm
dWxsTmFtZS5nZXQoKSwgQ0ZTVFIoIk1TLVBHb3RoaWMiKSkgfHwgY2FzZUluc2Vuc2l0aXZlQ29t
cGFyZShmdWxsTmFtZS5nZXQoKSwgQ0ZTVFIoIk1vbm90eXBlQ29yc2l2YSIpKSk7CiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpZiAoZmFtaWx5TmFtZSAmJiBjYXNlSW5zZW5zaXRpdmVD
b21wYXJlKGZhbWlseU5hbWUuZ2V0KCksIENGU1RSKCJDb3VyaWVyIE5ldyIpKSkgewpAQCAtNjg1
LDI2ICs3MDcsNiBAQCBGbG9hdFJlY3QgRm9udDo6cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaChHbHlw
aCBnbHlwaCkgY29uc3QKICAgICByZXR1cm4gYm91bmRpbmdCb3g7CiB9CiAKLWZsb2F0IEZvbnQ6
OnBsYXRmb3JtV2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKLXsKLSAgICBDR1NpemUg
YWR2YW5jZSA9IENHU2l6ZVplcm87Ci0KLSAgICBpZiAocGxhdGZvcm1EYXRhKCkuc2l6ZSgpKSB7
Ci0gICAgICAgIGJvb2wgaG9yaXpvbnRhbCA9IHBsYXRmb3JtRGF0YSgpLm9yaWVudGF0aW9uKCkg
PT0gRm9udE9yaWVudGF0aW9uOjpIb3Jpem9udGFsOwotICAgICAgICBDVEZvbnRPcmllbnRhdGlv
biBvcmllbnRhdGlvbiA9IGhvcml6b250YWwgfHwgbV9pc0Jyb2tlbklkZW9ncmFwaEZhbGxiYWNr
ID8ga0NURm9udE9yaWVudGF0aW9uSG9yaXpvbnRhbCA6IGtDVEZvbnRPcmllbnRhdGlvblZlcnRp
Y2FsOwotI2lmIFVTRShDVEZPTlRHRVRBRFZBTkNFU19XT1JLQVJPVU5EKQotICAgICAgICBDR0Zv
bnRSZW5kZXJpbmdTdHlsZSBzdHlsZSA9IGtDR0ZvbnRSZW5kZXJpbmdTdHlsZUFudGlhbGlhc2lu
ZyB8IGtDR0ZvbnRSZW5kZXJpbmdTdHlsZVN1YnBpeGVsUG9zaXRpb25pbmcgfCBrQ0dGb250UmVu
ZGVyaW5nU3R5bGVTdWJwaXhlbFF1YW50aXphdGlvbiB8IGtDR0ZvbnRBbnRpYWxpYXNpbmdTdHls
ZVVuZmlsdGVyZWQ7Ci0gICAgICAgIGlmICghQ1RGb250SXNBcHBsZUNvbG9yRW1vamkobV9wbGF0
Zm9ybURhdGEuY3RGb250KCkpICYmICFtX3BsYXRmb3JtRGF0YS5oYXNWYXJpYXRpb25zKCkpCi0g
ICAgICAgICAgICBDVEZvbnRHZXRVbnN1bW1lZEFkdmFuY2VzRm9yR2x5cGhzQW5kU3R5bGUobV9w
bGF0Zm9ybURhdGEuY3RGb250KCksIG9yaWVudGF0aW9uLCBzdHlsZSwgJmdseXBoLCAmYWR2YW5j
ZSwgMSk7Ci0gICAgICAgIGVsc2UKLSNlbmRpZgotICAgICAgICB7Ci0gICAgICAgICAgICBDVEZv
bnRHZXRBZHZhbmNlc0ZvckdseXBocyhtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgb3JpZW50YXRp
b24sICZnbHlwaCwgJmFkdmFuY2UsIDEpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiBh
ZHZhbmNlLndpZHRoICsgbV9zeW50aGV0aWNCb2xkT2Zmc2V0OwotfQotCiBQYXRoIEZvbnQ6OnBs
YXRmb3JtUGF0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAogewogICAgIGF1dG8gcmVzdWx0
ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVQYXRoRm9yR2x5cGgocGxhdGZvcm1EYXRhKCkuY3RGb250
KCksIGdseXBoLCBudWxscHRyKSk7CkBAIC03MzMsNyArNzM1LDcgQEAgYm9vbCBGb250OjpwbGF0
Zm9ybVN1cHBvcnRzQ29kZVBvaW50KFVDaGFyMzIgY2hhcmFjdGVyLCBPcHRpb25hbDxVQ2hhcjMy
PiB2YXJpYXQKIAogYm9vbCBGb250Ojppc1Byb2JhYmx5T25seVVzZWRUb1JlbmRlckljb25zKCkg
Y29uc3QKIHsKLSAgICBhdXRvIHBsYXRmb3JtRm9udCA9IHBsYXRmb3JtRGF0YSgpLmZvbnQoKTsK
KyAgICBhdXRvIHBsYXRmb3JtRm9udCA9IHBsYXRmb3JtRGF0YSgpLmN0Rm9udCgpOwogICAgIGlm
ICghcGxhdGZvcm1Gb250KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTc3MCw2ICs3NzIs
NCBAQCBib29sIEZvbnQ6OmlzUHJvYmFibHlPbmx5VXNlZFRvUmVuZGVySWNvbnMoKSBjb25zdAog
ICAgIH0pOwogfQogCi0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dX
aW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnRE
YXRhQ0dXaW4uY3BwCmluZGV4IDRmYWI0Y2RjZmQwMzhiZjRkN2FkNDBhMzA4NTQzOWVjOGQzYmE0
YjIuLjYwZDMzMDJjYjJmOGQ1YzFhNDIwNzQyZGVhNTgzMmQ0NGE1OWJhMDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2lu
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9u
dERhdGFDR1dpbi5jcHAKQEAgLTExMiwyNSArMTEyLDYgQEAgdm9pZCBGb250OjpwbGF0Zm9ybUlu
aXQoKQogICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbSh1bml0c1BlckVtKTsKIH0KIAot
RmxvYXRSZWN0IEZvbnQ6OnBsYXRmb3JtQm91bmRzRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0
Ci17Ci0gICAgaWYgKCFwbGF0Zm9ybURhdGEoKS5zaXplKCkpCi0gICAgICAgIHJldHVybiBGbG9h
dFJlY3QoKTsKLQotICAgIGlmIChtX3BsYXRmb3JtRGF0YS51c2VHREkoKSkKLSAgICAgICAgcmV0
dXJuIGJvdW5kc0ZvckdESUdseXBoKGdseXBoKTsKLQotICAgIENHUmVjdCBib3g7Ci0gICAgQ0dG
b250R2V0R2x5cGhCQm94ZXMobV9wbGF0Zm9ybURhdGEuY2dGb250KCksICZnbHlwaCwgMSwgJmJv
eCk7Ci0gICAgZmxvYXQgcG9pbnRTaXplID0gbV9wbGF0Zm9ybURhdGEuc2l6ZSgpOwotICAgIENH
RmxvYXQgc2NhbGUgPSBwb2ludFNpemUgLyBmb250TWV0cmljcygpLnVuaXRzUGVyRW0oKTsKLSAg
ICBGbG9hdFJlY3QgYm91bmRpbmdCb3ggPSBDR1JlY3RBcHBseUFmZmluZVRyYW5zZm9ybShib3gs
IENHQWZmaW5lVHJhbnNmb3JtTWFrZVNjYWxlKHNjYWxlLCAtc2NhbGUpKTsKLSAgICBpZiAobV9z
eW50aGV0aWNCb2xkT2Zmc2V0KQotICAgICAgICBib3VuZGluZ0JveC5zZXRXaWR0aChib3VuZGlu
Z0JveC53aWR0aCgpICsgbV9zeW50aGV0aWNCb2xkT2Zmc2V0KTsKLQotICAgIHJldHVybiBib3Vu
ZGluZ0JveDsKLX0KLQogZmxvYXQgRm9udDo6cGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBoIGds
eXBoKSBjb25zdAogewogICAgIGlmICghcGxhdGZvcm1EYXRhKCkuc2l6ZSgpKQpAQCAtMTUwLDIx
ICsxMzEsNiBAQCBmbG9hdCBGb250OjpwbGF0Zm9ybVdpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgp
IGNvbnN0CiAgICAgcmV0dXJuIGFkdmFuY2Uud2lkdGggKyBtX3N5bnRoZXRpY0JvbGRPZmZzZXQ7
CiB9CiAKLVBhdGggRm9udDo6cGxhdGZvcm1QYXRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0
Ci17Ci0gICAgYXV0byBjdEZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0Zv
bnQocGxhdGZvcm1EYXRhKCkuY2dGb250KCksIHBsYXRmb3JtRGF0YSgpLnNpemUoKSwgbnVsbHB0
ciwgbnVsbHB0cikpOwotICAgIGF1dG8gcmVzdWx0ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVQYXRo
Rm9yR2x5cGgoY3RGb250LmdldCgpLCBnbHlwaCwgbnVsbHB0cikpOwotICAgIGF1dG8gc3ludGhl
dGljQm9sZE9mZnNldCA9IHRoaXMtPnN5bnRoZXRpY0JvbGRPZmZzZXQoKTsKLSAgICBpZiAoc3lu
dGhldGljQm9sZE9mZnNldCkgewotICAgICAgICBhdXRvIG5ld1BhdGggPSBhZG9wdENGKENHUGF0
aENyZWF0ZU11dGFibGUoKSk7Ci0gICAgICAgIENHUGF0aEFkZFBhdGgobmV3UGF0aC5nZXQoKSwg
bnVsbHB0ciwgcmVzdWx0LmdldCgpKTsKLSAgICAgICAgYXV0byB0cmFuc2xhdGlvbiA9IENHQWZm
aW5lVHJhbnNmb3JtTWFrZVRyYW5zbGF0aW9uKHN5bnRoZXRpY0JvbGRPZmZzZXQsIDApOwotICAg
ICAgICBDR1BhdGhBZGRQYXRoKG5ld1BhdGguZ2V0KCksICZ0cmFuc2xhdGlvbiwgcmVzdWx0Lmdl
dCgpKTsKLSAgICAgICAgcmV0dXJuIG5ld1BhdGg7Ci0gICAgfQotICAgIHJldHVybiBhZG9wdENG
KENHUGF0aENyZWF0ZU11dGFibGVDb3B5KHJlc3VsdC5nZXQoKSkpOwotfQotCiB9CiAKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBs
ZUZvbnREYXRhQ2Fpcm9XaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3BwCmluZGV4IDQ0NmUwYTE2N2Q3MjFhNzNlYWIx
MmRjMzdkYWI4YTNiNzc0ODE5YmYuLjJkNDc3NjU0ZDVhODYwYTZiYWVmYmRkMTYyYjNkYjQzM2Iy
NzIyZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9T
aW1wbGVGb250RGF0YUNhaXJvV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAKQEAgLTk1LDQgKzk1LDMwIEBA
IHZvaWQgRm9udDo6cGxhdGZvcm1Jbml0KCkKICAgICBSZXN0b3JlREMoZGMsIC0xKTsKIH0KIAor
dm9pZCBGb250OjpkZXRlcm1pbmVQaXRjaCgpCit7CisgICAgaWYgKG9yaWdpbigpID09IE9yaWdp
bjo6UmVtb3RlKSB7CisgICAgICAgIG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPSBmYWxzZTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIFRFWFRNRVRSSUNTIGhhdmUgdGhpcy4gU2V0IG1f
dHJlYXRBc0ZpeGVkUGl0Y2ggYmFzZWQgb2ZmIHRoYXQuCisgICAgSFduZERDIGRjKDApOworICAg
IFNhdmVEQyhkYyk7CisgICAgU2VsZWN0T2JqZWN0KGRjLCBtX3BsYXRmb3JtRGF0YS5oZm9udCgp
KTsKKworICAgIC8vIFllcywgdGhpcyBsb29rcyBiYWNrd2FyZHMsIGJ1dCB0aGUgZml4ZWQgcGl0
Y2ggYml0IGlzIGFjdHVhbGx5IHNldCBpZiB0aGUgZm9udAorICAgIC8vIGlzICpub3QqIGZpeGVk
IHBpdGNoLiBVbmJlbGlldmFibGUgYnV0IHRydWUuCisgICAgVEVYVE1FVFJJQyB0bTsKKyAgICBH
ZXRUZXh0TWV0cmljcyhkYywgJnRtKTsKKyAgICBtX3RyZWF0QXNGaXhlZFBpdGNoID0gISh0bS50
bVBpdGNoQW5kRmFtaWx5ICYgVE1QRl9GSVhFRF9QSVRDSCk7CisKKyAgICBSZXN0b3JlREMoZGMs
IC0xKTsKK30KKworYm9vbCBGb250OjpwbGF0Zm9ybVN1cHBvcnRzQ29kZVBvaW50KFVDaGFyMzIg
Y2hhcmFjdGVyLCBPcHRpb25hbDxVQ2hhcjMyPiB2YXJpYXRpb24pIGNvbnN0Cit7CisgICAgcmV0
dXJuIHZhcmlhdGlvbiA/IGZhbHNlIDogZ2x5cGhGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyKTsKK30K
KwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9TaW1wbGVGb250RGF0YVdpbi5jcHAKaW5kZXggZWNhMzMyYWY2NTA2ZjM4NGNlM2Q3NzNjM2Nj
YTJlY2JjODdmYjBlMi4uNmQ2ODVkODAxNzQ2YzM0ZDk3MmUyOTNjZTRhMDQ0MmU0YWM5YTcwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZv
bnREYXRhV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
U2ltcGxlRm9udERhdGFXaW4uY3BwCkBAIC0xMzUsMjcgKzEzNSw2IEBAIFJlZlB0cjxGb250PiBG
b250OjpwbGF0Zm9ybUNyZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpCiAgICAgcmV0dXJuIEZvbnQ6OmNyZWF0ZShGb250UGxhdGZvcm1EYXRhKFdURk1v
dmUoaGZvbnQpLCBzY2FsZWRTaXplLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksIG1f
cGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSwgbV9wbGF0Zm9ybURhdGEudXNlR0RJKCkp
LCBvcmlnaW4oKSk7CiB9CiAKLXZvaWQgRm9udDo6ZGV0ZXJtaW5lUGl0Y2goKQotewotICAgIGlm
IChvcmlnaW4oKSA9PSBPcmlnaW46OlJlbW90ZSkgewotICAgICAgICBtX3RyZWF0QXNGaXhlZFBp
dGNoID0gZmFsc2U7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAvLyBURVhUTUVUUklD
UyBoYXZlIHRoaXMuICBTZXQgbV90cmVhdEFzRml4ZWRQaXRjaCBiYXNlZCBvZmYgdGhhdC4KLSAg
ICBIV25kREMgZGMoMCk7Ci0gICAgU2F2ZURDKGRjKTsKLSAgICBTZWxlY3RPYmplY3QoZGMsIG1f
cGxhdGZvcm1EYXRhLmhmb250KCkpOwotCi0gICAgLy8gWWVzLCB0aGlzIGxvb2tzIGJhY2t3YXJk
cywgYnV0IHRoZSBmaXhlZCBwaXRjaCBiaXQgaXMgYWN0dWFsbHkgc2V0IGlmIHRoZSBmb250Ci0g
ICAgLy8gaXMgKm5vdCogZml4ZWQgcGl0Y2guICBVbmJlbGlldmFibGUgYnV0IHRydWUuCi0gICAg
VEVYVE1FVFJJQyB0bTsKLSAgICBHZXRUZXh0TWV0cmljcyhkYywgJnRtKTsKLSAgICBtX3RyZWF0
QXNGaXhlZFBpdGNoID0gKCh0bS50bVBpdGNoQW5kRmFtaWx5ICYgVE1QRl9GSVhFRF9QSVRDSCkg
PT0gMCk7Ci0KLSAgICBSZXN0b3JlREMoZGMsIC0xKTsKLX0KLQogRmxvYXRSZWN0IEZvbnQ6OmJv
dW5kc0ZvckdESUdseXBoKEdseXBoIGdseXBoKSBjb25zdAogewogICAgIEhXbmREQyBoZGMoMCk7
Cg==
</data>
<flag name="review"
          id="424373"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>