<?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>172140</bug_id>
          
          <creation_ts>2017-05-15 16:33:45 -0700</creation_ts>
          <short_desc>Migrate Font constructor from bools to enums</short_desc>
          <delta_ts>2017-05-15 18:37:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>168487</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1308851</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-15 16:33:45 -0700</bug_when>
    <thetext>Migrate Font constructor from bools to enums</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308859</commentid>
    <comment_count>1</comment_count>
      <attachid>310183</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-15 16:43:33 -0700</bug_when>
    <thetext>Created attachment 310183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308861</commentid>
    <comment_count>2</comment_count>
      <attachid>310183</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-05-15 16:46:22 -0700</bug_when>
    <thetext>Comment on attachment 310183
Patch

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

&gt; Source/WebCore/platform/graphics/Font.h:137
&gt; +    OrientationFallback isTextOrientationFallback() const { return m_orientationFallback ? OrientationFallback::Fallback : OrientationFallback::NoFallback; }

Ditto, I don&apos;t love this.

&gt; Source/WebCore/platform/graphics/Font.h:185
&gt; +    Interstitial isInterstitial() const { return m_interstitial ? Interstitial::Yes : Interstitial::No; }

If this is an &quot;is&quot;, it should probably return a bool?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308874</commentid>
    <comment_count>3</comment_count>
      <attachid>310183</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-05-15 17:00:30 -0700</bug_when>
    <thetext>Comment on attachment 310183
Patch

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

&gt; Source/WebCore/platform/graphics/Font.h:90
&gt; +    enum class Origin {
&gt; +        Remote,
&gt; +        Local
&gt; +    };
&gt; +    enum class Interstitial {
&gt; +        Yes,
&gt; +        No
&gt; +    };
&gt; +    enum class OrientationFallback {
&gt; +        Fallback,
&gt; +        NoFallback
&gt; +    };

Could these all be in an OptionSet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308882</commentid>
    <comment_count>4</comment_count>
      <attachid>310191</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-05-15 17:09:55 -0700</bug_when>
    <thetext>Created attachment 310191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308883</commentid>
    <comment_count>5</comment_count>
      <attachid>310191</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-05-15 17:11:37 -0700</bug_when>
    <thetext>Comment on attachment 310191
Patch

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

&gt; Source/WebCore/platform/graphics/Font.h:308
&gt; +    unsigned m_origin : 1; // Whether or not we are custom font loaded via @font-face
&gt; +    unsigned m_isInterstitial : 1; // Whether or not this custom font is the last resort placeholder for a loading font

These could totally be your enum if you wanted. But this is much better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308928</commentid>
    <comment_count>6</comment_count>
      <attachid>310191</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-15 18:37:46 -0700</bug_when>
    <thetext>Comment on attachment 310191
Patch

Clearing flags on attachment: 310191

Committed r216896: &lt;http://trac.webkit.org/changeset/216896&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1308929</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-15 18:37:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310183</attachid>
            <date>2017-05-15 16:43:33 -0700</date>
            <delta_ts>2017-05-15 17:09:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172140-20170515164332.patch</filename>
            <type>text/plain</type>
            <size>25771</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2ODc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhmNGRiNjYwZGRlYzBk
