<?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>205952</bug_id>
          
          <creation_ts>2020-01-08 13:14:12 -0800</creation_ts>
          <short_desc>Implement encoders and decoders for more font-related entities</short_desc>
          <delta_ts>2020-01-09 13:56:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1604243</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-01-08 13:14:12 -0800</bug_when>
    <thetext>• FontDescription
• FontSelectionRange
• FontSelectionValue
• FontTaggedSetting&lt;T&gt;
• FontTaggedSettings&lt;T&gt;
• FontSelectionSpecifiedCapabilities</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604253</commentid>
    <comment_count>1</comment_count>
      <attachid>387132</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-01-08 13:28:02 -0800</bug_when>
    <thetext>Created attachment 387132
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604706</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-01-09 10:34:38 -0800</bug_when>
    <thetext>Not sure if you actually wanted review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604770</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-01-09 12:17:53 -0800</bug_when>
    <thetext>(In reply to Dean Jackson from comment #2)
&gt; Not sure if you actually wanted review.

I do now :)

(Also, thanks!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604835</commentid>
    <comment_count>4</comment_count>
      <attachid>387132</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-09 13:56:09 -0800</bug_when>
    <thetext>Comment on attachment 387132
WIP

Clearing flags on attachment: 387132

Committed r254295: &lt;https://trac.webkit.org/changeset/254295&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604836</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-09 13:56:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387132</attachid>
            <date>2020-01-08 13:28:02 -0800</date>
            <delta_ts>2020-01-09 13:56:09 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-205952-20200108132800.patch</filename>
            <type>text/plain</type>
            <size>18404</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGYwNGNlNTg1YWVhNDUz
ZTY4YjIxNDUwZWY3MzVmMzFhMDBmYTE2Zi4uNzlhN2RjNjJhZWRiZTdlMWI2MTc5OGExNmYyZjYw
NTA0MThjN2JkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIwLTAxLTA4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBl
bmNvZGVycyBhbmQgZGVjb2RlcnMgZm9yIG1vcmUgZm9udC1yZWxhdGVkIGVudGl0aWVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU5NTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgZW5j
b2RlL2RlY29kZSB0ZW1wbGF0ZSBtZXRob2RzIGZvciBtb3JlIGZvbnQtcmVuZGVyaW5nLXJlbGF0
ZWQgb2JqZWN0cyBpbiBXZWJDb3JlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dERlc2NyaXB0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OmVuY29k
ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OmRlY29kZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdGlvbkFsZ29yaXRobS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udFNlbGVjdGlvblZhbHVlOjplbmNvZGUgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udFNlbGVjdGlvblZhbHVlOjpkZWNvZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udFNlbGVjdGlvblJhbmdlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udFNlbGVjdGlvblJhbmdlOjpkZWNvZGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXM6OmRlY29kZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFRhZ2dlZFNldHRpbmdzLmg6CisgICAgICAgIChXZWJD
b3JlOjpGb250VGFnZ2VkU2V0dGluZzxUPjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRUYWdnZWRTZXR0aW5nPFQ+OjpkZWNvZGUpOgorCisgICAgICAgIFdlIGNhc3QgZnJv
bSBgdWludDhfdGAgdG8gYGNoYXJgIGFuZCBiYWNrIHdoZW4gZW5jb2RpbmcgYW5kIGRlY29kaW5n
IGJlY2F1c2UgSVBDIGVuY29kZXJzIGFyZSBjdXJyZW50bHkgb25seQorICAgICAgICBhYmxlIHRv
IGVuY29kZSBgdWludDhfdGBzLCByYXRoZXIgdGhhbiBgY2hhcmBzLiBXZSBjb3VsZCBhbHRlcm5h
dGVseSBhZGRyZXNzIHRoaXMgaW4gYSBmdXR1cmUgcGF0Y2ggYnkgYWRkaW5nCisgICAgICAgIGVu
Y29kZS9kZWNvZGUgZnVuY3Rpb25zIGZvciBgY2hhcmAgdG8gYEVuY29kZXIuaGAuCisKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRUYWdnZWRTZXR0aW5nczxUPjo6ZW5jb2RlIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRUYWdnZWRTZXR0aW5nczxUPjo6ZGVjb2RlKToKKwogMjAyMC0wMS0w
OCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBw
cmVzcyAidW51c2VkIHBhcmFtZXRlciIgd2hlbiBpbmNsdWRpbmcgbGliV2ViUlRDIGhlYWRlcnMg
aW4gTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmgKaW5kZXggMTAyYTE1ODAxYzdhODJkMDVk
N2MxNTgxYWViZjE1NTQ2MTM0NmI3OS4uMWU2ZmM3NDZlOTI3MDBjYjgyNWIwNzEwYWEzZWJmMTMy
NjkwNmRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dERlc2NyaXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dERlc2NyaXB0aW9uLmgKQEAgLTEwNiw3ICsxMDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRP
cmllbnRhdGlvbihGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24pIHsgbV9vcmllbnRhdGlvbiA9
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihvcmllbnRhdGlvbik7IH0KICAgICB2b2lkIHNldE5vbkNK
S0dseXBoT3JpZW50YXRpb24oTm9uQ0pLR2x5cGhPcmllbnRhdGlvbiBvcmllbnRhdGlvbikgeyBt
X25vbkNKS0dseXBoT3JpZW50YXRpb24gPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ob3JpZW50YXRp
b24pOyB9CiAgICAgdm9pZCBzZXRXaWR0aFZhcmlhbnQoRm9udFdpZHRoVmFyaWFudCB3aWR0aFZh
cmlhbnQpIHsgbV93aWR0aFZhcmlhbnQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4od2lkdGhWYXJp
YW50KTsgfSAvLyBNYWtlIHN1cmUgbmV3IGNhbGxlcnMgb2YgdGhpcyBzeW5jIHdpdGggRm9udFBs
YXRmb3JtRGF0YTo6aXNGb3JUZXh0Q29tYmluZSgpIQotICAgIHZvaWQgc2V0TG9jYWxlKGNvbnN0
IEF0b21TdHJpbmcmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldExvY2FsZShjb25zdCBB
dG9tU3RyaW5nJik7CiAgICAgdm9pZCBzZXRGZWF0dXJlU2V0dGluZ3MoRm9udEZlYXR1cmVTZXR0
aW5ncyYmIHNldHRpbmdzKSB7IG1fZmVhdHVyZVNldHRpbmdzID0gV1RGTW92ZShzZXR0aW5ncyk7
IH0KICNpZiBFTkFCTEUoVkFSSUFUSU9OX0ZPTlRTKQogICAgIHZvaWQgc2V0VmFyaWF0aW9uU2V0
dGluZ3MoRm9udFZhcmlhdGlvblNldHRpbmdzJiYgc2V0dGluZ3MpIHsgbV92YXJpYXRpb25TZXR0
aW5ncyA9IFdURk1vdmUoc2V0dGluZ3MpOyB9CkBAIC0xMzMsNiArMTMzLDEyIEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBBdG9tU3RyaW5nIHBsYXRmb3JtUmVzb2x2ZUdlbmVyaWNGYW1pbHkoVVNj
cmlwdENvZGUsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgY29uc3QgQXRvbVN0cmluZyYgZmFt
aWx5TmFtZSk7CiAKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgorICAgIHZvaWQgZW5jb2Rl
KEVuY29kZXImKSBjb25zdDsKKworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CisgICAgc3Rh
dGljIE9wdGlvbmFsPEZvbnREZXNjcmlwdGlvbj4gZGVjb2RlKERlY29kZXImKTsKKwogcHJpdmF0
ZToKICAgICAvLyBGSVhNRTogSW52ZXN0aWdhdGUgbW92aW5nIHRoZXNlIGludG8gdGhlaXIgb3du
IG9iamVjdCBvbiB0aGUgaGVhcCAodG8gc2F2ZSBtZW1vcnkpLgogICAgIEZvbnRGZWF0dXJlU2V0
dGluZ3MgbV9mZWF0dXJlU2V0dGluZ3M7CkBAIC0yMDMsNCArMjA5LDI0MCBAQCBpbmxpbmUgYm9v
bCBGb250RGVzY3JpcHRpb246Om9wZXJhdG9yPT0oY29uc3QgRm9udERlc2NyaXB0aW9uJiBvdGhl
cikgY29uc3QKICAgICAgICAgJiYgbV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9PSBv
dGhlci5tX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOwogfQogCit0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPgordm9pZCBGb250RGVzY3JpcHRpb246OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAoreworICAgIGVuY29kZXIgPDwgZmVhdHVyZVNldHRpbmdzKCk7CisjaWYgRU5BQkxF
KFZBUklBVElPTl9GT05UUykKKyAgICBlbmNvZGVyIDw8IHZhcmlhdGlvblNldHRpbmdzKCk7Cisj
ZW5kaWYKKyAgICBlbmNvZGVyIDw8IGxvY2FsZSgpOworICAgIGVuY29kZXIgPDwgaXRhbGljKCk7
CisgICAgZW5jb2RlciA8PCBzdHJldGNoKCk7CisgICAgZW5jb2RlciA8PCB3ZWlnaHQoKTsKKyAg
ICBlbmNvZGVyIDw8IG1fY29tcHV0ZWRTaXplOworICAgIGVuY29kZXIgPDwgb3JpZW50YXRpb24o
KTsKKyAgICBlbmNvZGVyIDw8IG5vbkNKS0dseXBoT3JpZW50YXRpb24oKTsKKyAgICBlbmNvZGVy
IDw8IHdpZHRoVmFyaWFudCgpOworICAgIGVuY29kZXIgPDwgcmVuZGVyaW5nTW9kZSgpOworICAg
IGVuY29kZXIgPDwgdGV4dFJlbmRlcmluZ01vZGUoKTsKKyAgICBlbmNvZGVyIDw8IGZvbnRTeW50
aGVzaXMoKTsKKyAgICBlbmNvZGVyIDw8IHZhcmlhbnRDb21tb25MaWdhdHVyZXMoKTsKKyAgICBl
bmNvZGVyIDw8IHZhcmlhbnREaXNjcmV0aW9uYXJ5TGlnYXR1cmVzKCk7CisgICAgZW5jb2RlciA8
PCB2YXJpYW50SGlzdG9yaWNhbExpZ2F0dXJlcygpOworICAgIGVuY29kZXIgPDwgdmFyaWFudENv
bnRleHR1YWxBbHRlcm5hdGVzKCk7CisgICAgZW5jb2RlciA8PCB2YXJpYW50UG9zaXRpb24oKTsK
KyAgICBlbmNvZGVyIDw8IHZhcmlhbnRDYXBzKCk7CisgICAgZW5jb2RlciA8PCB2YXJpYW50TnVt
ZXJpY0ZpZ3VyZSgpOworICAgIGVuY29kZXIgPDwgdmFyaWFudE51bWVyaWNTcGFjaW5nKCk7Cisg
ICAgZW5jb2RlciA8PCB2YXJpYW50TnVtZXJpY0ZyYWN0aW9uKCk7CisgICAgZW5jb2RlciA8PCB2
YXJpYW50TnVtZXJpY09yZGluYWwoKTsKKyAgICBlbmNvZGVyIDw8IHZhcmlhbnROdW1lcmljU2xh
c2hlZFplcm8oKTsKKyAgICBlbmNvZGVyIDw8IHZhcmlhbnRBbHRlcm5hdGVzKCk7CisgICAgZW5j
b2RlciA8PCB2YXJpYW50RWFzdEFzaWFuVmFyaWFudCgpOworICAgIGVuY29kZXIgPDwgdmFyaWFu
dEVhc3RBc2lhbldpZHRoKCk7CisgICAgZW5jb2RlciA8PCB2YXJpYW50RWFzdEFzaWFuUnVieSgp
OworICAgIGVuY29kZXIgPDwgb3B0aWNhbFNpemluZygpOworICAgIGVuY29kZXIgPDwgZm9udFN0
eWxlQXhpcygpOworICAgIGVuY29kZXIgPDwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
KTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPEZvbnREZXNjcmlwdGlv
bj4gRm9udERlc2NyaXB0aW9uOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBGb250
RGVzY3JpcHRpb24gZm9udERlc2NyaXB0aW9uOworICAgIE9wdGlvbmFsPEZvbnRGZWF0dXJlU2V0
dGluZ3M+IGZlYXR1cmVTZXR0aW5nczsKKyAgICBkZWNvZGVyID4+IGZlYXR1cmVTZXR0aW5nczsK
KyAgICBpZiAoIWZlYXR1cmVTZXR0aW5ncykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsK
KworI2lmIEVOQUJMRShWQVJJQVRJT05fRk9OVFMpCisgICAgT3B0aW9uYWw8Rm9udFZhcmlhdGlv
blNldHRpbmdzPiB2YXJpYXRpb25TZXR0aW5nczsKKyAgICBkZWNvZGVyID4+IHZhcmlhdGlvblNl
dHRpbmdzOworICAgIGlmICghdmFyaWF0aW9uU2V0dGluZ3MpCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisjZW5kaWYKKworICAgIE9wdGlvbmFsPEF0b21TdHJpbmc+IGxvY2FsZTsKKyAg
ICBkZWNvZGVyID4+IGxvY2FsZTsKKyAgICBpZiAoIWxvY2FsZSkKKyAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPE9wdGlvbmFsPEZvbnRTZWxlY3Rpb25WYWx1ZT4+
IGl0YWxpYzsKKyAgICBkZWNvZGVyID4+IGl0YWxpYzsKKyAgICBpZiAoIWl0YWxpYykKKyAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPEZvbnRTZWxlY3Rpb25WYWx1
ZT4gc3RyZXRjaDsKKyAgICBkZWNvZGVyID4+IHN0cmV0Y2g7CisgICAgaWYgKCFzdHJldGNoKQor
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8Rm9udFNlbGVjdGlv
blZhbHVlPiB3ZWlnaHQ7CisgICAgZGVjb2RlciA+PiB3ZWlnaHQ7CisgICAgaWYgKCF3ZWlnaHQp
CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxmbG9hdD4gY29t
cHV0ZWRTaXplOworICAgIGRlY29kZXIgPj4gY29tcHV0ZWRTaXplOworICAgIGlmICghY29tcHV0
ZWRTaXplKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8Rm9u
dE9yaWVudGF0aW9uPiBvcmllbnRhdGlvbjsKKyAgICBkZWNvZGVyID4+IG9yaWVudGF0aW9uOwor
ICAgIGlmICghb3JpZW50YXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBPcHRpb25hbDxOb25DSktHbHlwaE9yaWVudGF0aW9uPiBub25DSktHbHlwaE9yaWVudGF0aW9u
OworICAgIGRlY29kZXIgPj4gbm9uQ0pLR2x5cGhPcmllbnRhdGlvbjsKKyAgICBpZiAoIW5vbkNK
S0dseXBoT3JpZW50YXRpb24pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBP
cHRpb25hbDxGb250V2lkdGhWYXJpYW50PiB3aWR0aFZhcmlhbnQ7CisgICAgZGVjb2RlciA+PiB3
aWR0aFZhcmlhbnQ7CisgICAgaWYgKCF3aWR0aFZhcmlhbnQpCisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxGb250UmVuZGVyaW5nTW9kZT4gcmVuZGVyaW5nTW9k
ZTsKKyAgICBkZWNvZGVyID4+IHJlbmRlcmluZ01vZGU7CisgICAgaWYgKCFyZW5kZXJpbmdNb2Rl
KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8VGV4dFJlbmRl
cmluZ01vZGU+IHRleHRSZW5kZXJpbmdNb2RlOworICAgIGRlY29kZXIgPj4gdGV4dFJlbmRlcmlu
Z01vZGU7CisgICAgaWYgKCF0ZXh0UmVuZGVyaW5nTW9kZSkKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPEZvbnRTeW50aGVzaXM+IGZvbnRTeW50aGVzaXM7Cisg
ICAgZGVjb2RlciA+PiBmb250U3ludGhlc2lzOworICAgIGlmICghZm9udFN5bnRoZXNpcykKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPEZvbnRWYXJpYW50TGln
YXR1cmVzPiB2YXJpYW50Q29tbW9uTGlnYXR1cmVzOworICAgIGRlY29kZXIgPj4gdmFyaWFudENv
bW1vbkxpZ2F0dXJlczsKKyAgICBpZiAoIXZhcmlhbnRDb21tb25MaWdhdHVyZXMpCisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxGb250VmFyaWFudExpZ2F0dXJl
cz4gdmFyaWFudERpc2NyZXRpb25hcnlMaWdhdHVyZXM7CisgICAgZGVjb2RlciA+PiB2YXJpYW50
RGlzY3JldGlvbmFyeUxpZ2F0dXJlczsKKyAgICBpZiAoIXZhcmlhbnREaXNjcmV0aW9uYXJ5TGln
YXR1cmVzKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8Rm9u
dFZhcmlhbnRMaWdhdHVyZXM+IHZhcmlhbnRIaXN0b3JpY2FsTGlnYXR1cmVzOworICAgIGRlY29k
ZXIgPj4gdmFyaWFudEhpc3RvcmljYWxMaWdhdHVyZXM7CisgICAgaWYgKCF2YXJpYW50SGlzdG9y
aWNhbExpZ2F0dXJlcykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlv
bmFsPEZvbnRWYXJpYW50TGlnYXR1cmVzPiB2YXJpYW50Q29udGV4dHVhbEFsdGVybmF0ZXM7Cisg
ICAgZGVjb2RlciA+PiB2YXJpYW50Q29udGV4dHVhbEFsdGVybmF0ZXM7CisgICAgaWYgKCF2YXJp
YW50Q29udGV4dHVhbEFsdGVybmF0ZXMpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICBPcHRpb25hbDxGb250VmFyaWFudFBvc2l0aW9uPiB2YXJpYW50UG9zaXRpb247CisgICAg
ZGVjb2RlciA+PiB2YXJpYW50UG9zaXRpb247CisgICAgaWYgKCF2YXJpYW50UG9zaXRpb24pCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxGb250VmFyaWFudENh
cHM+IHZhcmlhbnRDYXBzOworICAgIGRlY29kZXIgPj4gdmFyaWFudENhcHM7CisgICAgaWYgKCF2
YXJpYW50Q2FwcykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFs
PEZvbnRWYXJpYW50TnVtZXJpY0ZpZ3VyZT4gdmFyaWFudE51bWVyaWNGaWd1cmU7CisgICAgZGVj
b2RlciA+PiB2YXJpYW50TnVtZXJpY0ZpZ3VyZTsKKyAgICBpZiAoIXZhcmlhbnROdW1lcmljRmln
dXJlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8Rm9udFZh
cmlhbnROdW1lcmljU3BhY2luZz4gdmFyaWFudE51bWVyaWNTcGFjaW5nOworICAgIGRlY29kZXIg
Pj4gdmFyaWFudE51bWVyaWNTcGFjaW5nOworICAgIGlmICghdmFyaWFudE51bWVyaWNTcGFjaW5n
KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8Rm9udFZhcmlh
bnROdW1lcmljRnJhY3Rpb24+IHZhcmlhbnROdW1lcmljRnJhY3Rpb247CisgICAgZGVjb2RlciA+
PiB2YXJpYW50TnVtZXJpY0ZyYWN0aW9uOworICAgIGlmICghdmFyaWFudE51bWVyaWNGcmFjdGlv
bikKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPEZvbnRWYXJp
YW50TnVtZXJpY09yZGluYWw+IHZhcmlhbnROdW1lcmljT3JkaW5hbDsKKyAgICBkZWNvZGVyID4+
IHZhcmlhbnROdW1lcmljT3JkaW5hbDsKKyAgICBpZiAoIXZhcmlhbnROdW1lcmljT3JkaW5hbCkK
KyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPEZvbnRWYXJpYW50
TnVtZXJpY1NsYXNoZWRaZXJvPiB2YXJpYW50TnVtZXJpY1NsYXNoZWRaZXJvOworICAgIGRlY29k
ZXIgPj4gdmFyaWFudE51bWVyaWNTbGFzaGVkWmVybzsKKyAgICBpZiAoIXZhcmlhbnROdW1lcmlj
U2xhc2hlZFplcm8pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25h
bDxGb250VmFyaWFudEFsdGVybmF0ZXM+IHZhcmlhbnRBbHRlcm5hdGVzOworICAgIGRlY29kZXIg
Pj4gdmFyaWFudEFsdGVybmF0ZXM7CisgICAgaWYgKCF2YXJpYW50QWx0ZXJuYXRlcykKKyAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPEZvbnRWYXJpYW50RWFzdEFz
aWFuVmFyaWFudD4gdmFyaWFudEVhc3RBc2lhblZhcmlhbnQ7CisgICAgZGVjb2RlciA+PiB2YXJp
YW50RWFzdEFzaWFuVmFyaWFudDsKKyAgICBpZiAoIXZhcmlhbnRFYXN0QXNpYW5WYXJpYW50KQor
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8Rm9udFZhcmlhbnRF
YXN0QXNpYW5XaWR0aD4gdmFyaWFudEVhc3RBc2lhbldpZHRoOworICAgIGRlY29kZXIgPj4gdmFy
aWFudEVhc3RBc2lhbldpZHRoOworICAgIGlmICghdmFyaWFudEVhc3RBc2lhbldpZHRoKQorICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8Rm9udFZhcmlhbnRFYXN0
QXNpYW5SdWJ5PiB2YXJpYW50RWFzdEFzaWFuUnVieTsKKyAgICBkZWNvZGVyID4+IHZhcmlhbnRF
YXN0QXNpYW5SdWJ5OworICAgIGlmICghdmFyaWFudEVhc3RBc2lhblJ1YnkpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxGb250T3B0aWNhbFNpemluZz4gb3B0
aWNhbFNpemluZzsKKyAgICBkZWNvZGVyID4+IG9wdGljYWxTaXppbmc7CisgICAgaWYgKCFvcHRp
Y2FsU2l6aW5nKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8
Rm9udFN0eWxlQXhpcz4gZm9udFN0eWxlQXhpczsKKyAgICBkZWNvZGVyID4+IGZvbnRTdHlsZUF4
aXM7CisgICAgaWYgKCFmb250U3R5bGVBeGlzKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgT3B0aW9uYWw8QWxsb3dVc2VySW5zdGFsbGVkRm9udHM+IHNob3VsZEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzOworICAgIGRlY29kZXIgPj4gc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHM7CisgICAgaWYgKCFzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cykKKyAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRGZWF0dXJlU2V0
dGluZ3MoV1RGTW92ZSgqZmVhdHVyZVNldHRpbmdzKSk7CisjaWYgRU5BQkxFKFZBUklBVElPTl9G
T05UUykKKyAgICBmb250RGVzY3JpcHRpb24uc2V0VmFyaWF0aW9uU2V0dGluZ3MoV1RGTW92ZSgq
dmFyaWF0aW9uU2V0dGluZ3MpKTsKKyNlbmRpZgorICAgIGZvbnREZXNjcmlwdGlvbi5zZXRMb2Nh
bGUoKmxvY2FsZSk7CisgICAgZm9udERlc2NyaXB0aW9uLnNldEl0YWxpYygqaXRhbGljKTsKKyAg
ICBmb250RGVzY3JpcHRpb24uc2V0U3RyZXRjaCgqc3RyZXRjaCk7CisgICAgZm9udERlc2NyaXB0
aW9uLnNldFdlaWdodCgqd2VpZ2h0KTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0Q29tcHV0ZWRT
aXplKCpjb21wdXRlZFNpemUpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRPcmllbnRhdGlvbigq
b3JpZW50YXRpb24pOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXROb25DSktHbHlwaE9yaWVudGF0
aW9uKCpub25DSktHbHlwaE9yaWVudGF0aW9uKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0V2lk
dGhWYXJpYW50KCp3aWR0aFZhcmlhbnQpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRSZW5kZXJp
bmdNb2RlKCpyZW5kZXJpbmdNb2RlKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0VGV4dFJlbmRl
cmluZ01vZGUoKnRleHRSZW5kZXJpbmdNb2RlKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0Rm9u
dFN5bnRoZXNpcygqZm9udFN5bnRoZXNpcyk7CisgICAgZm9udERlc2NyaXB0aW9uLnNldFZhcmlh
bnRDb21tb25MaWdhdHVyZXMoKnZhcmlhbnRDb21tb25MaWdhdHVyZXMpOworICAgIGZvbnREZXNj
cmlwdGlvbi5zZXRWYXJpYW50RGlzY3JldGlvbmFyeUxpZ2F0dXJlcygqdmFyaWFudERpc2NyZXRp
b25hcnlMaWdhdHVyZXMpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRWYXJpYW50SGlzdG9yaWNh
bExpZ2F0dXJlcygqdmFyaWFudEhpc3RvcmljYWxMaWdhdHVyZXMpOworICAgIGZvbnREZXNjcmlw
dGlvbi5zZXRWYXJpYW50Q29udGV4dHVhbEFsdGVybmF0ZXMoKnZhcmlhbnRDb250ZXh0dWFsQWx0
ZXJuYXRlcyk7CisgICAgZm9udERlc2NyaXB0aW9uLnNldFZhcmlhbnRQb3NpdGlvbigqdmFyaWFu
dFBvc2l0aW9uKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0VmFyaWFudENhcHMoKnZhcmlhbnRD
YXBzKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0VmFyaWFudE51bWVyaWNGaWd1cmUoKnZhcmlh
bnROdW1lcmljRmlndXJlKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0VmFyaWFudE51bWVyaWNT
cGFjaW5nKCp2YXJpYW50TnVtZXJpY1NwYWNpbmcpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRW
YXJpYW50TnVtZXJpY0ZyYWN0aW9uKCp2YXJpYW50TnVtZXJpY0ZyYWN0aW9uKTsKKyAgICBmb250
RGVzY3JpcHRpb24uc2V0VmFyaWFudE51bWVyaWNPcmRpbmFsKCp2YXJpYW50TnVtZXJpY09yZGlu
YWwpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRWYXJpYW50TnVtZXJpY1NsYXNoZWRaZXJvKCp2
YXJpYW50TnVtZXJpY1NsYXNoZWRaZXJvKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0VmFyaWFu
dEFsdGVybmF0ZXMoKnZhcmlhbnRBbHRlcm5hdGVzKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0
VmFyaWFudEVhc3RBc2lhblZhcmlhbnQoKnZhcmlhbnRFYXN0QXNpYW5WYXJpYW50KTsKKyAgICBm
b250RGVzY3JpcHRpb24uc2V0VmFyaWFudEVhc3RBc2lhbldpZHRoKCp2YXJpYW50RWFzdEFzaWFu
V2lkdGgpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRWYXJpYW50RWFzdEFzaWFuUnVieSgqdmFy
aWFudEVhc3RBc2lhblJ1YnkpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRPcHRpY2FsU2l6aW5n
KCpvcHRpY2FsU2l6aW5nKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0Rm9udFN0eWxlQXhpcygq
Zm9udFN0eWxlQXhpcyk7CisgICAgZm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzKCpzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CisKKyAgICByZXR1
cm4gZm9udERlc2NyaXB0aW9uOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0aW9uQWxnb3JpdGhtLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0aW9uQWxnb3JpdGhtLmgKaW5kZXggNmIxMWI5
YTMxODhlYzVhNDlkNTIwOTFhZTcxM2JkMWQ1ZjI0OGJkNy4uZTYyMzM1MDRkOTMxMDEzNDIxMjJi
N2JjMmM3MDNmZTUyY2Y3NGFhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udFNlbGVjdGlvbkFsZ29yaXRobS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rpb25BbGdvcml0aG0uaApAQCAtNjYsNiArNjYsMTIg
QEAgcHVibGljOgogCiAgICAgY29uc3RleHByIEJhY2tpbmdUeXBlIHJhd1ZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gbV9iYWNraW5nOyB9CiAKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgorICAg
IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKworICAgIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+CisgICAgc3RhdGljIE9wdGlvbmFsPEZvbnRTZWxlY3Rpb25WYWx1ZT4gZGVjb2RlKERlY29k
ZXImKTsKKwogcHJpdmF0ZToKICAgICBlbnVtIGNsYXNzIFJhd1RhZyB7IFJhd1RhZyB9OwogICAg
IGNvbnN0ZXhwciBGb250U2VsZWN0aW9uVmFsdWUoaW50LCBSYXdUYWcpOwpAQCAtNzQsNiArODAs
MjUgQEAgcHJpdmF0ZToKICAgICBCYWNraW5nVHlwZSBtX2JhY2tpbmcgeyAwIH07CiB9OwogCit0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgordm9pZCBGb250U2VsZWN0aW9uVmFsdWU6OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgbV9iYWNraW5nOworfQor
Cit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8Rm9udFNlbGVjdGlvblZhbHVlPiBG
b250U2VsZWN0aW9uVmFsdWU6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlv
bmFsPEZvbnRTZWxlY3Rpb25WYWx1ZTo6QmFja2luZ1R5cGU+IGJhY2tpbmc7CisgICAgZGVjb2Rl
ciA+PiBiYWNraW5nOworICAgIGlmICghYmFja2luZykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgIEZvbnRTZWxlY3Rpb25WYWx1ZSByZXN1bHQ7CisgICAgcmVzdWx0Lm1fYmFj
a2luZyA9ICpiYWNraW5nOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIGNvbnN0ZXhwciBGb250
U2VsZWN0aW9uVmFsdWU6OkZvbnRTZWxlY3Rpb25WYWx1ZShpbnQgeCkKICAgICA6IG1fYmFja2lu
Zyh4ICogZnJhY3Rpb25hbEVudHJvcHkpCiB7CkBAIC0zMTcsMTAgKzM0MiwzOSBAQCBzdHJ1Y3Qg
Rm9udFNlbGVjdGlvblJhbmdlIHsKICAgICAgICAgcmV0dXJuIG1pbmltdW0ucmF3VmFsdWUoKSA8
PCAxNiB8IG1heGltdW0ucmF3VmFsdWUoKTsKICAgICB9CiAKKyAgICB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPgorICAgIHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKworICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+CisgICAgc3RhdGljIE9wdGlvbmFsPEZvbnRTZWxlY3Rpb25SYW5nZT4g
ZGVjb2RlKERlY29kZXImKTsKKwogICAgIFZhbHVlIG1pbmltdW0geyAxIH07CiAgICAgVmFsdWUg
bWF4aW11bSB7IDAgfTsKIH07CiAKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIEZvbnRT
ZWxlY3Rpb25SYW5nZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5j
b2RlciA8PCBtaW5pbXVtOworICAgIGVuY29kZXIgPDwgbWF4aW11bTsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KK09wdGlvbmFsPEZvbnRTZWxlY3Rpb25SYW5nZT4gRm9udFNlbGVjdGlv
blJhbmdlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBPcHRpb25hbDxGb250U2Vs
ZWN0aW9uUmFuZ2U6OlZhbHVlPiBtaW5pbXVtOworICAgIGRlY29kZXIgPj4gbWluaW11bTsKKyAg
ICBpZiAoIW1pbmltdW0pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRp
b25hbDxGb250U2VsZWN0aW9uUmFuZ2U6OlZhbHVlPiBtYXhpbXVtOworICAgIGRlY29kZXIgPj4g
bWF4aW11bTsKKyAgICBpZiAoIW1heGltdW0pCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICByZXR1cm4ge3sgKm1pbmltdW0sICptYXhpbXVtIH19OworfQorCiBpbmxpbmUgdm9p
ZCBhZGQoSGFzaGVyJiBoYXNoZXIsIGNvbnN0IEZvbnRTZWxlY3Rpb25SYW5nZSYgcmFuZ2UpCiB7
CiAgICAgYWRkKGhhc2hlciwgcmFuZ2UudW5pcXVlVmFsdWUoKSk7CkBAIC00NDUsMTEgKzQ5OSw0
NiBAQCBzdHJ1Y3QgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyB7CiAgICAgICAg
IHJldHVybiBzbG9wZS52YWx1ZU9yKFJhbmdlIHsgbm9ybWFsSXRhbGljVmFsdWUoKSB9KTsKICAg
ICB9CiAKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgorICAgIHZvaWQgZW5jb2RlKEVuY29k
ZXImKSBjb25zdDsKKworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CisgICAgc3RhdGljIE9w
dGlvbmFsPEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXM+IGRlY29kZShEZWNvZGVy
Jik7CisKICAgICBPcHRpb25hbFJhbmdlIHdlaWdodDsKICAgICBPcHRpb25hbFJhbmdlIHdpZHRo
OwogICAgIE9wdGlvbmFsUmFuZ2Ugc2xvcGU7CiB9OwogCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
Pgordm9pZCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzOjplbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHdlaWdodDsKKyAgICBlbmNvZGVy
IDw8IHdpZHRoOworICAgIGVuY29kZXIgPDwgc2xvcGU7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERl
Y29kZXI+CitPcHRpb25hbDxGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzPiBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikK
K3sKKyAgICBPcHRpb25hbDxPcHRpb25hbFJhbmdlPiB3ZWlnaHQ7CisgICAgZGVjb2RlciA+PiB3
ZWlnaHQ7CisgICAgaWYgKCF3ZWlnaHQpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICBPcHRpb25hbDxPcHRpb25hbFJhbmdlPiB3aWR0aDsKKyAgICBkZWNvZGVyID4+IHdpZHRo
OworICAgIGlmICghd2lkdGgpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBP
cHRpb25hbDxPcHRpb25hbFJhbmdlPiBzbG9wZTsKKyAgICBkZWNvZGVyID4+IHNsb3BlOworICAg
IGlmICghc2xvcGUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4g
e3sgKndlaWdodCwgKndpZHRoLCAqc2xvcGUgfX07Cit9CisKIGNvbnN0ZXhwciBib29sIG9wZXJh
dG9yPT0oY29uc3QgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyYgYSwgY29uc3Qg
Rm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyYgYikKIHsKICAgICByZXR1cm4gYS50
aWVkKCkgPT0gYi50aWVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250VGFnZ2VkU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRUYWdnZWRTZXR0aW5ncy5oCmluZGV4IGJmNjA5N2FhN2YyOWI2MjM5MDlhYjJj
MWVjYzVmZGY4NjZjMWI0NTYuLmQ2OWVkYWNjZmUyNGM5MGEyYTVkMmU2NTcyMmZmMDRjMTgwZDNh
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRUYWdn
ZWRTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRU
YWdnZWRTZXR0aW5ncy5oCkBAIC03MCw2ICs3MCw5IEBAIHB1YmxpYzoKICAgICBUIHZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQogICAgIGJvb2wgZW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIHZhbHVlKCk7IH0KIAorICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2Rl
KEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0
aW9uYWw8Rm9udFRhZ2dlZFNldHRpbmc8VD4+IGRlY29kZShEZWNvZGVyJik7CisKIHByaXZhdGU6
CiAgICAgRm9udFRhZyBtX3RhZzsKICAgICBUIG1fdmFsdWU7CkBAIC0xMDEsNiArMTA0LDU0IEBA
IGJvb2wgRm9udFRhZ2dlZFNldHRpbmc8VD46Om9wZXJhdG9yPChjb25zdCBGb250VGFnZ2VkU2V0
dGluZzxUPiYgb3RoZXIpIGNvbnN0CiAgICAgcmV0dXJuIChtX3RhZyA8IG90aGVyLm1fdGFnKSB8
fCAobV90YWcgPT0gb3RoZXIubV90YWcgJiYgbV92YWx1ZSA8IG90aGVyLm1fdmFsdWUpOwogfQog
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3RlbXBsYXRlIDxjbGFzcyBFbmNvZGVyPgordm9pZCBG
b250VGFnZ2VkU2V0dGluZzxUPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7Cisg
ICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1aW50OF90PihtX3RhZ1swXSk7CisgICAgZW5jb2Rl
ciA8PCBzdGF0aWNfY2FzdDx1aW50OF90PihtX3RhZ1sxXSk7CisgICAgZW5jb2RlciA8PCBzdGF0
aWNfY2FzdDx1aW50OF90PihtX3RhZ1syXSk7CisgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDx1
aW50OF90PihtX3RhZ1szXSk7CisgICAgZW5jb2RlciA8PCBtX3ZhbHVlOworfQorCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KK3RlbXBsYXRlIDxjbGFzcyBEZWNvZGVyPgorT3B0aW9uYWw8Rm9udFRh
Z2dlZFNldHRpbmc8VD4+IEZvbnRUYWdnZWRTZXR0aW5nPFQ+OjpkZWNvZGUoRGVjb2RlciYgZGVj
b2RlcikKK3sKKyAgICBPcHRpb25hbDx1aW50OF90PiBjaGFyMDsKKyAgICBkZWNvZGVyID4+IGNo
YXIwOworICAgIGlmICghY2hhcjApCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBPcHRpb25hbDx1aW50OF90PiBjaGFyMTsKKyAgICBkZWNvZGVyID4+IGNoYXIxOworICAgIGlm
ICghY2hhcjEpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDx1
aW50OF90PiBjaGFyMjsKKyAgICBkZWNvZGVyID4+IGNoYXIyOworICAgIGlmICghY2hhcjIpCisg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDx1aW50OF90PiBjaGFy
MzsKKyAgICBkZWNvZGVyID4+IGNoYXIzOworICAgIGlmICghY2hhcjMpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisKKyAgICBPcHRpb25hbDxUPiB2YWx1ZTsKKyAgICBkZWNvZGVyID4+
IHZhbHVlOworICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICByZXR1cm4gRm9udFRhZ2dlZFNldHRpbmc8VD4oe3sKKyAgICAgICAgc3RhdGljX2Nhc3Q8
Y2hhcj4oKmNoYXIwKSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8Y2hhcj4oKmNoYXIxKSwKKyAgICAg
ICAgc3RhdGljX2Nhc3Q8Y2hhcj4oKmNoYXIyKSwKKyAgICAgICAgc3RhdGljX2Nhc3Q8Y2hhcj4o
KmNoYXIzKQorICAgIH19LCAqdmFsdWUpOworfQorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIGNs
YXNzIEZvbnRUYWdnZWRTZXR0aW5ncyB7CiBwdWJsaWM6CkBAIC0xMTgsNiArMTY5LDkgQEAgcHVi
bGljOgogCiAgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0OwogCisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBPcHRpb25hbDxGb250VGFnZ2VkU2V0dGluZ3M8VD4+IGRlY29kZShE
ZWNvZGVyJik7CisKIHByaXZhdGU6CiAgICAgVmVjdG9yPEZvbnRUYWdnZWRTZXR0aW5nPFQ+PiBt
X2xpc3Q7CiB9OwpAQCAtMTM2LDYgKzE5MCwyNyBAQCB2b2lkIEZvbnRUYWdnZWRTZXR0aW5nczxU
Pjo6aW5zZXJ0KEZvbnRUYWdnZWRTZXR0aW5nPFQ+JiYgZmVhdHVyZSkKICAgICBtX2xpc3QuaW5z
ZXJ0KGksIFdURk1vdmUoZmVhdHVyZSkpOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3Rl
bXBsYXRlIDxjbGFzcyBFbmNvZGVyPgordm9pZCBGb250VGFnZ2VkU2V0dGluZ3M8VD46OmVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgbV9saXN0OworfQor
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3RlbXBsYXRlIDxjbGFzcyBEZWNvZGVyPgorT3B0aW9u
YWw8Rm9udFRhZ2dlZFNldHRpbmdzPFQ+PiBGb250VGFnZ2VkU2V0dGluZ3M8VD46OmRlY29kZShE
ZWNvZGVyJiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPFZlY3RvcjxGb250VGFnZ2VkU2V0dGlu
ZzxUPj4+IGxpc3Q7CisgICAgZGVjb2RlciA+PiBsaXN0OworICAgIGlmICghbGlzdCkKKyAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIEZvbnRUYWdnZWRTZXR0aW5ncyByZXN1bHQ7
CisgICAgcmVzdWx0Lm1fbGlzdCA9IFdURk1vdmUoKmxpc3QpOworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKIHR5cGVkZWYgRm9udFRhZ2dlZFNldHRpbmc8aW50PiBGb250RmVhdHVyZTsKIHR5cGVk
ZWYgRm9udFRhZ2dlZFNldHRpbmdzPGludD4gRm9udEZlYXR1cmVTZXR0aW5nczsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>