<?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>216448</bug_id>
          
          <creation_ts>2020-09-12 15:55:02 -0700</creation_ts>
          <short_desc>[Apple Win] Migrate from FontPlatformDataWin.cpp to FontPlatformDataCoreText.cpp</short_desc>
          <delta_ts>2020-09-14 22:57:56 -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>darin</cc>
    
    <cc>dbarton</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>fujii</cc>
    
    <cc>jonlee</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1688010</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 15:55:02 -0700</bug_when>
    <thetext>This is one of the steps on the way to https://bugs.webkit.org/show_bug.cgi?id=216353 [Apple Win] Migrate the Apple Win port&apos;s font code to Core Text from Core Graphics</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688011</commentid>
    <comment_count>1</comment_count>
      <attachid>408620</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 15:55:30 -0700</bug_when>
    <thetext>Created attachment 408620
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688012</commentid>
    <comment_count>2</comment_count>
      <attachid>408621</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 15:59:09 -0700</bug_when>
    <thetext>Created attachment 408621
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688019</commentid>
    <comment_count>3</comment_count>
      <attachid>408623</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 16:19:35 -0700</bug_when>
    <thetext>Created attachment 408623
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688022</commentid>
    <comment_count>4</comment_count>
      <attachid>408623</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 16:24:32 -0700</bug_when>
    <thetext>Comment on attachment 408623
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        This is one of the steps toward migrating the Apple Win port off of Core Graphics and on to

Not off Core Graphics itself, but off of CGFont.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688037</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 18:24:01 -0700</bug_when>
    <thetext>Looks like this requires createFontCustomPlatformData() to be migrated first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688046</commentid>
    <comment_count>6</comment_count>
      <attachid>408632</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 20:32:30 -0700</bug_when>
    <thetext>Created attachment 408632
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688050</commentid>
    <comment_count>7</comment_count>
      <attachid>408635</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 20:52:25 -0700</bug_when>
    <thetext>Created attachment 408635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688051</commentid>
    <comment_count>8</comment_count>
      <attachid>408636</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 20:56:25 -0700</bug_when>
    <thetext>Created attachment 408636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688052</commentid>
    <comment_count>9</comment_count>
      <attachid>408637</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 21:02:09 -0700</bug_when>
    <thetext>Created attachment 408637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688054</commentid>
    <comment_count>10</comment_count>
      <attachid>408639</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-12 21:38:52 -0700</bug_when>
    <thetext>Created attachment 408639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688206</commentid>
    <comment_count>11</comment_count>
      <attachid>408690</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-14 01:52:47 -0700</bug_when>
    <thetext>Created attachment 408690
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688207</commentid>
    <comment_count>12</comment_count>
      <attachid>408691</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-14 01:56:42 -0700</bug_when>
    <thetext>Created attachment 408691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688407</commentid>
    <comment_count>13</comment_count>
      <attachid>408744</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-14 13:52:47 -0700</bug_when>
    <thetext>Created attachment 408744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688501</commentid>
    <comment_count>14</comment_count>
      <attachid>408744</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-14 17:31:37 -0700</bug_when>
    <thetext>Comment on attachment 408744
Patch

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

&gt; Source/WebCore/platform/graphics/win/FontCustomPlatformData.cpp:117
&gt; +    auto bufferData = buffer.createCFData();
&gt; +    result-&gt;fontDescriptor = adoptCF(CTFontManagerCreateFontDescriptorFromData(bufferData.get()));

Reads better without a local variable, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688574</commentid>
    <comment_count>15</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-14 21:19:31 -0700</bug_when>
    <thetext>Committed r267073: &lt;https://trac.webkit.org/changeset/267073&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688575</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-14 21:20:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/68898486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688602</commentid>
    <comment_count>17</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-09-14 22:57:56 -0700</bug_when>
    <thetext>Committed r267077: &lt;https://trac.webkit.org/changeset/267077&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408620</attachid>
            <date>2020-09-12 15:55:30 -0700</date>
            <delta_ts>2020-09-12 15:59:09 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5358</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IDIxZDc5N2NiNmNhMzdhY2NlNjE0YTg0NjVkNDJlNDY3NWU0OWQwNTgKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgU2VwIDEy
IDE1OjUzOjQ2IDIwMjAgLTA3MDAKCiAgICBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQKCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEu
Y3BwCmluZGV4IDI2NWEzZDdhOGNhNi4uMGFhNTE3NWVlMDVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcApAQCAtNzks
NyArNzksNyBAQCBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6OmNsb25lV2l0aFNp
emUoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlmCiAKLSNpZiAhVVNF
KENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQorI2lmICFVU0UoQ09SRV9URVhUKQogCiBTdHJp
bmcgRm9udFBsYXRmb3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggYmM3
ZmNhYmE2OGVmLi45NDRkNDI1MDgyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTExNCwxOCArMTE0LDIwIEBAIHB1
YmxpYzoKICNpZiBVU0UoQ0cpCiAgICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsgcmV0dXJu
IG1fY2dGb250LmdldCgpOyB9CiAjZW5kaWYKLSNpZiBVU0UoQ09SRV9URVhUKQotICAgIENURm9u
dFJlZiBjdEZvbnQoKSBjb25zdCB7IHJldHVybiBtX2N0Rm9udC5nZXQoKTsgfQogI2VuZGlmCi0j
ZWxpZiBVU0UoQ09SRV9URVhUKQotICAgIENURm9udFJlZiBmb250KCkgY29uc3QgeyByZXR1cm4g
bV9mb250LmdldCgpOyB9Ci0gICAgV0VCQ09SRV9FWFBPUlQgQ1RGb250UmVmIHJlZ2lzdGVyZWRG
b250KCkgY29uc3Q7IC8vIFJldHVybnMgbnVsbHB0ciBpZmYgdGhlIGZvbnQgaXMgbm90IHJlZ2lz
dGVyZWQsIHN1Y2ggYXMgd2ViIGZvbnRzIChvdGhlcndpc2UgcmV0dXJucyBmb250KCkpLgogCi0g
ICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0OworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgV0VC
Q09SRV9FWFBPUlQgQ1RGb250UmVmIHJlZ2lzdGVyZWRGb250KCkgY29uc3Q7IC8vIFJldHVybnMg
bnVsbHB0ciBpZmYgdGhlIGZvbnQgaXMgbm90IHJlZ2lzdGVyZWQsIHN1Y2ggYXMgd2ViIGZvbnRz
IChvdGhlcndpc2UgcmV0dXJucyBmb250KCkpLgogICAgIHN0YXRpYyBSZXRhaW5QdHI8Q0ZUeXBl
UmVmPiBvYmplY3RGb3JFcXVhbGl0eUNoZWNrKENURm9udFJlZik7CiAgICAgUmV0YWluUHRyPENG
VHlwZVJlZj4gb2JqZWN0Rm9yRXF1YWxpdHlDaGVjaygpIGNvbnN0OwotCiAgICAgYm9vbCBoYXND
dXN0b21UcmFja2luZygpIGNvbnN0IHsgcmV0dXJuIGlzU3lzdGVtRm9udCgpOyB9CisKKyNpZiBQ
TEFURk9STShXSU4pCisgICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY3RG
b250LmdldCgpOyB9CisjZWxzZQorICAgIENURm9udFJlZiBmb250KCkgY29uc3QgeyByZXR1cm4g
bV9mb250LmdldCgpOyB9CisgICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0OworI2VuZGlmCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1E
YXRhQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRl
eHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAppbmRleCA0Y2I4MDFjN2QxNDcuLjc0NmM2
NDc4ZDg2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29y
ZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCkBA
IC0zNSwxNSArMzUsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgIVBMQVRGT1JN
KFdJTikKLQogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDVEZvbnRSZWYgZm9u
dCwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUs
IEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCB3aWR0aFZhcmlh
bnQsIFRleHRSZW5kZXJpbmdNb2RlIHRleHRSZW5kZXJpbmdNb2RlKQogICAgIDogRm9udFBsYXRm
b3JtRGF0YShzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlLCBvcmllbnRhdGlv
biwgd2lkdGhWYXJpYW50LCB0ZXh0UmVuZGVyaW5nTW9kZSkKIHsKICAgICBBU1NFUlRfQVJHKGZv
bnQsIGZvbnQpOworI2lmIFBMQVRGT1JNKFdJTikKKyAgICBtX2N0Rm9udCA9IGZvbnQ7CisjZWxz
ZQogICAgIG1fZm9udCA9IGZvbnQ7CisjZW5kaWYKICAgICBtX2lzQ29sb3JCaXRtYXBGb250ID0g
Q1RGb250R2V0U3ltYm9saWNUcmFpdHMoZm9udCkgJiBrQ1RGb250Q29sb3JHbHlwaHNUcmFpdDsK
LSAgICBtX2lzU3lzdGVtRm9udCA9IFdlYkNvcmU6OmlzU3lzdGVtRm9udChtX2ZvbnQuZ2V0KCkp
OworICAgIG1faXNTeXN0ZW1Gb250ID0gV2ViQ29yZTo6aXNTeXN0ZW1Gb250KGZvbnQpOwogICAg
IGF1dG8gdmFyaWF0aW9ucyA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZEaWN0aW9uYXJ5UmVmPihD
VEZvbnRDb3B5QXR0cmlidXRlKGZvbnQsIGtDVEZvbnRWYXJpYXRpb25BdHRyaWJ1dGUpKSk7CiAg
ICAgbV9oYXNWYXJpYXRpb25zID0gdmFyaWF0aW9ucyAmJiBDRkRpY3Rpb25hcnlHZXRDb3VudCh2
YXJpYXRpb25zLmdldCgpKTsKIApAQCAtNjMsNyArNjUsNyBAQCBib29sIGlzU3lzdGVtRm9udChD
VEZvbnRSZWYgZm9udCkKIAogQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OnJlZ2lzdGVyZWRG
b250KCkgY29uc3QKIHsKLSAgICBDVEZvbnRSZWYgcGxhdGZvcm1Gb250ID0gZm9udCgpOworICAg
IENURm9udFJlZiBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQoKTsKICAgICBBU1NFUlQocGxhdGZvcm1G
b250KTsKICAgICBpZiAocGxhdGZvcm1Gb250ICYmIGFkb3B0Q0YoQ1RGb250Q29weUF0dHJpYnV0
ZShwbGF0Zm9ybUZvbnQsIGtDVEZvbnRVUkxBdHRyaWJ1dGUpKSkKICAgICAgICAgcmV0dXJuIHBs
YXRmb3JtRm9udDsKQEAgLTEzMiwxMSArMTM0LDYgQEAgQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURh
dGE6OmN0Rm9udCgpIGNvbnN0CiAKICAgICByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7CiB9Ci0jZWxz
ZQotQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGZvbnQoKTsKLX0KICNlbmRpZgogCiBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBGb250UGxhdGZv
cm1EYXRhOjpvYmplY3RGb3JFcXVhbGl0eUNoZWNrKENURm9udFJlZiBjdEZvbnQpCkBAIC0xNTMs
NyArMTUwLDYgQEAgUmV0YWluUHRyPENGVHlwZVJlZj4gRm9udFBsYXRmb3JtRGF0YTo6b2JqZWN0
Rm9yRXF1YWxpdHlDaGVjaygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG9iamVjdEZvckVxdWFsaXR5
Q2hlY2soY3RGb250KCkpOwogfQotCiBSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1E
YXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAogewogICAgIGlmIChSZXRh
aW5QdHI8Q0ZEYXRhUmVmPiBkYXRhID0gYWRvcHRDRihDVEZvbnRDb3B5VGFibGUoZm9udCgpLCB0
YWJsZSwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSkpCkBAIC0xODIsNiArMTc4LDQgQEAg
U3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5hbWUoKSBjb25zdAogICAgIHJldHVybiB7
IH07CiB9CiAKLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0
YVdpbi5jcHAKaW5kZXggZTUzNzNjN2M2ZWM0Li5iMmIwNWU0ZjcyMzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3Jt
RGF0YVdpbi5jcHAKQEAgLTYwLDI5ICs2MCw0IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0
Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiBmb250LCBmbG9hdCBzaXplLCBib29sIGJvbGQsCiAg
ICAgUmVzdG9yZURDKGhkYywgLTEpOwogfQogCi1SZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxh
dGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAotewotICAgIEhX
bmREQyBoZGMoMCk7Ci0gICAgSEdESU9CSiBvbGRGb250ID0gU2VsZWN0T2JqZWN0KGhkYywgaGZv
bnQoKSk7Ci0KLSAgICBEV09SRCBzaXplID0gR2V0Rm9udERhdGEoaGRjLCB0YWJsZSwgMCwgMCwg
MCk7Ci0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyOwotICAgIGlmIChzaXplICE9IEdE
SV9FUlJPUikgewotICAgICAgICBWZWN0b3I8Y2hhcj4gZGF0YShzaXplKTsKLSAgICAgICAgRFdP
UkQgcmVzdWx0ID0gR2V0Rm9udERhdGEoaGRjLCB0YWJsZSwgMCwgKFBWT0lEKWRhdGEuZGF0YSgp
LCBzaXplKTsKLSAgICAgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdCA9PSBzaXplKTsK
LSAgICAgICAgYnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoV1RGTW92ZShkYXRhKSk7Ci0g
ICAgfQotCi0gICAgU2VsZWN0T2JqZWN0KGhkYywgb2xkRm9udCk7Ci0gICAgcmV0dXJuIGJ1ZmZl
cjsKLX0KLQotI2lmICFMT0dfRElTQUJMRUQKLVN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpkZXNj
cmlwdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFN0cmluZygpOwotfQotI2VuZGlmCi0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408621</attachid>
            <date>2020-09-12 15:59:09 -0700</date>
            <delta_ts>2020-09-12 16:19:34 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>6197</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">Y29tbWl0IGEzOTBlNmRiZGZhOGZmMDIzMjU1NTc1ZjkzOWI0ODczYjFjNzNkMjEKQXV0aG9yOiBN
eWxlcyBDLiBNYXhmaWVsZCA8bW1heGZpZWxkQGFwcGxlLmNvbT4KRGF0ZTogICBTYXQgU2VwIDEy
IDE1OjUzOjQ2IDIwMjAgLTA3MDAKCiAgICBGb250UGxhdGZvcm1EYXRhQ29yZVRleHQKCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEu
Y3BwCmluZGV4IDI2NWEzZDdhOGNhNi4uMGFhNTE3NWVlMDVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcApAQCAtNzks
NyArNzksNyBAQCBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6OmNsb25lV2l0aFNp
emUoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlmCiAKLSNpZiAhVVNF
KENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQorI2lmICFVU0UoQ09SRV9URVhUKQogCiBTdHJp
bmcgRm9udFBsYXRmb3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggYmM3
ZmNhYmE2OGVmLi45NDRkNDI1MDgyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTExNCwxOCArMTE0LDIwIEBAIHB1
YmxpYzoKICNpZiBVU0UoQ0cpCiAgICAgQ0dGb250UmVmIGNnRm9udCgpIGNvbnN0IHsgcmV0dXJu
IG1fY2dGb250LmdldCgpOyB9CiAjZW5kaWYKLSNpZiBVU0UoQ09SRV9URVhUKQotICAgIENURm9u
dFJlZiBjdEZvbnQoKSBjb25zdCB7IHJldHVybiBtX2N0Rm9udC5nZXQoKTsgfQogI2VuZGlmCi0j
ZWxpZiBVU0UoQ09SRV9URVhUKQotICAgIENURm9udFJlZiBmb250KCkgY29uc3QgeyByZXR1cm4g
bV9mb250LmdldCgpOyB9Ci0gICAgV0VCQ09SRV9FWFBPUlQgQ1RGb250UmVmIHJlZ2lzdGVyZWRG
b250KCkgY29uc3Q7IC8vIFJldHVybnMgbnVsbHB0ciBpZmYgdGhlIGZvbnQgaXMgbm90IHJlZ2lz
dGVyZWQsIHN1Y2ggYXMgd2ViIGZvbnRzIChvdGhlcndpc2UgcmV0dXJucyBmb250KCkpLgogCi0g
ICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0OworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgV0VC
Q09SRV9FWFBPUlQgQ1RGb250UmVmIHJlZ2lzdGVyZWRGb250KCkgY29uc3Q7IC8vIFJldHVybnMg
bnVsbHB0ciBpZmYgdGhlIGZvbnQgaXMgbm90IHJlZ2lzdGVyZWQsIHN1Y2ggYXMgd2ViIGZvbnRz
IChvdGhlcndpc2UgcmV0dXJucyBmb250KCkpLgogICAgIHN0YXRpYyBSZXRhaW5QdHI8Q0ZUeXBl
UmVmPiBvYmplY3RGb3JFcXVhbGl0eUNoZWNrKENURm9udFJlZik7CiAgICAgUmV0YWluUHRyPENG
VHlwZVJlZj4gb2JqZWN0Rm9yRXF1YWxpdHlDaGVjaygpIGNvbnN0OwotCiAgICAgYm9vbCBoYXND
dXN0b21UcmFja2luZygpIGNvbnN0IHsgcmV0dXJuIGlzU3lzdGVtRm9udCgpOyB9CisKKyNpZiBQ
TEFURk9STShXSU4pCisgICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY3RG
b250LmdldCgpOyB9CisjZWxzZQorICAgIENURm9udFJlZiBmb250KCkgY29uc3QgeyByZXR1cm4g
bV9mb250LmdldCgpOyB9CisgICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0OworI2VuZGlmCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1E
YXRhQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRl
eHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAppbmRleCA0Y2I4MDFjN2QxNDcuLmUwNDZl
MzE3YzNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29y
ZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCkBA
IC0zNSwxNSArMzUsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgIVBMQVRGT1JN
KFdJTikKLQogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDVEZvbnRSZWYgZm9u
dCwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUs
IEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCB3aWR0aFZhcmlh
bnQsIFRleHRSZW5kZXJpbmdNb2RlIHRleHRSZW5kZXJpbmdNb2RlKQogICAgIDogRm9udFBsYXRm
b3JtRGF0YShzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlLCBvcmllbnRhdGlv
biwgd2lkdGhWYXJpYW50LCB0ZXh0UmVuZGVyaW5nTW9kZSkKIHsKICAgICBBU1NFUlRfQVJHKGZv
bnQsIGZvbnQpOworI2lmIFBMQVRGT1JNKFdJTikKKyAgICBtX2N0Rm9udCA9IGZvbnQ7CisjZWxz
ZQogICAgIG1fZm9udCA9IGZvbnQ7CisjZW5kaWYKICAgICBtX2lzQ29sb3JCaXRtYXBGb250ID0g
Q1RGb250R2V0U3ltYm9saWNUcmFpdHMoZm9udCkgJiBrQ1RGb250Q29sb3JHbHlwaHNUcmFpdDsK
LSAgICBtX2lzU3lzdGVtRm9udCA9IFdlYkNvcmU6OmlzU3lzdGVtRm9udChtX2ZvbnQuZ2V0KCkp
OworICAgIG1faXNTeXN0ZW1Gb250ID0gV2ViQ29yZTo6aXNTeXN0ZW1Gb250KGZvbnQpOwogICAg
IGF1dG8gdmFyaWF0aW9ucyA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZEaWN0aW9uYXJ5UmVmPihD
VEZvbnRDb3B5QXR0cmlidXRlKGZvbnQsIGtDVEZvbnRWYXJpYXRpb25BdHRyaWJ1dGUpKSk7CiAg
ICAgbV9oYXNWYXJpYXRpb25zID0gdmFyaWF0aW9ucyAmJiBDRkRpY3Rpb25hcnlHZXRDb3VudCh2
YXJpYXRpb25zLmdldCgpKTsKIApAQCAtNjMsNyArNjUsNyBAQCBib29sIGlzU3lzdGVtRm9udChD
VEZvbnRSZWYgZm9udCkKIAogQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OnJlZ2lzdGVyZWRG
b250KCkgY29uc3QKIHsKLSAgICBDVEZvbnRSZWYgcGxhdGZvcm1Gb250ID0gZm9udCgpOworICAg
IENURm9udFJlZiBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQoKTsKICAgICBBU1NFUlQocGxhdGZvcm1G
b250KTsKICAgICBpZiAocGxhdGZvcm1Gb250ICYmIGFkb3B0Q0YoQ1RGb250Q29weUF0dHJpYnV0
ZShwbGF0Zm9ybUZvbnQsIGtDVEZvbnRVUkxBdHRyaWJ1dGUpKSkKICAgICAgICAgcmV0dXJuIHBs
YXRmb3JtRm9udDsKQEAgLTEzMiwxMSArMTM0LDYgQEAgQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURh
dGE6OmN0Rm9udCgpIGNvbnN0CiAKICAgICByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7CiB9Ci0jZWxz
ZQotQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGZvbnQoKTsKLX0KICNlbmRpZgogCiBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBGb250UGxhdGZv
cm1EYXRhOjpvYmplY3RGb3JFcXVhbGl0eUNoZWNrKENURm9udFJlZiBjdEZvbnQpCkBAIC0xNTMs
MTAgKzE1MCw5IEBAIFJldGFpblB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0Zm9ybURhdGE6Om9iamVj
dEZvckVxdWFsaXR5Q2hlY2soKSBjb25zdAogewogICAgIHJldHVybiBvYmplY3RGb3JFcXVhbGl0
eUNoZWNrKGN0Rm9udCgpKTsKIH0KLQogUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3Jt
RGF0YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3QKIHsKLSAgICBpZiAoUmV0
YWluUHRyPENGRGF0YVJlZj4gZGF0YSA9IGFkb3B0Q0YoQ1RGb250Q29weVRhYmxlKGZvbnQoKSwg
dGFibGUsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpKQorICAgIGlmIChSZXRhaW5QdHI8
Q0ZEYXRhUmVmPiBkYXRhID0gYWRvcHRDRihDVEZvbnRDb3B5VGFibGUoY3RGb250KCksIHRhYmxl
LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKSkKICAgICAgICAgcmV0dXJuIFNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKGRhdGEuZ2V0KCkpOwogCiAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0xNjYs
NyArMTYyLDcgQEAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5
cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3QKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6
OmRlc2NyaXB0aW9uKCkgY29uc3QKIHsKLSAgICBTdHJpbmcgZm9udERlc2NyaXB0aW9uIHsgYWRv
cHRDRihDRkNvcHlEZXNjcmlwdGlvbihmb250KCkpKS5nZXQoKSB9OworICAgIFN0cmluZyBmb250
RGVzY3JpcHRpb24geyBhZG9wdENGKENGQ29weURlc2NyaXB0aW9uKGN0Rm9udCgpKSkuZ2V0KCkg
fTsKICAgICByZXR1cm4gbWFrZVN0cmluZyhmb250RGVzY3JpcHRpb24sICcgJywgbV9zaXplLAog
ICAgICAgICAobV9zeW50aGV0aWNCb2xkID8gIiBzeW50aGV0aWMgYm9sZCIgOiAiIiksCiAgICAg
ICAgIChtX3N5bnRoZXRpY09ibGlxdWUgPyAiIHN5bnRoZXRpYyBvYmxpcXVlIiA6ICIiKSwKQEAg
LTE3NywxMSArMTczLDkgQEAgU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkg
Y29uc3QKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5hbWUoKSBjb25zdAogewot
ICAgIGlmIChhdXRvIHBsYXRmb3JtRm9udCA9IGZvbnQoKSkKKyAgICBpZiAoYXV0byBwbGF0Zm9y
bUZvbnQgPSBjdEZvbnQoKSkKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weUZhbWls
eU5hbWUocGxhdGZvcm1Gb250KSkuZ2V0KCk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotI2VuZGlm
Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcAppbmRleCBl
NTM3M2M3YzZlYzQuLmIyYjA1ZTRmNzIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcApAQCAt
NjAsMjkgKzYwLDQgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmpl
Y3Q8SEZPTlQ+IGZvbnQsIGZsb2F0IHNpemUsIGJvb2wgYm9sZCwKICAgICBSZXN0b3JlREMoaGRj
LCAtMSk7CiB9CiAKLVJlZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9wZW5U
eXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0Ci17Ci0gICAgSFduZERDIGhkYygwKTsKLSAg
ICBIR0RJT0JKIG9sZEZvbnQgPSBTZWxlY3RPYmplY3QoaGRjLCBoZm9udCgpKTsKLQotICAgIERX
T1JEIHNpemUgPSBHZXRGb250RGF0YShoZGMsIHRhYmxlLCAwLCAwLCAwKTsKLSAgICBSZWZQdHI8
U2hhcmVkQnVmZmVyPiBidWZmZXI7Ci0gICAgaWYgKHNpemUgIT0gR0RJX0VSUk9SKSB7Ci0gICAg
ICAgIFZlY3RvcjxjaGFyPiBkYXRhKHNpemUpOwotICAgICAgICBEV09SRCByZXN1bHQgPSBHZXRG
b250RGF0YShoZGMsIHRhYmxlLCAwLCAoUFZPSUQpZGF0YS5kYXRhKCksIHNpemUpOwotICAgICAg
ICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0ID09IHNpemUpOwotICAgICAgICBidWZmZXIg
PSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShXVEZNb3ZlKGRhdGEpKTsKLSAgICB9Ci0KLSAgICBTZWxl
Y3RPYmplY3QoaGRjLCBvbGRGb250KTsKLSAgICByZXR1cm4gYnVmZmVyOwotfQotCi0jaWYgIUxP
R19ESVNBQkxFRAotU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0jZW5kaWYKLQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408623</attachid>
            <date>2020-09-12 16:19:35 -0700</date>
            <delta_ts>2020-09-12 20:52:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216448-20200912161934.patch</filename>
            <type>text/plain</type>
            <size>8257</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUxNzA4YTMzZGM2ZDNk
MzNmMWM0Y2E4YmI5M2RkMTk0ODA3MmZjMy4uNzI3ZDdkYzUyNjRkOTM0ZTE3MDQ3NDA0ZTdmZWNk
MWJhODgyZTRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA5LTEyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gTWlncmF0ZSBmcm9tIEZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIHRvIEZvbnRQbGF0Zm9ybURh
dGFDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgaXMgb25lIG9mIHRoZSBzdGVwcyB0b3dhcmQgbWlncmF0aW5nIHRoZSBBcHBs
ZSBXaW4gcG9ydCBvZmYgb2YgQ29yZSBHcmFwaGljcyBhbmQgb24gdG8KKyAgICAgICAgQ29yZSBU
ZXh0LiBUaGlzIHBhdGNoIHJlbW92ZXMgdGhlICNpZiAhUExBVEZPUk0oV0lOKSBndWFyZCBpbiBG
b250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCisgICAgICAgIGFuZCBkZWxldGVzIHRoZSBvbGQg
ZnVuY3Rpb25zIGl0IHVzZWQgdG8gYmUgdXNpbmcuIEl0IGZpeGVzIHVwIHRoZSBDb3JlIFRleHQg
ZnVuY3Rpb25zIHRvCisgICAgICAgIHVzZSBjdEZvbnQoKSBpbnN0ZWFkIG9mIGZvbnQoKSwgYmVj
YXVzZSBmb250KCkgcmV0dXJucyB0aGUgSEZPTlQgb24gV2luZG93cy4KKworICAgICAgICBObyBu
ZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6IFNsaWdodCBjbGVhbnVwLiBJIHRoaW5r
IHRoaXMgaXMgc2xpZ2h0bHkgYmV0dGVyIG5vdy4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0
Zm9ybURhdGE6OmN0Rm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1E
YXRhOjpmb250IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9G
b250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRm
b3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZv
cm1EYXRhOjpyZWdpc3RlcmVkRm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxh
dGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3Jt
RGF0YTo6b2JqZWN0Rm9yRXF1YWxpdHlDaGVjayBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5hbWUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6ZGVzY3JpcHRpb24gY29uc3QpOiBEZWxldGVk
LgorCiAyMDIwLTA5LTEyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgW0FwcGxlIFdpbl0gQWRkIGEgQ1RGb250IG1lbWJlciB0byBGb250UGxhdGZv
cm1EYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQ
bGF0Zm9ybURhdGEuY3BwCmluZGV4IDI2NWEzZDdhOGNhNjE2ZDEyMGE1ZjIwMjgxZTYxZmVkNzEx
MjNmMzguLjBhYTUxNzVlZTA1YTZhNDFhZGM0YzJmMzE2MDI3OTlkZmZhNjZkMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEu
Y3BwCkBAIC03OSw3ICs3OSw3IEBAIEZvbnRQbGF0Zm9ybURhdGEgRm9udFBsYXRmb3JtRGF0YTo6
Y2xvbmVXaXRoU2l6ZShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBzb3VyY2UsCiB9CiAjZW5kaWYK
IAotI2lmICFVU0UoQ09SRV9URVhUKSB8fCBQTEFURk9STShXSU4pCisjaWYgIVVTRShDT1JFX1RF
WFQpCiAKIFN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1lKCkgY29uc3QKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEu
aAppbmRleCBiYzdmY2FiYTY4ZWY5NGJjNGQ4MDAwNmE0NTg3NWE1NjUwZDY4Y2Y5Li45NDRkNDI1
MDgyMTJmMjJmMWMzNTQwNTcxNzE1MDBhY2NmMTQ3NDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0xMTQsMTggKzEx
NCwyMCBAQCBwdWJsaWM6CiAjaWYgVVNFKENHKQogICAgIENHRm9udFJlZiBjZ0ZvbnQoKSBjb25z
dCB7IHJldHVybiBtX2NnRm9udC5nZXQoKTsgfQogI2VuZGlmCi0jaWYgVVNFKENPUkVfVEVYVCkK
LSAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3QgeyByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7IH0K
ICNlbmRpZgotI2VsaWYgVVNFKENPUkVfVEVYVCkKLSAgICBDVEZvbnRSZWYgZm9udCgpIGNvbnN0
IHsgcmV0dXJuIG1fZm9udC5nZXQoKTsgfQotICAgIFdFQkNPUkVfRVhQT1JUIENURm9udFJlZiBy
ZWdpc3RlcmVkRm9udCgpIGNvbnN0OyAvLyBSZXR1cm5zIG51bGxwdHIgaWZmIHRoZSBmb250IGlz
IG5vdCByZWdpc3RlcmVkLCBzdWNoIGFzIHdlYiBmb250cyAob3RoZXJ3aXNlIHJldHVybnMgZm9u
dCgpKS4KIAotICAgIENURm9udFJlZiBjdEZvbnQoKSBjb25zdDsKKyNpZiBVU0UoQ09SRV9URVhU
KQorICAgIFdFQkNPUkVfRVhQT1JUIENURm9udFJlZiByZWdpc3RlcmVkRm9udCgpIGNvbnN0OyAv
LyBSZXR1cm5zIG51bGxwdHIgaWZmIHRoZSBmb250IGlzIG5vdCByZWdpc3RlcmVkLCBzdWNoIGFz
IHdlYiBmb250cyAob3RoZXJ3aXNlIHJldHVybnMgZm9udCgpKS4KICAgICBzdGF0aWMgUmV0YWlu
UHRyPENGVHlwZVJlZj4gb2JqZWN0Rm9yRXF1YWxpdHlDaGVjayhDVEZvbnRSZWYpOwogICAgIFJl
dGFpblB0cjxDRlR5cGVSZWY+IG9iamVjdEZvckVxdWFsaXR5Q2hlY2soKSBjb25zdDsKLQogICAg
IGJvb2wgaGFzQ3VzdG9tVHJhY2tpbmcoKSBjb25zdCB7IHJldHVybiBpc1N5c3RlbUZvbnQoKTsg
fQorCisjaWYgUExBVEZPUk0oV0lOKQorICAgIENURm9udFJlZiBjdEZvbnQoKSBjb25zdCB7IHJl
dHVybiBtX2N0Rm9udC5nZXQoKTsgfQorI2Vsc2UKKyAgICBDVEZvbnRSZWYgZm9udCgpIGNvbnN0
IHsgcmV0dXJuIG1fZm9udC5nZXQoKTsgfQorICAgIENURm9udFJlZiBjdEZvbnQoKSBjb25zdDsK
KyNlbmRpZgogI2VuZGlmCiAKICNpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKENPQ09BKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9u
dFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAKaW5kZXggNGNiODAxYzdk
MTQ3MDE1NjFjMmEwOWMxYTdmNDdjYzZlOGM4ODg3MS4uZTA0NmUzMTdjM2JmMDJiZDlhNDUzMjky
ZmM3ZTE0ZGFiNzczN2VlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29yZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRl
eHQuY3BwCkBAIC0zNSwxNSArMzUsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYg
IVBMQVRGT1JNKFdJTikKLQogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDVEZv
bnRSZWYgZm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRp
Y09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCB3
aWR0aFZhcmlhbnQsIFRleHRSZW5kZXJpbmdNb2RlIHRleHRSZW5kZXJpbmdNb2RlKQogICAgIDog
Rm9udFBsYXRmb3JtRGF0YShzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlLCBv
cmllbnRhdGlvbiwgd2lkdGhWYXJpYW50LCB0ZXh0UmVuZGVyaW5nTW9kZSkKIHsKICAgICBBU1NF
UlRfQVJHKGZvbnQsIGZvbnQpOworI2lmIFBMQVRGT1JNKFdJTikKKyAgICBtX2N0Rm9udCA9IGZv
bnQ7CisjZWxzZQogICAgIG1fZm9udCA9IGZvbnQ7CisjZW5kaWYKICAgICBtX2lzQ29sb3JCaXRt
YXBGb250ID0gQ1RGb250R2V0U3ltYm9saWNUcmFpdHMoZm9udCkgJiBrQ1RGb250Q29sb3JHbHlw
aHNUcmFpdDsKLSAgICBtX2lzU3lzdGVtRm9udCA9IFdlYkNvcmU6OmlzU3lzdGVtRm9udChtX2Zv
bnQuZ2V0KCkpOworICAgIG1faXNTeXN0ZW1Gb250ID0gV2ViQ29yZTo6aXNTeXN0ZW1Gb250KGZv
bnQpOwogICAgIGF1dG8gdmFyaWF0aW9ucyA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZEaWN0aW9u
YXJ5UmVmPihDVEZvbnRDb3B5QXR0cmlidXRlKGZvbnQsIGtDVEZvbnRWYXJpYXRpb25BdHRyaWJ1
dGUpKSk7CiAgICAgbV9oYXNWYXJpYXRpb25zID0gdmFyaWF0aW9ucyAmJiBDRkRpY3Rpb25hcnlH
ZXRDb3VudCh2YXJpYXRpb25zLmdldCgpKTsKIApAQCAtNjMsNyArNjUsNyBAQCBib29sIGlzU3lz
dGVtRm9udChDVEZvbnRSZWYgZm9udCkKIAogQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OnJl
Z2lzdGVyZWRGb250KCkgY29uc3QKIHsKLSAgICBDVEZvbnRSZWYgcGxhdGZvcm1Gb250ID0gZm9u
dCgpOworICAgIENURm9udFJlZiBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQoKTsKICAgICBBU1NFUlQo
cGxhdGZvcm1Gb250KTsKICAgICBpZiAocGxhdGZvcm1Gb250ICYmIGFkb3B0Q0YoQ1RGb250Q29w
eUF0dHJpYnV0ZShwbGF0Zm9ybUZvbnQsIGtDVEZvbnRVUkxBdHRyaWJ1dGUpKSkKICAgICAgICAg
cmV0dXJuIHBsYXRmb3JtRm9udDsKQEAgLTEzMiwxMSArMTM0LDYgQEAgQ1RGb250UmVmIEZvbnRQ
bGF0Zm9ybURhdGE6OmN0Rm9udCgpIGNvbnN0CiAKICAgICByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7
CiB9Ci0jZWxzZQotQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGZvbnQoKTsKLX0KICNlbmRpZgogCiBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBG
b250UGxhdGZvcm1EYXRhOjpvYmplY3RGb3JFcXVhbGl0eUNoZWNrKENURm9udFJlZiBjdEZvbnQp
CkBAIC0xNTMsMTAgKzE1MCw5IEBAIFJldGFpblB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0Zm9ybURh
dGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2soKSBjb25zdAogewogICAgIHJldHVybiBvYmplY3RG
b3JFcXVhbGl0eUNoZWNrKGN0Rm9udCgpKTsKIH0KLQogUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9u
dFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3QKIHsKLSAg
ICBpZiAoUmV0YWluUHRyPENGRGF0YVJlZj4gZGF0YSA9IGFkb3B0Q0YoQ1RGb250Q29weVRhYmxl
KGZvbnQoKSwgdGFibGUsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpKQorICAgIGlmIChS
ZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhID0gYWRvcHRDRihDVEZvbnRDb3B5VGFibGUoY3RGb250
KCksIHRhYmxlLCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKSkKICAgICAgICAgcmV0dXJu
IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEuZ2V0KCkpOwogCiAgICAgcmV0dXJuIG51bGxwdHI7
CkBAIC0xNjYsNyArMTYyLDcgQEAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0
YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3QKIAogU3RyaW5nIEZvbnRQbGF0
Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QKIHsKLSAgICBTdHJpbmcgZm9udERlc2NyaXB0
aW9uIHsgYWRvcHRDRihDRkNvcHlEZXNjcmlwdGlvbihmb250KCkpKS5nZXQoKSB9OworICAgIFN0
cmluZyBmb250RGVzY3JpcHRpb24geyBhZG9wdENGKENGQ29weURlc2NyaXB0aW9uKGN0Rm9udCgp
KSkuZ2V0KCkgfTsKICAgICByZXR1cm4gbWFrZVN0cmluZyhmb250RGVzY3JpcHRpb24sICcgJywg
bV9zaXplLAogICAgICAgICAobV9zeW50aGV0aWNCb2xkID8gIiBzeW50aGV0aWMgYm9sZCIgOiAi
IiksCiAgICAgICAgIChtX3N5bnRoZXRpY09ibGlxdWUgPyAiIHN5bnRoZXRpYyBvYmxpcXVlIiA6
ICIiKSwKQEAgLTE3NywxMSArMTczLDkgQEAgU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2Ny
aXB0aW9uKCkgY29uc3QKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5hbWUoKSBj
b25zdAogewotICAgIGlmIChhdXRvIHBsYXRmb3JtRm9udCA9IGZvbnQoKSkKKyAgICBpZiAoYXV0
byBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQoKSkKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250
Q29weUZhbWlseU5hbWUocGxhdGZvcm1Gb250KSkuZ2V0KCk7CiAgICAgcmV0dXJuIHsgfTsKIH0K
IAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNw
cAppbmRleCBlNTM3M2M3YzZlYzQ4NzU0MGMxNjFkMmFiMTlkNjgxYmU4MThmMWExLi5iMmIwNWU0
ZjcyMzQ3N2MyMzM4NmQ0ZDUxNGI5YTk5MjQ5NmQzYjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4u
Y3BwCkBAIC02MCwyOSArNjAsNCBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRh
KEdESU9iamVjdDxIRk9OVD4gZm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBib2xkLAogICAgIFJlc3Rv
cmVEQyhoZGMsIC0xKTsKIH0KIAotUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0
YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3QKLXsKLSAgICBIV25kREMgaGRj
KDApOwotICAgIEhHRElPQkogb2xkRm9udCA9IFNlbGVjdE9iamVjdChoZGMsIGhmb250KCkpOwot
Ci0gICAgRFdPUkQgc2l6ZSA9IEdldEZvbnREYXRhKGhkYywgdGFibGUsIDAsIDAsIDApOwotICAg
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlcjsKLSAgICBpZiAoc2l6ZSAhPSBHRElfRVJST1Ip
IHsKLSAgICAgICAgVmVjdG9yPGNoYXI+IGRhdGEoc2l6ZSk7Ci0gICAgICAgIERXT1JEIHJlc3Vs
dCA9IEdldEZvbnREYXRhKGhkYywgdGFibGUsIDAsIChQVk9JRClkYXRhLmRhdGEoKSwgc2l6ZSk7
Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQgPT0gc2l6ZSk7Ci0gICAgICAg
IGJ1ZmZlciA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKFdURk1vdmUoZGF0YSkpOwotICAgIH0KLQot
ICAgIFNlbGVjdE9iamVjdChoZGMsIG9sZEZvbnQpOwotICAgIHJldHVybiBidWZmZXI7Ci19Ci0K
LSNpZiAhTE9HX0RJU0FCTEVECi1TdHJpbmcgRm9udFBsYXRmb3JtRGF0YTo6ZGVzY3JpcHRpb24o
KSBjb25zdAotewotICAgIHJldHVybiBTdHJpbmcoKTsKLX0KLSNlbmRpZgotCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408632</attachid>
            <date>2020-09-12 20:32:30 -0700</date>
            <delta_ts>2020-09-12 20:52:24 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>9643</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL3dpbi9Db3JlVGV4dFNQSVdp
bi5oCShyZXZpc2lvbiAyNjY5ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS93aW4v
Q29yZVRleHRTUElXaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDYgKzEyOSw3IEBACiBDR0Zs
b2F0IENURm9udEdldFNpemUoQ1RGb250UmVmKTsKIENURm9udFN5bWJvbGljVHJhaXRzIENURm9u
dEdldFN5bWJvbGljVHJhaXRzKENURm9udFJlZik7CiBDRkNoYXJhY3RlclNldFJlZiBDVEZvbnRD
b3B5Q2hhcmFjdGVyU2V0KENURm9udFJlZik7CitDR0ZvbnRSZWYgQ1RGb250Q29weUdyYXBoaWNz
Rm9udChDVEZvbnRSZWYsIENURm9udERlc2NyaXB0b3JSZWYqIGF0dHJpYnV0ZXMpOwogQ0ZTdHJp
bmdSZWYgQ1RGb250Q29weUZhbWlseU5hbWUoQ1RGb250UmVmKTsKIENGU3RyaW5nUmVmIENURm9u
dENvcHlGdWxsTmFtZShDVEZvbnRSZWYpOwogQ1RGb250UmVmIENURm9udENyZWF0ZUNvcHlXaXRo
QXR0cmlidXRlcyhDVEZvbnRSZWYsIENHRmxvYXQgc2l6ZSwgY29uc3QgQ0dBZmZpbmVUcmFuc2Zv
cm0qIG1hdHJpeCwgQ1RGb250RGVzY3JpcHRvclJlZiBhdHRyaWJ1dGVzKTsKQEAgLTE1NCw2ICsx
NTUsOCBAQAogQ0ZEYXRhUmVmIENURm9udENvcHlUYWJsZShDVEZvbnRSZWYsIENURm9udFRhYmxl
VGFnLCBDVEZvbnRUYWJsZU9wdGlvbnMpOwogYm9vbCBDVEZvbnRHZXRWZXJ0aWNhbEdseXBoc0Zv
ckNoYXJhY3RlcnMoQ1RGb250UmVmLCBjb25zdCBVbmlDaGFyW10sIENHR2x5cGhbXSwgQ0ZJbmRl
eCBjb3VudCk7CiAKK0NURm9udERlc2NyaXB0b3JSZWYgQ1RGb250TWFuYWdlckNyZWF0ZUZvbnRE
ZXNjcmlwdG9yRnJvbURhdGEoQ0ZEYXRhUmVmKTsKKwogQ1RGb250RGVzY3JpcHRvclJlZiBDVEZv
bnREZXNjcmlwdG9yQ3JlYXRlV2l0aEF0dHJpYnV0ZXMoQ0ZEaWN0aW9uYXJ5UmVmKTsKIGJvb2wg
Q1RGb250RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JSZWYpOwogQ1RG
b250RGVzY3JpcHRvclJlZiBDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aE5hbWVBbmRTaXplKENG
U3RyaW5nUmVmLCBDR0Zsb2F0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgJKHJldmlzaW9uIDI2Njk4NikKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaAkod29ya2lu
ZyBjb3B5KQpAQCAtODgsOSArODgsOCBAQAogCiAjaWYgUExBVEZPUk0oV0lOKQogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNC
b2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKLSNpZiBVU0UoQ0cpCi0g
ICAgRm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBDR0ZvbnRSZWYsIGZsb2F0IHNp
emUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBib29sIHVzZUdE
SSk7Ci0gICAgRm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYsIGZsb2F0IHNpemUsIGJvb2wgc3lu
dGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24sIEZvbnRX
aWR0aFZhcmlhbnQsIFRleHRSZW5kZXJpbmdNb2RlKTsKKyNpZiBVU0UoQ09SRV9URVhUKQorICAg
IEZvbnRQbGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiwgQ1RGb250UmVmLCBDR0ZvbnRSZWYs
IGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBi
b29sIHVzZUdESSk7CiAjZW5kaWYKICNpZiBVU0UoRElSRUNUMkQpCiAgICAgRm9udFBsYXRmb3Jt
RGF0YShHRElPYmplY3Q8SEZPTlQ+JiYsIENPTVB0cjxJRFdyaXRlRm9udD4mJiwgZmxvYXQgc2l6
ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJ
KTsKQEAgLTExMSwxMCArMTEwLDggQEAKICNpZiBQTEFURk9STShXSU4pCiAgICAgSEZPTlQgaGZv
bnQoKSBjb25zdCB7IHJldHVybiBtX2ZvbnQgPyBtX2ZvbnQtPmdldCgpIDogMDsgfQogICAgIGJv
b2wgdXNlR0RJKCkgY29uc3QgeyByZXR1cm4gbV91c2VHREk7IH0KLSNpZiBVU0UoQ0cpCisjaWYg
VVNFKENPUkVfVEVYVCkKICAgICBDR0ZvbnRSZWYgY2dGb250KCkgY29uc3QgeyByZXR1cm4gbV9j
Z0ZvbnQuZ2V0KCk7IH0KLSNlbmRpZgotI2lmIFVTRShDT1JFX1RFWFQpCiAgICAgQ1RGb250UmVm
IGN0Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY3RGb250LmdldCgpOyB9CiAjZW5kaWYKICNlbGlm
IFVTRShDT1JFX1RFWFQpCkBAIC0yMTQsMTAgKzIxMSw4IEBACiAKICNpZiBQTEFURk9STShXSU4p
CiAgICAgUmVmUHRyPFNoYXJlZEdESU9iamVjdDxIRk9OVD4+IG1fZm9udDsgLy8gRklYTUU6IERl
bGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1fY3RGb250IG9yIG1fZHdGb250IG9yIG1fc2NhbGVkRm9u
dC4KLSNpZiBVU0UoQ0cpCisjaWYgVVNFKENPUkVfVEVYVCkKICAgICBSZXRhaW5QdHI8Q0dGb250
UmVmPiBtX2NnRm9udDsgLy8gRklYTUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1fY3RGb250
LgotI2VuZGlmCi0jaWYgVVNFKENPUkVfVEVYVCkKICAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBt
X2N0Rm9udDsKICNlbmRpZgogI2VsaWYgVVNFKENPUkVfVEVYVCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5jcHAJKHJldmlzaW9uIDI2Njk4NikKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDIsOCArNDIsOCBAQAogCiBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1
c3RvbVBsYXRmb3JtRGF0YSgpCiB7Ci0gICAgaWYgKG1fZm9udFJlZmVyZW5jZSkKLSAgICAgICAg
UmVtb3ZlRm9udE1lbVJlc291cmNlRXgobV9mb250UmVmZXJlbmNlKTsKKyAgICBpZiAoZm9udFJl
ZmVyZW5jZSkKKyAgICAgICAgUmVtb3ZlRm9udE1lbVJlc291cmNlRXgoZm9udFJlZmVyZW5jZSk7
CiB9CiAKIEZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRm
b3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xk
LCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMpCkBAIC01MSw5ICs1MSw5IEBACiAgICAgaW50IHNpemUgPSBm
b250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKTsKICAgICBGb250UmVuZGVyaW5nTW9k
ZSByZW5kZXJpbmdNb2RlID0gZm9udERlc2NyaXB0aW9uLnJlbmRlcmluZ01vZGUoKTsKIAotICAg
IEFTU0VSVChtX2ZvbnRSZWZlcmVuY2UpOworICAgIEFTU0VSVChmb250UmVmZXJlbmNlKTsKIAot
ICAgIGF1dG8gZmFjZU5hbWUgPSBtX25hbWUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24o
KTsKKyAgICBhdXRvIGZhY2VOYW1lID0gbmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlv
bigpOwogICAgIGlmIChmYWNlTmFtZS5zaXplKCkgPiBMRl9GQUNFU0laRSkgewogICAgICAgICBm
YWNlTmFtZS5yZXNpemUoTEZfRkFDRVNJWkUpOwogICAgICAgICBmYWNlTmFtZS5sYXN0KCkgPSAw
OwpAQCAtNjAsNyArNjAsNyBAQAogICAgIH0KIAogICAgIExPR0ZPTlQgbG9nRm9udCB7IH07Ci0g
ICAgbWVtY3B5KGxvZ0ZvbnQubGZGYWNlTmFtZSwgZmFjZU5hbWUuZGF0YSgpLCBzaXplb2YobG9n
Rm9udC5sZkZhY2VOYW1lWzBdKSAqIHN0ZDo6bWluPHNpemVfdD4oc3RhdGljX2Nhc3Q8c2l6ZV90
PihMRl9GQUNFU0laRSksIDEgKyBtX25hbWUubGVuZ3RoKCkpKTsKKyAgICBtZW1jcHkobG9nRm9u
dC5sZkZhY2VOYW1lLCBmYWNlTmFtZS5kYXRhKCksIHNpemVvZihsb2dGb250LmxmRmFjZU5hbWVb
MF0pICogc3RkOjptaW48c2l6ZV90PihzdGF0aWNfY2FzdDxzaXplX3Q+KExGX0ZBQ0VTSVpFKSwg
MSArIG5hbWUubGVuZ3RoKCkpKTsKIAogICAgIGxvZ0ZvbnQubGZIZWlnaHQgPSAtc2l6ZTsKICAg
ICBpZiAocmVuZGVyaW5nTW9kZSA9PSBGb250UmVuZGVyaW5nTW9kZTo6Tm9ybWFsKQpAQCAtODIs
OSArODIsMTAgQEAKICAgICBsb2dGb250LmxmV2VpZ2h0ID0gYm9sZCA/IDcwMCA6IDQwMDsKIAog
ICAgIGF1dG8gaGZvbnQgPSBhZG9wdEdESU9iamVjdCg6OkNyZWF0ZUZvbnRJbmRpcmVjdCgmbG9n
Rm9udCkpOwotI2lmIFVTRShDRykKLSAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBjZ0ZvbnQgPSBh
ZG9wdENGKENHRm9udENyZWF0ZVdpdGhQbGF0Zm9ybUZvbnQoJmxvZ0ZvbnQpKTsKLSAgICByZXR1
cm4gRm9udFBsYXRmb3JtRGF0YShXVEZNb3ZlKGhmb250KSwgY2dGb250LmdldCgpLCBzaXplLCBi
b2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0
ZSk7CisjaWYgVVNFKENPUkVfVEVYVCkKKyAgICBhdXRvIGN0Rm9udCA9IGFkb3B0Q0YoQ1RGb250
Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBudWxs
cHRyKSk7CisgICAgYXV0byBjZ0ZvbnQgPSBhZG9wdENGKENURm9udENvcHlHcmFwaGljc0ZvbnQo
Y3RGb250LmdldCgpLCBudWxscHRyKSk7CisgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoV1RG
TW92ZShoZm9udCksIGN0Rm9udC5nZXQoKSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFs
aWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CiAjZWxz
ZQogICAgIGF1dG8gZm9udCA9IERpcmVjdFdyaXRlOjpjcmVhdGVXaXRoUGxhdGZvcm1Gb250KGxv
Z0ZvbnQpOwogICAgIHJldHVybiBGb250UGxhdGZvcm1EYXRhKFdURk1vdmUoaGZvbnQpLCBXVEZN
b3ZlKGZvbnQpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRl
cmluZ01vZGU6OkFsdGVybmF0ZSk7CkBAIC0xMTAsNyArMTExLDEyIEBACiAgICAgZm9udFJlZmVy
ZW5jZSA9IHJlbmFtZUFuZEFjdGl2YXRlRm9udChidWZmZXIsIGZvbnROYW1lKTsKICAgICBpZiAo
IWZvbnRSZWZlcmVuY2UpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiBtYWtl
VW5pcXVlPEZvbnRDdXN0b21QbGF0Zm9ybURhdGE+KGZvbnRSZWZlcmVuY2UsIGZvbnROYW1lKTsK
KyAgICBhdXRvIHJlc3VsdCA9IG1ha2VVbmlxdWU8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4oZm9u
dFJlZmVyZW5jZSwgZm9udE5hbWUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgYXV0byBidWZm
ZXJEYXRhID0gYnVmZmVyLmNyZWF0ZUNGRGF0YSgpOworICAgIHJlc3VsdC0+Zm9udERlc2NyaXB0
b3IgPSBhZG9wdENGKENURm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRvckZyb21EYXRhKGJ1
ZmZlckRhdGEuZ2V0KCkpKTsKKyNlbmRpZgorICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGJvb2wg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6c3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5nJiBmb3Jt
YXQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgJKHJldmlzaW9uIDI2Njk4NikKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDEwIEBACiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBVU0Uo
Q09SRV9URVhUKQorI2luY2x1ZGUgPHBhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmg+CisjZW5k
aWYKKwogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ1LDggKzQ5LDggQEAKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEhB
TkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCi0gICAgICAgIDogbV9mb250
UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCi0gICAgICAgICwgbV9uYW1lKG5hbWUpCisgICAgICAg
IDogZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQorICAgICAgICAsIG5hbWUobmFtZSkKICAg
ICB7CiAgICAgfQogCkBAIC01Niw4ICs2MCwxMSBAQAogCiAgICAgc3RhdGljIGJvb2wgc3VwcG9y
dHNGb3JtYXQoY29uc3QgU3RyaW5nJik7CiAKLSAgICBIQU5ETEUgbV9mb250UmVmZXJlbmNlOwot
ICAgIFN0cmluZyBtX25hbWU7CisgICAgSEFORExFIGZvbnRSZWZlcmVuY2U7CisgICAgU3RyaW5n
IG5hbWU7CisjaWYgVVNFKENPUkVfVEVYVCkKKyAgICBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRv
clJlZj4gZm9udERlc2NyaXB0b3I7CisjZW5kaWYKIH07CiAKIHN0ZDo6dW5pcXVlX3B0cjxGb250
Q3VzdG9tUGxhdGZvcm1EYXRhPiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1
ZmZlciYsIGNvbnN0IFN0cmluZyYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAJ
KHJldmlzaW9uIDI2Njk4NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsMjUgKzEy
MCwxNyBAQAogICAgICAgICBtX2lzU3lzdGVtRm9udCA9ICF3Y3NjbXAoZmFjZU5hbWUsIEwiTHVj
aWRhIEdyYW5kZSIpOwogfQogCi1Gb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEdE
SU9iamVjdDxIRk9OVD4gaGZvbnQsIENHRm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIGJv
bGQsIGJvb2wgb2JsaXF1ZSwgYm9vbCB1c2VHREkpCitGb250UGxhdGZvcm1EYXRhOjpGb250UGxh
dGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4gaGZvbnQsIENURm9udFJlZiBjdEZvbnQsIENHRm9u
dFJlZiBjZ0ZvbnQsIGZsb2F0IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBvYmxpcXVlLCBib29sIHVz
ZUdESSkKICAgICA6IG1fc3ludGhldGljQm9sZChib2xkKQogICAgICwgbV9zeW50aGV0aWNPYmxp
cXVlKG9ibGlxdWUpCiAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAsIG1fZm9udChTaGFyZWRHRElP
YmplY3Q8SEZPTlQ+OjpjcmVhdGUoV1RGTW92ZShoZm9udCkpKQotICAgICwgbV9jZ0ZvbnQoZm9u
dCkKLSAgICAsIG1fY3RGb250KGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEdyYXBoaWNzRm9udCht
X2NnRm9udC5nZXQoKSwgc2l6ZSwgbnVsbHB0ciwgbnVsbHB0cikpKQorICAgICwgbV9jZ0ZvbnQo
Y2dGb250KQorICAgICwgbV9jdEZvbnQoY3RGb250KQogICAgICwgbV91c2VHREkodXNlR0RJKQog
ewogfQogCi1Gb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKENHRm9udFJlZiBjZ0Zv
bnQsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVl
LCBGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJp
YW50LCBUZXh0UmVuZGVyaW5nTW9kZSB0ZXh0UmVuZGVyaW5nTW9kZSkKLSAgICA6IEZvbnRQbGF0
Zm9ybURhdGEoc2l6ZSwgc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZSwgb3JpZW50YXRp
b24sIHdpZHRoVmFyaWFudCwgdGV4dFJlbmRlcmluZ01vZGUpCi17Ci0gICAgbV9jZ0ZvbnQgPSBj
Z0ZvbnQ7Ci0gICAgQVNTRVJUKG1fY2dGb250KTsKLSAgICBtX2N0Rm9udCA9IGFkb3B0Q0YoQ1RG
b250Q3JlYXRlV2l0aEdyYXBoaWNzRm9udChtX2NnRm9udC5nZXQoKSwgc2l6ZSwgbnVsbHB0ciwg
bnVsbHB0cikpOwotfQotCiB1bnNpZ25lZCBGb250UGxhdGZvcm1EYXRhOjpoYXNoKCkgY29uc3QK
IHsKICAgICB1bnNpZ25lZCBmb250SGFzaCA9IG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1E
YXRhV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAJKHJldmlzaW9uIDI2Njk4NikKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsOCBAQAogI2luY2x1ZGUgPGR3cml0ZV8zLmg+CiAj
ZW5kaWYKIAorI2luY2x1ZGUgPHBhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmg+CisKIHVzaW5n
IHN0ZDo6bWluOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Miw2ICs2NCwxMSBAQAogCiBS
ZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQz
Ml90IHRhYmxlKSBjb25zdAogeworICAgIGlmIChSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhID0g
YWRvcHRDRihDVEZvbnRDb3B5VGFibGUoY3RGb250KCksIHRhYmxlLCBrQ1RGb250VGFibGVPcHRp
b25Ob09wdGlvbnMpKSkKKyAgICAgICAgcmV0dXJuIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEu
Z2V0KCkpOworCisgICAgcmV0dXJuIG51bGxwdHI7CisgICAgLyoKICAgICBIV25kREMgaGRjKDAp
OwogICAgIEhHRElPQkogb2xkRm9udCA9IFNlbGVjdE9iamVjdChoZGMsIGhmb250KCkpOwogCkBA
IC03NSw3ICs4Miw3IEBACiAgICAgfQogCiAgICAgU2VsZWN0T2JqZWN0KGhkYywgb2xkRm9udCk7
Ci0gICAgcmV0dXJuIGJ1ZmZlcjsKKyAgICByZXR1cm4gYnVmZmVyOyovCiB9CiAKICNpZiAhTE9H
X0RJU0FCTEVECg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408635</attachid>
            <date>2020-09-12 20:52:25 -0700</date>
            <delta_ts>2020-09-12 21:05:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216448-20200912205224.patch</filename>
            <type>text/plain</type>
            <size>20007</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQxOWM1NTdmM2ZkYjJk
ZmQzNGZjODU1NzlhNjNmZTI1Zjk1YTIxYS4uM2U1NmFiZGY1MDEyOGQ4OGI1NWFlMWRmOTM1ZDdm
Yzg4MTViM2NmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIwLTA5LTEyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gTWlncmF0ZSBmcm9tIEZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIHRvIEZvbnRQbGF0Zm9ybURh
dGFDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgaXMgb25lIG9mIHRoZSBzdGVwcyB0b3dhcmQgbWlncmF0aW5nIHRoZSBBcHBs
ZSBXaW4gcG9ydCBvZmYgb2YgQ0dGb250IGFuZCBvbiB0bworICAgICAgICBDVEZvbnQuIFRoaXMg
cGF0Y2ggcmVtb3ZlcyB0aGUgI2lmICFQTEFURk9STShXSU4pIGd1YXJkIGluIEZvbnRQbGF0Zm9y
bURhdGFDb3JlVGV4dC5jcHAKKyAgICAgICAgYW5kIGRlbGV0ZXMgdGhlIG9sZCBmdW5jdGlvbnMg
aXQgdXNlZCB0byBiZSB1c2luZy4gSXQgZml4ZXMgdXAgdGhlIENvcmUgVGV4dCBmdW5jdGlvbnMg
dG8KKyAgICAgICAgdXNlIGN0Rm9udCgpIGluc3RlYWQgb2YgZm9udCgpLCBiZWNhdXNlIGZvbnQo
KSByZXR1cm5zIHRoZSBIRk9OVCBvbiBXaW5kb3dzLgorCisgICAgICAgIEl0IGFsc28gYWRkcyBh
IG5ldyBoZWxwZXIsIHBsYXRmb3JtT3BlblR5cGVUYWJsZSgpLCBiZWNhdXNlIGl0IGxvb2tzIGxp
a2UKKyAgICAgICAgQ1RGb250Q29weVRhYmxlKCkgc29tZXRpbWVzIGZhaWxzLCBzbyB3ZSBjYW4g
dXNlIHRoaXMgZnVuY3Rpb24gdG8gZmFsbCBiYWNrIHRvIHVzaW5nIHRoZQorICAgICAgICBIRk9O
VCBhbmQgdGhlIHdpbjMyIEFQSSBpbnN0ZWFkLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Zm9udCBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpyZWdpc3RlcmVk
Rm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJs
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1l
IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNHV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6ZGVzY3JpcHRp
b24gY29uc3QpOiBEZWxldGVkLgorCiAyMDIwLTA5LTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgZm9ybWF0Rm9yRGVidWdnZXIoKSB3
aGljaCB1c2VzIHJhdyBjaGFyKiB3aXRoIGRlYnVnRGVzY3JpcHRpb24oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKaW5kZXggOTU4OTFlZTMyZGM4OTc4NjkyYzFjYzVlYmNiOWExMDczOTU4NDVmMy4uOTU5ZTky
MDRkNjY1OTllYWY2YmI1ZmI0OTJmOWJiNjcyZTZiNTllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMTIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxk
QGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgV2luXSBNaWdyYXRlIGZyb20gRm9udFBsYXRm
b3JtRGF0YVdpbi5jcHAgdG8gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL3dpbi9Db3Jl
VGV4dFNQSVdpbi5oOgorCiAyMDIwLTA5LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNaWdyYXRlIENvcmVUZXh0LXNwZWNpZmlj
IGNvZGUgZnJvbSAqKipDb2NvYS5tbSB0byAqKipDb3JlVGV4dC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmgKaW5kZXggOTBlZTljZjg1YTk5
ZTZlYWZlODQwMmViNzgzM2YxYzg4M2VjODY0NC4uOGY4YTY1NTI4OGRmODFiN2VjMWZkYzY1ZTQ1
MWFjMzk3YmZkYTVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2lu
L0NvcmVUZXh0U1BJV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2luL0Nv
cmVUZXh0U1BJV2luLmgKQEAgLTEyOSw2ICsxMjksNyBAQCBDR0Zsb2F0IENURm9udEdldFVuZGVy
bGluZVRoaWNrbmVzcyhDVEZvbnRSZWYpOwogQ0dGbG9hdCBDVEZvbnRHZXRTaXplKENURm9udFJl
Zik7CiBDVEZvbnRTeW1ib2xpY1RyYWl0cyBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhDVEZvbnRS
ZWYpOwogQ0ZDaGFyYWN0ZXJTZXRSZWYgQ1RGb250Q29weUNoYXJhY3RlclNldChDVEZvbnRSZWYp
OworQ0dGb250UmVmIENURm9udENvcHlHcmFwaGljc0ZvbnQoQ1RGb250UmVmLCBDVEZvbnREZXNj
cmlwdG9yUmVmKiBhdHRyaWJ1dGVzKTsKIENGU3RyaW5nUmVmIENURm9udENvcHlGYW1pbHlOYW1l
KENURm9udFJlZik7CiBDRlN0cmluZ1JlZiBDVEZvbnRDb3B5RnVsbE5hbWUoQ1RGb250UmVmKTsK
IENURm9udFJlZiBDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMoQ1RGb250UmVmLCBDR0Zs
b2F0IHNpemUsIGNvbnN0IENHQWZmaW5lVHJhbnNmb3JtKiBtYXRyaXgsIENURm9udERlc2NyaXB0
b3JSZWYgYXR0cmlidXRlcyk7CkBAIC0xNTQsNiArMTU1LDggQEAgYm9vbCBDVEZvbnRHZXRHbHlw
aHNGb3JDaGFyYWN0ZXJSYW5nZShDVEZvbnRSZWYsIENHR2x5cGhbXSwgQ0ZSYW5nZSk7CiBDRkRh
dGFSZWYgQ1RGb250Q29weVRhYmxlKENURm9udFJlZiwgQ1RGb250VGFibGVUYWcsIENURm9udFRh
YmxlT3B0aW9ucyk7CiBib29sIENURm9udEdldFZlcnRpY2FsR2x5cGhzRm9yQ2hhcmFjdGVycyhD
VEZvbnRSZWYsIGNvbnN0IFVuaUNoYXJbXSwgQ0dHbHlwaFtdLCBDRkluZGV4IGNvdW50KTsKIAor
Q1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnRNYW5hZ2VyQ3JlYXRlRm9udERlc2NyaXB0b3JGcm9t
RGF0YShDRkRhdGFSZWYpOworCiBDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JD
cmVhdGVXaXRoQXR0cmlidXRlcyhDRkRpY3Rpb25hcnlSZWYpOwogYm9vbCBDVEZvbnREZXNjcmlw
dG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVzY3JpcHRvclJlZik7CiBDVEZvbnREZXNjcmlwdG9y
UmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoTmFtZUFuZFNpemUoQ0ZTdHJpbmdSZWYsIENH
RmxvYXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFBsYXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UGxhdGZvcm1EYXRhLmNwcAppbmRleCAyNjVhM2Q3YThjYTYxNmQxMjBhNWYyMDI4MWU2MWZlZDcx
MTIzZjM4Li4wYWE1MTc1ZWUwNWE2YTQxYWRjNGMyZjMxNjAyNzk5ZGZmYTY2ZDA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcApAQCAtNzksNyArNzksNyBAQCBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6
OmNsb25lV2l0aFNpemUoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlm
CiAKLSNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQorI2lmICFVU0UoQ09SRV9U
RVhUKQogCiBTdHJpbmcgRm9udFBsYXRmb3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmgKaW5kZXggYmM3ZmNhYmE2OGVmOTRiYzRkODAwMDZhNDU4NzVhNTY1MGQ2OGNmOS4uMThmMjMx
YWVjMzAxNmRkY2ZjZWJmOWM0ZTcwNjIxZTdjNzc4N2IzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtODgsOSArODgs
OCBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgRm9udFBsYXRmb3JtRGF0YShH
RElPYmplY3Q8SEZPTlQ+LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwotI2lmIFVTRShDRykKLSAgICBGb250UGxhdGZv
cm1EYXRhKEdESU9iamVjdDxIRk9OVD4sIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50
aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKLSAgICBGb250
UGxhdGZvcm1EYXRhKENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCwg
VGV4dFJlbmRlcmluZ01vZGUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgRm9udFBsYXRmb3Jt
RGF0YShHRElPYmplY3Q8SEZPTlQ+LCBDVEZvbnRSZWYsIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwg
Ym9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsK
ICNlbmRpZgogI2lmIFVTRShESVJFQ1QyRCkKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVj
dDxIRk9OVD4mJiwgQ09NUHRyPElEV3JpdGVGb250PiYmLCBmbG9hdCBzaXplLCBib29sIHN5bnRo
ZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwpAQCAtMTE0LDE4
ICsxMTMsMjAgQEAgcHVibGljOgogI2lmIFVTRShDRykKICAgICBDR0ZvbnRSZWYgY2dGb250KCkg
Y29uc3QgeyByZXR1cm4gbV9jZ0ZvbnQuZ2V0KCk7IH0KICNlbmRpZgotI2lmIFVTRShDT1JFX1RF
WFQpCi0gICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY3RGb250LmdldCgp
OyB9CiAjZW5kaWYKLSNlbGlmIFVTRShDT1JFX1RFWFQpCi0gICAgQ1RGb250UmVmIGZvbnQoKSBj
b25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRS
ZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25zdDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9u
dCBpcyBub3QgcmVnaXN0ZXJlZCwgc3VjaCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5z
IGZvbnQoKSkuCiAKLSAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Q7CisjaWYgVVNFKENPUkVf
VEVYVCkKKyAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRSZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25z
dDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9udCBpcyBub3QgcmVnaXN0ZXJlZCwgc3Vj
aCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5zIGZvbnQoKSkuCiAgICAgc3RhdGljIFJl
dGFpblB0cjxDRlR5cGVSZWY+IG9iamVjdEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmKTsKICAg
ICBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBvYmplY3RGb3JFcXVhbGl0eUNoZWNrKCkgY29uc3Q7Ci0K
ICAgICBib29sIGhhc0N1c3RvbVRyYWNraW5nKCkgY29uc3QgeyByZXR1cm4gaXNTeXN0ZW1Gb250
KCk7IH0KKworI2lmIFBMQVRGT1JNKFdJTikKKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Qg
eyByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7IH0KKyNlbHNlCisgICAgQ1RGb250UmVmIGZvbnQoKSBj
b25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0KKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29u
c3Q7CisjZW5kaWYKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShDT0NP
QSkKQEAgLTE5NCw2ICsxOTUsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gb3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3Q7CisgICAgUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25z
dDsKIAogICAgIFN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0OwogCkBAIC0yMTQsMTAgKzIxNiw4
IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgUmVmUHRyPFNoYXJlZEdESU9i
amVjdDxIRk9OVD4+IG1fZm9udDsgLy8gRklYTUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1f
Y3RGb250IG9yIG1fZHdGb250IG9yIG1fc2NhbGVkRm9udC4KLSNpZiBVU0UoQ0cpCi0gICAgUmV0
YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZv
ciBvZiBtX2N0Rm9udC4KLSNlbmRpZgogI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRy
PENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBt
X2N0Rm9udC4KICAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBtX2N0Rm9udDsKICNlbmRpZgogI2Vs
aWYgVVNFKENPUkVfVEVYVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCBjOTdk
NTBhNTI2YTJmZDcxOGRiOWNjNjIwMTZjMzI1ZWQ4MWIzYjNkLi4wZmQyYzU4MzUyOTVmNGJjZWMw
YjRiNGQ1MzY2NjNiZjE2MjY0OWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBA
IC01Niw0ICs1Niw5IEBAIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdAogICAgIHJldHVybiBDRkVxdWFsKG1f
Zm9udC5nZXQoKSwgb3RoZXIubV9mb250LmdldCgpKTsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxl
KSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4
dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29yZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAppbmRleCA0Y2I4
MDFjN2QxNDcwMTU2MWMyYTA5YzFhN2Y0N2NjNmU4Yzg4ODcxLi5kY2M3OWFkOGNhODVmNGY3NDI4
M2JiYWZmMWQ1OTM3ZTUyNDYwN2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFD
b3JlVGV4dC5jcHAKQEAgLTM1LDE1ICszNSwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LSNpZiAhUExBVEZPUk0oV0lOKQotCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRh
KENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJp
YW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCiAg
ICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlx
dWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQogewogICAg
IEFTU0VSVF9BUkcoZm9udCwgZm9udCk7CisjaWYgUExBVEZPUk0oV0lOKQorICAgIG1fY3RGb250
ID0gZm9udDsKKyNlbHNlCiAgICAgbV9mb250ID0gZm9udDsKKyNlbmRpZgogICAgIG1faXNDb2xv
ckJpdG1hcEZvbnQgPSBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhmb250KSAmIGtDVEZvbnRDb2xv
ckdseXBoc1RyYWl0OwotICAgIG1faXNTeXN0ZW1Gb250ID0gV2ViQ29yZTo6aXNTeXN0ZW1Gb250
KG1fZm9udC5nZXQoKSk7CisgICAgbV9pc1N5c3RlbUZvbnQgPSBXZWJDb3JlOjppc1N5c3RlbUZv
bnQoZm9udCk7CiAgICAgYXV0byB2YXJpYXRpb25zID0gYWRvcHRDRihzdGF0aWNfY2FzdDxDRkRp
Y3Rpb25hcnlSZWY+KENURm9udENvcHlBdHRyaWJ1dGUoZm9udCwga0NURm9udFZhcmlhdGlvbkF0
dHJpYnV0ZSkpKTsKICAgICBtX2hhc1ZhcmlhdGlvbnMgPSB2YXJpYXRpb25zICYmIENGRGljdGlv
bmFyeUdldENvdW50KHZhcmlhdGlvbnMuZ2V0KCkpOwogCkBAIC02Myw3ICs2NSw3IEBAIGJvb2wg
aXNTeXN0ZW1Gb250KENURm9udFJlZiBmb250KQogCiBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0
YTo6cmVnaXN0ZXJlZEZvbnQoKSBjb25zdAogewotICAgIENURm9udFJlZiBwbGF0Zm9ybUZvbnQg
PSBmb250KCk7CisgICAgQ1RGb250UmVmIHBsYXRmb3JtRm9udCA9IGN0Rm9udCgpOwogICAgIEFT
U0VSVChwbGF0Zm9ybUZvbnQpOwogICAgIGlmIChwbGF0Zm9ybUZvbnQgJiYgYWRvcHRDRihDVEZv
bnRDb3B5QXR0cmlidXRlKHBsYXRmb3JtRm9udCwga0NURm9udFVSTEF0dHJpYnV0ZSkpKQogICAg
ICAgICByZXR1cm4gcGxhdGZvcm1Gb250OwpAQCAtMTMyLDExICsxMzQsNiBAQCBDVEZvbnRSZWYg
Rm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKIAogICAgIHJldHVybiBtX2N0Rm9udC5n
ZXQoKTsKIH0KLSNlbHNlCi1DVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29u
c3QKLXsKLSAgICByZXR1cm4gZm9udCgpOwotfQogI2VuZGlmCiAKIFJldGFpblB0cjxDRlR5cGVS
ZWY+IEZvbnRQbGF0Zm9ybURhdGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmIGN0
Rm9udCkKQEAgLTE1NiwxNyArMTUzLDE3IEBAIFJldGFpblB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0
Zm9ybURhdGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2soKSBjb25zdAogCiBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBj
b25zdAogewotICAgIGlmIChSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhID0gYWRvcHRDRihDVEZv
bnRDb3B5VGFibGUoZm9udCgpLCB0YWJsZSwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSkp
CisgICAgaWYgKFJldGFpblB0cjxDRkRhdGFSZWY+IGRhdGEgPSBhZG9wdENGKENURm9udENvcHlU
YWJsZShjdEZvbnQoKSwgdGFibGUsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpKQogICAg
ICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YS5nZXQoKSk7CiAKLSAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsKIH0K
IAogI2lmICFMT0dfRElTQUJMRUQKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0
aW9uKCkgY29uc3QKIHsKLSAgICBTdHJpbmcgZm9udERlc2NyaXB0aW9uIHsgYWRvcHRDRihDRkNv
cHlEZXNjcmlwdGlvbihmb250KCkpKS5nZXQoKSB9OworICAgIFN0cmluZyBmb250RGVzY3JpcHRp
b24geyBhZG9wdENGKENGQ29weURlc2NyaXB0aW9uKGN0Rm9udCgpKSkuZ2V0KCkgfTsKICAgICBy
ZXR1cm4gbWFrZVN0cmluZyhmb250RGVzY3JpcHRpb24sICcgJywgbV9zaXplLAogICAgICAgICAo
bV9zeW50aGV0aWNCb2xkID8gIiBzeW50aGV0aWMgYm9sZCIgOiAiIiksCiAgICAgICAgIChtX3N5
bnRoZXRpY09ibGlxdWUgPyAiIHN5bnRoZXRpYyBvYmxpcXVlIiA6ICIiKSwKQEAgLTE3NywxMSAr
MTc0LDkgQEAgU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QKIAog
U3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5hbWUoKSBjb25zdAogewotICAgIGlmIChh
dXRvIHBsYXRmb3JtRm9udCA9IGZvbnQoKSkKKyAgICBpZiAoYXV0byBwbGF0Zm9ybUZvbnQgPSBj
dEZvbnQoKSkKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weUZhbWlseU5hbWUocGxh
dGZvcm1Gb250KSkuZ2V0KCk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotI2VuZGlmCi0KIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAppbmRleCAxNDBl
YzE2ZWIxNWQ2ZmM5ZmRhNDBiY2I1MWJiYTBmZjBhYzMzYjM2Li44NDRlMGUxMmRiZDJmZTQxYTE1
NGQ1NjlkYTZhZDg4NGI4NDc0MmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBA
IC00Miw4ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKQogewotICAgIGlmIChtX2ZvbnRSZWZlcmVu
Y2UpCi0gICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KG1fZm9udFJlZmVyZW5jZSk7Cisg
ICAgaWYgKGZvbnRSZWZlcmVuY2UpCisgICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KGZv
bnRSZWZlcmVuY2UpOwogfQogCiBGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRp
b24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBG
b250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQpAQCAtNTEsMTYgKzUxLDE2IEBAIEZv
bnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShj
b25zdCBGb250RGVzY3JpcHRpb24mCiAgICAgaW50IHNpemUgPSBmb250RGVzY3JpcHRpb24uY29t
cHV0ZWRQaXhlbFNpemUoKTsKICAgICBGb250UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0g
Zm9udERlc2NyaXB0aW9uLnJlbmRlcmluZ01vZGUoKTsKIAotICAgIEFTU0VSVChtX2ZvbnRSZWZl
cmVuY2UpOworICAgIEFTU0VSVChmb250UmVmZXJlbmNlKTsKIAotICAgIGF1dG8gZmFjZU5hbWUg
PSBtX25hbWUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKTsKKyAgICBhdXRvIGZhY2VO
YW1lID0gbmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpOwogICAgIGlmIChmYWNl
TmFtZS5zaXplKCkgPiBMRl9GQUNFU0laRSkgewogICAgICAgICBmYWNlTmFtZS5yZXNpemUoTEZf
RkFDRVNJWkUpOwogICAgICAgICBmYWNlTmFtZS5sYXN0KCkgPSAwOwogICAgIH0KIAogICAgIExP
R0ZPTlQgbG9nRm9udCB7IH07Ci0gICAgbWVtY3B5KGxvZ0ZvbnQubGZGYWNlTmFtZSwgZmFjZU5h
bWUuZGF0YSgpLCBzaXplb2YobG9nRm9udC5sZkZhY2VOYW1lWzBdKSAqIHN0ZDo6bWluPHNpemVf
dD4oc3RhdGljX2Nhc3Q8c2l6ZV90PihMRl9GQUNFU0laRSksIDEgKyBtX25hbWUubGVuZ3RoKCkp
KTsKKyAgICBtZW1jcHkobG9nRm9udC5sZkZhY2VOYW1lLCBmYWNlTmFtZS5kYXRhKCksIHNpemVv
Zihsb2dGb250LmxmRmFjZU5hbWVbMF0pICogc3RkOjptaW48c2l6ZV90PihzdGF0aWNfY2FzdDxz
aXplX3Q+KExGX0ZBQ0VTSVpFKSwgMSArIG5hbWUubGVuZ3RoKCkpKTsKIAogICAgIGxvZ0ZvbnQu
bGZIZWlnaHQgPSAtc2l6ZTsKICAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBGb250UmVuZGVyaW5n
TW9kZTo6Tm9ybWFsKQpAQCAtODIsOSArODIsMTAgQEAgRm9udFBsYXRmb3JtRGF0YSBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYK
ICAgICBsb2dGb250LmxmV2VpZ2h0ID0gYm9sZCA/IDcwMCA6IDQwMDsKIAogICAgIGF1dG8gaGZv
bnQgPSBhZG9wdEdESU9iamVjdCg6OkNyZWF0ZUZvbnRJbmRpcmVjdCgmbG9nRm9udCkpOwotI2lm
IFVTRShDRykKLSAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBjZ0ZvbnQgPSBhZG9wdENGKENHRm9u
dENyZWF0ZVdpdGhQbGF0Zm9ybUZvbnQoJmxvZ0ZvbnQpKTsKLSAgICByZXR1cm4gRm9udFBsYXRm
b3JtRGF0YShXVEZNb3ZlKGhmb250KSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMs
IHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CisjaWYgVVNF
KENPUkVfVEVYVCkKKyAgICBhdXRvIGN0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEZv
bnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBudWxscHRyKSk7CisgICAg
YXV0byBjZ0ZvbnQgPSBhZG9wdENGKENURm9udENvcHlHcmFwaGljc0ZvbnQoY3RGb250LmdldCgp
LCBudWxscHRyKSk7CisgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoV1RGTW92ZShoZm9udCks
IGN0Rm9udC5nZXQoKSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmlu
Z01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CiAjZWxzZQogICAgIGF1dG8g
Zm9udCA9IERpcmVjdFdyaXRlOjpjcmVhdGVXaXRoUGxhdGZvcm1Gb250KGxvZ0ZvbnQpOwogICAg
IHJldHVybiBGb250UGxhdGZvcm1EYXRhKFdURk1vdmUoaGZvbnQpLCBXVEZNb3ZlKGZvbnQpLCBz
aXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFs
dGVybmF0ZSk7CkBAIC0xMTAsNyArMTExLDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9t
UGxhdGZvcm1EYXRhPiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1ZmZlCiAg
ICAgZm9udFJlZmVyZW5jZSA9IHJlbmFtZUFuZEFjdGl2YXRlRm9udChidWZmZXIsIGZvbnROYW1l
KTsKICAgICBpZiAoIWZvbnRSZWZlcmVuY2UpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAg
IHJldHVybiBtYWtlVW5pcXVlPEZvbnRDdXN0b21QbGF0Zm9ybURhdGE+KGZvbnRSZWZlcmVuY2Us
IGZvbnROYW1lKTsKKyAgICBhdXRvIHJlc3VsdCA9IG1ha2VVbmlxdWU8Rm9udEN1c3RvbVBsYXRm
b3JtRGF0YT4oZm9udFJlZmVyZW5jZSwgZm9udE5hbWUpOworI2lmIFVTRShDT1JFX1RFWFQpCisg
ICAgYXV0byBidWZmZXJEYXRhID0gYnVmZmVyLmNyZWF0ZUNGRGF0YSgpOworICAgIHJlc3VsdC0+
Zm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRv
ckZyb21EYXRhKGJ1ZmZlckRhdGEuZ2V0KCkpKTsKKyNlbmRpZgorICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKIGJvb2wgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6c3VwcG9ydHNGb3JtYXQoY29uc3Qg
U3RyaW5nJiBmb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYjJmZjJiNzQ3
YzliOWM5MWMwNmNlYTViMGE5NjYxYTMwNTJiYjY1Li4wMTE1M2MzYWNjMzc1OTEyNjM3NGE1ODIz
Y2M2NzBiNmQ1YzQ2Njc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI3LDYgKzI3
LDEwIEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKKyNpZiBVU0UoQ09SRV9URVhUKQorI2luY2x1ZGUgPHBhbC9zcGkvd2lu
L0NvcmVUZXh0U1BJV2luLmg+CisjZW5kaWYKKwogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0Zv
bnRSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ5LDggQEAgc3RydWN0IEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEpOwogcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFO
RExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKLSAgICAgICAgOiBtX2ZvbnRS
ZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKLSAgICAgICAgLCBtX25hbWUobmFtZSkKKyAgICAgICAg
OiBmb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCisgICAgICAgICwgbmFtZShuYW1lKQogICAg
IHsKICAgICB9CiAKQEAgLTU2LDggKzYwLDExIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29s
IHN1cHBvcnRzRm9ybWF0KGNvbnN0IFN0cmluZyYpOwogCi0gICAgSEFORExFIG1fZm9udFJlZmVy
ZW5jZTsKLSAgICBTdHJpbmcgbV9uYW1lOworICAgIEhBTkRMRSBmb250UmVmZXJlbmNlOworICAg
IFN0cmluZyBuYW1lOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRyPENURm9udERl
c2NyaXB0b3JSZWY+IGZvbnREZXNjcmlwdG9yOworI2VuZGlmCiB9OwogCiBzdGQ6OnVuaXF1ZV9w
dHI8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YShT
aGFyZWRCdWZmZXImLCBjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAK
aW5kZXggMzBhNDRkZDE0YzFiNmZmZmQ2Y2JjZTc0NzI1OTg5NTRkOTIwNzhlMi4uMGJkNzA3ZjFj
NTVmMmY2NGJhMzI2MTczOTdjZmIxYTI3MTMzODE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dp
bi5jcHAKQEAgLTEyMCwyNSArMTIwLDE3IEBAIHZvaWQgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZv
cm1EYXRhSW5pdChIRk9OVCBmb250LCBmbG9hdCBzaXplLCBIREMgaGRjLCBXQ0hBUioKICAgICAg
ICAgbV9pc1N5c3RlbUZvbnQgPSAhd2NzY21wKGZhY2VOYW1lLCBMIkx1Y2lkYSBHcmFuZGUiKTsK
IH0KIAotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+
IGhmb250LCBDR0ZvbnRSZWYgZm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlx
dWUsIGJvb2wgdXNlR0RJKQorRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElP
YmplY3Q8SEZPTlQ+IGhmb250LCBDVEZvbnRSZWYgY3RGb250LCBDR0ZvbnRSZWYgY2dGb250LCBm
bG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSwgYm9vbCB1c2VHREkpCiAgICAgOiBt
X3N5bnRoZXRpY0JvbGQoYm9sZCkKICAgICAsIG1fc3ludGhldGljT2JsaXF1ZShvYmxpcXVlKQog
ICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2ZvbnQoU2hhcmVkR0RJT2JqZWN0PEhGT05UPjo6
Y3JlYXRlKFdURk1vdmUoaGZvbnQpKSkKLSAgICAsIG1fY2dGb250KGZvbnQpCi0gICAgLCBtX2N0
Rm9udChhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCks
IHNpemUsIG51bGxwdHIsIG51bGxwdHIpKSkKKyAgICAsIG1fY2dGb250KGNnRm9udCkKKyAgICAs
IG1fY3RGb250KGN0Rm9udCkKICAgICAsIG1fdXNlR0RJKHVzZUdESSkKIHsKIH0KIAotRm9udFBs
YXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXpl
LCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0
aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRl
cmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCi0gICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUs
IHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlh
bnQsIHRleHRSZW5kZXJpbmdNb2RlKQotewotICAgIG1fY2dGb250ID0gY2dGb250OwotICAgIEFT
U0VSVChtX2NnRm9udCk7Ci0gICAgbV9jdEZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhH
cmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKTsKLX0K
LQogdW5zaWduZWQgRm9udFBsYXRmb3JtRGF0YTo6aGFzaCgpIGNvbnN0CiB7CiAgICAgdW5zaWdu
ZWQgZm9udEhhc2ggPSBtX2ZvbnQgPyBtX2ZvbnQtPmhhc2goKSA6IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNhaXJv
V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZv
cm1EYXRhQ2Fpcm9XaW4uY3BwCmluZGV4IGExZGI1MmVlMWM2YjRkM2ZlMTBiZTFmMWU3MmQxNTBk
NWFiYTliY2IuLjhlNzIyNWM4MmYyN2U2MDA2MzNiZTcxZTM1MzI4N2QxZTczMzhkZmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1E
YXRhQ2Fpcm9XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCkBAIC05Niw0ICs5Niw5IEBAIGJvb2wgRm9u
dFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90
aGVyKSBjb25zdAogICAgICAgICAmJiBtX3VzZUdESSA9PSBvdGhlci5tX3VzZUdESTsKIH0KIAor
UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSh1aW50
MzJfdCB0YWJsZSkgY29uc3QKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHRh
YmxlKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwCmluZGV4IGU1MzczYzdjNmVjNDg3
NTQwYzE2MWQyYWIxOWQ2ODFiZTgxOGYxYTEuLjFiNTU0NDA0ZDRiZmRhZDAzMTMyMDRlZDNkMDhj
NzliYmFkZWJmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAKQEAgLTYwLDcgKzYwLDcgQEAg
Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGZvbnQs
IGZsb2F0IHNpemUsIGJvb2wgYm9sZCwKICAgICBSZXN0b3JlREMoaGRjLCAtMSk7CiB9CiAKLVJl
ZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUodWludDMy
X3QgdGFibGUpIGNvbnN0CitSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpw
bGF0Zm9ybU9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CiB7CiAgICAgSFduZERD
IGhkYygwKTsKICAgICBIR0RJT0JKIG9sZEZvbnQgPSBTZWxlY3RPYmplY3QoaGRjLCBoZm9udCgp
KTsKQEAgLTc4LDExICs3OCw0IEBAIFJlZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURh
dGE6Om9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CiAgICAgcmV0dXJuIGJ1ZmZl
cjsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKLVN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpkZXNj
cmlwdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFN0cmluZygpOwotfQotI2VuZGlmCi0KIH0K
</data>
<flag name="commit-queue"
          id="424083"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408636</attachid>
            <date>2020-09-12 20:56:25 -0700</date>
            <delta_ts>2020-09-12 21:38:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216448-20200912205624.patch</filename>
            <type>text/plain</type>
            <size>20001</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQxOWM1NTdmM2ZkYjJk
ZmQzNGZjODU1NzlhNjNmZTI1Zjk1YTIxYS4uM2U1NmFiZGY1MDEyOGQ4OGI1NWFlMWRmOTM1ZDdm
Yzg4MTViM2NmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIwLTA5LTEyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gTWlncmF0ZSBmcm9tIEZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIHRvIEZvbnRQbGF0Zm9ybURh
dGFDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgaXMgb25lIG9mIHRoZSBzdGVwcyB0b3dhcmQgbWlncmF0aW5nIHRoZSBBcHBs
ZSBXaW4gcG9ydCBvZmYgb2YgQ0dGb250IGFuZCBvbiB0bworICAgICAgICBDVEZvbnQuIFRoaXMg
cGF0Y2ggcmVtb3ZlcyB0aGUgI2lmICFQTEFURk9STShXSU4pIGd1YXJkIGluIEZvbnRQbGF0Zm9y
bURhdGFDb3JlVGV4dC5jcHAKKyAgICAgICAgYW5kIGRlbGV0ZXMgdGhlIG9sZCBmdW5jdGlvbnMg
aXQgdXNlZCB0byBiZSB1c2luZy4gSXQgZml4ZXMgdXAgdGhlIENvcmUgVGV4dCBmdW5jdGlvbnMg
dG8KKyAgICAgICAgdXNlIGN0Rm9udCgpIGluc3RlYWQgb2YgZm9udCgpLCBiZWNhdXNlIGZvbnQo
KSByZXR1cm5zIHRoZSBIRk9OVCBvbiBXaW5kb3dzLgorCisgICAgICAgIEl0IGFsc28gYWRkcyBh
IG5ldyBoZWxwZXIsIHBsYXRmb3JtT3BlblR5cGVUYWJsZSgpLCBiZWNhdXNlIGl0IGxvb2tzIGxp
a2UKKyAgICAgICAgQ1RGb250Q29weVRhYmxlKCkgc29tZXRpbWVzIGZhaWxzLCBzbyB3ZSBjYW4g
dXNlIHRoaXMgZnVuY3Rpb24gdG8gZmFsbCBiYWNrIHRvIHVzaW5nIHRoZQorICAgICAgICBIRk9O
VCBhbmQgdGhlIHdpbjMyIEFQSSBpbnN0ZWFkLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Zm9udCBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpyZWdpc3RlcmVk
Rm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJs
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1l
IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNHV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6ZGVzY3JpcHRp
b24gY29uc3QpOiBEZWxldGVkLgorCiAyMDIwLTA5LTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgZm9ybWF0Rm9yRGVidWdnZXIoKSB3
aGljaCB1c2VzIHJhdyBjaGFyKiB3aXRoIGRlYnVnRGVzY3JpcHRpb24oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKaW5kZXggOTU4OTFlZTMyZGM4OTc4NjkyYzFjYzVlYmNiOWExMDczOTU4NDVmMy4uOTU5ZTky
MDRkNjY1OTllYWY2YmI1ZmI0OTJmOWJiNjcyZTZiNTllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMTIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxk
QGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgV2luXSBNaWdyYXRlIGZyb20gRm9udFBsYXRm
b3JtRGF0YVdpbi5jcHAgdG8gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL3dpbi9Db3Jl
VGV4dFNQSVdpbi5oOgorCiAyMDIwLTA5LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNaWdyYXRlIENvcmVUZXh0LXNwZWNpZmlj
IGNvZGUgZnJvbSAqKipDb2NvYS5tbSB0byAqKipDb3JlVGV4dC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmgKaW5kZXggOTBlZTljZjg1YTk5
ZTZlYWZlODQwMmViNzgzM2YxYzg4M2VjODY0NC4uOGY4YTY1NTI4OGRmODFiN2VjMWZkYzY1ZTQ1
MWFjMzk3YmZkYTVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2lu
L0NvcmVUZXh0U1BJV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2luL0Nv
cmVUZXh0U1BJV2luLmgKQEAgLTEyOSw2ICsxMjksNyBAQCBDR0Zsb2F0IENURm9udEdldFVuZGVy
bGluZVRoaWNrbmVzcyhDVEZvbnRSZWYpOwogQ0dGbG9hdCBDVEZvbnRHZXRTaXplKENURm9udFJl
Zik7CiBDVEZvbnRTeW1ib2xpY1RyYWl0cyBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhDVEZvbnRS
ZWYpOwogQ0ZDaGFyYWN0ZXJTZXRSZWYgQ1RGb250Q29weUNoYXJhY3RlclNldChDVEZvbnRSZWYp
OworQ0dGb250UmVmIENURm9udENvcHlHcmFwaGljc0ZvbnQoQ1RGb250UmVmLCBDVEZvbnREZXNj
cmlwdG9yUmVmKiBhdHRyaWJ1dGVzKTsKIENGU3RyaW5nUmVmIENURm9udENvcHlGYW1pbHlOYW1l
KENURm9udFJlZik7CiBDRlN0cmluZ1JlZiBDVEZvbnRDb3B5RnVsbE5hbWUoQ1RGb250UmVmKTsK
IENURm9udFJlZiBDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMoQ1RGb250UmVmLCBDR0Zs
b2F0IHNpemUsIGNvbnN0IENHQWZmaW5lVHJhbnNmb3JtKiBtYXRyaXgsIENURm9udERlc2NyaXB0
b3JSZWYgYXR0cmlidXRlcyk7CkBAIC0xNTQsNiArMTU1LDggQEAgYm9vbCBDVEZvbnRHZXRHbHlw
aHNGb3JDaGFyYWN0ZXJSYW5nZShDVEZvbnRSZWYsIENHR2x5cGhbXSwgQ0ZSYW5nZSk7CiBDRkRh
dGFSZWYgQ1RGb250Q29weVRhYmxlKENURm9udFJlZiwgQ1RGb250VGFibGVUYWcsIENURm9udFRh
YmxlT3B0aW9ucyk7CiBib29sIENURm9udEdldFZlcnRpY2FsR2x5cGhzRm9yQ2hhcmFjdGVycyhD
VEZvbnRSZWYsIGNvbnN0IFVuaUNoYXJbXSwgQ0dHbHlwaFtdLCBDRkluZGV4IGNvdW50KTsKIAor
Q1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnRNYW5hZ2VyQ3JlYXRlRm9udERlc2NyaXB0b3JGcm9t
RGF0YShDRkRhdGFSZWYpOworCiBDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JD
cmVhdGVXaXRoQXR0cmlidXRlcyhDRkRpY3Rpb25hcnlSZWYpOwogYm9vbCBDVEZvbnREZXNjcmlw
dG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVzY3JpcHRvclJlZik7CiBDVEZvbnREZXNjcmlwdG9y
UmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoTmFtZUFuZFNpemUoQ0ZTdHJpbmdSZWYsIENH
RmxvYXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFBsYXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UGxhdGZvcm1EYXRhLmNwcAppbmRleCAyNjVhM2Q3YThjYTYxNmQxMjBhNWYyMDI4MWU2MWZlZDcx
MTIzZjM4Li4wYWE1MTc1ZWUwNWE2YTQxYWRjNGMyZjMxNjAyNzk5ZGZmYTY2ZDA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcApAQCAtNzksNyArNzksNyBAQCBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6
OmNsb25lV2l0aFNpemUoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlm
CiAKLSNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQorI2lmICFVU0UoQ09SRV9U
RVhUKQogCiBTdHJpbmcgRm9udFBsYXRmb3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmgKaW5kZXggYmM3ZmNhYmE2OGVmOTRiYzRkODAwMDZhNDU4NzVhNTY1MGQ2OGNmOS4uMThmMjMx
YWVjMzAxNmRkY2ZjZWJmOWM0ZTcwNjIxZTdjNzc4N2IzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtODgsOSArODgs
OCBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgRm9udFBsYXRmb3JtRGF0YShH
RElPYmplY3Q8SEZPTlQ+LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwotI2lmIFVTRShDRykKLSAgICBGb250UGxhdGZv
cm1EYXRhKEdESU9iamVjdDxIRk9OVD4sIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50
aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKLSAgICBGb250
UGxhdGZvcm1EYXRhKENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCwg
VGV4dFJlbmRlcmluZ01vZGUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgRm9udFBsYXRmb3Jt
RGF0YShHRElPYmplY3Q8SEZPTlQ+LCBDVEZvbnRSZWYsIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwg
Ym9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsK
ICNlbmRpZgogI2lmIFVTRShESVJFQ1QyRCkKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVj
dDxIRk9OVD4mJiwgQ09NUHRyPElEV3JpdGVGb250PiYmLCBmbG9hdCBzaXplLCBib29sIHN5bnRo
ZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwpAQCAtMTE0LDE4
ICsxMTMsMjAgQEAgcHVibGljOgogI2lmIFVTRShDRykKICAgICBDR0ZvbnRSZWYgY2dGb250KCkg
Y29uc3QgeyByZXR1cm4gbV9jZ0ZvbnQuZ2V0KCk7IH0KICNlbmRpZgotI2lmIFVTRShDT1JFX1RF
WFQpCi0gICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY3RGb250LmdldCgp
OyB9CiAjZW5kaWYKLSNlbGlmIFVTRShDT1JFX1RFWFQpCi0gICAgQ1RGb250UmVmIGZvbnQoKSBj
b25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRS
ZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25zdDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9u
dCBpcyBub3QgcmVnaXN0ZXJlZCwgc3VjaCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5z
IGZvbnQoKSkuCiAKLSAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Q7CisjaWYgVVNFKENPUkVf
VEVYVCkKKyAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRSZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25z
dDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9udCBpcyBub3QgcmVnaXN0ZXJlZCwgc3Vj
aCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5zIGZvbnQoKSkuCiAgICAgc3RhdGljIFJl
dGFpblB0cjxDRlR5cGVSZWY+IG9iamVjdEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmKTsKICAg
ICBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBvYmplY3RGb3JFcXVhbGl0eUNoZWNrKCkgY29uc3Q7Ci0K
ICAgICBib29sIGhhc0N1c3RvbVRyYWNraW5nKCkgY29uc3QgeyByZXR1cm4gaXNTeXN0ZW1Gb250
KCk7IH0KKworI2lmIFBMQVRGT1JNKFdJTikKKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Qg
eyByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7IH0KKyNlbHNlCisgICAgQ1RGb250UmVmIGZvbnQoKSBj
b25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0KKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29u
c3Q7CisjZW5kaWYKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShDT0NP
QSkKQEAgLTE5NCw2ICsxOTUsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gb3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3Q7CisgICAgUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25z
dDsKIAogICAgIFN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0OwogCkBAIC0yMTQsMTAgKzIxNiw4
IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgUmVmUHRyPFNoYXJlZEdESU9i
amVjdDxIRk9OVD4+IG1fZm9udDsgLy8gRklYTUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1f
Y3RGb250IG9yIG1fZHdGb250IG9yIG1fc2NhbGVkRm9udC4KLSNpZiBVU0UoQ0cpCi0gICAgUmV0
YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZv
ciBvZiBtX2N0Rm9udC4KLSNlbmRpZgogI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRy
PENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBt
X2N0Rm9udC4KICAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBtX2N0Rm9udDsKICNlbmRpZgogI2Vs
aWYgVVNFKENPUkVfVEVYVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCBjOTdk
NTBhNTI2YTJmZDcxOGRiOWNjNjIwMTZjMzI1ZWQ4MWIzYjNkLi45MDAwZWY1MjlmYzgxOGUzMGEy
NDBiNzBhNDQ1MTRlMDFhZWY5ZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBA
IC01Niw0ICs1Niw5IEBAIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdAogICAgIHJldHVybiBDRkVxdWFsKG1f
Zm9udC5nZXQoKSwgb3RoZXIubV9mb250LmdldCgpKTsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90KSBjb25z
dAoreworICAgIHJldHVybiBudWxscHRyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250
UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29yZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAppbmRleCA0Y2I4MDFjN2Qx
NDcwMTU2MWMyYTA5YzFhN2Y0N2NjNmU4Yzg4ODcxLi5kY2M3OWFkOGNhODVmNGY3NDI4M2JiYWZm
MWQ1OTM3ZTUyNDYwN2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4
dC5jcHAKQEAgLTM1LDE1ICszNSwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAh
UExBVEZPUk0oV0lOKQotCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKENURm9u
dFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGlj
T2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdp
ZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCiAgICAgOiBG
b250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9y
aWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQogewogICAgIEFTU0VS
VF9BUkcoZm9udCwgZm9udCk7CisjaWYgUExBVEZPUk0oV0lOKQorICAgIG1fY3RGb250ID0gZm9u
dDsKKyNlbHNlCiAgICAgbV9mb250ID0gZm9udDsKKyNlbmRpZgogICAgIG1faXNDb2xvckJpdG1h
cEZvbnQgPSBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhmb250KSAmIGtDVEZvbnRDb2xvckdseXBo
c1RyYWl0OwotICAgIG1faXNTeXN0ZW1Gb250ID0gV2ViQ29yZTo6aXNTeXN0ZW1Gb250KG1fZm9u
dC5nZXQoKSk7CisgICAgbV9pc1N5c3RlbUZvbnQgPSBXZWJDb3JlOjppc1N5c3RlbUZvbnQoZm9u
dCk7CiAgICAgYXV0byB2YXJpYXRpb25zID0gYWRvcHRDRihzdGF0aWNfY2FzdDxDRkRpY3Rpb25h
cnlSZWY+KENURm9udENvcHlBdHRyaWJ1dGUoZm9udCwga0NURm9udFZhcmlhdGlvbkF0dHJpYnV0
ZSkpKTsKICAgICBtX2hhc1ZhcmlhdGlvbnMgPSB2YXJpYXRpb25zICYmIENGRGljdGlvbmFyeUdl
dENvdW50KHZhcmlhdGlvbnMuZ2V0KCkpOwogCkBAIC02Myw3ICs2NSw3IEBAIGJvb2wgaXNTeXN0
ZW1Gb250KENURm9udFJlZiBmb250KQogCiBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6cmVn
aXN0ZXJlZEZvbnQoKSBjb25zdAogewotICAgIENURm9udFJlZiBwbGF0Zm9ybUZvbnQgPSBmb250
KCk7CisgICAgQ1RGb250UmVmIHBsYXRmb3JtRm9udCA9IGN0Rm9udCgpOwogICAgIEFTU0VSVChw
bGF0Zm9ybUZvbnQpOwogICAgIGlmIChwbGF0Zm9ybUZvbnQgJiYgYWRvcHRDRihDVEZvbnRDb3B5
QXR0cmlidXRlKHBsYXRmb3JtRm9udCwga0NURm9udFVSTEF0dHJpYnV0ZSkpKQogICAgICAgICBy
ZXR1cm4gcGxhdGZvcm1Gb250OwpAQCAtMTMyLDExICsxMzQsNiBAQCBDVEZvbnRSZWYgRm9udFBs
YXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKIAogICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsK
IH0KLSNlbHNlCi1DVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZm9udCgpOwotfQogI2VuZGlmCiAKIFJldGFpblB0cjxDRlR5cGVSZWY+IEZv
bnRQbGF0Zm9ybURhdGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmIGN0Rm9udCkK
QEAgLTE1NiwxNyArMTUzLDE3IEBAIFJldGFpblB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0Zm9ybURh
dGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2soKSBjb25zdAogCiBSZWZQdHI8U2hhcmVkQnVmZmVy
PiBGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAog
ewotICAgIGlmIChSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhID0gYWRvcHRDRihDVEZvbnRDb3B5
VGFibGUoZm9udCgpLCB0YWJsZSwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSkpCisgICAg
aWYgKFJldGFpblB0cjxDRkRhdGFSZWY+IGRhdGEgPSBhZG9wdENGKENURm9udENvcHlUYWJsZShj
dEZvbnQoKSwgdGFibGUsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpKQogICAgICAgICBy
ZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YS5nZXQoKSk7CiAKLSAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICByZXR1cm4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsKIH0KIAogI2lm
ICFMT0dfRElTQUJMRUQKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkg
Y29uc3QKIHsKLSAgICBTdHJpbmcgZm9udERlc2NyaXB0aW9uIHsgYWRvcHRDRihDRkNvcHlEZXNj
cmlwdGlvbihmb250KCkpKS5nZXQoKSB9OworICAgIFN0cmluZyBmb250RGVzY3JpcHRpb24geyBh
ZG9wdENGKENGQ29weURlc2NyaXB0aW9uKGN0Rm9udCgpKSkuZ2V0KCkgfTsKICAgICByZXR1cm4g
bWFrZVN0cmluZyhmb250RGVzY3JpcHRpb24sICcgJywgbV9zaXplLAogICAgICAgICAobV9zeW50
aGV0aWNCb2xkID8gIiBzeW50aGV0aWMgYm9sZCIgOiAiIiksCiAgICAgICAgIChtX3N5bnRoZXRp
Y09ibGlxdWUgPyAiIHN5bnRoZXRpYyBvYmxpcXVlIiA6ICIiKSwKQEAgLTE3NywxMSArMTc0LDkg
QEAgU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QKIAogU3RyaW5n
IEZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5hbWUoKSBjb25zdAogewotICAgIGlmIChhdXRvIHBs
YXRmb3JtRm9udCA9IGZvbnQoKSkKKyAgICBpZiAoYXV0byBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQo
KSkKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weUZhbWlseU5hbWUocGxhdGZvcm1G
b250KSkuZ2V0KCk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAppbmRleCAxNDBlYzE2ZWIx
NWQ2ZmM5ZmRhNDBiY2I1MWJiYTBmZjBhYzMzYjM2Li44NDRlMGUxMmRiZDJmZTQxYTE1NGQ1Njlk
YTZhZDg4NGI4NDc0MmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBAIC00Miw4
ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6
fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKQogewotICAgIGlmIChtX2ZvbnRSZWZlcmVuY2UpCi0g
ICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KG1fZm9udFJlZmVyZW5jZSk7CisgICAgaWYg
KGZvbnRSZWZlcmVuY2UpCisgICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KGZvbnRSZWZl
cmVuY2UpOwogfQogCiBGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZv
bnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJv
b2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2Vs
ZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQpAQCAtNTEsMTYgKzUxLDE2IEBAIEZvbnRQbGF0
Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mCiAgICAgaW50IHNpemUgPSBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQ
aXhlbFNpemUoKTsKICAgICBGb250UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gZm9udERl
c2NyaXB0aW9uLnJlbmRlcmluZ01vZGUoKTsKIAotICAgIEFTU0VSVChtX2ZvbnRSZWZlcmVuY2Up
OworICAgIEFTU0VSVChmb250UmVmZXJlbmNlKTsKIAotICAgIGF1dG8gZmFjZU5hbWUgPSBtX25h
bWUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKTsKKyAgICBhdXRvIGZhY2VOYW1lID0g
bmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpOwogICAgIGlmIChmYWNlTmFtZS5z
aXplKCkgPiBMRl9GQUNFU0laRSkgewogICAgICAgICBmYWNlTmFtZS5yZXNpemUoTEZfRkFDRVNJ
WkUpOwogICAgICAgICBmYWNlTmFtZS5sYXN0KCkgPSAwOwogICAgIH0KIAogICAgIExPR0ZPTlQg
bG9nRm9udCB7IH07Ci0gICAgbWVtY3B5KGxvZ0ZvbnQubGZGYWNlTmFtZSwgZmFjZU5hbWUuZGF0
YSgpLCBzaXplb2YobG9nRm9udC5sZkZhY2VOYW1lWzBdKSAqIHN0ZDo6bWluPHNpemVfdD4oc3Rh
dGljX2Nhc3Q8c2l6ZV90PihMRl9GQUNFU0laRSksIDEgKyBtX25hbWUubGVuZ3RoKCkpKTsKKyAg
ICBtZW1jcHkobG9nRm9udC5sZkZhY2VOYW1lLCBmYWNlTmFtZS5kYXRhKCksIHNpemVvZihsb2dG
b250LmxmRmFjZU5hbWVbMF0pICogc3RkOjptaW48c2l6ZV90PihzdGF0aWNfY2FzdDxzaXplX3Q+
KExGX0ZBQ0VTSVpFKSwgMSArIG5hbWUubGVuZ3RoKCkpKTsKIAogICAgIGxvZ0ZvbnQubGZIZWln
aHQgPSAtc2l6ZTsKICAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBGb250UmVuZGVyaW5nTW9kZTo6
Tm9ybWFsKQpAQCAtODIsOSArODIsMTAgQEAgRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYKICAgICBs
b2dGb250LmxmV2VpZ2h0ID0gYm9sZCA/IDcwMCA6IDQwMDsKIAogICAgIGF1dG8gaGZvbnQgPSBh
ZG9wdEdESU9iamVjdCg6OkNyZWF0ZUZvbnRJbmRpcmVjdCgmbG9nRm9udCkpOwotI2lmIFVTRShD
RykKLSAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBjZ0ZvbnQgPSBhZG9wdENGKENHRm9udENyZWF0
ZVdpdGhQbGF0Zm9ybUZvbnQoJmxvZ0ZvbnQpKTsKLSAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0
YShXVEZNb3ZlKGhmb250KSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRl
cmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CisjaWYgVVNFKENPUkVf
VEVYVCkKKyAgICBhdXRvIGN0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEZvbnREZXNj
cmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBudWxscHRyKSk7CisgICAgYXV0byBj
Z0ZvbnQgPSBhZG9wdENGKENURm9udENvcHlHcmFwaGljc0ZvbnQoY3RGb250LmdldCgpLCBudWxs
cHRyKSk7CisgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoV1RGTW92ZShoZm9udCksIGN0Rm9u
dC5nZXQoKSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUg
PT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CiAjZWxzZQogICAgIGF1dG8gZm9udCA9
IERpcmVjdFdyaXRlOjpjcmVhdGVXaXRoUGxhdGZvcm1Gb250KGxvZ0ZvbnQpOwogICAgIHJldHVy
biBGb250UGxhdGZvcm1EYXRhKFdURk1vdmUoaGZvbnQpLCBXVEZNb3ZlKGZvbnQpLCBzaXplLCBi
b2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0
ZSk7CkBAIC0xMTAsNyArMTExLDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9tUGxhdGZv
cm1EYXRhPiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1ZmZlCiAgICAgZm9u
dFJlZmVyZW5jZSA9IHJlbmFtZUFuZEFjdGl2YXRlRm9udChidWZmZXIsIGZvbnROYW1lKTsKICAg
ICBpZiAoIWZvbnRSZWZlcmVuY2UpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVy
biBtYWtlVW5pcXVlPEZvbnRDdXN0b21QbGF0Zm9ybURhdGE+KGZvbnRSZWZlcmVuY2UsIGZvbnRO
YW1lKTsKKyAgICBhdXRvIHJlc3VsdCA9IG1ha2VVbmlxdWU8Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YT4oZm9udFJlZmVyZW5jZSwgZm9udE5hbWUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgYXV0
byBidWZmZXJEYXRhID0gYnVmZmVyLmNyZWF0ZUNGRGF0YSgpOworICAgIHJlc3VsdC0+Zm9udERl
c2NyaXB0b3IgPSBhZG9wdENGKENURm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRvckZyb21E
YXRhKGJ1ZmZlckRhdGEuZ2V0KCkpKTsKKyNlbmRpZgorICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
IGJvb2wgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6c3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5n
JiBmb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYjJmZjJiNzQ3YzliOWM5
MWMwNmNlYTViMGE5NjYxYTMwNTJiYjY1Li4wMTE1M2MzYWNjMzc1OTEyNjM3NGE1ODIzY2M2NzBi
NmQ1YzQ2Njc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI3LDYgKzI3LDEwIEBA
CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKKyNpZiBVU0UoQ09SRV9URVhUKQorI2luY2x1ZGUgPHBhbC9zcGkvd2luL0NvcmVU
ZXh0U1BJV2luLmg+CisjZW5kaWYKKwogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ5LDggQEAgc3RydWN0IEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEpOwogcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZv
bnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKLSAgICAgICAgOiBtX2ZvbnRSZWZlcmVu
Y2UoZm9udFJlZmVyZW5jZSkKLSAgICAgICAgLCBtX25hbWUobmFtZSkKKyAgICAgICAgOiBmb250
UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCisgICAgICAgICwgbmFtZShuYW1lKQogICAgIHsKICAg
ICB9CiAKQEAgLTU2LDggKzYwLDExIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29sIHN1cHBv
cnRzRm9ybWF0KGNvbnN0IFN0cmluZyYpOwogCi0gICAgSEFORExFIG1fZm9udFJlZmVyZW5jZTsK
LSAgICBTdHJpbmcgbV9uYW1lOworICAgIEhBTkRMRSBmb250UmVmZXJlbmNlOworICAgIFN0cmlu
ZyBuYW1lOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRyPENURm9udERlc2NyaXB0
b3JSZWY+IGZvbnREZXNjcmlwdG9yOworI2VuZGlmCiB9OwogCiBzdGQ6OnVuaXF1ZV9wdHI8Rm9u
dEN1c3RvbVBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YShTaGFyZWRC
dWZmZXImLCBjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKaW5kZXgg
MzBhNDRkZDE0YzFiNmZmZmQ2Y2JjZTc0NzI1OTg5NTRkOTIwNzhlMi4uMGJkNzA3ZjFjNTVmMmY2
NGJhMzI2MTczOTdjZmIxYTI3MTMzODE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAK
QEAgLTEyMCwyNSArMTIwLDE3IEBAIHZvaWQgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRh
SW5pdChIRk9OVCBmb250LCBmbG9hdCBzaXplLCBIREMgaGRjLCBXQ0hBUioKICAgICAgICAgbV9p
c1N5c3RlbUZvbnQgPSAhd2NzY21wKGZhY2VOYW1lLCBMIkx1Y2lkYSBHcmFuZGUiKTsKIH0KIAot
Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGhmb250
LCBDR0ZvbnRSZWYgZm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUsIGJv
b2wgdXNlR0RJKQorRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8
SEZPTlQ+IGhmb250LCBDVEZvbnRSZWYgY3RGb250LCBDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBz
aXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSwgYm9vbCB1c2VHREkpCiAgICAgOiBtX3N5bnRo
ZXRpY0JvbGQoYm9sZCkKICAgICAsIG1fc3ludGhldGljT2JsaXF1ZShvYmxpcXVlKQogICAgICwg
bV9zaXplKHNpemUpCiAgICAgLCBtX2ZvbnQoU2hhcmVkR0RJT2JqZWN0PEhGT05UPjo6Y3JlYXRl
KFdURk1vdmUoaGZvbnQpKSkKLSAgICAsIG1fY2dGb250KGZvbnQpCi0gICAgLCBtX2N0Rm9udChh
ZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUs
IG51bGxwdHIsIG51bGxwdHIpKSkKKyAgICAsIG1fY2dGb250KGNnRm9udCkKKyAgICAsIG1fY3RG
b250KGN0Rm9udCkKICAgICAsIG1fdXNlR0RJKHVzZUdESSkKIHsKIH0KIAotRm9udFBsYXRmb3Jt
RGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29s
IHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9y
aWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01v
ZGUgdGV4dFJlbmRlcmluZ01vZGUpCi0gICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRo
ZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRl
eHRSZW5kZXJpbmdNb2RlKQotewotICAgIG1fY2dGb250ID0gY2dGb250OwotICAgIEFTU0VSVCht
X2NnRm9udCk7Ci0gICAgbV9jdEZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGlj
c0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKTsKLX0KLQogdW5z
aWduZWQgRm9udFBsYXRmb3JtRGF0YTo6aGFzaCgpIGNvbnN0CiB7CiAgICAgdW5zaWduZWQgZm9u
dEhhc2ggPSBtX2ZvbnQgPyBtX2ZvbnQtPmhhc2goKSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNhaXJvV2luLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRh
Q2Fpcm9XaW4uY3BwCmluZGV4IGExZGI1MmVlMWM2YjRkM2ZlMTBiZTFmMWU3MmQxNTBkNWFiYTli
Y2IuLjhlNzIyNWM4MmYyN2U2MDA2MzNiZTcxZTM1MzI4N2QxZTczMzhkZmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fp
cm9XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCkBAIC05Niw0ICs5Niw5IEBAIGJvb2wgRm9udFBsYXRm
b3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBj
b25zdAogICAgICAgICAmJiBtX3VzZUdESSA9PSBvdGhlci5tX3VzZUdESTsKIH0KIAorUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0
YWJsZSkgY29uc3QKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsK
K30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwCmluZGV4IGU1MzczYzdjNmVjNDg3NTQwYzE2
MWQyYWIxOWQ2ODFiZTgxOGYxYTEuLjFiNTU0NDA0ZDRiZmRhZDAzMTMyMDRlZDNkMDhjNzliYmFk
ZWJmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250UGxhdGZvcm1EYXRhV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgRm9udFBs
YXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGZvbnQsIGZsb2F0
IHNpemUsIGJvb2wgYm9sZCwKICAgICBSZXN0b3JlREMoaGRjLCAtMSk7CiB9CiAKLVJlZlB0cjxT
aGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUodWludDMyX3QgdGFi
bGUpIGNvbnN0CitSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9y
bU9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CiB7CiAgICAgSFduZERDIGhkYygw
KTsKICAgICBIR0RJT0JKIG9sZEZvbnQgPSBTZWxlY3RPYmplY3QoaGRjLCBoZm9udCgpKTsKQEAg
LTc4LDExICs3OCw0IEBAIFJlZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9w
ZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CiAgICAgcmV0dXJuIGJ1ZmZlcjsKIH0K
IAotI2lmICFMT0dfRElTQUJMRUQKLVN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlv
bigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFN0cmluZygpOwotfQotI2VuZGlmCi0KIH0K
</data>
<flag name="commit-queue"
          id="424084"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408637</attachid>
            <date>2020-09-12 21:02:09 -0700</date>
            <delta_ts>2020-09-12 21:44:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216448-20200912210208.patch</filename>
            <type>text/plain</type>
            <size>20343</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQxOWM1NTdmM2ZkYjJk
ZmQzNGZjODU1NzlhNjNmZTI1Zjk1YTIxYS4uM2U1NmFiZGY1MDEyOGQ4OGI1NWFlMWRmOTM1ZDdm
Yzg4MTViM2NmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIwLTA5LTEyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gTWlncmF0ZSBmcm9tIEZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIHRvIEZvbnRQbGF0Zm9ybURh
dGFDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgaXMgb25lIG9mIHRoZSBzdGVwcyB0b3dhcmQgbWlncmF0aW5nIHRoZSBBcHBs
ZSBXaW4gcG9ydCBvZmYgb2YgQ0dGb250IGFuZCBvbiB0bworICAgICAgICBDVEZvbnQuIFRoaXMg
cGF0Y2ggcmVtb3ZlcyB0aGUgI2lmICFQTEFURk9STShXSU4pIGd1YXJkIGluIEZvbnRQbGF0Zm9y
bURhdGFDb3JlVGV4dC5jcHAKKyAgICAgICAgYW5kIGRlbGV0ZXMgdGhlIG9sZCBmdW5jdGlvbnMg
aXQgdXNlZCB0byBiZSB1c2luZy4gSXQgZml4ZXMgdXAgdGhlIENvcmUgVGV4dCBmdW5jdGlvbnMg
dG8KKyAgICAgICAgdXNlIGN0Rm9udCgpIGluc3RlYWQgb2YgZm9udCgpLCBiZWNhdXNlIGZvbnQo
KSByZXR1cm5zIHRoZSBIRk9OVCBvbiBXaW5kb3dzLgorCisgICAgICAgIEl0IGFsc28gYWRkcyBh
IG5ldyBoZWxwZXIsIHBsYXRmb3JtT3BlblR5cGVUYWJsZSgpLCBiZWNhdXNlIGl0IGxvb2tzIGxp
a2UKKyAgICAgICAgQ1RGb250Q29weVRhYmxlKCkgc29tZXRpbWVzIGZhaWxzLCBzbyB3ZSBjYW4g
dXNlIHRoaXMgZnVuY3Rpb24gdG8gZmFsbCBiYWNrIHRvIHVzaW5nIHRoZQorICAgICAgICBIRk9O
VCBhbmQgdGhlIHdpbjMyIEFQSSBpbnN0ZWFkLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Zm9udCBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpyZWdpc3RlcmVk
Rm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJs
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1l
IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNHV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6ZGVzY3JpcHRp
b24gY29uc3QpOiBEZWxldGVkLgorCiAyMDIwLTA5LTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgZm9ybWF0Rm9yRGVidWdnZXIoKSB3
aGljaCB1c2VzIHJhdyBjaGFyKiB3aXRoIGRlYnVnRGVzY3JpcHRpb24oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKaW5kZXggOTU4OTFlZTMyZGM4OTc4NjkyYzFjYzVlYmNiOWExMDczOTU4NDVmMy4uOTU5ZTky
MDRkNjY1OTllYWY2YmI1ZmI0OTJmOWJiNjcyZTZiNTllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMTIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxk
QGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgV2luXSBNaWdyYXRlIGZyb20gRm9udFBsYXRm
b3JtRGF0YVdpbi5jcHAgdG8gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL3dpbi9Db3Jl
VGV4dFNQSVdpbi5oOgorCiAyMDIwLTA5LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNaWdyYXRlIENvcmVUZXh0LXNwZWNpZmlj
IGNvZGUgZnJvbSAqKipDb2NvYS5tbSB0byAqKipDb3JlVGV4dC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmgKaW5kZXggOTBlZTljZjg1YTk5
ZTZlYWZlODQwMmViNzgzM2YxYzg4M2VjODY0NC4uOGY4YTY1NTI4OGRmODFiN2VjMWZkYzY1ZTQ1
MWFjMzk3YmZkYTVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2lu
L0NvcmVUZXh0U1BJV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2luL0Nv
cmVUZXh0U1BJV2luLmgKQEAgLTEyOSw2ICsxMjksNyBAQCBDR0Zsb2F0IENURm9udEdldFVuZGVy
bGluZVRoaWNrbmVzcyhDVEZvbnRSZWYpOwogQ0dGbG9hdCBDVEZvbnRHZXRTaXplKENURm9udFJl
Zik7CiBDVEZvbnRTeW1ib2xpY1RyYWl0cyBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhDVEZvbnRS
ZWYpOwogQ0ZDaGFyYWN0ZXJTZXRSZWYgQ1RGb250Q29weUNoYXJhY3RlclNldChDVEZvbnRSZWYp
OworQ0dGb250UmVmIENURm9udENvcHlHcmFwaGljc0ZvbnQoQ1RGb250UmVmLCBDVEZvbnREZXNj
cmlwdG9yUmVmKiBhdHRyaWJ1dGVzKTsKIENGU3RyaW5nUmVmIENURm9udENvcHlGYW1pbHlOYW1l
KENURm9udFJlZik7CiBDRlN0cmluZ1JlZiBDVEZvbnRDb3B5RnVsbE5hbWUoQ1RGb250UmVmKTsK
IENURm9udFJlZiBDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMoQ1RGb250UmVmLCBDR0Zs
b2F0IHNpemUsIGNvbnN0IENHQWZmaW5lVHJhbnNmb3JtKiBtYXRyaXgsIENURm9udERlc2NyaXB0
b3JSZWYgYXR0cmlidXRlcyk7CkBAIC0xNTQsNiArMTU1LDggQEAgYm9vbCBDVEZvbnRHZXRHbHlw
aHNGb3JDaGFyYWN0ZXJSYW5nZShDVEZvbnRSZWYsIENHR2x5cGhbXSwgQ0ZSYW5nZSk7CiBDRkRh
dGFSZWYgQ1RGb250Q29weVRhYmxlKENURm9udFJlZiwgQ1RGb250VGFibGVUYWcsIENURm9udFRh
YmxlT3B0aW9ucyk7CiBib29sIENURm9udEdldFZlcnRpY2FsR2x5cGhzRm9yQ2hhcmFjdGVycyhD
VEZvbnRSZWYsIGNvbnN0IFVuaUNoYXJbXSwgQ0dHbHlwaFtdLCBDRkluZGV4IGNvdW50KTsKIAor
Q1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnRNYW5hZ2VyQ3JlYXRlRm9udERlc2NyaXB0b3JGcm9t
RGF0YShDRkRhdGFSZWYpOworCiBDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JD
cmVhdGVXaXRoQXR0cmlidXRlcyhDRkRpY3Rpb25hcnlSZWYpOwogYm9vbCBDVEZvbnREZXNjcmlw
dG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVzY3JpcHRvclJlZik7CiBDVEZvbnREZXNjcmlwdG9y
UmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoTmFtZUFuZFNpemUoQ0ZTdHJpbmdSZWYsIENH
RmxvYXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFBsYXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UGxhdGZvcm1EYXRhLmNwcAppbmRleCAyNjVhM2Q3YThjYTYxNmQxMjBhNWYyMDI4MWU2MWZlZDcx
MTIzZjM4Li4wYWE1MTc1ZWUwNWE2YTQxYWRjNGMyZjMxNjAyNzk5ZGZmYTY2ZDA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcApAQCAtNzksNyArNzksNyBAQCBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6
OmNsb25lV2l0aFNpemUoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlm
CiAKLSNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQorI2lmICFVU0UoQ09SRV9U
RVhUKQogCiBTdHJpbmcgRm9udFBsYXRmb3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmgKaW5kZXggYmM3ZmNhYmE2OGVmOTRiYzRkODAwMDZhNDU4NzVhNTY1MGQ2OGNmOS4uMThmMjMx
YWVjMzAxNmRkY2ZjZWJmOWM0ZTcwNjIxZTdjNzc4N2IzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtODgsOSArODgs
OCBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgRm9udFBsYXRmb3JtRGF0YShH
RElPYmplY3Q8SEZPTlQ+LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwotI2lmIFVTRShDRykKLSAgICBGb250UGxhdGZv
cm1EYXRhKEdESU9iamVjdDxIRk9OVD4sIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50
aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKLSAgICBGb250
UGxhdGZvcm1EYXRhKENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCwg
VGV4dFJlbmRlcmluZ01vZGUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgRm9udFBsYXRmb3Jt
RGF0YShHRElPYmplY3Q8SEZPTlQ+LCBDVEZvbnRSZWYsIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwg
Ym9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsK
ICNlbmRpZgogI2lmIFVTRShESVJFQ1QyRCkKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVj
dDxIRk9OVD4mJiwgQ09NUHRyPElEV3JpdGVGb250PiYmLCBmbG9hdCBzaXplLCBib29sIHN5bnRo
ZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwpAQCAtMTE0LDE4
ICsxMTMsMjAgQEAgcHVibGljOgogI2lmIFVTRShDRykKICAgICBDR0ZvbnRSZWYgY2dGb250KCkg
Y29uc3QgeyByZXR1cm4gbV9jZ0ZvbnQuZ2V0KCk7IH0KICNlbmRpZgotI2lmIFVTRShDT1JFX1RF
WFQpCi0gICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY3RGb250LmdldCgp
OyB9CiAjZW5kaWYKLSNlbGlmIFVTRShDT1JFX1RFWFQpCi0gICAgQ1RGb250UmVmIGZvbnQoKSBj
b25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRS
ZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25zdDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9u
dCBpcyBub3QgcmVnaXN0ZXJlZCwgc3VjaCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5z
IGZvbnQoKSkuCiAKLSAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Q7CisjaWYgVVNFKENPUkVf
VEVYVCkKKyAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRSZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25z
dDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9udCBpcyBub3QgcmVnaXN0ZXJlZCwgc3Vj
aCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5zIGZvbnQoKSkuCiAgICAgc3RhdGljIFJl
dGFpblB0cjxDRlR5cGVSZWY+IG9iamVjdEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmKTsKICAg
ICBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBvYmplY3RGb3JFcXVhbGl0eUNoZWNrKCkgY29uc3Q7Ci0K
ICAgICBib29sIGhhc0N1c3RvbVRyYWNraW5nKCkgY29uc3QgeyByZXR1cm4gaXNTeXN0ZW1Gb250
KCk7IH0KKworI2lmIFBMQVRGT1JNKFdJTikKKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Qg
eyByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7IH0KKyNlbHNlCisgICAgQ1RGb250UmVmIGZvbnQoKSBj
b25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0KKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29u
c3Q7CisjZW5kaWYKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShDT0NP
QSkKQEAgLTE5NCw2ICsxOTUsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gb3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3Q7CisgICAgUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25z
dDsKIAogICAgIFN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0OwogCkBAIC0yMTQsMTAgKzIxNiw4
IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgUmVmUHRyPFNoYXJlZEdESU9i
amVjdDxIRk9OVD4+IG1fZm9udDsgLy8gRklYTUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1f
Y3RGb250IG9yIG1fZHdGb250IG9yIG1fc2NhbGVkRm9udC4KLSNpZiBVU0UoQ0cpCi0gICAgUmV0
YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZv
ciBvZiBtX2N0Rm9udC4KLSNlbmRpZgogI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRy
PENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBt
X2N0Rm9udC4KICAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBtX2N0Rm9udDsKICNlbmRpZgogI2Vs
aWYgVVNFKENPUkVfVEVYVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCBjOTdk
NTBhNTI2YTJmZDcxOGRiOWNjNjIwMTZjMzI1ZWQ4MWIzYjNkLi45MDAwZWY1MjlmYzgxOGUzMGEy
NDBiNzBhNDQ1MTRlMDFhZWY5ZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBA
IC01Niw0ICs1Niw5IEBAIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdAogICAgIHJldHVybiBDRkVxdWFsKG1f
Zm9udC5nZXQoKSwgb3RoZXIubV9mb250LmdldCgpKTsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90KSBjb25z
dAoreworICAgIHJldHVybiBudWxscHRyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250
UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29yZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAppbmRleCA0Y2I4MDFjN2Qx
NDcwMTU2MWMyYTA5YzFhN2Y0N2NjNmU4Yzg4ODcxLi5kY2M3OWFkOGNhODVmNGY3NDI4M2JiYWZm
MWQ1OTM3ZTUyNDYwN2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4
dC5jcHAKQEAgLTM1LDE1ICszNSwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAh
UExBVEZPUk0oV0lOKQotCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKENURm9u
dFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGlj
T2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdp
ZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCiAgICAgOiBG
b250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9y
aWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQogewogICAgIEFTU0VS
VF9BUkcoZm9udCwgZm9udCk7CisjaWYgUExBVEZPUk0oV0lOKQorICAgIG1fY3RGb250ID0gZm9u
dDsKKyNlbHNlCiAgICAgbV9mb250ID0gZm9udDsKKyNlbmRpZgogICAgIG1faXNDb2xvckJpdG1h
cEZvbnQgPSBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhmb250KSAmIGtDVEZvbnRDb2xvckdseXBo
c1RyYWl0OwotICAgIG1faXNTeXN0ZW1Gb250ID0gV2ViQ29yZTo6aXNTeXN0ZW1Gb250KG1fZm9u
dC5nZXQoKSk7CisgICAgbV9pc1N5c3RlbUZvbnQgPSBXZWJDb3JlOjppc1N5c3RlbUZvbnQoZm9u
dCk7CiAgICAgYXV0byB2YXJpYXRpb25zID0gYWRvcHRDRihzdGF0aWNfY2FzdDxDRkRpY3Rpb25h
cnlSZWY+KENURm9udENvcHlBdHRyaWJ1dGUoZm9udCwga0NURm9udFZhcmlhdGlvbkF0dHJpYnV0
ZSkpKTsKICAgICBtX2hhc1ZhcmlhdGlvbnMgPSB2YXJpYXRpb25zICYmIENGRGljdGlvbmFyeUdl
dENvdW50KHZhcmlhdGlvbnMuZ2V0KCkpOwogCkBAIC02Myw3ICs2NSw3IEBAIGJvb2wgaXNTeXN0
ZW1Gb250KENURm9udFJlZiBmb250KQogCiBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6cmVn
aXN0ZXJlZEZvbnQoKSBjb25zdAogewotICAgIENURm9udFJlZiBwbGF0Zm9ybUZvbnQgPSBmb250
KCk7CisgICAgQ1RGb250UmVmIHBsYXRmb3JtRm9udCA9IGN0Rm9udCgpOwogICAgIEFTU0VSVChw
bGF0Zm9ybUZvbnQpOwogICAgIGlmIChwbGF0Zm9ybUZvbnQgJiYgYWRvcHRDRihDVEZvbnRDb3B5
QXR0cmlidXRlKHBsYXRmb3JtRm9udCwga0NURm9udFVSTEF0dHJpYnV0ZSkpKQogICAgICAgICBy
ZXR1cm4gcGxhdGZvcm1Gb250OwpAQCAtMTMyLDExICsxMzQsNiBAQCBDVEZvbnRSZWYgRm9udFBs
YXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKIAogICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsK
IH0KLSNlbHNlCi1DVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZm9udCgpOwotfQogI2VuZGlmCiAKIFJldGFpblB0cjxDRlR5cGVSZWY+IEZv
bnRQbGF0Zm9ybURhdGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmIGN0Rm9udCkK
QEAgLTE1NiwxNyArMTUzLDE3IEBAIFJldGFpblB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0Zm9ybURh
dGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2soKSBjb25zdAogCiBSZWZQdHI8U2hhcmVkQnVmZmVy
PiBGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAog
ewotICAgIGlmIChSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhID0gYWRvcHRDRihDVEZvbnRDb3B5
VGFibGUoZm9udCgpLCB0YWJsZSwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSkpCisgICAg
aWYgKFJldGFpblB0cjxDRkRhdGFSZWY+IGRhdGEgPSBhZG9wdENGKENURm9udENvcHlUYWJsZShj
dEZvbnQoKSwgdGFibGUsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpKQogICAgICAgICBy
ZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YS5nZXQoKSk7CiAKLSAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICByZXR1cm4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsKIH0KIAogI2lm
ICFMT0dfRElTQUJMRUQKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkg
Y29uc3QKIHsKLSAgICBTdHJpbmcgZm9udERlc2NyaXB0aW9uIHsgYWRvcHRDRihDRkNvcHlEZXNj
cmlwdGlvbihmb250KCkpKS5nZXQoKSB9OworICAgIFN0cmluZyBmb250RGVzY3JpcHRpb24geyBh
ZG9wdENGKENGQ29weURlc2NyaXB0aW9uKGN0Rm9udCgpKSkuZ2V0KCkgfTsKICAgICByZXR1cm4g
bWFrZVN0cmluZyhmb250RGVzY3JpcHRpb24sICcgJywgbV9zaXplLAogICAgICAgICAobV9zeW50
aGV0aWNCb2xkID8gIiBzeW50aGV0aWMgYm9sZCIgOiAiIiksCiAgICAgICAgIChtX3N5bnRoZXRp
Y09ibGlxdWUgPyAiIHN5bnRoZXRpYyBvYmxpcXVlIiA6ICIiKSwKQEAgLTE3NywxMSArMTc0LDkg
QEAgU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QKIAogU3RyaW5n
IEZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5hbWUoKSBjb25zdAogewotICAgIGlmIChhdXRvIHBs
YXRmb3JtRm9udCA9IGZvbnQoKSkKKyAgICBpZiAoYXV0byBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQo
KSkKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weUZhbWlseU5hbWUocGxhdGZvcm1G
b250KSkuZ2V0KCk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAppbmRleCAxNDBlYzE2ZWIx
NWQ2ZmM5ZmRhNDBiY2I1MWJiYTBmZjBhYzMzYjM2Li44NDRlMGUxMmRiZDJmZTQxYTE1NGQ1Njlk
YTZhZDg4NGI4NDc0MmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBAIC00Miw4
ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6
fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKQogewotICAgIGlmIChtX2ZvbnRSZWZlcmVuY2UpCi0g
ICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KG1fZm9udFJlZmVyZW5jZSk7CisgICAgaWYg
KGZvbnRSZWZlcmVuY2UpCisgICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KGZvbnRSZWZl
cmVuY2UpOwogfQogCiBGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZv
bnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJv
b2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2Vs
ZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQpAQCAtNTEsMTYgKzUxLDE2IEBAIEZvbnRQbGF0
Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mCiAgICAgaW50IHNpemUgPSBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQ
aXhlbFNpemUoKTsKICAgICBGb250UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gZm9udERl
c2NyaXB0aW9uLnJlbmRlcmluZ01vZGUoKTsKIAotICAgIEFTU0VSVChtX2ZvbnRSZWZlcmVuY2Up
OworICAgIEFTU0VSVChmb250UmVmZXJlbmNlKTsKIAotICAgIGF1dG8gZmFjZU5hbWUgPSBtX25h
bWUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKTsKKyAgICBhdXRvIGZhY2VOYW1lID0g
bmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpOwogICAgIGlmIChmYWNlTmFtZS5z
aXplKCkgPiBMRl9GQUNFU0laRSkgewogICAgICAgICBmYWNlTmFtZS5yZXNpemUoTEZfRkFDRVNJ
WkUpOwogICAgICAgICBmYWNlTmFtZS5sYXN0KCkgPSAwOwogICAgIH0KIAogICAgIExPR0ZPTlQg
bG9nRm9udCB7IH07Ci0gICAgbWVtY3B5KGxvZ0ZvbnQubGZGYWNlTmFtZSwgZmFjZU5hbWUuZGF0
YSgpLCBzaXplb2YobG9nRm9udC5sZkZhY2VOYW1lWzBdKSAqIHN0ZDo6bWluPHNpemVfdD4oc3Rh
dGljX2Nhc3Q8c2l6ZV90PihMRl9GQUNFU0laRSksIDEgKyBtX25hbWUubGVuZ3RoKCkpKTsKKyAg
ICBtZW1jcHkobG9nRm9udC5sZkZhY2VOYW1lLCBmYWNlTmFtZS5kYXRhKCksIHNpemVvZihsb2dG
b250LmxmRmFjZU5hbWVbMF0pICogc3RkOjptaW48c2l6ZV90PihzdGF0aWNfY2FzdDxzaXplX3Q+
KExGX0ZBQ0VTSVpFKSwgMSArIG5hbWUubGVuZ3RoKCkpKTsKIAogICAgIGxvZ0ZvbnQubGZIZWln
aHQgPSAtc2l6ZTsKICAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBGb250UmVuZGVyaW5nTW9kZTo6
Tm9ybWFsKQpAQCAtODIsOSArODIsMTAgQEAgRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYKICAgICBs
b2dGb250LmxmV2VpZ2h0ID0gYm9sZCA/IDcwMCA6IDQwMDsKIAogICAgIGF1dG8gaGZvbnQgPSBh
ZG9wdEdESU9iamVjdCg6OkNyZWF0ZUZvbnRJbmRpcmVjdCgmbG9nRm9udCkpOwotI2lmIFVTRShD
RykKLSAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBjZ0ZvbnQgPSBhZG9wdENGKENHRm9udENyZWF0
ZVdpdGhQbGF0Zm9ybUZvbnQoJmxvZ0ZvbnQpKTsKLSAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0
YShXVEZNb3ZlKGhmb250KSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRl
cmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CisjaWYgVVNFKENPUkVf
VEVYVCkKKyAgICBhdXRvIGN0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEZvbnREZXNj
cmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBudWxscHRyKSk7CisgICAgYXV0byBj
Z0ZvbnQgPSBhZG9wdENGKENURm9udENvcHlHcmFwaGljc0ZvbnQoY3RGb250LmdldCgpLCBudWxs
cHRyKSk7CisgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoV1RGTW92ZShoZm9udCksIGN0Rm9u
dC5nZXQoKSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUg
PT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CiAjZWxzZQogICAgIGF1dG8gZm9udCA9
IERpcmVjdFdyaXRlOjpjcmVhdGVXaXRoUGxhdGZvcm1Gb250KGxvZ0ZvbnQpOwogICAgIHJldHVy
biBGb250UGxhdGZvcm1EYXRhKFdURk1vdmUoaGZvbnQpLCBXVEZNb3ZlKGZvbnQpLCBzaXplLCBi
b2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0
ZSk7CkBAIC0xMTAsNyArMTExLDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9tUGxhdGZv
cm1EYXRhPiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1ZmZlCiAgICAgZm9u
dFJlZmVyZW5jZSA9IHJlbmFtZUFuZEFjdGl2YXRlRm9udChidWZmZXIsIGZvbnROYW1lKTsKICAg
ICBpZiAoIWZvbnRSZWZlcmVuY2UpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVy
biBtYWtlVW5pcXVlPEZvbnRDdXN0b21QbGF0Zm9ybURhdGE+KGZvbnRSZWZlcmVuY2UsIGZvbnRO
YW1lKTsKKyAgICBhdXRvIHJlc3VsdCA9IG1ha2VVbmlxdWU8Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YT4oZm9udFJlZmVyZW5jZSwgZm9udE5hbWUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgYXV0
byBidWZmZXJEYXRhID0gYnVmZmVyLmNyZWF0ZUNGRGF0YSgpOworICAgIHJlc3VsdC0+Zm9udERl
c2NyaXB0b3IgPSBhZG9wdENGKENURm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRvckZyb21E
YXRhKGJ1ZmZlckRhdGEuZ2V0KCkpKTsKKyNlbmRpZgorICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
IGJvb2wgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6c3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5n
JiBmb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYjJmZjJiNzQ3YzliOWM5
MWMwNmNlYTViMGE5NjYxYTMwNTJiYjY1Li4wMTE1M2MzYWNjMzc1OTEyNjM3NGE1ODIzY2M2NzBi
NmQ1YzQ2Njc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI3LDYgKzI3LDEwIEBA
CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKKyNpZiBVU0UoQ09SRV9URVhUKQorI2luY2x1ZGUgPHBhbC9zcGkvd2luL0NvcmVU
ZXh0U1BJV2luLmg+CisjZW5kaWYKKwogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ5LDggQEAgc3RydWN0IEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEpOwogcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZv
bnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKLSAgICAgICAgOiBtX2ZvbnRSZWZlcmVu
Y2UoZm9udFJlZmVyZW5jZSkKLSAgICAgICAgLCBtX25hbWUobmFtZSkKKyAgICAgICAgOiBmb250
UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCisgICAgICAgICwgbmFtZShuYW1lKQogICAgIHsKICAg
ICB9CiAKQEAgLTU2LDggKzYwLDExIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29sIHN1cHBv
cnRzRm9ybWF0KGNvbnN0IFN0cmluZyYpOwogCi0gICAgSEFORExFIG1fZm9udFJlZmVyZW5jZTsK
LSAgICBTdHJpbmcgbV9uYW1lOworICAgIEhBTkRMRSBmb250UmVmZXJlbmNlOworICAgIFN0cmlu
ZyBuYW1lOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRyPENURm9udERlc2NyaXB0
b3JSZWY+IGZvbnREZXNjcmlwdG9yOworI2VuZGlmCiB9OwogCiBzdGQ6OnVuaXF1ZV9wdHI8Rm9u
dEN1c3RvbVBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YShTaGFyZWRC
dWZmZXImLCBjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKaW5kZXgg
MzBhNDRkZDE0YzFiNmZmZmQ2Y2JjZTc0NzI1OTg5NTRkOTIwNzhlMi4uMGJkNzA3ZjFjNTVmMmY2
NGJhMzI2MTczOTdjZmIxYTI3MTMzODE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAK
QEAgLTEyMCwyNSArMTIwLDE3IEBAIHZvaWQgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRh
SW5pdChIRk9OVCBmb250LCBmbG9hdCBzaXplLCBIREMgaGRjLCBXQ0hBUioKICAgICAgICAgbV9p
c1N5c3RlbUZvbnQgPSAhd2NzY21wKGZhY2VOYW1lLCBMIkx1Y2lkYSBHcmFuZGUiKTsKIH0KIAot
Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGhmb250
LCBDR0ZvbnRSZWYgZm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUsIGJv
b2wgdXNlR0RJKQorRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8
SEZPTlQ+IGhmb250LCBDVEZvbnRSZWYgY3RGb250LCBDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBz
aXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSwgYm9vbCB1c2VHREkpCiAgICAgOiBtX3N5bnRo
ZXRpY0JvbGQoYm9sZCkKICAgICAsIG1fc3ludGhldGljT2JsaXF1ZShvYmxpcXVlKQogICAgICwg
bV9zaXplKHNpemUpCiAgICAgLCBtX2ZvbnQoU2hhcmVkR0RJT2JqZWN0PEhGT05UPjo6Y3JlYXRl
KFdURk1vdmUoaGZvbnQpKSkKLSAgICAsIG1fY2dGb250KGZvbnQpCi0gICAgLCBtX2N0Rm9udChh
ZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUs
IG51bGxwdHIsIG51bGxwdHIpKSkKKyAgICAsIG1fY2dGb250KGNnRm9udCkKKyAgICAsIG1fY3RG
b250KGN0Rm9udCkKICAgICAsIG1fdXNlR0RJKHVzZUdESSkKIHsKIH0KIAotRm9udFBsYXRmb3Jt
RGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29s
IHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9y
aWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01v
ZGUgdGV4dFJlbmRlcmluZ01vZGUpCi0gICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRo
ZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRl
eHRSZW5kZXJpbmdNb2RlKQotewotICAgIG1fY2dGb250ID0gY2dGb250OwotICAgIEFTU0VSVCht
X2NnRm9udCk7Ci0gICAgbV9jdEZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGlj
c0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKTsKLX0KLQogdW5z
aWduZWQgRm9udFBsYXRmb3JtRGF0YTo6aGFzaCgpIGNvbnN0CiB7CiAgICAgdW5zaWduZWQgZm9u
dEhhc2ggPSBtX2ZvbnQgPyBtX2ZvbnQtPmhhc2goKSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNhaXJvV2luLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRh
Q2Fpcm9XaW4uY3BwCmluZGV4IGExZGI1MmVlMWM2YjRkM2ZlMTBiZTFmMWU3MmQxNTBkNWFiYTli
Y2IuLjM4MmJmYTg2YzczOGQyYzk0Mzc5YTc1MTFmMDdjOWM0ZmFhNTAxNmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fp
cm9XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YS5oIgogCisjaW5jbHVkZSAiU2hhcmVk
QnVmZmVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtMzQsNyArMzUsNiBAQAogCiAjaW5j
bHVkZSA8Y2Fpcm8td2luMzIuaD4KIAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgRm9u
dFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhSW5pdChIRk9OVCBmb250LCBmbG9hdCBzaXplLCBI
REMgaGRjLCBXQ0hBUiogZmFjZU5hbWUpCkBAIC05Niw0ICs5Niw5IEBAIGJvb2wgRm9udFBsYXRm
b3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBj
b25zdAogICAgICAgICAmJiBtX3VzZUdESSA9PSBvdGhlci5tX3VzZUdESTsKIH0KIAorUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0
YWJsZSkgY29uc3QKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsK
K30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwCmluZGV4IGU1MzczYzdjNmVjNDg3NTQwYzE2
MWQyYWIxOWQ2ODFiZTgxOGYxYTEuLjFiNTU0NDA0ZDRiZmRhZDAzMTMyMDRlZDNkMDhjNzliYmFk
ZWJmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250UGxhdGZvcm1EYXRhV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgRm9udFBs
YXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGZvbnQsIGZsb2F0
IHNpemUsIGJvb2wgYm9sZCwKICAgICBSZXN0b3JlREMoaGRjLCAtMSk7CiB9CiAKLVJlZlB0cjxT
aGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUodWludDMyX3QgdGFi
bGUpIGNvbnN0CitSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9y
bU9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CiB7CiAgICAgSFduZERDIGhkYygw
KTsKICAgICBIR0RJT0JKIG9sZEZvbnQgPSBTZWxlY3RPYmplY3QoaGRjLCBoZm9udCgpKTsKQEAg
LTc4LDExICs3OCw0IEBAIFJlZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9w
ZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CiAgICAgcmV0dXJuIGJ1ZmZlcjsKIH0K
IAotI2lmICFMT0dfRElTQUJMRUQKLVN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlv
bigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFN0cmluZygpOwotfQotI2VuZGlmCi0KIH0K
</data>
<flag name="commit-queue"
          id="424085"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408639</attachid>
            <date>2020-09-12 21:38:52 -0700</date>
            <delta_ts>2020-09-14 01:52:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216448-20200912213851.patch</filename>
            <type>text/plain</type>
            <size>21594</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQxOWM1NTdmM2ZkYjJk
ZmQzNGZjODU1NzlhNjNmZTI1Zjk1YTIxYS4uM2U1NmFiZGY1MDEyOGQ4OGI1NWFlMWRmOTM1ZDdm
Yzg4MTViM2NmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIwLTA5LTEyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gTWlncmF0ZSBmcm9tIEZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIHRvIEZvbnRQbGF0Zm9ybURh
dGFDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgaXMgb25lIG9mIHRoZSBzdGVwcyB0b3dhcmQgbWlncmF0aW5nIHRoZSBBcHBs
ZSBXaW4gcG9ydCBvZmYgb2YgQ0dGb250IGFuZCBvbiB0bworICAgICAgICBDVEZvbnQuIFRoaXMg
cGF0Y2ggcmVtb3ZlcyB0aGUgI2lmICFQTEFURk9STShXSU4pIGd1YXJkIGluIEZvbnRQbGF0Zm9y
bURhdGFDb3JlVGV4dC5jcHAKKyAgICAgICAgYW5kIGRlbGV0ZXMgdGhlIG9sZCBmdW5jdGlvbnMg
aXQgdXNlZCB0byBiZSB1c2luZy4gSXQgZml4ZXMgdXAgdGhlIENvcmUgVGV4dCBmdW5jdGlvbnMg
dG8KKyAgICAgICAgdXNlIGN0Rm9udCgpIGluc3RlYWQgb2YgZm9udCgpLCBiZWNhdXNlIGZvbnQo
KSByZXR1cm5zIHRoZSBIRk9OVCBvbiBXaW5kb3dzLgorCisgICAgICAgIEl0IGFsc28gYWRkcyBh
IG5ldyBoZWxwZXIsIHBsYXRmb3JtT3BlblR5cGVUYWJsZSgpLCBiZWNhdXNlIGl0IGxvb2tzIGxp
a2UKKyAgICAgICAgQ1RGb250Q29weVRhYmxlKCkgc29tZXRpbWVzIGZhaWxzLCBzbyB3ZSBjYW4g
dXNlIHRoaXMgZnVuY3Rpb24gdG8gZmFsbCBiYWNrIHRvIHVzaW5nIHRoZQorICAgICAgICBIRk9O
VCBhbmQgdGhlIHdpbjMyIEFQSSBpbnN0ZWFkLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Zm9udCBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpyZWdpc3RlcmVk
Rm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJs
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1l
IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNHV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSBjb25zdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6ZGVzY3JpcHRp
b24gY29uc3QpOiBEZWxldGVkLgorCiAyMDIwLTA5LTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgZm9ybWF0Rm9yRGVidWdnZXIoKSB3
aGljaCB1c2VzIHJhdyBjaGFyKiB3aXRoIGRlYnVnRGVzY3JpcHRpb24oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cKaW5kZXggOTU4OTFlZTMyZGM4OTc4NjkyYzFjYzVlYmNiOWExMDczOTU4NDVmMy4uOTU5ZTky
MDRkNjY1OTllYWY2YmI1ZmI0OTJmOWJiNjcyZTZiNTllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMTIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxk
QGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgV2luXSBNaWdyYXRlIGZyb20gRm9udFBsYXRm
b3JtRGF0YVdpbi5jcHAgdG8gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL3dpbi9Db3Jl
VGV4dFNQSVdpbi5oOgorCiAyMDIwLTA5LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNaWdyYXRlIENvcmVUZXh0LXNwZWNpZmlj
IGNvZGUgZnJvbSAqKipDb2NvYS5tbSB0byAqKipDb3JlVGV4dC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmgKaW5kZXggOTBlZTljZjg1YTk5
ZTZlYWZlODQwMmViNzgzM2YxYzg4M2VjODY0NC4uOGY4YTY1NTI4OGRmODFiN2VjMWZkYzY1ZTQ1
MWFjMzk3YmZkYTVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2lu
L0NvcmVUZXh0U1BJV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2luL0Nv
cmVUZXh0U1BJV2luLmgKQEAgLTEyOSw2ICsxMjksNyBAQCBDR0Zsb2F0IENURm9udEdldFVuZGVy
bGluZVRoaWNrbmVzcyhDVEZvbnRSZWYpOwogQ0dGbG9hdCBDVEZvbnRHZXRTaXplKENURm9udFJl
Zik7CiBDVEZvbnRTeW1ib2xpY1RyYWl0cyBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhDVEZvbnRS
ZWYpOwogQ0ZDaGFyYWN0ZXJTZXRSZWYgQ1RGb250Q29weUNoYXJhY3RlclNldChDVEZvbnRSZWYp
OworQ0dGb250UmVmIENURm9udENvcHlHcmFwaGljc0ZvbnQoQ1RGb250UmVmLCBDVEZvbnREZXNj
cmlwdG9yUmVmKiBhdHRyaWJ1dGVzKTsKIENGU3RyaW5nUmVmIENURm9udENvcHlGYW1pbHlOYW1l
KENURm9udFJlZik7CiBDRlN0cmluZ1JlZiBDVEZvbnRDb3B5RnVsbE5hbWUoQ1RGb250UmVmKTsK
IENURm9udFJlZiBDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMoQ1RGb250UmVmLCBDR0Zs
b2F0IHNpemUsIGNvbnN0IENHQWZmaW5lVHJhbnNmb3JtKiBtYXRyaXgsIENURm9udERlc2NyaXB0
b3JSZWYgYXR0cmlidXRlcyk7CkBAIC0xNTQsNiArMTU1LDggQEAgYm9vbCBDVEZvbnRHZXRHbHlw
aHNGb3JDaGFyYWN0ZXJSYW5nZShDVEZvbnRSZWYsIENHR2x5cGhbXSwgQ0ZSYW5nZSk7CiBDRkRh
dGFSZWYgQ1RGb250Q29weVRhYmxlKENURm9udFJlZiwgQ1RGb250VGFibGVUYWcsIENURm9udFRh
YmxlT3B0aW9ucyk7CiBib29sIENURm9udEdldFZlcnRpY2FsR2x5cGhzRm9yQ2hhcmFjdGVycyhD
VEZvbnRSZWYsIGNvbnN0IFVuaUNoYXJbXSwgQ0dHbHlwaFtdLCBDRkluZGV4IGNvdW50KTsKIAor
Q1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnRNYW5hZ2VyQ3JlYXRlRm9udERlc2NyaXB0b3JGcm9t
RGF0YShDRkRhdGFSZWYpOworCiBDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JD
cmVhdGVXaXRoQXR0cmlidXRlcyhDRkRpY3Rpb25hcnlSZWYpOwogYm9vbCBDVEZvbnREZXNjcmlw
dG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVzY3JpcHRvclJlZik7CiBDVEZvbnREZXNjcmlwdG9y
UmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoTmFtZUFuZFNpemUoQ0ZTdHJpbmdSZWYsIENH
RmxvYXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFBsYXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UGxhdGZvcm1EYXRhLmNwcAppbmRleCAyNjVhM2Q3YThjYTYxNmQxMjBhNWYyMDI4MWU2MWZlZDcx
MTIzZjM4Li4wYWE1MTc1ZWUwNWE2YTQxYWRjNGMyZjMxNjAyNzk5ZGZmYTY2ZDA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcApAQCAtNzksNyArNzksNyBAQCBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6
OmNsb25lV2l0aFNpemUoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlm
CiAKLSNpZiAhVVNFKENPUkVfVEVYVCkgfHwgUExBVEZPUk0oV0lOKQorI2lmICFVU0UoQ09SRV9U
RVhUKQogCiBTdHJpbmcgRm9udFBsYXRmb3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1E
YXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmgKaW5kZXggYmM3ZmNhYmE2OGVmOTRiYzRkODAwMDZhNDU4NzVhNTY1MGQ2OGNmOS4uMThmMjMx
YWVjMzAxNmRkY2ZjZWJmOWM0ZTcwNjIxZTdjNzc4N2IzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtODgsOSArODgs
OCBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgRm9udFBsYXRmb3JtRGF0YShH
RElPYmplY3Q8SEZPTlQ+LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwotI2lmIFVTRShDRykKLSAgICBGb250UGxhdGZv
cm1EYXRhKEdESU9iamVjdDxIRk9OVD4sIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50
aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKLSAgICBGb250
UGxhdGZvcm1EYXRhKENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCwg
VGV4dFJlbmRlcmluZ01vZGUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgRm9udFBsYXRmb3Jt
RGF0YShHRElPYmplY3Q8SEZPTlQ+LCBDVEZvbnRSZWYsIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwg
Ym9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsK
ICNlbmRpZgogI2lmIFVTRShESVJFQ1QyRCkKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVj
dDxIRk9OVD4mJiwgQ09NUHRyPElEV3JpdGVGb250PiYmLCBmbG9hdCBzaXplLCBib29sIHN5bnRo
ZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwpAQCAtMTE0LDE4
ICsxMTMsMjAgQEAgcHVibGljOgogI2lmIFVTRShDRykKICAgICBDR0ZvbnRSZWYgY2dGb250KCkg
Y29uc3QgeyByZXR1cm4gbV9jZ0ZvbnQuZ2V0KCk7IH0KICNlbmRpZgotI2lmIFVTRShDT1JFX1RF
WFQpCi0gICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY3RGb250LmdldCgp
OyB9CiAjZW5kaWYKLSNlbGlmIFVTRShDT1JFX1RFWFQpCi0gICAgQ1RGb250UmVmIGZvbnQoKSBj
b25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRS
ZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25zdDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9u
dCBpcyBub3QgcmVnaXN0ZXJlZCwgc3VjaCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5z
IGZvbnQoKSkuCiAKLSAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Q7CisjaWYgVVNFKENPUkVf
VEVYVCkKKyAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRSZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25z
dDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9udCBpcyBub3QgcmVnaXN0ZXJlZCwgc3Vj
aCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5zIGZvbnQoKSkuCiAgICAgc3RhdGljIFJl
dGFpblB0cjxDRlR5cGVSZWY+IG9iamVjdEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmKTsKICAg
ICBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBvYmplY3RGb3JFcXVhbGl0eUNoZWNrKCkgY29uc3Q7Ci0K
ICAgICBib29sIGhhc0N1c3RvbVRyYWNraW5nKCkgY29uc3QgeyByZXR1cm4gaXNTeXN0ZW1Gb250
KCk7IH0KKworI2lmIFBMQVRGT1JNKFdJTikKKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Qg
eyByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7IH0KKyNlbHNlCisgICAgQ1RGb250UmVmIGZvbnQoKSBj
b25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7IH0KKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29u
c3Q7CisjZW5kaWYKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShDT0NP
QSkKQEAgLTE5NCw2ICsxOTUsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gb3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3Q7CisgICAgUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25z
dDsKIAogICAgIFN0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0OwogCkBAIC0yMTQsMTAgKzIxNiw4
IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShXSU4pCiAgICAgUmVmUHRyPFNoYXJlZEdESU9i
amVjdDxIRk9OVD4+IG1fZm9udDsgLy8gRklYTUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1f
Y3RGb250IG9yIG1fZHdGb250IG9yIG1fc2NhbGVkRm9udC4KLSNpZiBVU0UoQ0cpCi0gICAgUmV0
YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZv
ciBvZiBtX2N0Rm9udC4KLSNlbmRpZgogI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRy
PENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBt
X2N0Rm9udC4KICAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBtX2N0Rm9udDsKICNlbmRpZgogI2Vs
aWYgVVNFKENPUkVfVEVYVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCBjOTdk
NTBhNTI2YTJmZDcxOGRiOWNjNjIwMTZjMzI1ZWQ4MWIzYjNkLi45MDAwZWY1MjlmYzgxOGUzMGEy
NDBiNzBhNDQ1MTRlMDFhZWY5ZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBA
IC01Niw0ICs1Niw5IEBAIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdAogICAgIHJldHVybiBDRkVxdWFsKG1f
Zm9udC5nZXQoKSwgb3RoZXIubV9mb250LmdldCgpKTsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90KSBjb25z
dAoreworICAgIHJldHVybiBudWxscHRyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250
UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29yZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAppbmRleCA0Y2I4MDFjN2Qx
NDcwMTU2MWMyYTA5YzFhN2Y0N2NjNmU4Yzg4ODcxLi5kY2M3OWFkOGNhODVmNGY3NDI4M2JiYWZm
MWQ1OTM3ZTUyNDYwN2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4
dC5jcHAKQEAgLTM1LDE1ICszNSwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAh
UExBVEZPUk0oV0lOKQotCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKENURm9u
dFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGlj
T2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdp
ZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCiAgICAgOiBG
b250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9y
aWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQogewogICAgIEFTU0VS
VF9BUkcoZm9udCwgZm9udCk7CisjaWYgUExBVEZPUk0oV0lOKQorICAgIG1fY3RGb250ID0gZm9u
dDsKKyNlbHNlCiAgICAgbV9mb250ID0gZm9udDsKKyNlbmRpZgogICAgIG1faXNDb2xvckJpdG1h
cEZvbnQgPSBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhmb250KSAmIGtDVEZvbnRDb2xvckdseXBo
c1RyYWl0OwotICAgIG1faXNTeXN0ZW1Gb250ID0gV2ViQ29yZTo6aXNTeXN0ZW1Gb250KG1fZm9u
dC5nZXQoKSk7CisgICAgbV9pc1N5c3RlbUZvbnQgPSBXZWJDb3JlOjppc1N5c3RlbUZvbnQoZm9u
dCk7CiAgICAgYXV0byB2YXJpYXRpb25zID0gYWRvcHRDRihzdGF0aWNfY2FzdDxDRkRpY3Rpb25h
cnlSZWY+KENURm9udENvcHlBdHRyaWJ1dGUoZm9udCwga0NURm9udFZhcmlhdGlvbkF0dHJpYnV0
ZSkpKTsKICAgICBtX2hhc1ZhcmlhdGlvbnMgPSB2YXJpYXRpb25zICYmIENGRGljdGlvbmFyeUdl
dENvdW50KHZhcmlhdGlvbnMuZ2V0KCkpOwogCkBAIC02Myw3ICs2NSw3IEBAIGJvb2wgaXNTeXN0
ZW1Gb250KENURm9udFJlZiBmb250KQogCiBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6cmVn
aXN0ZXJlZEZvbnQoKSBjb25zdAogewotICAgIENURm9udFJlZiBwbGF0Zm9ybUZvbnQgPSBmb250
KCk7CisgICAgQ1RGb250UmVmIHBsYXRmb3JtRm9udCA9IGN0Rm9udCgpOwogICAgIEFTU0VSVChw
bGF0Zm9ybUZvbnQpOwogICAgIGlmIChwbGF0Zm9ybUZvbnQgJiYgYWRvcHRDRihDVEZvbnRDb3B5
QXR0cmlidXRlKHBsYXRmb3JtRm9udCwga0NURm9udFVSTEF0dHJpYnV0ZSkpKQogICAgICAgICBy
ZXR1cm4gcGxhdGZvcm1Gb250OwpAQCAtMTMyLDExICsxMzQsNiBAQCBDVEZvbnRSZWYgRm9udFBs
YXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKIAogICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsK
IH0KLSNlbHNlCi1DVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZm9udCgpOwotfQogI2VuZGlmCiAKIFJldGFpblB0cjxDRlR5cGVSZWY+IEZv
bnRQbGF0Zm9ybURhdGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmIGN0Rm9udCkK
QEAgLTE1NiwxNyArMTUzLDE3IEBAIFJldGFpblB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0Zm9ybURh
dGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2soKSBjb25zdAogCiBSZWZQdHI8U2hhcmVkQnVmZmVy
PiBGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAog
ewotICAgIGlmIChSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhID0gYWRvcHRDRihDVEZvbnRDb3B5
VGFibGUoZm9udCgpLCB0YWJsZSwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSkpCisgICAg
aWYgKFJldGFpblB0cjxDRkRhdGFSZWY+IGRhdGEgPSBhZG9wdENGKENURm9udENvcHlUYWJsZShj
dEZvbnQoKSwgdGFibGUsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpKQogICAgICAgICBy
ZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YS5nZXQoKSk7CiAKLSAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICByZXR1cm4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsKIH0KIAogI2lm
ICFMT0dfRElTQUJMRUQKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkg
Y29uc3QKIHsKLSAgICBTdHJpbmcgZm9udERlc2NyaXB0aW9uIHsgYWRvcHRDRihDRkNvcHlEZXNj
cmlwdGlvbihmb250KCkpKS5nZXQoKSB9OworICAgIFN0cmluZyBmb250RGVzY3JpcHRpb24geyBh
ZG9wdENGKENGQ29weURlc2NyaXB0aW9uKGN0Rm9udCgpKSkuZ2V0KCkgfTsKICAgICByZXR1cm4g
bWFrZVN0cmluZyhmb250RGVzY3JpcHRpb24sICcgJywgbV9zaXplLAogICAgICAgICAobV9zeW50
aGV0aWNCb2xkID8gIiBzeW50aGV0aWMgYm9sZCIgOiAiIiksCiAgICAgICAgIChtX3N5bnRoZXRp
Y09ibGlxdWUgPyAiIHN5bnRoZXRpYyBvYmxpcXVlIiA6ICIiKSwKQEAgLTE3NywxMSArMTc0LDkg
QEAgU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QKIAogU3RyaW5n
IEZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5hbWUoKSBjb25zdAogewotICAgIGlmIChhdXRvIHBs
YXRmb3JtRm9udCA9IGZvbnQoKSkKKyAgICBpZiAoYXV0byBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQo
KSkKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weUZhbWlseU5hbWUocGxhdGZvcm1G
b250KSkuZ2V0KCk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAppbmRleCAxNDBlYzE2ZWIx
NWQ2ZmM5ZmRhNDBiY2I1MWJiYTBmZjBhYzMzYjM2Li44NDRlMGUxMmRiZDJmZTQxYTE1NGQ1Njlk
YTZhZDg4NGI4NDc0MmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBAIC00Miw4
ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6
fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKQogewotICAgIGlmIChtX2ZvbnRSZWZlcmVuY2UpCi0g
ICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KG1fZm9udFJlZmVyZW5jZSk7CisgICAgaWYg
KGZvbnRSZWZlcmVuY2UpCisgICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KGZvbnRSZWZl
cmVuY2UpOwogfQogCiBGb250UGxhdGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZv
bnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJv
b2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2Vs
ZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKQpAQCAtNTEsMTYgKzUxLDE2IEBAIEZvbnRQbGF0
Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBG
b250RGVzY3JpcHRpb24mCiAgICAgaW50IHNpemUgPSBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQ
aXhlbFNpemUoKTsKICAgICBGb250UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gZm9udERl
c2NyaXB0aW9uLnJlbmRlcmluZ01vZGUoKTsKIAotICAgIEFTU0VSVChtX2ZvbnRSZWZlcmVuY2Up
OworICAgIEFTU0VSVChmb250UmVmZXJlbmNlKTsKIAotICAgIGF1dG8gZmFjZU5hbWUgPSBtX25h
bWUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKTsKKyAgICBhdXRvIGZhY2VOYW1lID0g
bmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpOwogICAgIGlmIChmYWNlTmFtZS5z
aXplKCkgPiBMRl9GQUNFU0laRSkgewogICAgICAgICBmYWNlTmFtZS5yZXNpemUoTEZfRkFDRVNJ
WkUpOwogICAgICAgICBmYWNlTmFtZS5sYXN0KCkgPSAwOwogICAgIH0KIAogICAgIExPR0ZPTlQg
bG9nRm9udCB7IH07Ci0gICAgbWVtY3B5KGxvZ0ZvbnQubGZGYWNlTmFtZSwgZmFjZU5hbWUuZGF0
YSgpLCBzaXplb2YobG9nRm9udC5sZkZhY2VOYW1lWzBdKSAqIHN0ZDo6bWluPHNpemVfdD4oc3Rh
dGljX2Nhc3Q8c2l6ZV90PihMRl9GQUNFU0laRSksIDEgKyBtX25hbWUubGVuZ3RoKCkpKTsKKyAg
ICBtZW1jcHkobG9nRm9udC5sZkZhY2VOYW1lLCBmYWNlTmFtZS5kYXRhKCksIHNpemVvZihsb2dG
b250LmxmRmFjZU5hbWVbMF0pICogc3RkOjptaW48c2l6ZV90PihzdGF0aWNfY2FzdDxzaXplX3Q+
KExGX0ZBQ0VTSVpFKSwgMSArIG5hbWUubGVuZ3RoKCkpKTsKIAogICAgIGxvZ0ZvbnQubGZIZWln
aHQgPSAtc2l6ZTsKICAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBGb250UmVuZGVyaW5nTW9kZTo6
Tm9ybWFsKQpAQCAtODIsOSArODIsMTAgQEAgRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYKICAgICBs
b2dGb250LmxmV2VpZ2h0ID0gYm9sZCA/IDcwMCA6IDQwMDsKIAogICAgIGF1dG8gaGZvbnQgPSBh
ZG9wdEdESU9iamVjdCg6OkNyZWF0ZUZvbnRJbmRpcmVjdCgmbG9nRm9udCkpOwotI2lmIFVTRShD
RykKLSAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBjZ0ZvbnQgPSBhZG9wdENGKENHRm9udENyZWF0
ZVdpdGhQbGF0Zm9ybUZvbnQoJmxvZ0ZvbnQpKTsKLSAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0
YShXVEZNb3ZlKGhmb250KSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRl
cmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CisjaWYgVVNFKENPUkVf
VEVYVCkKKyAgICBhdXRvIGN0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEZvbnREZXNj
cmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBudWxscHRyKSk7CisgICAgYXV0byBj
Z0ZvbnQgPSBhZG9wdENGKENURm9udENvcHlHcmFwaGljc0ZvbnQoY3RGb250LmdldCgpLCBudWxs
cHRyKSk7CisgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoV1RGTW92ZShoZm9udCksIGN0Rm9u
dC5nZXQoKSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUg
PT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CiAjZWxzZQogICAgIGF1dG8gZm9udCA9
IERpcmVjdFdyaXRlOjpjcmVhdGVXaXRoUGxhdGZvcm1Gb250KGxvZ0ZvbnQpOwogICAgIHJldHVy
biBGb250UGxhdGZvcm1EYXRhKFdURk1vdmUoaGZvbnQpLCBXVEZNb3ZlKGZvbnQpLCBzaXplLCBi
b2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0
ZSk7CkBAIC0xMTAsNyArMTExLDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9tUGxhdGZv
cm1EYXRhPiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1ZmZlCiAgICAgZm9u
dFJlZmVyZW5jZSA9IHJlbmFtZUFuZEFjdGl2YXRlRm9udChidWZmZXIsIGZvbnROYW1lKTsKICAg
ICBpZiAoIWZvbnRSZWZlcmVuY2UpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVy
biBtYWtlVW5pcXVlPEZvbnRDdXN0b21QbGF0Zm9ybURhdGE+KGZvbnRSZWZlcmVuY2UsIGZvbnRO
YW1lKTsKKyAgICBhdXRvIHJlc3VsdCA9IG1ha2VVbmlxdWU8Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YT4oZm9udFJlZmVyZW5jZSwgZm9udE5hbWUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgYXV0
byBidWZmZXJEYXRhID0gYnVmZmVyLmNyZWF0ZUNGRGF0YSgpOworICAgIHJlc3VsdC0+Zm9udERl
c2NyaXB0b3IgPSBhZG9wdENGKENURm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRvckZyb21E
YXRhKGJ1ZmZlckRhdGEuZ2V0KCkpKTsKKyNlbmRpZgorICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
IGJvb2wgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6c3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5n
JiBmb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYjJmZjJiNzQ3YzliOWM5
MWMwNmNlYTViMGE5NjYxYTMwNTJiYjY1Li4wMTE1M2MzYWNjMzc1OTEyNjM3NGE1ODIzY2M2NzBi
NmQ1YzQ2Njc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI3LDYgKzI3LDEwIEBA
CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKKyNpZiBVU0UoQ09SRV9URVhUKQorI2luY2x1ZGUgPHBhbC9zcGkvd2luL0NvcmVU
ZXh0U1BJV2luLmg+CisjZW5kaWYKKwogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ5LDggQEAgc3RydWN0IEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEpOwogcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZv
bnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKLSAgICAgICAgOiBtX2ZvbnRSZWZlcmVu
Y2UoZm9udFJlZmVyZW5jZSkKLSAgICAgICAgLCBtX25hbWUobmFtZSkKKyAgICAgICAgOiBmb250
UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCisgICAgICAgICwgbmFtZShuYW1lKQogICAgIHsKICAg
ICB9CiAKQEAgLTU2LDggKzYwLDExIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29sIHN1cHBv
cnRzRm9ybWF0KGNvbnN0IFN0cmluZyYpOwogCi0gICAgSEFORExFIG1fZm9udFJlZmVyZW5jZTsK
LSAgICBTdHJpbmcgbV9uYW1lOworICAgIEhBTkRMRSBmb250UmVmZXJlbmNlOworICAgIFN0cmlu
ZyBuYW1lOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRyPENURm9udERlc2NyaXB0
b3JSZWY+IGZvbnREZXNjcmlwdG9yOworI2VuZGlmCiB9OwogCiBzdGQ6OnVuaXF1ZV9wdHI8Rm9u
dEN1c3RvbVBsYXRmb3JtRGF0YT4gY3JlYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YShTaGFyZWRC
dWZmZXImLCBjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWly
by5jcHAKaW5kZXggOGI2ODI1ZjNmMTk0MGYxYmVjM2VhYmFmMTVlZjkzMjg2YzZhNjM5Yy4uZTA3
NDhkMjkxOTI0MzU5ZWJlOGFlZWJkODljNzk2YWVkZTA0NmMzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWly
by5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGFDYWlyby5jcHAKQEAgLTM0LDggKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgp
CiB7Ci0gICAgaWYgKG1fZm9udFJlZmVyZW5jZSkKLSAgICAgICAgUmVtb3ZlRm9udE1lbVJlc291
cmNlRXgobV9mb250UmVmZXJlbmNlKTsKKyAgICBpZiAoZm9udFJlZmVyZW5jZSkKKyAgICAgICAg
UmVtb3ZlRm9udE1lbVJlc291cmNlRXgoZm9udFJlZmVyZW5jZSk7CiB9CiAKIEZvbnRQbGF0Zm9y
bURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRp
ZXMpCkBAIC00NSw3ICs0NSw3IEBAIEZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mCiAKICAgICBMT0dG
T05UIGxvZ0ZvbnQ7CiAgICAgbWVtc2V0KCZsb2dGb250LCAwLCBzaXplb2YoTE9HRk9OVCkpOwot
ICAgIHdjc25jcHkobG9nRm9udC5sZkZhY2VOYW1lLCBtX25hbWUud2lkZUNoYXJhY3RlcnMoKS5k
YXRhKCksIExGX0ZBQ0VTSVpFIC0gMSk7CisgICAgd2NzbmNweShsb2dGb250LmxmRmFjZU5hbWUs
IG5hbWUud2lkZUNoYXJhY3RlcnMoKS5kYXRhKCksIExGX0ZBQ0VTSVpFIC0gMSk7CiAKICAgICBs
b2dGb250LmxmSGVpZ2h0ID0gLXNpemU7CiAgICAgaWYgKHJlbmRlcmluZ01vZGUgPT0gRm9udFJl
bmRlcmluZ01vZGU6Ok5vcm1hbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKaW5kZXggMzBh
NDRkZDE0YzFiNmZmZmQ2Y2JjZTc0NzI1OTg5NTRkOTIwNzhlMi4uMGJkNzA3ZjFjNTVmMmY2NGJh
MzI2MTczOTdjZmIxYTI3MTMzODE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKQEAg
LTEyMCwyNSArMTIwLDE3IEBAIHZvaWQgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhSW5p
dChIRk9OVCBmb250LCBmbG9hdCBzaXplLCBIREMgaGRjLCBXQ0hBUioKICAgICAgICAgbV9pc1N5
c3RlbUZvbnQgPSAhd2NzY21wKGZhY2VOYW1lLCBMIkx1Y2lkYSBHcmFuZGUiKTsKIH0KIAotRm9u
dFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGhmb250LCBD
R0ZvbnRSZWYgZm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUsIGJvb2wg
dXNlR0RJKQorRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZP
TlQ+IGhmb250LCBDVEZvbnRSZWYgY3RGb250LCBDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXpl
LCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSwgYm9vbCB1c2VHREkpCiAgICAgOiBtX3N5bnRoZXRp
Y0JvbGQoYm9sZCkKICAgICAsIG1fc3ludGhldGljT2JsaXF1ZShvYmxpcXVlKQogICAgICwgbV9z
aXplKHNpemUpCiAgICAgLCBtX2ZvbnQoU2hhcmVkR0RJT2JqZWN0PEhGT05UPjo6Y3JlYXRlKFdU
Rk1vdmUoaGZvbnQpKSkKLSAgICAsIG1fY2dGb250KGZvbnQpCi0gICAgLCBtX2N0Rm9udChhZG9w
dENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51
bGxwdHIsIG51bGxwdHIpKSkKKyAgICAsIG1fY2dGb250KGNnRm9udCkKKyAgICAsIG1fY3RGb250
KGN0Rm9udCkKICAgICAsIG1fdXNlR0RJKHVzZUdESSkKIHsKIH0KIAotRm9udFBsYXRmb3JtRGF0
YTo6Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5
bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVu
dGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUg
dGV4dFJlbmRlcmluZ01vZGUpCi0gICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRp
Y0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRS
ZW5kZXJpbmdNb2RlKQotewotICAgIG1fY2dGb250ID0gY2dGb250OwotICAgIEFTU0VSVChtX2Nn
Rm9udCk7Ci0gICAgbV9jdEZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0Zv
bnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKTsKLX0KLQogdW5zaWdu
ZWQgRm9udFBsYXRmb3JtRGF0YTo6aGFzaCgpIGNvbnN0CiB7CiAgICAgdW5zaWduZWQgZm9udEhh
c2ggPSBtX2ZvbnQgPyBtX2ZvbnQtPmhhc2goKSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNhaXJvV2luLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fp
cm9XaW4uY3BwCmluZGV4IGExZGI1MmVlMWM2YjRkM2ZlMTBiZTFmMWU3MmQxNTBkNWFiYTliY2Iu
LjM4MmJmYTg2YzczOGQyYzk0Mzc5YTc1MTFmMDdjOWM0ZmFhNTAxNmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9X
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxh
dGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YS5oIgogCisjaW5jbHVkZSAiU2hhcmVkQnVm
ZmVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtMzQsNyArMzUsNiBAQAogCiAjaW5jbHVk
ZSA8Y2Fpcm8td2luMzIuaD4KIAotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgRm9udFBs
YXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhSW5pdChIRk9OVCBmb250LCBmbG9hdCBzaXplLCBIREMg
aGRjLCBXQ0hBUiogZmFjZU5hbWUpCkBAIC05Niw0ICs5Niw5IEBAIGJvb2wgRm9udFBsYXRmb3Jt
RGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25z
dAogICAgICAgICAmJiBtX3VzZUdESSA9PSBvdGhlci5tX3VzZUdESTsKIH0KIAorUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJs
ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsKK30K
KwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Zv
bnRQbGF0Zm9ybURhdGFXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwCmluZGV4IGU1MzczYzdjNmVjNDg3NTQwYzE2MWQy
YWIxOWQ2ODFiZTgxOGYxYTEuLjFiNTU0NDA0ZDRiZmRhZDAzMTMyMDRlZDNkMDhjNzliYmFkZWJm
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
UGxhdGZvcm1EYXRhV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgRm9udFBsYXRm
b3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGZvbnQsIGZsb2F0IHNp
emUsIGJvb2wgYm9sZCwKICAgICBSZXN0b3JlREMoaGRjLCAtMSk7CiB9CiAKLVJlZlB0cjxTaGFy
ZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUp
IGNvbnN0CitSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybU9w
ZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CiB7CiAgICAgSFduZERDIGhkYygwKTsK
ICAgICBIR0RJT0JKIG9sZEZvbnQgPSBTZWxlY3RPYmplY3QoaGRjLCBoZm9udCgpKTsKQEAgLTc4
LDExICs3OCw0IEBAIFJlZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9wZW5U
eXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CiAgICAgcmV0dXJuIGJ1ZmZlcjsKIH0KIAot
I2lmICFMT0dfRElTQUJMRUQKLVN0cmluZyBGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlvbigp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIFN0cmluZygpOwotfQotI2VuZGlmCi0KIH0K
</data>
<flag name="commit-queue"
          id="424091"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408690</attachid>
            <date>2020-09-14 01:52:47 -0700</date>
            <delta_ts>2020-09-14 01:56:41 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>26404</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2Nzcy9mb250LWZhY2Utb3BlbnR5
cGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9m
YXN0L2Nzcy9mb250LWZhY2Utb3BlbnR5cGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNjY5ODYp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9jc3MvZm9udC1mYWNlLW9wZW50eXBl
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTAgKzMzLDEwIEBACiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc0NHgzNgogICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDc0NDogIkNoZWNrIGlmIGdseXBocyBub3QgaW4gQWhlbS5vdGYg
Y2FuIGJlIHJlbmRlcmVkIHVzaW5nIGEgZmFsbGJhY2sgZm9udC4gSWYgdGhlIHRlc3QgcGFzc2Vz
LCB5b3Ugc2hvdWxkIHNlZSBhIHNpbmdsZS1xdW90ZSIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwxOCkgd2lkdGggMTA0OiAiY2hhcmFjdGVyIGJlbG93OiIKLSAgICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICgwLDIwNCkgc2l6ZSA3ODR4MTYKLSAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDE2eDE2Ci0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMTZ4MTYKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2
OiAiJyIKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDIwNCkgc2l6ZSA3ODR4
MTgKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDN4MTYKKyAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAzeDE2CisgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAzOiAiJyIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9tYXRobWwvb3BlbnR5cGUvb3BlbnR5cGUtc3Ry
ZXRjaHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9tYXRobWwvb3BlbnR5cGUvb3BlbnR5cGUtc3RyZXRjaHktZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAyNjY5ODYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vbWF0aG1sL29wZW50eXBlL29w
ZW50eXBlLXN0cmV0Y2h5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMSw0
NSBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MzM1NTQ0MzEKLSAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDMzNTU0NDMxCi0gIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgzMzU1NDQzMQotICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDc2OXgzMzU1NDQxNQotICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDApIHNpemUgNzY5eDM0Ci0gICAgICAgIFJlbmRlck1hdGhNTE1hdGgge21hdGh9
IGF0ICgwLDIwKSBzaXplIDh4MTAKLSAgICAgICAgICBSZW5kZXJNYXRoTUxSb3cge21yb3d9IGF0
ICgwLDApIHNpemUgOHgxMAotICAgICAgICAgICAgUmVuZGVyTWF0aE1MT3BlcmF0b3Ige21vfSBh
dCAoMCwwKSBzaXplIDh4MTAKLSAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsMCkgc2l6ZSAyeDEwCi0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMngwCi0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAyOiAiXHh7MjE5Rn0iCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDMzOAorICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzM4CisgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDMwNgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgw
LDApIHNpemUgNzg0eDM0CisgICAgICAgIFJlbmRlck1hdGhNTE1hdGgge21hdGh9IGF0ICgwLDI0
KSBzaXplIDh4NgorICAgICAgICAgIFJlbmRlck1hdGhNTFJvdyB7bXJvd30gYXQgKDAsMCkgc2l6
ZSA4eDYKKyAgICAgICAgICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yIHttb30gYXQgKDAsMCkgc2l6
ZSA4eDIKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6
ZSAyeDMKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsLTMpIHNpemUg
MngwCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lkdGggMjogIlx4ezIx
OUZ9IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTYpIHNpemUgNXgxOAogICAg
ICAgICAgIHRleHQgcnVuIGF0ICg3LDE2KSB3aWR0aCA1OiAiICIKLSAgICAgICAgUmVuZGVyTWF0
aE1MTWF0aCB7bWF0aH0gYXQgKDExLDE1KSBzaXplIDI3eDE1Ci0gICAgICAgICAgUmVuZGVyTWF0
aE1MUm93IHttcm93fSBhdCAoMCwwKSBzaXplIDI2eDE1Ci0gICAgICAgICAgICBSZW5kZXJNYXRo
TUxPcGVyYXRvciB7bW99IGF0ICgwLDApIHNpemUgMjZ4MTAKLSAgICAgICAgICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAyeDEwCi0gICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMngwCi0gICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAyOiAiXHh7MjE5Rn0iCisgICAgICAgIFJlbmRlck1hdGhNTE1h
dGgge21hdGh9IGF0ICgxMSwxMCkgc2l6ZSAyN3gyMQorICAgICAgICAgIFJlbmRlck1hdGhNTFJv
dyB7bXJvd30gYXQgKDAsMCkgc2l6ZSAyNngyMQorICAgICAgICAgICAgUmVuZGVyTWF0aE1MT3Bl
cmF0b3Ige21vfSBhdCAoMCwwKSBzaXplIDI2eDIxCisgICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMngzCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLC0zKSBzaXplIDJ4MAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsLTMpIHdpZHRoIDI6ICJceHsyMTlGfSIKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgzNywxNikgc2l6ZSA1eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDM3LDE2KSB3aWR0
aCA1OiAiICIKLSAgICAgICAgUmVuZGVyTWF0aE1MTWF0aCB7bWF0aH0gYXQgKDQxLDApIHNpemUg
NDd4MzAKLSAgICAgICAgICBSZW5kZXJNYXRoTUxSb3cge21yb3d9IGF0ICgwLDApIHNpemUgNDd4
MzAKLSAgICAgICAgICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yIHttb30gYXQgKDAsMCkgc2l6ZSA0
N3gzMAotICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXpl
IDJ4MTAKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAy
eDAKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI6ICJceHsyMTlG
fSIKKyAgICAgICAgUmVuZGVyTWF0aE1MTWF0aCB7bWF0aH0gYXQgKDQxLDApIHNpemUgMjZ4MzEK
KyAgICAgICAgICBSZW5kZXJNYXRoTUxSb3cge21yb3d9IGF0ICgwLDApIHNpemUgMjZ4MzEKKyAg
ICAgICAgICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yIHttb30gYXQgKDAsMCkgc2l6ZSAyNngzMQor
ICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDJ4Mwor
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwtMykgc2l6ZSAyeDAKKyAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAyOiAiXHh7MjE5Rn0iCiAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDUwKSBzaXplIDc2OXgxNTQKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCw1MCkgc2l6ZSA3ODR4MTU0CiAgICAgICAgIFJlbmRlck1hdGhNTE1hdGgge21hdGh9IGF0
ICgwLDApIHNpemUgNDd4MTUwCiAgICAgICAgICAgUmVuZGVyTWF0aE1MUm93IHttcm93fSBhdCAo
MCwwKSBzaXplIDQ3eDE1MAogICAgICAgICAgICAgUmVuZGVyTWF0aE1MT3BlcmF0b3Ige21vfSBh
dCAoMCwwKSBzaXplIDQ3eDE1MAotICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwwKSBzaXplIDJ4MTAKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAyeDAKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDI6ICJceHsyMTlGfSIKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsMCkgc2l6ZSAyeDMKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsLTMpIHNpemUgMngwCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykgd2lk
dGggMjogIlx4ezIxOUZ9IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMjApIHNpemUgNzY5eDMzNTU0MjEx
Ci0gICAgICAgIFJlbmRlck1hdGhNTE1hdGgge21hdGh9IGF0ICgwLDE0KSBzaXplIDk0eDMzNTU0
NDE3Ci0gICAgICAgICAgUmVuZGVyTWF0aE1MUm93IHttcm93fSBhdCAoMCwwKSBzaXplIDk0eDMz
NTU0NDMxCi0gICAgICAgICAgICBSZW5kZXJNYXRoTUxPcGVyYXRvciB7bW99IGF0ICgwLDMzNTU0
NDMxKSBzaXplIDk0eDAKLSAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsMCkgc2l6ZSAxMHgxMAotICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDEweDAKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDEwOiAiXHh7MkExQn0iCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMjIwKSBzaXplIDc4
NHg4NgorICAgICAgICBSZW5kZXJNYXRoTUxNYXRoIHttYXRofSBhdCAoMCwwKSBzaXplIDg0eDgy
CisgICAgICAgICAgUmVuZGVyTWF0aE1MUm93IHttcm93fSBhdCAoMCwwKSBzaXplIDg0eDgyCisg
ICAgICAgICAgICBSZW5kZXJNYXRoTUxPcGVyYXRvciB7bW99IGF0ICgwLDApIHNpemUgODR4ODIK
KyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAxMHgx
MgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw2KSBzaXplIDEweDAK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYpIHdpZHRoIDEwOiAiXHh7MkExQn0i
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9XM0MtU1ZHLTEuMS1TRS9jb29yZHMtdW5pdHMtMDMt
Yi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2
Zy9XM0MtU1ZHLTEuMS1TRS9jb29yZHMtdW5pdHMtMDMtYi1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDI2Njk4NikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9zdmcvVzNDLVNWRy0xLjEtU0Uv
Y29vcmRzLXVuaXRzLTAzLWItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICsz
OSw4IEBACiAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyMzAsNjkpIHNpemUgMTY0
eDE0IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjR4MTQKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4g
MSBhdCAoMjMwLjAwLDgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzMCB3aWR0aCAxNjQu
MDA6ICJSZWxhdGl2ZSB0byBmb250IHgtaGVpZ2h0IChleCkiCi0gICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDIwLDE0MCkgc2l6ZSAzMjB4MQotICAgICAgICAgIFJlbmRlclNWR1Jl
Y3Qge3JlY3R9IGF0ICgyMCwxNDApIHNpemUgMzIweDEgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbeD0yMC4wMF0gW3k9ODAuMDBdIFt3aWR0aD0zMjAuMDBdIFtoZWlnaHQ9
MS4wMF0KKyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjAsMTQwKSBzaXplIDIx
MHgxCisgICAgICAgICAgUmVuZGVyU1ZHUmVjdCB7cmVjdH0gYXQgKDIwLDE0MCkgc2l6ZSAyMTB4
MSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFt4PTIwLjAwXSBbeT04MC4w
MF0gW3dpZHRoPTI0MC4wMF0gW2hlaWdodD0xLjAwXQogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMjAsODcpIHNpemUgOTl4MTQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDk5eDE0CiAgICAgICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDk4LjAwKSBzdGFydE9mZnNldCAwIGVu
ZE9mZnNldCAxNSB3aWR0aCA5OS4wMDogIjQxLjY3JSA9IDIwMCBweCIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDI2Njk4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDQ5IEBACisyMDIwLTA5LTE0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdpbl0gTWlncmF0ZSBmcm9tIEZv
bnRQbGF0Zm9ybURhdGFXaW4uY3BwIHRvIEZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjQ0OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgb25l
IG9mIHRoZSBzdGVwcyB0b3dhcmQgbWlncmF0aW5nIHRoZSBBcHBsZSBXaW4gcG9ydCBvZmYgb2Yg
Q0dGb250IGFuZCBvbiB0bworICAgICAgICBDVEZvbnQuIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUg
I2lmICFQTEFURk9STShXSU4pIGd1YXJkIGluIEZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAK
KyAgICAgICAgYW5kIGRlbGV0ZXMgdGhlIG9sZCBmdW5jdGlvbnMgaXQgdXNlZCB0byBiZSB1c2lu
Zy4gSXQgZml4ZXMgdXAgdGhlIENvcmUgVGV4dCBmdW5jdGlvbnMgdG8KKyAgICAgICAgdXNlIGN0
Rm9udCgpIGluc3RlYWQgb2YgZm9udCgpLCBiZWNhdXNlIGZvbnQoKSByZXR1cm5zIHRoZSBIRk9O
VCBvbiBXaW5kb3dzLgorCisgICAgICAgIEl0IGFsc28gYWRkcyBhIG5ldyBoZWxwZXIsIHBsYXRm
b3JtT3BlblR5cGVUYWJsZSgpLCBiZWNhdXNlIGl0IGxvb2tzIGxpa2UKKyAgICAgICAgQ1RGb250
Q29weVRhYmxlKCkgc29tZXRpbWVzIGZhaWxzLCBzbyB3ZSBjYW4gdXNlIHRoaXMgZnVuY3Rpb24g
dG8gZmFsbCBiYWNrIHRvIHVzaW5nIHRoZQorICAgICAgICBIRk9OVCBhbmQgdGhlIHdpbjMyIEFQ
SSBpbnN0ZWFkLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpG
b250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBs
YXRmb3JtRGF0YTo6Zm9udCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRm
b3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpyZWdpc3RlcmVkRm9udCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlvbiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1lIGNvbnN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxh
dGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBs
YXRmb3JtRGF0YUNHV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6
OkZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3Jt
RGF0YTo6b3BlblR5cGVUYWJsZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRm
b3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6ZGVzY3JpcHRpb24gY29uc3QpOiBEZWxldGVk
LgorCiAyMDIwLTA5LTEyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlcGxhY2UgZm9ybWF0Rm9yRGVidWdnZXIoKSB3aGljaCB1c2VzIHJhdyBjaGFy
KiB3aXRoIGRlYnVnRGVzY3JpcHRpb24oKQpJbmRleDogU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNjY5ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMTQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgV2luXSBNaWdyYXRlIGZyb20gRm9udFBs
YXRmb3JtRGF0YVdpbi5jcHAgdG8gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDQ4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL3dpbi9D
b3JlVGV4dFNQSVdpbi5oOgorCiAyMDIwLTA5LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNaWdyYXRlIENvcmVUZXh0LXNwZWNp
ZmljIGNvZGUgZnJvbSAqKipDb2NvYS5tbSB0byAqKipDb3JlVGV4dC5jcHAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oCShyZXZpc2lv
biAyNjY5ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS93aW4vQ29yZVRleHRTUElX
aW4uaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDYgKzEyOSw3IEBACiBDR0Zsb2F0IENURm9udEdl
dFNpemUoQ1RGb250UmVmKTsKIENURm9udFN5bWJvbGljVHJhaXRzIENURm9udEdldFN5bWJvbGlj
VHJhaXRzKENURm9udFJlZik7CiBDRkNoYXJhY3RlclNldFJlZiBDVEZvbnRDb3B5Q2hhcmFjdGVy
U2V0KENURm9udFJlZik7CitDR0ZvbnRSZWYgQ1RGb250Q29weUdyYXBoaWNzRm9udChDVEZvbnRS
ZWYsIENURm9udERlc2NyaXB0b3JSZWYqIGF0dHJpYnV0ZXMpOwogQ0ZTdHJpbmdSZWYgQ1RGb250
Q29weUZhbWlseU5hbWUoQ1RGb250UmVmKTsKIENGU3RyaW5nUmVmIENURm9udENvcHlGdWxsTmFt
ZShDVEZvbnRSZWYpOwogQ1RGb250UmVmIENURm9udENyZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhD
VEZvbnRSZWYsIENHRmxvYXQgc2l6ZSwgY29uc3QgQ0dBZmZpbmVUcmFuc2Zvcm0qIG1hdHJpeCwg
Q1RGb250RGVzY3JpcHRvclJlZiBhdHRyaWJ1dGVzKTsKQEAgLTE1NCw2ICsxNTUsOCBAQAogQ0ZE
YXRhUmVmIENURm9udENvcHlUYWJsZShDVEZvbnRSZWYsIENURm9udFRhYmxlVGFnLCBDVEZvbnRU
YWJsZU9wdGlvbnMpOwogYm9vbCBDVEZvbnRHZXRWZXJ0aWNhbEdseXBoc0ZvckNoYXJhY3RlcnMo
Q1RGb250UmVmLCBjb25zdCBVbmlDaGFyW10sIENHR2x5cGhbXSwgQ0ZJbmRleCBjb3VudCk7CiAK
K0NURm9udERlc2NyaXB0b3JSZWYgQ1RGb250TWFuYWdlckNyZWF0ZUZvbnREZXNjcmlwdG9yRnJv
bURhdGEoQ0ZEYXRhUmVmKTsKKwogQ1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnREZXNjcmlwdG9y
Q3JlYXRlV2l0aEF0dHJpYnV0ZXMoQ0ZEaWN0aW9uYXJ5UmVmKTsKIGJvb2wgQ1RGb250RGVzY3Jp
cHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JSZWYpOwogQ1RGb250RGVzY3JpcHRv
clJlZiBDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aE5hbWVBbmRTaXplKENGU3RyaW5nUmVmLCBD
R0Zsb2F0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0
Zm9ybURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3BwCShyZXZpc2lvbiAyNjY5ODYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzksNyArNzksNyBAQAogfQogI2VuZGlmCiAKLSNpZiAhVVNFKENPUkVfVEVYVCkgfHwg
UExBVEZPUk0oV0lOKQorI2lmICFVU0UoQ09SRV9URVhUKQogCiBTdHJpbmcgRm9udFBsYXRmb3Jt
RGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCShyZXZpc2lvbiAyNjY5ODYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTg4LDkgKzg4LDggQEAKIAogI2lmIFBMQVRGT1JNKFdJTikKICAg
ICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4sIGZsb2F0IHNpemUsIGJvb2wgc3lu
dGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBib29sIHVzZUdESSk7Ci0jaWYgVVNF
KENHKQotICAgIEZvbnRQbGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiwgQ0dGb250UmVmLCBm
bG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9v
bCB1c2VHREkpOwotICAgIEZvbnRQbGF0Zm9ybURhdGEoQ0dGb250UmVmLCBmbG9hdCBzaXplLCBi
b29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9u
LCBGb250V2lkdGhWYXJpYW50LCBUZXh0UmVuZGVyaW5nTW9kZSk7CisjaWYgVVNFKENPUkVfVEVY
VCkKKyAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4sIENURm9udFJlZiwgQ0dG
b250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2Js
aXF1ZSwgYm9vbCB1c2VHREkpOwogI2VuZGlmCiAjaWYgVVNFKERJUkVDVDJEKQogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiYmLCBDT01QdHI8SURXcml0ZUZvbnQ+JiYsIGZs
b2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBib29s
IHVzZUdESSk7CkBAIC0xMTQsMTkgKzExMywyMSBAQAogI2lmIFVTRShDRykKICAgICBDR0ZvbnRS
ZWYgY2dGb250KCkgY29uc3QgeyByZXR1cm4gbV9jZ0ZvbnQuZ2V0KCk7IH0KICNlbmRpZgorI2Vu
ZGlmCisKICNpZiBVU0UoQ09SRV9URVhUKQotICAgIENURm9udFJlZiBjdEZvbnQoKSBjb25zdCB7
IHJldHVybiBtX2N0Rm9udC5nZXQoKTsgfQotI2VuZGlmCi0jZWxpZiBVU0UoQ09SRV9URVhUKQot
ICAgIENURm9udFJlZiBmb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250LmdldCgpOyB9CiAgICAg
V0VCQ09SRV9FWFBPUlQgQ1RGb250UmVmIHJlZ2lzdGVyZWRGb250KCkgY29uc3Q7IC8vIFJldHVy
bnMgbnVsbHB0ciBpZmYgdGhlIGZvbnQgaXMgbm90IHJlZ2lzdGVyZWQsIHN1Y2ggYXMgd2ViIGZv
bnRzIChvdGhlcndpc2UgcmV0dXJucyBmb250KCkpLgotCi0gICAgQ1RGb250UmVmIGN0Rm9udCgp
IGNvbnN0OwogICAgIHN0YXRpYyBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBvYmplY3RGb3JFcXVhbGl0
eUNoZWNrKENURm9udFJlZik7CiAgICAgUmV0YWluUHRyPENGVHlwZVJlZj4gb2JqZWN0Rm9yRXF1
YWxpdHlDaGVjaygpIGNvbnN0OworICAgIGJvb2wgaGFzQ3VzdG9tVHJhY2tpbmcoKSBjb25zdCB7
IHJldHVybiBpc1N5c3RlbUZvbnQoKTsgfQogCi0gICAgYm9vbCBoYXNDdXN0b21UcmFja2luZygp
IGNvbnN0IHsgcmV0dXJuIGlzU3lzdGVtRm9udCgpOyB9CisjaWYgUExBVEZPUk0oV0lOKQorICAg
IENURm9udFJlZiBjdEZvbnQoKSBjb25zdCB7IHJldHVybiBtX2N0Rm9udC5nZXQoKTsgfQorI2Vs
c2UKKyAgICBDVEZvbnRSZWYgZm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udC5nZXQoKTsgfQor
ICAgIENURm9udFJlZiBjdEZvbnQoKSBjb25zdDsKICNlbmRpZgorI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShXSU4pIHx8IFBMQVRGT1JNKENPQ09BKQogICAgIGJvb2wgaXNTeXN0ZW1Gb250KCkgY29u
c3QgeyByZXR1cm4gbV9pc1N5c3RlbUZvbnQ7IH0KQEAgLTE5NCw2ICsxOTUsNyBAQAogICAgIH0K
IAogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUp
IGNvbnN0OworICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHBsYXRmb3JtT3BlblR5cGVUYWJsZSh1
aW50MzJfdCB0YWJsZSkgY29uc3Q7CiAKICAgICBTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdDsK
IApAQCAtMjE0LDEwICsyMTYsOCBAQAogCiAjaWYgUExBVEZPUk0oV0lOKQogICAgIFJlZlB0cjxT
aGFyZWRHRElPYmplY3Q8SEZPTlQ+PiBtX2ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBm
YXZvciBvZiBtX2N0Rm9udCBvciBtX2R3Rm9udCBvciBtX3NjYWxlZEZvbnQuCi0jaWYgVVNFKENH
KQorI2lmIFVTRShDT1JFX1RFWFQpCiAgICAgUmV0YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7
IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBtX2N0Rm9udC4KLSNlbmRpZgotI2lm
IFVTRShDT1JFX1RFWFQpCiAgICAgUmV0YWluUHRyPENURm9udFJlZj4gbV9jdEZvbnQ7CiAjZW5k
aWYKICNlbGlmIFVTRShDT1JFX1RFWFQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29h
Lm1tCShyZXZpc2lvbiAyNjY5ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTU2LDQg
KzU2LDkgQEAKICAgICByZXR1cm4gQ0ZFcXVhbChtX2ZvbnQuZ2V0KCksIG90aGVyLm1fZm9udC5n
ZXQoKSk7CiB9CiAKK1JlZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6OnBsYXRm
b3JtT3BlblR5cGVUYWJsZSh1aW50MzJfdCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxh
dGZvcm1EYXRhQ29yZVRleHQuY3BwCShyZXZpc2lvbiAyNjY5ODYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxNSArMzUsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi0jaWYgIVBMQVRGT1JNKFdJTikKLQogRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3Jt
RGF0YShDVEZvbnRSZWYgZm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29s
IHN5bnRoZXRpY09ibGlxdWUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgRm9udFdpZHRo
VmFyaWFudCB3aWR0aFZhcmlhbnQsIFRleHRSZW5kZXJpbmdNb2RlIHRleHRSZW5kZXJpbmdNb2Rl
KQogICAgIDogRm9udFBsYXRmb3JtRGF0YShzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNP
YmxpcXVlLCBvcmllbnRhdGlvbiwgd2lkdGhWYXJpYW50LCB0ZXh0UmVuZGVyaW5nTW9kZSkKIHsK
ICAgICBBU1NFUlRfQVJHKGZvbnQsIGZvbnQpOworI2lmIFBMQVRGT1JNKFdJTikKKyAgICBtX2N0
Rm9udCA9IGZvbnQ7CisjZWxzZQogICAgIG1fZm9udCA9IGZvbnQ7CisjZW5kaWYKICAgICBtX2lz
Q29sb3JCaXRtYXBGb250ID0gQ1RGb250R2V0U3ltYm9saWNUcmFpdHMoZm9udCkgJiBrQ1RGb250
Q29sb3JHbHlwaHNUcmFpdDsKLSAgICBtX2lzU3lzdGVtRm9udCA9IFdlYkNvcmU6OmlzU3lzdGVt
Rm9udChtX2ZvbnQuZ2V0KCkpOworICAgIG1faXNTeXN0ZW1Gb250ID0gV2ViQ29yZTo6aXNTeXN0
ZW1Gb250KGZvbnQpOwogICAgIGF1dG8gdmFyaWF0aW9ucyA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8
Q0ZEaWN0aW9uYXJ5UmVmPihDVEZvbnRDb3B5QXR0cmlidXRlKGZvbnQsIGtDVEZvbnRWYXJpYXRp
b25BdHRyaWJ1dGUpKSk7CiAgICAgbV9oYXNWYXJpYXRpb25zID0gdmFyaWF0aW9ucyAmJiBDRkRp
Y3Rpb25hcnlHZXRDb3VudCh2YXJpYXRpb25zLmdldCgpKTsKIApAQCAtNjMsNyArNjUsNyBAQAog
CiBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6cmVnaXN0ZXJlZEZvbnQoKSBjb25zdAogewot
ICAgIENURm9udFJlZiBwbGF0Zm9ybUZvbnQgPSBmb250KCk7CisgICAgQ1RGb250UmVmIHBsYXRm
b3JtRm9udCA9IGN0Rm9udCgpOwogICAgIEFTU0VSVChwbGF0Zm9ybUZvbnQpOwogICAgIGlmIChw
bGF0Zm9ybUZvbnQgJiYgYWRvcHRDRihDVEZvbnRDb3B5QXR0cmlidXRlKHBsYXRmb3JtRm9udCwg
a0NURm9udFVSTEF0dHJpYnV0ZSkpKQogICAgICAgICByZXR1cm4gcGxhdGZvcm1Gb250OwpAQCAt
MTMyLDExICsxMzQsNiBAQAogCiAgICAgcmV0dXJuIG1fY3RGb250LmdldCgpOwogfQotI2Vsc2UK
LUNURm9udFJlZiBGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQoKSBjb25zdAotewotICAgIHJldHVy
biBmb250KCk7Ci19CiAjZW5kaWYKIAogUmV0YWluUHRyPENGVHlwZVJlZj4gRm9udFBsYXRmb3Jt
RGF0YTo6b2JqZWN0Rm9yRXF1YWxpdHlDaGVjayhDVEZvbnRSZWYgY3RGb250KQpAQCAtMTU2LDEw
ICsxNTMsMTAgQEAKIAogUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3Bl
blR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3QKIHsKLSAgICBpZiAoUmV0YWluUHRyPENG
RGF0YVJlZj4gZGF0YSA9IGFkb3B0Q0YoQ1RGb250Q29weVRhYmxlKGZvbnQoKSwgdGFibGUsIGtD
VEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpKQorICAgIGlmIChSZXRhaW5QdHI8Q0ZEYXRhUmVm
PiBkYXRhID0gYWRvcHRDRihDVEZvbnRDb3B5VGFibGUoY3RGb250KCksIHRhYmxlLCBrQ1RGb250
VGFibGVPcHRpb25Ob09wdGlvbnMpKSkKICAgICAgICAgcmV0dXJuIFNoYXJlZEJ1ZmZlcjo6Y3Jl
YXRlKGRhdGEuZ2V0KCkpOwogCi0gICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHBsYXRm
b3JtT3BlblR5cGVUYWJsZSh0YWJsZSk7CiB9CiAKICNpZiAhTE9HX0RJU0FCTEVECkBAIC0xNjYs
NyArMTYzLDcgQEAKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29u
c3QKIHsKLSAgICBTdHJpbmcgZm9udERlc2NyaXB0aW9uIHsgYWRvcHRDRihDRkNvcHlEZXNjcmlw
dGlvbihmb250KCkpKS5nZXQoKSB9OworICAgIFN0cmluZyBmb250RGVzY3JpcHRpb24geyBhZG9w
dENGKENGQ29weURlc2NyaXB0aW9uKGN0Rm9udCgpKSkuZ2V0KCkgfTsKICAgICByZXR1cm4gbWFr
ZVN0cmluZyhmb250RGVzY3JpcHRpb24sICcgJywgbV9zaXplLAogICAgICAgICAobV9zeW50aGV0
aWNCb2xkID8gIiBzeW50aGV0aWMgYm9sZCIgOiAiIiksCiAgICAgICAgIChtX3N5bnRoZXRpY09i
bGlxdWUgPyAiIHN5bnRoZXRpYyBvYmxpcXVlIiA6ICIiKSwKQEAgLTE3NywxMSArMTc0LDkgQEAK
IAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5hbWUoKSBjb25zdAogewotICAgIGlm
IChhdXRvIHBsYXRmb3JtRm9udCA9IGZvbnQoKSkKKyAgICBpZiAoYXV0byBwbGF0Zm9ybUZvbnQg
PSBjdEZvbnQoKSkKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q29weUZhbWlseU5hbWUo
cGxhdGZvcm1Gb250KSkuZ2V0KCk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotI2VuZGlmCi0KIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5jcHAJ
KHJldmlzaW9uIDI2Njk4NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIs
OCBAQAogCiBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgp
CiB7Ci0gICAgaWYgKG1fZm9udFJlZmVyZW5jZSkKLSAgICAgICAgUmVtb3ZlRm9udE1lbVJlc291
cmNlRXgobV9mb250UmVmZXJlbmNlKTsKKyAgICBpZiAoZm9udFJlZmVyZW5jZSkKKyAgICAgICAg
UmVtb3ZlRm9udE1lbVJlc291cmNlRXgoZm9udFJlZmVyZW5jZSk7CiB9CiAKIEZvbnRQbGF0Zm9y
bURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250
RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29u
c3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRp
ZXMpCkBAIC01MSw5ICs1MSw5IEBACiAgICAgaW50IHNpemUgPSBmb250RGVzY3JpcHRpb24uY29t
cHV0ZWRQaXhlbFNpemUoKTsKICAgICBGb250UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0g
Zm9udERlc2NyaXB0aW9uLnJlbmRlcmluZ01vZGUoKTsKIAotICAgIEFTU0VSVChtX2ZvbnRSZWZl
cmVuY2UpOworICAgIEFTU0VSVChmb250UmVmZXJlbmNlKTsKIAotICAgIGF1dG8gZmFjZU5hbWUg
PSBtX25hbWUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKTsKKyAgICBhdXRvIGZhY2VO
YW1lID0gbmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpOwogICAgIGlmIChmYWNl
TmFtZS5zaXplKCkgPiBMRl9GQUNFU0laRSkgewogICAgICAgICBmYWNlTmFtZS5yZXNpemUoTEZf
RkFDRVNJWkUpOwogICAgICAgICBmYWNlTmFtZS5sYXN0KCkgPSAwOwpAQCAtNjAsNyArNjAsNyBA
QAogICAgIH0KIAogICAgIExPR0ZPTlQgbG9nRm9udCB7IH07Ci0gICAgbWVtY3B5KGxvZ0ZvbnQu
bGZGYWNlTmFtZSwgZmFjZU5hbWUuZGF0YSgpLCBzaXplb2YobG9nRm9udC5sZkZhY2VOYW1lWzBd
KSAqIHN0ZDo6bWluPHNpemVfdD4oc3RhdGljX2Nhc3Q8c2l6ZV90PihMRl9GQUNFU0laRSksIDEg
KyBtX25hbWUubGVuZ3RoKCkpKTsKKyAgICBtZW1jcHkobG9nRm9udC5sZkZhY2VOYW1lLCBmYWNl
TmFtZS5kYXRhKCksIHNpemVvZihsb2dGb250LmxmRmFjZU5hbWVbMF0pICogc3RkOjptaW48c2l6
ZV90PihzdGF0aWNfY2FzdDxzaXplX3Q+KExGX0ZBQ0VTSVpFKSwgMSArIG5hbWUubGVuZ3RoKCkp
KTsKIAogICAgIGxvZ0ZvbnQubGZIZWlnaHQgPSAtc2l6ZTsKICAgICBpZiAocmVuZGVyaW5nTW9k
ZSA9PSBGb250UmVuZGVyaW5nTW9kZTo6Tm9ybWFsKQpAQCAtODIsOSArODIsMTAgQEAKICAgICBs
b2dGb250LmxmV2VpZ2h0ID0gYm9sZCA/IDcwMCA6IDQwMDsKIAogICAgIGF1dG8gaGZvbnQgPSBh
ZG9wdEdESU9iamVjdCg6OkNyZWF0ZUZvbnRJbmRpcmVjdCgmbG9nRm9udCkpOwotI2lmIFVTRShD
RykKLSAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBjZ0ZvbnQgPSBhZG9wdENGKENHRm9udENyZWF0
ZVdpdGhQbGF0Zm9ybUZvbnQoJmxvZ0ZvbnQpKTsKLSAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0
YShXVEZNb3ZlKGhmb250KSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRl
cmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CisjaWYgVVNFKENPUkVf
VEVYVCkKKyAgICBhdXRvIGN0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEZvbnREZXNj
cmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBudWxscHRyKSk7CisgICAgYXV0byBj
Z0ZvbnQgPSBhZG9wdENGKENURm9udENvcHlHcmFwaGljc0ZvbnQoY3RGb250LmdldCgpLCBudWxs
cHRyKSk7CisgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoV1RGTW92ZShoZm9udCksIGN0Rm9u
dC5nZXQoKSwgY2dGb250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUg
PT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CiAjZWxzZQogICAgIGF1dG8gZm9udCA9
IERpcmVjdFdyaXRlOjpjcmVhdGVXaXRoUGxhdGZvcm1Gb250KGxvZ0ZvbnQpOwogICAgIHJldHVy
biBGb250UGxhdGZvcm1EYXRhKFdURk1vdmUoaGZvbnQpLCBXVEZNb3ZlKGZvbnQpLCBzaXplLCBi
b2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0
ZSk7CkBAIC0xMTAsNyArMTExLDEyIEBACiAgICAgZm9udFJlZmVyZW5jZSA9IHJlbmFtZUFuZEFj
dGl2YXRlRm9udChidWZmZXIsIGZvbnROYW1lKTsKICAgICBpZiAoIWZvbnRSZWZlcmVuY2UpCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiBtYWtlVW5pcXVlPEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGE+KGZvbnRSZWZlcmVuY2UsIGZvbnROYW1lKTsKKyAgICBhdXRvIHJlc3VsdCA9
IG1ha2VVbmlxdWU8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4oZm9udFJlZmVyZW5jZSwgZm9udE5h
bWUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgYXV0byBidWZmZXJEYXRhID0gYnVmZmVyLmNy
ZWF0ZUNGRGF0YSgpOworICAgIHJlc3VsdC0+Zm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9u
dE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRvckZyb21EYXRhKGJ1ZmZlckRhdGEuZ2V0KCkpKTsK
KyNlbmRpZgorICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGJvb2wgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YTo6c3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5nJiBmb3JtYXQpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgJKHJldmlzaW9uIDI2Njk4NikKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDYgKzI3LDEwIEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBVU0UoQ09SRV9URVhUKQorI2luY2x1
ZGUgPHBhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmg+CisjZW5kaWYKKwogdHlwZWRlZiBzdHJ1
Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ5
LDggQEAKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsK
IHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNl
LCBjb25zdCBTdHJpbmcmIG5hbWUpCi0gICAgICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZl
cmVuY2UpCi0gICAgICAgICwgbV9uYW1lKG5hbWUpCisgICAgICAgIDogZm9udFJlZmVyZW5jZShm
b250UmVmZXJlbmNlKQorICAgICAgICAsIG5hbWUobmFtZSkKICAgICB7CiAgICAgfQogCkBAIC01
Niw4ICs2MCwxMSBAQAogCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGb3JtYXQoY29uc3QgU3Ry
aW5nJik7CiAKLSAgICBIQU5ETEUgbV9mb250UmVmZXJlbmNlOwotICAgIFN0cmluZyBtX25hbWU7
CisgICAgSEFORExFIGZvbnRSZWZlcmVuY2U7CisgICAgU3RyaW5nIG5hbWU7CisjaWYgVVNFKENP
UkVfVEVYVCkKKyAgICBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gZm9udERlc2NyaXB0
b3I7CisjZW5kaWYKIH07CiAKIHN0ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9tUGxhdGZvcm1EYXRh
PiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1ZmZlciYsIGNvbnN0IFN0cmlu
ZyYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGFDYWlyby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5jcHAJKHJldmlz
aW9uIDI2Njk4NikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw4ICszNCw4
IEBACiAKIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6On5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkK
IHsKLSAgICBpZiAobV9mb250UmVmZXJlbmNlKQotICAgICAgICBSZW1vdmVGb250TWVtUmVzb3Vy
Y2VFeChtX2ZvbnRSZWZlcmVuY2UpOworICAgIGlmIChmb250UmVmZXJlbmNlKQorICAgICAgICBS
ZW1vdmVGb250TWVtUmVzb3VyY2VFeChmb250UmVmZXJlbmNlKTsKIH0KIAogRm9udFBsYXRmb3Jt
RGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBjb25z
dCBGb250RmVhdHVyZVNldHRpbmdzJiwgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGll
cykKQEAgLTQ1LDcgKzQ1LDcgQEAKIAogICAgIExPR0ZPTlQgbG9nRm9udDsKICAgICBtZW1zZXQo
JmxvZ0ZvbnQsIDAsIHNpemVvZihMT0dGT05UKSk7Ci0gICAgd2NzbmNweShsb2dGb250LmxmRmFj
ZU5hbWUsIG1fbmFtZS53aWRlQ2hhcmFjdGVycygpLmRhdGEoKSwgTEZfRkFDRVNJWkUgLSAxKTsK
KyAgICB3Y3NuY3B5KGxvZ0ZvbnQubGZGYWNlTmFtZSwgbmFtZS53aWRlQ2hhcmFjdGVycygpLmRh
dGEoKSwgTEZfRkFDRVNJWkUgLSAxKTsKIAogICAgIGxvZ0ZvbnQubGZIZWlnaHQgPSAtc2l6ZTsK
ICAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBGb250UmVuZGVyaW5nTW9kZTo6Tm9ybWFsKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFD
R1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAJKHJldmlzaW9uIDI2Njk4NikKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsMjUgKzEyMCwxNyBAQAogICAgICAgICBtX2lzU3lzdGVt
Rm9udCA9ICF3Y3NjbXAoZmFjZU5hbWUsIEwiTHVjaWRhIEdyYW5kZSIpOwogfQogCi1Gb250UGxh
dGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4gaGZvbnQsIENHRm9u
dFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSwgYm9vbCB1c2VH
REkpCitGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4g
aGZvbnQsIENURm9udFJlZiBjdEZvbnQsIENHRm9udFJlZiBjZ0ZvbnQsIGZsb2F0IHNpemUsIGJv
b2wgYm9sZCwgYm9vbCBvYmxpcXVlLCBib29sIHVzZUdESSkKICAgICA6IG1fc3ludGhldGljQm9s
ZChib2xkKQogICAgICwgbV9zeW50aGV0aWNPYmxpcXVlKG9ibGlxdWUpCiAgICAgLCBtX3NpemUo
c2l6ZSkKICAgICAsIG1fZm9udChTaGFyZWRHRElPYmplY3Q8SEZPTlQ+OjpjcmVhdGUoV1RGTW92
ZShoZm9udCkpKQotICAgICwgbV9jZ0ZvbnQoZm9udCkKLSAgICAsIG1fY3RGb250KGFkb3B0Q0Yo
Q1RGb250Q3JlYXRlV2l0aEdyYXBoaWNzRm9udChtX2NnRm9udC5nZXQoKSwgc2l6ZSwgbnVsbHB0
ciwgbnVsbHB0cikpKQorICAgICwgbV9jZ0ZvbnQoY2dGb250KQorICAgICwgbV9jdEZvbnQoY3RG
b250KQogICAgICwgbV91c2VHREkodXNlR0RJKQogewogfQogCi1Gb250UGxhdGZvcm1EYXRhOjpG
b250UGxhdGZvcm1EYXRhKENHRm9udFJlZiBjZ0ZvbnQsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhl
dGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24gb3JpZW50YXRp
b24sIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50LCBUZXh0UmVuZGVyaW5nTW9kZSB0ZXh0
UmVuZGVyaW5nTW9kZSkKLSAgICA6IEZvbnRQbGF0Zm9ybURhdGEoc2l6ZSwgc3ludGhldGljQm9s
ZCwgc3ludGhldGljT2JsaXF1ZSwgb3JpZW50YXRpb24sIHdpZHRoVmFyaWFudCwgdGV4dFJlbmRl
cmluZ01vZGUpCi17Ci0gICAgbV9jZ0ZvbnQgPSBjZ0ZvbnQ7Ci0gICAgQVNTRVJUKG1fY2dGb250
KTsKLSAgICBtX2N0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEdyYXBoaWNzRm9udCht
X2NnRm9udC5nZXQoKSwgc2l6ZSwgbnVsbHB0ciwgbnVsbHB0cikpOwotfQotCiB1bnNpZ25lZCBG
b250UGxhdGZvcm1EYXRhOjpoYXNoKCkgY29uc3QKIHsKICAgICB1bnNpZ25lZCBmb250SGFzaCA9
IG1fZm9udCA/IG1fZm9udC0+aGFzaCgpIDogMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRh
Q2Fpcm9XaW4uY3BwCShyZXZpc2lvbiAyNjY5ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNhaXJvV2luLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZvbnRQ
bGF0Zm9ybURhdGEuaCIKIAorI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KQEAgLTM0LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgPGNhaXJvLXdpbjMyLmg+CiAK
LQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIEZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3Jt
RGF0YUluaXQoSEZPTlQgZm9udCwgZmxvYXQgc2l6ZSwgSERDIGhkYywgV0NIQVIqIGZhY2VOYW1l
KQpAQCAtOTYsNCArOTYsOSBAQAogICAgICAgICAmJiBtX3VzZUdESSA9PSBvdGhlci5tX3VzZUdE
STsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVU
YWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3QKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1PcGVuVHlw
ZVRhYmxlKHRhYmxlKTsKIH0KKworfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcAkocmV2
aXNpb24gMjY2OTg2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Zv
bnRQbGF0Zm9ybURhdGFXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCw3ICs2MCw3IEBACiAg
ICAgUmVzdG9yZURDKGhkYywgLTEpOwogfQogCi1SZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxh
dGZvcm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAorUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQz
Ml90IHRhYmxlKSBjb25zdAogewogICAgIEhXbmREQyBoZGMoMCk7CiAgICAgSEdESU9CSiBvbGRG
b250ID0gU2VsZWN0T2JqZWN0KGhkYywgaGZvbnQoKSk7CkBAIC03OCwxMSArNzgsNCBAQAogICAg
IHJldHVybiBidWZmZXI7CiB9CiAKLSNpZiAhTE9HX0RJU0FCTEVECi1TdHJpbmcgRm9udFBsYXRm
b3JtRGF0YTo6ZGVzY3JpcHRpb24oKSBjb25zdAotewotICAgIHJldHVybiBTdHJpbmcoKTsKIH0K
LSNlbmRpZgotCi19Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408691</attachid>
            <date>2020-09-14 01:56:42 -0700</date>
            <delta_ts>2020-09-14 13:52:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216448-20200914015641.patch</filename>
            <type>text/plain</type>
            <size>28553</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTA3NzFiZDg3NWU4NDhl
YjMzYWU1YjY4N2U1ZGRkNDliYzcyZjAwMS4uNWZlYjY4NGU1ZTU4NzMyZjUzM2E3MGIwZjg5MmU1
MTA3YWYxNTVhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIwLTA5LTE0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gTWlncmF0ZSBmcm9tIEZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIHRvIEZvbnRQbGF0Zm9ybURh
dGFDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgaXMgb25lIG9mIHRoZSBzdGVwcyB0b3dhcmQgbWlncmF0aW5nIHRoZSBBcHBs
ZSBXaW4gcG9ydCBvZmYgb2YgQ0dGb250IGFuZCBvbiB0bworICAgICAgICBDVEZvbnQuIFRoaXMg
cGF0Y2ggcmVtb3ZlcyB0aGUgI2lmICFQTEFURk9STShXSU4pIGd1YXJkIGluIEZvbnRQbGF0Zm9y
bURhdGFDb3JlVGV4dC5jcHAKKyAgICAgICAgYW5kIGRlbGV0ZXMgdGhlIG9sZCBmdW5jdGlvbnMg
aXQgdXNlZCB0byBiZSB1c2luZy4gSXQgZml4ZXMgdXAgdGhlIENvcmUgVGV4dCBmdW5jdGlvbnMg
dG8KKyAgICAgICAgdXNlIGN0Rm9udCgpIGluc3RlYWQgb2YgZm9udCgpLCBiZWNhdXNlIGZvbnQo
KSByZXR1cm5zIHRoZSBIRk9OVCBvbiBXaW5kb3dzLgorCisgICAgICAgIEl0IGFsc28gYWRkcyBh
IG5ldyBoZWxwZXIsIHBsYXRmb3JtT3BlblR5cGVUYWJsZSgpLCBiZWNhdXNlIGl0IGxvb2tzIGxp
a2UKKyAgICAgICAgQ1RGb250Q29weVRhYmxlKCkgc29tZXRpbWVzIGZhaWxzLCBzbyB3ZSBjYW4g
dXNlIHRoaXMgZnVuY3Rpb24gdG8gZmFsbCBiYWNrIHRvIHVzaW5nIHRoZQorICAgICAgICBIRk9O
VCBhbmQgdGhlIHdpbjMyIEFQSSBpbnN0ZWFkLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Zm9udCBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpyZWdpc3RlcmVk
Rm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJs
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1l
IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6On5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURh
dGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3Jt
RGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFD
YWlyb1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlw
ZVRhYmxlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRm
b3JtRGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpwbGF0
Zm9ybU9wZW5UeXBlVGFibGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3Jt
RGF0YTo6b3BlblR5cGVUYWJsZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpG
b250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlvbiBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjAtMDkt
MTQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBb
QXBwbGUgV2luXSBNaWdyYXRlIGZyb20gQ0dGb250R2V0R2x5cGhzRm9yVW5pY2hhcnMoKSB0byBD
VEZvbnRHZXRHbHlwaHNGb3JDaGFyYWN0ZXJzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGIyZTcy
YmMzNDAzOWVmMzQ1M2IzNTIyMzA1Njg0MTljZjA4N2JlNDYuLmVkZGU2YTA0MjIzMzY4ODIwMDQw
MGQyNmQzOTNjNmQ5YTk4OTRhMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTA5LTE0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisK
KyAgICAgICAgW0FwcGxlIFdpbl0gTWlncmF0ZSBmcm9tIEZvbnRQbGF0Zm9ybURhdGFXaW4uY3Bw
IHRvIEZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL3NwaS93aW4vQ29yZVRleHRTUElXaW4uaDoK
KwogMjAyMC0wOS0xMyAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAg
IENsZWFuIHVwIEFWS2l0U1BJLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL3dpbi9Db3JlVGV4dFNQSVdpbi5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2lu
L0NvcmVUZXh0U1BJV2luLmgKaW5kZXggOTBlZTljZjg1YTk5ZTZlYWZlODQwMmViNzgzM2YxYzg4
M2VjODY0NC4uOGY4YTY1NTI4OGRmODFiN2VjMWZkYzY1ZTQ1MWFjMzk3YmZkYTVjMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmgKQEAgLTEy
OSw2ICsxMjksNyBAQCBDR0Zsb2F0IENURm9udEdldFVuZGVybGluZVRoaWNrbmVzcyhDVEZvbnRS
ZWYpOwogQ0dGbG9hdCBDVEZvbnRHZXRTaXplKENURm9udFJlZik7CiBDVEZvbnRTeW1ib2xpY1Ry
YWl0cyBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhDVEZvbnRSZWYpOwogQ0ZDaGFyYWN0ZXJTZXRS
ZWYgQ1RGb250Q29weUNoYXJhY3RlclNldChDVEZvbnRSZWYpOworQ0dGb250UmVmIENURm9udENv
cHlHcmFwaGljc0ZvbnQoQ1RGb250UmVmLCBDVEZvbnREZXNjcmlwdG9yUmVmKiBhdHRyaWJ1dGVz
KTsKIENGU3RyaW5nUmVmIENURm9udENvcHlGYW1pbHlOYW1lKENURm9udFJlZik7CiBDRlN0cmlu
Z1JlZiBDVEZvbnRDb3B5RnVsbE5hbWUoQ1RGb250UmVmKTsKIENURm9udFJlZiBDVEZvbnRDcmVh
dGVDb3B5V2l0aEF0dHJpYnV0ZXMoQ1RGb250UmVmLCBDR0Zsb2F0IHNpemUsIGNvbnN0IENHQWZm
aW5lVHJhbnNmb3JtKiBtYXRyaXgsIENURm9udERlc2NyaXB0b3JSZWYgYXR0cmlidXRlcyk7CkBA
IC0xNTQsNiArMTU1LDggQEAgYm9vbCBDVEZvbnRHZXRHbHlwaHNGb3JDaGFyYWN0ZXJSYW5nZShD
VEZvbnRSZWYsIENHR2x5cGhbXSwgQ0ZSYW5nZSk7CiBDRkRhdGFSZWYgQ1RGb250Q29weVRhYmxl
KENURm9udFJlZiwgQ1RGb250VGFibGVUYWcsIENURm9udFRhYmxlT3B0aW9ucyk7CiBib29sIENU
Rm9udEdldFZlcnRpY2FsR2x5cGhzRm9yQ2hhcmFjdGVycyhDVEZvbnRSZWYsIGNvbnN0IFVuaUNo
YXJbXSwgQ0dHbHlwaFtdLCBDRkluZGV4IGNvdW50KTsKIAorQ1RGb250RGVzY3JpcHRvclJlZiBD
VEZvbnRNYW5hZ2VyQ3JlYXRlRm9udERlc2NyaXB0b3JGcm9tRGF0YShDRkRhdGFSZWYpOworCiBD
VEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlcyhD
RkRpY3Rpb25hcnlSZWYpOwogYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoQ1RG
b250RGVzY3JpcHRvclJlZik7CiBDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JD
cmVhdGVXaXRoTmFtZUFuZFNpemUoQ0ZTdHJpbmdSZWYsIENHRmxvYXQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAppbmRl
eCAyNjVhM2Q3YThjYTYxNmQxMjBhNWYyMDI4MWU2MWZlZDcxMTIzZjM4Li4wYWE1MTc1ZWUwNWE2
YTQxYWRjNGMyZjMxNjAyNzk5ZGZmYTY2ZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcApAQCAtNzksNyArNzksNyBA
QCBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6OmNsb25lV2l0aFNpemUoY29uc3Qg
Rm9udFBsYXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlmCiAKLSNpZiAhVVNFKENPUkVfVEVY
VCkgfHwgUExBVEZPUk0oV0lOKQorI2lmICFVU0UoQ09SRV9URVhUKQogCiBTdHJpbmcgRm9udFBs
YXRmb3JtRGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggYmM3ZmNhYmE2OGVm
OTRiYzRkODAwMDZhNDU4NzVhNTY1MGQ2OGNmOS4uMThmMjMxYWVjMzAxNmRkY2ZjZWJmOWM0ZTcw
NjIxZTdjNzc4N2IzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtODgsOSArODgsOCBAQCBwdWJsaWM6CiAKICNpZiBQ
TEFURk9STShXSU4pCiAgICAgRm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBmbG9h
dCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1
c2VHREkpOwotI2lmIFVTRShDRykKLSAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9O
VD4sIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRo
ZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKLSAgICBGb250UGxhdGZvcm1EYXRhKENHRm9udFJl
ZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUs
IEZvbnRPcmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUpOwor
I2lmIFVTRShDT1JFX1RFWFQpCisgICAgRm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+
LCBDVEZvbnRSZWYsIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKICNlbmRpZgogI2lmIFVTRShESVJF
Q1QyRCkKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4mJiwgQ09NUHRyPElE
V3JpdGVGb250PiYmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhl
dGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwpAQCAtMTE0LDE4ICsxMTMsMjAgQEAgcHVibGljOgog
I2lmIFVTRShDRykKICAgICBDR0ZvbnRSZWYgY2dGb250KCkgY29uc3QgeyByZXR1cm4gbV9jZ0Zv
bnQuZ2V0KCk7IH0KICNlbmRpZgotI2lmIFVTRShDT1JFX1RFWFQpCi0gICAgQ1RGb250UmVmIGN0
Rm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY3RGb250LmdldCgpOyB9CiAjZW5kaWYKLSNlbGlmIFVT
RShDT1JFX1RFWFQpCi0gICAgQ1RGb250UmVmIGZvbnQoKSBjb25zdCB7IHJldHVybiBtX2ZvbnQu
Z2V0KCk7IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRSZWYgcmVnaXN0ZXJlZEZvbnQoKSBj
b25zdDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9udCBpcyBub3QgcmVnaXN0ZXJlZCwg
c3VjaCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5zIGZvbnQoKSkuCiAKLSAgICBDVEZv
bnRSZWYgY3RGb250KCkgY29uc3Q7CisjaWYgVVNFKENPUkVfVEVYVCkKKyAgICBXRUJDT1JFX0VY
UE9SVCBDVEZvbnRSZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25zdDsgLy8gUmV0dXJucyBudWxscHRy
IGlmZiB0aGUgZm9udCBpcyBub3QgcmVnaXN0ZXJlZCwgc3VjaCBhcyB3ZWIgZm9udHMgKG90aGVy
d2lzZSByZXR1cm5zIGZvbnQoKSkuCiAgICAgc3RhdGljIFJldGFpblB0cjxDRlR5cGVSZWY+IG9i
amVjdEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmKTsKICAgICBSZXRhaW5QdHI8Q0ZUeXBlUmVm
PiBvYmplY3RGb3JFcXVhbGl0eUNoZWNrKCkgY29uc3Q7Ci0KICAgICBib29sIGhhc0N1c3RvbVRy
YWNraW5nKCkgY29uc3QgeyByZXR1cm4gaXNTeXN0ZW1Gb250KCk7IH0KKworI2lmIFBMQVRGT1JN
KFdJTikKKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3QgeyByZXR1cm4gbV9jdEZvbnQuZ2V0
KCk7IH0KKyNlbHNlCisgICAgQ1RGb250UmVmIGZvbnQoKSBjb25zdCB7IHJldHVybiBtX2ZvbnQu
Z2V0KCk7IH0KKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Q7CisjZW5kaWYKICNlbmRpZgog
CiAjaWYgUExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShDT0NPQSkKQEAgLTE5NCw2ICsxOTUsNyBA
QCBwdWJsaWM6CiAgICAgfQogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gb3BlblR5cGVUYWJs
ZSh1aW50MzJfdCB0YWJsZSkgY29uc3Q7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcGxhdGZv
cm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdDsKIAogICAgIFN0cmluZyBkZXNj
cmlwdGlvbigpIGNvbnN0OwogCkBAIC0yMTQsMTAgKzIxNiw4IEBAIHByaXZhdGU6CiAKICNpZiBQ
TEFURk9STShXSU4pCiAgICAgUmVmUHRyPFNoYXJlZEdESU9iamVjdDxIRk9OVD4+IG1fZm9udDsg
Ly8gRklYTUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1fY3RGb250IG9yIG1fZHdGb250IG9y
IG1fc2NhbGVkRm9udC4KLSNpZiBVU0UoQ0cpCi0gICAgUmV0YWluUHRyPENHRm9udFJlZj4gbV9j
Z0ZvbnQ7IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBtX2N0Rm9udC4KLSNlbmRp
ZgogI2lmIFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7
IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBtX2N0Rm9udC4KICAgICBSZXRhaW5Q
dHI8Q1RGb250UmVmPiBtX2N0Rm9udDsKICNlbmRpZgogI2VsaWYgVVNFKENPUkVfVEVYVCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0
Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCBjOTdkNTBhNTI2YTJmZDcxOGRiOWNjNjIw
MTZjMzI1ZWQ4MWIzYjNkLi45MDAwZWY1MjlmYzgxOGUzMGEyNDBiNzBhNDQ1MTRlMDFhZWY5ZDdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBAIC01Niw0ICs1Niw5IEBAIGJvb2wg
Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEm
IG90aGVyKSBjb25zdAogICAgIHJldHVybiBDRkVxdWFsKG1fZm9udC5nZXQoKSwgb3RoZXIubV9m
b250LmdldCgpKTsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6
cGxhdGZvcm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90KSBjb25zdAoreworICAgIHJldHVybiBudWxs
cHRyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udFBsYXRm
b3JtRGF0YUNvcmVUZXh0LmNwcAppbmRleCA0Y2I4MDFjN2QxNDcwMTU2MWMyYTA5YzFhN2Y0N2Nj
NmU4Yzg4ODcxLi5kY2M3OWFkOGNhODVmNGY3NDI4M2JiYWZmMWQ1OTM3ZTUyNDYwN2FiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxh
dGZvcm1EYXRhQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvcmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAKQEAgLTM1LDE1ICszNSwx
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAhUExBVEZPUk0oV0lOKQotCiBGb250
UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXpl
LCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0
aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRl
cmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCiAgICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUs
IHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlh
bnQsIHRleHRSZW5kZXJpbmdNb2RlKQogewogICAgIEFTU0VSVF9BUkcoZm9udCwgZm9udCk7Cisj
aWYgUExBVEZPUk0oV0lOKQorICAgIG1fY3RGb250ID0gZm9udDsKKyNlbHNlCiAgICAgbV9mb250
ID0gZm9udDsKKyNlbmRpZgogICAgIG1faXNDb2xvckJpdG1hcEZvbnQgPSBDVEZvbnRHZXRTeW1i
b2xpY1RyYWl0cyhmb250KSAmIGtDVEZvbnRDb2xvckdseXBoc1RyYWl0OwotICAgIG1faXNTeXN0
ZW1Gb250ID0gV2ViQ29yZTo6aXNTeXN0ZW1Gb250KG1fZm9udC5nZXQoKSk7CisgICAgbV9pc1N5
c3RlbUZvbnQgPSBXZWJDb3JlOjppc1N5c3RlbUZvbnQoZm9udCk7CiAgICAgYXV0byB2YXJpYXRp
b25zID0gYWRvcHRDRihzdGF0aWNfY2FzdDxDRkRpY3Rpb25hcnlSZWY+KENURm9udENvcHlBdHRy
aWJ1dGUoZm9udCwga0NURm9udFZhcmlhdGlvbkF0dHJpYnV0ZSkpKTsKICAgICBtX2hhc1Zhcmlh
dGlvbnMgPSB2YXJpYXRpb25zICYmIENGRGljdGlvbmFyeUdldENvdW50KHZhcmlhdGlvbnMuZ2V0
KCkpOwogCkBAIC02Myw3ICs2NSw3IEBAIGJvb2wgaXNTeXN0ZW1Gb250KENURm9udFJlZiBmb250
KQogCiBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6cmVnaXN0ZXJlZEZvbnQoKSBjb25zdAog
ewotICAgIENURm9udFJlZiBwbGF0Zm9ybUZvbnQgPSBmb250KCk7CisgICAgQ1RGb250UmVmIHBs
YXRmb3JtRm9udCA9IGN0Rm9udCgpOwogICAgIEFTU0VSVChwbGF0Zm9ybUZvbnQpOwogICAgIGlm
IChwbGF0Zm9ybUZvbnQgJiYgYWRvcHRDRihDVEZvbnRDb3B5QXR0cmlidXRlKHBsYXRmb3JtRm9u
dCwga0NURm9udFVSTEF0dHJpYnV0ZSkpKQogICAgICAgICByZXR1cm4gcGxhdGZvcm1Gb250OwpA
QCAtMTMyLDExICsxMzQsNiBAQCBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkg
Y29uc3QKIAogICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsKIH0KLSNlbHNlCi1DVEZvbnRSZWYg
Rm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZm9udCgpOwot
fQogI2VuZGlmCiAKIFJldGFpblB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0Zm9ybURhdGE6Om9iamVj
dEZvckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmIGN0Rm9udCkKQEAgLTE1NiwxNyArMTUzLDE3IEBA
IFJldGFpblB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0Zm9ybURhdGE6Om9iamVjdEZvckVxdWFsaXR5
Q2hlY2soKSBjb25zdAogCiBSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpv
cGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAogewotICAgIGlmIChSZXRhaW5QdHI8
Q0ZEYXRhUmVmPiBkYXRhID0gYWRvcHRDRihDVEZvbnRDb3B5VGFibGUoZm9udCgpLCB0YWJsZSwg
a0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSkpCisgICAgaWYgKFJldGFpblB0cjxDRkRhdGFS
ZWY+IGRhdGEgPSBhZG9wdENGKENURm9udENvcHlUYWJsZShjdEZvbnQoKSwgdGFibGUsIGtDVEZv
bnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpKQogICAgICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjpj
cmVhdGUoZGF0YS5nZXQoKSk7CiAKLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gcGxh
dGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsKIH0KIAogI2lmICFMT0dfRElTQUJMRUQKIAogU3Ry
aW5nIEZvbnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QKIHsKLSAgICBTdHJpbmcg
Zm9udERlc2NyaXB0aW9uIHsgYWRvcHRDRihDRkNvcHlEZXNjcmlwdGlvbihmb250KCkpKS5nZXQo
KSB9OworICAgIFN0cmluZyBmb250RGVzY3JpcHRpb24geyBhZG9wdENGKENGQ29weURlc2NyaXB0
aW9uKGN0Rm9udCgpKSkuZ2V0KCkgfTsKICAgICByZXR1cm4gbWFrZVN0cmluZyhmb250RGVzY3Jp
cHRpb24sICcgJywgbV9zaXplLAogICAgICAgICAobV9zeW50aGV0aWNCb2xkID8gIiBzeW50aGV0
aWMgYm9sZCIgOiAiIiksCiAgICAgICAgIChtX3N5bnRoZXRpY09ibGlxdWUgPyAiIHN5bnRoZXRp
YyBvYmxpcXVlIiA6ICIiKSwKQEAgLTE3NywxMSArMTc0LDkgQEAgU3RyaW5nIEZvbnRQbGF0Zm9y
bURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmZh
bWlseU5hbWUoKSBjb25zdAogewotICAgIGlmIChhdXRvIHBsYXRmb3JtRm9udCA9IGZvbnQoKSkK
KyAgICBpZiAoYXV0byBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQoKSkKICAgICAgICAgcmV0dXJuIGFk
b3B0Q0YoQ1RGb250Q29weUZhbWlseU5hbWUocGxhdGZvcm1Gb250KSkuZ2V0KCk7CiAgICAgcmV0
dXJuIHsgfTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmNwcAppbmRleCAxNDBlYzE2ZWIxNWQ2ZmM5ZmRhNDBiY2I1MWJiYTBm
ZjBhYzMzYjM2Li44NDRlMGUxMmRiZDJmZTQxYTE1NGQ1NjlkYTZhZDg4NGI4NDc0MmJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuY3BwCkBAIC00Miw4ICs0Miw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURh
dGEoKQogewotICAgIGlmIChtX2ZvbnRSZWZlcmVuY2UpCi0gICAgICAgIFJlbW92ZUZvbnRNZW1S
ZXNvdXJjZUV4KG1fZm9udFJlZmVyZW5jZSk7CisgICAgaWYgKGZvbnRSZWZlcmVuY2UpCisgICAg
ICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJjZUV4KGZvbnRSZWZlcmVuY2UpOwogfQogCiBGb250UGxh
dGZvcm1EYXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMs
IGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzKQpAQCAtNTEsMTYgKzUxLDE2IEBAIEZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mCiAgICAg
aW50IHNpemUgPSBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKTsKICAgICBGb250
UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gZm9udERlc2NyaXB0aW9uLnJlbmRlcmluZ01v
ZGUoKTsKIAotICAgIEFTU0VSVChtX2ZvbnRSZWZlcmVuY2UpOworICAgIEFTU0VSVChmb250UmVm
ZXJlbmNlKTsKIAotICAgIGF1dG8gZmFjZU5hbWUgPSBtX25hbWUuY2hhcmFjdGVyc1dpdGhOdWxs
VGVybWluYXRpb24oKTsKKyAgICBhdXRvIGZhY2VOYW1lID0gbmFtZS5jaGFyYWN0ZXJzV2l0aE51
bGxUZXJtaW5hdGlvbigpOwogICAgIGlmIChmYWNlTmFtZS5zaXplKCkgPiBMRl9GQUNFU0laRSkg
ewogICAgICAgICBmYWNlTmFtZS5yZXNpemUoTEZfRkFDRVNJWkUpOwogICAgICAgICBmYWNlTmFt
ZS5sYXN0KCkgPSAwOwogICAgIH0KIAogICAgIExPR0ZPTlQgbG9nRm9udCB7IH07Ci0gICAgbWVt
Y3B5KGxvZ0ZvbnQubGZGYWNlTmFtZSwgZmFjZU5hbWUuZGF0YSgpLCBzaXplb2YobG9nRm9udC5s
ZkZhY2VOYW1lWzBdKSAqIHN0ZDo6bWluPHNpemVfdD4oc3RhdGljX2Nhc3Q8c2l6ZV90PihMRl9G
QUNFU0laRSksIDEgKyBtX25hbWUubGVuZ3RoKCkpKTsKKyAgICBtZW1jcHkobG9nRm9udC5sZkZh
Y2VOYW1lLCBmYWNlTmFtZS5kYXRhKCksIHNpemVvZihsb2dGb250LmxmRmFjZU5hbWVbMF0pICog
c3RkOjptaW48c2l6ZV90PihzdGF0aWNfY2FzdDxzaXplX3Q+KExGX0ZBQ0VTSVpFKSwgMSArIG5h
bWUubGVuZ3RoKCkpKTsKIAogICAgIGxvZ0ZvbnQubGZIZWlnaHQgPSAtc2l6ZTsKICAgICBpZiAo
cmVuZGVyaW5nTW9kZSA9PSBGb250UmVuZGVyaW5nTW9kZTo6Tm9ybWFsKQpAQCAtODIsOSArODIs
MTAgQEAgRm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZv
cm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYKICAgICBsb2dGb250LmxmV2VpZ2h0ID0gYm9s
ZCA/IDcwMCA6IDQwMDsKIAogICAgIGF1dG8gaGZvbnQgPSBhZG9wdEdESU9iamVjdCg6OkNyZWF0
ZUZvbnRJbmRpcmVjdCgmbG9nRm9udCkpOwotI2lmIFVTRShDRykKLSAgICBSZXRhaW5QdHI8Q0dG
b250UmVmPiBjZ0ZvbnQgPSBhZG9wdENGKENHRm9udENyZWF0ZVdpdGhQbGF0Zm9ybUZvbnQoJmxv
Z0ZvbnQpKTsKLSAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0YShXVEZNb3ZlKGhmb250KSwgY2dG
b250LmdldCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRl
cmluZ01vZGU6OkFsdGVybmF0ZSk7CisjaWYgVVNFKENPUkVfVEVYVCkKKyAgICBhdXRvIGN0Rm9u
dCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9y
LmdldCgpLCBzaXplLCBudWxscHRyKSk7CisgICAgYXV0byBjZ0ZvbnQgPSBhZG9wdENGKENURm9u
dENvcHlHcmFwaGljc0ZvbnQoY3RGb250LmdldCgpLCBudWxscHRyKSk7CisgICAgcmV0dXJuIEZv
bnRQbGF0Zm9ybURhdGEoV1RGTW92ZShoZm9udCksIGN0Rm9udC5nZXQoKSwgY2dGb250LmdldCgp
LCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6
OkFsdGVybmF0ZSk7CiAjZWxzZQogICAgIGF1dG8gZm9udCA9IERpcmVjdFdyaXRlOjpjcmVhdGVX
aXRoUGxhdGZvcm1Gb250KGxvZ0ZvbnQpOwogICAgIHJldHVybiBGb250UGxhdGZvcm1EYXRhKFdU
Rk1vdmUoaGZvbnQpLCBXVEZNb3ZlKGZvbnQpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmlu
Z01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CkBAIC0xMTAsNyArMTExLDEy
IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9tUGxhdGZvcm1EYXRhPiBjcmVhdGVGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1ZmZlCiAgICAgZm9udFJlZmVyZW5jZSA9IHJlbmFtZUFu
ZEFjdGl2YXRlRm9udChidWZmZXIsIGZvbnROYW1lKTsKICAgICBpZiAoIWZvbnRSZWZlcmVuY2Up
CiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiBtYWtlVW5pcXVlPEZvbnRDdXN0
b21QbGF0Zm9ybURhdGE+KGZvbnRSZWZlcmVuY2UsIGZvbnROYW1lKTsKKyAgICBhdXRvIHJlc3Vs
dCA9IG1ha2VVbmlxdWU8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4oZm9udFJlZmVyZW5jZSwgZm9u
dE5hbWUpOworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgYXV0byBidWZmZXJEYXRhID0gYnVmZmVy
LmNyZWF0ZUNGRGF0YSgpOworICAgIHJlc3VsdC0+Zm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENU
Rm9udE1hbmFnZXJDcmVhdGVGb250RGVzY3JpcHRvckZyb21EYXRhKGJ1ZmZlckRhdGEuZ2V0KCkp
KTsKKyNlbmRpZgorICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGJvb2wgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YTo6c3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5nJiBmb3JtYXQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAppbmRleCAxYjJmZjJiNzQ3YzliOWM5MWMwNmNlYTViMGE5NjYxYTMwNTJi
YjY1Li4wMTE1M2MzYWNjMzc1OTEyNjM3NGE1ODIzY2M2NzBiNmQ1YzQ2Njc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI3LDYgKzI3LDEwIEBACiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBVU0UoQ09S
RV9URVhUKQorI2luY2x1ZGUgPHBhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmg+CisjZW5kaWYK
KwogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTQ1LDggKzQ5LDggQEAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogcHVibGljOgog
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0
cmluZyYgbmFtZSkKLSAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKLSAg
ICAgICAgLCBtX25hbWUobmFtZSkKKyAgICAgICAgOiBmb250UmVmZXJlbmNlKGZvbnRSZWZlcmVu
Y2UpCisgICAgICAgICwgbmFtZShuYW1lKQogICAgIHsKICAgICB9CiAKQEAgLTU2LDggKzYwLDEx
IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRm9ybWF0KGNvbnN0IFN0cmlu
ZyYpOwogCi0gICAgSEFORExFIG1fZm9udFJlZmVyZW5jZTsKLSAgICBTdHJpbmcgbV9uYW1lOwor
ICAgIEhBTkRMRSBmb250UmVmZXJlbmNlOworICAgIFN0cmluZyBuYW1lOworI2lmIFVTRShDT1JF
X1RFWFQpCisgICAgUmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+IGZvbnREZXNjcmlwdG9y
OworI2VuZGlmCiB9OwogCiBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4g
Y3JlYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YShTaGFyZWRCdWZmZXImLCBjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5jcHAKaW5kZXggOGI2ODI1ZjNm
MTk0MGYxYmVjM2VhYmFmMTVlZjkzMjg2YzZhNjM5Yy4uZTA3NDhkMjkxOTI0MzU5ZWJlOGFlZWJk
ODljNzk2YWVkZTA0NmMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5j
cHAKQEAgLTM0LDggKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpCiB7Ci0gICAgaWYgKG1fZm9udFJl
ZmVyZW5jZSkKLSAgICAgICAgUmVtb3ZlRm9udE1lbVJlc291cmNlRXgobV9mb250UmVmZXJlbmNl
KTsKKyAgICBpZiAoZm9udFJlZmVyZW5jZSkKKyAgICAgICAgUmVtb3ZlRm9udE1lbVJlc291cmNl
RXgoZm9udFJlZmVyZW5jZSk7CiB9CiAKIEZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNj
cmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5n
cyYsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpCkBAIC00NSw3ICs0NSw3IEBA
IEZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0
YShjb25zdCBGb250RGVzY3JpcHRpb24mCiAKICAgICBMT0dGT05UIGxvZ0ZvbnQ7CiAgICAgbWVt
c2V0KCZsb2dGb250LCAwLCBzaXplb2YoTE9HRk9OVCkpOwotICAgIHdjc25jcHkobG9nRm9udC5s
ZkZhY2VOYW1lLCBtX25hbWUud2lkZUNoYXJhY3RlcnMoKS5kYXRhKCksIExGX0ZBQ0VTSVpFIC0g
MSk7CisgICAgd2NzbmNweShsb2dGb250LmxmRmFjZU5hbWUsIG5hbWUud2lkZUNoYXJhY3RlcnMo
KS5kYXRhKCksIExGX0ZBQ0VTSVpFIC0gMSk7CiAKICAgICBsb2dGb250LmxmSGVpZ2h0ID0gLXNp
emU7CiAgICAgaWYgKHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6Ok5vcm1hbCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxh
dGZvcm1EYXRhQ0dXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKaW5kZXggMzBhNDRkZDE0YzFiNmZmZmQ2Y2JjZTc0
NzI1OTg5NTRkOTIwNzhlMi4uMGJkNzA3ZjFjNTVmMmY2NGJhMzI2MTczOTdjZmIxYTI3MTMzODE5
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQ
bGF0Zm9ybURhdGFDR1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKQEAgLTEyMCwyNSArMTIwLDE3IEBAIHZv
aWQgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhSW5pdChIRk9OVCBmb250LCBmbG9hdCBz
aXplLCBIREMgaGRjLCBXQ0hBUioKICAgICAgICAgbV9pc1N5c3RlbUZvbnQgPSAhd2NzY21wKGZh
Y2VOYW1lLCBMIkx1Y2lkYSBHcmFuZGUiKTsKIH0KIAotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBs
YXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGhmb250LCBDR0ZvbnRSZWYgZm9udCwgZmxvYXQg
c2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUsIGJvb2wgdXNlR0RJKQorRm9udFBsYXRmb3Jt
RGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGhmb250LCBDVEZvbnRSZWYg
Y3RGb250LCBDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2Js
aXF1ZSwgYm9vbCB1c2VHREkpCiAgICAgOiBtX3N5bnRoZXRpY0JvbGQoYm9sZCkKICAgICAsIG1f
c3ludGhldGljT2JsaXF1ZShvYmxpcXVlKQogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2Zv
bnQoU2hhcmVkR0RJT2JqZWN0PEhGT05UPjo6Y3JlYXRlKFdURk1vdmUoaGZvbnQpKSkKLSAgICAs
IG1fY2dGb250KGZvbnQpCi0gICAgLCBtX2N0Rm9udChhZG9wdENGKENURm9udENyZWF0ZVdpdGhH
cmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKSkKKyAg
ICAsIG1fY2dGb250KGNnRm9udCkKKyAgICAsIG1fY3RGb250KGN0Rm9udCkKICAgICAsIG1fdXNl
R0RJKHVzZUdESSkKIHsKIH0KIAotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShD
R0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJp
YW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCi0g
ICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlx
dWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQotewotICAg
IG1fY2dGb250ID0gY2dGb250OwotICAgIEFTU0VSVChtX2NnRm9udCk7Ci0gICAgbV9jdEZvbnQg
PSBhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNp
emUsIG51bGxwdHIsIG51bGxwdHIpKTsKLX0KLQogdW5zaWduZWQgRm9udFBsYXRmb3JtRGF0YTo6
aGFzaCgpIGNvbnN0CiB7CiAgICAgdW5zaWduZWQgZm9udEhhc2ggPSBtX2ZvbnQgPyBtX2ZvbnQt
Pmhhc2goKSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udFBsYXRmb3JtRGF0YUNhaXJvV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCmluZGV4IGExZGI1
MmVlMWM2YjRkM2ZlMTBiZTFmMWU3MmQxNTBkNWFiYTliY2IuLjM4MmJmYTg2YzczOGQyYzk0Mzc5
YTc1MTFmMDdjOWM0ZmFhNTAxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3Bw
CkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9udFBs
YXRmb3JtRGF0YS5oIgogCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgpAQCAtMzQsNyArMzUsNiBAQAogCiAjaW5jbHVkZSA8Y2Fpcm8td2luMzIuaD4KIAot
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1E
YXRhSW5pdChIRk9OVCBmb250LCBmbG9hdCBzaXplLCBIREMgaGRjLCBXQ0hBUiogZmFjZU5hbWUp
CkBAIC05Niw0ICs5Niw5IEBAIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFs
KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdAogICAgICAgICAmJiBtX3VzZUdE
SSA9PSBvdGhlci5tX3VzZUdESTsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRm
b3JtRGF0YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3QKK3sKKyAgICByZXR1
cm4gcGxhdGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFX
aW4uY3BwCmluZGV4IGU1MzczYzdjNmVjNDg3NTQwYzE2MWQyYWIxOWQ2ODFiZTgxOGYxYTEuLjFi
NTU0NDA0ZDRiZmRhZDAzMTMyMDRlZDNkMDhjNzliYmFkZWJmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0
YVdpbi5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3Jt
RGF0YShHRElPYmplY3Q8SEZPTlQ+IGZvbnQsIGZsb2F0IHNpemUsIGJvb2wgYm9sZCwKICAgICBS
ZXN0b3JlREMoaGRjLCAtMSk7CiB9CiAKLVJlZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9y
bURhdGE6Om9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CitSZWZQdHI8U2hhcmVk
QnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybU9wZW5UeXBlVGFibGUodWludDMyX3Qg
dGFibGUpIGNvbnN0CiB7CiAgICAgSFduZERDIGhkYygwKTsKICAgICBIR0RJT0JKIG9sZEZvbnQg
PSBTZWxlY3RPYmplY3QoaGRjLCBoZm9udCgpKTsKQEAgLTc4LDExICs3OCw0IEBAIFJlZlB0cjxT
aGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUodWludDMyX3QgdGFi
bGUpIGNvbnN0CiAgICAgcmV0dXJuIGJ1ZmZlcjsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKLVN0
cmluZyBGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IFN0cmluZygpOwotfQotI2VuZGlmCi0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZTExZjllMGJmOTQwOWIzZjg1Yjkw
ZTlkNzNhZjA5YzkyMmY1YTYwLi5mNDk2YzNmOWNkOWY3MmVhMWYwYzIwZmI1MjFhMjRhODNmMzYz
MDg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDktMTQgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgV2luXSBNaWdyYXRlIGZy
b20gRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAgdG8gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNw
cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDQ4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2Ug
dHdvIHRlc3RzIGFyZSBwcm9ncmVzc2lvbnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vbWF0
aG1sL29wZW50eXBlL29wZW50eXBlLXN0cmV0Y2h5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vc3ZnL1czQy1TVkctMS4xLVNFL2Nvb3Jkcy11bml0cy0wMy1iLWV4cGVjdGVk
LnR4dDoKKwogMjAyMC0wOS0xNCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtBcHBsZSBXaW5dIE1pZ3JhdGUgZnJvbSBDR0ZvbnRHZXRHbHlwaHNG
b3JVbmljaGFycygpIHRvIENURm9udEdldEdseXBoc0ZvckNoYXJhY3RlcnMoKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21hdGhtbC9vcGVudHlwZS9vcGVudHlwZS1zdHJl
dGNoeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vbWF0aG1sL29wZW50
eXBlL29wZW50eXBlLXN0cmV0Y2h5LWV4cGVjdGVkLnR4dAppbmRleCA0ZmQ4ZjhhZjA5MGJlNGNi
NWIxZGNlMTY1ODJiMmM1ODJkZGIwYmQzLi4wMTc3NjRlZTlmZjg1NGQ3Y2UyNGU5ZWI0NGIwYzcy
ZjUwODljYzk5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vbWF0aG1sL29w
ZW50eXBlL29wZW50eXBlLXN0cmV0Y2h5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vbWF0aG1sL29wZW50eXBlL29wZW50eXBlLXN0cmV0Y2h5LWV4cGVjdGVkLnR4
dApAQCAtMSw0NSArMSw0NSBAQAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MzM1NTQ0MzEKLSAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1
eDMzNTU0NDMxCi0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXgzMzU1NDQz
MQotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXplIDc2OXgzMzU1NDQxNQotICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzY5eDM0Ci0gICAgICAgIFJlbmRlck1h
dGhNTE1hdGgge21hdGh9IGF0ICgwLDIwKSBzaXplIDh4MTAKLSAgICAgICAgICBSZW5kZXJNYXRo
TUxSb3cge21yb3d9IGF0ICgwLDApIHNpemUgOHgxMAotICAgICAgICAgICAgUmVuZGVyTWF0aE1M
T3BlcmF0b3Ige21vfSBhdCAoMCwwKSBzaXplIDh4MTAKLSAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAyeDEwCi0gICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMngwCi0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAyOiAiXHh7MjE5Rn0iCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDMzOAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzM4Cisg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDMwNgorICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDM0CisgICAgICAgIFJlbmRlck1hdGhNTE1hdGgg
e21hdGh9IGF0ICgwLDI0KSBzaXplIDh4NgorICAgICAgICAgIFJlbmRlck1hdGhNTFJvdyB7bXJv
d30gYXQgKDAsMCkgc2l6ZSA4eDYKKyAgICAgICAgICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yIHtt
b30gYXQgKDAsMCkgc2l6ZSA4eDIKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsMCkgc2l6ZSAyeDMKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsLTMpIHNpemUgMngwCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwtMykg
d2lkdGggMjogIlx4ezIxOUZ9IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcsMTYp
IHNpemUgNXgxOAogICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDE2KSB3aWR0aCA1OiAiICIKLSAg
ICAgICAgUmVuZGVyTWF0aE1MTWF0aCB7bWF0aH0gYXQgKDExLDE1KSBzaXplIDI3eDE1Ci0gICAg
ICAgICAgUmVuZGVyTWF0aE1MUm93IHttcm93fSBhdCAoMCwwKSBzaXplIDI2eDE1Ci0gICAgICAg
ICAgICBSZW5kZXJNYXRoTUxPcGVyYXRvciB7bW99IGF0ICgwLDApIHNpemUgMjZ4MTAKLSAgICAg
ICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAyeDEwCi0gICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMngwCi0gICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyOiAiXHh7MjE5Rn0iCisgICAgICAg
IFJlbmRlck1hdGhNTE1hdGgge21hdGh9IGF0ICgxMSwxMCkgc2l6ZSAyN3gyMQorICAgICAgICAg
IFJlbmRlck1hdGhNTFJvdyB7bXJvd30gYXQgKDAsMCkgc2l6ZSAyNngyMQorICAgICAgICAgICAg
UmVuZGVyTWF0aE1MT3BlcmF0b3Ige21vfSBhdCAoMCwwKSBzaXplIDI2eDIxCisgICAgICAgICAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMngzCisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLC0zKSBzaXplIDJ4MAorICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDI6ICJceHsyMTlGfSIKICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgzNywxNikgc2l6ZSA1eDE4CiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDM3LDE2KSB3aWR0aCA1OiAiICIKLSAgICAgICAgUmVuZGVyTWF0aE1MTWF0aCB7bWF0aH0g
YXQgKDQxLDApIHNpemUgNDd4MzAKLSAgICAgICAgICBSZW5kZXJNYXRoTUxSb3cge21yb3d9IGF0
ICgwLDApIHNpemUgNDd4MzAKLSAgICAgICAgICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yIHttb30g
YXQgKDAsMCkgc2l6ZSA0N3gzMAotICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwwKSBzaXplIDJ4MTAKLSAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAyeDAKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDI6ICJceHsyMTlGfSIKKyAgICAgICAgUmVuZGVyTWF0aE1MTWF0aCB7bWF0aH0gYXQgKDQx
LDApIHNpemUgMjZ4MzEKKyAgICAgICAgICBSZW5kZXJNYXRoTUxSb3cge21yb3d9IGF0ICgwLDAp
IHNpemUgMjZ4MzEKKyAgICAgICAgICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yIHttb30gYXQgKDAs
MCkgc2l6ZSAyNngzMQorICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAo
MCwwKSBzaXplIDJ4MworICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwt
Mykgc2l6ZSAyeDAKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAy
OiAiXHh7MjE5Rn0iCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAotICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDUwKSBzaXplIDc2OXgxNTQKKyAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMCw1MCkgc2l6ZSA3ODR4MTU0CiAgICAgICAgIFJlbmRlck1hdGhN
TE1hdGgge21hdGh9IGF0ICgwLDApIHNpemUgNDd4MTUwCiAgICAgICAgICAgUmVuZGVyTWF0aE1M
Um93IHttcm93fSBhdCAoMCwwKSBzaXplIDQ3eDE1MAogICAgICAgICAgICAgUmVuZGVyTWF0aE1M
T3BlcmF0b3Ige21vfSBhdCAoMCwwKSBzaXplIDQ3eDE1MAotICAgICAgICAgICAgICBSZW5kZXJC
bG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDJ4MTAKLSAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyeDAKLSAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDI6ICJceHsyMTlGfSIKKyAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAyeDMKKyAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsLTMpIHNpemUgMngwCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtMykgd2lkdGggMjogIlx4ezIxOUZ9IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMjApIHNp
emUgNzY5eDMzNTU0MjExCi0gICAgICAgIFJlbmRlck1hdGhNTE1hdGgge21hdGh9IGF0ICgwLDE0
KSBzaXplIDk0eDMzNTU0NDE3Ci0gICAgICAgICAgUmVuZGVyTWF0aE1MUm93IHttcm93fSBhdCAo
MCwwKSBzaXplIDk0eDMzNTU0NDMxCi0gICAgICAgICAgICBSZW5kZXJNYXRoTUxPcGVyYXRvciB7
bW99IGF0ICgwLDMzNTU0NDMxKSBzaXplIDk0eDAKLSAgICAgICAgICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAxMHgxMAotICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEweDAKLSAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDEwOiAiXHh7MkExQn0iCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQg
KDAsMjIwKSBzaXplIDc4NHg4NgorICAgICAgICBSZW5kZXJNYXRoTUxNYXRoIHttYXRofSBhdCAo
MCwwKSBzaXplIDg0eDgyCisgICAgICAgICAgUmVuZGVyTWF0aE1MUm93IHttcm93fSBhdCAoMCww
KSBzaXplIDg0eDgyCisgICAgICAgICAgICBSZW5kZXJNYXRoTUxPcGVyYXRvciB7bW99IGF0ICgw
LDApIHNpemUgODR4ODIKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsMCkgc2l6ZSAxMHgxMgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCw2KSBzaXplIDEweDAKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDYpIHdpZHRo
IDEwOiAiXHh7MkExQn0iCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9XM0MtU1ZHLTEu
MS1TRS9jb29yZHMtdW5pdHMtMDMtYi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vc3ZnL1czQy1TVkctMS4xLVNFL2Nvb3Jkcy11bml0cy0wMy1iLWV4cGVjdGVkLnR4dApp
bmRleCBjNDJmMGEzYTNhNzhmYTZlMWU4MmJiY2FiODcyZGE3NTA2MTRhYWI0Li45ODI4MTk5MzZh
M2UwMWQ4ZjMyMTI2NTNhZWM4YzE2OTZjYjlkYWFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vc3ZnL1czQy1TVkctMS4xLVNFL2Nvb3Jkcy11bml0cy0wMy1iLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vc3ZnL1czQy1TVkctMS4xLVNFL2Nv
b3Jkcy11bml0cy0wMy1iLWV4cGVjdGVkLnR4dApAQCAtMzksOCArMzksOCBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIzMCw2
OSkgc2l6ZSAxNjR4MTQgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2NHgxNAogICAgICAgICAgICAgY2h1bmsg
MSB0ZXh0IHJ1biAxIGF0ICgyMzAuMDAsODAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMw
IHdpZHRoIDE2NC4wMDogIlJlbGF0aXZlIHRvIGZvbnQgeC1oZWlnaHQgKGV4KSIKLSAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjAsMTQwKSBzaXplIDMyMHgxCi0gICAgICAgICAg
UmVuZGVyU1ZHUmVjdCB7cmVjdH0gYXQgKDIwLDE0MCkgc2l6ZSAzMjB4MSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFt4PTIwLjAwXSBbeT04MC4wMF0gW3dpZHRoPTMyMC4w
MF0gW2hlaWdodD0xLjAwXQorICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyMCwx
NDApIHNpemUgMjEweDEKKyAgICAgICAgICBSZW5kZXJTVkdSZWN0IHtyZWN0fSBhdCAoMjAsMTQw
KSBzaXplIDIxMHgxIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3g9MjAu
MDBdIFt5PTgwLjAwXSBbd2lkdGg9MjQwLjAwXSBbaGVpZ2h0PTEuMDBdCiAgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgyMCw4Nykgc2l6ZSA5OXgxNCBjb250YWlucyAxIGNodW5rKHMp
CiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOTl4
MTQKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjAuMDAsOTguMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDE1IHdpZHRoIDk5LjAwOiAiNDEuNjclID0gMjAwIHB4Igo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408744</attachid>
            <date>2020-09-14 13:52:47 -0700</date>
            <delta_ts>2020-09-14 17:31:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216448-20200914135246.patch</filename>
            <type>text/plain</type>
            <size>28743</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM1YTEzOGFlMmJjYmY5
YTk1ZWNiMzdmNDQ5N2I4MWI4YWQ3MDc5OC4uYzNlNTI5N2FiMjYyOTc0NmY5MzRhMWU5ODQ3NThi
ODQ4YmJmOTBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIwLTA5LTE0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0FwcGxlIFdp
bl0gTWlncmF0ZSBmcm9tIEZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIHRvIEZvbnRQbGF0Zm9ybURh
dGFDb3JlVGV4dC5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNjQ0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRoaXMgaXMgb25lIG9mIHRoZSBzdGVwcyB0b3dhcmQgbWlncmF0aW5nIHRoZSBBcHBs
ZSBXaW4gcG9ydCBvZmYgb2YgQ0dGb250IGFuZCBvbiB0bworICAgICAgICBDVEZvbnQuIFRoaXMg
cGF0Y2ggcmVtb3ZlcyB0aGUgI2lmICFQTEFURk9STShXSU4pIGd1YXJkIGluIEZvbnRQbGF0Zm9y
bURhdGFDb3JlVGV4dC5jcHAKKyAgICAgICAgYW5kIGRlbGV0ZXMgdGhlIG9sZCBmdW5jdGlvbnMg
aXQgdXNlZCB0byBiZSB1c2luZy4gSXQgZml4ZXMgdXAgdGhlIENvcmUgVGV4dCBmdW5jdGlvbnMg
dG8KKyAgICAgICAgdXNlIGN0Rm9udCgpIGluc3RlYWQgb2YgZm9udCgpLCBiZWNhdXNlIGZvbnQo
KSByZXR1cm5zIHRoZSBIRk9OVCBvbiBXaW5kb3dzLgorCisgICAgICAgIEl0IGFsc28gYWRkcyBh
IG5ldyBoZWxwZXIsIHBsYXRmb3JtT3BlblR5cGVUYWJsZSgpLCBiZWNhdXNlIGl0IGxvb2tzIGxp
a2UKKyAgICAgICAgQ1RGb250Q29weVRhYmxlKCkgc29tZXRpbWVzIGZhaWxzLCBzbyB3ZSBjYW4g
dXNlIHRoaXMgZnVuY3Rpb24gdG8gZmFsbCBiYWNrIHRvIHVzaW5nIHRoZQorICAgICAgICBIRk9O
VCBhbmQgdGhlIHdpbjMyIEFQSSBpbnN0ZWFkLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Zm9udCBjb25zdCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1PcGVuVHlwZVRhYmxlIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpyZWdpc3RlcmVk
Rm9udCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJs
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlv
biBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpmYW1pbHlOYW1l
IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250Q3VzdG9tUGxh
dGZvcm1EYXRhOjpGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6On5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURh
dGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3Jt
RGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFD
YWlyb1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlw
ZVRhYmxlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRm
b3JtRGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpwbGF0
Zm9ybU9wZW5UeXBlVGFibGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3Jt
RGF0YTo6b3BlblR5cGVUYWJsZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpG
b250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlvbiBjb25zdCk6IERlbGV0ZWQuCisKIDIwMjAtMDkt
MTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBdWRpb0Rlc3Rp
bmF0aW9uQ29jb2Egc2hvdWxkIHN0b3AgaGFyZGNvZGluZyB0aGUgbnVtYmVyIG9mIG91dHB1dCBj
aGFubmVscyB0byAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA3ZTRhYTg4MTAzZDRiYWUyZWM2ZmY4
YTgyNTMxZDlmY2M0NzBiYjVjLi45OTNjMDA4OGE1OTEyMjhkMzM3NTFiODA0ZjliYzNhYjc3ZGEw
Y2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wOS0xNCAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBX
aW5dIE1pZ3JhdGUgZnJvbSBGb250UGxhdGZvcm1EYXRhV2luLmNwcCB0byBGb250UGxhdGZvcm1E
YXRhQ29yZVRleHQuY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTY0NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHBhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmg6CisKIDIwMjAtMDktMTQgIFBl
bmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZl
cnRpbmcgcjI2NzAwNC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL3dp
bi9Db3JlVGV4dFNQSVdpbi5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2luL0NvcmVU
ZXh0U1BJV2luLmgKaW5kZXggOTBlZTljZjg1YTk5ZTZlYWZlODQwMmViNzgzM2YxYzg4M2VjODY0
NC4uOGY4YTY1NTI4OGRmODFiN2VjMWZkYzY1ZTQ1MWFjMzk3YmZkYTVjMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmgKQEAgLTEyOSw2ICsx
MjksNyBAQCBDR0Zsb2F0IENURm9udEdldFVuZGVybGluZVRoaWNrbmVzcyhDVEZvbnRSZWYpOwog
Q0dGbG9hdCBDVEZvbnRHZXRTaXplKENURm9udFJlZik7CiBDVEZvbnRTeW1ib2xpY1RyYWl0cyBD
VEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhDVEZvbnRSZWYpOwogQ0ZDaGFyYWN0ZXJTZXRSZWYgQ1RG
b250Q29weUNoYXJhY3RlclNldChDVEZvbnRSZWYpOworQ0dGb250UmVmIENURm9udENvcHlHcmFw
aGljc0ZvbnQoQ1RGb250UmVmLCBDVEZvbnREZXNjcmlwdG9yUmVmKiBhdHRyaWJ1dGVzKTsKIENG
U3RyaW5nUmVmIENURm9udENvcHlGYW1pbHlOYW1lKENURm9udFJlZik7CiBDRlN0cmluZ1JlZiBD
VEZvbnRDb3B5RnVsbE5hbWUoQ1RGb250UmVmKTsKIENURm9udFJlZiBDVEZvbnRDcmVhdGVDb3B5
V2l0aEF0dHJpYnV0ZXMoQ1RGb250UmVmLCBDR0Zsb2F0IHNpemUsIGNvbnN0IENHQWZmaW5lVHJh
bnNmb3JtKiBtYXRyaXgsIENURm9udERlc2NyaXB0b3JSZWYgYXR0cmlidXRlcyk7CkBAIC0xNTQs
NiArMTU1LDggQEAgYm9vbCBDVEZvbnRHZXRHbHlwaHNGb3JDaGFyYWN0ZXJSYW5nZShDVEZvbnRS
ZWYsIENHR2x5cGhbXSwgQ0ZSYW5nZSk7CiBDRkRhdGFSZWYgQ1RGb250Q29weVRhYmxlKENURm9u
dFJlZiwgQ1RGb250VGFibGVUYWcsIENURm9udFRhYmxlT3B0aW9ucyk7CiBib29sIENURm9udEdl
dFZlcnRpY2FsR2x5cGhzRm9yQ2hhcmFjdGVycyhDVEZvbnRSZWYsIGNvbnN0IFVuaUNoYXJbXSwg
Q0dHbHlwaFtdLCBDRkluZGV4IGNvdW50KTsKIAorQ1RGb250RGVzY3JpcHRvclJlZiBDVEZvbnRN
YW5hZ2VyQ3JlYXRlRm9udERlc2NyaXB0b3JGcm9tRGF0YShDRkRhdGFSZWYpOworCiBDVEZvbnRE
ZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlcyhDRkRpY3Rp
b25hcnlSZWYpOwogYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVz
Y3JpcHRvclJlZik7CiBDVEZvbnREZXNjcmlwdG9yUmVmIENURm9udERlc2NyaXB0b3JDcmVhdGVX
aXRoTmFtZUFuZFNpemUoQ0ZTdHJpbmdSZWYsIENHRmxvYXQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAppbmRleCAyNjVh
M2Q3YThjYTYxNmQxMjBhNWYyMDI4MWU2MWZlZDcxMTIzZjM4Li4wYWE1MTc1ZWUwNWE2YTQxYWRj
NGMyZjMxNjAyNzk5ZGZmYTY2ZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcApAQCAtNzksNyArNzksNyBAQCBGb250
UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6OmNsb25lV2l0aFNpemUoY29uc3QgRm9udFBs
YXRmb3JtRGF0YSYgc291cmNlLAogfQogI2VuZGlmCiAKLSNpZiAhVVNFKENPUkVfVEVYVCkgfHwg
UExBVEZPUk0oV0lOKQorI2lmICFVU0UoQ09SRV9URVhUKQogCiBTdHJpbmcgRm9udFBsYXRmb3Jt
RGF0YTo6ZmFtaWx5TmFtZSgpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggYmM3ZmNhYmE2OGVmOTRiYzRk
ODAwMDZhNDU4NzVhNTY1MGQ2OGNmOS4uMThmMjMxYWVjMzAxNmRkY2ZjZWJmOWM0ZTcwNjIxZTdj
Nzc4N2IzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRQbGF0Zm9ybURhdGEuaApAQCAtODgsOSArODgsOCBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9S
TShXSU4pCiAgICAgRm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBmbG9hdCBzaXpl
LCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkp
OwotI2lmIFVTRShDRykKLSAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4sIENH
Rm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09i
bGlxdWUsIGJvb2wgdXNlR0RJKTsKLSAgICBGb250UGxhdGZvcm1EYXRhKENHRm9udFJlZiwgZmxv
YXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIEZvbnRP
cmllbnRhdGlvbiwgRm9udFdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUpOworI2lmIFVT
RShDT1JFX1RFWFQpCisgICAgRm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+LCBDVEZv
bnRSZWYsIENHRm9udFJlZiwgZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5
bnRoZXRpY09ibGlxdWUsIGJvb2wgdXNlR0RJKTsKICNlbmRpZgogI2lmIFVTRShESVJFQ1QyRCkK
ICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4mJiwgQ09NUHRyPElEV3JpdGVG
b250PiYmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2Js
aXF1ZSwgYm9vbCB1c2VHREkpOwpAQCAtMTE0LDE4ICsxMTMsMjAgQEAgcHVibGljOgogI2lmIFVT
RShDRykKICAgICBDR0ZvbnRSZWYgY2dGb250KCkgY29uc3QgeyByZXR1cm4gbV9jZ0ZvbnQuZ2V0
KCk7IH0KICNlbmRpZgotI2lmIFVTRShDT1JFX1RFWFQpCi0gICAgQ1RGb250UmVmIGN0Rm9udCgp
IGNvbnN0IHsgcmV0dXJuIG1fY3RGb250LmdldCgpOyB9CiAjZW5kaWYKLSNlbGlmIFVTRShDT1JF
X1RFWFQpCi0gICAgQ1RGb250UmVmIGZvbnQoKSBjb25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7
IH0KLSAgICBXRUJDT1JFX0VYUE9SVCBDVEZvbnRSZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25zdDsg
Ly8gUmV0dXJucyBudWxscHRyIGlmZiB0aGUgZm9udCBpcyBub3QgcmVnaXN0ZXJlZCwgc3VjaCBh
cyB3ZWIgZm9udHMgKG90aGVyd2lzZSByZXR1cm5zIGZvbnQoKSkuCiAKLSAgICBDVEZvbnRSZWYg
Y3RGb250KCkgY29uc3Q7CisjaWYgVVNFKENPUkVfVEVYVCkKKyAgICBXRUJDT1JFX0VYUE9SVCBD
VEZvbnRSZWYgcmVnaXN0ZXJlZEZvbnQoKSBjb25zdDsgLy8gUmV0dXJucyBudWxscHRyIGlmZiB0
aGUgZm9udCBpcyBub3QgcmVnaXN0ZXJlZCwgc3VjaCBhcyB3ZWIgZm9udHMgKG90aGVyd2lzZSBy
ZXR1cm5zIGZvbnQoKSkuCiAgICAgc3RhdGljIFJldGFpblB0cjxDRlR5cGVSZWY+IG9iamVjdEZv
ckVxdWFsaXR5Q2hlY2soQ1RGb250UmVmKTsKICAgICBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBvYmpl
Y3RGb3JFcXVhbGl0eUNoZWNrKCkgY29uc3Q7Ci0KICAgICBib29sIGhhc0N1c3RvbVRyYWNraW5n
KCkgY29uc3QgeyByZXR1cm4gaXNTeXN0ZW1Gb250KCk7IH0KKworI2lmIFBMQVRGT1JNKFdJTikK
KyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3QgeyByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7IH0K
KyNlbHNlCisgICAgQ1RGb250UmVmIGZvbnQoKSBjb25zdCB7IHJldHVybiBtX2ZvbnQuZ2V0KCk7
IH0KKyAgICBDVEZvbnRSZWYgY3RGb250KCkgY29uc3Q7CisjZW5kaWYKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oV0lOKSB8fCBQTEFURk9STShDT0NPQSkKQEAgLTE5NCw2ICsxOTUsNyBAQCBwdWJs
aWM6CiAgICAgfQogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gb3BlblR5cGVUYWJsZSh1aW50
MzJfdCB0YWJsZSkgY29uc3Q7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcGxhdGZvcm1PcGVu
VHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdDsKIAogICAgIFN0cmluZyBkZXNjcmlwdGlv
bigpIGNvbnN0OwogCkBAIC0yMTQsMTAgKzIxNiw4IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9S
TShXSU4pCiAgICAgUmVmUHRyPFNoYXJlZEdESU9iamVjdDxIRk9OVD4+IG1fZm9udDsgLy8gRklY
TUU6IERlbGV0ZSB0aGlzIGluIGZhdm9yIG9mIG1fY3RGb250IG9yIG1fZHdGb250IG9yIG1fc2Nh
bGVkRm9udC4KLSNpZiBVU0UoQ0cpCi0gICAgUmV0YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7
IC8vIEZJWE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBtX2N0Rm9udC4KLSNlbmRpZgogI2lm
IFVTRShDT1JFX1RFWFQpCisgICAgUmV0YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7IC8vIEZJ
WE1FOiBEZWxldGUgdGhpcyBpbiBmYXZvciBvZiBtX2N0Rm9udC4KICAgICBSZXRhaW5QdHI8Q1RG
b250UmVmPiBtX2N0Rm9udDsKICNlbmRpZgogI2VsaWYgVVNFKENPUkVfVEVYVCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURh
dGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQ
bGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCBjOTdkNTBhNTI2YTJmZDcxOGRiOWNjNjIwMTZjMzI1
ZWQ4MWIzYjNkLi45MDAwZWY1MjlmYzgxOGUzMGEyNDBiNzBhNDQ1MTRlMDFhZWY5ZDdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZv
cm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBAIC01Niw0ICs1Niw5IEBAIGJvb2wgRm9udFBs
YXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVy
KSBjb25zdAogICAgIHJldHVybiBDRkVxdWFsKG1fZm9udC5nZXQoKSwgb3RoZXIubV9mb250Lmdl
dCgpKTsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZv
cm1PcGVuVHlwZVRhYmxlKHVpbnQzMl90KSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1EYXRhQ29yZVRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZXRleHQvRm9udFBsYXRmb3JtRGF0
YUNvcmVUZXh0LmNwcAppbmRleCA0Y2I4MDFjN2QxNDcwMTU2MWMyYTA5YzFhN2Y0N2NjNmU4Yzg4
ODcxLi5kY2M3OWFkOGNhODVmNGY3NDI4M2JiYWZmMWQ1OTM3ZTUyNDYwN2FiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JldGV4dC9Gb250UGxhdGZvcm1E
YXRhQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
cmV0ZXh0L0ZvbnRQbGF0Zm9ybURhdGFDb3JlVGV4dC5jcHAKQEAgLTM1LDE1ICszNSwxNyBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiAhUExBVEZPUk0oV0lOKQotCiBGb250UGxhdGZv
cm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29s
IHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9y
aWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01v
ZGUgdGV4dFJlbmRlcmluZ01vZGUpCiAgICAgOiBGb250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRo
ZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRl
eHRSZW5kZXJpbmdNb2RlKQogewogICAgIEFTU0VSVF9BUkcoZm9udCwgZm9udCk7CisjaWYgUExB
VEZPUk0oV0lOKQorICAgIG1fY3RGb250ID0gZm9udDsKKyNlbHNlCiAgICAgbV9mb250ID0gZm9u
dDsKKyNlbmRpZgogICAgIG1faXNDb2xvckJpdG1hcEZvbnQgPSBDVEZvbnRHZXRTeW1ib2xpY1Ry
YWl0cyhmb250KSAmIGtDVEZvbnRDb2xvckdseXBoc1RyYWl0OwotICAgIG1faXNTeXN0ZW1Gb250
ID0gV2ViQ29yZTo6aXNTeXN0ZW1Gb250KG1fZm9udC5nZXQoKSk7CisgICAgbV9pc1N5c3RlbUZv
bnQgPSBXZWJDb3JlOjppc1N5c3RlbUZvbnQoZm9udCk7CiAgICAgYXV0byB2YXJpYXRpb25zID0g
YWRvcHRDRihzdGF0aWNfY2FzdDxDRkRpY3Rpb25hcnlSZWY+KENURm9udENvcHlBdHRyaWJ1dGUo
Zm9udCwga0NURm9udFZhcmlhdGlvbkF0dHJpYnV0ZSkpKTsKICAgICBtX2hhc1ZhcmlhdGlvbnMg
PSB2YXJpYXRpb25zICYmIENGRGljdGlvbmFyeUdldENvdW50KHZhcmlhdGlvbnMuZ2V0KCkpOwog
CkBAIC02Myw3ICs2NSw3IEBAIGJvb2wgaXNTeXN0ZW1Gb250KENURm9udFJlZiBmb250KQogCiBD
VEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6cmVnaXN0ZXJlZEZvbnQoKSBjb25zdAogewotICAg
IENURm9udFJlZiBwbGF0Zm9ybUZvbnQgPSBmb250KCk7CisgICAgQ1RGb250UmVmIHBsYXRmb3Jt
Rm9udCA9IGN0Rm9udCgpOwogICAgIEFTU0VSVChwbGF0Zm9ybUZvbnQpOwogICAgIGlmIChwbGF0
Zm9ybUZvbnQgJiYgYWRvcHRDRihDVEZvbnRDb3B5QXR0cmlidXRlKHBsYXRmb3JtRm9udCwga0NU
Rm9udFVSTEF0dHJpYnV0ZSkpKQogICAgICAgICByZXR1cm4gcGxhdGZvcm1Gb250OwpAQCAtMTMy
LDExICsxMzQsNiBAQCBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QK
IAogICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsKIH0KLSNlbHNlCi1DVEZvbnRSZWYgRm9udFBs
YXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZm9udCgpOwotfQogI2Vu
ZGlmCiAKIFJldGFpblB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0Zm9ybURhdGE6Om9iamVjdEZvckVx
dWFsaXR5Q2hlY2soQ1RGb250UmVmIGN0Rm9udCkKQEAgLTE1NiwxNyArMTUzLDE3IEBAIFJldGFp
blB0cjxDRlR5cGVSZWY+IEZvbnRQbGF0Zm9ybURhdGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2so
KSBjb25zdAogCiBSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZvcm1EYXRhOjpvcGVuVHlw
ZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdAogewotICAgIGlmIChSZXRhaW5QdHI8Q0ZEYXRh
UmVmPiBkYXRhID0gYWRvcHRDRihDVEZvbnRDb3B5VGFibGUoZm9udCgpLCB0YWJsZSwga0NURm9u
dFRhYmxlT3B0aW9uTm9PcHRpb25zKSkpCisgICAgaWYgKFJldGFpblB0cjxDRkRhdGFSZWY+IGRh
dGEgPSBhZG9wdENGKENURm9udENvcHlUYWJsZShjdEZvbnQoKSwgdGFibGUsIGtDVEZvbnRUYWJs
ZU9wdGlvbk5vT3B0aW9ucykpKQogICAgICAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUo
ZGF0YS5nZXQoKSk7CiAKLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gcGxhdGZvcm1P
cGVuVHlwZVRhYmxlKHRhYmxlKTsKIH0KIAogI2lmICFMT0dfRElTQUJMRUQKIAogU3RyaW5nIEZv
bnRQbGF0Zm9ybURhdGE6OmRlc2NyaXB0aW9uKCkgY29uc3QKIHsKLSAgICBTdHJpbmcgZm9udERl
c2NyaXB0aW9uIHsgYWRvcHRDRihDRkNvcHlEZXNjcmlwdGlvbihmb250KCkpKS5nZXQoKSB9Owor
ICAgIFN0cmluZyBmb250RGVzY3JpcHRpb24geyBhZG9wdENGKENGQ29weURlc2NyaXB0aW9uKGN0
Rm9udCgpKSkuZ2V0KCkgfTsKICAgICByZXR1cm4gbWFrZVN0cmluZyhmb250RGVzY3JpcHRpb24s
ICcgJywgbV9zaXplLAogICAgICAgICAobV9zeW50aGV0aWNCb2xkID8gIiBzeW50aGV0aWMgYm9s
ZCIgOiAiIiksCiAgICAgICAgIChtX3N5bnRoZXRpY09ibGlxdWUgPyAiIHN5bnRoZXRpYyBvYmxp
cXVlIiA6ICIiKSwKQEAgLTE3NywxMSArMTc0LDkgQEAgU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6
OmRlc2NyaXB0aW9uKCkgY29uc3QKIAogU3RyaW5nIEZvbnRQbGF0Zm9ybURhdGE6OmZhbWlseU5h
bWUoKSBjb25zdAogewotICAgIGlmIChhdXRvIHBsYXRmb3JtRm9udCA9IGZvbnQoKSkKKyAgICBp
ZiAoYXV0byBwbGF0Zm9ybUZvbnQgPSBjdEZvbnQoKSkKICAgICAgICAgcmV0dXJuIGFkb3B0Q0Yo
Q1RGb250Q29weUZhbWlseU5hbWUocGxhdGZvcm1Gb250KSkuZ2V0KCk7CiAgICAgcmV0dXJuIHsg
fTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmNwcAppbmRleCAxNDBlYzE2ZWIxNWQ2ZmM5ZmRhNDBiY2I1MWJiYTBmZjBhYzMz
YjM2Li44NDRlMGUxMmRiZDJmZTQxYTE1NGQ1NjlkYTZhZDg4NGI4NDc0MmJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuY3BwCkBAIC00Miw4ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKQog
ewotICAgIGlmIChtX2ZvbnRSZWZlcmVuY2UpCi0gICAgICAgIFJlbW92ZUZvbnRNZW1SZXNvdXJj
ZUV4KG1fZm9udFJlZmVyZW5jZSk7CisgICAgaWYgKGZvbnRSZWZlcmVuY2UpCisgICAgICAgIFJl
bW92ZUZvbnRNZW1SZXNvdXJjZUV4KGZvbnRSZWZlcmVuY2UpOwogfQogCiBGb250UGxhdGZvcm1E
YXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERl
c2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0
IEZvbnRGZWF0dXJlU2V0dGluZ3MmLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVz
KQpAQCAtNTEsMTYgKzUxLDE2IEBAIEZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mCiAgICAgaW50IHNp
emUgPSBmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKTsKICAgICBGb250UmVuZGVy
aW5nTW9kZSByZW5kZXJpbmdNb2RlID0gZm9udERlc2NyaXB0aW9uLnJlbmRlcmluZ01vZGUoKTsK
IAotICAgIEFTU0VSVChtX2ZvbnRSZWZlcmVuY2UpOworICAgIEFTU0VSVChmb250UmVmZXJlbmNl
KTsKIAotICAgIGF1dG8gZmFjZU5hbWUgPSBtX25hbWUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWlu
YXRpb24oKTsKKyAgICBhdXRvIGZhY2VOYW1lID0gbmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJt
aW5hdGlvbigpOwogICAgIGlmIChmYWNlTmFtZS5zaXplKCkgPiBMRl9GQUNFU0laRSkgewogICAg
ICAgICBmYWNlTmFtZS5yZXNpemUoTEZfRkFDRVNJWkUpOwogICAgICAgICBmYWNlTmFtZS5sYXN0
KCkgPSAwOwogICAgIH0KIAogICAgIExPR0ZPTlQgbG9nRm9udCB7IH07Ci0gICAgbWVtY3B5KGxv
Z0ZvbnQubGZGYWNlTmFtZSwgZmFjZU5hbWUuZGF0YSgpLCBzaXplb2YobG9nRm9udC5sZkZhY2VO
YW1lWzBdKSAqIHN0ZDo6bWluPHNpemVfdD4oc3RhdGljX2Nhc3Q8c2l6ZV90PihMRl9GQUNFU0la
RSksIDEgKyBtX25hbWUubGVuZ3RoKCkpKTsKKyAgICBtZW1jcHkobG9nRm9udC5sZkZhY2VOYW1l
LCBmYWNlTmFtZS5kYXRhKCksIHNpemVvZihsb2dGb250LmxmRmFjZU5hbWVbMF0pICogc3RkOjpt
aW48c2l6ZV90PihzdGF0aWNfY2FzdDxzaXplX3Q+KExGX0ZBQ0VTSVpFKSwgMSArIG5hbWUubGVu
Z3RoKCkpKTsKIAogICAgIGxvZ0ZvbnQubGZIZWlnaHQgPSAtc2l6ZTsKICAgICBpZiAocmVuZGVy
aW5nTW9kZSA9PSBGb250UmVuZGVyaW5nTW9kZTo6Tm9ybWFsKQpAQCAtODIsOSArODIsMTAgQEAg
Rm9udFBsYXRmb3JtRGF0YSBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjpmb250UGxhdGZvcm1EYXRh
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYKICAgICBsb2dGb250LmxmV2VpZ2h0ID0gYm9sZCA/IDcw
MCA6IDQwMDsKIAogICAgIGF1dG8gaGZvbnQgPSBhZG9wdEdESU9iamVjdCg6OkNyZWF0ZUZvbnRJ
bmRpcmVjdCgmbG9nRm9udCkpOwotI2lmIFVTRShDRykKLSAgICBSZXRhaW5QdHI8Q0dGb250UmVm
PiBjZ0ZvbnQgPSBhZG9wdENGKENHRm9udENyZWF0ZVdpdGhQbGF0Zm9ybUZvbnQoJmxvZ0ZvbnQp
KTsKLSAgICByZXR1cm4gRm9udFBsYXRmb3JtRGF0YShXVEZNb3ZlKGhmb250KSwgY2dGb250Lmdl
dCgpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01v
ZGU6OkFsdGVybmF0ZSk7CisjaWYgVVNFKENPUkVfVEVYVCkKKyAgICBhdXRvIGN0Rm9udCA9IGFk
b3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yLmdldCgp
LCBzaXplLCBudWxscHRyKSk7CisgICAgYXV0byBjZ0ZvbnQgPSBhZG9wdENGKENURm9udENvcHlH
cmFwaGljc0ZvbnQoY3RGb250LmdldCgpLCBudWxscHRyKSk7CisgICAgcmV0dXJuIEZvbnRQbGF0
Zm9ybURhdGEoV1RGTW92ZShoZm9udCksIGN0Rm9udC5nZXQoKSwgY2dGb250LmdldCgpLCBzaXpl
LCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVy
bmF0ZSk7CiAjZWxzZQogICAgIGF1dG8gZm9udCA9IERpcmVjdFdyaXRlOjpjcmVhdGVXaXRoUGxh
dGZvcm1Gb250KGxvZ0ZvbnQpOwogICAgIHJldHVybiBGb250UGxhdGZvcm1EYXRhKFdURk1vdmUo
aGZvbnQpLCBXVEZNb3ZlKGZvbnQpLCBzaXplLCBib2xkLCBpdGFsaWMsIHJlbmRlcmluZ01vZGUg
PT0gRm9udFJlbmRlcmluZ01vZGU6OkFsdGVybmF0ZSk7CkBAIC0xMTAsNyArMTExLDEyIEBAIHN0
ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9tUGxhdGZvcm1EYXRhPiBjcmVhdGVGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKFNoYXJlZEJ1ZmZlCiAgICAgZm9udFJlZmVyZW5jZSA9IHJlbmFtZUFuZEFjdGl2
YXRlRm9udChidWZmZXIsIGZvbnROYW1lKTsKICAgICBpZiAoIWZvbnRSZWZlcmVuY2UpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiBtYWtlVW5pcXVlPEZvbnRDdXN0b21QbGF0
Zm9ybURhdGE+KGZvbnRSZWZlcmVuY2UsIGZvbnROYW1lKTsKKyAgICBhdXRvIHJlc3VsdCA9IG1h
a2VVbmlxdWU8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4oZm9udFJlZmVyZW5jZSwgZm9udE5hbWUp
OworI2lmIFVTRShDT1JFX1RFWFQpCisgICAgYXV0byBidWZmZXJEYXRhID0gYnVmZmVyLmNyZWF0
ZUNGRGF0YSgpOworICAgIHJlc3VsdC0+Zm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udE1h
bmFnZXJDcmVhdGVGb250RGVzY3JpcHRvckZyb21EYXRhKGJ1ZmZlckRhdGEuZ2V0KCkpKTsKKyNl
bmRpZgorICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGJvb2wgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YTo6c3VwcG9ydHNGb3JtYXQoY29uc3QgU3RyaW5nJiBmb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAppbmRleCAxYjJmZjJiNzQ3YzliOWM5MWMwNmNlYTViMGE5NjYxYTMwNTJiYjY1Li4w
MTE1M2MzYWNjMzc1OTEyNjM3NGE1ODIzY2M2NzBiNmQ1YzQ2Njc2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKQEAgLTI3LDYgKzI3LDEwIEBACiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBVU0UoQ09SRV9URVhU
KQorI2luY2x1ZGUgPHBhbC9zcGkvd2luL0NvcmVUZXh0U1BJV2luLmg+CisjZW5kaWYKKwogdHlw
ZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQ1LDggKzQ5LDggQEAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogcHVibGljOgogICAgIEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYg
bmFtZSkKLSAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKLSAgICAgICAg
LCBtX25hbWUobmFtZSkKKyAgICAgICAgOiBmb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCisg
ICAgICAgICwgbmFtZShuYW1lKQogICAgIHsKICAgICB9CiAKQEAgLTU2LDggKzYwLDExIEBAIHB1
YmxpYzoKIAogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRm9ybWF0KGNvbnN0IFN0cmluZyYpOwog
Ci0gICAgSEFORExFIG1fZm9udFJlZmVyZW5jZTsKLSAgICBTdHJpbmcgbV9uYW1lOworICAgIEhB
TkRMRSBmb250UmVmZXJlbmNlOworICAgIFN0cmluZyBuYW1lOworI2lmIFVTRShDT1JFX1RFWFQp
CisgICAgUmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+IGZvbnREZXNjcmlwdG9yOworI2Vu
ZGlmCiB9OwogCiBzdGQ6OnVuaXF1ZV9wdHI8Rm9udEN1c3RvbVBsYXRmb3JtRGF0YT4gY3JlYXRl
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShTaGFyZWRCdWZmZXImLCBjb25zdCBTdHJpbmcmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5jcHAKaW5kZXggOGI2ODI1ZjNmMTk0MGYx
YmVjM2VhYmFmMTVlZjkzMjg2YzZhNjM5Yy4uZTA3NDhkMjkxOTI0MzU5ZWJlOGFlZWJkODljNzk2
YWVkZTA0NmMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5jcHAKQEAg
LTM0LDggKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhOjp+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpCiB7Ci0gICAgaWYgKG1fZm9udFJlZmVyZW5j
ZSkKLSAgICAgICAgUmVtb3ZlRm9udE1lbVJlc291cmNlRXgobV9mb250UmVmZXJlbmNlKTsKKyAg
ICBpZiAoZm9udFJlZmVyZW5jZSkKKyAgICAgICAgUmVtb3ZlRm9udE1lbVJlc291cmNlRXgoZm9u
dFJlZmVyZW5jZSk7CiB9CiAKIEZvbnRQbGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YTo6Zm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlv
biwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyYsIEZv
bnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMpCkBAIC00NSw3ICs0NSw3IEBAIEZvbnRQ
bGF0Zm9ybURhdGEgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mCiAKICAgICBMT0dGT05UIGxvZ0ZvbnQ7CiAgICAgbWVtc2V0KCZs
b2dGb250LCAwLCBzaXplb2YoTE9HRk9OVCkpOwotICAgIHdjc25jcHkobG9nRm9udC5sZkZhY2VO
YW1lLCBtX25hbWUud2lkZUNoYXJhY3RlcnMoKS5kYXRhKCksIExGX0ZBQ0VTSVpFIC0gMSk7Cisg
ICAgd2NzbmNweShsb2dGb250LmxmRmFjZU5hbWUsIG5hbWUud2lkZUNoYXJhY3RlcnMoKS5kYXRh
KCksIExGX0ZBQ0VTSVpFIC0gMSk7CiAKICAgICBsb2dGb250LmxmSGVpZ2h0ID0gLXNpemU7CiAg
ICAgaWYgKHJlbmRlcmluZ01vZGUgPT0gRm9udFJlbmRlcmluZ01vZGU6Ok5vcm1hbCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1E
YXRhQ0dXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQ
bGF0Zm9ybURhdGFDR1dpbi5jcHAKaW5kZXggMzBhNDRkZDE0YzFiNmZmZmQ2Y2JjZTc0NzI1OTg5
NTRkOTIwNzhlMi4uMGJkNzA3ZjFjNTVmMmY2NGJhMzI2MTczOTdjZmIxYTI3MTMzODE5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9y
bURhdGFDR1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKQEAgLTEyMCwyNSArMTIwLDE3IEBAIHZvaWQgRm9u
dFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhSW5pdChIRk9OVCBmb250LCBmbG9hdCBzaXplLCBI
REMgaGRjLCBXQ0hBUioKICAgICAgICAgbV9pc1N5c3RlbUZvbnQgPSAhd2NzY21wKGZhY2VOYW1l
LCBMIkx1Y2lkYSBHcmFuZGUiKTsKIH0KIAotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3Jt
RGF0YShHRElPYmplY3Q8SEZPTlQ+IGhmb250LCBDR0ZvbnRSZWYgZm9udCwgZmxvYXQgc2l6ZSwg
Ym9vbCBib2xkLCBib29sIG9ibGlxdWUsIGJvb2wgdXNlR0RJKQorRm9udFBsYXRmb3JtRGF0YTo6
Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGhmb250LCBDVEZvbnRSZWYgY3RGb250
LCBDR0ZvbnRSZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSwg
Ym9vbCB1c2VHREkpCiAgICAgOiBtX3N5bnRoZXRpY0JvbGQoYm9sZCkKICAgICAsIG1fc3ludGhl
dGljT2JsaXF1ZShvYmxpcXVlKQogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX2ZvbnQoU2hh
cmVkR0RJT2JqZWN0PEhGT05UPjo6Y3JlYXRlKFdURk1vdmUoaGZvbnQpKSkKLSAgICAsIG1fY2dG
b250KGZvbnQpCi0gICAgLCBtX2N0Rm9udChhZG9wdENGKENURm9udENyZWF0ZVdpdGhHcmFwaGlj
c0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51bGxwdHIsIG51bGxwdHIpKSkKKyAgICAsIG1f
Y2dGb250KGNnRm9udCkKKyAgICAsIG1fY3RGb250KGN0Rm9udCkKICAgICAsIG1fdXNlR0RJKHVz
ZUdESSkKIHsKIH0KIAotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRS
ZWYgY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3ludGhldGlj
T2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lkdGhWYXJpYW50IHdp
ZHRoVmFyaWFudCwgVGV4dFJlbmRlcmluZ01vZGUgdGV4dFJlbmRlcmluZ01vZGUpCi0gICAgOiBG
b250UGxhdGZvcm1EYXRhKHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIG9y
aWVudGF0aW9uLCB3aWR0aFZhcmlhbnQsIHRleHRSZW5kZXJpbmdNb2RlKQotewotICAgIG1fY2dG
b250ID0gY2dGb250OwotICAgIEFTU0VSVChtX2NnRm9udCk7Ci0gICAgbV9jdEZvbnQgPSBhZG9w
dENGKENURm9udENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIG51
bGxwdHIsIG51bGxwdHIpKTsKLX0KLQogdW5zaWduZWQgRm9udFBsYXRmb3JtRGF0YTo6aGFzaCgp
IGNvbnN0CiB7CiAgICAgdW5zaWduZWQgZm9udEhhc2ggPSBtX2ZvbnQgPyBtX2ZvbnQtPmhhc2go
KSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udFBsYXRmb3JtRGF0YUNhaXJvV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCmluZGV4IGExZGI1MmVlMWM2
YjRkM2ZlMTBiZTFmMWU3MmQxNTBkNWFiYTliY2IuLjM4MmJmYTg2YzczOGQyYzk0Mzc5YTc1MTFm
MDdjOWM0ZmFhNTAxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9udFBsYXRmb3Jt
RGF0YS5oIgogCisjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgpAQCAtMzQsNyArMzUsNiBAQAogCiAjaW5jbHVkZSA8Y2Fpcm8td2luMzIuaD4KIAotCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhSW5p
dChIRk9OVCBmb250LCBmbG9hdCBzaXplLCBIREMgaGRjLCBXQ0hBUiogZmFjZU5hbWUpCkBAIC05
Niw0ICs5Niw5IEBAIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNvbnN0
IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdAogICAgICAgICAmJiBtX3VzZUdESSA9PSBv
dGhlci5tX3VzZUdESTsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0
YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJsZSkgY29uc3QKK3sKKyAgICByZXR1cm4gcGxh
dGZvcm1PcGVuVHlwZVRhYmxlKHRhYmxlKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3Bw
CmluZGV4IGU1MzczYzdjNmVjNDg3NTQwYzE2MWQyYWIxOWQ2ODFiZTgxOGYxYTEuLjFiNTU0NDA0
ZDRiZmRhZDAzMTMyMDRlZDNkMDhjNzliYmFkZWJmZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5j
cHAKQEAgLTYwLDcgKzYwLDcgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShH
RElPYmplY3Q8SEZPTlQ+IGZvbnQsIGZsb2F0IHNpemUsIGJvb2wgYm9sZCwKICAgICBSZXN0b3Jl
REMoaGRjLCAtMSk7CiB9CiAKLVJlZlB0cjxTaGFyZWRCdWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6
Om9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNvbnN0CitSZWZQdHI8U2hhcmVkQnVmZmVy
PiBGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybU9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUp
IGNvbnN0CiB7CiAgICAgSFduZERDIGhkYygwKTsKICAgICBIR0RJT0JKIG9sZEZvbnQgPSBTZWxl
Y3RPYmplY3QoaGRjLCBoZm9udCgpKTsKQEAgLTc4LDExICs3OCw0IEBAIFJlZlB0cjxTaGFyZWRC
dWZmZXI+IEZvbnRQbGF0Zm9ybURhdGE6Om9wZW5UeXBlVGFibGUodWludDMyX3QgdGFibGUpIGNv
bnN0CiAgICAgcmV0dXJuIGJ1ZmZlcjsKIH0KIAotI2lmICFMT0dfRElTQUJMRUQKLVN0cmluZyBG
b250UGxhdGZvcm1EYXRhOjpkZXNjcmlwdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFN0cmlu
ZygpOwotfQotI2VuZGlmCi0KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZmFiNzQzYjdmMDJlMzAzNjFhMDk5MWYwODI4
ZjEyYmIyYTc0MmZlLi40M2I0OGMyZTZlODE5YmQyY2JjMWY1YWNhNTM4NzFmOTc4OTI4NmYzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDktMTQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgV2luXSBNaWdyYXRlIGZyb20gRm9u
dFBsYXRmb3JtRGF0YVdpbi5jcHAgdG8gRm9udFBsYXRmb3JtRGF0YUNvcmVUZXh0LmNwcAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDQ4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlc2UgdHdvIHRl
c3RzIGFyZSBwcm9ncmVzc2lvbnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vbWF0aG1sL29w
ZW50eXBlL29wZW50eXBlLXN0cmV0Y2h5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vc3ZnL1czQy1TVkctMS4xLVNFL2Nvb3Jkcy11bml0cy0wMy1iLWV4cGVjdGVkLnR4dDoK
KwogMjAyMC0wOS0xNCAgSGVjdG9yIExvcGV6ICA8aGVjdG9yX2lfbG9wZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIFsgbWFjT1MgaU9TIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZWxlY3Rpb24vKjogNCB0ZXN0cyBhcmUgZmxha3kgdGltZW91dHMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9tYXRobWwvb3BlbnR5cGUvb3BlbnR5cGUtc3RyZXRj
aHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21hdGhtbC9vcGVudHlw
ZS9vcGVudHlwZS1zdHJldGNoeS1leHBlY3RlZC50eHQKaW5kZXggNGZkOGY4YWYwOTBiZTRjYjVi
MWRjZTE2NTgyYjJjNTgyZGRiMGJkMy4uMmYxMDA5Zjg3MmUyZmIyOWE5MTU3MDRiNDdiNjQzNmJl
N2ViNTdiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL21hdGhtbC9vcGVu
dHlwZS9vcGVudHlwZS1zdHJldGNoeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL21hdGhtbC9vcGVudHlwZS9vcGVudHlwZS1zdHJldGNoeS1leHBlY3RlZC50eHQK
QEAgLTEsNDUgKzEsNDUgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgNzg1eDMzNTU0NDMxCi0gIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDc4NXgz
MzU1NDQzMQotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA3ODV4MzM1NTQ0MzEK
LSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3Njl4MzM1NTQ0MTUKLSAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc2OXgzNAotICAgICAgICBSZW5kZXJNYXRo
TUxNYXRoIHttYXRofSBhdCAoMCwyMCkgc2l6ZSA4eDEwCi0gICAgICAgICAgUmVuZGVyTWF0aE1M
Um93IHttcm93fSBhdCAoMCwwKSBzaXplIDh4MTAKLSAgICAgICAgICAgIFJlbmRlck1hdGhNTE9w
ZXJhdG9yIHttb30gYXQgKDAsMCkgc2l6ZSA4eDEwCi0gICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMngxMAotICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDJ4MAotICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMjogIlx4ezIxOUZ9IgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDcsMTYpIHNpemUgNXgxOAotICAgICAgICAgIHRleHQgcnVuIGF0ICg3LDE2KSB3aWR0aCA1
OiAiICIKLSAgICAgICAgUmVuZGVyTWF0aE1MTWF0aCB7bWF0aH0gYXQgKDExLDE1KSBzaXplIDI3
eDE1Ci0gICAgICAgICAgUmVuZGVyTWF0aE1MUm93IHttcm93fSBhdCAoMCwwKSBzaXplIDI2eDE1
Ci0gICAgICAgICAgICBSZW5kZXJNYXRoTUxPcGVyYXRvciB7bW99IGF0ICgwLDApIHNpemUgMjZ4
MTAKLSAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAy
eDEwCi0gICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMngw
Ci0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyOiAiXHh7MjE5Rn0i
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzcsMTYpIHNpemUgNXgxOAotICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzNywxNikgd2lkdGggNTogIiAiCi0gICAgICAgIFJlbmRlck1hdGhN
TE1hdGgge21hdGh9IGF0ICg0MSwwKSBzaXplIDQ3eDMwCi0gICAgICAgICAgUmVuZGVyTWF0aE1M
Um93IHttcm93fSBhdCAoMCwwKSBzaXplIDQ3eDMwCi0gICAgICAgICAgICBSZW5kZXJNYXRoTUxP
cGVyYXRvciB7bW99IGF0ICgwLDApIHNpemUgNDd4MzAKLSAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAyeDEwCi0gICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMngwCi0gICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAyOiAiXHh7MjE5Rn0iCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDMzOAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MzM4Cisg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDMwNgorICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDM0CisgICAgICAgIFJlbmRlck1hdGhNTE1hdGgg
e21hdGh9IGF0ICgwLDIwKSBzaXplIDI2eDExCisgICAgICAgICAgUmVuZGVyTWF0aE1MUm93IHtt
cm93fSBhdCAoMCwwKSBzaXplIDI2eDExCisgICAgICAgICAgICBSZW5kZXJNYXRoTUxPcGVyYXRv
ciB7bW99IGF0ICgwLDApIHNpemUgMjZ4MTEKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMCkgc2l6ZSAyeDMKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsLTMpIHNpemUgMngwCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwtMykgd2lkdGggMjogIlx4ezIxOUZ9IgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDI1LDE2KSBzaXplIDV4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjUsMTYpIHdpZHRoIDU6
ICIgIgorICAgICAgICBSZW5kZXJNYXRoTUxNYXRoIHttYXRofSBhdCAoMjksMTApIHNpemUgMjd4
MjEKKyAgICAgICAgICBSZW5kZXJNYXRoTUxSb3cge21yb3d9IGF0ICgwLDApIHNpemUgMjZ4MjEK
KyAgICAgICAgICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yIHttb30gYXQgKDAsMCkgc2l6ZSAyNngy
MQorICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDJ4
MworICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwtMykgc2l6ZSAyeDAK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC0zKSB3aWR0aCAyOiAiXHh7MjE5Rn0i
CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTUsMTYpIHNpemUgNXgxOAorICAgICAg
ICAgIHRleHQgcnVuIGF0ICg1NSwxNikgd2lkdGggNTogIiAiCisgICAgICAgIFJlbmRlck1hdGhN
TE1hdGgge21hdGh9IGF0ICg1OSwwKSBzaXplIDI2eDMxCisgICAgICAgICAgUmVuZGVyTWF0aE1M
Um93IHttcm93fSBhdCAoMCwwKSBzaXplIDI2eDMxCisgICAgICAgICAgICBSZW5kZXJNYXRoTUxP
cGVyYXRvciB7bW99IGF0ICgwLDApIHNpemUgMjZ4MzEKKyAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAyeDMKKyAgICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsLTMpIHNpemUgMngwCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwtMykgd2lkdGggMjogIlx4ezIxOUZ9IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1MCkgc2l6
ZSA3Njl4MTU0CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNTApIHNpemUgNzg0eDE1NAog
ICAgICAgICBSZW5kZXJNYXRoTUxNYXRoIHttYXRofSBhdCAoMCwwKSBzaXplIDQ3eDE1MAogICAg
ICAgICAgIFJlbmRlck1hdGhNTFJvdyB7bXJvd30gYXQgKDAsMCkgc2l6ZSA0N3gxNTAKICAgICAg
ICAgICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yIHttb30gYXQgKDAsMCkgc2l6ZSA0N3gxNTAKLSAg
ICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSAyeDEwCi0g
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMngwCi0gICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyOiAiXHh7MjE5Rn0iCisgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMngzCisgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLC0zKSBzaXplIDJ4MAorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTMpIHdpZHRoIDI6ICJceHsyMTlGfSIKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDAsMjIwKSBzaXplIDc2OXgzMzU1NDIxMQotICAgICAgICBSZW5kZXJNYXRoTUxN
YXRoIHttYXRofSBhdCAoMCwxNCkgc2l6ZSA5NHgzMzU1NDQxNwotICAgICAgICAgIFJlbmRlck1h
dGhNTFJvdyB7bXJvd30gYXQgKDAsMCkgc2l6ZSA5NHgzMzU1NDQzMQotICAgICAgICAgICAgUmVu
ZGVyTWF0aE1MT3BlcmF0b3Ige21vfSBhdCAoMCwzMzU1NDQzMSkgc2l6ZSA5NHgwCi0gICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTB4MTAKLSAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMHgwCi0gICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDogIlx4ezJBMUJ9IgorICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDIyMCkgc2l6ZSA3ODR4ODYKKyAgICAgICAgUmVuZGVyTWF0
aE1MTWF0aCB7bWF0aH0gYXQgKDAsMCkgc2l6ZSA4NHg4MgorICAgICAgICAgIFJlbmRlck1hdGhN
TFJvdyB7bXJvd30gYXQgKDAsMCkgc2l6ZSA4NHg4MgorICAgICAgICAgICAgUmVuZGVyTWF0aE1M
T3BlcmF0b3Ige21vfSBhdCAoMCwwKSBzaXplIDg0eDgyCisgICAgICAgICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgMTB4MTIKKyAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsNikgc2l6ZSAxMHgwCisgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw2KSB3aWR0aCAxMDogIlx4ezJBMUJ9IgogICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9zdmcvVzNDLVNWRy0xLjEtU0UvY29vcmRzLXVuaXRzLTAzLWItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9XM0MtU1ZHLTEuMS1TRS9jb29yZHMtdW5pdHMt
MDMtYi1leHBlY3RlZC50eHQKaW5kZXggYzQyZjBhM2EzYTc4ZmE2ZTFlODJiYmNhYjg3MmRhNzUw
NjE0YWFiNC4uOTgyODE5OTM2YTNlMDFkOGYzMjEyNjUzYWVjOGMxNjk2Y2I5ZGFhYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2Zy9XM0MtU1ZHLTEuMS1TRS9jb29yZHMt
dW5pdHMtMDMtYi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL3N2
Zy9XM0MtU1ZHLTEuMS1TRS9jb29yZHMtdW5pdHMtMDMtYi1leHBlY3RlZC50eHQKQEAgLTM5LDgg
KzM5LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgyMzAsNjkpIHNpemUgMTY0eDE0IGNvbnRhaW5zIDEgY2h1bmsocykKICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjR4MTQK
ICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjMwLjAwLDgwLjAwKSBzdGFydE9m
ZnNldCAwIGVuZE9mZnNldCAzMCB3aWR0aCAxNjQuMDA6ICJSZWxhdGl2ZSB0byBmb250IHgtaGVp
Z2h0IChleCkiCi0gICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDIwLDE0MCkgc2l6
ZSAzMjB4MQotICAgICAgICAgIFJlbmRlclNWR1JlY3Qge3JlY3R9IGF0ICgyMCwxNDApIHNpemUg
MzIweDEgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbeD0yMC4wMF0gW3k9
ODAuMDBdIFt3aWR0aD0zMjAuMDBdIFtoZWlnaHQ9MS4wMF0KKyAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMjAsMTQwKSBzaXplIDIxMHgxCisgICAgICAgICAgUmVuZGVyU1ZHUmVj
dCB7cmVjdH0gYXQgKDIwLDE0MCkgc2l6ZSAyMTB4MSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXX1dIFt4PTIwLjAwXSBbeT04MC4wMF0gW3dpZHRoPTI0MC4wMF0gW2hlaWdodD0x
LjAwXQogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsODcpIHNpemUgOTl4MTQg
Y29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDk5eDE0CiAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQg
KDIwLjAwLDk4LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxNSB3aWR0aCA5OS4wMDogIjQx
LjY3JSA9IDIwMCBweCIK
</data>
<flag name="review"
          id="424231"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>