ZTQ2M2I2Yzc3ZjgzNDM5ODQzZDQ5NGI5MC4uNzBiYjNiYzcyYTIyYjhiODE1YTk4ODJmYWNhNTcw
NDAzMDc2MThkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDYxIEBACiAyMDE3LTA1LTE1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKKyAgICAgICAgTWlncmF0ZSBG
b250IGNvbnN0cnVjdG9yIGZyb20gYm9vbHMgdG8gZW51bXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjE0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjg0ODcsIEknbSBhZGRpbmcgYSBuZXcgZmxhZyB0byBGb250LiBXZSBj
YW4ndAorICAgICAgICBrZWVwIGhhdmluZyBqdXN0IGEgcGlsZSBvZiBib29scyBpbiB0aGlzIGNs
YXNzLiBJbnN0ZWFkLCB3ZSBzaG91bGQgYmUgdXNpbmcgZW51bXMuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICog
Y3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpmb250
KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udEZhY2VTb3VyY2U6OmZvbnQpOgorICAgICAgICAqIGNzcy9DU1NTZWdtZW50ZWRG
b250RmFjZS5jcHA6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udDo6Y3JlYXRlRm9udCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpGb250KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnQ6OnZlcnRpY2FsUmlnaHRPcmllbnRhdGlvbkZvbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udDo6dXByaWdodE9yaWVudGF0aW9uRm9udCk6CisgICAgICAgIChX
ZWJDb3JlOjpGb250Ojpicm9rZW5JZGVvZ3JhcGhGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkZv
bnQ6OmRlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6Om1hdGhEYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgIChXZWJDb3JlOjpGb250
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6aXNUZXh0T3JpZW50YXRpb25GYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpvcmlnaW4pOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udDo6aXNJbnRlcnN0aXRpYWwpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6c2hvdWxk
RGlzcGxheSk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojp3aWR0aEZvckdseXBoKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnQ6OmlzQ3VzdG9tRm9udCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpGb250Ojppc0xvYWRpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlRm9udHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGVG
b250czo6Z2x5cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dENhc2NhZGVGb250czo6Z2x5cGhEYXRhRm9yTm9ybWFsVmFyaWFudCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENhc2NhZGVDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNj
YWRlOjpkcmF3R2x5cGhzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpGb250OjpwbGF0Zm9ybUluaXQpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnQ6OnBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udDo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFEaXJlY3QyRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpwbGF0Zm9y
bUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdp
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpwbGF0Zm9ybUNyZWF0ZVNjYWxlZEZvbnQp
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZGV0ZXJtaW5lUGl0Y2gpOgorICAgICAgICAqIHJl
bmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxp
bmVMYXlvdXQ6OmNhblVzZUZvckZvbnRBbmRUZXh0KToKKworMjAxNy0wNS0xNSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCiAgICAgICAgIFVuaWNvZGUgY2hhcmFj
dGVycyB3aGljaCBjYW4ndCBiZSByZW5kZXJlZCBpbiBhbnkgZm9udCBhcmUgaW52aXNpYmxlCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE5NDIKICAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMyMDU0MjM0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5j
cHAKaW5kZXggN2E5OWQ3Yzk1ZjFlZjg5MDk4OGMzN2FmMTZiYjZmYzU0YmMzZGIwNy4uZjE4NWU5
MDIxODI5NTY2OTVmZjk0YzQzMjNhNmMyMWRkODlkNDM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2UuY3BwCkBAIC02MjUsNyArNjI1LDcgQEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlOjpm
b250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIHN5bnQKICAg
ICAgICAgICAgIGZvbnRJc0xvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgaWYgKHN0YXR1cygp
ID09IFN0YXR1czo6VGltZWRPdXQpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
ICAgICByZXR1cm4gRm9udDo6Y3JlYXRlKEZvbnRDYWNoZTo6c2luZ2xldG9uKCkubGFzdFJlc29y
dEZhbGxiYWNrRm9udEZvckV2ZXJ5Q2hhcmFjdGVyKGZvbnREZXNjcmlwdGlvbiktPnBsYXRmb3Jt
RGF0YSgpLCB0cnVlLCB0cnVlKTsKKyAgICAgICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoRm9u
dENhY2hlOjpzaW5nbGV0b24oKS5sYXN0UmVzb3J0RmFsbGJhY2tGb250Rm9yRXZlcnlDaGFyYWN0
ZXIoZm9udERlc2NyaXB0aW9uKS0+cGxhdGZvcm1EYXRhKCksIEZvbnQ6Ok9yaWdpbjo6UmVtb3Rl
LCBGb250OjpJbnRlcnN0aXRpYWw6Olllcyk7CiAgICAgICAgIGNhc2UgQ1NTRm9udEZhY2VTb3Vy
Y2U6OlN0YXR1czo6U3VjY2VzczoKICAgICAgICAgICAgIGlmIChSZWZQdHI8Rm9udD4gcmVzdWx0
ID0gc291cmNlLT5mb250KGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGlj
SXRhbGljLCBtX2ZlYXR1cmVTZXR0aW5ncywgbV92YXJpYW50U2V0dGluZ3MsIG1fZm9udFNlbGVj
dGlvbkNhcGFiaWxpdGllcykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCmluZGV4IDIwYjU4MTExYzg1OWE4MGFi
YTJkZWU2YmNiZGEwNWU3MTM1OTcwMDQuLjhhZDYyN2Q4YjA0YzI0Mjg3YTc1NDU5OWE1ZDc0ZTBl
NmNlMzUwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcApAQCAt
MTgxLDcgKzE4MSw3IEBAIFJlZlB0cjxGb250PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25z
dCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9vCiAgICAgICAgIGlmIChtX2lt
bWVkaWF0ZVNvdXJjZSkgewogICAgICAgICAgICAgaWYgKCFtX2ltbWVkaWF0ZUZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAg
ICByZXR1cm4gRm9udDo6Y3JlYXRlKENhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21E
YXRhKCptX2ltbWVkaWF0ZUZvbnRDdXN0b21QbGF0Zm9ybURhdGEsIGZvbnREZXNjcmlwdGlvbiwg
c3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFj
ZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpLCB0cnVlKTsKKyAgICAgICAg
ICAgIHJldHVybiBGb250OjpjcmVhdGUoQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3Rv
bURhdGEoKm1faW1tZWRpYXRlRm9udEN1c3RvbVBsYXRmb3JtRGF0YSwgZm9udERlc2NyaXB0aW9u
LCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRG
YWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZvbnQ6Ok9yaWdpbjo6
UmVtb3RlKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIFdlJ3JlIGxvY2FsLiBKdXN0IHJldHVy
biBhIEZvbnQgZnJvbSB0aGUgbm9ybWFsIGNhY2hlLgpAQCAtMjA2LDcgKzIwNiw3IEBAIFJlZlB0
cjxGb250PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZv
bnREZXNjcmlwdGlvbiwgYm9vCiAgICAgaWYgKCFtX2luRG9jdW1lbnRDdXN0b21QbGF0Zm9ybURh
dGEpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHJl
dHVybiBGb250OjpjcmVhdGUobV9pbkRvY3VtZW50Q3VzdG9tUGxhdGZvcm1EYXRhLT5mb250UGxh
dGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGlj
LCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBh
YmlsaXRpZXMpLCB0cnVlKTsKKyAgICByZXR1cm4gRm9udDo6Y3JlYXRlKG1faW5Eb2N1bWVudEN1
c3RvbVBsYXRmb3JtRGF0YS0+Zm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRo
ZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJp
YW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKSwgRm9udDo6T3JpZ2luOjpSZW1vdGUp
OwogI2Vsc2UKICAgICByZXR1cm4gRm9udDo6Y3JlYXRlKG1faW5Eb2N1bWVudEN1c3RvbVBsYXRm
b3JtRGF0YS0+Zm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQs
IHN5bnRoZXRpY0l0YWxpYyksIHRydWUpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1NlZ21lbnRlZEZvbnRGYWNlLmNwcAppbmRleCBkY2ZmYzEyNDdmNzcwZmM4YWRiNjE0ZTgwYjcz
NTYyZGU3NjNiMGZjLi4yNTUyZmE1NjNjNTk4MmRkNGQ1Y2E3MDAyMmZmZDM3OTY0NDE3MDVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKQEAgLTg0LDcg
Kzg0LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgZmluYWwKICAg
ICB7Ci0gICAgICAgIHJldHVybiBtX3Jlc3VsdCAmJiBtX3Jlc3VsdC52YWx1ZSgpICYmIG1fcmVz
dWx0LnZhbHVlKCktPmlzTG9hZGluZygpOworICAgICAgICByZXR1cm4gbV9yZXN1bHQgJiYgbV9y
ZXN1bHQudmFsdWUoKSAmJiBtX3Jlc3VsdC52YWx1ZSgpLT5pc0ludGVyc3RpdGlhbCgpID09IEZv
bnQ6OkludGVyc3RpdGlhbDo6WWVzOwogICAgIH0KIAogICAgIG11dGFibGUgc3RkOjpvcHRpb25h
bDxSZWZQdHI8Rm9udD4+IG1fcmVzdWx0OyAvLyBDYWNoZXMgbnVsbHB0ciB0b28KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAppbmRleCBiOWZkMTZlMjcwNTkzNDEx
Y2MyYmFmZTdhNWE4YzViNWNkYzhlNTRlLi5kOTA1NjdjYzdjOGZkYjBiMzRjYzI1NTM2ODBhNGM5
MzJmZmE2NzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
Rm9udC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3Bw
CkBAIC0xMjQsNyArMTI0LDcgQEAgc3RkOjp1bmlxdWVfcHRyPEZvbnRDdXN0b21QbGF0Zm9ybURh
dGE+IENhY2hlZEZvbnQ6OmNyZWF0ZUN1c3RvbUZvbnREYXRhKFNoYXJlZEIKIAogUmVmUHRyPEZv
bnQ+IENhY2hlZEZvbnQ6OmNyZWF0ZUZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVz
Y3JpcHRpb24sIGNvbnN0IEF0b21pY1N0cmluZyYsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBz
eW50aGV0aWNJdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGluZ3MmIGZvbnRGYWNlRmVhdHVy
ZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBG
b250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzKQog
ewotICAgIHJldHVybiBGb250OjpjcmVhdGUocGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoZm9u
dERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVh
dHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyksIHRy
dWUpOworICAgIHJldHVybiBGb250OjpjcmVhdGUocGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEo
Zm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMsIGZvbnRGYWNl
RmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFjZUNhcGFiaWxpdGllcyks
IEZvbnQ6Ok9yaWdpbjo6UmVtb3RlKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YSBDYWNoZWRGb250
OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnRE
ZXNjcmlwdGlvbiwgYm9vbCBib2xkLCBib29sIGl0YWxpYywgY29uc3QgRm9udEZlYXR1cmVTZXR0
aW5ncyYgZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyYgZm9udEZh
Y2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9u
dEZhY2VDYXBhYmlsaXRpZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
Y3BwCmluZGV4IGJjOTY1MGNkZjVhNTMyYzhiN2VhNmQxNGJiYmUyZDg0OTUxY2I5NjAuLjQzYzMy
MWQ3NzQ0NDQwMDFhNmFhMjI5MDFmYzQxYzViYTcxMmI0YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC01NSwxNSArNTUsMTUgQEAgdW5zaWduZWQgR2x5
cGhQYWdlOjpzX2NvdW50ID0gMDsKIGNvbnN0IGZsb2F0IHNtYWxsQ2Fwc0ZvbnRTaXplTXVsdGlw
bGllciA9IDAuN2Y7CiBjb25zdCBmbG9hdCBlbXBoYXNpc01hcmtGb250U2l6ZU11bHRpcGxpZXIg
PSAwLjVmOwogCi1Gb250OjpGb250KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0
YSwgYm9vbCBpc0N1c3RvbUZvbnQsIGJvb2wgaXNMb2FkaW5nLCBib29sIGlzVGV4dE9yaWVudGF0
aW9uRmFsbGJhY2spCitGb250OjpGb250KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3Jt
RGF0YSwgT3JpZ2luIG9yaWdpbiwgSW50ZXJzdGl0aWFsIGludGVyc3RpdGlhbCwgT3JpZW50YXRp
b25GYWxsYmFjayBvcmllbnRhdGlvbkZhbGxiYWNrKQogICAgIDogbV9tYXhDaGFyV2lkdGgoLTEp
CiAgICAgLCBtX2F2Z0NoYXJXaWR0aCgtMSkKICAgICAsIG1fcGxhdGZvcm1EYXRhKHBsYXRmb3Jt
RGF0YSkKICAgICAsIG1fbWF0aERhdGEobnVsbHB0cikKICAgICAsIG1fdHJlYXRBc0ZpeGVkUGl0
Y2goZmFsc2UpCi0gICAgLCBtX2lzQ3VzdG9tRm9udChpc0N1c3RvbUZvbnQpCi0gICAgLCBtX2lz
TG9hZGluZyhpc0xvYWRpbmcpCi0gICAgLCBtX2lzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2soaXNU
ZXh0T3JpZW50YXRpb25GYWxsYmFjaykKKyAgICAsIG1fb3JpZ2luKG9yaWdpbiA9PSBPcmlnaW46
OlJlbW90ZSkKKyAgICAsIG1faW50ZXJzdGl0aWFsKGludGVyc3RpdGlhbCA9PSBJbnRlcnN0aXRp
YWw6OlllcykKKyAgICAsIG1fb3JpZW50YXRpb25GYWxsYmFjayhvcmllbnRhdGlvbkZhbGxiYWNr
ID09IE9yaWVudGF0aW9uRmFsbGJhY2s6OkZhbGxiYWNrKQogICAgICwgbV9pc0Jyb2tlbklkZW9n
cmFwaEZhbGxiYWNrKGZhbHNlKQogICAgICwgbV9oYXNWZXJ0aWNhbEdseXBocyhmYWxzZSkKICAg
ICAsIG1faXNVc2VkSW5TeXN0ZW1GYWxsYmFja0NhY2hlKGZhbHNlKQpAQCAtNzUsNyArNzUsNyBA
QCBGb250OjpGb250KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwgYm9vbCBp
c0N1c3RvbUZvbnQsIGJvb2wgaXNMb2FkaQogICAgIHBsYXRmb3JtR2x5cGhJbml0KCk7CiAgICAg
cGxhdGZvcm1DaGFyV2lkdGhJbml0KCk7CiAjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJQ0FMKQot
ICAgIGlmIChwbGF0Zm9ybURhdGEub3JpZW50YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiAhaXNUZXh0
T3JpZW50YXRpb25GYWxsYmFjaykgeworICAgIGlmIChwbGF0Zm9ybURhdGEub3JpZW50YXRpb24o
KSA9PSBWZXJ0aWNhbCAmJiBvcmllbnRhdGlvbkZhbGxiYWNrID09IE9yaWVudGF0aW9uRmFsbGJh
Y2s6Ok5vRmFsbGJhY2spIHsKICAgICAgICAgbV92ZXJ0aWNhbERhdGEgPSBGb250Q2FjaGU6OnNp
bmdsZXRvbigpLnZlcnRpY2FsRGF0YShwbGF0Zm9ybURhdGEpOwogICAgICAgICBtX2hhc1ZlcnRp
Y2FsR2x5cGhzID0gbV92ZXJ0aWNhbERhdGEuZ2V0KCkgJiYgbV92ZXJ0aWNhbERhdGEtPmhhc1Zl
cnRpY2FsTWV0cmljcygpOwogICAgIH0KQEAgLTI2Niw3ICsyNjYsNyBAQCBjb25zdCBGb250JiBG
b250Ojp2ZXJ0aWNhbFJpZ2h0T3JpZW50YXRpb25Gb250KCkgY29uc3QKICAgICAgICAgbV9kZXJp
dmVkRm9udERhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPERlcml2ZWRGb250cz4oKTsKICAgICBpZiAo
IW1fZGVyaXZlZEZvbnREYXRhLT52ZXJ0aWNhbFJpZ2h0T3JpZW50YXRpb24pIHsKICAgICAgICAg
YXV0byB2ZXJ0aWNhbFJpZ2h0UGxhdGZvcm1EYXRhID0gRm9udFBsYXRmb3JtRGF0YTo6Y2xvbmVX
aXRoT3JpZW50YXRpb24obV9wbGF0Zm9ybURhdGEsIEhvcml6b250YWwpOwotICAgICAgICBtX2Rl
cml2ZWRGb250RGF0YS0+dmVydGljYWxSaWdodE9yaWVudGF0aW9uID0gY3JlYXRlKHZlcnRpY2Fs
UmlnaHRQbGF0Zm9ybURhdGEsIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAg
IG1fZGVyaXZlZEZvbnREYXRhLT52ZXJ0aWNhbFJpZ2h0T3JpZW50YXRpb24gPSBjcmVhdGUodmVy
dGljYWxSaWdodFBsYXRmb3JtRGF0YSwgb3JpZ2luKCksIEludGVyc3RpdGlhbDo6Tm8sIE9yaWVu
dGF0aW9uRmFsbGJhY2s6OkZhbGxiYWNrKTsKICAgICB9CiAgICAgQVNTRVJUKG1fZGVyaXZlZEZv
bnREYXRhLT52ZXJ0aWNhbFJpZ2h0T3JpZW50YXRpb24gIT0gdGhpcyk7CiAgICAgcmV0dXJuICpt
X2Rlcml2ZWRGb250RGF0YS0+dmVydGljYWxSaWdodE9yaWVudGF0aW9uOwpAQCAtMjc3LDcgKzI3
Nyw3IEBAIGNvbnN0IEZvbnQmIEZvbnQ6OnVwcmlnaHRPcmllbnRhdGlvbkZvbnQoKSBjb25zdAog
ICAgIGlmICghbV9kZXJpdmVkRm9udERhdGEpCiAgICAgICAgIG1fZGVyaXZlZEZvbnREYXRhID0g
c3RkOjptYWtlX3VuaXF1ZTxEZXJpdmVkRm9udHM+KCk7CiAgICAgaWYgKCFtX2Rlcml2ZWRGb250
RGF0YS0+dXByaWdodE9yaWVudGF0aW9uKQotICAgICAgICBtX2Rlcml2ZWRGb250RGF0YS0+dXBy
aWdodE9yaWVudGF0aW9uID0gY3JlYXRlKG1fcGxhdGZvcm1EYXRhLCBpc0N1c3RvbUZvbnQoKSwg
ZmFsc2UsIHRydWUpOworICAgICAgICBtX2Rlcml2ZWRGb250RGF0YS0+dXByaWdodE9yaWVudGF0
aW9uID0gY3JlYXRlKG1fcGxhdGZvcm1EYXRhLCBvcmlnaW4oKSwgSW50ZXJzdGl0aWFsOjpObywg
T3JpZW50YXRpb25GYWxsYmFjazo6RmFsbGJhY2spOwogICAgIEFTU0VSVChtX2Rlcml2ZWRGb250
RGF0YS0+dXByaWdodE9yaWVudGF0aW9uICE9IHRoaXMpOwogICAgIHJldHVybiAqbV9kZXJpdmVk
Rm9udERhdGEtPnVwcmlnaHRPcmllbnRhdGlvbjsKIH0KQEAgLTMyMSw3ICszMjEsNyBAQCBjb25z
dCBGb250JiBGb250Ojpicm9rZW5JZGVvZ3JhcGhGb250KCkgY29uc3QKICAgICBpZiAoIW1fZGVy
aXZlZEZvbnREYXRhKQogICAgICAgICBtX2Rlcml2ZWRGb250RGF0YSA9IHN0ZDo6bWFrZV91bmlx
dWU8RGVyaXZlZEZvbnRzPigpOwogICAgIGlmICghbV9kZXJpdmVkRm9udERhdGEtPmJyb2tlbklk
ZW9ncmFwaCkgewotICAgICAgICBtX2Rlcml2ZWRGb250RGF0YS0+YnJva2VuSWRlb2dyYXBoID0g
Y3JlYXRlKG1fcGxhdGZvcm1EYXRhLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpOworICAgICAgICBt
X2Rlcml2ZWRGb250RGF0YS0+YnJva2VuSWRlb2dyYXBoID0gY3JlYXRlKG1fcGxhdGZvcm1EYXRh
LCBvcmlnaW4oKSwgSW50ZXJzdGl0aWFsOjpObyk7CiAgICAgICAgIG1fZGVyaXZlZEZvbnREYXRh
LT5icm9rZW5JZGVvZ3JhcGgtPm1faXNCcm9rZW5JZGVvZ3JhcGhGYWxsYmFjayA9IHRydWU7CiAg
ICAgfQogICAgIEFTU0VSVChtX2Rlcml2ZWRGb250RGF0YS0+YnJva2VuSWRlb2dyYXBoICE9IHRo
aXMpOwpAQCAtMzMxLDcgKzMzMSw3IEBAIGNvbnN0IEZvbnQmIEZvbnQ6OmJyb2tlbklkZW9ncmFw
aEZvbnQoKSBjb25zdAogI2lmbmRlZiBOREVCVUcKIFN0cmluZyBGb250OjpkZXNjcmlwdGlvbigp
IGNvbnN0CiB7Ci0gICAgaWYgKGlzQ3VzdG9tRm9udCgpKQorICAgIGlmIChvcmlnaW4oKSA9PSBP
cmlnaW46OlJlbW90ZSkKICAgICAgICAgcmV0dXJuICJbY3VzdG9tIGZvbnRdIjsKIAogICAgIHJl
dHVybiBwbGF0Zm9ybURhdGEoKS5kZXNjcmlwdGlvbigpOwpAQCAtMzQwLDcgKzM0MCw3IEBAIFN0
cmluZyBGb250OjpkZXNjcmlwdGlvbigpIGNvbnN0CiAKIGNvbnN0IE9wZW5UeXBlTWF0aERhdGEq
IEZvbnQ6Om1hdGhEYXRhKCkgY29uc3QKIHsKLSAgICBpZiAobV9pc0xvYWRpbmcpCisgICAgaWYg
KGlzSW50ZXJzdGl0aWFsKCkgPT0gSW50ZXJzdGl0aWFsOjpZZXMpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIGlmICghbV9tYXRoRGF0YSkgewogICAgICAgICBtX21hdGhEYXRhID0gT3Bl
blR5cGVNYXRoRGF0YTo6Y3JlYXRlKG1fcGxhdGZvcm1EYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCBiOTYyOGVhZTdiMmJiMGY4YmVhMDFjZjg1Njk4ZTI4
ODc2MTZjOTM1Li40MzVlMGZlY2MzMTIyMzRjNWRlZWIwYzZkMTJkMjdiNDdlZmQ5ZWYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCkBAIC03Niw5ICs3NiwyMSBAQCBl
bnVtIFBpdGNoIHsgVW5rbm93blBpdGNoLCBGaXhlZFBpdGNoLCBWYXJpYWJsZVBpdGNoIH07CiBj
bGFzcyBGb250IDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udD4gewogcHVibGljOgogICAgIC8vIFVz
ZWQgdG8gY3JlYXRlIHBsYXRmb3JtIGZvbnRzLgotICAgIHN0YXRpYyBSZWY8Rm9udD4gY3JlYXRl
KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwgYm9vbCBpc0N1c3RvbUZvbnQg
PSBmYWxzZSwgYm9vbCBpc0xvYWRpbmcgPSBmYWxzZSwgYm9vbCBpc1RleHRPcmllbnRhdGlvbkZh
bGxiYWNrID0gZmFsc2UpCisgICAgZW51bSBjbGFzcyBPcmlnaW4geworICAgICAgICBSZW1vdGUs
CisgICAgICAgIExvY2FsCisgICAgfTsKKyAgICBlbnVtIGNsYXNzIEludGVyc3RpdGlhbCB7Cisg
ICAgICAgIFllcywKKyAgICAgICAgTm8KKyAgICB9OworICAgIGVudW0gY2xhc3MgT3JpZW50YXRp
b25GYWxsYmFjayB7CisgICAgICAgIEZhbGxiYWNrLAorICAgICAgICBOb0ZhbGxiYWNrCisgICAg
fTsKKyAgICBzdGF0aWMgUmVmPEZvbnQ+IGNyZWF0ZShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBw
bGF0Zm9ybURhdGEsIE9yaWdpbiBvcmlnaW4gPSBPcmlnaW46OkxvY2FsLCBJbnRlcnN0aXRpYWwg
aW50ZXJzdGl0aWFsID0gSW50ZXJzdGl0aWFsOjpObywgT3JpZW50YXRpb25GYWxsYmFjayBvcmll
bnRhdGlvbkZhbGxiYWNrID0gT3JpZW50YXRpb25GYWxsYmFjazo6Tm9GYWxsYmFjaykKICAgICB7
Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZvbnQocGxhdGZvcm1EYXRhLCBpc0N1c3Rv
bUZvbnQsIGlzTG9hZGluZywgaXNUZXh0T3JpZW50YXRpb25GYWxsYmFjaykpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBGb250KHBsYXRmb3JtRGF0YSwgb3JpZ2luLCBpbnRlcnN0aXRp
YWwsIG9yaWVudGF0aW9uRmFsbGJhY2spKTsKICAgICB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB+
Rm9udCgpOwpAQCAtMTIyLDcgKzEzNCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBGb250JiB1cHJp
Z2h0T3JpZW50YXRpb25Gb250KCkgY29uc3Q7CiAKICAgICBib29sIGhhc1ZlcnRpY2FsR2x5cGhz
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNWZXJ0aWNhbEdseXBoczsgfQotICAgIGJvb2wgaXNUZXh0
T3JpZW50YXRpb25GYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIG1faXNUZXh0T3JpZW50YXRpb25G
YWxsYmFjazsgfQorICAgIE9yaWVudGF0aW9uRmFsbGJhY2sgaXNUZXh0T3JpZW50YXRpb25GYWxs
YmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZW50YXRpb25GYWxsYmFjayA/IE9yaWVudGF0aW9u
RmFsbGJhY2s6OkZhbGxiYWNrIDogT3JpZW50YXRpb25GYWxsYmFjazo6Tm9GYWxsYmFjazsgfQog
CiAgICAgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzKCkgeyByZXR1cm4gbV9mb250TWV0cmljczsg
fQogICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIG1f
Zm9udE1ldHJpY3M7IH0KQEAgLTE2OSw4ICsxODEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXRl
cm1pbmVQaXRjaCgpOwogICAgIFBpdGNoIHBpdGNoKCkgY29uc3QgeyByZXR1cm4gbV90cmVhdEFz
Rml4ZWRQaXRjaCA/IEZpeGVkUGl0Y2ggOiBWYXJpYWJsZVBpdGNoOyB9CiAKLSAgICBib29sIGlz
Q3VzdG9tRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDdXN0b21Gb250OyB9Ci0gICAgYm9vbCBp
c0xvYWRpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzTG9hZGluZzsgfQorICAgIE9yaWdpbiBvcmln
aW4oKSBjb25zdCB7IHJldHVybiBtX29yaWdpbiA/IE9yaWdpbjo6UmVtb3RlIDogT3JpZ2luOjpM
b2NhbDsgfQorICAgIEludGVyc3RpdGlhbCBpc0ludGVyc3RpdGlhbCgpIGNvbnN0IHsgcmV0dXJu
IG1faW50ZXJzdGl0aWFsID8gSW50ZXJzdGl0aWFsOjpZZXMgOiBJbnRlcnN0aXRpYWw6Ok5vOyB9
CiAKICNpZm5kZWYgTkRFQlVHCiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3Q7CkBAIC0y
MDgsNyArMjIwLDcgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAgRm9udChjb25z
dCBGb250UGxhdGZvcm1EYXRhJiwgYm9vbCBpc0N1c3RvbUZvbnQgPSBmYWxzZSwgYm9vbCBpc0xv
YWRpbmcgPSBmYWxzZSwgYm9vbCBpc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrID0gZmFsc2UpOwor
ICAgIEZvbnQoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYsIE9yaWdpbiwgSW50ZXJzdGl0aWFsLCBP
cmllbnRhdGlvbkZhbGxiYWNrKTsKIAogICAgIHZvaWQgcGxhdGZvcm1Jbml0KCk7CiAgICAgdm9p
ZCBwbGF0Zm9ybUdseXBoSW5pdCgpOwpAQCAtMjkyLDEwICszMDQsMTAgQEAgcHJpdmF0ZToKICNl
bmRpZgogCiAgICAgdW5zaWduZWQgbV90cmVhdEFzRml4ZWRQaXRjaCA6IDE7Ci0gICAgdW5zaWdu
ZWQgbV9pc0N1c3RvbUZvbnQgOiAxOyAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBhcmUgY3VzdG9tIGZv
bnQgbG9hZGVkIHZpYSBAZm9udC1mYWNlCi0gICAgdW5zaWduZWQgbV9pc0xvYWRpbmcgOiAxOyAv
LyBXaGV0aGVyIG9yIG5vdCB0aGlzIGN1c3RvbSBmb250IGlzIHN0aWxsIGluIHRoZSBhY3Qgb2Yg
bG9hZGluZy4KKyAgICB1bnNpZ25lZCBtX29yaWdpbiA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdl
IGFyZSBjdXN0b20gZm9udCBsb2FkZWQgdmlhIEBmb250LWZhY2UKKyAgICB1bnNpZ25lZCBtX2lu
dGVyc3RpdGlhbCA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHRoaXMgY3VzdG9tIGZvbnQgaXMgdGhl
IGxhc3QgcmVzb3J0IHBsYWNlaG9sZGVyIGZvciBhIGxvYWRpbmcgZm9udAogCi0gICAgdW5zaWdu
ZWQgbV9pc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrIDogMTsKKyAgICB1bnNpZ25lZCBtX29yaWVu
dGF0aW9uRmFsbGJhY2sgOiAxOwogICAgIHVuc2lnbmVkIG1faXNCcm9rZW5JZGVvZ3JhcGhGYWxs
YmFjayA6IDE7CiAgICAgdW5zaWduZWQgbV9oYXNWZXJ0aWNhbEdseXBocyA6IDE7CiAKQEAgLTMz
NSw3ICszNDcsNyBAQCBBTFdBWVNfSU5MSU5FIGZsb2F0IEZvbnQ6OndpZHRoRm9yR2x5cGgoR2x5
cGggZ2x5cGgpIGNvbnN0CiAgICAgLy8gdXNlZCBpbiBwbGFjZSBvZiB0aGUgYWN0dWFsIGZvbnQg
d2hlbiBpc0xvYWRpbmcoKSBpcyB0cnVlIG9uIGJvdGggbWFjT1MgYW5kIGlPUy4KICAgICAvLyBU
aGUgemVyby13aWR0aC1zcGFjZSBnbHlwaCBpbiB0aGF0IGZvbnQgZG9lcyBub3QgaGF2ZSBhIHdp
ZHRoIG9mIHplcm8gYW5kLCBmdXJ0aGVyLCB0aGF0IGdseXBoIGlzIHVzZWQKICAgICAvLyBmb3Ig
bWFueSBvdGhlciBjaGFyYWN0ZXJzIGFuZCBtdXN0IG5vdCBiZSB6ZXJvIHdpZHRoIHdoZW4gdXNl
ZCBmb3IgdGhlbS4KLSAgICBpZiAoaXNaZXJvV2lkdGhTcGFjZUdseXBoKGdseXBoKSAmJiAhaXNM
b2FkaW5nKCkpCisgICAgaWYgKGlzWmVyb1dpZHRoU3BhY2VHbHlwaChnbHlwaCkgJiYgaXNJbnRl
cnN0aXRpYWwoKSA9PSBJbnRlcnN0aXRpYWw6Ok5vKQogICAgICAgICByZXR1cm4gMDsKIAogICAg
IGZsb2F0IHdpZHRoID0gbV9nbHlwaFRvV2lkdGhNYXAubWV0cmljc0ZvckdseXBoKGdseXBoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
Rm9udHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVG
b250cy5jcHAKaW5kZXggZmY4OTY4YzRiMmE0MGIxOTgxZWU4MTg0MTBlNzdjZTNlZTE3YzAwNi4u
OWE5MjYyNmNjODc3ZjI4YWNkY2Y1MzNiZjgyMDAzMjY5NzA2OWM4NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKQEAg
LTMzNiw3ICszMzYsNyBAQCBHbHlwaERhdGEgRm9udENhc2NhZGVGb250czo6Z2x5cGhEYXRhRm9y
U3lzdGVtRmFsbGJhY2soVUNoYXIzMiBjLCBjb25zdCBGb250Q2FzYwogICAgIGVsc2UKICAgICAg
ICAgZmFsbGJhY2tHbHlwaERhdGEgPSBzeXN0ZW1GYWxsYmFja0ZvbnQtPnZhcmlhbnRGb250KGRl
c2NyaXB0aW9uLCB2YXJpYW50KS0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGMpOwogCi0gICAgaWYg
KGZhbGxiYWNrR2x5cGhEYXRhLmZvbnQgJiYgZmFsbGJhY2tHbHlwaERhdGEuZm9udC0+cGxhdGZv
cm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiAhZmFsbGJhY2tHbHlwaERhdGEu
Zm9udC0+aXNUZXh0T3JpZW50YXRpb25GYWxsYmFjaygpKSB7CisgICAgaWYgKGZhbGxiYWNrR2x5
cGhEYXRhLmZvbnQgJiYgZmFsbGJhY2tHbHlwaERhdGEuZm9udC0+cGxhdGZvcm1EYXRhKCkub3Jp
ZW50YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiBmYWxsYmFja0dseXBoRGF0YS5mb250LT5pc1RleHRP
cmllbnRhdGlvbkZhbGxiYWNrKCkgPT0gRm9udDo6T3JpZW50YXRpb25GYWxsYmFjazo6Tm9GYWxs
YmFjaykgewogICAgICAgICBpZiAodmFyaWFudCA9PSBOb3JtYWxWYXJpYW50ICYmICFGb250Q2Fz
Y2FkZTo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChjKSkKICAgICAgICAgICAgIGZhbGxiYWNrR2x5
cGhEYXRhID0gZ2x5cGhEYXRhRm9yTm9uQ0pLQ2hhcmFjdGVyV2l0aEdseXBoT3JpZW50YXRpb24o
YywgZGVzY3JpcHRpb24ubm9uQ0pLR2x5cGhPcmllbnRhdGlvbigpLCBmYWxsYmFja0dseXBoRGF0
YSk7CiAgICAgfQpAQCAtMzc2LDcgKzM3Niw3IEBAIEdseXBoRGF0YSBGb250Q2FzY2FkZUZvbnRz
OjpnbHlwaERhdGFGb3JOb3JtYWxWYXJpYW50KFVDaGFyMzIgYywgY29uc3QgRm9udENhc2NhCiAg
ICAgICAgIEdseXBoRGF0YSBkYXRhID0gZm9udFJhbmdlcy5nbHlwaERhdGFGb3JDaGFyYWN0ZXIo
Yyk7CiAgICAgICAgIGlmICghZGF0YS5mb250KQogICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgIGlmIChkYXRhLmZvbnQtPnBsYXRmb3JtRGF0YSgpLm9yaWVudGF0aW9uKCkgPT0gVmVydGlj
YWwgJiYgIWRhdGEuZm9udC0+aXNUZXh0T3JpZW50YXRpb25GYWxsYmFjaygpKSB7CisgICAgICAg
IGlmIChkYXRhLmZvbnQtPnBsYXRmb3JtRGF0YSgpLm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwg
JiYgZGF0YS5mb250LT5pc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKCkgPT0gRm9udDo6T3JpZW50
YXRpb25GYWxsYmFjazo6Tm9GYWxsYmFjaykgewogICAgICAgICAgICAgaWYgKCFGb250Q2FzY2Fk
ZTo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChjKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZ2x5
cGhEYXRhRm9yTm9uQ0pLQ2hhcmFjdGVyV2l0aEdseXBoT3JpZW50YXRpb24oYywgZGVzY3JpcHRp
b24ubm9uQ0pLR2x5cGhPcmllbnRhdGlvbigpLCBkYXRhKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UmFuZ2VzLmNwcAppbmRleCBkMWI3OTE3NjFhN2EwMmE5
YjdmNGY4NGMwYjcyOGVmMTI4NTc4NGY5Li5iNTExNjhiYWM5ODFjMWFjN2NmYWU1NDE4ZmM3M2U4
YjA5M2YyNWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250UmFuZ2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UmFuZ2VzLmNwcApAQCAtNjIsNyArNjIsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBpc0xvYWRp
bmcoKSBjb25zdCBmaW5hbAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fZm9udC0+aXNMb2FkaW5n
KCk7CisgICAgICAgIHJldHVybiBtX2ZvbnQtPmlzSW50ZXJzdGl0aWFsKCkgPT0gRm9udDo6SW50
ZXJzdGl0aWFsOjpZZXM7CiAgICAgfQogCiAgICAgUmVmUHRyPEZvbnQ+IG1fZm9udDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYXNjYWRl
Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fz
Y2FkZUNvY29hLm1tCmluZGV4IGI4OGFlNzJlMTQ1OTAyMWFkNTA3YWM0NzMzM2QyNWYwZTgxZTlk
NGQuLjFiMDM4YzRiYjQ2ZjQ5NzU2MDM3MWMwYjM5OTA1NzViNjRjMjFlN2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYXNjYWRlQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhc2Nh
ZGVDb2NvYS5tbQpAQCAtMjQ0LDcgKzI0NCw3IEBAIHZvaWQgRm9udENhc2NhZGU6OmRyYXdHbHlw
aHMoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGb250JiBmb250LCBjb25zdCBHCiAg
ICAgaWYgKHBsYXRmb3JtRGF0YS5zeW50aGV0aWNPYmxpcXVlKCkpIHsKICAgICAgICAgc3RhdGlj
IGZsb2F0IG9ibGlxdWVTa2V3ID0gdGFuZihzeW50aGV0aWNPYmxpcXVlQW5nbGUoKSAqIHBpRmxv
YXQgLyAxODApOwogICAgICAgICBpZiAocGxhdGZvcm1EYXRhLm9yaWVudGF0aW9uKCkgPT0gVmVy
dGljYWwpIHsKLSAgICAgICAgICAgIGlmIChmb250LmlzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2so
KSkKKyAgICAgICAgICAgIGlmIChmb250LmlzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2soKSA9PSBG
b250OjpPcmllbnRhdGlvbkZhbGxiYWNrOjpGYWxsYmFjaykKICAgICAgICAgICAgICAgICBtYXRy
aXggPSBDR0FmZmluZVRyYW5zZm9ybUNvbmNhdChtYXRyaXgsIENHQWZmaW5lVHJhbnNmb3JtTWFr
ZSgxLCBvYmxpcXVlU2tldywgMCwgMSwgMCwgMCkpOwogICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgIG1hdHJpeCA9IENHQWZmaW5lVHJhbnNmb3JtQ29uY2F0KG1hdHJpeCwgQ0dBZmZp
bmVUcmFuc2Zvcm1NYWtlKDEsIC1vYmxpcXVlU2tldywgMCwgMSwgMCwgMCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4
IDI5MTcyMGVmNmM1Yzk3YjAwOWUyY2JhNzczOTQxY2UyMGEzYTAwNDMuLjk5NGRhMDg1NmE0MjBk
NjdjZGVkMWRhYzY1NzFjZTBlZDk2NTM5YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTE1Niw3ICsxNTYsNyBAQCB2
b2lkIEZvbnQ6OnBsYXRmb3JtSW5pdCgpCiAgICAgLy8gd2ViIHN0YW5kYXJkLiBUaGUgQXBwS2l0
IGFkanVzdG1lbnQgb2YgMjAlIGlzIHRvbyBiaWcgYW5kIGlzCiAgICAgLy8gaW5jb3JyZWN0bHkg
YWRkZWQgdG8gbGluZSBzcGFjaW5nLCBzbyB3ZSB1c2UgYSAxNSUgYWRqdXN0bWVudCBpbnN0ZWFk
CiAgICAgLy8gYW5kIGFkZCBpdCB0byB0aGUgYXNjZW50LgotICAgIGlmICghbV9pc0N1c3RvbUZv
bnQgJiYgbmVlZHNBc2NlbnRBZGp1c3RtZW50KGZhbWlseU5hbWUuZ2V0KCkpKQorICAgIGlmIChv
cmlnaW4oKSA9PSBPcmlnaW46OkxvY2FsICYmIG5lZWRzQXNjZW50QWRqdXN0bWVudChmYW1pbHlO
YW1lLmdldCgpKSkKICAgICAgICAgYXNjZW50ICs9IHN0ZDo6cm91bmQoKGFzY2VudCArIGRlc2Nl
bnQpICogMC4xNWYpOwogI2VuZGlmCiAKQEAgLTE3Miw3ICsxNzIsNyBAQCB2b2lkIEZvbnQ6OnBs
YXRmb3JtSW5pdCgpCiAgICAgfQogI2VuZGlmCiAgICAgCi0gICAgaWYgKHBsYXRmb3JtRGF0YSgp
Lm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwgJiYgIWlzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2so
KSkKKyAgICBpZiAocGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiBp
c1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKCkgPT0gT3JpZW50YXRpb25GYWxsYmFjazo6Tm9GYWxs
YmFjaykKICAgICAgICAgbV9oYXNWZXJ0aWNhbEdseXBocyA9IGZvbnRIYXNWZXJ0aWNhbEdseXBo
cyhtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSk7CiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250
RGF0YUZyZWVUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCmluZGV4IGQ1MjhjN2JkNjc3NmU0ZWQwMTNh
YmQxMTIzZmIwZDc0YTExNTk5MWUuLmYxNTY0ZWY1Njc3MmViMDI5MzI0ZDcxNDI1ODcyMzM0N2Q5
NDQyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCkBAIC0xMDAs
NyArMTAwLDcgQEAgdm9pZCBGb250OjpwbGF0Zm9ybUluaXQoKQogICAgIGNhaXJvX3NjYWxlZF9m
b250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICIgIiwgJnRleHRF
eHRlbnRzKTsKICAgICBtX3NwYWNlV2lkdGggPSBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KChwbGF0
Zm9ybURhdGEoKS5vcmllbnRhdGlvbigpID09IEhvcml6b250YWwpID8gdGV4dEV4dGVudHMueF9h
ZHZhbmNlIDogLXRleHRFeHRlbnRzLnlfYWR2YW5jZSk7CiAKLSAgICBpZiAoKHBsYXRmb3JtRGF0
YSgpLm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwpICYmICFpc1RleHRPcmllbnRhdGlvbkZhbGxi
YWNrKCkpIHsKKyAgICBpZiAoKHBsYXRmb3JtRGF0YSgpLm9yaWVudGF0aW9uKCkgPT0gVmVydGlj
YWwpICYmIGlzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2soKSA9PSBPcmllbnRhdGlvbkZhbGxiYWNr
OjpOb0ZhbGxiYWNrKSB7CiAgICAgICAgIENhaXJvRnRGYWNlTG9ja2VyIGNhaXJvRnRGYWNlTG9j
a2VyKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQoKSk7CiAgICAgICAgIEZUX0ZhY2UgZnJlZVR5
cGVGYWNlID0gY2Fpcm9GdEZhY2VMb2NrZXIuZnRGYWNlKCk7CiAgICAgICAgIG1fZm9udE1ldHJp
Y3Muc2V0VW5pdHNQZXJFbShmcmVlVHlwZUZhY2UtPnVuaXRzX3Blcl9FTSk7CkBAIC0xMjUsNyAr
MTI1LDcgQEAgUmVmUHRyPEZvbnQ+IEZvbnQ6OnBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udChjb25z
dCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGkKICAgICAgICAgc2NhbGVkRm9udERlc2Ny
aXB0aW9uLAogICAgICAgICBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksCiAgICAgICAg
IG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY09ibGlxdWUoKSksCi0gICAgICAgIGlzQ3VzdG9tRm9u
dCgpLCBmYWxzZSk7CisgICAgICAgIG9yaWdpbigpLCBJbnRlcnN0aXRpYWw6Ok5vKTsKIH0KIAog
dm9pZCBGb250OjpkZXRlcm1pbmVQaXRjaCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAKaW5kZXgg
OTliN2M1NTk4OTAzNTVjMjZjNmNiOTY4OGQwZGYyNmU0NWI0NWJjYS4uNjM5NWVlN2RiZDdhNGI0
ODIzYzQxZDY0ZDVlYmU5MTM5YWJmMjc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcApAQCAt
ODMsNyArODMsNyBAQCB2b2lkIEZvbnQ6OnBsYXRmb3JtSW5pdCgpCiAgICAgZmxvYXQgZkNhcEhl
aWdodCA9IHNjYWxlRW1Ub1VuaXRzKGlDYXBIZWlnaHQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXpl
OwogICAgIGZsb2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIHVuaXRzUGVy
RW0pICogcG9pbnRTaXplOwogCi0gICAgaWYgKCFpc0N1c3RvbUZvbnQoKSkgeworICAgIGlmIChv
cmlnaW4oKSA9PSBPcmlnaW46OkxvY2FsKSB7CiAgICAgICAgIEhXbmREQyBkYygwKTsKICAgICAg
ICAgSEdESU9CSiBvbGRGb250ID0gU2VsZWN0T2JqZWN0KGRjLCBtX3BsYXRmb3JtRGF0YS5oZm9u
dCgpKTsKICAgICAgICAgaW50IGZhY2VMZW5ndGggPSBHZXRUZXh0RmFjZShkYywgMCwgMCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9u
dERhdGFEaXJlY3QyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
U2ltcGxlRm9udERhdGFEaXJlY3QyRC5jcHAKaW5kZXggMGM5MThiNDVmZWJkYTYyODFiYmM5OWI0
MzhjM2E0NmMyMGE0NDlkYi4uZWUzNmI1YWI5NTdhZTJiZjM0ZDgwZjVlYjA1NDlmY2IzMzhkODY2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBs
ZUZvbnREYXRhRGlyZWN0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9TaW1wbGVGb250RGF0YURpcmVjdDJELmNwcApAQCAtMTM0LDcgKzEzNCw3IEBAIHZv
aWQgRm9udDo6cGxhdGZvcm1Jbml0KCkKICAgICBmbG9hdCBmQ2FwSGVpZ2h0ID0gc2NhbGVFbVRv
VW5pdHMoaUNhcEhlaWdodCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CiAgICAgZmxvYXQgZkxp
bmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7
CiAKLSAgICBpZiAoIWlzQ3VzdG9tRm9udCgpKSB7CisgICAgaWYgKG9yaWdpbigpID09IE9yaWdp
bjo6TG9jYWwpIHsKICAgICAgICAgVmVjdG9yPFdDSEFSPiBmYWNlTmFtZSA9IGdldEZhY2VOYW1l
KGZvbnQpOwogICAgICAgICBmQXNjZW50ID0gYXNjZW50Q29uc2lkZXJpbmdNYWNBc2NlbnRIYWNr
KGZhY2VOYW1lLmRhdGEoKSwgZkFzY2VudCwgZkRlc2NlbnQpOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFX
aW4uY3BwCmluZGV4IGQxYmQ0M2I1MWVhNzY3MWM5ODA1NTM5YmE2MjEwM2ZlOWQ3NGU2NWYuLjU2
MmQyZDQxNzNjNzhjMzBhOTUyZjNmNTk0NDkzNzBmZGY0YzY2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2lu
LmNwcApAQCAtMTM5LDE5ICsxMzksMTkgQEAgdm9pZCBGb250OjpwbGF0Zm9ybURlc3Ryb3koKQog
UmVmUHRyPEZvbnQ+IEZvbnQ6OnBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250RGVz
Y3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0CiB7CiAg
ICAgZmxvYXQgc2NhbGVkU2l6ZSA9IHNjYWxlRmFjdG9yICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgp
OwotICAgIGlmIChpc0N1c3RvbUZvbnQoKSkKLSAgICAgICAgcmV0dXJuIEZvbnQ6OmNyZWF0ZShG
b250UGxhdGZvcm1EYXRhOjpjbG9uZVdpdGhTaXplKG1fcGxhdGZvcm1EYXRhLCBzY2FsZWRTaXpl
KSwgdHJ1ZSwgZmFsc2UpOworICAgIGlmIChvcmlnaW4oKSA9PSBPcmlnaW46OlJlbW90ZSkKKyAg
ICAgICAgcmV0dXJuIEZvbnQ6OmNyZWF0ZShGb250UGxhdGZvcm1EYXRhOjpjbG9uZVdpdGhTaXpl
KG1fcGxhdGZvcm1EYXRhLCBzY2FsZWRTaXplKSwgRm9udDo6T3JpZ2luOjpSZW1vdGUpOwogCiAg
ICAgTE9HRk9OVCB3aW5mb250OwogICAgIEdldE9iamVjdChtX3BsYXRmb3JtRGF0YS5oZm9udCgp
LCBzaXplb2YoTE9HRk9OVCksICZ3aW5mb250KTsKICAgICB3aW5mb250LmxmSGVpZ2h0ID0gLWxy
b3VuZGYoc2NhbGVkU2l6ZSAqIChtX3BsYXRmb3JtRGF0YS51c2VHREkoKSA/IDEgOiAzMikpOwog
ICAgIGF1dG8gaGZvbnQgPSBhZG9wdEdESU9iamVjdCg6OkNyZWF0ZUZvbnRJbmRpcmVjdCgmd2lu
Zm9udCkpOwotICAgIHJldHVybiBGb250OjpjcmVhdGUoRm9udFBsYXRmb3JtRGF0YShXVEZNb3Zl
KGhmb250KSwgc2NhbGVkU2l6ZSwgbV9wbGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpLCBtX3Bs
YXRmb3JtRGF0YS5zeW50aGV0aWNPYmxpcXVlKCksIG1fcGxhdGZvcm1EYXRhLnVzZUdESSgpKSwg
aXNDdXN0b21Gb250KCksIGZhbHNlKTsKKyAgICByZXR1cm4gRm9udDo6Y3JlYXRlKEZvbnRQbGF0
Zm9ybURhdGEoV1RGTW92ZShoZm9udCksIHNjYWxlZFNpemUsIG1fcGxhdGZvcm1EYXRhLnN5bnRo
ZXRpY0JvbGQoKSwgbV9wbGF0Zm9ybURhdGEuc3ludGhldGljT2JsaXF1ZSgpLCBtX3BsYXRmb3Jt
RGF0YS51c2VHREkoKSksIG9yaWdpbigpKTsKIH0KIAogdm9pZCBGb250OjpkZXRlcm1pbmVQaXRj
aCgpCiB7Ci0gICAgaWYgKGlzQ3VzdG9tRm9udCgpKSB7CisgICAgaWYgKG9yaWdpbigpID09IE9y
aWdpbjo6UmVtb3RlKSB7CiAgICAgICAgIG1fdHJlYXRBc0ZpeGVkUGl0Y2ggPSBmYWxzZTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVM
aW5lTGF5b3V0LmNwcAppbmRleCAzZDNkYmYyODA3MDQxMzg1ZTA1YTY3NzczMzIxNjUyMDJkMjhm
ZGYwLi42MjcwMzM5NDdhZTQwYTNhYWM2NmJhZmMwNzAyYTQ0ZmNkNjdiMjgyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCkBAIC0xNTYsNyArMTU2
LDcgQEAgc3RhdGljIEF2b2lkYW5jZVJlYXNvbkZsYWdzIGNhblVzZUZvckZvbnRBbmRUZXh0KGNv
bnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgSW4KICAgICAvLyBXZSBhc3N1bWUgdGhhdCBhbGwg
bGluZXMgaGF2ZSBtZXRyaWNzIGJhc2VkIHB1cmVseSBvbiB0aGUgcHJpbWFyeSBmb250LgogICAg
IGNvbnN0IGF1dG8mIHN0eWxlID0gZmxvdy5zdHlsZSgpOwogICAgIGF1dG8mIGZvbnRDYXNjYWRl
ID0gc3R5bGUuZm9udENhc2NhZGUoKTsKLSAgICBpZiAoZm9udENhc2NhZGUucHJpbWFyeUZvbnQo
KS5pc0xvYWRpbmcoKSkKKyAgICBpZiAoZm9udENhc2NhZGUucHJpbWFyeUZvbnQoKS5pc0ludGVy
c3RpdGlhbCgpID09IEZvbnQ6OkludGVyc3RpdGlhbDo6WWVzKQogICAgICAgICBTRVRfUkVBU09O
X0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dJc01pc3NpbmdQcmltYXJ5Rm9udCwgcmVhc29ucywg
aW5jbHVkZVJlYXNvbnMpOwogICAgIHN0ZDo6b3B0aW9uYWw8ZmxvYXQ+IGxpbmVIZWlnaHRDb25z
dHJhaW50OwogICAgIGlmIChzdHlsZS5saW5lQm94Q29udGFpbigpICYgTGluZUJveENvbnRhaW5H
bHlwaHMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310191</attachid>
            <date>2017-05-15 17:09:55 -0700</date>
            <delta_ts>2017-05-15 18:37:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172140-20170515170954.patch</filename>
            <type>text/plain</type>
            <size>20876</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2ODc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhmNGRiNjYwZGRlYzBk
