<?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>144305</bug_id>
          
          <creation_ts>2015-04-27 19:16:54 -0700</creation_ts>
          <short_desc>Implement font-synthesis CSS property</short_desc>
          <delta_ts>2015-04-28 11:42:08 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</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>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1089341</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-27 19:16:54 -0700</bug_when>
    <thetext>Implement font-synthesis CSS property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089378</commentid>
    <comment_count>1</comment_count>
      <attachid>251818</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-27 20:57:22 -0700</bug_when>
    <thetext>Created attachment 251818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089379</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-27 20:58:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/20692791&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089381</commentid>
    <comment_count>3</comment_count>
      <attachid>251819</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-27 21:08:55 -0700</bug_when>
    <thetext>Created attachment 251819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089422</commentid>
    <comment_count>4</comment_count>
      <attachid>251819</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2015-04-27 23:37:30 -0700</bug_when>
    <thetext>Comment on attachment 251819
Patch

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

&gt; Source/WebCore/platform/graphics/ios/FontCacheIOS.mm:698
&gt; +    bool syntheticOblique = (fontDescription.fontSynthesis &amp; FontSynthesisStyle) &amp;&amp; (traits &amp; kCTFontTraitItalic) &amp;&amp; !(actualTraits &amp; kCTFontTraitItalic) &amp;&amp; !isAppleColorEmoji;

Missing ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089619</commentid>
    <comment_count>5</comment_count>
      <attachid>251863</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-28 11:02:35 -0700</bug_when>
    <thetext>Created attachment 251863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089643</commentid>
    <comment_count>6</comment_count>
      <attachid>251863</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-28 11:25:15 -0700</bug_when>
    <thetext>Comment on attachment 251863
Patch

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

r=me, looks good.

