<?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>157037</bug_id>
          
          <creation_ts>2016-04-26 10:57:59 -0700</creation_ts>
          <short_desc>Use auto-generated operators in FontPlatformData</short_desc>
          <delta_ts>2016-04-27 11:01:58 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1187467</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-26 10:57:59 -0700</bug_when>
    <thetext>Use auto-generated operators in FontPlatformData</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187468</commentid>
    <comment_count>1</comment_count>
      <attachid>277400</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-26 11:00:48 -0700</bug_when>
    <thetext>Created attachment 277400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187472</commentid>
    <comment_count>2</comment_count>
      <attachid>277400</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-04-26 11:09:15 -0700</bug_when>
    <thetext>Comment on attachment 277400
Patch

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

&gt; Source/WebCore/platform/graphics/FontPlatformData.h:170
&gt; +    FontPlatformData&amp; operator=(const FontPlatformData&amp;) = default;

Is this default declaration required, or can it be automatic?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187473</commentid>
    <comment_count>3</comment_count>
      <attachid>277400</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-26 11:12:11 -0700</bug_when>
    <thetext>Comment on attachment 277400
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/FontPlatformData.h:170
&gt;&gt; +    FontPlatformData&amp; operator=(const FontPlatformData&amp;) = default;
&gt; 
&gt; Is this default declaration required, or can it be automatic?

It isn&apos;t required, but I still think it&apos;s valuable to be explicit in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187493</commentid>
    <comment_count>4</comment_count>
      <attachid>277400</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-04-26 11:43:12 -0700</bug_when>
    <thetext>Comment on attachment 277400
Patch

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

&gt; Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp:89
&gt; +    m_scaledFont = adoptRef(cairo_scaled_font_create(fontFace, &amp;fontMatrix, &amp;ctm, options));

Wrong spacing at the beginning.

&gt; Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp:-49
&gt; -#endif

You removed the #endif.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187499</commentid>
    <comment_count>5</comment_count>
      <attachid>277404</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-26 11:59:30 -0700</bug_when>
    <thetext>Created attachment 277404
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187508</commentid>
    <comment_count>6</comment_count>
      <attachid>277404</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-26 12:48:54 -0700</bug_when>
    <thetext>Comment on attachment 277404
Patch for committing

Clearing flags on attachment: 277404

Committed r200104: &lt;http://trac.webkit.org/changeset/200104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187817</commentid>
    <comment_count>7</comment_count>
      <attachid>277400</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-04-27 11:01:58 -0700</bug_when>
    <thetext>Comment on attachment 277400
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/FontPlatformData.h:170
&gt;&gt;&gt; +    FontPlatformData&amp; operator=(const FontPlatformData&amp;) = default;
&gt;&gt; 
&gt;&gt; Is this default declaration required, or can it be automatic?
&gt; 
&gt; It isn&apos;t required, but I still think it&apos;s valuable to be explicit in this case.

I don’t understand why you say that. Personally I would like to see it removed.

&gt; Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp:46
&gt;      , m_cgFont(0)

Initializing this and many other members in the class definition would be beneficial.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277400</attachid>
            <date>2016-04-26 11:00:48 -0700</date>
            <delta_ts>2016-04-26 11:54:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157037-20160426110117.patch</filename>
            <type>text/plain</type>
            <size>12106</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWJlYjZmZTQ0ZThlYWEw