ZTQ2M2I2Yzc3ZjgzNDM5ODQzZDQ5NGI5MC4uY2NkZjEyMmY0OTNhZWRmNDk5YjRmOWI5OTUzY2Uw
MmVmYjVmNjVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUzIEBACiAyMDE3LTA1LTE1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKKyAgICAgICAgTWlncmF0ZSBG
b250IGNvbnN0cnVjdG9yIGZyb20gYm9vbHMgdG8gZW51bXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjE0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjg0ODcsIEknbSBhZGRpbmcgYSBuZXcgZmxhZyB0byBGb250LiBXZSBj
YW4ndAorICAgICAgICBrZWVwIGhhdmluZyBqdXN0IGEgcGlsZSBvZiBib29scyBpbiB0aGlzIGNs
YXNzLiBJbnN0ZWFkLCB3ZSBzaG91bGQgYmUgdXNpbmcgZW51bXMuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICog
Y3NzL0NTU0ZvbnRGYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlOjpmb250
KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udEZhY2VTb3VyY2U6OmZvbnQpOgorICAgICAgICAqIGNzcy9DU1NTZWdtZW50ZWRG
b250RmFjZS5jcHA6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udDo6Y3JlYXRlRm9udCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpGb250KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnQ6OnZlcnRpY2FsUmlnaHRPcmllbnRhdGlvbkZvbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udDo6dXByaWdodE9yaWVudGF0aW9uRm9udCk6CisgICAgICAgIChX
ZWJDb3JlOjpGb250Ojpicm9rZW5JZGVvZ3JhcGhGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkZv
bnQ6OmRlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6Om1hdGhEYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgIChXZWJDb3JlOjpGb250
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6b3JpZ2luKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmlzSW50ZXJzdGl0aWFsKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6Ondp
ZHRoRm9yR2x5cGgpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6aXNDdXN0b21Gb250KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmlzTG9hZGluZyk6IERlbGV0ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5jcHA6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6
cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1w
bGVGb250RGF0YUZyZWVUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OnBsYXRmb3Jt
Q3JlYXRlU2NhbGVkRm9udCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBs
ZUZvbnREYXRhQ0dXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6cGxhdGZvcm1Jbml0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFEaXJlY3Qy
RC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250OjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250OjpwbGF0Zm9ybUNyZWF0ZVNjYWxlZEZvbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udDo6ZGV0ZXJtaW5lUGl0Y2gpOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNhblVzZUZv
ckZvbnRBbmRUZXh0KToKKworMjAxNy0wNS0xNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4Zmll
bGRAYXBwbGUuY29tPgorCiAgICAgICAgIFVuaWNvZGUgY2hhcmFjdGVycyB3aGljaCBjYW4ndCBi
ZSByZW5kZXJlZCBpbiBhbnkgZm9udCBhcmUgaW52aXNpYmxlCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzE5NDIKICAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzMyMDU0MjM0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKaW5kZXggN2E5OWQ3Yzk1
ZjFlZjg5MDk4OGMzN2FmMTZiYjZmYzU0YmMzZGIwNy4uZjE4NWU5MDIxODI5NTY2OTVmZjk0YzQz
MjNhNmMyMWRkODlkNDM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC02MjUs
NyArNjI1LDcgQEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlOjpmb250KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIHN5bnQKICAgICAgICAgICAgIGZvbnRJc0xv
YWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgaWYgKHN0YXR1cygpID09IFN0YXR1czo6VGltZWRP
dXQpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICByZXR1cm4gRm9udDo6
Y3JlYXRlKEZvbnRDYWNoZTo6c2luZ2xldG9uKCkubGFzdFJlc29ydEZhbGxiYWNrRm9udEZvckV2
ZXJ5Q2hhcmFjdGVyKGZvbnREZXNjcmlwdGlvbiktPnBsYXRmb3JtRGF0YSgpLCB0cnVlLCB0cnVl
KTsKKyAgICAgICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoRm9udENhY2hlOjpzaW5nbGV0b24o
KS5sYXN0UmVzb3J0RmFsbGJhY2tGb250Rm9yRXZlcnlDaGFyYWN0ZXIoZm9udERlc2NyaXB0aW9u
KS0+cGxhdGZvcm1EYXRhKCksIEZvbnQ6Ok9yaWdpbjo6UmVtb3RlLCBGb250OjpJbnRlcnN0aXRp
YWw6Olllcyk7CiAgICAgICAgIGNhc2UgQ1NTRm9udEZhY2VTb3VyY2U6OlN0YXR1czo6U3VjY2Vz
czoKICAgICAgICAgICAgIGlmIChSZWZQdHI8Rm9udD4gcmVzdWx0ID0gc291cmNlLT5mb250KGZv
bnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBtX2ZlYXR1cmVT
ZXR0aW5ncywgbV92YXJpYW50U2V0dGluZ3MsIG1fZm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcykp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VTb3VyY2UuY3BwCmluZGV4IDIwYjU4MTExYzg1OWE4MGFiYTJkZWU2YmNiZGEwNWU3MTM1
OTcwMDQuLjA4MmNiNDQ1MTJkNDRmYWEzYmViNjhjZWU2MThjNjQ0NmYxMTc0OWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcApAQCAtMTgxLDcgKzE4MSw3IEBAIFJl
ZlB0cjxGb250PiBDU1NGb250RmFjZVNvdXJjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24m
IGZvbnREZXNjcmlwdGlvbiwgYm9vCiAgICAgICAgIGlmIChtX2ltbWVkaWF0ZVNvdXJjZSkgewog
ICAgICAgICAgICAgaWYgKCFtX2ltbWVkaWF0ZUZvbnRDdXN0b21QbGF0Zm9ybURhdGEpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICByZXR1cm4gRm9udDo6Y3Jl
YXRlKENhY2hlZEZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKCptX2ltbWVkaWF0ZUZv
bnRDdXN0b21QbGF0Zm9ybURhdGEsIGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3lu
dGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywg
Zm9udEZhY2VDYXBhYmlsaXRpZXMpLCB0cnVlKTsKKyAgICAgICAgICAgIHJldHVybiBGb250Ojpj
cmVhdGUoQ2FjaGVkRm9udDo6cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoKm1faW1tZWRpYXRl
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSwgZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBz
eW50aGV0aWNJdGFsaWMsIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdz
LCBmb250RmFjZUNhcGFiaWxpdGllcyksIEZvbnQ6Ok9yaWdpbjo6UmVtb3RlKTsKICAgICAgICAg
fQogCiAgICAgICAgIC8vIFdlJ3JlIGxvY2FsLiBKdXN0IHJldHVybiBhIEZvbnQgZnJvbSB0aGUg
bm9ybWFsIGNhY2hlLgpAQCAtMjA2LDkgKzIwNiw5IEBAIFJlZlB0cjxGb250PiBDU1NGb250RmFj
ZVNvdXJjZTo6Zm9udChjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgYm9v
CiAgICAgaWYgKCFtX2luRG9jdW1lbnRDdXN0b21QbGF0Zm9ybURhdGEpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHJldHVybiBGb250OjpjcmVhdGUo
bV9pbkRvY3VtZW50Q3VzdG9tUGxhdGZvcm1EYXRhLT5mb250UGxhdGZvcm1EYXRhKGZvbnREZXNj
cmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1cmVz
LCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpLCB0cnVlKTsK
KyAgICByZXR1cm4gRm9udDo6Y3JlYXRlKG1faW5Eb2N1bWVudEN1c3RvbVBsYXRmb3JtRGF0YS0+
Zm9udFBsYXRmb3JtRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRp
Y0l0YWxpYywgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzKSwgRm9udDo6T3JpZ2luOjpSZW1vdGUpOwogI2Vsc2UKLSAgICByZXR1
cm4gRm9udDo6Y3JlYXRlKG1faW5Eb2N1bWVudEN1c3RvbVBsYXRmb3JtRGF0YS0+Zm9udFBsYXRm
b3JtRGF0YShmb250RGVzY3JpcHRpb24sIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYyks
IHRydWUpOworICAgIHJldHVybiBGb250OjpjcmVhdGUobV9pbkRvY3VtZW50Q3VzdG9tUGxhdGZv
cm1EYXRhLT5mb250UGxhdGZvcm1EYXRhKGZvbnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwg
c3ludGhldGljSXRhbGljKSwgRm9udDo6T3JpZ2luOjpSZW1vdGUpOwogI2VuZGlmCiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKaW5kZXggZGNm
ZmMxMjQ3Zjc3MGZjOGFkYjYxNGU4MGI3MzU2MmRlNzYzYjBmYy4uNmEzZGRhYjM5MmNkODA4OTE1
NjY0ZjAxZTlkNzgyNjBhYWFlMTZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1NlZ21lbnRlZEZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVu
dGVkRm9udEZhY2UuY3BwCkBAIC04NCw3ICs4NCw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGlz
TG9hZGluZygpIGNvbnN0IGZpbmFsCiAgICAgewotICAgICAgICByZXR1cm4gbV9yZXN1bHQgJiYg
bV9yZXN1bHQudmFsdWUoKSAmJiBtX3Jlc3VsdC52YWx1ZSgpLT5pc0xvYWRpbmcoKTsKKyAgICAg
ICAgcmV0dXJuIG1fcmVzdWx0ICYmIG1fcmVzdWx0LnZhbHVlKCkgJiYgbV9yZXN1bHQudmFsdWUo
KS0+aXNJbnRlcnN0aXRpYWwoKTsKICAgICB9CiAKICAgICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8
UmVmUHRyPEZvbnQ+PiBtX3Jlc3VsdDsgLy8gQ2FjaGVzIG51bGxwdHIgdG9vCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkRm9udC5jcHAKaW5kZXggYjlmZDE2ZTI3MDU5MzQxMWNj
MmJhZmU3YTVhOGM1YjVjZGM4ZTU0ZS4uZDkwNTY3Y2M3YzhmZGIwYjM0Y2MyNTUzNjgwYTRjOTMy
ZmZhNjc0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZv
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcApA
QCAtMTI0LDcgKzEyNCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250Q3VzdG9tUGxhdGZvcm1EYXRh
PiBDYWNoZWRGb250OjpjcmVhdGVDdXN0b21Gb250RGF0YShTaGFyZWRCCiAKIFJlZlB0cjxGb250
PiBDYWNoZWRGb250OjpjcmVhdGVGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2Ny
aXB0aW9uLCBjb25zdCBBdG9taWNTdHJpbmcmLCBib29sIHN5bnRoZXRpY0JvbGQsIGJvb2wgc3lu
dGhldGljSXRhbGljLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzJiBmb250RmFjZUZlYXR1cmVz
LCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzJiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9u
dFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcykKIHsK
LSAgICByZXR1cm4gRm9udDo6Y3JlYXRlKHBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGZvbnRE
ZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZlYXR1
cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpLCB0cnVl
KTsKKyAgICByZXR1cm4gRm9udDo6Y3JlYXRlKHBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGZv
bnREZXNjcmlwdGlvbiwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGljLCBmb250RmFjZUZl
YXR1cmVzLCBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgZm9udEZhY2VDYXBhYmlsaXRpZXMpLCBG
b250OjpPcmlnaW46OlJlbW90ZSk7CiB9CiAKIEZvbnRQbGF0Zm9ybURhdGEgQ2FjaGVkRm9udDo6
cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVz
Y3JpcHRpb24sIGJvb2wgYm9sZCwgYm9vbCBpdGFsaWMsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGlu
Z3MmIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MmIGZvbnRGYWNl
VmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNw
cAppbmRleCBiYzk2NTBjZGY1YTUzMmM4YjdlYTZkMTRiYmJlMmQ4NDk1MWNiOTYwLi4yOTNkMDdl
ZDBjMTA3MGZmOTQxNjlmNDhjYjk3MTY4ZWFhMTZlYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250LmNwcApAQCAtNTUsMTUgKzU1LDE1IEBAIHVuc2lnbmVkIEdseXBo
UGFnZTo6c19jb3VudCA9IDA7CiBjb25zdCBmbG9hdCBzbWFsbENhcHNGb250U2l6ZU11bHRpcGxp
ZXIgPSAwLjdmOwogY29uc3QgZmxvYXQgZW1waGFzaXNNYXJrRm9udFNpemVNdWx0aXBsaWVyID0g
MC41ZjsKIAotRm9udDo6Rm9udChjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEs
IGJvb2wgaXNDdXN0b21Gb250LCBib29sIGlzTG9hZGluZywgYm9vbCBpc1RleHRPcmllbnRhdGlv
bkZhbGxiYWNrKQorRm9udDo6Rm9udChjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURh
dGEsIE9yaWdpbiBvcmlnaW4sIEludGVyc3RpdGlhbCBpbnRlcnN0aXRpYWwsIE9yaWVudGF0aW9u
RmFsbGJhY2sgb3JpZW50YXRpb25GYWxsYmFjaykKICAgICA6IG1fbWF4Q2hhcldpZHRoKC0xKQog
ICAgICwgbV9hdmdDaGFyV2lkdGgoLTEpCiAgICAgLCBtX3BsYXRmb3JtRGF0YShwbGF0Zm9ybURh
dGEpCiAgICAgLCBtX21hdGhEYXRhKG51bGxwdHIpCiAgICAgLCBtX3RyZWF0QXNGaXhlZFBpdGNo
KGZhbHNlKQotICAgICwgbV9pc0N1c3RvbUZvbnQoaXNDdXN0b21Gb250KQotICAgICwgbV9pc0xv
YWRpbmcoaXNMb2FkaW5nKQotICAgICwgbV9pc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKGlzVGV4
dE9yaWVudGF0aW9uRmFsbGJhY2spCisgICAgLCBtX29yaWdpbihvcmlnaW4gPT0gT3JpZ2luOjpS
ZW1vdGUpCisgICAgLCBtX2lzSW50ZXJzdGl0aWFsKGludGVyc3RpdGlhbCA9PSBJbnRlcnN0aXRp
YWw6OlllcykKKyAgICAsIG1faXNUZXh0T3JpZW50YXRpb25GYWxsYmFjayhvcmllbnRhdGlvbkZh
bGxiYWNrID09IE9yaWVudGF0aW9uRmFsbGJhY2s6OkZhbGxiYWNrKQogICAgICwgbV9pc0Jyb2tl
bklkZW9ncmFwaEZhbGxiYWNrKGZhbHNlKQogICAgICwgbV9oYXNWZXJ0aWNhbEdseXBocyhmYWxz
ZSkKICAgICAsIG1faXNVc2VkSW5TeXN0ZW1GYWxsYmFja0NhY2hlKGZhbHNlKQpAQCAtNzUsNyAr
NzUsNyBAQCBGb250OjpGb250KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwg
Ym9vbCBpc0N1c3RvbUZvbnQsIGJvb2wgaXNMb2FkaQogICAgIHBsYXRmb3JtR2x5cGhJbml0KCk7
CiAgICAgcGxhdGZvcm1DaGFyV2lkdGhJbml0KCk7CiAjaWYgRU5BQkxFKE9QRU5UWVBFX1ZFUlRJ
Q0FMKQotICAgIGlmIChwbGF0Zm9ybURhdGEub3JpZW50YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiAh
aXNUZXh0T3JpZW50YXRpb25GYWxsYmFjaykgeworICAgIGlmIChwbGF0Zm9ybURhdGEub3JpZW50
YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiBvcmllbnRhdGlvbkZhbGxiYWNrID09IE9yaWVudGF0aW9u
RmFsbGJhY2s6Ok5vRmFsbGJhY2spIHsKICAgICAgICAgbV92ZXJ0aWNhbERhdGEgPSBGb250Q2Fj
aGU6OnNpbmdsZXRvbigpLnZlcnRpY2FsRGF0YShwbGF0Zm9ybURhdGEpOwogICAgICAgICBtX2hh
c1ZlcnRpY2FsR2x5cGhzID0gbV92ZXJ0aWNhbERhdGEuZ2V0KCkgJiYgbV92ZXJ0aWNhbERhdGEt
Pmhhc1ZlcnRpY2FsTWV0cmljcygpOwogICAgIH0KQEAgLTI2Niw3ICsyNjYsNyBAQCBjb25zdCBG
b250JiBGb250Ojp2ZXJ0aWNhbFJpZ2h0T3JpZW50YXRpb25Gb250KCkgY29uc3QKICAgICAgICAg
bV9kZXJpdmVkRm9udERhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPERlcml2ZWRGb250cz4oKTsKICAg
ICBpZiAoIW1fZGVyaXZlZEZvbnREYXRhLT52ZXJ0aWNhbFJpZ2h0T3JpZW50YXRpb24pIHsKICAg
ICAgICAgYXV0byB2ZXJ0aWNhbFJpZ2h0UGxhdGZvcm1EYXRhID0gRm9udFBsYXRmb3JtRGF0YTo6
Y2xvbmVXaXRoT3JpZW50YXRpb24obV9wbGF0Zm9ybURhdGEsIEhvcml6b250YWwpOwotICAgICAg
ICBtX2Rlcml2ZWRGb250RGF0YS0+dmVydGljYWxSaWdodE9yaWVudGF0aW9uID0gY3JlYXRlKHZl
cnRpY2FsUmlnaHRQbGF0Zm9ybURhdGEsIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSwgdHJ1ZSk7Cisg
ICAgICAgIG1fZGVyaXZlZEZvbnREYXRhLT52ZXJ0aWNhbFJpZ2h0T3JpZW50YXRpb24gPSBjcmVh
dGUodmVydGljYWxSaWdodFBsYXRmb3JtRGF0YSwgb3JpZ2luKCksIEludGVyc3RpdGlhbDo6Tm8s
IE9yaWVudGF0aW9uRmFsbGJhY2s6OkZhbGxiYWNrKTsKICAgICB9CiAgICAgQVNTRVJUKG1fZGVy
aXZlZEZvbnREYXRhLT52ZXJ0aWNhbFJpZ2h0T3JpZW50YXRpb24gIT0gdGhpcyk7CiAgICAgcmV0
dXJuICptX2Rlcml2ZWRGb250RGF0YS0+dmVydGljYWxSaWdodE9yaWVudGF0aW9uOwpAQCAtMjc3
LDcgKzI3Nyw3IEBAIGNvbnN0IEZvbnQmIEZvbnQ6OnVwcmlnaHRPcmllbnRhdGlvbkZvbnQoKSBj
b25zdAogICAgIGlmICghbV9kZXJpdmVkRm9udERhdGEpCiAgICAgICAgIG1fZGVyaXZlZEZvbnRE
YXRhID0gc3RkOjptYWtlX3VuaXF1ZTxEZXJpdmVkRm9udHM+KCk7CiAgICAgaWYgKCFtX2Rlcml2
ZWRGb250RGF0YS0+dXByaWdodE9yaWVudGF0aW9uKQotICAgICAgICBtX2Rlcml2ZWRGb250RGF0
YS0+dXByaWdodE9yaWVudGF0aW9uID0gY3JlYXRlKG1fcGxhdGZvcm1EYXRhLCBpc0N1c3RvbUZv
bnQoKSwgZmFsc2UsIHRydWUpOworICAgICAgICBtX2Rlcml2ZWRGb250RGF0YS0+dXByaWdodE9y
aWVudGF0aW9uID0gY3JlYXRlKG1fcGxhdGZvcm1EYXRhLCBvcmlnaW4oKSwgSW50ZXJzdGl0aWFs
OjpObywgT3JpZW50YXRpb25GYWxsYmFjazo6RmFsbGJhY2spOwogICAgIEFTU0VSVChtX2Rlcml2
ZWRGb250RGF0YS0+dXByaWdodE9yaWVudGF0aW9uICE9IHRoaXMpOwogICAgIHJldHVybiAqbV9k
ZXJpdmVkRm9udERhdGEtPnVwcmlnaHRPcmllbnRhdGlvbjsKIH0KQEAgLTMyMSw3ICszMjEsNyBA
QCBjb25zdCBGb250JiBGb250Ojpicm9rZW5JZGVvZ3JhcGhGb250KCkgY29uc3QKICAgICBpZiAo
IW1fZGVyaXZlZEZvbnREYXRhKQogICAgICAgICBtX2Rlcml2ZWRGb250RGF0YSA9IHN0ZDo6bWFr
ZV91bmlxdWU8RGVyaXZlZEZvbnRzPigpOwogICAgIGlmICghbV9kZXJpdmVkRm9udERhdGEtPmJy
b2tlbklkZW9ncmFwaCkgewotICAgICAgICBtX2Rlcml2ZWRGb250RGF0YS0+YnJva2VuSWRlb2dy
YXBoID0gY3JlYXRlKG1fcGxhdGZvcm1EYXRhLCBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpOworICAg
ICAgICBtX2Rlcml2ZWRGb250RGF0YS0+YnJva2VuSWRlb2dyYXBoID0gY3JlYXRlKG1fcGxhdGZv
cm1EYXRhLCBvcmlnaW4oKSwgSW50ZXJzdGl0aWFsOjpObyk7CiAgICAgICAgIG1fZGVyaXZlZEZv
bnREYXRhLT5icm9rZW5JZGVvZ3JhcGgtPm1faXNCcm9rZW5JZGVvZ3JhcGhGYWxsYmFjayA9IHRy
dWU7CiAgICAgfQogICAgIEFTU0VSVChtX2Rlcml2ZWRGb250RGF0YS0+YnJva2VuSWRlb2dyYXBo
ICE9IHRoaXMpOwpAQCAtMzMxLDcgKzMzMSw3IEBAIGNvbnN0IEZvbnQmIEZvbnQ6OmJyb2tlbklk
ZW9ncmFwaEZvbnQoKSBjb25zdAogI2lmbmRlZiBOREVCVUcKIFN0cmluZyBGb250OjpkZXNjcmlw
dGlvbigpIGNvbnN0CiB7Ci0gICAgaWYgKGlzQ3VzdG9tRm9udCgpKQorICAgIGlmIChvcmlnaW4o
KSA9PSBPcmlnaW46OlJlbW90ZSkKICAgICAgICAgcmV0dXJuICJbY3VzdG9tIGZvbnRdIjsKIAog
ICAgIHJldHVybiBwbGF0Zm9ybURhdGEoKS5kZXNjcmlwdGlvbigpOwpAQCAtMzQwLDcgKzM0MCw3
IEBAIFN0cmluZyBGb250OjpkZXNjcmlwdGlvbigpIGNvbnN0CiAKIGNvbnN0IE9wZW5UeXBlTWF0
aERhdGEqIEZvbnQ6Om1hdGhEYXRhKCkgY29uc3QKIHsKLSAgICBpZiAobV9pc0xvYWRpbmcpCisg
ICAgaWYgKGlzSW50ZXJzdGl0aWFsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlm
ICghbV9tYXRoRGF0YSkgewogICAgICAgICBtX21hdGhEYXRhID0gT3BlblR5cGVNYXRoRGF0YTo6
Y3JlYXRlKG1fcGxhdGZvcm1EYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaAppbmRleCBiOTYyOGVhZTdiMmJiMGY4YmVhMDFjZjg1Njk4ZTI4ODc2MTZjOTM1Li5kZWY4
YzRmNTY4YWY0ZWY0NjBmMGJmNmQ2MWI5NGEwYWRjMzVkMGE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udC5oCkBAIC03Niw5ICs3NiwyMSBAQCBlbnVtIFBpdGNoIHsgVW5r
bm93blBpdGNoLCBGaXhlZFBpdGNoLCBWYXJpYWJsZVBpdGNoIH07CiBjbGFzcyBGb250IDogcHVi
bGljIFJlZkNvdW50ZWQ8Rm9udD4gewogcHVibGljOgogICAgIC8vIFVzZWQgdG8gY3JlYXRlIHBs
YXRmb3JtIGZvbnRzLgotICAgIHN0YXRpYyBSZWY8Rm9udD4gY3JlYXRlKGNvbnN0IEZvbnRQbGF0
Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwgYm9vbCBpc0N1c3RvbUZvbnQgPSBmYWxzZSwgYm9vbCBp
c0xvYWRpbmcgPSBmYWxzZSwgYm9vbCBpc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrID0gZmFsc2Up
CisgICAgZW51bSBjbGFzcyBPcmlnaW4geworICAgICAgICBSZW1vdGUsCisgICAgICAgIExvY2Fs
CisgICAgfTsKKyAgICBlbnVtIGNsYXNzIEludGVyc3RpdGlhbCB7CisgICAgICAgIFllcywKKyAg
ICAgICAgTm8KKyAgICB9OworICAgIGVudW0gY2xhc3MgT3JpZW50YXRpb25GYWxsYmFjayB7Cisg
ICAgICAgIEZhbGxiYWNrLAorICAgICAgICBOb0ZhbGxiYWNrCisgICAgfTsKKyAgICBzdGF0aWMg
UmVmPEZvbnQ+IGNyZWF0ZShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEsIE9y
aWdpbiBvcmlnaW4gPSBPcmlnaW46OkxvY2FsLCBJbnRlcnN0aXRpYWwgaW50ZXJzdGl0aWFsID0g
SW50ZXJzdGl0aWFsOjpObywgT3JpZW50YXRpb25GYWxsYmFjayBvcmllbnRhdGlvbkZhbGxiYWNr
ID0gT3JpZW50YXRpb25GYWxsYmFjazo6Tm9GYWxsYmFjaykKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEZvbnQocGxhdGZvcm1EYXRhLCBpc0N1c3RvbUZvbnQsIGlzTG9hZGlu
ZywgaXNUZXh0T3JpZW50YXRpb25GYWxsYmFjaykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBGb250KHBsYXRmb3JtRGF0YSwgb3JpZ2luLCBpbnRlcnN0aXRpYWwsIG9yaWVudGF0aW9u
RmFsbGJhY2spKTsKICAgICB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCB+Rm9udCgpOwpAQCAtMTY5
LDggKzE4MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRldGVybWluZVBpdGNoKCk7CiAgICAgUGl0
Y2ggcGl0Y2goKSBjb25zdCB7IHJldHVybiBtX3RyZWF0QXNGaXhlZFBpdGNoID8gRml4ZWRQaXRj
aCA6IFZhcmlhYmxlUGl0Y2g7IH0KIAotICAgIGJvb2wgaXNDdXN0b21Gb250KCkgY29uc3QgeyBy
ZXR1cm4gbV9pc0N1c3RvbUZvbnQ7IH0KLSAgICBib29sIGlzTG9hZGluZygpIGNvbnN0IHsgcmV0
dXJuIG1faXNMb2FkaW5nOyB9CisgICAgT3JpZ2luIG9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1f
b3JpZ2luID8gT3JpZ2luOjpSZW1vdGUgOiBPcmlnaW46OkxvY2FsOyB9CisgICAgYm9vbCBpc0lu
dGVyc3RpdGlhbCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJbnRlcnN0aXRpYWw7IH0KIAogI2lmbmRl
ZiBOREVCVUcKICAgICBTdHJpbmcgZGVzY3JpcHRpb24oKSBjb25zdDsKQEAgLTIwOCw3ICsyMjAs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSAgICBGb250KGNvbnN0IEZvbnRQbGF0
Zm9ybURhdGEmLCBib29sIGlzQ3VzdG9tRm9udCA9IGZhbHNlLCBib29sIGlzTG9hZGluZyA9IGZh
bHNlLCBib29sIGlzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2sgPSBmYWxzZSk7CisgICAgRm9udChj
b25zdCBGb250UGxhdGZvcm1EYXRhJiwgT3JpZ2luLCBJbnRlcnN0aXRpYWwsIE9yaWVudGF0aW9u
RmFsbGJhY2spOwogCiAgICAgdm9pZCBwbGF0Zm9ybUluaXQoKTsKICAgICB2b2lkIHBsYXRmb3Jt
R2x5cGhJbml0KCk7CkBAIC0yOTIsOCArMzA0LDggQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAg
dW5zaWduZWQgbV90cmVhdEFzRml4ZWRQaXRjaCA6IDE7Ci0gICAgdW5zaWduZWQgbV9pc0N1c3Rv
bUZvbnQgOiAxOyAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBhcmUgY3VzdG9tIGZvbnQgbG9hZGVkIHZp
YSBAZm9udC1mYWNlCi0gICAgdW5zaWduZWQgbV9pc0xvYWRpbmcgOiAxOyAvLyBXaGV0aGVyIG9y
IG5vdCB0aGlzIGN1c3RvbSBmb250IGlzIHN0aWxsIGluIHRoZSBhY3Qgb2YgbG9hZGluZy4KKyAg
ICB1bnNpZ25lZCBtX29yaWdpbiA6IDE7IC8vIFdoZXRoZXIgb3Igbm90IHdlIGFyZSBjdXN0b20g
Zm9udCBsb2FkZWQgdmlhIEBmb250LWZhY2UKKyAgICB1bnNpZ25lZCBtX2lzSW50ZXJzdGl0aWFs
IDogMTsgLy8gV2hldGhlciBvciBub3QgdGhpcyBjdXN0b20gZm9udCBpcyB0aGUgbGFzdCByZXNv
cnQgcGxhY2Vob2xkZXIgZm9yIGEgbG9hZGluZyBmb250CiAKICAgICB1bnNpZ25lZCBtX2lzVGV4
dE9yaWVudGF0aW9uRmFsbGJhY2sgOiAxOwogICAgIHVuc2lnbmVkIG1faXNCcm9rZW5JZGVvZ3Jh
cGhGYWxsYmFjayA6IDE7CkBAIC0zMzUsNyArMzQ3LDcgQEAgQUxXQVlTX0lOTElORSBmbG9hdCBG
b250Ojp3aWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAogICAgIC8vIHVzZWQgaW4gcGxh
Y2Ugb2YgdGhlIGFjdHVhbCBmb250IHdoZW4gaXNMb2FkaW5nKCkgaXMgdHJ1ZSBvbiBib3RoIG1h
Y09TIGFuZCBpT1MuCiAgICAgLy8gVGhlIHplcm8td2lkdGgtc3BhY2UgZ2x5cGggaW4gdGhhdCBm
b250IGRvZXMgbm90IGhhdmUgYSB3aWR0aCBvZiB6ZXJvIGFuZCwgZnVydGhlciwgdGhhdCBnbHlw
aCBpcyB1c2VkCiAgICAgLy8gZm9yIG1hbnkgb3RoZXIgY2hhcmFjdGVycyBhbmQgbXVzdCBub3Qg
YmUgemVybyB3aWR0aCB3aGVuIHVzZWQgZm9yIHRoZW0uCi0gICAgaWYgKGlzWmVyb1dpZHRoU3Bh
Y2VHbHlwaChnbHlwaCkgJiYgIWlzTG9hZGluZygpKQorICAgIGlmIChpc1plcm9XaWR0aFNwYWNl
R2x5cGgoZ2x5cGgpICYmICFpc0ludGVyc3RpdGlhbCgpKQogICAgICAgICByZXR1cm4gMDsKIAog
ICAgIGZsb2F0IHdpZHRoID0gbV9nbHlwaFRvV2lkdGhNYXAubWV0cmljc0ZvckdseXBoKGdseXBo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRSYW5n
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5jcHAK
aW5kZXggZDFiNzkxNzYxYTdhMDJhOWI3ZjRmODRjMGI3MjhlZjEyODU3ODRmOS4uMDQ4YzI2M2Ri
ZTkwNTNiNjE0MTU1NzA4OTY3Y2MyMzFhZjEzNzBjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJhbmdlcy5jcHAKQEAgLTYyLDcgKzYyLDcgQEAgcHJpdmF0
ZToKIAogICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIHJl
dHVybiBtX2ZvbnQtPmlzTG9hZGluZygpOworICAgICAgICByZXR1cm4gbV9mb250LT5pc0ludGVy
c3RpdGlhbCgpOwogICAgIH0KIAogICAgIFJlZlB0cjxGb250PiBtX2ZvbnQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KaW5kZXgg
MjkxNzIwZWY2YzVjOTdiMDA5ZTJjYmE3NzM5NDFjZTIwYTNhMDA0My4uODA1MTRmMGIwMWE2M2M1
MjFjNmI1YzYwN2RmN2JhNTU0M2VlZjI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQpAQCAtMTU2LDcgKzE1Niw3IEBAIHZv
aWQgRm9udDo6cGxhdGZvcm1Jbml0KCkKICAgICAvLyB3ZWIgc3RhbmRhcmQuIFRoZSBBcHBLaXQg
YWRqdXN0bWVudCBvZiAyMCUgaXMgdG9vIGJpZyBhbmQgaXMKICAgICAvLyBpbmNvcnJlY3RseSBh
ZGRlZCB0byBsaW5lIHNwYWNpbmcsIHNvIHdlIHVzZSBhIDE1JSBhZGp1c3RtZW50IGluc3RlYWQK
ICAgICAvLyBhbmQgYWRkIGl0IHRvIHRoZSBhc2NlbnQuCi0gICAgaWYgKCFtX2lzQ3VzdG9tRm9u
dCAmJiBuZWVkc0FzY2VudEFkanVzdG1lbnQoZmFtaWx5TmFtZS5nZXQoKSkpCisgICAgaWYgKG9y
aWdpbigpID09IE9yaWdpbjo6TG9jYWwgJiYgbmVlZHNBc2NlbnRBZGp1c3RtZW50KGZhbWlseU5h
bWUuZ2V0KCkpKQogICAgICAgICBhc2NlbnQgKz0gc3RkOjpyb3VuZCgoYXNjZW50ICsgZGVzY2Vu
dCkgKiAwLjE1Zik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBl
LmNwcAppbmRleCBkNTI4YzdiZDY3NzZlNGVkMDEzYWJkMTEyM2ZiMGQ3NGExMTU5OTFlLi42NmIx
MGYxMTc0NzBhY2M5MDc2YTA1OWY1MDE2MTRkZGRkYjUxMDZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1w
bGVGb250RGF0YUZyZWVUeXBlLmNwcApAQCAtMTI1LDcgKzEyNSw3IEBAIFJlZlB0cjxGb250PiBG
b250OjpwbGF0Zm9ybUNyZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpCiAgICAgICAgIHNjYWxlZEZvbnREZXNjcmlwdGlvbiwKICAgICAgICAgbV9wbGF0
Zm9ybURhdGEuc3ludGhldGljQm9sZCgpLAogICAgICAgICBtX3BsYXRmb3JtRGF0YS5zeW50aGV0
aWNPYmxpcXVlKCkpLAotICAgICAgICBpc0N1c3RvbUZvbnQoKSwgZmFsc2UpOworICAgICAgICBv
cmlnaW4oKSwgSW50ZXJzdGl0aWFsOjpObyk7CiB9CiAKIHZvaWQgRm9udDo6ZGV0ZXJtaW5lUGl0
Y2goKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhQ0dXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCmluZGV4IDk5YjdjNTU5ODkwMzU1YzI2YzZjYjk2
ODhkMGRmMjZlNDViNDViY2EuLjYzOTVlZTdkYmQ3YTRiNDgyM2M0MWQ2NGQ1ZWJlOTEzOWFiZjI3
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1w
bGVGb250RGF0YUNHV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBGb250
OjpwbGF0Zm9ybUluaXQoKQogICAgIGZsb2F0IGZDYXBIZWlnaHQgPSBzY2FsZUVtVG9Vbml0cyhp
Q2FwSGVpZ2h0LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKICAgICBmbG9hdCBmTGluZUdhcCA9
IHNjYWxlRW1Ub1VuaXRzKGlMaW5lR2FwLCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKIAotICAg
IGlmICghaXNDdXN0b21Gb250KCkpIHsKKyAgICBpZiAob3JpZ2luKCkgPT0gT3JpZ2luOjpMb2Nh
bCkgewogICAgICAgICBIV25kREMgZGMoMCk7CiAgICAgICAgIEhHRElPQkogb2xkRm9udCA9IFNl
bGVjdE9iamVjdChkYywgbV9wbGF0Zm9ybURhdGEuaGZvbnQoKSk7CiAgICAgICAgIGludCBmYWNl
TGVuZ3RoID0gR2V0VGV4dEZhY2UoZGMsIDAsIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhRGlyZWN0MkQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhRGlyZWN0MkQu
Y3BwCmluZGV4IDBjOTE4YjQ1ZmViZGE2MjgxYmJjOTliNDM4YzNhNDZjMjBhNDQ5ZGIuLmVlMzZi
NWFiOTU3YWUyYmYzNGQ4MGY1ZWIwNTQ5ZmNiMzM4ZDg2NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YURpcmVjdDJELmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFE
aXJlY3QyRC5jcHAKQEAgLTEzNCw3ICsxMzQsNyBAQCB2b2lkIEZvbnQ6OnBsYXRmb3JtSW5pdCgp
CiAgICAgZmxvYXQgZkNhcEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKGlDYXBIZWlnaHQsIHVuaXRz
UGVyRW0pICogcG9pbnRTaXplOwogICAgIGZsb2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMo
aUxpbmVHYXAsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOwogCi0gICAgaWYgKCFpc0N1c3RvbUZv
bnQoKSkgeworICAgIGlmIChvcmlnaW4oKSA9PSBPcmlnaW46OkxvY2FsKSB7CiAgICAgICAgIFZl
Y3RvcjxXQ0hBUj4gZmFjZU5hbWUgPSBnZXRGYWNlTmFtZShmb250KTsKICAgICAgICAgZkFzY2Vu
dCA9IGFzY2VudENvbnNpZGVyaW5nTWFjQXNjZW50SGFjayhmYWNlTmFtZS5kYXRhKCksIGZBc2Nl
bnQsIGZEZXNjZW50KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAppbmRleCBkMWJkNDNiNTFl
YTc2NzFjOTgwNTUzOWJhNjIxMDNmZTlkNzRlNjVmLi41NjJkMmQ0MTczYzc4YzMwYTk1MmYzZjU5
NDQ5MzcwZmRmNGM2NjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAKQEAgLTEzOSwxOSArMTM5LDE5
IEBAIHZvaWQgRm9udDo6cGxhdGZvcm1EZXN0cm95KCkKIFJlZlB0cjxGb250PiBGb250OjpwbGF0
Zm9ybUNyZWF0ZVNjYWxlZEZvbnQoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRp
b24sIGZsb2F0IHNjYWxlRmFjdG9yKSBjb25zdAogewogICAgIGZsb2F0IHNjYWxlZFNpemUgPSBz
Y2FsZUZhY3RvciAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKLSAgICBpZiAoaXNDdXN0b21Gb250
KCkpCi0gICAgICAgIHJldHVybiBGb250OjpjcmVhdGUoRm9udFBsYXRmb3JtRGF0YTo6Y2xvbmVX
aXRoU2l6ZShtX3BsYXRmb3JtRGF0YSwgc2NhbGVkU2l6ZSksIHRydWUsIGZhbHNlKTsKKyAgICBp
ZiAob3JpZ2luKCkgPT0gT3JpZ2luOjpSZW1vdGUpCisgICAgICAgIHJldHVybiBGb250OjpjcmVh
dGUoRm9udFBsYXRmb3JtRGF0YTo6Y2xvbmVXaXRoU2l6ZShtX3BsYXRmb3JtRGF0YSwgc2NhbGVk
U2l6ZSksIEZvbnQ6Ok9yaWdpbjo6UmVtb3RlKTsKIAogICAgIExPR0ZPTlQgd2luZm9udDsKICAg
ICBHZXRPYmplY3QobV9wbGF0Zm9ybURhdGEuaGZvbnQoKSwgc2l6ZW9mKExPR0ZPTlQpLCAmd2lu
Zm9udCk7CiAgICAgd2luZm9udC5sZkhlaWdodCA9IC1scm91bmRmKHNjYWxlZFNpemUgKiAobV9w
bGF0Zm9ybURhdGEudXNlR0RJKCkgPyAxIDogMzIpKTsKICAgICBhdXRvIGhmb250ID0gYWRvcHRH
RElPYmplY3QoOjpDcmVhdGVGb250SW5kaXJlY3QoJndpbmZvbnQpKTsKLSAgICByZXR1cm4gRm9u
dDo6Y3JlYXRlKEZvbnRQbGF0Zm9ybURhdGEoV1RGTW92ZShoZm9udCksIHNjYWxlZFNpemUsIG1f
cGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSwgbV9wbGF0Zm9ybURhdGEuc3ludGhldGljT2Js
aXF1ZSgpLCBtX3BsYXRmb3JtRGF0YS51c2VHREkoKSksIGlzQ3VzdG9tRm9udCgpLCBmYWxzZSk7
CisgICAgcmV0dXJuIEZvbnQ6OmNyZWF0ZShGb250UGxhdGZvcm1EYXRhKFdURk1vdmUoaGZvbnQp
LCBzY2FsZWRTaXplLCBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCksIG1fcGxhdGZvcm1E
YXRhLnN5bnRoZXRpY09ibGlxdWUoKSwgbV9wbGF0Zm9ybURhdGEudXNlR0RJKCkpLCBvcmlnaW4o
KSk7CiB9CiAKIHZvaWQgRm9udDo6ZGV0ZXJtaW5lUGl0Y2goKQogewotICAgIGlmIChpc0N1c3Rv
bUZvbnQoKSkgeworICAgIGlmIChvcmlnaW4oKSA9PSBPcmlnaW46OlJlbW90ZSkgewogICAgICAg
ICBtX3RyZWF0QXNGaXhlZFBpdGNoID0gZmFsc2U7CiAgICAgICAgIHJldHVybjsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKaW5kZXggM2Qz
ZGJmMjgwNzA0MTM4NWUwNWE2Nzc3MzMyMTY1MjAyZDI4ZmRmMC4uNDE5MDY0YmQ5YTU3YmJkNGE1
ZGExMTc0MTAwNDliNzI0NDZhY2ZhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0LmNwcApAQCAtMTU2LDcgKzE1Niw3IEBAIHN0YXRpYyBBdm9pZGFuY2VS
ZWFzb25GbGFncyBjYW5Vc2VGb3JGb250QW5kVGV4dChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZs
b3csIEluCiAgICAgLy8gV2UgYXNzdW1lIHRoYXQgYWxsIGxpbmVzIGhhdmUgbWV0cmljcyBiYXNl
ZCBwdXJlbHkgb24gdGhlIHByaW1hcnkgZm9udC4KICAgICBjb25zdCBhdXRvJiBzdHlsZSA9IGZs
b3cuc3R5bGUoKTsKICAgICBhdXRvJiBmb250Q2FzY2FkZSA9IHN0eWxlLmZvbnRDYXNjYWRlKCk7
Ci0gICAgaWYgKGZvbnRDYXNjYWRlLnByaW1hcnlGb250KCkuaXNMb2FkaW5nKCkpCisgICAgaWYg
KGZvbnRDYXNjYWRlLnByaW1hcnlGb250KCkuaXNJbnRlcnN0aXRpYWwoKSkKICAgICAgICAgU0VU
X1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SXNNaXNzaW5nUHJpbWFyeUZvbnQsIHJl
YXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBzdGQ6Om9wdGlvbmFsPGZsb2F0PiBsaW5lSGVp
Z2h0Q29uc3RyYWludDsKICAgICBpZiAoc3R5bGUubGluZUJveENvbnRhaW4oKSAmIExpbmVCb3hD
b250YWluR2x5cGhzKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>