&gt; Source/WebCore/css/StyleBuilderConverter.h:1224
&gt; +    for (CSSValue&amp; i : downcast&lt;CSSValueList&gt;(value)) {

&apos;i&apos; is kind of a weird name for a CSSValue&amp; :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089648</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-28 11:38:14 -0700</bug_when>
    <thetext>Committed r183494: &lt;http://trac.webkit.org/changeset/183494&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251818</attachid>
            <date>2015-04-27 20:57:22 -0700</date>
            <delta_ts>2015-04-27 21:08:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144305-20150427205614.patch</filename>
            <type>text/plain</type>
            <size>29119</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzcyMzIxZGQxMzU2ZjNk
MzcwNTVmMjlhNzE2NWVjYTMyMjUwMWUyYS4uODYzNDRmMGU3NjJmNmNkZjk1NjYzNzFkODEyMmRm
NTgxYmQwMmFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU5IEBACiAyMDE1LTA0LTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKKyAgICAgICAgW01hY10gW2lP
U10gSW1wbGVtZW50IGZvbnQtc3ludGhlc2lzIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MzA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBmYWlybHkgc3Ry
YWlnaHRmb3J3YXJkLCB0aG91Z2ggdGhlcmUgYXJlIHNvbWUgcGFydGljdWxhciBwaWVjZXMgdG8g
dGhlIHBhdGNoIGxpc3RlZCBiZWxvdy4KKworICAgICAgICBUaGUgaW1wbGVtZW50YXRpb24gb2Yg
dGhpcyBmb250LXN5bnRoZXNpcyBDU1MgcHJvcGVydHkgbGl2ZXMgaW5zaWRlIEZvbnRDYWNoZUlP
UyBhbmQgRm9udENhY2hlTWFjLiBXZSBhbHJlYWR5CisgICAgICAgIGRldGVybWluZSBpZiB3ZSBz
aG91bGQgc3ludGhlc2l6ZSBib2xkIGFuZCBpdGFsaWNzLCB0aGlzIENTUyBwcm9wZXJ0eSBzaW1w
bHkgZ3VhcmRzIHRoYXQgZGVjaXNpb24uCisKKyAgICAgICAgQmVjYXVzZSBGb250Q2FjaGUgaW50
ZXJhY3RzIHdpdGggRm9udERlc2NyaXB0aW9ucyBhbmQgbm90IFJlbmRlclN0eWxlcywgdGhpcyBw
YXRjaCBtb3ZlcyB0aGUgc291cmNlIG9mIHRydXRoCisgICAgICAgIHJlZ2FyZGluZyBmb250LXN5
bnRoZXNpcyBpbnRvIEZvbnREZXNjcmlwdGlvbiAoZnJvbSBSZW5kZXJTdHlsZSkuCisKKyAgICAg
ICAgVGVzdDogZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVzaXMuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46IE1hcmsgZm9udC1zeW50aGVzaXMgYXMgYSBGb250UHJv
cGVydHksIHdoaWNoIG1lYW5zIHRoYXQgdGhlIHJlbGV2YW50IHN0YXRlIGlzIGtlcHQKKyAgICAg
ICAgaW5zaWRlIEZvbnREZXNjcmlwdGlvbi4gVGhpcyBhbHNvIG1lYW5zIHRoYXQgdGhlIHByb3Bl
cnR5IG11c3QgYmUgbWFya2VkIGFzIGEgImhpZ2ggcHJpb3JpdHkiIHByb3BlcnR5LCB3aGljaAor
ICAgICAgICBpcyBlbmZvcmNlZCBieSBpdCBleGlzdGluZyBhdCB0aGUgdG9wIG9mIENTU1Byb3Bl
cnR5TmFtZXMuaW4uIFRoZSBtb3ZlIHRvIEZvbnREZXNjcmlwdGlvbiBtdXN0IGJlIGRvbmUgc28g
dGhhdAorICAgICAgICBGb250Q2FjaGVJT1MgYW5kIEZvbnRDYWNoZU1hYyBoYXZlIGFjY2VzcyB0
byB0aGUgc2F2ZWQgc3RhdGUuCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmb250U3ludGhlc2lzRnJvbVN0eWxlKTogVXBk
YXRlIHRvIGxvb2sgZm9yIHN0YXRlIGluIEZvbnREZXNjcmlwdGlvbiBpbnN0ZWFkIG9mIFJlbmRl
clN0eWxlLgorICAgICAgICAqIGNzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NTZWdtZW50ZWRGb250RmFjZTo6Zm9udFJhbmdlcyk6IEd1YXJkIHRoZSBz
eW50aGV0aWMgYm9sZCBhbmQgc3ludGhpYyBpdGFsaWMgZGVjaXNpb24gb24gdGhlIG5ldworICAg
ICAgICBGb250U3ludGhlc2lzIHN0YXRlIGluc2lkZSBGb250RGVzY3JpcHRpb24uCisgICAgICAg
ICogY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVC
dWlsZGVyQ29udmVydGVyOjpjb252ZXJ0Rm9udFN5bnRoZXNpcyk6IE1vdmVkIGZyb20KKyAgICAg
ICAgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFN5bnRoZXNpcygpLiBUaGlzIGlz
IGJlY2F1c2Ugb2YgdGhlIHVwZGF0ZWQgb3B0aW9ucyBpbnNpZGUgb2YKKyAgICAgICAgQ1NTUHJv
cGVydHlOYW1lcy5pbgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRTeW50aGVzaXMp
OiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpGb250RGVzY3JpcHRpb24pOiBN
b3ZlZCBmcm9tIFJlbmRlclN0eWxlLgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9u
Ojpmb250U3ludGhlc2lzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRp
b246OnNldEZvbnRTeW50aGVzaXMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnREZXNj
cmlwdGlvbjo6aW5pdGlhbEZvbnRTeW50aGVzaXMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OkZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PSk6IFVwZGF0ZSB0byBpbmNsdWRlIG5ldyBzdGF0
ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnREZXNjcmlwdGlvbkZvbnREYXRhQ2FjaGVLZXk6Om1ha2VGbGFnS2V5KTogTWFr
ZSBGb250RGVzY3JpcHRpb24gaGFzaGVzIHNlbnNpdGl2ZSB0byB0aGUgbmV3CisgICAgICAgIHN0
YXRlIGluc2lkZSBGb250RGVzY3JpcHRpb24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
aW9zL0ZvbnRDYWNoZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Y3JlYXRl
Rm9udFBsYXRmb3JtRGF0YSk6IEd1YXJkIHRoZSBzeW50aGV0aWMgYm9sZCBhbmQgc3ludGhldGlj
IGl0YWxpYyBkZWNpc2lvbiBvbiB0aGUKKyAgICAgICAgbmV3IEZvbnRTeW50aGVzaXMgc3RhdGUg
aW5zaWRlIEZvbnREZXNjcmlwdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udENhY2hlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpjcmVhdGVGb250
UGxhdGZvcm1EYXRhKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RmxhZ3Mu
aDogTW92ZSBGb250U3ludGhlc2lzIHR5cGUgZnJvbSBSZW5kZXJTdHlsZUNvbnN0YW50cy4KKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN0eWxlOjpmb250U3ludGhlc2lzKTogTW92ZWQgdG8gRm9udERlc2NyaXB0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEZvbnRTeW50aGVzaXMpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjppbml0aWFsRm9udFN5bnRoZXNpcyk6IERp
dHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOiBN
b3ZlZCBGb250U3ludGhlc2lzIHR5cGUgdG8gVGV4dEZsYWdzLgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6IFJlbW92ZSBzdGF0ZSByZWdhcmRpbmcg
Zm9udCBzeW50aGVzaXMgKG1vdmVkIHRvIEZvbnREZXNjcmlwdGlvbikKKworMjAxNS0wNC0yNyAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCiAgICAgICAgIENvbnNv
bGlkYXRlIG9uZS1saW5lIGZsYWctcmVsYXRlZCBoZWFkZXIgZmlsZXMgaW50byBUZXh0RmxhZ3Mu
aAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0Mjk1
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggMzFmZjBhODU4ZmM0OGFiNDQ4NjY5ZWU3MmNlYmU2NWFiZDE0MDk2Ni4uOThl
YTdmN2NmYjkyMGZlNTYwZmRhNWEzMWM2OTRkZTYyZTIzM2NhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE2MTMsMTMg
KzE2MTMsMTMgQEAgc3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gZm9udFdlaWdodEZyb21T
dHlsZShSZW5kZXJTdHlsZSogc3R5bGUpCiAKIHN0YXRpYyBSZWY8Q1NTVmFsdWU+IGZvbnRTeW50
aGVzaXNGcm9tU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlKQogewotICAgIGlmIChzdHlsZS5mb250
U3ludGhlc2lzKCkgPT0gRm9udFN5bnRoZXNpc05vbmUpCisgICAgaWYgKHN0eWxlLmZvbnREZXNj
cmlwdGlvbigpLmZvbnRTeW50aGVzaXMoKSA9PSBGb250U3ludGhlc2lzTm9uZSkKICAgICAgICAg
cmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUp
OwogCiAgICAgYXV0byBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgp
OwotICAgIGlmIChzdHlsZS5mb250U3ludGhlc2lzKCkgJiBGb250U3ludGhlc2lzU3R5bGUpCisg
ICAgaWYgKHN0eWxlLmZvbnREZXNjcmlwdGlvbigpLmZvbnRTeW50aGVzaXMoKSAmIEZvbnRTeW50
aGVzaXNTdHlsZSkKICAgICAgICAgbGlzdC5nZXQoKS5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3Jl
YXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlU3R5bGUpKTsKLSAgICBpZiAoc3R5bGUuZm9udFN5
bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkKKyAgICBpZiAoc3R5bGUuZm9udERlc2Ny
aXB0aW9uKCkuZm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkKICAgICAgICAg
bGlzdC5nZXQoKS5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlV2VpZ2h0KSk7CiAgICAgcmV0dXJuIFJlZjxDU1NWYWx1ZT4obGlzdC5nZXQoKSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDA3NDJmZGM5MjM4NzI5
NjBkYmEzN2VkNWU1ZDE1NDUzYTc0ZWFjODEuLjA1MzZkZTM1NDA4YTM2YzIyMGQzZGUzNzUwZjgz
ZWZmOTI3YTViMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0x
MTgsNiArMTE4LDcgQEAgdGV4dC1yZW5kZXJpbmcgW0luaGVyaXRlZCwgRm9udFByb3BlcnR5LCBO
YW1lRm9yTWV0aG9kcz1UZXh0UmVuZGVyaW5nTW9kZV0KIC13ZWJraXQtd3JpdGluZy1tb2RlIFtJ
bmhlcml0ZWQsIEN1c3RvbT1WYWx1ZV0KIC1lcHViLXdyaXRpbmctbW9kZSA9IC13ZWJraXQtd3Jp
dGluZy1tb2RlCiB6b29tIFtDdXN0b209QWxsXQorZm9udC1zeW50aGVzaXMgW0luaGVyaXRlZCwg
Rm9udFByb3BlcnR5LCBDb252ZXJ0ZXI9Rm9udFN5bnRoZXNpc10KIAogLy8gS2VlcCB0aGlzIGlu
IGJldHdlZW4gdGhlIGhpZ2hlc3QgcHJpb3JpdHkgcHJvcHMgYW5kIHRoZSBsb3dlciBvbmVzLgog
LXdlYmtpdC1ydWJ5LXBvc2l0aW9uIFtJbmhlcml0ZWRdCkBAIC0yMjMsNyArMjI0LDYgQEAgZmxv
b2QtY29sb3IgW1NWRywgQ29udmVydGVyPVNWR0NvbG9yXQogZmxvb2Qtb3BhY2l0eSBbU1ZHLCBD
b252ZXJ0ZXI9T3BhY2l0eV0KIGZvbnQgW0luaGVyaXRlZCwgTG9uZ2hhbmRzPWZvbnQtZmFtaWx5
fGZvbnQtc2l6ZXxmb250LXN0eWxlfGZvbnQtdmFyaWFudHxmb250LXdlaWdodHxsaW5lLWhlaWdo
dF0KIGZvbnQtc3RyZXRjaCBbU2tpcEJ1aWxkZXJdCi1mb250LXN5bnRoZXNpcyBbSW5oZXJpdGVk
LCBDdXN0b209VmFsdWVdCiBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIFtJbmhlcml0ZWQs
IFNWRywgQ29udmVydGVyPUdseXBoT3JpZW50YXRpb25dCiBnbHlwaC1vcmllbnRhdGlvbi12ZXJ0
aWNhbCBbSW5oZXJpdGVkLCBTVkcsIENvbnZlcnRlcj1HbHlwaE9yaWVudGF0aW9uT3JBdXRvXQog
aGVpZ2h0IFtJbml0aWFsPWluaXRpYWxTaXplLCBDb252ZXJ0ZXI9TGVuZ3RoU2l6aW5nXQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKaW5kZXggZjhjNGYzZjMy
OWQ1N2YzYjZlOGEzYjMyODFkZThlMDc3YjVhMWYzZS4uMTc0Y2UzOGI3NGNmOTdiMzlmZjRiOTM0
YmI0Y2FiMDYxNjVmYzg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21l
bnRlZEZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9u
dEZhY2UuY3BwCkBAIC0xMTMsNyArMTEzLDkgQEAgRm9udFJhbmdlcyBDU1NTZWdtZW50ZWRGb250
RmFjZTo6Zm9udFJhbmdlcyhjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGkKICAg
ICAgICAgcmV0dXJuIEZvbnRSYW5nZXMoKTsKIAogICAgIEZvbnRUcmFpdHNNYXNrIGRlc2lyZWRU
cmFpdHNNYXNrID0gZm9udERlc2NyaXB0aW9uLnRyYWl0c01hc2soKTsKLSAgICB1bnNpZ25lZCBo
YXNoS2V5ID0gKChmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKSArIDEpIDw8IChG
b250VHJhaXRzTWFza1dpZHRoICsgRm9udFdpZHRoVmFyaWFudFdpZHRoICsgMSkpCisgICAgLy8g
RklYTUU6IFVuaWZ5IHRoaXMgZnVuY3Rpb24gd2l0aCBGb250RGVzY3JpcHRpb25Gb250RGF0YUNh
Y2hlS2V5IGluIEZvbnRDYWNoZS5oIChPciBqdXN0IHVzZSB0aGUgcmVndWxhciBGb250Q2FjaGUg
aW5zdGVhZCBvZiB0aGlzKQorICAgIHVuc2lnbmVkIGhhc2hLZXkgPSAoKGZvbnREZXNjcmlwdGlv
bi5jb21wdXRlZFBpeGVsU2l6ZSgpICsgMSkgPDwgKEZvbnRUcmFpdHNNYXNrV2lkdGggKyBGb250
V2lkdGhWYXJpYW50V2lkdGggKyBGb250U3ludGhlc2lzV2lkdGggKyAxKSkKKyAgICAgICAgfCAo
Zm9udERlc2NyaXB0aW9uLmZvbnRTeW50aGVzaXMoKSA8PCAoRm9udFRyYWl0c01hc2tXaWR0aCAr
IEZvbnRXaWR0aFZhcmlhbnRXaWR0aCArIDEpKQogICAgICAgICB8ICgoZm9udERlc2NyaXB0aW9u
Lm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwgPyAxIDogMCkgPDwgKEZvbnRUcmFpdHNNYXNrV2lk
dGggKyBGb250V2lkdGhWYXJpYW50V2lkdGgpKQogICAgICAgICB8IGZvbnREZXNjcmlwdGlvbi53
aWR0aFZhcmlhbnQoKSA8PCBGb250VHJhaXRzTWFza1dpZHRoCiAgICAgICAgIHwgZGVzaXJlZFRy
YWl0c01hc2s7CkBAIC0xMjUsOSArMTI3LDExIEBAIEZvbnRSYW5nZXMgQ1NTU2VnbWVudGVkRm9u
dEZhY2U6OmZvbnRSYW5nZXMoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpCiAg
ICAgICAgIGZvciAoYXV0byYgZmFjZSA6IG1fZm9udEZhY2VzKSB7CiAgICAgICAgICAgICBpZiAo
IWZhY2UtPmlzVmFsaWQoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAg
ICAgRm9udFRyYWl0c01hc2sgdHJhaXRzTWFzayA9IGZhY2UtPnRyYWl0c01hc2soKTsKLSAgICAg
ICAgICAgIGJvb2wgc3ludGhldGljQm9sZCA9ICEodHJhaXRzTWFzayAmIChGb250V2VpZ2h0NjAw
TWFzayB8IEZvbnRXZWlnaHQ3MDBNYXNrIHwgRm9udFdlaWdodDgwME1hc2sgfCBGb250V2VpZ2h0
OTAwTWFzaykpICYmIChkZXNpcmVkVHJhaXRzTWFzayAmIChGb250V2VpZ2h0NjAwTWFzayB8IEZv
bnRXZWlnaHQ3MDBNYXNrIHwgRm9udFdlaWdodDgwME1hc2sgfCBGb250V2VpZ2h0OTAwTWFzaykp
OwotICAgICAgICAgICAgYm9vbCBzeW50aGV0aWNJdGFsaWMgPSAhKHRyYWl0c01hc2sgJiBGb250
U3R5bGVJdGFsaWNNYXNrKSAmJiAoZGVzaXJlZFRyYWl0c01hc2sgJiBGb250U3R5bGVJdGFsaWNN
YXNrKTsKKyAgICAgICAgICAgIGJvb2wgc3ludGhldGljQm9sZCA9IChmb250RGVzY3JpcHRpb24u
Zm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkgJiYgISh0cmFpdHNNYXNrICYg
KEZvbnRXZWlnaHQ2MDBNYXNrIHwgRm9udFdlaWdodDcwME1hc2sgfCBGb250V2VpZ2h0ODAwTWFz
ayB8IEZvbnRXZWlnaHQ5MDBNYXNrKSkgJiYgKGRlc2lyZWRUcmFpdHNNYXNrICYgKEZvbnRXZWln
aHQ2MDBNYXNrIHwgRm9udFdlaWdodDcwME1hc2sgfCBGb250V2VpZ2h0ODAwTWFzayB8IEZvbnRX
ZWlnaHQ5MDBNYXNrKSk7CisgICAgICAgICAgICBib29sIHN5bnRoZXRpY0l0YWxpYyA9IChmb250
RGVzY3JpcHRpb24uZm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1N0eWxlKSAmJiAhKHRy
YWl0c01hc2sgJiBGb250U3R5bGVJdGFsaWNNYXNrKSAmJiAoZGVzaXJlZFRyYWl0c01hc2sgJiBG
b250U3R5bGVJdGFsaWNNYXNrKTsKKwogICAgICAgICAgICAgaWYgKFJlZlB0cjxGb250PiBmYWNl
Rm9udCA9IGZhY2UtPmZvbnQoZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0
aWNJdGFsaWMpKQogICAgICAgICAgICAgICAgIGFwcGVuZEZvbnRXaXRoSW52YWxpZFVuaWNvZGVS
YW5nZUlmTG9hZGluZyhmb250UmFuZ2VzLCBmYWNlRm9udC5yZWxlYXNlTm9uTnVsbCgpLCBmYWNl
LT5yYW5nZXMoKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJD
b252ZXJ0ZXIuaAppbmRleCA4NTE1YzliNGExYWMxZGE5MTYyOGExYWFkY2NkODJhNTA2ZTk0NTA1
Li5jZjY2OWU3NDU5MDgwYTU4Y2MyMTljMDIxMTAyZWIzMGY0OGQ4ODkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCkBAIC0xMjQsNiArMTI0LDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBFR2x5cGhPcmllbnRhdGlvbiBjb252ZXJ0R2x5cGhPcmllbnRhdGlv
bihTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgRUdseXBoT3JpZW50YXRp
b24gY29udmVydEdseXBoT3JpZW50YXRpb25PckF1dG8oU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVl
Jik7CiAgICAgc3RhdGljIE9wdGlvbmFsPExlbmd0aD4gY29udmVydExpbmVIZWlnaHQoU3R5bGVS
ZXNvbHZlciYsIENTU1ZhbHVlJiwgZmxvYXQgbXVsdGlwbGllciA9IDEuZik7CisgICAgc3RhdGlj
IEZvbnRTeW50aGVzaXMgY29udmVydEZvbnRTeW50aGVzaXMoU3R5bGVSZXNvbHZlciYsIENTU1Zh
bHVlJik7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFN0eWxlQnVpbGRlckN1c3RvbTsK
QEAgLTEyMTEsNiArMTIxMiwzMiBAQCBpbmxpbmUgT3B0aW9uYWw8TGVuZ3RoPiBTdHlsZUJ1aWxk
ZXJDb252ZXJ0ZXI6OmNvbnZlcnRMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXImCiAgICAgcmV0dXJu
IE51bGxvcHQ7CiB9CiAKK0ZvbnRTeW50aGVzaXMgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252
ZXJ0Rm9udFN5bnRoZXNpcyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAg
IGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKSB7CisgICAgICAgIEFTU0VSVChkb3du
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpLmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZU5v
bmUpOworICAgICAgICByZXR1cm4gRm9udFN5bnRoZXNpc05vbmU7CisgICAgfQorCisgICAgRm9u
dFN5bnRoZXNpcyByZXN1bHQgPSBGb250U3ludGhlc2lzTm9uZTsKKyAgICBBU1NFUlQoaXM8Q1NT
VmFsdWVMaXN0Pih2YWx1ZSkpOworICAgIGZvciAoQ1NTVmFsdWUmIGkgOiBkb3duY2FzdDxDU1NW
YWx1ZUxpc3Q+KHZhbHVlKSkgeworICAgICAgICBzd2l0Y2ggKGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPihpKS5nZXRWYWx1ZUlEKCkpIHsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVdlaWdodDoK
KyAgICAgICAgICAgIHJlc3VsdCB8PSBGb250U3ludGhlc2lzV2VpZ2h0OworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVTdHlsZToKKyAgICAgICAgICAgIHJlc3VsdCB8
PSBGb250U3ludGhlc2lzU3R5bGU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXJfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGMwN2JhN2QxNzQwYWI3MjEzYjkz
NTJiNzNkYzY0OWI5YTgyYWIyYjQuLjRiY2Y2YzU1N2Y4NWU5NTBlOGZjZDY5Y2E2NTk2N2MyODQ5
NzZiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTc2LDcg
Kzc2LDYgQEAgcHVibGljOgogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEZv
bnRGYW1pbHkpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEZvbnRTaXpl
KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhGb250V2VpZ2h0KTsKLSAg
ICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhGb250U3ludGhlc2lzKTsKICNpZiBF
TkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01f
SEFORExFUlMoSW1hZ2VSZXNvbHV0aW9uKTsKICNlbmRpZgpAQCAtMTM3NiwzMiArMTM3NSw2IEBA
IGlubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRXZWlnaHQoU3R5
bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlCiAgICAgc3R5bGVSZXNvbHZlci5zZXRGb250RGVzY3Jp
cHRpb24oZm9udERlc2NyaXB0aW9uKTsKIH0KIAotaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3Vz
dG9tOjphcHBseVZhbHVlRm9udFN5bnRoZXNpcyhTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVy
LCBDU1NWYWx1ZSYgdmFsdWUpCi17Ci0gICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1
ZSkpIHsKLSAgICAgICAgQVNTRVJUKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSku
Z2V0VmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSk7Ci0gICAgICAgIHN0eWxlUmVzb2x2ZXIuc3R5
bGUoKS0+c2V0Rm9udFN5bnRoZXNpcyhGb250U3ludGhlc2lzTm9uZSk7Ci0gICAgfQotCi0gICAg
Rm9udFN5bnRoZXNpcyByZXN1bHQgPSBGb250U3ludGhlc2lzTm9uZTsKLSAgICBBU1NFUlQoaXM8
Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpOwotICAgIGZvciAoQ1NTVmFsdWUmIGkgOiBkb3duY2FzdDxD
U1NWYWx1ZUxpc3Q+KHZhbHVlKSkgewotICAgICAgICBzd2l0Y2ggKGRvd25jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlPihpKS5nZXRWYWx1ZUlEKCkpIHsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZVdlaWdo
dDoKLSAgICAgICAgICAgIHJlc3VsdCB8PSBGb250U3ludGhlc2lzV2VpZ2h0OwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVTdHlsZToKLSAgICAgICAgICAgIHJlc3Vs
dCB8PSBGb250U3ludGhlc2lzU3R5bGU7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldEZv
bnRTeW50aGVzaXMocmVzdWx0KTsKLX0KLQogaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9t
OjphcHBseUluaXRpYWxDb2x1bW5HYXAoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsK
ICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldEhhc05vcm1hbENvbHVtbkdhcCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDBlYjUzNmY4ZWZhNTJiNzJjMmY2Y2Nh
NjM0N2JhYTM5ZGM0NTU3NGUuLmE2NjA5YWQ4OThkNGRiNWFhOGJmMTNkZjNmMmQ2YWE1ZTA4ZmI4
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTE2OCw3ICsxNjgsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLXN0
YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGxhc3RIaWdoUHJpb3JpdHlQcm9wZXJ0eSA9IENTU1By
b3BlcnR5Wm9vbTsKK3N0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGxhc3RIaWdoUHJpb3JpdHlQ
cm9wZXJ0eSA9IENTU1Byb3BlcnR5Rm9udFN5bnRoZXNpczsKIHN0YXRpYyBjb25zdCBDU1NQcm9w
ZXJ0eUlEIGZpcnN0TG93UHJpb3JpdHlQcm9wZXJ0eSA9IHN0YXRpY19jYXN0PENTU1Byb3BlcnR5
SUQ+KGxhc3RIaWdoUHJpb3JpdHlQcm9wZXJ0eSArIDEpOwogCiBjbGFzcyBTdHlsZVJlc29sdmVy
OjpDYXNjYWRlZFByb3BlcnRpZXMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuaAppbmRleCBjNGVkZWQyYjg5YzUyYTZlY2VkYTc2MjFkNTViMTE5ZDBiMWZj
OTg5Li4zNTJjMTY4ZjRiZjliYTZiYjQ1MGJkOTFhNGI5OWEyNDc3NDMyMTYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNzksNyArNzksOCBA
QCBzdHJ1Y3QgRm9udERlc2NyaXB0aW9uRm9udERhdGFDYWNoZUtleSB7CiAgICAgeyB9CiAgICAg
c3RhdGljIHVuc2lnbmVkIG1ha2VGbGFnS2V5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3Jp
cHRpb24pCiAgICAgewotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRlc2Ny
aXB0aW9uLndpZHRoVmFyaWFudCgpKSA8PCA0CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oZGVzY3JpcHRpb24uZm9udFN5bnRoZXNpcygpKSA8PCA2CisgICAgICAgICAgICB8
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQoKSkgPDwgNAog
ICAgICAgICAgICAgfCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVzY3JpcHRpb24ubm9uQ0pLR2x5
cGhPcmllbnRhdGlvbigpKSA8PCAzCiAgICAgICAgICAgICB8IHN0YXRpY19jYXN0PHVuc2lnbmVk
PihkZXNjcmlwdGlvbi5vcmllbnRhdGlvbigpKSA8PCAyCiAgICAgICAgICAgICB8IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihkZXNjcmlwdGlvbi5pdGFsaWMoKSkgPDwgMQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAppbmRleCAyZjM5Nzcx
MGY3MzMyMGYxYjBhMzBmNzc5NTEyMWJiZGFlMzg2YTNjLi5kODBhMmQ1NzVlMzAyN2Q5N2E4Yjdj
MzFkOTExMmQzYzVkNTcwYWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaApAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICwgbV90ZXh0UmVuZGVyaW5nKEF1dG9UZXh0UmVuZGVyaW5nKQogICAgICAgICAsIG1faXNT
cGVjaWZpZWRGb250KGZhbHNlKQogICAgICAgICAsIG1fc2NyaXB0KFVTQ1JJUFRfQ09NTU9OKQor
ICAgICAgICAsIG1fZm9udFN5bnRoZXNpcyhpbml0aWFsRm9udFN5bnRoZXNpcygpKQogICAgIHsK
ICAgICB9CiAKQEAgLTEwOSw2ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgTm9uQ0pLR2x5cGhPcmll
bnRhdGlvbiBub25DSktHbHlwaE9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8Tm9uQ0pLR2x5cGhPcmllbnRhdGlvbj4obV9ub25DSktHbHlwaE9yaWVudGF0aW9uKTsgfQog
ICAgIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Rm9udFdpZHRoVmFyaWFudD4obV93aWR0aFZhcmlhbnQpOyB9CiAgICAgRm9udEZlYXR1
cmVTZXR0aW5ncyogZmVhdHVyZVNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlU2V0
dGluZ3MuZ2V0KCk7IH0KKyAgICBGb250U3ludGhlc2lzIGZvbnRTeW50aGVzaXMoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxGb250U3ludGhlc2lzPihtX2ZvbnRTeW50aGVzaXMpOyB9CiAK
ICAgICB2b2lkIHNldE9uZUZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSkgeyBBU1NF
UlQobV9mYW1pbGllcy5zaXplKCkgPT0gMSk7IG1fZmFtaWxpZXNbMF0gPSBmYW1pbHk7IH0KICAg
ICB2b2lkIHNldEZhbWlsaWVzKGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+JiBmYW1pbGllcykg
eyBtX2ZhbWlsaWVzID0gUmVmQ291bnRlZEFycmF5PEF0b21pY1N0cmluZz4oZmFtaWxpZXMpOyB9
CkBAIC0xNDcsNiArMTQ5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2lkdGhWYXJpYW50KEZv
bnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KSB7IG1fd2lkdGhWYXJpYW50ID0gd2lkdGhWYXJp
YW50OyB9CiAgICAgdm9pZCBzZXRTY3JpcHQoVVNjcmlwdENvZGUgcykgeyBtX3NjcmlwdCA9IHM7
IH0KICAgICB2b2lkIHNldEZlYXR1cmVTZXR0aW5ncyhQYXNzUmVmUHRyPEZvbnRGZWF0dXJlU2V0
dGluZ3M+IHNldHRpbmdzKSB7IG1fZmVhdHVyZVNldHRpbmdzID0gc2V0dGluZ3M7IH0KKyAgICB2
b2lkIHNldEZvbnRTeW50aGVzaXMoRm9udFN5bnRoZXNpcyBmb250U3ludGhlc2lzKSB7IG1fZm9u
dFN5bnRoZXNpcyA9IGZvbnRTeW50aGVzaXM7IH0KIAogI2lmIEVOQUJMRShJT1NfVEVYVF9BVVRP
U0laSU5HKQogICAgIGJvb2wgZmFtaWxpZXNFcXVhbEZvclRleHRBdXRvU2l6aW5nKGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgb3RoZXIpIGNvbnN0OwpAQCAtMTY2LDYgKzE2OSw3IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgS2VybmluZyBpbml0aWFsS2VybmluZygpIHsgcmV0dXJuIEF1dG9LZXJuaW5n
OyB9CiAgICAgc3RhdGljIEZvbnRTbW9vdGhpbmdNb2RlIGluaXRpYWxGb250U21vb3RoaW5nKCkg
eyByZXR1cm4gQXV0b1Ntb290aGluZzsgfQogICAgIHN0YXRpYyBUZXh0UmVuZGVyaW5nTW9kZSBp
bml0aWFsVGV4dFJlbmRlcmluZ01vZGUoKSB7IHJldHVybiBBdXRvVGV4dFJlbmRlcmluZzsgfQor
ICAgIHN0YXRpYyBGb250U3ludGhlc2lzIGluaXRpYWxGb250U3ludGhlc2lzKCkgeyByZXR1cm4g
Rm9udFN5bnRoZXNpc1dlaWdodCB8IEZvbnRTeW50aGVzaXNTdHlsZTsgfQogCiBwcml2YXRlOgog
ICAgIFJlZkNvdW50ZWRBcnJheTxBdG9taWNTdHJpbmc+IG1fZmFtaWxpZXM7CkBAIC0yMDEsNiAr
MjA1LDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3RleHRSZW5kZXJpbmcgOiAyOyAvLyBU
ZXh0UmVuZGVyaW5nTW9kZQogICAgIHVuc2lnbmVkIG1faXNTcGVjaWZpZWRGb250IDogMTsgLy8g
VHJ1ZSBpZiBhIHdlYiBwYWdlIHNwZWNpZmllcyBhIG5vbi1nZW5lcmljIGZvbnQgZmFtaWx5IGFz
IHRoZSBmaXJzdCBmb250IGZhbWlseS4KICAgICB1bnNpZ25lZCBtX3NjcmlwdCA6IDc7IC8vIFVz
ZWQgdG8gaGVscCBjaG9vc2UgYW4gYXBwcm9wcmlhdGUgZm9udCBmb3IgZ2VuZXJpYyBmb250IGZh
bWlsaWVzLgorICAgIHVuc2lnbmVkIG1fZm9udFN5bnRoZXNpcyA6IDI7IC8vIEZvbnRTeW50aGVz
aXMgdHlwZQogfTsKIAogaW5saW5lIGJvb2wgRm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09KGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgb3RoZXIpIGNvbnN0CkBAIC0yMjUsNyArMjMwLDggQEAgaW5s
aW5lIGJvb2wgRm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09KGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgb3RoZXIpIGNvbnN0CiAgICAgICAgICYmIG1fbm9uQ0pLR2x5cGhPcmllbnRhdGlvbiA9PSBv
dGhlci5tX25vbkNKS0dseXBoT3JpZW50YXRpb24KICAgICAgICAgJiYgbV93aWR0aFZhcmlhbnQg
PT0gb3RoZXIubV93aWR0aFZhcmlhbnQKICAgICAgICAgJiYgbV9zY3JpcHQgPT0gb3RoZXIubV9z
Y3JpcHQKLSAgICAgICAgJiYgbV9mZWF0dXJlU2V0dGluZ3MgPT0gb3RoZXIubV9mZWF0dXJlU2V0
dGluZ3M7CisgICAgICAgICYmIG1fZmVhdHVyZVNldHRpbmdzID09IG90aGVyLm1fZmVhdHVyZVNl
dHRpbmdzCisgICAgICAgICYmIG1fZm9udFN5bnRoZXNpcyA9PSBvdGhlci5tX2ZvbnRTeW50aGVz
aXM7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lvcy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9p
b3MvRm9udENhY2hlSU9TLm1tCmluZGV4IGVlNzg3OWM1OGNjYTYzZjM5ODU1NGQyMmIzMjZkNzFm
ZmI3ZTBlOGQuLjk4ODYxMmIzNjhiM2U1NDE1MDFlMjE5OWQ1OWVmOTkwZjM5Y2IyMTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1Mu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlP
Uy5tbQpAQCAtNjk0LDggKzY5NCw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRh
PiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlCiAKICAgICBi
b29sIGlzQXBwbGVDb2xvckVtb2ppID0gQ1RGb250SXNBcHBsZUNvbG9yRW1vamkoY3RGb250Lmdl
dCgpKTsKIAotICAgIGJvb2wgc3ludGhldGljQm9sZCA9ICh0cmFpdHMgJiBrQ1RGb250VHJhaXRC
b2xkKSAmJiAhKGFjdHVhbFRyYWl0cyAmIGtDVEZvbnRUcmFpdEJvbGQpICYmICFpc0FwcGxlQ29s
b3JFbW9qaTsKLSAgICBib29sIHN5bnRoZXRpY09ibGlxdWUgPSAodHJhaXRzICYga0NURm9udFRy
YWl0SXRhbGljKSAmJiAhKGFjdHVhbFRyYWl0cyAmIGtDVEZvbnRUcmFpdEl0YWxpYykgJiYgIWlz
QXBwbGVDb2xvckVtb2ppOworICAgIGJvb2wgc3ludGhldGljQm9sZCA9IChmb250RGVzY3JpcHRp
b24uZm9udFN5bnRoZXNpcygpICYgZm9udFN5bnRoZXNpc1dlaWdodCkgJiYgKHRyYWl0cyAmIGtD
VEZvbnRUcmFpdEJvbGQpICYmICEoYWN0dWFsVHJhaXRzICYga0NURm9udFRyYWl0Qm9sZCkgJiYg
IWlzQXBwbGVDb2xvckVtb2ppOworICAgIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IChmb250RGVz
Y3JpcHRpb24uZm9udFN5bnRoZXNpcyAmIGZvbnRTeW50aGVzaXNTdHlsZSkgJiYgKHRyYWl0cyAm
IGtDVEZvbnRUcmFpdEl0YWxpYykgJiYgIShhY3R1YWxUcmFpdHMgJiBrQ1RGb250VHJhaXRJdGFs
aWMpICYmICFpc0FwcGxlQ29sb3JFbW9qaTsKIAogICAgIGF1dG8gcmVzdWx0ID0gc3RkOjptYWtl
X3VuaXF1ZTxGb250UGxhdGZvcm1EYXRhPihjdEZvbnQuZ2V0KCksIHNpemUsIHN5bnRoZXRpY0Jv
bGQsIHN5bnRoZXRpY09ibGlxdWUsIGZvbnREZXNjcmlwdGlvbi5vcmllbnRhdGlvbigpLCBmb250
RGVzY3JpcHRpb24ud2lkdGhWYXJpYW50KCkpOwogICAgIGlmIChpc0FwcGxlQ29sb3JFbW9qaSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2Fj
aGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hl
TWFjLm1tCmluZGV4IGNkYzA4M2ExOGU4ZTBiNDUwZDg0ODQxZmFjZjc5ZTgxNDQ1MjlkMDUuLmFi
YTRhZTRkNTk2ZDQyODM5NGYyZTY2NWU5MTAyODBkZGY5MTA1YTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQpAQCAtNTA5
LDggKzUwOSw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6
OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlCiAgICAgTlNJbnRlZ2VyIGFjdHVh
bFdlaWdodCA9IFtmb250TWFuYWdlciB3ZWlnaHRPZkZvbnQ6bnNGb250XTsKIAogICAgIE5TRm9u
dCAqcGxhdGZvcm1Gb250ID0gW25zRm9udCBwcmludGVyRm9udF07Ci0gICAgYm9vbCBzeW50aGV0
aWNCb2xkID0gaXNBcHBLaXRGb250V2VpZ2h0Qm9sZCh3ZWlnaHQpICYmICFpc0FwcEtpdEZvbnRX
ZWlnaHRCb2xkKGFjdHVhbFdlaWdodCk7Ci0gICAgYm9vbCBzeW50aGV0aWNPYmxpcXVlID0gKHRy
YWl0cyAmIE5TRm9udEl0YWxpY1RyYWl0KSAmJiAhKGFjdHVhbFRyYWl0cyAmIE5TRm9udEl0YWxp
Y1RyYWl0KTsKKyAgICBib29sIHN5bnRoZXRpY0JvbGQgPSAoZm9udERlc2NyaXB0aW9uLmZvbnRT
eW50aGVzaXMoKSAmIEZvbnRTeW50aGVzaXNXZWlnaHQpICYmIGlzQXBwS2l0Rm9udFdlaWdodEJv
bGQod2VpZ2h0KSAmJiAhaXNBcHBLaXRGb250V2VpZ2h0Qm9sZChhY3R1YWxXZWlnaHQpOworICAg
IGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IChmb250RGVzY3JpcHRpb24uZm9udFN5bnRoZXNpcygp
ICYgRm9udFN5bnRoZXNpc1N0eWxlKSAmJiAodHJhaXRzICYgTlNGb250SXRhbGljVHJhaXQpICYm
ICEoYWN0dWFsVHJhaXRzICYgTlNGb250SXRhbGljVHJhaXQpOwogCiAgICAgcmV0dXJuIHN0ZDo6
bWFrZV91bmlxdWU8Rm9udFBsYXRmb3JtRGF0YT4ocmVpbnRlcnByZXRfY2FzdDxDVEZvbnRSZWY+
KHBsYXRmb3JtRm9udCksIHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIGZv
bnREZXNjcmlwdGlvbi5vcmllbnRhdGlvbigpLCBmb250RGVzY3JpcHRpb24ud2lkdGhWYXJpYW50
KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Rmxh
Z3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEZsYWdzLmgKaW5kZXggOTk5
OWVkM2E2OGMyMWZhNTk1YTk3N2IxNTcwZTJiYWQ5MGQ5YjI0Ni4uNGFhNTdiZjM3MTMxNGQwOGM3
MGM4ZDEyNTZlNGE1NDZiNmNiNjVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0RmxhZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRGbGFncy5oCkBAIC01OSw2ICs1OSwxNCBAQCBlbnVtIEV4cGFuc2lvbkJlaGF2aW9yRmxhZ3Mg
ewogfTsKIHR5cGVkZWYgdW5zaWduZWQgRXhwYW5zaW9uQmVoYXZpb3I7CiAKK2VudW0gRm9udFN5
bnRoZXNpc1ZhbHVlcyB7CisgICAgRm9udFN5bnRoZXNpc05vbmUgPSAweDAsCisgICAgRm9udFN5
bnRoZXNpc1dlaWdodCA9IDB4MSwKKyAgICBGb250U3ludGhlc2lzU3R5bGUgPSAweDIKK307Cit0
eXBlZGVmIHVuc2lnbmVkIEZvbnRTeW50aGVzaXM7Citjb25zdCB1bnNpZ25lZCBGb250U3ludGhl
c2lzV2lkdGggPSAyOworCiBlbnVtIEZvbnRXaWR0aFZhcmlhbnQgewogICAgIFJlZ3VsYXJXaWR0
aCwKICAgICBIYWxmV2lkdGgsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCmluZGV4IDdjNmU1NzUwNjYzNzA3MWM1NGVkNGZkM2U0ODZiZGNjM2NjMTQ2NmEu
Ljk0MjUxODk4NTdlOTM2YmZhMzA4YzBlZGE2M2QxMjUzZjNmZjVlZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMDI1LDggKzEwMjUsNiBA
QCBwdWJsaWM6CiAKICAgICBUZXh0T3JpZW50YXRpb24gdGV4dE9yaWVudGF0aW9uKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dE9yaWVudGF0aW9uPihyYXJlSW5oZXJpdGVkRGF0YS0+
bV90ZXh0T3JpZW50YXRpb24pOyB9CiAKLSAgICBGb250U3ludGhlc2lzIGZvbnRTeW50aGVzaXMo
KSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxGb250U3ludGhlc2lzPihyYXJlSW5oZXJpdGVk
RGF0YS0+Zm9udFN5bnRoZXNpcyk7IH0KLQogICAgIE9iamVjdEZpdCBvYmplY3RGaXQoKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxPYmplY3RGaXQ+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5t
X29iamVjdEZpdCk7IH0KICAgICAKICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBhbnkgdHJhbnNmb3Jt
IHJlbGF0ZWQgcHJvcGVydHkgKGN1cnJlbnRseSB0cmFuc2Zvcm0sIHRyYW5zZm9ybVN0eWxlM0Qg
b3IgcGVyc3BlY3RpdmUpIApAQCAtMTUzOSw3ICsxNTM3LDYgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0TWFyZ2luQWZ0ZXJDb2xsYXBzZShFTWFyZ2luQ29sbGFwc2UgYykgeyBTRVRfVkFSKHJhcmVO
b25Jbmhlcml0ZWREYXRhLCBtYXJnaW5BZnRlckNvbGxhcHNlLCBjKTsgfQogICAgIHZvaWQgc2V0
V29yZEJyZWFrKEVXb3JkQnJlYWsgYikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB3b3Jk
QnJlYWssIGIpOyB9CiAgICAgdm9pZCBzZXRPdmVyZmxvd1dyYXAoRU92ZXJmbG93V3JhcCBiKSB7
IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG92ZXJmbG93V3JhcCwgYik7IH0KLSAgICB2b2lk
IHNldEZvbnRTeW50aGVzaXMoRm9udFN5bnRoZXNpcyBzeW50aGVzaXMpIHsgU0VUX1ZBUihyYXJl
SW5oZXJpdGVkRGF0YSwgZm9udFN5bnRoZXNpcywgc3ludGhlc2lzKTsgfQogICAgIHZvaWQgc2V0
TkJTUE1vZGUoRU5CU1BNb2RlIGIpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbmJzcE1v
ZGUsIGIpOyB9CiAgICAgdm9pZCBzZXRMaW5lQnJlYWsoTGluZUJyZWFrIGIpIHsgU0VUX1ZBUihy
YXJlSW5oZXJpdGVkRGF0YSwgbGluZUJyZWFrLCBiKTsgfQogICAgIHZvaWQgc2V0SHlwaGVucyhI
eXBoZW5zIGgpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgaHlwaGVucywgaCk7IH0KQEAg
LTIwNjgsNyArMjA2NSw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQmxlbmRNb2RlIGluaXRpYWxC
bGVuZE1vZGUoKSB7IHJldHVybiBCbGVuZE1vZGVOb3JtYWw7IH0KICAgICBzdGF0aWMgSXNvbGF0
aW9uIGluaXRpYWxJc29sYXRpb24oKSB7IHJldHVybiBJc29sYXRpb25BdXRvOyB9CiAjZW5kaWYK
LSAgICBzdGF0aWMgRm9udFN5bnRoZXNpcyBpbml0aWFsRm9udFN5bnRoZXNpcygpIHsgcmV0dXJu
IEZvbnRTeW50aGVzaXNTdHlsZSB8IEZvbnRTeW50aGVzaXNXZWlnaHQ7IH0KIAogICAgIHN0YXRp
YyBwdHJkaWZmX3Qgbm9uaW5oZXJpdGVkRmxhZ3NNZW1vcnlPZmZzZXQoKSB7IHJldHVybiBPQkpF
Q1RfT0ZGU0VUT0YoUmVuZGVyU3R5bGUsIG5vbmluaGVyaXRlZF9mbGFncyk7IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRz
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aAppbmRleCAxYjNmNWY2NTQ0MmU4OGM1YjMzMTYzOGU0NDVmMzhkODZlZDBlNGUyLi40NzEyMDE4
YTc0OGE3YWNkNDNmOTIwMTE5NzFmMWVmMzZhMWQzYzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtNDE2LDEz
ICs0MTYsNiBAQCBlbnVtIEVUZXh0VHJhbnNmb3JtIHsKICAgICBDQVBJVEFMSVpFLCBVUFBFUkNB
U0UsIExPV0VSQ0FTRSwgVFROT05FCiB9OwogCi1lbnVtIEZvbnRTeW50aGVzaXNWYWx1ZXMgewot
ICAgIEZvbnRTeW50aGVzaXNOb25lID0gMHgwLAotICAgIEZvbnRTeW50aGVzaXNXZWlnaHQgPSAw
eDEsCi0gICAgRm9udFN5bnRoZXNpc1N0eWxlID0gMHgyCi19OwotdHlwZWRlZiB1bnNpZ25lZCBG
b250U3ludGhlc2lzOwotCiAjaWYgRU5BQkxFKExFVFRFUlBSRVNTKQogc3RhdGljIGNvbnN0IHNp
emVfdCBUZXh0RGVjb3JhdGlvbkJpdHMgPSA1OwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IGI4
ZDIzMjllNjI2YzdjMTg2MzhmMDBlNmVhNDZjNjQwZDI2ODMyZDEuLmE4OTJkNjk4NjdiYTBlODRk
OWJlNjEzZDRjM2MzODk4ZWJjYmIxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaApAQCAtMTMzLDggKzEzMyw2
IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB0cmFpbGluZ1dvcmQgOiAxOwogI2VuZGlmCiAKLSAg
ICB1bnNpZ25lZCBmb250U3ludGhlc2lzIDogMjsKLQogICAgIEF0b21pY1N0cmluZyBoeXBoZW5h
dGlvblN0cmluZzsKICAgICBzaG9ydCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlOwogICAgIHNob3J0
IGh5cGhlbmF0aW9uTGltaXRBZnRlcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYmMyZWNjMGMzYzUxOTdhNTY3NmVlY2I4
OTgwZmJlMGQ2MmU1MGNiLi43NmMwMGJiNGRmZGE3MzgyOThmODIyODcwMGIyOGViMTViMjdmZTA4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDQtMjcgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgZm9udC1zeW50aGVzaXMg
Q1NTIHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDQzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0IGFsbCBjb21iaW5hdGlvbnMgb2YgZm9udC13ZWlnaHQsIGZvbnQtc3R5bGUsIGFu
ZCBmb250LXN5bnRoZXNpcy4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhl
c2lzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2ZvbnQt
c3ludGhlc2lzLmh0bWw6IEFkZGVkLgorCiAyMDE1LTA0LTI3ICBEYW5pZWwgQmF0ZXMgIDxkYWJh
dGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGb3JtIGNvbnRyb2wgbWF5IGJlIGFzc29jaWF0ZWQg
d2l0aCB0aGUgd3JvbmcgSFRNTCBGb3JtIGVsZW1lbnQgYWZ0ZXIgZm9ybSBpZCBjaGFuZ2UKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lzLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5bnRoZXNpcy1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmZDI4YmQxMTQ0YjMzNDJmZDk1NGEzYjlmZTgwZDJmMDJi
MTMzYTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250
LXN5bnRoZXNpcy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNjggQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5
OiAiQ3VzdG9tQWhlbSI7CisgICAgZm9udC13ZWlnaHQ6IDQwMDsKKyAgICBmb250LXN0eWxlOiBu
b3JtYWw7CisgICAgc3JjOiB1cmwoIi4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZiIpIGZvcm1hdCgi
dHJ1ZXR5cGUiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgdGhlIGZvbnQtc3ludGhlc2lzIHByb3BlcnR5IGRpc2FsbG93cyBzeW50aGVz
aXMgd2hlbiBpdCBpcyBzcGVjaWZpZWQuCis8ZGl2IHN0eWxlPSJmb250OiAyMHB4IEN1c3RvbUFo
ZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyBsZWZ0OiAwcHg7IHRvcDogMHB4OyI+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXY+QUJDRDwvZGl2
PgorPGRpdj5BQkNEPC9kaXY+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0i
cG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxNTBweDsgdG9wOiAwcHg7Ij4KKzxkaXY+QUJDRDwv
ZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6IDcwMDsiPkFCQ0Q8L2Rpdj4KKzxkaXY+QUJD
RDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6IDcwMDsiPkFCQ0Q8L2Rpdj4KKzwvZGl2
PgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAzMDBweDsgdG9wOiAwcHg7
Ij4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdj5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN0
eWxlOiBpdGFsaWM7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7
Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVm
dDogNDUwcHg7IHRvcDogMHB4OyI+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQt
d2VpZ2h0OiA3MDA7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7
Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXdlaWdodDogNzAwOyBmb250LXN0eWxlOiBp
dGFsaWM7Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDogMjBw
eCBDdXN0b21BaGVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMTAwcHg7Ij4KKzxkaXYgc3R5
bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDBweDsiPgorPGRpdj5BQkNE
PC9kaXY+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdj5BQkNEPC9kaXY+
Cis8L2Rpdj4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTUwcHg7IHRv
cDogMHB4OyI+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OiA3MDA7
Ij5BQkNEPC9kaXY+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OiA3
MDA7Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsg
bGVmdDogMzAwcHg7IHRvcDogMHB4OyI+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXY+QUJDRDwvZGl2
PgorPGRpdiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+QUJDRDwvZGl2PgorPGRpdiBzdHls
ZT0iZm9udC1zdHlsZTogaXRhbGljOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDQ1MHB4OyB0b3A6IDBweDsiPgorPGRpdj5BQkNEPC9k
aXY+Cis8ZGl2IHN0eWxlPSJmb250LXdlaWdodDogNzAwOyI+QUJDRDwvZGl2PgorPGRpdiBzdHls
ZT0iZm9udC1zdHlsZTogaXRhbGljOyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWln
aHQ6IDcwMDsgZm9udC1zdHlsZTogaXRhbGljOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0
L2ZvbnQtc3ludGhlc2lzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5
bnRoZXNpcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjNTllZDlhNGI5NjdiY2I1ZmMwMTg2MDFjMGQ4MmJi
MzUzNmJlN2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9m
b250LXN5bnRoZXNpcy5odG1sCkBAIC0wLDAgKzEsNjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQ3Vz
dG9tQWhlbSI7CisgICAgZm9udC13ZWlnaHQ6IDQwMDsKKyAgICBmb250LXN0eWxlOiBub3JtYWw7
CisgICAgc3JjOiB1cmwoIi4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5
cGUiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJl
IHRoYXQgdGhlIGZvbnQtc3ludGhlc2lzIHByb3BlcnR5IGRpc2FsbG93cyBzeW50aGVzaXMgd2hl
biBpdCBpcyBzcGVjaWZpZWQuCis8ZGl2IHN0eWxlPSJmb250OiAyMHB4IEN1c3RvbUFoZW07IHBv
c2l0aW9uOiByZWxhdGl2ZTsiPgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0
OiAwcHg7IHRvcDogMHB4OyI+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogbm9uZTsiPkFC
Q0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5BQkNEPC9kaXY+
Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0
eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8
ZGl2IHN0eWxlPSJmb250LXdlaWdodDogNzAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDE1
MHB4OyB0b3A6IDBweDsiPgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5BQkNE
PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJDRDwvZGl2Pgor
PGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2PgorPGRpdiBzdHls
ZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRp
diBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDMw
MHB4OyB0b3A6IDBweDsiPgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5BQkNE
PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJDRDwvZGl2Pgor
PGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2PgorPGRpdiBzdHls
ZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRp
diBzdHlsZT0iZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zdHlsZTogaXRhbGljOyBwb3NpdGlvbjog
YWJzb2x1dGU7IGxlZnQ6IDQ1MHB4OyB0b3A6IDBweDsiPgorPGRpdiBzdHlsZT0iZm9udC1zeW50
aGVzaXM6IG5vbmU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2Vp
Z2h0OyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHN0eWxlOyI+QUJD
RDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodCBzdHlsZTsiPkFCQ0Q8
L2Rpdj4KKzwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiAyMHB4IEFoZW07IHBvc2l0
aW9uOiByZWxhdGl2ZTsgdG9wOiAxMDBweDsiPgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29s
dXRlOyBsZWZ0OiAwcHg7IHRvcDogMHB4OyI+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczog
bm9uZTsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5B
QkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+
Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2Pgor
PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXdlaWdodDogNzAwOyBwb3NpdGlvbjogYWJzb2x1dGU7
IGxlZnQ6IDE1MHB4OyB0b3A6IDBweDsiPgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5v
bmU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJD
RDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2Pgor
PGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwv
ZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyBwb3NpdGlvbjogYWJzb2x1dGU7
IGxlZnQ6IDMwMHB4OyB0b3A6IDBweDsiPgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5v
bmU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJD
RDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2Pgor
PGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwv
ZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zdHlsZTogaXRhbGljOyBw
b3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDQ1MHB4OyB0b3A6IDBweDsiPgorPGRpdiBzdHlsZT0i
Zm9udC1zeW50aGVzaXM6IG5vbmU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRo
ZXNpczogd2VpZ2h0OyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHN0
eWxlOyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodCBzdHls
ZTsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251819</attachid>
            <date>2015-04-27 21:08:55 -0700</date>
            <delta_ts>2015-04-28 11:02:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144305-20150427210747.patch</filename>
            <type>text/plain</type>
            <size>34146</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzcyMzIxZGQxMzU2ZjNk
MzcwNTVmMjlhNzE2NWVjYTMyMjUwMWUyYS4uODYzNDRmMGU3NjJmNmNkZjk1NjYzNzFkODEyMmRm
NTgxYmQwMmFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU5IEBACiAyMDE1LTA0LTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKKyAgICAgICAgW01hY10gW2lP
U10gSW1wbGVtZW50IGZvbnQtc3ludGhlc2lzIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MzA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBmYWlybHkgc3Ry
YWlnaHRmb3J3YXJkLCB0aG91Z2ggdGhlcmUgYXJlIHNvbWUgcGFydGljdWxhciBwaWVjZXMgdG8g
dGhlIHBhdGNoIGxpc3RlZCBiZWxvdy4KKworICAgICAgICBUaGUgaW1wbGVtZW50YXRpb24gb2Yg
dGhpcyBmb250LXN5bnRoZXNpcyBDU1MgcHJvcGVydHkgbGl2ZXMgaW5zaWRlIEZvbnRDYWNoZUlP
UyBhbmQgRm9udENhY2hlTWFjLiBXZSBhbHJlYWR5CisgICAgICAgIGRldGVybWluZSBpZiB3ZSBz
aG91bGQgc3ludGhlc2l6ZSBib2xkIGFuZCBpdGFsaWNzLCB0aGlzIENTUyBwcm9wZXJ0eSBzaW1w
bHkgZ3VhcmRzIHRoYXQgZGVjaXNpb24uCisKKyAgICAgICAgQmVjYXVzZSBGb250Q2FjaGUgaW50
ZXJhY3RzIHdpdGggRm9udERlc2NyaXB0aW9ucyBhbmQgbm90IFJlbmRlclN0eWxlcywgdGhpcyBw
YXRjaCBtb3ZlcyB0aGUgc291cmNlIG9mIHRydXRoCisgICAgICAgIHJlZ2FyZGluZyBmb250LXN5
bnRoZXNpcyBpbnRvIEZvbnREZXNjcmlwdGlvbiAoZnJvbSBSZW5kZXJTdHlsZSkuCisKKyAgICAg
ICAgVGVzdDogZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVzaXMuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46IE1hcmsgZm9udC1zeW50aGVzaXMgYXMgYSBGb250UHJv
cGVydHksIHdoaWNoIG1lYW5zIHRoYXQgdGhlIHJlbGV2YW50IHN0YXRlIGlzIGtlcHQKKyAgICAg
ICAgaW5zaWRlIEZvbnREZXNjcmlwdGlvbi4gVGhpcyBhbHNvIG1lYW5zIHRoYXQgdGhlIHByb3Bl
cnR5IG11c3QgYmUgbWFya2VkIGFzIGEgImhpZ2ggcHJpb3JpdHkiIHByb3BlcnR5LCB3aGljaAor
ICAgICAgICBpcyBlbmZvcmNlZCBieSBpdCBleGlzdGluZyBhdCB0aGUgdG9wIG9mIENTU1Byb3Bl
cnR5TmFtZXMuaW4uIFRoZSBtb3ZlIHRvIEZvbnREZXNjcmlwdGlvbiBtdXN0IGJlIGRvbmUgc28g
dGhhdAorICAgICAgICBGb250Q2FjaGVJT1MgYW5kIEZvbnRDYWNoZU1hYyBoYXZlIGFjY2VzcyB0
byB0aGUgc2F2ZWQgc3RhdGUuCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmb250U3ludGhlc2lzRnJvbVN0eWxlKTogVXBk
YXRlIHRvIGxvb2sgZm9yIHN0YXRlIGluIEZvbnREZXNjcmlwdGlvbiBpbnN0ZWFkIG9mIFJlbmRl
clN0eWxlLgorICAgICAgICAqIGNzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NTZWdtZW50ZWRGb250RmFjZTo6Zm9udFJhbmdlcyk6IEd1YXJkIHRoZSBz
eW50aGV0aWMgYm9sZCBhbmQgc3ludGhpYyBpdGFsaWMgZGVjaXNpb24gb24gdGhlIG5ldworICAg
ICAgICBGb250U3ludGhlc2lzIHN0YXRlIGluc2lkZSBGb250RGVzY3JpcHRpb24uCisgICAgICAg
ICogY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVC
dWlsZGVyQ29udmVydGVyOjpjb252ZXJ0Rm9udFN5bnRoZXNpcyk6IE1vdmVkIGZyb20KKyAgICAg
ICAgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFN5bnRoZXNpcygpLiBUaGlzIGlz
IGJlY2F1c2Ugb2YgdGhlIHVwZGF0ZWQgb3B0aW9ucyBpbnNpZGUgb2YKKyAgICAgICAgQ1NTUHJv
cGVydHlOYW1lcy5pbgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRTeW50aGVzaXMp
OiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpGb250RGVzY3JpcHRpb24pOiBN
b3ZlZCBmcm9tIFJlbmRlclN0eWxlLgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9u
Ojpmb250U3ludGhlc2lzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRp
b246OnNldEZvbnRTeW50aGVzaXMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnREZXNj
cmlwdGlvbjo6aW5pdGlhbEZvbnRTeW50aGVzaXMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OkZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PSk6IFVwZGF0ZSB0byBpbmNsdWRlIG5ldyBzdGF0
ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnREZXNjcmlwdGlvbkZvbnREYXRhQ2FjaGVLZXk6Om1ha2VGbGFnS2V5KTogTWFr
ZSBGb250RGVzY3JpcHRpb24gaGFzaGVzIHNlbnNpdGl2ZSB0byB0aGUgbmV3CisgICAgICAgIHN0
YXRlIGluc2lkZSBGb250RGVzY3JpcHRpb24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
aW9zL0ZvbnRDYWNoZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Y3JlYXRl
Rm9udFBsYXRmb3JtRGF0YSk6IEd1YXJkIHRoZSBzeW50aGV0aWMgYm9sZCBhbmQgc3ludGhldGlj
IGl0YWxpYyBkZWNpc2lvbiBvbiB0aGUKKyAgICAgICAgbmV3IEZvbnRTeW50aGVzaXMgc3RhdGUg
aW5zaWRlIEZvbnREZXNjcmlwdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udENhY2hlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpjcmVhdGVGb250
UGxhdGZvcm1EYXRhKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RmxhZ3Mu
aDogTW92ZSBGb250U3ludGhlc2lzIHR5cGUgZnJvbSBSZW5kZXJTdHlsZUNvbnN0YW50cy4KKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN0eWxlOjpmb250U3ludGhlc2lzKTogTW92ZWQgdG8gRm9udERlc2NyaXB0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEZvbnRTeW50aGVzaXMpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjppbml0aWFsRm9udFN5bnRoZXNpcyk6IERp
dHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOiBN
b3ZlZCBGb250U3ludGhlc2lzIHR5cGUgdG8gVGV4dEZsYWdzLgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6IFJlbW92ZSBzdGF0ZSByZWdhcmRpbmcg
Zm9udCBzeW50aGVzaXMgKG1vdmVkIHRvIEZvbnREZXNjcmlwdGlvbikKKworMjAxNS0wNC0yNyAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCiAgICAgICAgIENvbnNv
bGlkYXRlIG9uZS1saW5lIGZsYWctcmVsYXRlZCBoZWFkZXIgZmlsZXMgaW50byBUZXh0RmxhZ3Mu
aAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0Mjk1
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggMzFmZjBhODU4ZmM0OGFiNDQ4NjY5ZWU3MmNlYmU2NWFiZDE0MDk2Ni4uOThl
YTdmN2NmYjkyMGZlNTYwZmRhNWEzMWM2OTRkZTYyZTIzM2NhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE2MTMsMTMg
KzE2MTMsMTMgQEAgc3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gZm9udFdlaWdodEZyb21T
dHlsZShSZW5kZXJTdHlsZSogc3R5bGUpCiAKIHN0YXRpYyBSZWY8Q1NTVmFsdWU+IGZvbnRTeW50
aGVzaXNGcm9tU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlKQogewotICAgIGlmIChzdHlsZS5mb250
U3ludGhlc2lzKCkgPT0gRm9udFN5bnRoZXNpc05vbmUpCisgICAgaWYgKHN0eWxlLmZvbnREZXNj
cmlwdGlvbigpLmZvbnRTeW50aGVzaXMoKSA9PSBGb250U3ludGhlc2lzTm9uZSkKICAgICAgICAg
cmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUp
OwogCiAgICAgYXV0byBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgp
OwotICAgIGlmIChzdHlsZS5mb250U3ludGhlc2lzKCkgJiBGb250U3ludGhlc2lzU3R5bGUpCisg
ICAgaWYgKHN0eWxlLmZvbnREZXNjcmlwdGlvbigpLmZvbnRTeW50aGVzaXMoKSAmIEZvbnRTeW50
aGVzaXNTdHlsZSkKICAgICAgICAgbGlzdC5nZXQoKS5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3Jl
YXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlU3R5bGUpKTsKLSAgICBpZiAoc3R5bGUuZm9udFN5
bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkKKyAgICBpZiAoc3R5bGUuZm9udERlc2Ny
aXB0aW9uKCkuZm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkKICAgICAgICAg
bGlzdC5nZXQoKS5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlV2VpZ2h0KSk7CiAgICAgcmV0dXJuIFJlZjxDU1NWYWx1ZT4obGlzdC5nZXQoKSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDA3NDJmZGM5MjM4NzI5
NjBkYmEzN2VkNWU1ZDE1NDUzYTc0ZWFjODEuLjA1MzZkZTM1NDA4YTM2YzIyMGQzZGUzNzUwZjgz
ZWZmOTI3YTViMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0x
MTgsNiArMTE4LDcgQEAgdGV4dC1yZW5kZXJpbmcgW0luaGVyaXRlZCwgRm9udFByb3BlcnR5LCBO
YW1lRm9yTWV0aG9kcz1UZXh0UmVuZGVyaW5nTW9kZV0KIC13ZWJraXQtd3JpdGluZy1tb2RlIFtJ
bmhlcml0ZWQsIEN1c3RvbT1WYWx1ZV0KIC1lcHViLXdyaXRpbmctbW9kZSA9IC13ZWJraXQtd3Jp
dGluZy1tb2RlCiB6b29tIFtDdXN0b209QWxsXQorZm9udC1zeW50aGVzaXMgW0luaGVyaXRlZCwg
Rm9udFByb3BlcnR5LCBDb252ZXJ0ZXI9Rm9udFN5bnRoZXNpc10KIAogLy8gS2VlcCB0aGlzIGlu
IGJldHdlZW4gdGhlIGhpZ2hlc3QgcHJpb3JpdHkgcHJvcHMgYW5kIHRoZSBsb3dlciBvbmVzLgog
LXdlYmtpdC1ydWJ5LXBvc2l0aW9uIFtJbmhlcml0ZWRdCkBAIC0yMjMsNyArMjI0LDYgQEAgZmxv
b2QtY29sb3IgW1NWRywgQ29udmVydGVyPVNWR0NvbG9yXQogZmxvb2Qtb3BhY2l0eSBbU1ZHLCBD
b252ZXJ0ZXI9T3BhY2l0eV0KIGZvbnQgW0luaGVyaXRlZCwgTG9uZ2hhbmRzPWZvbnQtZmFtaWx5
fGZvbnQtc2l6ZXxmb250LXN0eWxlfGZvbnQtdmFyaWFudHxmb250LXdlaWdodHxsaW5lLWhlaWdo
dF0KIGZvbnQtc3RyZXRjaCBbU2tpcEJ1aWxkZXJdCi1mb250LXN5bnRoZXNpcyBbSW5oZXJpdGVk
LCBDdXN0b209VmFsdWVdCiBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIFtJbmhlcml0ZWQs
IFNWRywgQ29udmVydGVyPUdseXBoT3JpZW50YXRpb25dCiBnbHlwaC1vcmllbnRhdGlvbi12ZXJ0
aWNhbCBbSW5oZXJpdGVkLCBTVkcsIENvbnZlcnRlcj1HbHlwaE9yaWVudGF0aW9uT3JBdXRvXQog
aGVpZ2h0IFtJbml0aWFsPWluaXRpYWxTaXplLCBDb252ZXJ0ZXI9TGVuZ3RoU2l6aW5nXQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKaW5kZXggZjhjNGYzZjMy
OWQ1N2YzYjZlOGEzYjMyODFkZThlMDc3YjVhMWYzZS4uMTc0Y2UzOGI3NGNmOTdiMzlmZjRiOTM0
YmI0Y2FiMDYxNjVmYzg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21l
bnRlZEZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9u
dEZhY2UuY3BwCkBAIC0xMTMsNyArMTEzLDkgQEAgRm9udFJhbmdlcyBDU1NTZWdtZW50ZWRGb250
RmFjZTo6Zm9udFJhbmdlcyhjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGkKICAg
ICAgICAgcmV0dXJuIEZvbnRSYW5nZXMoKTsKIAogICAgIEZvbnRUcmFpdHNNYXNrIGRlc2lyZWRU
cmFpdHNNYXNrID0gZm9udERlc2NyaXB0aW9uLnRyYWl0c01hc2soKTsKLSAgICB1bnNpZ25lZCBo
YXNoS2V5ID0gKChmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKSArIDEpIDw8IChG
b250VHJhaXRzTWFza1dpZHRoICsgRm9udFdpZHRoVmFyaWFudFdpZHRoICsgMSkpCisgICAgLy8g
RklYTUU6IFVuaWZ5IHRoaXMgZnVuY3Rpb24gd2l0aCBGb250RGVzY3JpcHRpb25Gb250RGF0YUNh
Y2hlS2V5IGluIEZvbnRDYWNoZS5oIChPciBqdXN0IHVzZSB0aGUgcmVndWxhciBGb250Q2FjaGUg
aW5zdGVhZCBvZiB0aGlzKQorICAgIHVuc2lnbmVkIGhhc2hLZXkgPSAoKGZvbnREZXNjcmlwdGlv
bi5jb21wdXRlZFBpeGVsU2l6ZSgpICsgMSkgPDwgKEZvbnRUcmFpdHNNYXNrV2lkdGggKyBGb250
V2lkdGhWYXJpYW50V2lkdGggKyBGb250U3ludGhlc2lzV2lkdGggKyAxKSkKKyAgICAgICAgfCAo
Zm9udERlc2NyaXB0aW9uLmZvbnRTeW50aGVzaXMoKSA8PCAoRm9udFRyYWl0c01hc2tXaWR0aCAr
IEZvbnRXaWR0aFZhcmlhbnRXaWR0aCArIDEpKQogICAgICAgICB8ICgoZm9udERlc2NyaXB0aW9u
Lm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwgPyAxIDogMCkgPDwgKEZvbnRUcmFpdHNNYXNrV2lk
dGggKyBGb250V2lkdGhWYXJpYW50V2lkdGgpKQogICAgICAgICB8IGZvbnREZXNjcmlwdGlvbi53
aWR0aFZhcmlhbnQoKSA8PCBGb250VHJhaXRzTWFza1dpZHRoCiAgICAgICAgIHwgZGVzaXJlZFRy
YWl0c01hc2s7CkBAIC0xMjUsOSArMTI3LDExIEBAIEZvbnRSYW5nZXMgQ1NTU2VnbWVudGVkRm9u
dEZhY2U6OmZvbnRSYW5nZXMoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpCiAg
ICAgICAgIGZvciAoYXV0byYgZmFjZSA6IG1fZm9udEZhY2VzKSB7CiAgICAgICAgICAgICBpZiAo
IWZhY2UtPmlzVmFsaWQoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAg
ICAgRm9udFRyYWl0c01hc2sgdHJhaXRzTWFzayA9IGZhY2UtPnRyYWl0c01hc2soKTsKLSAgICAg
ICAgICAgIGJvb2wgc3ludGhldGljQm9sZCA9ICEodHJhaXRzTWFzayAmIChGb250V2VpZ2h0NjAw
TWFzayB8IEZvbnRXZWlnaHQ3MDBNYXNrIHwgRm9udFdlaWdodDgwME1hc2sgfCBGb250V2VpZ2h0
OTAwTWFzaykpICYmIChkZXNpcmVkVHJhaXRzTWFzayAmIChGb250V2VpZ2h0NjAwTWFzayB8IEZv
bnRXZWlnaHQ3MDBNYXNrIHwgRm9udFdlaWdodDgwME1hc2sgfCBGb250V2VpZ2h0OTAwTWFzaykp
OwotICAgICAgICAgICAgYm9vbCBzeW50aGV0aWNJdGFsaWMgPSAhKHRyYWl0c01hc2sgJiBGb250
U3R5bGVJdGFsaWNNYXNrKSAmJiAoZGVzaXJlZFRyYWl0c01hc2sgJiBGb250U3R5bGVJdGFsaWNN
YXNrKTsKKyAgICAgICAgICAgIGJvb2wgc3ludGhldGljQm9sZCA9IChmb250RGVzY3JpcHRpb24u
Zm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkgJiYgISh0cmFpdHNNYXNrICYg
KEZvbnRXZWlnaHQ2MDBNYXNrIHwgRm9udFdlaWdodDcwME1hc2sgfCBGb250V2VpZ2h0ODAwTWFz
ayB8IEZvbnRXZWlnaHQ5MDBNYXNrKSkgJiYgKGRlc2lyZWRUcmFpdHNNYXNrICYgKEZvbnRXZWln
aHQ2MDBNYXNrIHwgRm9udFdlaWdodDcwME1hc2sgfCBGb250V2VpZ2h0ODAwTWFzayB8IEZvbnRX
ZWlnaHQ5MDBNYXNrKSk7CisgICAgICAgICAgICBib29sIHN5bnRoZXRpY0l0YWxpYyA9IChmb250
RGVzY3JpcHRpb24uZm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1N0eWxlKSAmJiAhKHRy
YWl0c01hc2sgJiBGb250U3R5bGVJdGFsaWNNYXNrKSAmJiAoZGVzaXJlZFRyYWl0c01hc2sgJiBG
b250U3R5bGVJdGFsaWNNYXNrKTsKKwogICAgICAgICAgICAgaWYgKFJlZlB0cjxGb250PiBmYWNl
Rm9udCA9IGZhY2UtPmZvbnQoZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0
aWNJdGFsaWMpKQogICAgICAgICAgICAgICAgIGFwcGVuZEZvbnRXaXRoSW52YWxpZFVuaWNvZGVS
YW5nZUlmTG9hZGluZyhmb250UmFuZ2VzLCBmYWNlRm9udC5yZWxlYXNlTm9uTnVsbCgpLCBmYWNl
LT5yYW5nZXMoKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJD
b252ZXJ0ZXIuaAppbmRleCA4NTE1YzliNGExYWMxZGE5MTYyOGExYWFkY2NkODJhNTA2ZTk0NTA1
Li5jZjY2OWU3NDU5MDgwYTU4Y2MyMTljMDIxMTAyZWIzMGY0OGQ4ODkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCkBAIC0xMjQsNiArMTI0LDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBFR2x5cGhPcmllbnRhdGlvbiBjb252ZXJ0R2x5cGhPcmllbnRhdGlv
bihTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgRUdseXBoT3JpZW50YXRp
b24gY29udmVydEdseXBoT3JpZW50YXRpb25PckF1dG8oU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVl
Jik7CiAgICAgc3RhdGljIE9wdGlvbmFsPExlbmd0aD4gY29udmVydExpbmVIZWlnaHQoU3R5bGVS
ZXNvbHZlciYsIENTU1ZhbHVlJiwgZmxvYXQgbXVsdGlwbGllciA9IDEuZik7CisgICAgc3RhdGlj
IEZvbnRTeW50aGVzaXMgY29udmVydEZvbnRTeW50aGVzaXMoU3R5bGVSZXNvbHZlciYsIENTU1Zh
bHVlJik7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFN0eWxlQnVpbGRlckN1c3RvbTsK
QEAgLTEyMTEsNiArMTIxMiwzMiBAQCBpbmxpbmUgT3B0aW9uYWw8TGVuZ3RoPiBTdHlsZUJ1aWxk
ZXJDb252ZXJ0ZXI6OmNvbnZlcnRMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXImCiAgICAgcmV0dXJu
IE51bGxvcHQ7CiB9CiAKK0ZvbnRTeW50aGVzaXMgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252
ZXJ0Rm9udFN5bnRoZXNpcyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAg
IGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKSB7CisgICAgICAgIEFTU0VSVChkb3du
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpLmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZU5v
bmUpOworICAgICAgICByZXR1cm4gRm9udFN5bnRoZXNpc05vbmU7CisgICAgfQorCisgICAgRm9u
dFN5bnRoZXNpcyByZXN1bHQgPSBGb250U3ludGhlc2lzTm9uZTsKKyAgICBBU1NFUlQoaXM8Q1NT
VmFsdWVMaXN0Pih2YWx1ZSkpOworICAgIGZvciAoQ1NTVmFsdWUmIGkgOiBkb3duY2FzdDxDU1NW
YWx1ZUxpc3Q+KHZhbHVlKSkgeworICAgICAgICBzd2l0Y2ggKGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPihpKS5nZXRWYWx1ZUlEKCkpIHsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVdlaWdodDoK
KyAgICAgICAgICAgIHJlc3VsdCB8PSBGb250U3ludGhlc2lzV2VpZ2h0OworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVTdHlsZToKKyAgICAgICAgICAgIHJlc3VsdCB8
PSBGb250U3ludGhlc2lzU3R5bGU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXJfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGMwN2JhN2QxNzQwYWI3MjEzYjkz
NTJiNzNkYzY0OWI5YTgyYWIyYjQuLjRiY2Y2YzU1N2Y4NWU5NTBlOGZjZDY5Y2E2NTk2N2MyODQ5
NzZiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTc2LDcg
Kzc2LDYgQEAgcHVibGljOgogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEZv
bnRGYW1pbHkpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEZvbnRTaXpl
KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhGb250V2VpZ2h0KTsKLSAg
ICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhGb250U3ludGhlc2lzKTsKICNpZiBF
TkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01f
SEFORExFUlMoSW1hZ2VSZXNvbHV0aW9uKTsKICNlbmRpZgpAQCAtMTM3NiwzMiArMTM3NSw2IEBA
IGlubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRXZWlnaHQoU3R5
bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlCiAgICAgc3R5bGVSZXNvbHZlci5zZXRGb250RGVzY3Jp
cHRpb24oZm9udERlc2NyaXB0aW9uKTsKIH0KIAotaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3Vz
dG9tOjphcHBseVZhbHVlRm9udFN5bnRoZXNpcyhTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVy
LCBDU1NWYWx1ZSYgdmFsdWUpCi17Ci0gICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1
ZSkpIHsKLSAgICAgICAgQVNTRVJUKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSku
Z2V0VmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSk7Ci0gICAgICAgIHN0eWxlUmVzb2x2ZXIuc3R5
bGUoKS0+c2V0Rm9udFN5bnRoZXNpcyhGb250U3ludGhlc2lzTm9uZSk7Ci0gICAgfQotCi0gICAg
Rm9udFN5bnRoZXNpcyByZXN1bHQgPSBGb250U3ludGhlc2lzTm9uZTsKLSAgICBBU1NFUlQoaXM8
Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpOwotICAgIGZvciAoQ1NTVmFsdWUmIGkgOiBkb3duY2FzdDxD
U1NWYWx1ZUxpc3Q+KHZhbHVlKSkgewotICAgICAgICBzd2l0Y2ggKGRvd25jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlPihpKS5nZXRWYWx1ZUlEKCkpIHsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZVdlaWdo
dDoKLSAgICAgICAgICAgIHJlc3VsdCB8PSBGb250U3ludGhlc2lzV2VpZ2h0OwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVTdHlsZToKLSAgICAgICAgICAgIHJlc3Vs
dCB8PSBGb250U3ludGhlc2lzU3R5bGU7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldEZv
bnRTeW50aGVzaXMocmVzdWx0KTsKLX0KLQogaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9t
OjphcHBseUluaXRpYWxDb2x1bW5HYXAoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsK
ICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldEhhc05vcm1hbENvbHVtbkdhcCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDBlYjUzNmY4ZWZhNTJiNzJjMmY2Y2Nh
NjM0N2JhYTM5ZGM0NTU3NGUuLmE2NjA5YWQ4OThkNGRiNWFhOGJmMTNkZjNmMmQ2YWE1ZTA4ZmI4
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTE2OCw3ICsxNjgsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLXN0
YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGxhc3RIaWdoUHJpb3JpdHlQcm9wZXJ0eSA9IENTU1By
b3BlcnR5Wm9vbTsKK3N0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGxhc3RIaWdoUHJpb3JpdHlQ
cm9wZXJ0eSA9IENTU1Byb3BlcnR5Rm9udFN5bnRoZXNpczsKIHN0YXRpYyBjb25zdCBDU1NQcm9w
ZXJ0eUlEIGZpcnN0TG93UHJpb3JpdHlQcm9wZXJ0eSA9IHN0YXRpY19jYXN0PENTU1Byb3BlcnR5
SUQ+KGxhc3RIaWdoUHJpb3JpdHlQcm9wZXJ0eSArIDEpOwogCiBjbGFzcyBTdHlsZVJlc29sdmVy
OjpDYXNjYWRlZFByb3BlcnRpZXMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuaAppbmRleCBjNGVkZWQyYjg5YzUyYTZlY2VkYTc2MjFkNTViMTE5ZDBiMWZj
OTg5Li4zNTJjMTY4ZjRiZjliYTZiYjQ1MGJkOTFhNGI5OWEyNDc3NDMyMTYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNzksNyArNzksOCBA
QCBzdHJ1Y3QgRm9udERlc2NyaXB0aW9uRm9udERhdGFDYWNoZUtleSB7CiAgICAgeyB9CiAgICAg
c3RhdGljIHVuc2lnbmVkIG1ha2VGbGFnS2V5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3Jp
cHRpb24pCiAgICAgewotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRlc2Ny
aXB0aW9uLndpZHRoVmFyaWFudCgpKSA8PCA0CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oZGVzY3JpcHRpb24uZm9udFN5bnRoZXNpcygpKSA8PCA2CisgICAgICAgICAgICB8
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQoKSkgPDwgNAog
ICAgICAgICAgICAgfCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVzY3JpcHRpb24ubm9uQ0pLR2x5
cGhPcmllbnRhdGlvbigpKSA8PCAzCiAgICAgICAgICAgICB8IHN0YXRpY19jYXN0PHVuc2lnbmVk
PihkZXNjcmlwdGlvbi5vcmllbnRhdGlvbigpKSA8PCAyCiAgICAgICAgICAgICB8IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihkZXNjcmlwdGlvbi5pdGFsaWMoKSkgPDwgMQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAppbmRleCAyZjM5Nzcx
MGY3MzMyMGYxYjBhMzBmNzc5NTEyMWJiZGFlMzg2YTNjLi5kODBhMmQ1NzVlMzAyN2Q5N2E4Yjdj
MzFkOTExMmQzYzVkNTcwYWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaApAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICwgbV90ZXh0UmVuZGVyaW5nKEF1dG9UZXh0UmVuZGVyaW5nKQogICAgICAgICAsIG1faXNT
cGVjaWZpZWRGb250KGZhbHNlKQogICAgICAgICAsIG1fc2NyaXB0KFVTQ1JJUFRfQ09NTU9OKQor
ICAgICAgICAsIG1fZm9udFN5bnRoZXNpcyhpbml0aWFsRm9udFN5bnRoZXNpcygpKQogICAgIHsK
ICAgICB9CiAKQEAgLTEwOSw2ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgTm9uQ0pLR2x5cGhPcmll
bnRhdGlvbiBub25DSktHbHlwaE9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8Tm9uQ0pLR2x5cGhPcmllbnRhdGlvbj4obV9ub25DSktHbHlwaE9yaWVudGF0aW9uKTsgfQog
ICAgIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Rm9udFdpZHRoVmFyaWFudD4obV93aWR0aFZhcmlhbnQpOyB9CiAgICAgRm9udEZlYXR1
cmVTZXR0aW5ncyogZmVhdHVyZVNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlU2V0
dGluZ3MuZ2V0KCk7IH0KKyAgICBGb250U3ludGhlc2lzIGZvbnRTeW50aGVzaXMoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxGb250U3ludGhlc2lzPihtX2ZvbnRTeW50aGVzaXMpOyB9CiAK
ICAgICB2b2lkIHNldE9uZUZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSkgeyBBU1NF
UlQobV9mYW1pbGllcy5zaXplKCkgPT0gMSk7IG1fZmFtaWxpZXNbMF0gPSBmYW1pbHk7IH0KICAg
ICB2b2lkIHNldEZhbWlsaWVzKGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+JiBmYW1pbGllcykg
eyBtX2ZhbWlsaWVzID0gUmVmQ291bnRlZEFycmF5PEF0b21pY1N0cmluZz4oZmFtaWxpZXMpOyB9
CkBAIC0xNDcsNiArMTQ5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2lkdGhWYXJpYW50KEZv
bnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KSB7IG1fd2lkdGhWYXJpYW50ID0gd2lkdGhWYXJp
YW50OyB9CiAgICAgdm9pZCBzZXRTY3JpcHQoVVNjcmlwdENvZGUgcykgeyBtX3NjcmlwdCA9IHM7
IH0KICAgICB2b2lkIHNldEZlYXR1cmVTZXR0aW5ncyhQYXNzUmVmUHRyPEZvbnRGZWF0dXJlU2V0
dGluZ3M+IHNldHRpbmdzKSB7IG1fZmVhdHVyZVNldHRpbmdzID0gc2V0dGluZ3M7IH0KKyAgICB2
b2lkIHNldEZvbnRTeW50aGVzaXMoRm9udFN5bnRoZXNpcyBmb250U3ludGhlc2lzKSB7IG1fZm9u
dFN5bnRoZXNpcyA9IGZvbnRTeW50aGVzaXM7IH0KIAogI2lmIEVOQUJMRShJT1NfVEVYVF9BVVRP
U0laSU5HKQogICAgIGJvb2wgZmFtaWxpZXNFcXVhbEZvclRleHRBdXRvU2l6aW5nKGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgb3RoZXIpIGNvbnN0OwpAQCAtMTY2LDYgKzE2OSw3IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgS2VybmluZyBpbml0aWFsS2VybmluZygpIHsgcmV0dXJuIEF1dG9LZXJuaW5n
OyB9CiAgICAgc3RhdGljIEZvbnRTbW9vdGhpbmdNb2RlIGluaXRpYWxGb250U21vb3RoaW5nKCkg
eyByZXR1cm4gQXV0b1Ntb290aGluZzsgfQogICAgIHN0YXRpYyBUZXh0UmVuZGVyaW5nTW9kZSBp
bml0aWFsVGV4dFJlbmRlcmluZ01vZGUoKSB7IHJldHVybiBBdXRvVGV4dFJlbmRlcmluZzsgfQor
ICAgIHN0YXRpYyBGb250U3ludGhlc2lzIGluaXRpYWxGb250U3ludGhlc2lzKCkgeyByZXR1cm4g
Rm9udFN5bnRoZXNpc1dlaWdodCB8IEZvbnRTeW50aGVzaXNTdHlsZTsgfQogCiBwcml2YXRlOgog
ICAgIFJlZkNvdW50ZWRBcnJheTxBdG9taWNTdHJpbmc+IG1fZmFtaWxpZXM7CkBAIC0yMDEsNiAr
MjA1LDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3RleHRSZW5kZXJpbmcgOiAyOyAvLyBU
ZXh0UmVuZGVyaW5nTW9kZQogICAgIHVuc2lnbmVkIG1faXNTcGVjaWZpZWRGb250IDogMTsgLy8g
VHJ1ZSBpZiBhIHdlYiBwYWdlIHNwZWNpZmllcyBhIG5vbi1nZW5lcmljIGZvbnQgZmFtaWx5IGFz
IHRoZSBmaXJzdCBmb250IGZhbWlseS4KICAgICB1bnNpZ25lZCBtX3NjcmlwdCA6IDc7IC8vIFVz
ZWQgdG8gaGVscCBjaG9vc2UgYW4gYXBwcm9wcmlhdGUgZm9udCBmb3IgZ2VuZXJpYyBmb250IGZh
bWlsaWVzLgorICAgIHVuc2lnbmVkIG1fZm9udFN5bnRoZXNpcyA6IDI7IC8vIEZvbnRTeW50aGVz
aXMgdHlwZQogfTsKIAogaW5saW5lIGJvb2wgRm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09KGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgb3RoZXIpIGNvbnN0CkBAIC0yMjUsNyArMjMwLDggQEAgaW5s
aW5lIGJvb2wgRm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09KGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgb3RoZXIpIGNvbnN0CiAgICAgICAgICYmIG1fbm9uQ0pLR2x5cGhPcmllbnRhdGlvbiA9PSBv
dGhlci5tX25vbkNKS0dseXBoT3JpZW50YXRpb24KICAgICAgICAgJiYgbV93aWR0aFZhcmlhbnQg
PT0gb3RoZXIubV93aWR0aFZhcmlhbnQKICAgICAgICAgJiYgbV9zY3JpcHQgPT0gb3RoZXIubV9z
Y3JpcHQKLSAgICAgICAgJiYgbV9mZWF0dXJlU2V0dGluZ3MgPT0gb3RoZXIubV9mZWF0dXJlU2V0
dGluZ3M7CisgICAgICAgICYmIG1fZmVhdHVyZVNldHRpbmdzID09IG90aGVyLm1fZmVhdHVyZVNl
dHRpbmdzCisgICAgICAgICYmIG1fZm9udFN5bnRoZXNpcyA9PSBvdGhlci5tX2ZvbnRTeW50aGVz
aXM7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lvcy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9p
b3MvRm9udENhY2hlSU9TLm1tCmluZGV4IGVlNzg3OWM1OGNjYTYzZjM5ODU1NGQyMmIzMjZkNzFm
ZmI3ZTBlOGQuLmFiYzE5ZjY5NmM5MzIwZDM2N2UwY2RiNTJkNzA4M2U4NzlmZjU2MTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1Mu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlP
Uy5tbQpAQCAtNjk0LDggKzY5NCw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRh
PiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlCiAKICAgICBi
b29sIGlzQXBwbGVDb2xvckVtb2ppID0gQ1RGb250SXNBcHBsZUNvbG9yRW1vamkoY3RGb250Lmdl
dCgpKTsKIAotICAgIGJvb2wgc3ludGhldGljQm9sZCA9ICh0cmFpdHMgJiBrQ1RGb250VHJhaXRC
b2xkKSAmJiAhKGFjdHVhbFRyYWl0cyAmIGtDVEZvbnRUcmFpdEJvbGQpICYmICFpc0FwcGxlQ29s
b3JFbW9qaTsKLSAgICBib29sIHN5bnRoZXRpY09ibGlxdWUgPSAodHJhaXRzICYga0NURm9udFRy
YWl0SXRhbGljKSAmJiAhKGFjdHVhbFRyYWl0cyAmIGtDVEZvbnRUcmFpdEl0YWxpYykgJiYgIWlz
QXBwbGVDb2xvckVtb2ppOworICAgIGJvb2wgc3ludGhldGljQm9sZCA9IChmb250RGVzY3JpcHRp
b24uZm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkgJiYgKHRyYWl0cyAmIGtD
VEZvbnRUcmFpdEJvbGQpICYmICEoYWN0dWFsVHJhaXRzICYga0NURm9udFRyYWl0Qm9sZCkgJiYg
IWlzQXBwbGVDb2xvckVtb2ppOworICAgIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IChmb250RGVz
Y3JpcHRpb24uZm9udFN5bnRoZXNpcyAmIEZvbnRTeW50aGVzaXNTdHlsZSkgJiYgKHRyYWl0cyAm
IGtDVEZvbnRUcmFpdEl0YWxpYykgJiYgIShhY3R1YWxUcmFpdHMgJiBrQ1RGb250VHJhaXRJdGFs
aWMpICYmICFpc0FwcGxlQ29sb3JFbW9qaTsKIAogICAgIGF1dG8gcmVzdWx0ID0gc3RkOjptYWtl
X3VuaXF1ZTxGb250UGxhdGZvcm1EYXRhPihjdEZvbnQuZ2V0KCksIHNpemUsIHN5bnRoZXRpY0Jv
bGQsIHN5bnRoZXRpY09ibGlxdWUsIGZvbnREZXNjcmlwdGlvbi5vcmllbnRhdGlvbigpLCBmb250
RGVzY3JpcHRpb24ud2lkdGhWYXJpYW50KCkpOwogICAgIGlmIChpc0FwcGxlQ29sb3JFbW9qaSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2Fj
aGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hl
TWFjLm1tCmluZGV4IGNkYzA4M2ExOGU4ZTBiNDUwZDg0ODQxZmFjZjc5ZTgxNDQ1MjlkMDUuLmFi
YTRhZTRkNTk2ZDQyODM5NGYyZTY2NWU5MTAyODBkZGY5MTA1YTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQpAQCAtNTA5
LDggKzUwOSw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6
OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlCiAgICAgTlNJbnRlZ2VyIGFjdHVh
bFdlaWdodCA9IFtmb250TWFuYWdlciB3ZWlnaHRPZkZvbnQ6bnNGb250XTsKIAogICAgIE5TRm9u
dCAqcGxhdGZvcm1Gb250ID0gW25zRm9udCBwcmludGVyRm9udF07Ci0gICAgYm9vbCBzeW50aGV0
aWNCb2xkID0gaXNBcHBLaXRGb250V2VpZ2h0Qm9sZCh3ZWlnaHQpICYmICFpc0FwcEtpdEZvbnRX
ZWlnaHRCb2xkKGFjdHVhbFdlaWdodCk7Ci0gICAgYm9vbCBzeW50aGV0aWNPYmxpcXVlID0gKHRy
YWl0cyAmIE5TRm9udEl0YWxpY1RyYWl0KSAmJiAhKGFjdHVhbFRyYWl0cyAmIE5TRm9udEl0YWxp
Y1RyYWl0KTsKKyAgICBib29sIHN5bnRoZXRpY0JvbGQgPSAoZm9udERlc2NyaXB0aW9uLmZvbnRT
eW50aGVzaXMoKSAmIEZvbnRTeW50aGVzaXNXZWlnaHQpICYmIGlzQXBwS2l0Rm9udFdlaWdodEJv
bGQod2VpZ2h0KSAmJiAhaXNBcHBLaXRGb250V2VpZ2h0Qm9sZChhY3R1YWxXZWlnaHQpOworICAg
IGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IChmb250RGVzY3JpcHRpb24uZm9udFN5bnRoZXNpcygp
ICYgRm9udFN5bnRoZXNpc1N0eWxlKSAmJiAodHJhaXRzICYgTlNGb250SXRhbGljVHJhaXQpICYm
ICEoYWN0dWFsVHJhaXRzICYgTlNGb250SXRhbGljVHJhaXQpOwogCiAgICAgcmV0dXJuIHN0ZDo6
bWFrZV91bmlxdWU8Rm9udFBsYXRmb3JtRGF0YT4ocmVpbnRlcnByZXRfY2FzdDxDVEZvbnRSZWY+
KHBsYXRmb3JtRm9udCksIHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUsIGZv
bnREZXNjcmlwdGlvbi5vcmllbnRhdGlvbigpLCBmb250RGVzY3JpcHRpb24ud2lkdGhWYXJpYW50
KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Rmxh
Z3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEZsYWdzLmgKaW5kZXggOTk5
OWVkM2E2OGMyMWZhNTk1YTk3N2IxNTcwZTJiYWQ5MGQ5YjI0Ni4uNGFhNTdiZjM3MTMxNGQwOGM3
MGM4ZDEyNTZlNGE1NDZiNmNiNjVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0RmxhZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRGbGFncy5oCkBAIC01OSw2ICs1OSwxNCBAQCBlbnVtIEV4cGFuc2lvbkJlaGF2aW9yRmxhZ3Mg
ewogfTsKIHR5cGVkZWYgdW5zaWduZWQgRXhwYW5zaW9uQmVoYXZpb3I7CiAKK2VudW0gRm9udFN5
bnRoZXNpc1ZhbHVlcyB7CisgICAgRm9udFN5bnRoZXNpc05vbmUgPSAweDAsCisgICAgRm9udFN5
bnRoZXNpc1dlaWdodCA9IDB4MSwKKyAgICBGb250U3ludGhlc2lzU3R5bGUgPSAweDIKK307Cit0
eXBlZGVmIHVuc2lnbmVkIEZvbnRTeW50aGVzaXM7Citjb25zdCB1bnNpZ25lZCBGb250U3ludGhl
c2lzV2lkdGggPSAyOworCiBlbnVtIEZvbnRXaWR0aFZhcmlhbnQgewogICAgIFJlZ3VsYXJXaWR0
aCwKICAgICBIYWxmV2lkdGgsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCmluZGV4IDdjNmU1NzUwNjYzNzA3MWM1NGVkNGZkM2U0ODZiZGNjM2NjMTQ2NmEu
Ljk0MjUxODk4NTdlOTM2YmZhMzA4YzBlZGE2M2QxMjUzZjNmZjVlZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMDI1LDggKzEwMjUsNiBA
QCBwdWJsaWM6CiAKICAgICBUZXh0T3JpZW50YXRpb24gdGV4dE9yaWVudGF0aW9uKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dE9yaWVudGF0aW9uPihyYXJlSW5oZXJpdGVkRGF0YS0+
bV90ZXh0T3JpZW50YXRpb24pOyB9CiAKLSAgICBGb250U3ludGhlc2lzIGZvbnRTeW50aGVzaXMo
KSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxGb250U3ludGhlc2lzPihyYXJlSW5oZXJpdGVk
RGF0YS0+Zm9udFN5bnRoZXNpcyk7IH0KLQogICAgIE9iamVjdEZpdCBvYmplY3RGaXQoKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxPYmplY3RGaXQ+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5t
X29iamVjdEZpdCk7IH0KICAgICAKICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBhbnkgdHJhbnNmb3Jt
IHJlbGF0ZWQgcHJvcGVydHkgKGN1cnJlbnRseSB0cmFuc2Zvcm0sIHRyYW5zZm9ybVN0eWxlM0Qg
b3IgcGVyc3BlY3RpdmUpIApAQCAtMTUzOSw3ICsxNTM3LDYgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0TWFyZ2luQWZ0ZXJDb2xsYXBzZShFTWFyZ2luQ29sbGFwc2UgYykgeyBTRVRfVkFSKHJhcmVO
b25Jbmhlcml0ZWREYXRhLCBtYXJnaW5BZnRlckNvbGxhcHNlLCBjKTsgfQogICAgIHZvaWQgc2V0
V29yZEJyZWFrKEVXb3JkQnJlYWsgYikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB3b3Jk
QnJlYWssIGIpOyB9CiAgICAgdm9pZCBzZXRPdmVyZmxvd1dyYXAoRU92ZXJmbG93V3JhcCBiKSB7
IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG92ZXJmbG93V3JhcCwgYik7IH0KLSAgICB2b2lk
IHNldEZvbnRTeW50aGVzaXMoRm9udFN5bnRoZXNpcyBzeW50aGVzaXMpIHsgU0VUX1ZBUihyYXJl
SW5oZXJpdGVkRGF0YSwgZm9udFN5bnRoZXNpcywgc3ludGhlc2lzKTsgfQogICAgIHZvaWQgc2V0
TkJTUE1vZGUoRU5CU1BNb2RlIGIpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbmJzcE1v
ZGUsIGIpOyB9CiAgICAgdm9pZCBzZXRMaW5lQnJlYWsoTGluZUJyZWFrIGIpIHsgU0VUX1ZBUihy
YXJlSW5oZXJpdGVkRGF0YSwgbGluZUJyZWFrLCBiKTsgfQogICAgIHZvaWQgc2V0SHlwaGVucyhI
eXBoZW5zIGgpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgaHlwaGVucywgaCk7IH0KQEAg
LTIwNjgsNyArMjA2NSw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQmxlbmRNb2RlIGluaXRpYWxC
bGVuZE1vZGUoKSB7IHJldHVybiBCbGVuZE1vZGVOb3JtYWw7IH0KICAgICBzdGF0aWMgSXNvbGF0
aW9uIGluaXRpYWxJc29sYXRpb24oKSB7IHJldHVybiBJc29sYXRpb25BdXRvOyB9CiAjZW5kaWYK
LSAgICBzdGF0aWMgRm9udFN5bnRoZXNpcyBpbml0aWFsRm9udFN5bnRoZXNpcygpIHsgcmV0dXJu
IEZvbnRTeW50aGVzaXNTdHlsZSB8IEZvbnRTeW50aGVzaXNXZWlnaHQ7IH0KIAogICAgIHN0YXRp
YyBwdHJkaWZmX3Qgbm9uaW5oZXJpdGVkRmxhZ3NNZW1vcnlPZmZzZXQoKSB7IHJldHVybiBPQkpF
Q1RfT0ZGU0VUT0YoUmVuZGVyU3R5bGUsIG5vbmluaGVyaXRlZF9mbGFncyk7IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRz
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMu
aAppbmRleCAxYjNmNWY2NTQ0MmU4OGM1YjMzMTYzOGU0NDVmMzhkODZlZDBlNGUyLi40NzEyMDE4
YTc0OGE3YWNkNDNmOTIwMTE5NzFmMWVmMzZhMWQzYzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtNDE2LDEz
ICs0MTYsNiBAQCBlbnVtIEVUZXh0VHJhbnNmb3JtIHsKICAgICBDQVBJVEFMSVpFLCBVUFBFUkNB
U0UsIExPV0VSQ0FTRSwgVFROT05FCiB9OwogCi1lbnVtIEZvbnRTeW50aGVzaXNWYWx1ZXMgewot
ICAgIEZvbnRTeW50aGVzaXNOb25lID0gMHgwLAotICAgIEZvbnRTeW50aGVzaXNXZWlnaHQgPSAw
eDEsCi0gICAgRm9udFN5bnRoZXNpc1N0eWxlID0gMHgyCi19OwotdHlwZWRlZiB1bnNpZ25lZCBG
b250U3ludGhlc2lzOwotCiAjaWYgRU5BQkxFKExFVFRFUlBSRVNTKQogc3RhdGljIGNvbnN0IHNp
emVfdCBUZXh0RGVjb3JhdGlvbkJpdHMgPSA1OwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IGI4
ZDIzMjllNjI2YzdjMTg2MzhmMDBlNmVhNDZjNjQwZDI2ODMyZDEuLmE4OTJkNjk4NjdiYTBlODRk
OWJlNjEzZDRjM2MzODk4ZWJjYmIxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaApAQCAtMTMzLDggKzEzMyw2
IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB0cmFpbGluZ1dvcmQgOiAxOwogI2VuZGlmCiAKLSAg
ICB1bnNpZ25lZCBmb250U3ludGhlc2lzIDogMjsKLQogICAgIEF0b21pY1N0cmluZyBoeXBoZW5h
dGlvblN0cmluZzsKICAgICBzaG9ydCBoeXBoZW5hdGlvbkxpbWl0QmVmb3JlOwogICAgIHNob3J0
IGh5cGhlbmF0aW9uTGltaXRBZnRlcjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYmMyZWNjMGMzYzUxOTdhNTY3NmVlY2I4
OTgwZmJlMGQ2MmU1MGNiLi43NmMwMGJiNGRmZGE3MzgyOThmODIyODcwMGIyOGViMTViMjdmZTA4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDQtMjcgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgZm9udC1zeW50aGVzaXMg
Q1NTIHByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDQzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0IGFsbCBjb21iaW5hdGlvbnMgb2YgZm9udC13ZWlnaHQsIGZvbnQtc3R5bGUsIGFu
ZCBmb250LXN5bnRoZXNpcy4KKworICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhl
c2lzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzMy10ZXh0L2ZvbnQt
c3ludGhlc2lzLmh0bWw6IEFkZGVkLgorCiAyMDE1LTA0LTI3ICBEYW5pZWwgQmF0ZXMgIDxkYWJh
dGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBGb3JtIGNvbnRyb2wgbWF5IGJlIGFzc29jaWF0ZWQg
d2l0aCB0aGUgd3JvbmcgSFRNTCBGb3JtIGVsZW1lbnQgYWZ0ZXIgZm9ybSBpZCBjaGFuZ2UKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lzLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5bnRoZXNpcy1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzNTcyMTNmOWZjOGQ3NzllZTg4YmU4Yzk4NmU2MGJmNTVm
YmExNGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250
LXN5bnRoZXNpcy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5
OiAiQ3VzdG9tQWhlbSI7CisgICAgZm9udC13ZWlnaHQ6IDQwMDsKKyAgICBmb250LXN0eWxlOiBu
b3JtYWw7CisgICAgc3JjOiB1cmwoIi4uLy4uL3Jlc291cmNlcy9BaGVtLnR0ZiIpIGZvcm1hdCgi
dHJ1ZXR5cGUiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgdGhlIGZvbnQtc3ludGhlc2lzIHByb3BlcnR5IGRpc2FsbG93cyBzeW50aGVz
aXMgd2hlbiBpdCBpcyBzcGVjaWZpZWQuCis8ZGl2IHN0eWxlPSJmb250OiAyMHB4IEN1c3RvbUFo
ZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyBsZWZ0OiAwcHg7IHRvcDogMHB4OyI+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXY+QUJDRDwvZGl2
PgorPGRpdj5BQkNEPC9kaXY+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0i
cG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxNTBweDsgdG9wOiAwcHg7Ij4KKzxkaXY+QUJDRDwv
ZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6IDcwMDsiPkFCQ0Q8L2Rpdj4KKzxkaXY+QUJD
RDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6IDcwMDsiPkFCQ0Q8L2Rpdj4KKzwvZGl2
PgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAzMDBweDsgdG9wOiAwcHg7
Ij4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdj5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN0
eWxlOiBpdGFsaWM7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7
Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVm
dDogNDUwcHg7IHRvcDogMHB4OyI+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQt
d2VpZ2h0OiA3MDA7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7
Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXdlaWdodDogNzAwOyBmb250LXN0eWxlOiBp
dGFsaWM7Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udDogMjBw
eCBDdXN0b21BaGVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMTAwcHg7Ij4KKzxkaXYgc3R5
bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDBweDsiPgorPGRpdj5BQkNE
PC9kaXY+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdj5BQkNEPC9kaXY+
Cis8L2Rpdj4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTUwcHg7IHRv
cDogMHB4OyI+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OiA3MDA7
Ij5BQkNEPC9kaXY+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OiA3
MDA7Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsg
bGVmdDogMzAwcHg7IHRvcDogMHB4OyI+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXY+QUJDRDwvZGl2
PgorPGRpdiBzdHlsZT0iZm9udC1zdHlsZTogaXRhbGljOyI+QUJDRDwvZGl2PgorPGRpdiBzdHls
ZT0iZm9udC1zdHlsZTogaXRhbGljOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDQ1MHB4OyB0b3A6IDBweDsiPgorPGRpdj5BQkNEPC9k
aXY+Cis8ZGl2IHN0eWxlPSJmb250LXdlaWdodDogNzAwOyI+QUJDRDwvZGl2PgorPGRpdiBzdHls
ZT0iZm9udC1zdHlsZTogaXRhbGljOyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWln
aHQ6IDcwMDsgZm9udC1zdHlsZTogaXRhbGljOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8L2Rpdj4K
KzxkaXYgc3R5bGU9ImZvbnQ6IDIwcHggQWhlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDIw
MHB4OyI+Cis8ZGl2PgorQUJDRAorPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lzLXBhcnNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lz
LXBhcnNlLWV4cGVjdGVkLnR4dAppbmRleCA5MWM5NjJlYjBmYjkxMDVlM2JmOGQ4YTBhOTNmY2Mx
NDIzMGQ0Y2FiLi5kODNkZTMyM2ZlZjllY2RkZjZmZTQyMTliYWU3OTZjZDczNjgzNDg5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5bnRoZXNpcy1wYXJzZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVz
aXMtcGFyc2UtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogUEFTUyBjc3NSdWxlLnR5cGUg
aXMgY3NzUnVsZS5TVFlMRV9SVUxFCiBQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCiBQQVNT
IGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykgaXMgbnVsbAot
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJyku
Y3NzVGV4dCBpcyAibm9uZSIKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdmb250LXN5bnRoZXNpcycpLmNzc1RleHQgaXMgInN0eWxlIHdlaWdodCIKIFBBU1MgY3NzUnVs
ZS50eXBlIGlzIGNzc1J1bGUuU1RZTEVfUlVMRQogUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMg
MQogUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXN5bnRoZXNpcycpIGlz
ICJpbml0aWFsIgpAQCAtMzMsMjMgKzMzLDIzIEBAIFBBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRoZXNpcycpLmNzc1RleHQgaXMgInN0eWxlIHdlaWdoCiBQ
QVNTIGNzc1J1bGUudHlwZSBpcyBjc3NSdWxlLlNUWUxFX1JVTEUKIFBBU1MgZGVjbGFyYXRpb24u
bGVuZ3RoIGlzIDAKIFBBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zeW50
aGVzaXMnKSBpcyBudWxsCi1QQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
Zm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IGlzICJub25lIgorUEFTUyBjb21wdXRlZFN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCBpcyAic3R5bGUgd2Vp
Z2h0IgogUEFTUyBjc3NSdWxlLnR5cGUgaXMgY3NzUnVsZS5TVFlMRV9SVUxFCiBQQVNTIGRlY2xh
cmF0aW9uLmxlbmd0aCBpcyAwCiBQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2Zv
bnQtc3ludGhlc2lzJykgaXMgbnVsbAotUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NT
VmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCBpcyAibm9uZSIKK1BBU1MgY29tcHV0ZWRT
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRoZXNpcycpLmNzc1RleHQgaXMgInN0
eWxlIHdlaWdodCIKIFBBU1MgY3NzUnVsZS50eXBlIGlzIGNzc1J1bGUuU1RZTEVfUlVMRQogUEFT
UyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAogUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZh
bHVlKCdmb250LXN5bnRoZXNpcycpIGlzIG51bGwKLVBBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRoZXNpcycpLmNzc1RleHQgaXMgIm5vbmUiCitQQVNTIGNv
bXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0
IGlzICJzdHlsZSB3ZWlnaHQiCiBQQVNTIGNzc1J1bGUudHlwZSBpcyBjc3NSdWxlLlNUWUxFX1JV
TEUKIFBBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKIFBBU1MgZGVjbGFyYXRpb24uZ2V0UHJv
cGVydHlWYWx1ZSgnZm9udC1zeW50aGVzaXMnKSBpcyBudWxsCi1QQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IGlzICJub25lIgor
UEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJyku
Y3NzVGV4dCBpcyAic3R5bGUgd2VpZ2h0IgogUEFTUyBjc3NSdWxlLnR5cGUgaXMgY3NzUnVsZS5T
VFlMRV9SVUxFCiBQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCiBQQVNTIGRlY2xhcmF0aW9u
LmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykgaXMgbnVsbAotUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCBpcyAi
bm9uZSIKK1BBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRo
ZXNpcycpLmNzc1RleHQgaXMgInN0eWxlIHdlaWdodCIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MzLXRleHQvZm9udC1zeW50aGVzaXMtcGFyc2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
My10ZXh0L2ZvbnQtc3ludGhlc2lzLXBhcnNlLmh0bWwKaW5kZXggMzExMjQzODJlYzEwZDZiZjQy
MjFhZDgzYzU1ZWZiM2E1NzEwOTE2YS4uZWZkMTJjM2NmNGFmMDRkZWY4Y2Q4N2MwODkyMjRhYzI1
NmU5YjJhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvZm9udC1zeW50
aGVzaXMtcGFyc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5
bnRoZXNpcy1wYXJzZS5odG1sCkBAIC03LDE0ICs3LDE0IEBACiAgIDxkaXYgaWQ9InAiPjwvZGl2
PgogICA8ZGl2IGlkPSJxIj48ZGl2IGlkPSJyIj48L2Rpdj48L2Rpdj4KICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgIGZ1bmN0aW9uIHRlc3RFbXB0eUlzTm9uZShzdHlsZXNo
ZWV0LCB0YXJnZXQpIHsKKyAgICBmdW5jdGlvbiB0ZXN0RW1wdHlJc0JvdGgoc3R5bGVzaGVldCwg
dGFyZ2V0KSB7CiAgICAgICBjc3NSdWxlID0gc3R5bGVzaGVldC5jc3NSdWxlcy5pdGVtKDApOwog
ICAgICAgc2hvdWxkQmUoImNzc1J1bGUudHlwZSIsICJjc3NSdWxlLlNUWUxFX1JVTEUiKTsKICAg
ICAgIGRlY2xhcmF0aW9uID0gY3NzUnVsZS5zdHlsZTsKICAgICAgIHNob3VsZEJlKCJkZWNsYXJh
dGlvbi5sZW5ndGgiLCAiMCIpOwogICAgICAgc2hvdWxkQmUoImRlY2xhcmF0aW9uLmdldFByb3Bl
cnR5VmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykiLCAibnVsbCIpOwogICAgICAgY29tcHV0ZWRTdHls
ZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhcmdldCwgbnVsbCk7Ci0gICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1z
eW50aGVzaXMnKS5jc3NUZXh0IiwgIm5vbmUiKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRoZXNpcycpLmNz
c1RleHQiLCAic3R5bGUgd2VpZ2h0Iik7CiAgICAgICBzdHlsZXNoZWV0LmRlbGV0ZVJ1bGUoMCk7
CiAgICAgfQogCkBAIC03OSw3ICs3OSw3IEBACiAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJwIik7CiAKICAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoIiNwIHsgfSIs
IDApOwotICAgIHRlc3RFbXB0eUlzTm9uZShzdHlsZXNoZWV0LCB0YXJnZXQpOworICAgIHRlc3RF
bXB0eUlzQm90aChzdHlsZXNoZWV0LCB0YXJnZXQpOwogCiAgICAgc3R5bGVzaGVldC5pbnNlcnRS
dWxlKCIjcCB7IGZvbnQtc3ludGhlc2lzOiBpbml0aWFsOyB9IiwgMCk7CiAgICAgdGVzdEluaXRp
YWxJc0JvdGgoc3R5bGVzaGVldCwgdGFyZ2V0KTsKQEAgLTEwMywxOSArMTAzLDE5IEBACiAgICAg
dGVzdFN0eWxlQW5kV2VpZ2h0KHN0eWxlc2hlZXQsIHRhcmdldCk7CiAKICAgICBzdHlsZXNoZWV0
Lmluc2VydFJ1bGUoIiNwIHsgZm9udC1zeW50aGVzaXM6IGdhcmJhZ2Ugc3R5bGUgfSIsIDApOwot
ICAgIHRlc3RFbXB0eUlzTm9uZShzdHlsZXNoZWV0LCB0YXJnZXQpOworICAgIHRlc3RFbXB0eUlz
Qm90aChzdHlsZXNoZWV0LCB0YXJnZXQpOwogCiAgICAgc3R5bGVzaGVldC5pbnNlcnRSdWxlKCIj
cCB7IGZvbnQtc3ludGhlc2lzOiBzdHlsZSBnYXJiYWdlIH0iLCAwKTsKLSAgICB0ZXN0RW1wdHlJ
c05vbmUoc3R5bGVzaGVldCwgdGFyZ2V0KTsKKyAgICB0ZXN0RW1wdHlJc0JvdGgoc3R5bGVzaGVl
dCwgdGFyZ2V0KTsKIAogICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiI3AgeyBmb250LXN5bnRo
ZXNpczogZ2FyYmFnZSBzdHlsZSBnYXJiYWdlIH0iLCAwKTsKLSAgICB0ZXN0RW1wdHlJc05vbmUo
c3R5bGVzaGVldCwgdGFyZ2V0KTsKKyAgICB0ZXN0RW1wdHlJc0JvdGgoc3R5bGVzaGVldCwgdGFy
Z2V0KTsKIAogICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiI3AgeyBmb250LXN5bnRoZXNpczog
c3R5bGUgZ2FyYmFnZSBzdHlsZSB9IiwgMCk7Ci0gICAgdGVzdEVtcHR5SXNOb25lKHN0eWxlc2hl
ZXQsIHRhcmdldCk7CisgICAgdGVzdEVtcHR5SXNCb3RoKHN0eWxlc2hlZXQsIHRhcmdldCk7CiAK
ICAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUoIiNwIHsgZm9udC1zeW50aGVzaXM6IHdlaWdodCBn
YXJiYWdlIH0iLCAwKTsKLSAgICB0ZXN0RW1wdHlJc05vbmUoc3R5bGVzaGVldCwgdGFyZ2V0KTsK
KyAgICB0ZXN0RW1wdHlJc0JvdGgoc3R5bGVzaGVldCwgdGFyZ2V0KTsKIAogICA8L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5bnRoZXNpcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQyYjVhOTA2OTJjOTk4OWEwNjhhMjllODU2MTcxOTU4M2I0MmI5ZmQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5bnRoZXNpcy5odG1s
CkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHls
ZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQ3VzdG9tQWhlbSI7CisgICAgZm9u
dC13ZWlnaHQ6IDQwMDsKKyAgICBmb250LXN0eWxlOiBub3JtYWw7CisgICAgc3JjOiB1cmwoIi4u
Ly4uL3Jlc291cmNlcy9BaGVtLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKTsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIGZvbnQtc3lu
dGhlc2lzIHByb3BlcnR5IGRpc2FsbG93cyBzeW50aGVzaXMgd2hlbiBpdCBpcyBzcGVjaWZpZWQu
Cis8ZGl2IHN0eWxlPSJmb250OiAyMHB4IEN1c3RvbUFoZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsi
PgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwcHg7IHRvcDogMHB4OyI+
Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogbm9uZTsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5
bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250
LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNp
czogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXdl
aWdodDogNzAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDE1MHB4OyB0b3A6IDBweDsiPgor
PGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxl
PSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1z
eW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6
IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zdHls
ZTogaXRhbGljOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDMwMHB4OyB0b3A6IDBweDsiPgor
PGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxl
PSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1z
eW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6
IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWln
aHQ6IDcwMDsgZm9udC1zdHlsZTogaXRhbGljOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDQ1
MHB4OyB0b3A6IDBweDsiPgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5BQkNE
PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJDRDwvZGl2Pgor
PGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2PgorPGRpdiBzdHls
ZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPC9k
aXY+Cis8ZGl2IHN0eWxlPSJmb250OiAyMHB4IEFoZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9w
OiAxMDBweDsiPgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwcHg7IHRv
cDogMHB4OyI+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogbm9uZTsiPkFCQ0Q8L2Rpdj4K
KzxkaXYgc3R5bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0
eWxlPSJmb250LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250
LXN5bnRoZXNpczogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxl
PSJmb250LXdlaWdodDogNzAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDE1MHB4OyB0b3A6
IDBweDsiPgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5BQkNEPC9kaXY+Cis8
ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJDRDwvZGl2PgorPGRpdiBzdHls
ZT0iZm9udC1zeW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1z
eW50aGVzaXM6IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0i
Zm9udC1zdHlsZTogaXRhbGljOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDMwMHB4OyB0b3A6
IDBweDsiPgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5BQkNEPC9kaXY+Cis8
ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJDRDwvZGl2PgorPGRpdiBzdHls
ZT0iZm9udC1zeW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1z
eW50aGVzaXM6IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0i
Zm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zdHlsZTogaXRhbGljOyBwb3NpdGlvbjogYWJzb2x1dGU7
IGxlZnQ6IDQ1MHB4OyB0b3A6IDBweDsiPgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IG5v
bmU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0OyI+QUJD
RDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHN0eWxlOyI+QUJDRDwvZGl2Pgor
PGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodCBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzwv
ZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiAyMHB4IEFoZW07IHBvc2l0aW9uOiByZWxh
dGl2ZTsgdG9wOiAyMDBweDsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij4KKzxkaXYgc3R5bGU9ImZv
bnQtc3R5bGU6IGl0YWxpYzsiPgorQUJDRAorPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251863</attachid>
            <date>2015-04-28 11:02:35 -0700</date>
            <delta_ts>2015-04-28 11:25:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144305-20150428110126.patch</filename>
            <type>text/plain</type>
            <size>34148</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzcyMzIxZGQxMzU2ZjNk
MzcwNTVmMjlhNzE2NWVjYTMyMjUwMWUyYS4uODYzNDRmMGU3NjJmNmNkZjk1NjYzNzFkODEyMmRm
NTgxYmQwMmFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU5IEBACiAyMDE1LTA0LTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKKyAgICAgICAgW01hY10gW2lP
U10gSW1wbGVtZW50IGZvbnQtc3ludGhlc2lzIENTUyBwcm9wZXJ0eQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MzA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBmYWlybHkgc3Ry
YWlnaHRmb3J3YXJkLCB0aG91Z2ggdGhlcmUgYXJlIHNvbWUgcGFydGljdWxhciBwaWVjZXMgdG8g
dGhlIHBhdGNoIGxpc3RlZCBiZWxvdy4KKworICAgICAgICBUaGUgaW1wbGVtZW50YXRpb24gb2Yg
dGhpcyBmb250LXN5bnRoZXNpcyBDU1MgcHJvcGVydHkgbGl2ZXMgaW5zaWRlIEZvbnRDYWNoZUlP
UyBhbmQgRm9udENhY2hlTWFjLiBXZSBhbHJlYWR5CisgICAgICAgIGRldGVybWluZSBpZiB3ZSBz
aG91bGQgc3ludGhlc2l6ZSBib2xkIGFuZCBpdGFsaWNzLCB0aGlzIENTUyBwcm9wZXJ0eSBzaW1w
bHkgZ3VhcmRzIHRoYXQgZGVjaXNpb24uCisKKyAgICAgICAgQmVjYXVzZSBGb250Q2FjaGUgaW50
ZXJhY3RzIHdpdGggRm9udERlc2NyaXB0aW9ucyBhbmQgbm90IFJlbmRlclN0eWxlcywgdGhpcyBw
YXRjaCBtb3ZlcyB0aGUgc291cmNlIG9mIHRydXRoCisgICAgICAgIHJlZ2FyZGluZyBmb250LXN5
bnRoZXNpcyBpbnRvIEZvbnREZXNjcmlwdGlvbiAoZnJvbSBSZW5kZXJTdHlsZSkuCisKKyAgICAg
ICAgVGVzdDogZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVzaXMuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46IE1hcmsgZm9udC1zeW50aGVzaXMgYXMgYSBGb250UHJv
cGVydHksIHdoaWNoIG1lYW5zIHRoYXQgdGhlIHJlbGV2YW50IHN0YXRlIGlzIGtlcHQKKyAgICAg
ICAgaW5zaWRlIEZvbnREZXNjcmlwdGlvbi4gVGhpcyBhbHNvIG1lYW5zIHRoYXQgdGhlIHByb3Bl
cnR5IG11c3QgYmUgbWFya2VkIGFzIGEgImhpZ2ggcHJpb3JpdHkiIHByb3BlcnR5LCB3aGljaAor
ICAgICAgICBpcyBlbmZvcmNlZCBieSBpdCBleGlzdGluZyBhdCB0aGUgdG9wIG9mIENTU1Byb3Bl
cnR5TmFtZXMuaW4uIFRoZSBtb3ZlIHRvIEZvbnREZXNjcmlwdGlvbiBtdXN0IGJlIGRvbmUgc28g
dGhhdAorICAgICAgICBGb250Q2FjaGVJT1MgYW5kIEZvbnRDYWNoZU1hYyBoYXZlIGFjY2VzcyB0
byB0aGUgc2F2ZWQgc3RhdGUuCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmb250U3ludGhlc2lzRnJvbVN0eWxlKTogVXBk
YXRlIHRvIGxvb2sgZm9yIHN0YXRlIGluIEZvbnREZXNjcmlwdGlvbiBpbnN0ZWFkIG9mIFJlbmRl
clN0eWxlLgorICAgICAgICAqIGNzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NTZWdtZW50ZWRGb250RmFjZTo6Zm9udFJhbmdlcyk6IEd1YXJkIHRoZSBz
eW50aGV0aWMgYm9sZCBhbmQgc3ludGhpYyBpdGFsaWMgZGVjaXNpb24gb24gdGhlIG5ldworICAg
ICAgICBGb250U3ludGhlc2lzIHN0YXRlIGluc2lkZSBGb250RGVzY3JpcHRpb24uCisgICAgICAg
ICogY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVC
dWlsZGVyQ29udmVydGVyOjpjb252ZXJ0Rm9udFN5bnRoZXNpcyk6IE1vdmVkIGZyb20KKyAgICAg
ICAgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFN5bnRoZXNpcygpLiBUaGlzIGlz
IGJlY2F1c2Ugb2YgdGhlIHVwZGF0ZWQgb3B0aW9ucyBpbnNpZGUgb2YKKyAgICAgICAgQ1NTUHJv
cGVydHlOYW1lcy5pbgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRTeW50aGVzaXMp
OiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5o
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpGb250RGVzY3JpcHRpb24pOiBN
b3ZlZCBmcm9tIFJlbmRlclN0eWxlLgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9u
Ojpmb250U3ludGhlc2lzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRp
b246OnNldEZvbnRTeW50aGVzaXMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnREZXNj
cmlwdGlvbjo6aW5pdGlhbEZvbnRTeW50aGVzaXMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OkZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PSk6IFVwZGF0ZSB0byBpbmNsdWRlIG5ldyBzdGF0
ZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnREZXNjcmlwdGlvbkZvbnREYXRhQ2FjaGVLZXk6Om1ha2VGbGFnS2V5KTogTWFr
ZSBGb250RGVzY3JpcHRpb24gaGFzaGVzIHNlbnNpdGl2ZSB0byB0aGUgbmV3CisgICAgICAgIHN0
YXRlIGluc2lkZSBGb250RGVzY3JpcHRpb24uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
aW9zL0ZvbnRDYWNoZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYWNoZTo6Y3JlYXRl
Rm9udFBsYXRmb3JtRGF0YSk6IEd1YXJkIHRoZSBzeW50aGV0aWMgYm9sZCBhbmQgc3ludGhldGlj
IGl0YWxpYyBkZWNpc2lvbiBvbiB0aGUKKyAgICAgICAgbmV3IEZvbnRTeW50aGVzaXMgc3RhdGUg
aW5zaWRlIEZvbnREZXNjcmlwdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udENhY2hlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hlOjpjcmVhdGVGb250
UGxhdGZvcm1EYXRhKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0RmxhZ3Mu
aDogTW92ZSBGb250U3ludGhlc2lzIHR5cGUgZnJvbSBSZW5kZXJTdHlsZUNvbnN0YW50cy4KKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclN0eWxlOjpmb250U3ludGhlc2lzKTogTW92ZWQgdG8gRm9udERlc2NyaXB0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldEZvbnRTeW50aGVzaXMpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjppbml0aWFsRm9udFN5bnRoZXNpcyk6IERp
dHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOiBN
b3ZlZCBGb250U3ludGhlc2lzIHR5cGUgdG8gVGV4dEZsYWdzLgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6IFJlbW92ZSBzdGF0ZSByZWdhcmRpbmcg
Zm9udCBzeW50aGVzaXMgKG1vdmVkIHRvIEZvbnREZXNjcmlwdGlvbikKKworMjAxNS0wNC0yNyAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCiAgICAgICAgIENvbnNv
bGlkYXRlIG9uZS1saW5lIGZsYWctcmVsYXRlZCBoZWFkZXIgZmlsZXMgaW50byBUZXh0RmxhZ3Mu
aAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0Mjk1
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggMzFmZjBhODU4ZmM0OGFiNDQ4NjY5ZWU3MmNlYmU2NWFiZDE0MDk2Ni4uOThl
YTdmN2NmYjkyMGZlNTYwZmRhNWEzMWM2OTRkZTYyZTIzM2NhNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTE2MTMsMTMg
KzE2MTMsMTMgQEAgc3RhdGljIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gZm9udFdlaWdodEZyb21T
dHlsZShSZW5kZXJTdHlsZSogc3R5bGUpCiAKIHN0YXRpYyBSZWY8Q1NTVmFsdWU+IGZvbnRTeW50
aGVzaXNGcm9tU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlKQogewotICAgIGlmIChzdHlsZS5mb250
U3ludGhlc2lzKCkgPT0gRm9udFN5bnRoZXNpc05vbmUpCisgICAgaWYgKHN0eWxlLmZvbnREZXNj
cmlwdGlvbigpLmZvbnRTeW50aGVzaXMoKSA9PSBGb250U3ludGhlc2lzTm9uZSkKICAgICAgICAg
cmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUp
OwogCiAgICAgYXV0byBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgp
OwotICAgIGlmIChzdHlsZS5mb250U3ludGhlc2lzKCkgJiBGb250U3ludGhlc2lzU3R5bGUpCisg
ICAgaWYgKHN0eWxlLmZvbnREZXNjcmlwdGlvbigpLmZvbnRTeW50aGVzaXMoKSAmIEZvbnRTeW50
aGVzaXNTdHlsZSkKICAgICAgICAgbGlzdC5nZXQoKS5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3Jl
YXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlU3R5bGUpKTsKLSAgICBpZiAoc3R5bGUuZm9udFN5
bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkKKyAgICBpZiAoc3R5bGUuZm9udERlc2Ny
aXB0aW9uKCkuZm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkKICAgICAgICAg
bGlzdC5nZXQoKS5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlV2VpZ2h0KSk7CiAgICAgcmV0dXJuIFJlZjxDU1NWYWx1ZT4obGlzdC5nZXQoKSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDA3NDJmZGM5MjM4NzI5
NjBkYmEzN2VkNWU1ZDE1NDUzYTc0ZWFjODEuLjA1MzZkZTM1NDA4YTM2YzIyMGQzZGUzNzUwZjgz
ZWZmOTI3YTViMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0x
MTgsNiArMTE4LDcgQEAgdGV4dC1yZW5kZXJpbmcgW0luaGVyaXRlZCwgRm9udFByb3BlcnR5LCBO
YW1lRm9yTWV0aG9kcz1UZXh0UmVuZGVyaW5nTW9kZV0KIC13ZWJraXQtd3JpdGluZy1tb2RlIFtJ
bmhlcml0ZWQsIEN1c3RvbT1WYWx1ZV0KIC1lcHViLXdyaXRpbmctbW9kZSA9IC13ZWJraXQtd3Jp
dGluZy1tb2RlCiB6b29tIFtDdXN0b209QWxsXQorZm9udC1zeW50aGVzaXMgW0luaGVyaXRlZCwg
Rm9udFByb3BlcnR5LCBDb252ZXJ0ZXI9Rm9udFN5bnRoZXNpc10KIAogLy8gS2VlcCB0aGlzIGlu
IGJldHdlZW4gdGhlIGhpZ2hlc3QgcHJpb3JpdHkgcHJvcHMgYW5kIHRoZSBsb3dlciBvbmVzLgog
LXdlYmtpdC1ydWJ5LXBvc2l0aW9uIFtJbmhlcml0ZWRdCkBAIC0yMjMsNyArMjI0LDYgQEAgZmxv
b2QtY29sb3IgW1NWRywgQ29udmVydGVyPVNWR0NvbG9yXQogZmxvb2Qtb3BhY2l0eSBbU1ZHLCBD
b252ZXJ0ZXI9T3BhY2l0eV0KIGZvbnQgW0luaGVyaXRlZCwgTG9uZ2hhbmRzPWZvbnQtZmFtaWx5
fGZvbnQtc2l6ZXxmb250LXN0eWxlfGZvbnQtdmFyaWFudHxmb250LXdlaWdodHxsaW5lLWhlaWdo
dF0KIGZvbnQtc3RyZXRjaCBbU2tpcEJ1aWxkZXJdCi1mb250LXN5bnRoZXNpcyBbSW5oZXJpdGVk
LCBDdXN0b209VmFsdWVdCiBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIFtJbmhlcml0ZWQs
IFNWRywgQ29udmVydGVyPUdseXBoT3JpZW50YXRpb25dCiBnbHlwaC1vcmllbnRhdGlvbi12ZXJ0
aWNhbCBbSW5oZXJpdGVkLCBTVkcsIENvbnZlcnRlcj1HbHlwaE9yaWVudGF0aW9uT3JBdXRvXQog
aGVpZ2h0IFtJbml0aWFsPWluaXRpYWxTaXplLCBDb252ZXJ0ZXI9TGVuZ3RoU2l6aW5nXQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21lbnRlZEZvbnRGYWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWdtZW50ZWRGb250RmFjZS5jcHAKaW5kZXggZjhjNGYzZjMy
OWQ1N2YzYjZlOGEzYjMyODFkZThlMDc3YjVhMWYzZS4uMTc0Y2UzOGI3NGNmOTdiMzlmZjRiOTM0
YmI0Y2FiMDYxNjVmYzg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlZ21l
bnRlZEZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VnbWVudGVkRm9u
dEZhY2UuY3BwCkBAIC0xMTMsNyArMTEzLDkgQEAgRm9udFJhbmdlcyBDU1NTZWdtZW50ZWRGb250
RmFjZTo6Zm9udFJhbmdlcyhjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGkKICAg
ICAgICAgcmV0dXJuIEZvbnRSYW5nZXMoKTsKIAogICAgIEZvbnRUcmFpdHNNYXNrIGRlc2lyZWRU
cmFpdHNNYXNrID0gZm9udERlc2NyaXB0aW9uLnRyYWl0c01hc2soKTsKLSAgICB1bnNpZ25lZCBo
YXNoS2V5ID0gKChmb250RGVzY3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKSArIDEpIDw8IChG
b250VHJhaXRzTWFza1dpZHRoICsgRm9udFdpZHRoVmFyaWFudFdpZHRoICsgMSkpCisgICAgLy8g
RklYTUU6IFVuaWZ5IHRoaXMgZnVuY3Rpb24gd2l0aCBGb250RGVzY3JpcHRpb25Gb250RGF0YUNh
Y2hlS2V5IGluIEZvbnRDYWNoZS5oIChPciBqdXN0IHVzZSB0aGUgcmVndWxhciBGb250Q2FjaGUg
aW5zdGVhZCBvZiB0aGlzKQorICAgIHVuc2lnbmVkIGhhc2hLZXkgPSAoKGZvbnREZXNjcmlwdGlv
bi5jb21wdXRlZFBpeGVsU2l6ZSgpICsgMSkgPDwgKEZvbnRUcmFpdHNNYXNrV2lkdGggKyBGb250
V2lkdGhWYXJpYW50V2lkdGggKyBGb250U3ludGhlc2lzV2lkdGggKyAxKSkKKyAgICAgICAgfCAo
Zm9udERlc2NyaXB0aW9uLmZvbnRTeW50aGVzaXMoKSA8PCAoRm9udFRyYWl0c01hc2tXaWR0aCAr
IEZvbnRXaWR0aFZhcmlhbnRXaWR0aCArIDEpKQogICAgICAgICB8ICgoZm9udERlc2NyaXB0aW9u
Lm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwgPyAxIDogMCkgPDwgKEZvbnRUcmFpdHNNYXNrV2lk
dGggKyBGb250V2lkdGhWYXJpYW50V2lkdGgpKQogICAgICAgICB8IGZvbnREZXNjcmlwdGlvbi53
aWR0aFZhcmlhbnQoKSA8PCBGb250VHJhaXRzTWFza1dpZHRoCiAgICAgICAgIHwgZGVzaXJlZFRy
YWl0c01hc2s7CkBAIC0xMjUsOSArMTI3LDExIEBAIEZvbnRSYW5nZXMgQ1NTU2VnbWVudGVkRm9u
dEZhY2U6OmZvbnRSYW5nZXMoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpCiAg
ICAgICAgIGZvciAoYXV0byYgZmFjZSA6IG1fZm9udEZhY2VzKSB7CiAgICAgICAgICAgICBpZiAo
IWZhY2UtPmlzVmFsaWQoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICAg
ICAgRm9udFRyYWl0c01hc2sgdHJhaXRzTWFzayA9IGZhY2UtPnRyYWl0c01hc2soKTsKLSAgICAg
ICAgICAgIGJvb2wgc3ludGhldGljQm9sZCA9ICEodHJhaXRzTWFzayAmIChGb250V2VpZ2h0NjAw
TWFzayB8IEZvbnRXZWlnaHQ3MDBNYXNrIHwgRm9udFdlaWdodDgwME1hc2sgfCBGb250V2VpZ2h0
OTAwTWFzaykpICYmIChkZXNpcmVkVHJhaXRzTWFzayAmIChGb250V2VpZ2h0NjAwTWFzayB8IEZv
bnRXZWlnaHQ3MDBNYXNrIHwgRm9udFdlaWdodDgwME1hc2sgfCBGb250V2VpZ2h0OTAwTWFzaykp
OwotICAgICAgICAgICAgYm9vbCBzeW50aGV0aWNJdGFsaWMgPSAhKHRyYWl0c01hc2sgJiBGb250
U3R5bGVJdGFsaWNNYXNrKSAmJiAoZGVzaXJlZFRyYWl0c01hc2sgJiBGb250U3R5bGVJdGFsaWNN
YXNrKTsKKyAgICAgICAgICAgIGJvb2wgc3ludGhldGljQm9sZCA9IChmb250RGVzY3JpcHRpb24u
Zm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkgJiYgISh0cmFpdHNNYXNrICYg
KEZvbnRXZWlnaHQ2MDBNYXNrIHwgRm9udFdlaWdodDcwME1hc2sgfCBGb250V2VpZ2h0ODAwTWFz
ayB8IEZvbnRXZWlnaHQ5MDBNYXNrKSkgJiYgKGRlc2lyZWRUcmFpdHNNYXNrICYgKEZvbnRXZWln
aHQ2MDBNYXNrIHwgRm9udFdlaWdodDcwME1hc2sgfCBGb250V2VpZ2h0ODAwTWFzayB8IEZvbnRX
ZWlnaHQ5MDBNYXNrKSk7CisgICAgICAgICAgICBib29sIHN5bnRoZXRpY0l0YWxpYyA9IChmb250
RGVzY3JpcHRpb24uZm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1N0eWxlKSAmJiAhKHRy
YWl0c01hc2sgJiBGb250U3R5bGVJdGFsaWNNYXNrKSAmJiAoZGVzaXJlZFRyYWl0c01hc2sgJiBG
b250U3R5bGVJdGFsaWNNYXNrKTsKKwogICAgICAgICAgICAgaWYgKFJlZlB0cjxGb250PiBmYWNl
Rm9udCA9IGZhY2UtPmZvbnQoZm9udERlc2NyaXB0aW9uLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0
aWNJdGFsaWMpKQogICAgICAgICAgICAgICAgIGFwcGVuZEZvbnRXaXRoSW52YWxpZFVuaWNvZGVS
YW5nZUlmTG9hZGluZyhmb250UmFuZ2VzLCBmYWNlRm9udC5yZWxlYXNlTm9uTnVsbCgpLCBmYWNl
LT5yYW5nZXMoKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJD
b252ZXJ0ZXIuaAppbmRleCA4NTE1YzliNGExYWMxZGE5MTYyOGExYWFkY2NkODJhNTA2ZTk0NTA1
Li5jZjY2OWU3NDU5MDgwYTU4Y2MyMTljMDIxMTAyZWIzMGY0OGQ4ODkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCkBAIC0xMjQsNiArMTI0LDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBFR2x5cGhPcmllbnRhdGlvbiBjb252ZXJ0R2x5cGhPcmllbnRhdGlv
bihTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgRUdseXBoT3JpZW50YXRp
b24gY29udmVydEdseXBoT3JpZW50YXRpb25PckF1dG8oU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVl
Jik7CiAgICAgc3RhdGljIE9wdGlvbmFsPExlbmd0aD4gY29udmVydExpbmVIZWlnaHQoU3R5bGVS
ZXNvbHZlciYsIENTU1ZhbHVlJiwgZmxvYXQgbXVsdGlwbGllciA9IDEuZik7CisgICAgc3RhdGlj
IEZvbnRTeW50aGVzaXMgY29udmVydEZvbnRTeW50aGVzaXMoU3R5bGVSZXNvbHZlciYsIENTU1Zh
bHVlJik7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFN0eWxlQnVpbGRlckN1c3RvbTsK
QEAgLTEyMTEsNiArMTIxMiwzMiBAQCBpbmxpbmUgT3B0aW9uYWw8TGVuZ3RoPiBTdHlsZUJ1aWxk
ZXJDb252ZXJ0ZXI6OmNvbnZlcnRMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXImCiAgICAgcmV0dXJu
IE51bGxvcHQ7CiB9CiAKK0ZvbnRTeW50aGVzaXMgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252
ZXJ0Rm9udFN5bnRoZXNpcyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAg
IGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKSB7CisgICAgICAgIEFTU0VSVChkb3du
Y2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpLmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZU5v
bmUpOworICAgICAgICByZXR1cm4gRm9udFN5bnRoZXNpc05vbmU7CisgICAgfQorCisgICAgRm9u
dFN5bnRoZXNpcyByZXN1bHQgPSBGb250U3ludGhlc2lzTm9uZTsKKyAgICBBU1NFUlQoaXM8Q1NT
VmFsdWVMaXN0Pih2YWx1ZSkpOworICAgIGZvciAoQ1NTVmFsdWUmIGkgOiBkb3duY2FzdDxDU1NW
YWx1ZUxpc3Q+KHZhbHVlKSkgeworICAgICAgICBzd2l0Y2ggKGRvd25jYXN0PENTU1ByaW1pdGl2
ZVZhbHVlPihpKS5nZXRWYWx1ZUlEKCkpIHsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVdlaWdodDoK
KyAgICAgICAgICAgIHJlc3VsdCB8PSBGb250U3ludGhlc2lzV2VpZ2h0OworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVTdHlsZToKKyAgICAgICAgICAgIHJlc3VsdCB8
PSBGb250U3ludGhlc2lzU3R5bGU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBTdHlsZUJ1aWxkZXJDb252ZXJ0ZXJfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGMwN2JhN2QxNzQwYWI3MjEzYjkz
NTJiNzNkYzY0OWI5YTgyYWIyYjQuLjRiY2Y2YzU1N2Y4NWU5NTBlOGZjZDY5Y2E2NTk2N2MyODQ5
NzZiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTc2LDcg
Kzc2LDYgQEAgcHVibGljOgogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEZv
bnRGYW1pbHkpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKEZvbnRTaXpl
KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhGb250V2VpZ2h0KTsKLSAg
ICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhGb250U3ludGhlc2lzKTsKICNpZiBF
TkFCTEUoQ1NTX0lNQUdFX1JFU09MVVRJT04pCiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01f
SEFORExFUlMoSW1hZ2VSZXNvbHV0aW9uKTsKICNlbmRpZgpAQCAtMTM3NiwzMiArMTM3NSw2IEBA
IGlubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZvbnRXZWlnaHQoU3R5
bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlCiAgICAgc3R5bGVSZXNvbHZlci5zZXRGb250RGVzY3Jp
cHRpb24oZm9udERlc2NyaXB0aW9uKTsKIH0KIAotaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3Vz
dG9tOjphcHBseVZhbHVlRm9udFN5bnRoZXNpcyhTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVy
LCBDU1NWYWx1ZSYgdmFsdWUpCi17Ci0gICAgaWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1
ZSkpIHsKLSAgICAgICAgQVNTRVJUKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSku
Z2V0VmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSk7Ci0gICAgICAgIHN0eWxlUmVzb2x2ZXIuc3R5
bGUoKS0+c2V0Rm9udFN5bnRoZXNpcyhGb250U3ludGhlc2lzTm9uZSk7Ci0gICAgfQotCi0gICAg
Rm9udFN5bnRoZXNpcyByZXN1bHQgPSBGb250U3ludGhlc2lzTm9uZTsKLSAgICBBU1NFUlQoaXM8
Q1NTVmFsdWVMaXN0Pih2YWx1ZSkpOwotICAgIGZvciAoQ1NTVmFsdWUmIGkgOiBkb3duY2FzdDxD
U1NWYWx1ZUxpc3Q+KHZhbHVlKSkgewotICAgICAgICBzd2l0Y2ggKGRvd25jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlPihpKS5nZXRWYWx1ZUlEKCkpIHsKLSAgICAgICAgY2FzZSBDU1NWYWx1ZVdlaWdo
dDoKLSAgICAgICAgICAgIHJlc3VsdCB8PSBGb250U3ludGhlc2lzV2VpZ2h0OwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ1NTVmFsdWVTdHlsZToKLSAgICAgICAgICAgIHJlc3Vs
dCB8PSBGb250U3ludGhlc2lzU3R5bGU7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldEZv
bnRTeW50aGVzaXMocmVzdWx0KTsKLX0KLQogaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9t
OjphcHBseUluaXRpYWxDb2x1bW5HYXAoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKIHsK
ICAgICBzdHlsZVJlc29sdmVyLnN0eWxlKCktPnNldEhhc05vcm1hbENvbHVtbkdhcCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDBlYjUzNmY4ZWZhNTJiNzJjMmY2Y2Nh
NjM0N2JhYTM5ZGM0NTU3NGUuLmE2NjA5YWQ4OThkNGRiNWFhOGJmMTNkZjNmMmQ2YWE1ZTA4ZmI4
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTE2OCw3ICsxNjgsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLXN0
YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGxhc3RIaWdoUHJpb3JpdHlQcm9wZXJ0eSA9IENTU1By
b3BlcnR5Wm9vbTsKK3N0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGxhc3RIaWdoUHJpb3JpdHlQ
cm9wZXJ0eSA9IENTU1Byb3BlcnR5Rm9udFN5bnRoZXNpczsKIHN0YXRpYyBjb25zdCBDU1NQcm9w
ZXJ0eUlEIGZpcnN0TG93UHJpb3JpdHlQcm9wZXJ0eSA9IHN0YXRpY19jYXN0PENTU1Byb3BlcnR5
SUQ+KGxhc3RIaWdoUHJpb3JpdHlQcm9wZXJ0eSArIDEpOwogCiBjbGFzcyBTdHlsZVJlc29sdmVy
OjpDYXNjYWRlZFByb3BlcnRpZXMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuaAppbmRleCBjNGVkZWQyYjg5YzUyYTZlY2VkYTc2MjFkNTViMTE5ZDBiMWZj
OTg5Li4zNTJjMTY4ZjRiZjliYTZiYjQ1MGJkOTFhNGI5OWEyNDc3NDMyMTYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNzksNyArNzksOCBA
QCBzdHJ1Y3QgRm9udERlc2NyaXB0aW9uRm9udERhdGFDYWNoZUtleSB7CiAgICAgeyB9CiAgICAg
c3RhdGljIHVuc2lnbmVkIG1ha2VGbGFnS2V5KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3Jp
cHRpb24pCiAgICAgewotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRlc2Ny
aXB0aW9uLndpZHRoVmFyaWFudCgpKSA8PCA0CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oZGVzY3JpcHRpb24uZm9udFN5bnRoZXNpcygpKSA8PCA2CisgICAgICAgICAgICB8
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQoKSkgPDwgNAog
ICAgICAgICAgICAgfCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVzY3JpcHRpb24ubm9uQ0pLR2x5
cGhPcmllbnRhdGlvbigpKSA8PCAzCiAgICAgICAgICAgICB8IHN0YXRpY19jYXN0PHVuc2lnbmVk
PihkZXNjcmlwdGlvbi5vcmllbnRhdGlvbigpKSA8PCAyCiAgICAgICAgICAgICB8IHN0YXRpY19j
YXN0PHVuc2lnbmVkPihkZXNjcmlwdGlvbi5pdGFsaWMoKSkgPDwgMQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAppbmRleCAyZjM5Nzcx
MGY3MzMyMGYxYjBhMzBmNzc5NTEyMWJiZGFlMzg2YTNjLi5kODBhMmQ1NzVlMzAyN2Q5N2E4Yjdj
MzFkOTExMmQzYzVkNTcwYWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaApAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICwgbV90ZXh0UmVuZGVyaW5nKEF1dG9UZXh0UmVuZGVyaW5nKQogICAgICAgICAsIG1faXNT
cGVjaWZpZWRGb250KGZhbHNlKQogICAgICAgICAsIG1fc2NyaXB0KFVTQ1JJUFRfQ09NTU9OKQor
ICAgICAgICAsIG1fZm9udFN5bnRoZXNpcyhpbml0aWFsRm9udFN5bnRoZXNpcygpKQogICAgIHsK
ICAgICB9CiAKQEAgLTEwOSw2ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgTm9uQ0pLR2x5cGhPcmll
bnRhdGlvbiBub25DSktHbHlwaE9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8Tm9uQ0pLR2x5cGhPcmllbnRhdGlvbj4obV9ub25DSktHbHlwaE9yaWVudGF0aW9uKTsgfQog
ICAgIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Rm9udFdpZHRoVmFyaWFudD4obV93aWR0aFZhcmlhbnQpOyB9CiAgICAgRm9udEZlYXR1
cmVTZXR0aW5ncyogZmVhdHVyZVNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlU2V0
dGluZ3MuZ2V0KCk7IH0KKyAgICBGb250U3ludGhlc2lzIGZvbnRTeW50aGVzaXMoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxGb250U3ludGhlc2lzPihtX2ZvbnRTeW50aGVzaXMpOyB9CiAK
ICAgICB2b2lkIHNldE9uZUZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSkgeyBBU1NF
UlQobV9mYW1pbGllcy5zaXplKCkgPT0gMSk7IG1fZmFtaWxpZXNbMF0gPSBmYW1pbHk7IH0KICAg
ICB2b2lkIHNldEZhbWlsaWVzKGNvbnN0IFZlY3RvcjxBdG9taWNTdHJpbmc+JiBmYW1pbGllcykg
eyBtX2ZhbWlsaWVzID0gUmVmQ291bnRlZEFycmF5PEF0b21pY1N0cmluZz4oZmFtaWxpZXMpOyB9
CkBAIC0xNDcsNiArMTQ5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2lkdGhWYXJpYW50KEZv
bnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KSB7IG1fd2lkdGhWYXJpYW50ID0gd2lkdGhWYXJp
YW50OyB9CiAgICAgdm9pZCBzZXRTY3JpcHQoVVNjcmlwdENvZGUgcykgeyBtX3NjcmlwdCA9IHM7
IH0KICAgICB2b2lkIHNldEZlYXR1cmVTZXR0aW5ncyhQYXNzUmVmUHRyPEZvbnRGZWF0dXJlU2V0
dGluZ3M+IHNldHRpbmdzKSB7IG1fZmVhdHVyZVNldHRpbmdzID0gc2V0dGluZ3M7IH0KKyAgICB2
b2lkIHNldEZvbnRTeW50aGVzaXMoRm9udFN5bnRoZXNpcyBmb250U3ludGhlc2lzKSB7IG1fZm9u
dFN5bnRoZXNpcyA9IGZvbnRTeW50aGVzaXM7IH0KIAogI2lmIEVOQUJMRShJT1NfVEVYVF9BVVRP
U0laSU5HKQogICAgIGJvb2wgZmFtaWxpZXNFcXVhbEZvclRleHRBdXRvU2l6aW5nKGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgb3RoZXIpIGNvbnN0OwpAQCAtMTY2LDYgKzE2OSw3IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgS2VybmluZyBpbml0aWFsS2VybmluZygpIHsgcmV0dXJuIEF1dG9LZXJuaW5n
OyB9CiAgICAgc3RhdGljIEZvbnRTbW9vdGhpbmdNb2RlIGluaXRpYWxGb250U21vb3RoaW5nKCkg
eyByZXR1cm4gQXV0b1Ntb290aGluZzsgfQogICAgIHN0YXRpYyBUZXh0UmVuZGVyaW5nTW9kZSBp
bml0aWFsVGV4dFJlbmRlcmluZ01vZGUoKSB7IHJldHVybiBBdXRvVGV4dFJlbmRlcmluZzsgfQor
ICAgIHN0YXRpYyBGb250U3ludGhlc2lzIGluaXRpYWxGb250U3ludGhlc2lzKCkgeyByZXR1cm4g
Rm9udFN5bnRoZXNpc1dlaWdodCB8IEZvbnRTeW50aGVzaXNTdHlsZTsgfQogCiBwcml2YXRlOgog
ICAgIFJlZkNvdW50ZWRBcnJheTxBdG9taWNTdHJpbmc+IG1fZmFtaWxpZXM7CkBAIC0yMDEsNiAr
MjA1LDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3RleHRSZW5kZXJpbmcgOiAyOyAvLyBU
ZXh0UmVuZGVyaW5nTW9kZQogICAgIHVuc2lnbmVkIG1faXNTcGVjaWZpZWRGb250IDogMTsgLy8g
VHJ1ZSBpZiBhIHdlYiBwYWdlIHNwZWNpZmllcyBhIG5vbi1nZW5lcmljIGZvbnQgZmFtaWx5IGFz
IHRoZSBmaXJzdCBmb250IGZhbWlseS4KICAgICB1bnNpZ25lZCBtX3NjcmlwdCA6IDc7IC8vIFVz
ZWQgdG8gaGVscCBjaG9vc2UgYW4gYXBwcm9wcmlhdGUgZm9udCBmb3IgZ2VuZXJpYyBmb250IGZh
bWlsaWVzLgorICAgIHVuc2lnbmVkIG1fZm9udFN5bnRoZXNpcyA6IDI7IC8vIEZvbnRTeW50aGVz
aXMgdHlwZQogfTsKIAogaW5saW5lIGJvb2wgRm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09KGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgb3RoZXIpIGNvbnN0CkBAIC0yMjUsNyArMjMwLDggQEAgaW5s
aW5lIGJvb2wgRm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09KGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgb3RoZXIpIGNvbnN0CiAgICAgICAgICYmIG1fbm9uQ0pLR2x5cGhPcmllbnRhdGlvbiA9PSBv
dGhlci5tX25vbkNKS0dseXBoT3JpZW50YXRpb24KICAgICAgICAgJiYgbV93aWR0aFZhcmlhbnQg
PT0gb3RoZXIubV93aWR0aFZhcmlhbnQKICAgICAgICAgJiYgbV9zY3JpcHQgPT0gb3RoZXIubV9z
Y3JpcHQKLSAgICAgICAgJiYgbV9mZWF0dXJlU2V0dGluZ3MgPT0gb3RoZXIubV9mZWF0dXJlU2V0
dGluZ3M7CisgICAgICAgICYmIG1fZmVhdHVyZVNldHRpbmdzID09IG90aGVyLm1fZmVhdHVyZVNl
dHRpbmdzCisgICAgICAgICYmIG1fZm9udFN5bnRoZXNpcyA9PSBvdGhlci5tX2ZvbnRTeW50aGVz
aXM7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lvcy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9p
b3MvRm9udENhY2hlSU9TLm1tCmluZGV4IGVlNzg3OWM1OGNjYTYzZjM5ODU1NGQyMmIzMjZkNzFm
ZmI3ZTBlOGQuLmRlODI5MjQ0Mzg4ZTAwMDU3MmMyOWNiMDU0MjYwNWQxNzljNmUwNTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1Mu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlP
Uy5tbQpAQCAtNjk0LDggKzY5NCw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRh
PiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlCiAKICAgICBi
b29sIGlzQXBwbGVDb2xvckVtb2ppID0gQ1RGb250SXNBcHBsZUNvbG9yRW1vamkoY3RGb250Lmdl
dCgpKTsKIAotICAgIGJvb2wgc3ludGhldGljQm9sZCA9ICh0cmFpdHMgJiBrQ1RGb250VHJhaXRC
b2xkKSAmJiAhKGFjdHVhbFRyYWl0cyAmIGtDVEZvbnRUcmFpdEJvbGQpICYmICFpc0FwcGxlQ29s
b3JFbW9qaTsKLSAgICBib29sIHN5bnRoZXRpY09ibGlxdWUgPSAodHJhaXRzICYga0NURm9udFRy
YWl0SXRhbGljKSAmJiAhKGFjdHVhbFRyYWl0cyAmIGtDVEZvbnRUcmFpdEl0YWxpYykgJiYgIWlz
QXBwbGVDb2xvckVtb2ppOworICAgIGJvb2wgc3ludGhldGljQm9sZCA9IChmb250RGVzY3JpcHRp
b24uZm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkgJiYgKHRyYWl0cyAmIGtD
VEZvbnRUcmFpdEJvbGQpICYmICEoYWN0dWFsVHJhaXRzICYga0NURm9udFRyYWl0Qm9sZCkgJiYg
IWlzQXBwbGVDb2xvckVtb2ppOworICAgIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IChmb250RGVz
Y3JpcHRpb24uZm9udFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1N0eWxlKSAmJiAodHJhaXRz
ICYga0NURm9udFRyYWl0SXRhbGljKSAmJiAhKGFjdHVhbFRyYWl0cyAmIGtDVEZvbnRUcmFpdEl0
YWxpYykgJiYgIWlzQXBwbGVDb2xvckVtb2ppOwogCiAgICAgYXV0byByZXN1bHQgPSBzdGQ6Om1h
a2VfdW5pcXVlPEZvbnRQbGF0Zm9ybURhdGE+KGN0Rm9udC5nZXQoKSwgc2l6ZSwgc3ludGhldGlj
Qm9sZCwgc3ludGhldGljT2JsaXF1ZSwgZm9udERlc2NyaXB0aW9uLm9yaWVudGF0aW9uKCksIGZv
bnREZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQoKSk7CiAgICAgaWYgKGlzQXBwbGVDb2xvckVtb2pp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRD
YWNoZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2Fj
aGVNYWMubW0KaW5kZXggY2RjMDgzYTE4ZThlMGI0NTBkODQ4NDFmYWNmNzllODE0NDUyOWQwNS4u
YWJhNGFlNGQ1OTZkNDI4Mzk0ZjJlNjY1ZTkxMDI4MGRkZjkxMDVhOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tCkBAIC01
MDksOCArNTA5LDggQEAgc3RkOjp1bmlxdWVfcHRyPEZvbnRQbGF0Zm9ybURhdGE+IEZvbnRDYWNo
ZTo6Y3JlYXRlRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250RGUKICAgICBOU0ludGVnZXIgYWN0
dWFsV2VpZ2h0ID0gW2ZvbnRNYW5hZ2VyIHdlaWdodE9mRm9udDpuc0ZvbnRdOwogCiAgICAgTlNG
b250ICpwbGF0Zm9ybUZvbnQgPSBbbnNGb250IHByaW50ZXJGb250XTsKLSAgICBib29sIHN5bnRo
ZXRpY0JvbGQgPSBpc0FwcEtpdEZvbnRXZWlnaHRCb2xkKHdlaWdodCkgJiYgIWlzQXBwS2l0Rm9u
dFdlaWdodEJvbGQoYWN0dWFsV2VpZ2h0KTsKLSAgICBib29sIHN5bnRoZXRpY09ibGlxdWUgPSAo
dHJhaXRzICYgTlNGb250SXRhbGljVHJhaXQpICYmICEoYWN0dWFsVHJhaXRzICYgTlNGb250SXRh
bGljVHJhaXQpOworICAgIGJvb2wgc3ludGhldGljQm9sZCA9IChmb250RGVzY3JpcHRpb24uZm9u
dFN5bnRoZXNpcygpICYgRm9udFN5bnRoZXNpc1dlaWdodCkgJiYgaXNBcHBLaXRGb250V2VpZ2h0
Qm9sZCh3ZWlnaHQpICYmICFpc0FwcEtpdEZvbnRXZWlnaHRCb2xkKGFjdHVhbFdlaWdodCk7Cisg
ICAgYm9vbCBzeW50aGV0aWNPYmxpcXVlID0gKGZvbnREZXNjcmlwdGlvbi5mb250U3ludGhlc2lz
KCkgJiBGb250U3ludGhlc2lzU3R5bGUpICYmICh0cmFpdHMgJiBOU0ZvbnRJdGFsaWNUcmFpdCkg
JiYgIShhY3R1YWxUcmFpdHMgJiBOU0ZvbnRJdGFsaWNUcmFpdCk7CiAKICAgICByZXR1cm4gc3Rk
OjptYWtlX3VuaXF1ZTxGb250UGxhdGZvcm1EYXRhPihyZWludGVycHJldF9jYXN0PENURm9udFJl
Zj4ocGxhdGZvcm1Gb250KSwgc2l6ZSwgc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZSwg
Zm9udERlc2NyaXB0aW9uLm9yaWVudGF0aW9uKCksIGZvbnREZXNjcmlwdGlvbi53aWR0aFZhcmlh
bnQoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRG
bGFncy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RmxhZ3MuaAppbmRleCA5
OTk5ZWQzYTY4YzIxZmE1OTVhOTc3YjE1NzBlMmJhZDkwZDliMjQ2Li40YWE1N2JmMzcxMzE0ZDA4
YzcwYzhkMTI1NmU0YTU0NmI2Y2I2NWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRGbGFncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
VGV4dEZsYWdzLmgKQEAgLTU5LDYgKzU5LDE0IEBAIGVudW0gRXhwYW5zaW9uQmVoYXZpb3JGbGFn
cyB7CiB9OwogdHlwZWRlZiB1bnNpZ25lZCBFeHBhbnNpb25CZWhhdmlvcjsKIAorZW51bSBGb250
U3ludGhlc2lzVmFsdWVzIHsKKyAgICBGb250U3ludGhlc2lzTm9uZSA9IDB4MCwKKyAgICBGb250
U3ludGhlc2lzV2VpZ2h0ID0gMHgxLAorICAgIEZvbnRTeW50aGVzaXNTdHlsZSA9IDB4MgorfTsK
K3R5cGVkZWYgdW5zaWduZWQgRm9udFN5bnRoZXNpczsKK2NvbnN0IHVuc2lnbmVkIEZvbnRTeW50
aGVzaXNXaWR0aCA9IDI7CisKIGVudW0gRm9udFdpZHRoVmFyaWFudCB7CiAgICAgUmVndWxhcldp
ZHRoLAogICAgIEhhbGZXaWR0aCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgKaW5kZXggN2M2ZTU3NTA2NjM3MDcxYzU0ZWQ0ZmQzZTQ4NmJkY2MzY2MxNDY2
YS4uOTQyNTE4OTg1N2U5MzZiZmEzMDhjMGVkYTYzZDEyNTNmM2ZmNWVlNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTEwMjUsOCArMTAyNSw2
IEBAIHB1YmxpYzoKIAogICAgIFRleHRPcmllbnRhdGlvbiB0ZXh0T3JpZW50YXRpb24oKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxUZXh0T3JpZW50YXRpb24+KHJhcmVJbmhlcml0ZWREYXRh
LT5tX3RleHRPcmllbnRhdGlvbik7IH0KIAotICAgIEZvbnRTeW50aGVzaXMgZm9udFN5bnRoZXNp
cygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZvbnRTeW50aGVzaXM+KHJhcmVJbmhlcml0
ZWREYXRhLT5mb250U3ludGhlc2lzKTsgfQotCiAgICAgT2JqZWN0Rml0IG9iamVjdEZpdCgpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PE9iamVjdEZpdD4ocmFyZU5vbkluaGVyaXRlZERhdGEt
Pm1fb2JqZWN0Rml0KTsgfQogICAgIAogICAgIC8vIFJldHVybiB0cnVlIGlmIGFueSB0cmFuc2Zv
cm0gcmVsYXRlZCBwcm9wZXJ0eSAoY3VycmVudGx5IHRyYW5zZm9ybSwgdHJhbnNmb3JtU3R5bGUz
RCBvciBwZXJzcGVjdGl2ZSkgCkBAIC0xNTM5LDcgKzE1MzcsNiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRNYXJnaW5BZnRlckNvbGxhcHNlKEVNYXJnaW5Db2xsYXBzZSBjKSB7IFNFVF9WQVIocmFy
ZU5vbkluaGVyaXRlZERhdGEsIG1hcmdpbkFmdGVyQ29sbGFwc2UsIGMpOyB9CiAgICAgdm9pZCBz
ZXRXb3JkQnJlYWsoRVdvcmRCcmVhayBiKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHdv
cmRCcmVhaywgYik7IH0KICAgICB2b2lkIHNldE92ZXJmbG93V3JhcChFT3ZlcmZsb3dXcmFwIGIp
IHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgb3ZlcmZsb3dXcmFwLCBiKTsgfQotICAgIHZv
aWQgc2V0Rm9udFN5bnRoZXNpcyhGb250U3ludGhlc2lzIHN5bnRoZXNpcykgeyBTRVRfVkFSKHJh
cmVJbmhlcml0ZWREYXRhLCBmb250U3ludGhlc2lzLCBzeW50aGVzaXMpOyB9CiAgICAgdm9pZCBz
ZXROQlNQTW9kZShFTkJTUE1vZGUgYikgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBuYnNw
TW9kZSwgYik7IH0KICAgICB2b2lkIHNldExpbmVCcmVhayhMaW5lQnJlYWsgYikgeyBTRVRfVkFS
KHJhcmVJbmhlcml0ZWREYXRhLCBsaW5lQnJlYWssIGIpOyB9CiAgICAgdm9pZCBzZXRIeXBoZW5z
KEh5cGhlbnMgaCkgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBoeXBoZW5zLCBoKTsgfQpA
QCAtMjA2OCw3ICsyMDY1LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBCbGVuZE1vZGUgaW5pdGlh
bEJsZW5kTW9kZSgpIHsgcmV0dXJuIEJsZW5kTW9kZU5vcm1hbDsgfQogICAgIHN0YXRpYyBJc29s
YXRpb24gaW5pdGlhbElzb2xhdGlvbigpIHsgcmV0dXJuIElzb2xhdGlvbkF1dG87IH0KICNlbmRp
ZgotICAgIHN0YXRpYyBGb250U3ludGhlc2lzIGluaXRpYWxGb250U3ludGhlc2lzKCkgeyByZXR1
cm4gRm9udFN5bnRoZXNpc1N0eWxlIHwgRm9udFN5bnRoZXNpc1dlaWdodDsgfQogCiAgICAgc3Rh
dGljIHB0cmRpZmZfdCBub25pbmhlcml0ZWRGbGFnc01lbW9yeU9mZnNldCgpIHsgcmV0dXJuIE9C
SkVDVF9PRkZTRVRPRihSZW5kZXJTdHlsZSwgbm9uaW5oZXJpdGVkX2ZsYWdzKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50
cy5oCmluZGV4IDFiM2Y1ZjY1NDQyZTg4YzViMzMxNjM4ZTQ0NWYzOGQ4NmVkMGU0ZTIuLjQ3MTIw
MThhNzQ4YTdhY2Q0M2Y5MjAxMTk3MWYxZWYzNmExZDNjMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC00MTYs
MTMgKzQxNiw2IEBAIGVudW0gRVRleHRUcmFuc2Zvcm0gewogICAgIENBUElUQUxJWkUsIFVQUEVS
Q0FTRSwgTE9XRVJDQVNFLCBUVE5PTkUKIH07CiAKLWVudW0gRm9udFN5bnRoZXNpc1ZhbHVlcyB7
Ci0gICAgRm9udFN5bnRoZXNpc05vbmUgPSAweDAsCi0gICAgRm9udFN5bnRoZXNpc1dlaWdodCA9
IDB4MSwKLSAgICBGb250U3ludGhlc2lzU3R5bGUgPSAweDIKLX07Ci10eXBlZGVmIHVuc2lnbmVk
IEZvbnRTeW50aGVzaXM7Ci0KICNpZiBFTkFCTEUoTEVUVEVSUFJFU1MpCiBzdGF0aWMgY29uc3Qg
c2l6ZV90IFRleHREZWNvcmF0aW9uQml0cyA9IDU7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKaW5kZXgg
YjhkMjMyOWU2MjZjN2MxODYzOGYwMGU2ZWE0NmM2NDBkMjY4MzJkMS4uYTg5MmQ2OTg2N2JhMGU4
NGQ5YmU2MTNkNGMzYzM4OThlYmNiYjE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCkBAIC0xMzMsOCArMTMz
LDYgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHRyYWlsaW5nV29yZCA6IDE7CiAjZW5kaWYKIAot
ICAgIHVuc2lnbmVkIGZvbnRTeW50aGVzaXMgOiAyOwotCiAgICAgQXRvbWljU3RyaW5nIGh5cGhl
bmF0aW9uU3RyaW5nOwogICAgIHNob3J0IGh5cGhlbmF0aW9uTGltaXRCZWZvcmU7CiAgICAgc2hv
cnQgaHlwaGVuYXRpb25MaW1pdEFmdGVyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNiYzJlY2MwYzNjNTE5N2E1Njc2ZWVj
Yjg5ODBmYmUwZDYyZTUwY2IuLjc2YzAwYmI0ZGZkYTczODI5OGY4MjI4NzAwYjI4ZWIxNWIyN2Zl
MDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0yNyAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBmb250LXN5bnRoZXNp
cyBDU1MgcHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0NDMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3QgYWxsIGNvbWJpbmF0aW9ucyBvZiBmb250LXdlaWdodCwgZm9udC1zdHlsZSwg
YW5kIGZvbnQtc3ludGhlc2lzLgorCisgICAgICAgICogZmFzdC9jc3MzLXRleHQvZm9udC1zeW50
aGVzaXMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MzLXRleHQvZm9u
dC1zeW50aGVzaXMuaHRtbDogQWRkZWQuCisKIDIwMTUtMDQtMjcgIERhbmllbCBCYXRlcyAgPGRh
YmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZvcm0gY29udHJvbCBtYXkgYmUgYXNzb2NpYXRl
ZCB3aXRoIHRoZSB3cm9uZyBIVE1MIEZvcm0gZWxlbWVudCBhZnRlciBmb3JtIGlkIGNoYW5nZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVzaXMtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lzLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzM1NzIxM2Y5ZmM4ZDc3OWVlODhiZThjOTg2ZTYwYmY1
NWZiYTE0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2Zv
bnQtc3ludGhlc2lzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1p
bHk6ICJDdXN0b21BaGVtIjsKKyAgICBmb250LXdlaWdodDogNDAwOworICAgIGZvbnQtc3R5bGU6
IG5vcm1hbDsKKyAgICBzcmM6IHVybCgiLi4vLi4vcmVzb3VyY2VzL0FoZW0udHRmIikgZm9ybWF0
KCJ0cnVldHlwZSIpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCB0aGUgZm9udC1zeW50aGVzaXMgcHJvcGVydHkgZGlzYWxsb3dzIHN5bnRo
ZXNpcyB3aGVuIGl0IGlzIHNwZWNpZmllZC4KKzxkaXYgc3R5bGU9ImZvbnQ6IDIwcHggQ3VzdG9t
QWhlbTsgcG9zaXRpb246IHJlbGF0aXZlOyI+Cis8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1
dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7Ij4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdj5BQkNEPC9k
aXY+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXY+QUJDRDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxl
PSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDE1MHB4OyB0b3A6IDBweDsiPgorPGRpdj5BQkNE
PC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXdlaWdodDogNzAwOyI+QUJDRDwvZGl2PgorPGRpdj5B
QkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXdlaWdodDogNzAwOyI+QUJDRDwvZGl2PgorPC9k
aXY+Cis8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDMwMHB4OyB0b3A6IDBw
eDsiPgorPGRpdj5BQkNEPC9kaXY+Cis8ZGl2PkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQt
c3R5bGU6IGl0YWxpYzsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxp
YzsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBs
ZWZ0OiA0NTBweDsgdG9wOiAwcHg7Ij4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9u
dC13ZWlnaHQ6IDcwMDsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtc3R5bGU6IGl0YWxp
YzsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc3R5bGU6
IGl0YWxpYzsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250OiAy
MHB4IEN1c3RvbUFoZW07IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAxMDBweDsiPgorPGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwcHg7IHRvcDogMHB4OyI+Cis8ZGl2PkFC
Q0Q8L2Rpdj4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdj5BQkNEPC9kaXY+Cis8ZGl2PkFCQ0Q8L2Rp
dj4KKzwvZGl2PgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxNTBweDsg
dG9wOiAwcHg7Ij4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6IDcw
MDsiPkFCQ0Q8L2Rpdj4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdiBzdHlsZT0iZm9udC13ZWlnaHQ6
IDcwMDsiPkFCQ0Q8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyBsZWZ0OiAzMDBweDsgdG9wOiAwcHg7Ij4KKzxkaXY+QUJDRDwvZGl2PgorPGRpdj5BQkNEPC9k
aXY+Cis8ZGl2IHN0eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0
eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9
InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNDUwcHg7IHRvcDogMHB4OyI+Cis8ZGl2PkFCQ0Q8
L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtd2VpZ2h0OiA3MDA7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0
eWxlPSJmb250LXN0eWxlOiBpdGFsaWM7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXdl
aWdodDogNzAwOyBmb250LXN0eWxlOiBpdGFsaWM7Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzwvZGl2
PgorPGRpdiBzdHlsZT0iZm9udDogMjBweCBBaGVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDog
MjAwcHg7Ij4KKzxkaXY+CitBQkNECis8L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVzaXMtcGFy
c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVz
aXMtcGFyc2UtZXhwZWN0ZWQudHh0CmluZGV4IDkxYzk2MmViMGZiOTEwNWUzYmY4ZDhhMGE5M2Zj
YzE0MjMwZDRjYWIuLmQ4M2RlMzIzZmVmOWVjZGRmNmZlNDIxOWJhZTc5NmNkNzM2ODM0ODkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lzLXBhcnNl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5bnRo
ZXNpcy1wYXJzZS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiBQQVNTIGNzc1J1bGUudHlw
ZSBpcyBjc3NSdWxlLlNUWUxFX1JVTEUKIFBBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKIFBB
U1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zeW50aGVzaXMnKSBpcyBudWxs
Ci1QQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMn
KS5jc3NUZXh0IGlzICJub25lIgorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCBpcyAic3R5bGUgd2VpZ2h0IgogUEFTUyBjc3NS
dWxlLnR5cGUgaXMgY3NzUnVsZS5TVFlMRV9SVUxFCiBQQVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBp
cyAxCiBQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykg
aXMgImluaXRpYWwiCkBAIC0zMywyMyArMzMsMjMgQEAgUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCBpcyAic3R5bGUgd2VpZ2gK
IFBBU1MgY3NzUnVsZS50eXBlIGlzIGNzc1J1bGUuU1RZTEVfUlVMRQogUEFTUyBkZWNsYXJhdGlv
bi5sZW5ndGggaXMgMAogUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVlKCdmb250LXN5
bnRoZXNpcycpIGlzIG51bGwKLVBBU1MgY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdmb250LXN5bnRoZXNpcycpLmNzc1RleHQgaXMgIm5vbmUiCitQQVNTIGNvbXB1dGVkU3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IGlzICJzdHlsZSB3
ZWlnaHQiCiBQQVNTIGNzc1J1bGUudHlwZSBpcyBjc3NSdWxlLlNUWUxFX1JVTEUKIFBBU1MgZGVj
bGFyYXRpb24ubGVuZ3RoIGlzIDAKIFBBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgn
Zm9udC1zeW50aGVzaXMnKSBpcyBudWxsCi1QQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IGlzICJub25lIgorUEFTUyBjb21wdXRl
ZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCBpcyAi
c3R5bGUgd2VpZ2h0IgogUEFTUyBjc3NSdWxlLnR5cGUgaXMgY3NzUnVsZS5TVFlMRV9SVUxFCiBQ
QVNTIGRlY2xhcmF0aW9uLmxlbmd0aCBpcyAwCiBQQVNTIGRlY2xhcmF0aW9uLmdldFByb3BlcnR5
VmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykgaXMgbnVsbAotUEFTUyBjb21wdXRlZFN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJykuY3NzVGV4dCBpcyAibm9uZSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRoZXNpcycpLmNzc1Rl
eHQgaXMgInN0eWxlIHdlaWdodCIKIFBBU1MgY3NzUnVsZS50eXBlIGlzIGNzc1J1bGUuU1RZTEVf
UlVMRQogUEFTUyBkZWNsYXJhdGlvbi5sZW5ndGggaXMgMAogUEFTUyBkZWNsYXJhdGlvbi5nZXRQ
cm9wZXJ0eVZhbHVlKCdmb250LXN5bnRoZXNpcycpIGlzIG51bGwKLVBBU1MgY29tcHV0ZWRTdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250LXN5bnRoZXNpcycpLmNzc1RleHQgaXMgIm5vbmUi
CitQQVNTIGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMn
KS5jc3NUZXh0IGlzICJzdHlsZSB3ZWlnaHQiCiBQQVNTIGNzc1J1bGUudHlwZSBpcyBjc3NSdWxl
LlNUWUxFX1JVTEUKIFBBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKIFBBU1MgZGVjbGFyYXRp
b24uZ2V0UHJvcGVydHlWYWx1ZSgnZm9udC1zeW50aGVzaXMnKSBpcyBudWxsCi1QQVNTIGNvbXB1
dGVkU3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnZm9udC1zeW50aGVzaXMnKS5jc3NUZXh0IGlz
ICJub25lIgorUEFTUyBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3lu
dGhlc2lzJykuY3NzVGV4dCBpcyAic3R5bGUgd2VpZ2h0IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2NzczMtdGV4dC9mb250LXN5bnRoZXNpcy1wYXJzZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MzLXRleHQvZm9udC1zeW50aGVzaXMtcGFyc2UuaHRtbAppbmRleCAzMTEyNDM4MmVjMTBkNmJm
NDIyMWFkODNjNTVlZmIzYTU3MTA5MTZhLi5lZmQxMmMzY2Y0YWYwNGRlZjhjZDg3YzA4OTIyNGFj
MjU2ZTliMmEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NzczMtdGV4dC9mb250LXN5
bnRoZXNpcy1wYXJzZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQt
c3ludGhlc2lzLXBhcnNlLmh0bWwKQEAgLTcsMTQgKzcsMTQgQEAKICAgPGRpdiBpZD0icCI+PC9k
aXY+CiAgIDxkaXYgaWQ9InEiPjxkaXYgaWQ9InIiPjwvZGl2PjwvZGl2PgogICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgZnVuY3Rpb24gdGVzdEVtcHR5SXNOb25lKHN0eWxl
c2hlZXQsIHRhcmdldCkgeworICAgIGZ1bmN0aW9uIHRlc3RFbXB0eUlzQm90aChzdHlsZXNoZWV0
LCB0YXJnZXQpIHsKICAgICAgIGNzc1J1bGUgPSBzdHlsZXNoZWV0LmNzc1J1bGVzLml0ZW0oMCk7
CiAgICAgICBzaG91bGRCZSgiY3NzUnVsZS50eXBlIiwgImNzc1J1bGUuU1RZTEVfUlVMRSIpOwog
ICAgICAgZGVjbGFyYXRpb24gPSBjc3NSdWxlLnN0eWxlOwogICAgICAgc2hvdWxkQmUoImRlY2xh
cmF0aW9uLmxlbmd0aCIsICIwIik7CiAgICAgICBzaG91bGRCZSgiZGVjbGFyYXRpb24uZ2V0UHJv
cGVydHlWYWx1ZSgnZm9udC1zeW50aGVzaXMnKSIsICJudWxsIik7CiAgICAgICBjb21wdXRlZFN0
eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFyZ2V0LCBudWxsKTsKLSAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdmb250
LXN5bnRoZXNpcycpLmNzc1RleHQiLCAibm9uZSIpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2ZvbnQtc3ludGhlc2lzJyku
Y3NzVGV4dCIsICJzdHlsZSB3ZWlnaHQiKTsKICAgICAgIHN0eWxlc2hlZXQuZGVsZXRlUnVsZSgw
KTsKICAgICB9CiAKQEAgLTc5LDcgKzc5LDcgQEAKICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInAiKTsKIAogICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiI3AgeyB9
IiwgMCk7Ci0gICAgdGVzdEVtcHR5SXNOb25lKHN0eWxlc2hlZXQsIHRhcmdldCk7CisgICAgdGVz
dEVtcHR5SXNCb3RoKHN0eWxlc2hlZXQsIHRhcmdldCk7CiAKICAgICBzdHlsZXNoZWV0Lmluc2Vy
dFJ1bGUoIiNwIHsgZm9udC1zeW50aGVzaXM6IGluaXRpYWw7IH0iLCAwKTsKICAgICB0ZXN0SW5p
dGlhbElzQm90aChzdHlsZXNoZWV0LCB0YXJnZXQpOwpAQCAtMTAzLDE5ICsxMDMsMTkgQEAKICAg
ICB0ZXN0U3R5bGVBbmRXZWlnaHQoc3R5bGVzaGVldCwgdGFyZ2V0KTsKIAogICAgIHN0eWxlc2hl
ZXQuaW5zZXJ0UnVsZSgiI3AgeyBmb250LXN5bnRoZXNpczogZ2FyYmFnZSBzdHlsZSB9IiwgMCk7
Ci0gICAgdGVzdEVtcHR5SXNOb25lKHN0eWxlc2hlZXQsIHRhcmdldCk7CisgICAgdGVzdEVtcHR5
SXNCb3RoKHN0eWxlc2hlZXQsIHRhcmdldCk7CiAKICAgICBzdHlsZXNoZWV0Lmluc2VydFJ1bGUo
IiNwIHsgZm9udC1zeW50aGVzaXM6IHN0eWxlIGdhcmJhZ2UgfSIsIDApOwotICAgIHRlc3RFbXB0
eUlzTm9uZShzdHlsZXNoZWV0LCB0YXJnZXQpOworICAgIHRlc3RFbXB0eUlzQm90aChzdHlsZXNo
ZWV0LCB0YXJnZXQpOwogCiAgICAgc3R5bGVzaGVldC5pbnNlcnRSdWxlKCIjcCB7IGZvbnQtc3lu
dGhlc2lzOiBnYXJiYWdlIHN0eWxlIGdhcmJhZ2UgfSIsIDApOwotICAgIHRlc3RFbXB0eUlzTm9u
ZShzdHlsZXNoZWV0LCB0YXJnZXQpOworICAgIHRlc3RFbXB0eUlzQm90aChzdHlsZXNoZWV0LCB0
YXJnZXQpOwogCiAgICAgc3R5bGVzaGVldC5pbnNlcnRSdWxlKCIjcCB7IGZvbnQtc3ludGhlc2lz
OiBzdHlsZSBnYXJiYWdlIHN0eWxlIH0iLCAwKTsKLSAgICB0ZXN0RW1wdHlJc05vbmUoc3R5bGVz
aGVldCwgdGFyZ2V0KTsKKyAgICB0ZXN0RW1wdHlJc0JvdGgoc3R5bGVzaGVldCwgdGFyZ2V0KTsK
IAogICAgIHN0eWxlc2hlZXQuaW5zZXJ0UnVsZSgiI3AgeyBmb250LXN5bnRoZXNpczogd2VpZ2h0
IGdhcmJhZ2UgfSIsIDApOwotICAgIHRlc3RFbXB0eUlzTm9uZShzdHlsZXNoZWV0LCB0YXJnZXQp
OworICAgIHRlc3RFbXB0eUlzQm90aChzdHlsZXNoZWV0LCB0YXJnZXQpOwogCiAgIDwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MzLXRleHQvZm9udC1zeW50aGVzaXMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDJiNWE5MDY5MmM5OTg5YTA2OGEyOWU4NTYxNzE5NTgzYjQyYjlmZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzMy10ZXh0L2ZvbnQtc3ludGhlc2lzLmh0
bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0
eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJDdXN0b21BaGVtIjsKKyAgICBm
b250LXdlaWdodDogNDAwOworICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKKyAgICBzcmM6IHVybCgi
Li4vLi4vcmVzb3VyY2VzL0FoZW0udHRmIikgZm9ybWF0KCJ0cnVldHlwZSIpOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0aGUgZm9udC1z
eW50aGVzaXMgcHJvcGVydHkgZGlzYWxsb3dzIHN5bnRoZXNpcyB3aGVuIGl0IGlzIHNwZWNpZmll
ZC4KKzxkaXYgc3R5bGU9ImZvbnQ6IDIwcHggQ3VzdG9tQWhlbTsgcG9zaXRpb246IHJlbGF0aXZl
OyI+Cis8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7
Ij4KKzxkaXYgc3R5bGU9ImZvbnQtc3ludGhlc2lzOiBub25lOyI+QUJDRDwvZGl2PgorPGRpdiBz
dHlsZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodDsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZv
bnQtc3ludGhlc2lzOiBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtc3ludGhl
c2lzOiB3ZWlnaHQgc3R5bGU7Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQt
d2VpZ2h0OiA3MDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTUwcHg7IHRvcDogMHB4OyI+
Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogbm9uZTsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5
bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250
LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNp
czogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN0
eWxlOiBpdGFsaWM7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMzAwcHg7IHRvcDogMHB4OyI+
Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogbm9uZTsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5
bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250
LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNp
czogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXdl
aWdodDogNzAwOyBmb250LXN0eWxlOiBpdGFsaWM7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDog
NDUwcHg7IHRvcDogMHB4OyI+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogbm9uZTsiPkFC
Q0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5BQkNEPC9kaXY+
Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0
eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8
L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDIwcHggQWhlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB0
b3A6IDEwMHB4OyI+Cis8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsg
dG9wOiAwcHg7Ij4KKzxkaXYgc3R5bGU9ImZvbnQtc3ludGhlc2lzOiBub25lOyI+QUJDRDwvZGl2
PgorPGRpdiBzdHlsZT0iZm9udC1zeW50aGVzaXM6IHdlaWdodDsiPkFCQ0Q8L2Rpdj4KKzxkaXYg
c3R5bGU9ImZvbnQtc3ludGhlc2lzOiBzdHlsZTsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZv
bnQtc3ludGhlc2lzOiB3ZWlnaHQgc3R5bGU7Ij5BQkNEPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5
bGU9ImZvbnQtd2VpZ2h0OiA3MDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTUwcHg7IHRv
cDogMHB4OyI+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogbm9uZTsiPkFCQ0Q8L2Rpdj4K
KzxkaXYgc3R5bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0
eWxlPSJmb250LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250
LXN5bnRoZXNpczogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxl
PSJmb250LXN0eWxlOiBpdGFsaWM7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMzAwcHg7IHRv
cDogMHB4OyI+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogbm9uZTsiPkFCQ0Q8L2Rpdj4K
KzxkaXYgc3R5bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0
eWxlPSJmb250LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250
LXN5bnRoZXNpczogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxl
PSJmb250LXdlaWdodDogNzAwOyBmb250LXN0eWxlOiBpdGFsaWM7IHBvc2l0aW9uOiBhYnNvbHV0
ZTsgbGVmdDogNDUwcHg7IHRvcDogMHB4OyI+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczog
bm9uZTsiPkFCQ0Q8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQtc3ludGhlc2lzOiB3ZWlnaHQ7Ij5B
QkNEPC9kaXY+Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogc3R5bGU7Ij5BQkNEPC9kaXY+
Cis8ZGl2IHN0eWxlPSJmb250LXN5bnRoZXNpczogd2VpZ2h0IHN0eWxlOyI+QUJDRDwvZGl2Pgor
PC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9ImZvbnQ6IDIwcHggQWhlbTsgcG9zaXRpb246IHJl
bGF0aXZlOyB0b3A6IDIwMHB4OyBmb250LXN5bnRoZXNpczogbm9uZTsiPgorPGRpdiBzdHlsZT0i
Zm9udC1zdHlsZTogaXRhbGljOyI+CitBQkNECis8L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>
<flag name="review"
          id="276665"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>