MDc1NjE4YTIzMzgyYmMwMGVmMmFmYzUxOC4uYWRmZWFkZDI4MTNiNjZiZmI1NmJhNjVkNDVkMDkz
ZjU0Zjg3ODM2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDE2LTA0LTI2ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKKyAgICAgICAgVXNlIGF1dG8t
Z2VuZXJhdGVkIG9wZXJhdG9ycyBpbiBGb250UGxhdGZvcm1EYXRhCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTcwMzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgb25seSByZWFzb24gd2h5IHRoZXkg
d2VyZW4ndCB1c2VkIGJlZm9yZSBpcyBiZWNhdXNlIENhaXJvIHdhcworICAgICAgICB1c2luZyBh
IHJhdyBwb2ludGVyLiBIb3dldmVyLCBSZWZQdHIgc3VwcG9ydHMgQ2Fpcm8gdHlwZXMsIHNvIHRo
aXMKKyAgICAgICAgcGF0Y2ggbWlncmF0ZXMgdGhhdCBwb2ludGVyIHRvIGEgUmVmUHRyLiBUaGVy
ZWZvcmUsIHdlIGNhbiByZW1vdmUKKyAgICAgICAgb3VyIGN1c3RvbSBvcGVyYXRvcnMgKGJlY2F1
c2UgdGhleSB3b3JrIHRoZSBzYW1lIHdheSBhcyBhdXRvLQorICAgICAgICBnZW5lcmF0ZWQgb25l
cyBkbykuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZp
b3IgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1E
YXRhKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6Om9wZXJh
dG9yPSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3Jt
RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6c2NhbGVkRm9udCk6
CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpoYXNoKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW06CisgICAgICAg
IChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjp+Rm9udFBsYXRmb3JtRGF0YSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtRGF0
YUFzc2lnbik6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQ
bGF0Zm9ybURhdGFDR1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
Ojp+Rm9udFBsYXRmb3JtRGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpGb250UGxh
dGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtRGF0YUFzc2lnbik6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDYWlyb1dpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhQXNz
aWduKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRm
b3JtRGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpGb250
UGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKworMjAxNi0wNC0yNiAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCiAgICAgICAgIE1ha2UgRm9udFBsYXRmb3JtRGF0YSBp
bW11dGFibGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NzAyNAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250UGxhdGZvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRQbGF0Zm9ybURhdGEuY3BwCmluZGV4IGE1YTIxODg0NTE4NTRiYzQ3MzY5Nzk2ODg5OTczOGYz
YjgxY2EwZjMuLmI4NDNlZmViNTYxNjcxOWIxNWJjZWI2YTVjNzI0OWU3ODA0ODE2NTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURh
dGEuY3BwCkBAIC02MiwxNSArNjIsNiBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1E
YXRhKENHRm9udFJlZiBjZ0ZvbnQsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQgogfQogI2Vu
ZGlmCiAKLUZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYgc291cmNlKQotICAgIDogRm9udFBsYXRmb3JtRGF0YShzb3VyY2UubV9zaXplLCBz
b3VyY2UubV9zeW50aGV0aWNCb2xkLCBzb3VyY2UubV9zeW50aGV0aWNPYmxpcXVlLCBzb3VyY2Uu
bV9vcmllbnRhdGlvbiwgc291cmNlLm1fd2lkdGhWYXJpYW50LCBzb3VyY2UubV90ZXh0UmVuZGVy
aW5nTW9kZSkKLXsKLSAgICBtX2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVlID0gc291cmNlLm1faXNI
YXNoVGFibGVEZWxldGVkVmFsdWU7Ci0gICAgbV9pc0NvbG9yQml0bWFwRm9udCA9IHNvdXJjZS5t
X2lzQ29sb3JCaXRtYXBGb250OwotICAgIG1faXNTeXN0ZW1Gb250ID0gc291cmNlLm1faXNTeXN0
ZW1Gb250OwotICAgIHBsYXRmb3JtRGF0YUluaXQoc291cmNlKTsKLX0KLQogRm9udFBsYXRmb3Jt
RGF0YSBGb250UGxhdGZvcm1EYXRhOjpjbG9uZVdpdGhPcmllbnRhdGlvbihjb25zdCBGb250UGxh
dGZvcm1EYXRhJiBzb3VyY2UsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbikKIHsKICAgICBG
b250UGxhdGZvcm1EYXRhIGNvcHkoc291cmNlKTsKQEAgLTkyLDIzICs4Myw0IEBAIEZvbnRQbGF0
Zm9ybURhdGEgRm9udFBsYXRmb3JtRGF0YTo6Y2xvbmVXaXRoU2l6ZShjb25zdCBGb250UGxhdGZv
cm1EYXRhJiBzb3VyY2UsCiAgICAgcmV0dXJuIGNvcHk7CiB9CiAKLWNvbnN0IEZvbnRQbGF0Zm9y
bURhdGEmIEZvbnRQbGF0Zm9ybURhdGE6Om9wZXJhdG9yPShjb25zdCBGb250UGxhdGZvcm1EYXRh
JiBvdGhlcikKLXsKLSAgICAvLyBDaGVjayBmb3Igc2VsZi1hc3NpZ25tZW50LgotICAgIGlmICh0
aGlzID09ICZvdGhlcikKLSAgICAgICAgcmV0dXJuICp0aGlzOwotCi0gICAgbV9pc0hhc2hUYWJs
ZURlbGV0ZWRWYWx1ZSA9IG90aGVyLm1faXNIYXNoVGFibGVEZWxldGVkVmFsdWU7Ci0gICAgbV9z
eW50aGV0aWNCb2xkID0gb3RoZXIubV9zeW50aGV0aWNCb2xkOwotICAgIG1fc3ludGhldGljT2Js
aXF1ZSA9IG90aGVyLm1fc3ludGhldGljT2JsaXF1ZTsKLSAgICBtX29yaWVudGF0aW9uID0gb3Ro
ZXIubV9vcmllbnRhdGlvbjsKLSAgICBtX3NpemUgPSBvdGhlci5tX3NpemU7Ci0gICAgbV93aWR0
aFZhcmlhbnQgPSBvdGhlci5tX3dpZHRoVmFyaWFudDsKLSAgICBtX2lzQ29sb3JCaXRtYXBGb250
ID0gb3RoZXIubV9pc0NvbG9yQml0bWFwRm9udDsKLSAgICBtX3RleHRSZW5kZXJpbmdNb2RlID0g
b3RoZXIubV90ZXh0UmVuZGVyaW5nTW9kZTsKLSAgICBtX2lzU3lzdGVtRm9udCA9IG90aGVyLm1f
aXNTeXN0ZW1Gb250OwotCi0gICAgcmV0dXJuIHBsYXRmb3JtRGF0YUFzc2lnbihvdGhlcik7Ci19
Ci0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQ
bGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0
Zm9ybURhdGEuaAppbmRleCAyNzBjYTM2OTkxNDQxZmM5YWU1NjRhOTRkYWZmODJkNjYwNmRiZGRk
Li4wZWNkMzE5NjliZDViNmRiOGU0Y2U4YmMxZThmZDI2NzJhNGZlMjc3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0z
Nyw2ICszNyw3IEBACiAjZW5kaWYKIAogI2lmIFVTRShDQUlSTykKKyNpbmNsdWRlICJSZWZQdHJD
YWlyby5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoRnVuY3Rpb25zLmg+CiAjaW5jbHVkZSA8Y2Fpcm8u
aD4KICNlbmRpZgpAQCAtODAsNyArODEsOCBAQCBjbGFzcyBGb250UGxhdGZvcm1EYXRhIHsKIHB1
YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlw
ZSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YSgpOwotICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3Qg
Rm9udFBsYXRmb3JtRGF0YSYpOworICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYpID0gZGVmYXVsdDsKKyAgICBGb250UGxhdGZvcm1EYXRhKEZvbnRQbGF0Zm9ybURh
dGEmJikgPSBkZWZhdWx0OwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0
aW9uJiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHkpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEo
ZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpY09ibGlxdWUsIEZv
bnRPcmllbnRhdGlvbiA9IEhvcml6b250YWwsIEZvbnRXaWR0aFZhcmlhbnQgPSBSZWd1bGFyV2lk
dGgsIFRleHRSZW5kZXJpbmdNb2RlID0gQXV0b1RleHRSZW5kZXJpbmcpOwogCkBAIC0xMDYsOCAr
MTA4LDYgQEAgcHVibGljOgogI2VuZGlmCiAjZW5kaWYKIAotICAgIFdFQkNPUkVfRVhQT1JUIH5G
b250UGxhdGZvcm1EYXRhKCk7Ci0KICNpZiBQTEFURk9STShXSU4pCiAgICAgSEZPTlQgaGZvbnQo
KSBjb25zdCB7IHJldHVybiBtX2ZvbnQgPyBtX2ZvbnQtPmdldCgpIDogMDsgfQogICAgIGJvb2wg
dXNlR0RJKCkgY29uc3QgeyByZXR1cm4gbV91c2VHREk7IH0KQEAgLTE0Niw3ICsxNDYsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBpc0ZvclRleHRDb21iaW5lKCkgY29uc3QgeyByZXR1cm4gd2lkdGhW
YXJpYW50KCkgIT0gUmVndWxhcldpZHRoOyB9IC8vIEtlZXAgaW4gc3luYyB3aXRoIGNhbGxlcnMg
b2YgRm9udERlc2NyaXB0aW9uOjpzZXRXaWR0aFZhcmlhbnQoKS4KIAogI2lmIFVTRShDQUlSTykK
LSAgICBjYWlyb19zY2FsZWRfZm9udF90KiBzY2FsZWRGb250KCkgY29uc3QgeyByZXR1cm4gbV9z
Y2FsZWRGb250OyB9CisgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdCogc2NhbGVkRm9udCgpIGNvbnN0
IHsgcmV0dXJuIG1fc2NhbGVkRm9udC5nZXQoKTsgfQogI2VuZGlmCiAKICAgICB1bnNpZ25lZCBo
YXNoKCkgY29uc3QKQEAgLTE2MywxMSArMTYzLDExIEBAIHB1YmxpYzoKICAgICAgICAgdWludHB0
cl90IGhhc2hDb2Rlc1szXSA9IHsgZm9udEhhc2gsIG1fd2lkdGhWYXJpYW50LCBmbGFncyB9Owog
ICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5PHNpemVvZihoYXNoQ29kZXMp
PihoYXNoQ29kZXMpOwogI2VsaWYgVVNFKENBSVJPKQotICAgICAgICByZXR1cm4gUHRySGFzaDxj
YWlyb19zY2FsZWRfZm9udF90Kj46Omhhc2gobV9zY2FsZWRGb250KTsKKyAgICAgICAgcmV0dXJu
IFB0ckhhc2g8Y2Fpcm9fc2NhbGVkX2ZvbnRfdCo+OjpoYXNoKG1fc2NhbGVkRm9udC5nZXQoKSk7
CiAjZW5kaWYKICAgICB9CiAKLSAgICBjb25zdCBGb250UGxhdGZvcm1EYXRhJiBvcGVyYXRvcj0o
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYpOworICAgIEZvbnRQbGF0Zm9ybURhdGEmIG9wZXJhdG9y
PShjb25zdCBGb250UGxhdGZvcm1EYXRhJikgPSBkZWZhdWx0OwogCiAgICAgYm9vbCBvcGVyYXRv
cj09KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdAogICAgIHsKQEAgLTIwNiw4
ICsyMDYsNiBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgYm9vbCBwbGF0Zm9ybUlzRXF1YWwo
Y29uc3QgRm9udFBsYXRmb3JtRGF0YSYpIGNvbnN0OwotICAgIHZvaWQgcGxhdGZvcm1EYXRhSW5p
dChjb25zdCBGb250UGxhdGZvcm1EYXRhJik7Ci0gICAgY29uc3QgRm9udFBsYXRmb3JtRGF0YSYg
cGxhdGZvcm1EYXRhQXNzaWduKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKTsKICNpZiBQTEFURk9S
TShDT0NPQSkKICAgICBDR0Zsb2F0IGN0Rm9udFNpemUoKSBjb25zdDsKICNlbmRpZgpAQCAtMjI3
LDcgKzIyNSw3IEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPENHRm9udFJlZj4gbV9jZ0ZvbnQ7
CiAjZW5kaWYKICNpZiBVU0UoQ0FJUk8pCi0gICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdCogbV9zY2Fs
ZWRGb250IHsgbnVsbHB0ciB9OworICAgIFJlZlB0cjxjYWlyb19zY2FsZWRfZm9udF90PiBtX3Nj
YWxlZEZvbnQ7CiAjZW5kaWYKIAogICAgIC8vIFRoZSB2YWx1ZXMgYmVsb3cgYXJlIGNvbW1vbiB0
byBhbGwgcG9ydHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCA2NzQzYWJhNWE1
YTQ5MmQyMzA1ZmQwNzFlNTRmNmJlZDhlY2JhMjYwLi5kODYxODM3ZGRmZGVkOGEzNjFhMTI3NjQ2
NTU5YjQ1Y2EyYTQ4NzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCkBAIC01NCwz
NyArNTQsNiBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiBm
b250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbAogI2VuZGlmCiB9CiAKLUZvbnRQbGF0
Zm9ybURhdGE6On5Gb250UGxhdGZvcm1EYXRhKCkKLXsKLX0KLQotdm9pZCBGb250UGxhdGZvcm1E
YXRhOjpwbGF0Zm9ybURhdGFJbml0KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIGYpCi17Ci0gICAg
bV9mb250ID0gZi5tX2ZvbnQ7Ci0KLSAgICBtX2NnRm9udCA9IGYubV9jZ0ZvbnQ7Ci0gICAgbV9j
dEZvbnQgPSBmLm1fY3RGb250OwotCi0jaWYgUExBVEZPUk0oSU9TKQotICAgIG1faXNFbW9qaSA9
IGYubV9pc0Vtb2ppOwotI2VuZGlmCi19Ci0KLWNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIEZvbnRQ
bGF0Zm9ybURhdGE6OnBsYXRmb3JtRGF0YUFzc2lnbihjb25zdCBGb250UGxhdGZvcm1EYXRhJiBm
KQotewotICAgIG1fY2dGb250ID0gZi5tX2NnRm9udDsKLSAgICBpZiAobV9mb250ICYmIGYubV9m
b250ICYmIENGRXF1YWwobV9mb250LmdldCgpLCBmLm1fZm9udC5nZXQoKSkpCi0gICAgICAgIHJl
dHVybiAqdGhpczsKLSAgICBtX2ZvbnQgPSBmLm1fZm9udDsKLSAgICBtX2N0Rm9udCA9IGYubV9j
dEZvbnQ7Ci0KLSNpZiBQTEFURk9STShJT1MpCi0gICAgbV9pc0Vtb2ppID0gZi5tX2lzRW1vamk7
Ci0jZW5kaWYKLQotICAgIHJldHVybiAqdGhpczsKLX0KLQogYm9vbCBGb250UGxhdGZvcm1EYXRh
OjpwbGF0Zm9ybUlzRXF1YWwoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgb3RoZXIpIGNvbnN0CiB7
CiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ0dXaW4uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKaW5k
ZXggMDcwNmU4MDM5NTU4ZWQzYjJlZWRjNDk4NDEyZmQxNGNmMTVhNTI3Yy4uOGU5MjViNmE1NWMw
ZGMwYmRiYzIwM2U1MDYxNzExYmQyNWQyYjU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDR1dpbi5j
cHAKQEAgLTEzMCwyNiArMTMwLDYgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0
YShHRElPYmplY3Q8SEZPTlQ+IGhmb250LCBDR0ZvbnRSZWYgZm9udCwgZmxvYXQKIHsKIH0KIAot
Rm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEoKQotewotfQotCi12b2lkIEZvbnRQ
bGF0Zm9ybURhdGE6OnBsYXRmb3JtRGF0YUluaXQoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgc291
cmNlKQotewotICAgIG1fZm9udCA9IHNvdXJjZS5tX2ZvbnQ7Ci0gICAgbV9jZ0ZvbnQgPSBzb3Vy
Y2UubV9jZ0ZvbnQ7Ci0gICAgbV91c2VHREkgPSBzb3VyY2UubV91c2VHREk7Ci19Ci0KLWNvbnN0
IEZvbnRQbGF0Zm9ybURhdGEmIEZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtRGF0YUFzc2lnbihj
b25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlcikKLXsKLSAgICBtX2ZvbnQgPSBvdGhlci5tX2Zv
bnQ7Ci0gICAgbV9jZ0ZvbnQgPSBvdGhlci5tX2NnRm9udDsKLSAgICBtX3VzZUdESSA9IG90aGVy
Lm1fdXNlR0RJOwotCi0gICAgcmV0dXJuICp0aGlzOwotfQotCiBib29sIEZvbnRQbGF0Zm9ybURh
dGE6OnBsYXRmb3JtSXNFcXVhbChjb25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlcikgY29uc3QK
IHsKICAgICByZXR1cm4gbV9mb250ID09IG90aGVyLm1fZm9udApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDYWlyb1dpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0
YUNhaXJvV2luLmNwcAppbmRleCAyY2IzZDdhZWE1MzQ3MGQ2MzU2YzE3NWU5MjE4ZDhmZmJjODc5
YmE1Li42N2Y1MGM3N2U5MWJlM2QzMTFlN2QzOTI1MTc3NmFiZTQwZmI5MDc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YUNh
aXJvV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dFBsYXRmb3JtRGF0YUNhaXJvV2luLmNwcApAQCAtNTIsNyArNTIsNyBAQCB2b2lkIEZvbnRQbGF0
Zm9ybURhdGE6OnBsYXRmb3JtRGF0YUluaXQoSEZPTlQgZm9udCwgZmxvYXQgc2l6ZSwgSERDIGhk
YywgV0NIQVIqCiAgICAgICAgY2Fpcm9fZm9udF9vcHRpb25zX3NldF9hbnRpYWxpYXMoZm9udE9w
dGlvbnMsIENBSVJPX0FOVElBTElBU19TVUJQSVhFTCk7CiAgICAgfQogCi0gICAgbV9zY2FsZWRG
b250ID0gY2Fpcm9fc2NhbGVkX2ZvbnRfY3JlYXRlKGZvbnRGYWNlLCAmc2l6ZU1hdHJpeCwgJmN0
bSwgZm9udE9wdGlvbnMpOworICAgIG1fc2NhbGVkRm9udCA9IGFkb3B0UmVmKGNhaXJvX3NjYWxl
ZF9mb250X2NyZWF0ZShmb250RmFjZSwgJnNpemVNYXRyaXgsICZjdG0sIGZvbnRPcHRpb25zKSk7
CiAgICAgY2Fpcm9fZm9udF9mYWNlX2Rlc3Ryb3koZm9udEZhY2UpOwogCiAgICAgaWYgKCFtX3Vz
ZUdESSAmJiBtX3NpemUpCkBAIC02NCw3ICs2NCw2IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQ
bGF0Zm9ybURhdGEoR0RJT2JqZWN0PEhGT05UPiBmb250LCBjYWlyb19mb250X2ZhY2VfdCogZm9u
CiAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAsIG1fb3JpZW50YXRpb24oSG9yaXpvbnRhbCkKICAg
ICAsIG1fd2lkdGhWYXJpYW50KFJlZ3VsYXJXaWR0aCkKLSAgICAsIG1fc2NhbGVkRm9udCgwKQog
ICAgICwgbV9pc0NvbG9yQml0bWFwRm9udChmYWxzZSkKICAgICAsIG1fc3ludGhldGljQm9sZChi
b2xkKQogICAgICwgbV9zeW50aGV0aWNPYmxpcXVlKG9ibGlxdWUpCkBAIC04NywzOSArODYsMTAg
QEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZPTlQ+IGZv
bnQsIGNhaXJvX2ZvbnRfZmFjZV90KiBmb24KICAgICAgICAgY2Fpcm9fbWF0cml4X211bHRpcGx5
KCZmb250TWF0cml4LCAmc2tldywgJmZvbnRNYXRyaXgpOwogICAgIH0KIAotICAgbV9zY2FsZWRG
b250ID0gY2Fpcm9fc2NhbGVkX2ZvbnRfY3JlYXRlKGZvbnRGYWNlLCAmZm9udE1hdHJpeCwgJmN0
bSwgb3B0aW9ucyk7CisgICAgbV9zY2FsZWRGb250ID0gYWRvcHRSZWYoY2Fpcm9fc2NhbGVkX2Zv
bnRfY3JlYXRlKGZvbnRGYWNlLCAmZm9udE1hdHJpeCwgJmN0bSwgb3B0aW9ucykpOwogICAgY2Fp
cm9fZm9udF9vcHRpb25zX2Rlc3Ryb3kob3B0aW9ucyk7CiB9CiAKLUZvbnRQbGF0Zm9ybURhdGE6
On5Gb250UGxhdGZvcm1EYXRhKCkKLXsKLSAgICBpZiAobV9zY2FsZWRGb250KQotICAgICAgICBj
YWlyb19zY2FsZWRfZm9udF9kZXN0cm95KG1fc2NhbGVkRm9udCk7Ci19Ci0KLXZvaWQgRm9udFBs
YXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhSW5pdChjb25zdCBGb250UGxhdGZvcm1EYXRhJiBzb3Vy
Y2UpCi17Ci0gICAgbV9mb250ID0gc291cmNlLm1fZm9udDsKLSAgICBtX3VzZUdESSA9IHNvdXJj
ZS5tX3VzZUdESTsKLSAgICBtX3NjYWxlZEZvbnQgPSBudWxscHRyOwotCi0gICAgaWYgKHNvdXJj
ZS5tX3NjYWxlZEZvbnQpCi0gICAgICAgIG1fc2NhbGVkRm9udCA9IGNhaXJvX3NjYWxlZF9mb250
X3JlZmVyZW5jZShzb3VyY2UubV9zY2FsZWRGb250KTsKLX0KLQotY29uc3QgRm9udFBsYXRmb3Jt
RGF0YSYgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhQXNzaWduKGNvbnN0IEZvbnRQbGF0
Zm9ybURhdGEmIG90aGVyKQotewotICAgIG1fZm9udCA9IG90aGVyLm1fZm9udDsKLSAgICBtX3Vz
ZUdESSA9IG90aGVyLm1fdXNlR0RJOwotCi0gICAgaWYgKG1fc2NhbGVkRm9udCkKLSAgICAgICAg
Y2Fpcm9fc2NhbGVkX2ZvbnRfZGVzdHJveShtX3NjYWxlZEZvbnQpOwotCi0gICAgbV9zY2FsZWRG
b250ID0gY2Fpcm9fc2NhbGVkX2ZvbnRfcmVmZXJlbmNlKG90aGVyLm1fc2NhbGVkRm9udCk7Ci0K
LSAgICByZXR1cm4gKnRoaXM7Ci19Ci0KIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1J
c0VxdWFsKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdAogewogICAgIHJldHVy
biBtX2ZvbnQgPT0gb3RoZXIubV9mb250CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAKaW5kZXggYjU3
MGJiMTFlZmU5OWJlNTNiZDc2ZmNkMDViYTFhYWQ0OGQ5Njg2NS4uNGQ5NmFjYWRmZjFmNDQ4OTg2
ZTk4ZTAyMTk1YWUyNTU0YmU0ZjI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcApAQCAtNDQs
OSArNDQsNiBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxI
Rk9OVD4gZm9udCwgZmxvYXQgc2l6ZSwgYm9vbCBib2xkLAogICAgICwgbV93aWR0aFZhcmlhbnQo
UmVndWxhcldpZHRoKQogI2lmIFVTRShDRykKICAgICAsIG1fY2dGb250KDApCi0jZWxpZiBVU0Uo
Q0FJUk8pCi0gICAgLCBtX3NjYWxlZEZvbnQoMCkKLSNlbmRpZgogICAgICwgbV9pc0NvbG9yQml0
bWFwRm9udChmYWxzZSkKICAgICAsIG1fc3ludGhldGljQm9sZChib2xkKQogICAgICwgbV9zeW50
aGV0aWNPYmxpcXVlKG9ibGlxdWUpCg==
</data>
<flag name="review"
          id="301614"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="301616"
          type_id="3"
          status="-"
          setter="achristensen"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277404</attachid>
            <date>2016-04-26 11:59:30 -0700</date>
            <delta_ts>2016-04-26 12:48:54 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-157037-20160426115959.patch</filename>
            <type>text/plain</type>
            <size>13253</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmQwYTIzNDI5OTZjN2Yz
ZmVmMjI3OTk3N2FjYmNiZmQzZWI4ODJhYy4uNTIwMTBjODJhNzI5ZDI2ZjAwNDk2MWY0NWZkNGI1
YmQ2YmJhOWMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE2LTA0LTI2ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGF1dG8t
Z2VuZXJhdGVkIG9wZXJhdG9ycyBpbiBGb250UGxhdGZvcm1EYXRhCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTcwMzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAgICAgICBUaGUgb25seSByZWFzb24gd2h5IHRoZXkg
d2VyZW4ndCB1c2VkIGJlZm9yZSBpcyBiZWNhdXNlIENhaXJvIHdhcworICAgICAgICB1c2luZyBh
IHJhdyBwb2ludGVyLiBIb3dldmVyLCBSZWZQdHIgc3VwcG9ydHMgQ2Fpcm8gdHlwZXMsIHNvIHRo
aXMKKyAgICAgICAgcGF0Y2ggbWlncmF0ZXMgdGhhdCBwb2ludGVyIHRvIGEgUmVmUHRyLiBUaGVy
ZWZvcmUsIHdlIGNhbiByZW1vdmUKKyAgICAgICAgb3VyIGN1c3RvbSBvcGVyYXRvcnMgKGJlY2F1
c2UgdGhleSB3b3JrIHRoZSBzYW1lIHdheSBhcyBhdXRvLQorICAgICAgICBnZW5lcmF0ZWQgb25l
cyBkbykuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZp
b3IgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1E
YXRhKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6Om9wZXJh
dG9yPSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3Jt
RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6c2NhbGVkRm9udCk6
CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpoYXNoKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW06CisgICAgICAg
IChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjp+Rm9udFBsYXRmb3JtRGF0YSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtRGF0
YUFzc2lnbik6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQ
bGF0Zm9ybURhdGFDR1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRh
Ojp+Rm9udFBsYXRmb3JtRGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpGb250UGxh
dGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtRGF0YUFzc2lnbik6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFDYWlyb1dpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhQXNz
aWduKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRm
b3JtRGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpGb250
UGxhdGZvcm1EYXRhKTogRGVsZXRlZC4KKwogMjAxNi0wNC0yNiAgRnVqaWkgSGlyb25vcmkgIDxI
aXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbY3VybF0gUmVxdWVzdHMgaW50ZXJy
dXB0ZWQgd2hlbiB1c2luZyBodHRwcyB2aWEgcHJveHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKaW5kZXggYTVhMjE4ODQ1
MTg1NGJjNDczNjk3OTY4ODk5NzM4ZjNiODFjYTBmMy4uYjg0M2VmZWI1NjE2NzE5YjE1YmNlYjZh
NWM3MjQ5ZTc4MDQ4MTY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5jcHAKQEAgLTYyLDE1ICs2Miw2IEBAIEZvbnRQbGF0
Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoQ0dGb250UmVmIGNnRm9udCwgZmxvYXQgc2l6ZSwg
Ym9vbCBzeW50aGV0aWNCCiB9CiAjZW5kaWYKIAotRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBzb3VyY2UpCi0gICAgOiBGb250UGxhdGZv
cm1EYXRhKHNvdXJjZS5tX3NpemUsIHNvdXJjZS5tX3N5bnRoZXRpY0JvbGQsIHNvdXJjZS5tX3N5
bnRoZXRpY09ibGlxdWUsIHNvdXJjZS5tX29yaWVudGF0aW9uLCBzb3VyY2UubV93aWR0aFZhcmlh
bnQsIHNvdXJjZS5tX3RleHRSZW5kZXJpbmdNb2RlKQotewotICAgIG1faXNIYXNoVGFibGVEZWxl
dGVkVmFsdWUgPSBzb3VyY2UubV9pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZTsKLSAgICBtX2lzQ29s
b3JCaXRtYXBGb250ID0gc291cmNlLm1faXNDb2xvckJpdG1hcEZvbnQ7Ci0gICAgbV9pc1N5c3Rl
bUZvbnQgPSBzb3VyY2UubV9pc1N5c3RlbUZvbnQ7Ci0gICAgcGxhdGZvcm1EYXRhSW5pdChzb3Vy
Y2UpOwotfQotCiBGb250UGxhdGZvcm1EYXRhIEZvbnRQbGF0Zm9ybURhdGE6OmNsb25lV2l0aE9y
aWVudGF0aW9uKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNvdXJjZSwgRm9udE9yaWVudGF0aW9u
IG9yaWVudGF0aW9uKQogewogICAgIEZvbnRQbGF0Zm9ybURhdGEgY29weShzb3VyY2UpOwpAQCAt
OTIsMjMgKzgzLDQgQEAgRm9udFBsYXRmb3JtRGF0YSBGb250UGxhdGZvcm1EYXRhOjpjbG9uZVdp
dGhTaXplKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNvdXJjZSwKICAgICByZXR1cm4gY29weTsK
IH0KIAotY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgRm9udFBsYXRmb3JtRGF0YTo6b3BlcmF0b3I9
KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKQotewotICAgIC8vIENoZWNrIGZvciBzZWxm
LWFzc2lnbm1lbnQuCi0gICAgaWYgKHRoaXMgPT0gJm90aGVyKQotICAgICAgICByZXR1cm4gKnRo
aXM7Ci0KLSAgICBtX2lzSGFzaFRhYmxlRGVsZXRlZFZhbHVlID0gb3RoZXIubV9pc0hhc2hUYWJs
ZURlbGV0ZWRWYWx1ZTsKLSAgICBtX3N5bnRoZXRpY0JvbGQgPSBvdGhlci5tX3N5bnRoZXRpY0Jv
bGQ7Ci0gICAgbV9zeW50aGV0aWNPYmxpcXVlID0gb3RoZXIubV9zeW50aGV0aWNPYmxpcXVlOwot
ICAgIG1fb3JpZW50YXRpb24gPSBvdGhlci5tX29yaWVudGF0aW9uOwotICAgIG1fc2l6ZSA9IG90
aGVyLm1fc2l6ZTsKLSAgICBtX3dpZHRoVmFyaWFudCA9IG90aGVyLm1fd2lkdGhWYXJpYW50Owot
ICAgIG1faXNDb2xvckJpdG1hcEZvbnQgPSBvdGhlci5tX2lzQ29sb3JCaXRtYXBGb250OwotICAg
IG1fdGV4dFJlbmRlcmluZ01vZGUgPSBvdGhlci5tX3RleHRSZW5kZXJpbmdNb2RlOwotICAgIG1f
aXNTeXN0ZW1Gb250ID0gb3RoZXIubV9pc1N5c3RlbUZvbnQ7Ci0KLSAgICByZXR1cm4gcGxhdGZv
cm1EYXRhQXNzaWduKG90aGVyKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IDI3MGNhMzY5OTE0NDFmYzlh
ZTU2NGE5NGRhZmY4MmQ2NjA2ZGJkZGQuLjBlY2QzMTk2OWJkNWI2ZGI4ZTRjZThiYzFlOGZkMjY3
MmE0ZmUyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRQbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250UGxhdGZvcm1EYXRhLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNlbmRpZgogCiAjaWYgVVNFKENB
SVJPKQorI2luY2x1ZGUgIlJlZlB0ckNhaXJvLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hGdW5jdGlv
bnMuaD4KICNpbmNsdWRlIDxjYWlyby5oPgogI2VuZGlmCkBAIC04MCw3ICs4MSw4IEBAIGNsYXNz
IEZvbnRQbGF0Zm9ybURhdGEgewogcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGEoV1RGOjpI
YXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKTsKICAgICBGb250UGxhdGZvcm1EYXRhKCk7Ci0gICAg
Rm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJik7CisgICAgRm9udFBsYXRm
b3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJikgPSBkZWZhdWx0OworICAgIEZvbnRQbGF0
Zm9ybURhdGEoRm9udFBsYXRmb3JtRGF0YSYmKSA9IGRlZmF1bHQ7CiAgICAgRm9udFBsYXRmb3Jt
RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSk7
CiAgICAgRm9udFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJv
b2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uID0gSG9yaXpvbnRhbCwgRm9udFdp
ZHRoVmFyaWFudCA9IFJlZ3VsYXJXaWR0aCwgVGV4dFJlbmRlcmluZ01vZGUgPSBBdXRvVGV4dFJl
bmRlcmluZyk7CiAKQEAgLTEwNiw4ICsxMDgsNiBAQCBwdWJsaWM6CiAjZW5kaWYKICNlbmRpZgog
Ci0gICAgV0VCQ09SRV9FWFBPUlQgfkZvbnRQbGF0Zm9ybURhdGEoKTsKLQogI2lmIFBMQVRGT1JN
KFdJTikKICAgICBIRk9OVCBoZm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udCA/IG1fZm9udC0+
Z2V0KCkgOiAwOyB9CiAgICAgYm9vbCB1c2VHREkoKSBjb25zdCB7IHJldHVybiBtX3VzZUdESTsg
fQpAQCAtMTQ2LDcgKzE0Niw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRm9yVGV4dENvbWJpbmUo
KSBjb25zdCB7IHJldHVybiB3aWR0aFZhcmlhbnQoKSAhPSBSZWd1bGFyV2lkdGg7IH0gLy8gS2Vl
cCBpbiBzeW5jIHdpdGggY2FsbGVycyBvZiBGb250RGVzY3JpcHRpb246OnNldFdpZHRoVmFyaWFu
dCgpLgogCiAjaWYgVVNFKENBSVJPKQotICAgIGNhaXJvX3NjYWxlZF9mb250X3QqIHNjYWxlZEZv
bnQoKSBjb25zdCB7IHJldHVybiBtX3NjYWxlZEZvbnQ7IH0KKyAgICBjYWlyb19zY2FsZWRfZm9u
dF90KiBzY2FsZWRGb250KCkgY29uc3QgeyByZXR1cm4gbV9zY2FsZWRGb250LmdldCgpOyB9CiAj
ZW5kaWYKIAogICAgIHVuc2lnbmVkIGhhc2goKSBjb25zdApAQCAtMTYzLDExICsxNjMsMTEgQEAg
cHVibGljOgogICAgICAgICB1aW50cHRyX3QgaGFzaENvZGVzWzNdID0geyBmb250SGFzaCwgbV93
aWR0aFZhcmlhbnQsIGZsYWdzIH07CiAgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6Omhhc2hN
ZW1vcnk8c2l6ZW9mKGhhc2hDb2Rlcyk+KGhhc2hDb2Rlcyk7CiAjZWxpZiBVU0UoQ0FJUk8pCi0g
ICAgICAgIHJldHVybiBQdHJIYXNoPGNhaXJvX3NjYWxlZF9mb250X3QqPjo6aGFzaChtX3NjYWxl
ZEZvbnQpOworICAgICAgICByZXR1cm4gUHRySGFzaDxjYWlyb19zY2FsZWRfZm9udF90Kj46Omhh
c2gobV9zY2FsZWRGb250LmdldCgpKTsKICNlbmRpZgogICAgIH0KIAotICAgIGNvbnN0IEZvbnRQ
bGF0Zm9ybURhdGEmIG9wZXJhdG9yPShjb25zdCBGb250UGxhdGZvcm1EYXRhJik7CisgICAgRm9u
dFBsYXRmb3JtRGF0YSYgb3BlcmF0b3I9KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKSA9IGRlZmF1
bHQ7CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgb3RoZXIp
IGNvbnN0CiAgICAgewpAQCAtMjA2LDggKzIwNiw2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICBib29sIHBsYXRmb3JtSXNFcXVhbChjb25zdCBGb250UGxhdGZvcm1EYXRhJikgY29uc3Q7Ci0g
ICAgdm9pZCBwbGF0Zm9ybURhdGFJbml0KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKTsKLSAgICBj
b25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGFBc3NpZ24oY29uc3QgRm9udFBsYXRm
b3JtRGF0YSYpOwogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIENHRmxvYXQgY3RGb250U2l6ZSgp
IGNvbnN0OwogI2VuZGlmCkBAIC0yMjcsNyArMjI1LDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5Q
dHI8Q0dGb250UmVmPiBtX2NnRm9udDsKICNlbmRpZgogI2lmIFVTRShDQUlSTykKLSAgICBjYWly
b19zY2FsZWRfZm9udF90KiBtX3NjYWxlZEZvbnQgeyBudWxscHRyIH07CisgICAgUmVmUHRyPGNh
aXJvX3NjYWxlZF9mb250X3Q+IG1fc2NhbGVkRm9udDsKICNlbmRpZgogCiAgICAgLy8gVGhlIHZh
bHVlcyBiZWxvdyBhcmUgY29tbW9uIHRvIGFsbCBwb3J0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNv
Y29hLm1tCmluZGV4IDY3NDNhYmE1YTVhNDkyZDIzMDVmZDA3MWU1NGY2YmVkOGVjYmEyNjAuLmQ4
NjE4MzdkZGZkZWQ4YTM2MWExMjc2NDY1NTliNDVjYTJhNDg3MTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZv
cm1EYXRhQ29jb2EubW0KQEAgLTU0LDM3ICs1NCw2IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQ
bGF0Zm9ybURhdGEoQ1RGb250UmVmIGZvbnQsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9s
CiAjZW5kaWYKIH0KIAotRm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEoKQotewot
fQotCi12b2lkIEZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtRGF0YUluaXQoY29uc3QgRm9udFBs
YXRmb3JtRGF0YSYgZikKLXsKLSAgICBtX2ZvbnQgPSBmLm1fZm9udDsKLQotICAgIG1fY2dGb250
ID0gZi5tX2NnRm9udDsKLSAgICBtX2N0Rm9udCA9IGYubV9jdEZvbnQ7Ci0KLSNpZiBQTEFURk9S
TShJT1MpCi0gICAgbV9pc0Vtb2ppID0gZi5tX2lzRW1vamk7Ci0jZW5kaWYKLX0KLQotY29uc3Qg
Rm9udFBsYXRmb3JtRGF0YSYgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhQXNzaWduKGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmIGYpCi17Ci0gICAgbV9jZ0ZvbnQgPSBmLm1fY2dGb250Owot
ICAgIGlmIChtX2ZvbnQgJiYgZi5tX2ZvbnQgJiYgQ0ZFcXVhbChtX2ZvbnQuZ2V0KCksIGYubV9m
b250LmdldCgpKSkKLSAgICAgICAgcmV0dXJuICp0aGlzOwotICAgIG1fZm9udCA9IGYubV9mb250
OwotICAgIG1fY3RGb250ID0gZi5tX2N0Rm9udDsKLQotI2lmIFBMQVRGT1JNKElPUykKLSAgICBt
X2lzRW1vamkgPSBmLm1faXNFbW9qaTsKLSNlbmRpZgotCi0gICAgcmV0dXJuICp0aGlzOwotfQot
CiBib29sIEZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtSXNFcXVhbChjb25zdCBGb250UGxhdGZv
cm1EYXRhJiBvdGhlcikgY29uc3QKIHsKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURh
dGFDR1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBs
YXRmb3JtRGF0YUNHV2luLmNwcAppbmRleCAwNzA2ZTgwMzk1NThlZDNiMmVlZGM0OTg0MTJmZDE0
Y2YxNWE1MjdjLi44ZTkyNWI2YTU1YzBkYzBiZGJjMjAzZTUwNjE3MTFiZDI1ZDJiNTVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3Jt
RGF0YUNHV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udFBsYXRmb3JtRGF0YUNHV2luLmNwcApAQCAtMTMwLDI2ICsxMzAsNiBAQCBGb250UGxhdGZv
cm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4gaGZvbnQsIENHRm9udFJl
ZiBmb250LCBmbG9hdAogewogfQogCi1Gb250UGxhdGZvcm1EYXRhOjp+Rm9udFBsYXRmb3JtRGF0
YSgpCi17Ci19Ci0KLXZvaWQgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhSW5pdChjb25z
dCBGb250UGxhdGZvcm1EYXRhJiBzb3VyY2UpCi17Ci0gICAgbV9mb250ID0gc291cmNlLm1fZm9u
dDsKLSAgICBtX2NnRm9udCA9IHNvdXJjZS5tX2NnRm9udDsKLSAgICBtX3VzZUdESSA9IHNvdXJj
ZS5tX3VzZUdESTsKLX0KLQotY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgRm9udFBsYXRmb3JtRGF0
YTo6cGxhdGZvcm1EYXRhQXNzaWduKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKQotewot
ICAgIG1fZm9udCA9IG90aGVyLm1fZm9udDsKLSAgICBtX2NnRm9udCA9IG90aGVyLm1fY2dGb250
OwotICAgIG1fdXNlR0RJID0gb3RoZXIubV91c2VHREk7Ci0KLSAgICByZXR1cm4gKnRoaXM7Ci19
Ci0KIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNvbnN0IEZvbnRQbGF0
Zm9ybURhdGEmIG90aGVyKSBjb25zdAogewogICAgIHJldHVybiBtX2ZvbnQgPT0gb3RoZXIubV9m
b250CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dFBsYXRmb3JtRGF0YUNhaXJvV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCmluZGV4IDJjYjNkN2FlYTUzNDcw
ZDYzNTZjMTc1ZTkyMThkOGZmYmM4NzliYTUuLmFkY2JmZDU3MzMwNjQxM2RlZDBlNmIzYWE0ZGM5
NmNlZjIzMTNjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9XaW4uY3BwCkBAIC01Miw3
ICs1Miw3IEBAIHZvaWQgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhSW5pdChIRk9OVCBm
b250LCBmbG9hdCBzaXplLCBIREMgaGRjLCBXQ0hBUioKICAgICAgICBjYWlyb19mb250X29wdGlv
bnNfc2V0X2FudGlhbGlhcyhmb250T3B0aW9ucywgQ0FJUk9fQU5USUFMSUFTX1NVQlBJWEVMKTsK
ICAgICB9CiAKLSAgICBtX3NjYWxlZEZvbnQgPSBjYWlyb19zY2FsZWRfZm9udF9jcmVhdGUoZm9u
dEZhY2UsICZzaXplTWF0cml4LCAmY3RtLCBmb250T3B0aW9ucyk7CisgICAgbV9zY2FsZWRGb250
ID0gYWRvcHRSZWYoY2Fpcm9fc2NhbGVkX2ZvbnRfY3JlYXRlKGZvbnRGYWNlLCAmc2l6ZU1hdHJp
eCwgJmN0bSwgZm9udE9wdGlvbnMpKTsKICAgICBjYWlyb19mb250X2ZhY2VfZGVzdHJveShmb250
RmFjZSk7CiAKICAgICBpZiAoIW1fdXNlR0RJICYmIG1fc2l6ZSkKQEAgLTY0LDIyICs2NCwyMSBA
QCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxIRk9OVD4gZm9u
dCwgY2Fpcm9fZm9udF9mYWNlX3QqIGZvbgogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX29y
aWVudGF0aW9uKEhvcml6b250YWwpCiAgICAgLCBtX3dpZHRoVmFyaWFudChSZWd1bGFyV2lkdGgp
Ci0gICAgLCBtX3NjYWxlZEZvbnQoMCkKICAgICAsIG1faXNDb2xvckJpdG1hcEZvbnQoZmFsc2Up
CiAgICAgLCBtX3N5bnRoZXRpY0JvbGQoYm9sZCkKICAgICAsIG1fc3ludGhldGljT2JsaXF1ZShv
YmxpcXVlKQogICAgICwgbV91c2VHREkoZmFsc2UpCiB7Ci0gICBjYWlyb19tYXRyaXhfdCBmb250
TWF0cml4OwotICAgY2Fpcm9fbWF0cml4X2luaXRfc2NhbGUoJmZvbnRNYXRyaXgsIHNpemUsIHNp
emUpOwotICAgY2Fpcm9fbWF0cml4X3QgY3RtOwotICAgY2Fpcm9fbWF0cml4X2luaXRfaWRlbnRp
dHkoJmN0bSk7Ci0gICBjYWlyb19mb250X29wdGlvbnNfdCogb3B0aW9ucyA9IGNhaXJvX2ZvbnRf
b3B0aW9uc19jcmVhdGUoKTsKKyAgICBjYWlyb19tYXRyaXhfdCBmb250TWF0cml4OworICAgIGNh
aXJvX21hdHJpeF9pbml0X3NjYWxlKCZmb250TWF0cml4LCBzaXplLCBzaXplKTsKKyAgICBjYWly
b19tYXRyaXhfdCBjdG07CisgICAgY2Fpcm9fbWF0cml4X2luaXRfaWRlbnRpdHkoJmN0bSk7Cisg
ICAgY2Fpcm9fZm9udF9vcHRpb25zX3QqIG9wdGlvbnMgPSBjYWlyb19mb250X29wdGlvbnNfY3Jl
YXRlKCk7CiAKLSAgIC8vIFdlIGZvcmNlIGFudGlhbGlhc2luZyBhbmQgZGlzYWJsZSBoaW50aW5n
IHRvIHByb3ZpZGUgY29uc2lzdGVudAotICAgLy8gdHlwb2dyYXBoaWMgcXVhbGl0aWVzIGZvciBj
dXN0b20gZm9udHMgb24gYWxsIHBsYXRmb3Jtcy4KLSAgIGNhaXJvX2ZvbnRfb3B0aW9uc19zZXRf
aGludF9zdHlsZShvcHRpb25zLCBDQUlST19ISU5UX1NUWUxFX05PTkUpOwotICAgY2Fpcm9fZm9u
dF9vcHRpb25zX3NldF9hbnRpYWxpYXMob3B0aW9ucywgQ0FJUk9fQU5USUFMSUFTX0JFU1QpOwor
ICAgIC8vIFdlIGZvcmNlIGFudGlhbGlhc2luZyBhbmQgZGlzYWJsZSBoaW50aW5nIHRvIHByb3Zp
ZGUgY29uc2lzdGVudAorICAgIC8vIHR5cG9ncmFwaGljIHF1YWxpdGllcyBmb3IgY3VzdG9tIGZv
bnRzIG9uIGFsbCBwbGF0Zm9ybXMuCisgICAgY2Fpcm9fZm9udF9vcHRpb25zX3NldF9oaW50X3N0
eWxlKG9wdGlvbnMsIENBSVJPX0hJTlRfU1RZTEVfTk9ORSk7CisgICAgY2Fpcm9fZm9udF9vcHRp
b25zX3NldF9hbnRpYWxpYXMob3B0aW9ucywgQ0FJUk9fQU5USUFMSUFTX0JFU1QpOwogCiAgICAg
aWYgKHN5bnRoZXRpY09ibGlxdWUoKSkgewogICAgICAgICBzdGF0aWMgY29uc3QgZmxvYXQgc3lu
dGhldGljT2JsaXF1ZVNrZXcgPSAtdGFuZigxNCAqIGFjb3NmKDApIC8gOTApOwpAQCAtODcsMzcg
Kzg2LDggQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRmb3JtRGF0YShHRElPYmplY3Q8SEZP
TlQ+IGZvbnQsIGNhaXJvX2ZvbnRfZmFjZV90KiBmb24KICAgICAgICAgY2Fpcm9fbWF0cml4X211
bHRpcGx5KCZmb250TWF0cml4LCAmc2tldywgJmZvbnRNYXRyaXgpOwogICAgIH0KIAotICAgbV9z
Y2FsZWRGb250ID0gY2Fpcm9fc2NhbGVkX2ZvbnRfY3JlYXRlKGZvbnRGYWNlLCAmZm9udE1hdHJp
eCwgJmN0bSwgb3B0aW9ucyk7Ci0gICBjYWlyb19mb250X29wdGlvbnNfZGVzdHJveShvcHRpb25z
KTsKLX0KLQotRm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEoKQotewotICAgIGlm
IChtX3NjYWxlZEZvbnQpCi0gICAgICAgIGNhaXJvX3NjYWxlZF9mb250X2Rlc3Ryb3kobV9zY2Fs
ZWRGb250KTsKLX0KLQotdm9pZCBGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFJbml0KGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmIHNvdXJjZSkKLXsKLSAgICBtX2ZvbnQgPSBzb3VyY2UubV9m
b250OwotICAgIG1fdXNlR0RJID0gc291cmNlLm1fdXNlR0RJOwotICAgIG1fc2NhbGVkRm9udCA9
IG51bGxwdHI7Ci0KLSAgICBpZiAoc291cmNlLm1fc2NhbGVkRm9udCkKLSAgICAgICAgbV9zY2Fs
ZWRGb250ID0gY2Fpcm9fc2NhbGVkX2ZvbnRfcmVmZXJlbmNlKHNvdXJjZS5tX3NjYWxlZEZvbnQp
OwotfQotCi1jb25zdCBGb250UGxhdGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpwbGF0Zm9y
bURhdGFBc3NpZ24oY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgb3RoZXIpCi17Ci0gICAgbV9mb250
ID0gb3RoZXIubV9mb250OwotICAgIG1fdXNlR0RJID0gb3RoZXIubV91c2VHREk7Ci0KLSAgICBp
ZiAobV9zY2FsZWRGb250KQotICAgICAgICBjYWlyb19zY2FsZWRfZm9udF9kZXN0cm95KG1fc2Nh
bGVkRm9udCk7Ci0KLSAgICBtX3NjYWxlZEZvbnQgPSBjYWlyb19zY2FsZWRfZm9udF9yZWZlcmVu
Y2Uob3RoZXIubV9zY2FsZWRGb250KTsKLQotICAgIHJldHVybiAqdGhpczsKKyAgICBtX3NjYWxl
ZEZvbnQgPSBhZG9wdFJlZihjYWlyb19zY2FsZWRfZm9udF9jcmVhdGUoZm9udEZhY2UsICZmb250
TWF0cml4LCAmY3RtLCBvcHRpb25zKSk7CisgICAgY2Fpcm9fZm9udF9vcHRpb25zX2Rlc3Ryb3ko
b3B0aW9ucyk7CiB9CiAKIGJvb2wgRm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1Jc0VxdWFsKGNv
bnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFXaW4uY3Bw
CmluZGV4IGI1NzBiYjExZWZlOTliZTUzYmQ3NmZjZDA1YmExYWFkNDhkOTY4NjUuLjg4NGY1OTAy
ZDEwMTQwMThhZGZiZjBmN2FkMDJhN2RkZDI3NDE3ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5j
cHAKQEAgLTQyLDExICs0Miw2IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEo
R0RJT2JqZWN0PEhGT05UPiBmb250LCBmbG9hdCBzaXplLCBib29sIGJvbGQsCiAgICAgLCBtX3Np
emUoc2l6ZSkKICAgICAsIG1fb3JpZW50YXRpb24oSG9yaXpvbnRhbCkKICAgICAsIG1fd2lkdGhW
YXJpYW50KFJlZ3VsYXJXaWR0aCkKLSNpZiBVU0UoQ0cpCi0gICAgLCBtX2NnRm9udCgwKQotI2Vs
aWYgVVNFKENBSVJPKQotICAgICwgbV9zY2FsZWRGb250KDApCi0jZW5kaWYKICAgICAsIG1faXND
b2xvckJpdG1hcEZvbnQoZmFsc2UpCiAgICAgLCBtX3N5bnRoZXRpY0JvbGQoYm9sZCkKICAgICAs
IG1fc3ludGhldGljT2JsaXF1ZShvYmxpcXVlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>