<?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>158610</bug_id>
          
          <creation_ts>2016-06-09 22:20:29 -0700</creation_ts>
          <short_desc>REGRESSION(r201887): This change caused LayoutTest crashes under GuardMalloc and ASan (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2016-06-11 22:22:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>158450</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>darin</cc>
    
    <cc>Javier_picolo</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1201159</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-09 22:20:29 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/201887 broke the build:
This change caused LayoutTest crashes under GuardMalloc and ASan (Requested by ryanhaddad on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201161</commentid>
    <comment_count>1</comment_count>
      <attachid>280993</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-09 22:21:02 -0700</bug_when>
    <thetext>Created attachment 280993
ROLLOUT of r201887

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201163</commentid>
    <comment_count>2</comment_count>
      <attachid>280993</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-06-09 22:23:17 -0700</bug_when>
    <thetext>Comment on attachment 280993
ROLLOUT of r201887

Clearing flags on attachment: 280993

Committed r201906: &lt;http://trac.webkit.org/changeset/201906&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1201164</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-06-09 22:23:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280993</attachid>
            <date>2016-06-09 22:21:02 -0700</date>
            <delta_ts>2016-06-09 22:23:17 -0700</delta_ts>
            <desc>ROLLOUT of r201887</desc>
            <filename>bug-158610-20160609222232.patch</filename>
            <type>text/plain</type>
            <size>28368</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxOTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQ2ODVkNDgwNmViMGI5
NWI2NTlhMDAxNzNiYjg2OTVkNmQ1ODA5YS4uYjhmZjY1NTYxNmZjNzNkYTQyZDhlNzgyMGVmNDlk
NjVlMjlkNmVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA2LTA5ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjAxODg3LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU4NjEwCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgY2F1c2VkIExheW91
dFRlc3QgY3Jhc2hlcyB1bmRlciBHdWFyZE1hbGxvYyBhbmQKKyAgICAgICAgQVNhbiAoUmVxdWVz
dGVkIGJ5IHJ5YW5oYWRkYWQgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdl
c2V0OgorCisgICAgICAgICJEZWxldGluZyBhIENTU09NIHN0eWxlIHJ1bGUgaW52YWxpZGF0ZXMg
YW55IHByZXZpb3VzbHktYWRkZWQKKyAgICAgICAgRm9udEZhY2VzIgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NDUwCisgICAgICAgIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIwMTg4NworCiAyMDE2LTA2LTA5ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkcmVzcyBEYXJpbidzIHJldmlldyBj
b21tZW50IG9uIHIyMDE4OTguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCA2ZTBh
YmE2YWQwMmNjMmU4YTdhNWE3ODNlZDQwYTNiY2VkY2RiNzA1Li44YTZhOTc1MjlhZTMxMTI5NWVh
ZDUwOTNiYWJiNjI2ZGYyZjVjYmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAg
LTk0LDcgKzk0LDYgQEAgQ1NTRm9udEZhY2U6OkNTU0ZvbnRGYWNlKENTU0ZvbnRTZWxlY3Rvciog
Zm9udFNlbGVjdG9yLCBTdHlsZVJ1bGVGb250RmFjZSogY3NzQ28KICAgICAsIG1fY3NzQ29ubmVj
dGlvbihjc3NDb25uZWN0aW9uKQogICAgICwgbV93cmFwcGVyKHdyYXBwZXIgPyB3cmFwcGVyLT5j
cmVhdGVXZWFrUHRyKCkgOiBXZWFrUHRyPEZvbnRGYWNlPigpKQogICAgICwgbV9pc0xvY2FsRmFs
bGJhY2soaXNMb2NhbEZhbGxiYWNrKQotICAgICwgbV9tYXlCZVB1cmdlZCghd3JhcHBlcikKIHsK
IH0KIApAQCAtMTE0LDkgKzExMyw2IEBAIGJvb2wgQ1NTRm9udEZhY2U6OnNldEZhbWlsaWVzKENT
U1ZhbHVlJiBmYW1pbHkpCiAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gb2xkRmFtaWxpZXMgPSBt
X2ZhbWlsaWVzOwogICAgIG1fZmFtaWxpZXMgPSAmZmFtaWx5TGlzdDsKIAotICAgIGlmIChtX2Nz
c0Nvbm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRpZXMo
KS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRGYW1pbHksICZmYW1pbHkpOwotCiAgICAgaXRl
cmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKICAgICAgICAgY2xp
ZW50LmZvbnRQcm9wZXJ0eUNoYW5nZWQoKnRoaXMsIG9sZEZhbWlsaWVzLmdldCgpKTsKICAgICB9
KTsKQEAgLTE0Nyw5ICsxNDMsNiBAQCBib29sIENTU0ZvbnRGYWNlOjpzZXRTdHlsZShDU1NWYWx1
ZSYgc3R5bGUpCiAgICAgaWYgKGF1dG8gbWFzayA9IGNhbGN1bGF0ZVN0eWxlTWFzayhzdHlsZSkp
IHsKICAgICAgICAgbV90cmFpdHNNYXNrID0gc3RhdGljX2Nhc3Q8Rm9udFRyYWl0c01hc2s+KChz
dGF0aWNfY2FzdDx1bnNpZ25lZD4obV90cmFpdHNNYXNrKSAmICh+Rm9udFN0eWxlTWFzaykpIHwg
bWFzay52YWx1ZSgpKTsKIAotICAgICAgICBpZiAobV9jc3NDb25uZWN0aW9uKQotICAgICAgICAg
ICAgbV9jc3NDb25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5KENTU1By
b3BlcnR5Rm9udFN0eWxlLCAmc3R5bGUpOwotCiAgICAgICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xp
ZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7CiAgICAgICAgICAgICBjbGllbnQuZm9udFByb3Bl
cnR5Q2hhbmdlZCgqdGhpcyk7CiAgICAgICAgIH0pOwpAQCAtMTk5LDkgKzE5Miw2IEBAIGJvb2wg
Q1NTRm9udEZhY2U6OnNldFdlaWdodChDU1NWYWx1ZSYgd2VpZ2h0KQogICAgIGlmIChhdXRvIG1h
c2sgPSBjYWxjdWxhdGVXZWlnaHRNYXNrKHdlaWdodCkpIHsKICAgICAgICAgbV90cmFpdHNNYXNr
ID0gc3RhdGljX2Nhc3Q8Rm9udFRyYWl0c01hc2s+KChzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV90
cmFpdHNNYXNrKSAmICh+Rm9udFdlaWdodE1hc2spKSB8IG1hc2sudmFsdWUoKSk7CiAKLSAgICAg
ICAgaWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0
YWJsZVByb3BlcnRpZXMoKS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsICZ3ZWln
aHQpOwotCiAgICAgICAgIGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xp
ZW50KSB7CiAgICAgICAgICAgICBjbGllbnQuZm9udFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7CiAg
ICAgICAgIH0pOwpAQCAtMjI0LDkgKzIxNCw2IEBAIGJvb2wgQ1NTRm9udEZhY2U6OnNldFVuaWNv
ZGVSYW5nZShDU1NWYWx1ZSYgdW5pY29kZVJhbmdlKQogICAgICAgICBtX3Jhbmdlcy5hcHBlbmQo
eyByYW5nZS5mcm9tKCksIHJhbmdlLnRvKCkgfSk7CiAgICAgfQogCi0gICAgaWYgKG1fY3NzQ29u
bmVjdGlvbikKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNl
dFByb3BlcnR5KENTU1Byb3BlcnR5VW5pY29kZVJhbmdlLCAmdW5pY29kZVJhbmdlKTsKLQogICAg
IGl0ZXJhdGVDbGllbnRzKG1fY2xpZW50cywgWyZdKENsaWVudCYgY2xpZW50KSB7CiAgICAgICAg
IGNsaWVudC5mb250UHJvcGVydHlDaGFuZ2VkKCp0aGlzKTsKICAgICB9KTsKQEAgLTI0Myw5ICsy
MzAsNiBAQCBib29sIENTU0ZvbnRGYWNlOjpzZXRWYXJpYW50TGlnYXR1cmVzKENTU1ZhbHVlJiB2
YXJpYW50TGlnYXR1cmVzKQogICAgIG1fdmFyaWFudFNldHRpbmdzLmhpc3RvcmljYWxMaWdhdHVy
ZXMgPSBsaWdhdHVyZXMuaGlzdG9yaWNhbExpZ2F0dXJlczsKICAgICBtX3ZhcmlhbnRTZXR0aW5n
cy5jb250ZXh0dWFsQWx0ZXJuYXRlcyA9IGxpZ2F0dXJlcy5jb250ZXh0dWFsQWx0ZXJuYXRlczsK
IAotICAgIGlmIChtX2Nzc0Nvbm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0
YWJsZVByb3BlcnRpZXMoKS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRWYXJpYW50TGlnYXR1
cmVzLCAmdmFyaWFudExpZ2F0dXJlcyk7Ci0KICAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMs
IFsmXShDbGllbnQmIGNsaWVudCkgewogICAgICAgICBjbGllbnQuZm9udFByb3BlcnR5Q2hhbmdl
ZCgqdGhpcyk7CiAgICAgfSk7CkBAIC0yNjAsOSArMjQ0LDYgQEAgYm9vbCBDU1NGb250RmFjZTo6
c2V0VmFyaWFudFBvc2l0aW9uKENTU1ZhbHVlJiB2YXJpYW50UG9zaXRpb24pCiAKICAgICBtX3Zh
cmlhbnRTZXR0aW5ncy5wb3NpdGlvbiA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YXJp
YW50UG9zaXRpb24pOwogCi0gICAgaWYgKG1fY3NzQ29ubmVjdGlvbikKLSAgICAgICAgbV9jc3ND
b25uZWN0aW9uLT5tdXRhYmxlUHJvcGVydGllcygpLnNldFByb3BlcnR5KENTU1Byb3BlcnR5Rm9u
dFZhcmlhbnRQb3NpdGlvbiwgJnZhcmlhbnRQb3NpdGlvbik7Ci0KICAgICBpdGVyYXRlQ2xpZW50
cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNsaWVudCkgewogICAgICAgICBjbGllbnQuZm9udFBy
b3BlcnR5Q2hhbmdlZCgqdGhpcyk7CiAgICAgfSk7CkBAIC0yNzcsOSArMjU4LDYgQEAgYm9vbCBD
U1NGb250RmFjZTo6c2V0VmFyaWFudENhcHMoQ1NTVmFsdWUmIHZhcmlhbnRDYXBzKQogCiAgICAg
bV92YXJpYW50U2V0dGluZ3MuY2FwcyA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YXJp
YW50Q2Fwcyk7CiAKLSAgICBpZiAobV9jc3NDb25uZWN0aW9uKQotICAgICAgICBtX2Nzc0Nvbm5l
Y3Rpb24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkoQ1NTUHJvcGVydHlGb250VmFy
aWFudENhcHMsICZ2YXJpYW50Q2Fwcyk7Ci0KICAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMs
IFsmXShDbGllbnQmIGNsaWVudCkgewogICAgICAgICBjbGllbnQuZm9udFByb3BlcnR5Q2hhbmdl
ZCgqdGhpcyk7CiAgICAgfSk7CkBAIC0yOTcsOSArMjc1LDYgQEAgYm9vbCBDU1NGb250RmFjZTo6
c2V0VmFyaWFudE51bWVyaWMoQ1NTVmFsdWUmIHZhcmlhbnROdW1lcmljKQogICAgIG1fdmFyaWFu
dFNldHRpbmdzLm51bWVyaWNPcmRpbmFsID0gbnVtZXJpYy5vcmRpbmFsOwogICAgIG1fdmFyaWFu
dFNldHRpbmdzLm51bWVyaWNTbGFzaGVkWmVybyA9IG51bWVyaWMuc2xhc2hlZFplcm87CiAKLSAg
ICBpZiAobV9jc3NDb25uZWN0aW9uKQotICAgICAgICBtX2Nzc0Nvbm5lY3Rpb24tPm11dGFibGVQ
cm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkoQ1NTUHJvcGVydHlGb250VmFyaWFudE51bWVyaWMsICZ2
YXJpYW50TnVtZXJpYyk7Ci0KICAgICBpdGVyYXRlQ2xpZW50cyhtX2NsaWVudHMsIFsmXShDbGll
bnQmIGNsaWVudCkgewogICAgICAgICBjbGllbnQuZm9udFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7
CiAgICAgfSk7CkBAIC0zMTQsOSArMjg5LDYgQEAgYm9vbCBDU1NGb250RmFjZTo6c2V0VmFyaWFu
dEFsdGVybmF0ZXMoQ1NTVmFsdWUmIHZhcmlhbnRBbHRlcm5hdGVzKQogCiAgICAgbV92YXJpYW50
U2V0dGluZ3MuYWx0ZXJuYXRlcyA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YXJpYW50
QWx0ZXJuYXRlcyk7CiAKLSAgICBpZiAobV9jc3NDb25uZWN0aW9uKQotICAgICAgICBtX2Nzc0Nv
bm5lY3Rpb24tPm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkoQ1NTUHJvcGVydHlGb250
VmFyaWFudEFsdGVybmF0ZXMsICZ2YXJpYW50QWx0ZXJuYXRlcyk7Ci0KICAgICBpdGVyYXRlQ2xp
ZW50cyhtX2NsaWVudHMsIFsmXShDbGllbnQmIGNsaWVudCkgewogICAgICAgICBjbGllbnQuZm9u
dFByb3BlcnR5Q2hhbmdlZCgqdGhpcyk7CiAgICAgfSk7CkBAIC0zMzIsOSArMzA0LDYgQEAgYm9v
bCBDU1NGb250RmFjZTo6c2V0VmFyaWFudEVhc3RBc2lhbihDU1NWYWx1ZSYgdmFyaWFudEVhc3RB
c2lhbikKICAgICBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0QXNpYW5XaWR0aCA9IGVhc3RBc2lhbi53
aWR0aDsKICAgICBtX3ZhcmlhbnRTZXR0aW5ncy5lYXN0QXNpYW5SdWJ5ID0gZWFzdEFzaWFuLnJ1
Ynk7CiAKLSAgICBpZiAobV9jc3NDb25uZWN0aW9uKQotICAgICAgICBtX2Nzc0Nvbm5lY3Rpb24t
Pm11dGFibGVQcm9wZXJ0aWVzKCkuc2V0UHJvcGVydHkoQ1NTUHJvcGVydHlGb250VmFyaWFudEVh
c3RBc2lhbiwgJnZhcmlhbnRFYXN0QXNpYW4pOwotCiAgICAgaXRlcmF0ZUNsaWVudHMobV9jbGll
bnRzLCBbJl0oQ2xpZW50JiBjbGllbnQpIHsKICAgICAgICAgY2xpZW50LmZvbnRQcm9wZXJ0eUNo
YW5nZWQoKnRoaXMpOwogICAgIH0pOwpAQCAtMzYyLDkgKzMzMSw2IEBAIHZvaWQgQ1NTRm9udEZh
Y2U6OnNldEZlYXR1cmVTZXR0aW5ncyhDU1NWYWx1ZSYgZmVhdHVyZVNldHRpbmdzKQogCiAgICAg
bV9mZWF0dXJlU2V0dGluZ3MgPSBXVEZNb3ZlKHNldHRpbmdzKTsKIAotICAgIGlmIChtX2Nzc0Nv
bm5lY3Rpb24pCi0gICAgICAgIG1fY3NzQ29ubmVjdGlvbi0+bXV0YWJsZVByb3BlcnRpZXMoKS5z
ZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eUZvbnRGZWF0dXJlU2V0dGluZ3MsICZmZWF0dXJlU2V0dGlu
Z3MpOwotCiAgICAgaXRlcmF0ZUNsaWVudHMobV9jbGllbnRzLCBbJl0oQ2xpZW50JiBjbGllbnQp
IHsKICAgICAgICAgY2xpZW50LmZvbnRQcm9wZXJ0eUNoYW5nZWQoKnRoaXMpOwogICAgIH0pOwpA
QCAtNDE1LDQ3ICszODEsMzUgQEAgdm9pZCBDU1NGb250RmFjZTo6cmVtb3ZlQ2xpZW50KENsaWVu
dCYgY2xpZW50KQogICAgIG1fY2xpZW50cy5yZW1vdmUoJmNsaWVudCk7CiB9CiAKLXZvaWQgQ1NT
Rm9udEZhY2U6OmluaXRpYWxpemVXcmFwcGVyKCkKK1JlZjxGb250RmFjZT4gQ1NTRm9udEZhY2U6
OndyYXBwZXIoKQogeworICAgIGlmIChtX3dyYXBwZXIpCisgICAgICAgIHJldHVybiBSZWY8Rm9u
dEZhY2U+KCptX3dyYXBwZXIuZ2V0KCkpOworCisgICAgUmVmPEZvbnRGYWNlPiB3cmFwcGVyID0g
Rm9udEZhY2U6OmNyZWF0ZSgqdGhpcyk7CiAgICAgc3dpdGNoIChtX3N0YXR1cykgewogICAgIGNh
c2UgU3RhdHVzOjpQZW5kaW5nOgogICAgICAgICBicmVhazsKICAgICBjYXNlIFN0YXR1czo6TG9h
ZGluZzoKLSAgICAgICAgbV93cmFwcGVyLT5mb250U3RhdGVDaGFuZ2VkKCp0aGlzLCBTdGF0dXM6
OlBlbmRpbmcsIFN0YXR1czo6TG9hZGluZyk7CisgICAgICAgIHdyYXBwZXItPmZvbnRTdGF0ZUNo
YW5nZWQoKnRoaXMsIFN0YXR1czo6UGVuZGluZywgU3RhdHVzOjpMb2FkaW5nKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBTdGF0dXM6OlRpbWVkT3V0OgotICAgICAgICBtX3dyYXBwZXItPmZv
bnRTdGF0ZUNoYW5nZWQoKnRoaXMsIFN0YXR1czo6UGVuZGluZywgU3RhdHVzOjpMb2FkaW5nKTsK
LSAgICAgICAgbV93cmFwcGVyLT5mb250U3RhdGVDaGFuZ2VkKCp0aGlzLCBTdGF0dXM6OkxvYWRp
bmcsIFN0YXR1czo6VGltZWRPdXQpOworICAgICAgICB3cmFwcGVyLT5mb250U3RhdGVDaGFuZ2Vk
KCp0aGlzLCBTdGF0dXM6OlBlbmRpbmcsIFN0YXR1czo6TG9hZGluZyk7CisgICAgICAgIHdyYXBw
ZXItPmZvbnRTdGF0ZUNoYW5nZWQoKnRoaXMsIFN0YXR1czo6TG9hZGluZywgU3RhdHVzOjpUaW1l
ZE91dCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU3RhdHVzOjpTdWNjZXNzOgotICAgICAg
ICBtX3dyYXBwZXItPmZvbnRTdGF0ZUNoYW5nZWQoKnRoaXMsIFN0YXR1czo6UGVuZGluZywgU3Rh
dHVzOjpMb2FkaW5nKTsKLSAgICAgICAgbV93cmFwcGVyLT5mb250U3RhdGVDaGFuZ2VkKCp0aGlz
LCBTdGF0dXM6OlBlbmRpbmcsIFN0YXR1czo6U3VjY2Vzcyk7CisgICAgICAgIHdyYXBwZXItPmZv
bnRTdGF0ZUNoYW5nZWQoKnRoaXMsIFN0YXR1czo6UGVuZGluZywgU3RhdHVzOjpMb2FkaW5nKTsK
KyAgICAgICAgd3JhcHBlci0+Zm9udFN0YXRlQ2hhbmdlZCgqdGhpcywgU3RhdHVzOjpQZW5kaW5n
LCBTdGF0dXM6OlN1Y2Nlc3MpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFN0YXR1czo6RmFp
bHVyZToKLSAgICAgICAgbV93cmFwcGVyLT5mb250U3RhdGVDaGFuZ2VkKCp0aGlzLCBTdGF0dXM6
OlBlbmRpbmcsIFN0YXR1czo6TG9hZGluZyk7Ci0gICAgICAgIG1fd3JhcHBlci0+Zm9udFN0YXRl
Q2hhbmdlZCgqdGhpcywgU3RhdHVzOjpQZW5kaW5nLCBTdGF0dXM6OkZhaWx1cmUpOworICAgICAg
ICB3cmFwcGVyLT5mb250U3RhdGVDaGFuZ2VkKCp0aGlzLCBTdGF0dXM6OlBlbmRpbmcsIFN0YXR1
czo6TG9hZGluZyk7CisgICAgICAgIHdyYXBwZXItPmZvbnRTdGF0ZUNoYW5nZWQoKnRoaXMsIFN0
YXR1czo6UGVuZGluZywgU3RhdHVzOjpGYWlsdXJlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQot
fQotCi1SZWY8Rm9udEZhY2U+IENTU0ZvbnRGYWNlOjp3cmFwcGVyKCkKLXsKLSAgICBpZiAobV93
cmFwcGVyKQotICAgICAgICByZXR1cm4gKm1fd3JhcHBlci5nZXQoKTsKLQotICAgIGF1dG8gd3Jh
cHBlciA9IEZvbnRGYWNlOjpjcmVhdGUoKnRoaXMpOwogICAgIG1fd3JhcHBlciA9IHdyYXBwZXIt
PmNyZWF0ZVdlYWtQdHIoKTsKLSAgICBpbml0aWFsaXplV3JhcHBlcigpOwotICAgIG1fbWF5QmVQ
dXJnZWQgPSBmYWxzZTsKICAgICByZXR1cm4gd3JhcHBlcjsKIH0KIAotdm9pZCBDU1NGb250RmFj
ZTo6c2V0V3JhcHBlcihGb250RmFjZSYgbmV3V3JhcHBlcikKLXsKLSAgICBtX3dyYXBwZXIgPSBu
ZXdXcmFwcGVyLmNyZWF0ZVdlYWtQdHIoKTsKLSAgICBpbml0aWFsaXplV3JhcHBlcigpOwotfQot
CiB2b2lkIENTU0ZvbnRGYWNlOjphZG9wdFNvdXJjZShzdGQ6OnVuaXF1ZV9wdHI8Q1NTRm9udEZh
Y2VTb3VyY2U+JiYgc291cmNlKQogewogICAgIG1fc291cmNlcy5hcHBlbmQoV1RGTW92ZShzb3Vy
Y2UpKTsKQEAgLTU5OCwxNyArNTUyLDYgQEAgUmVmUHRyPEZvbnQ+IENTU0ZvbnRGYWNlOjpmb250
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uLCBib29sIHN5bnQKICAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAotYm9vbCBDU1NGb250RmFjZTo6cHVyZ2VhYmxlKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gY3NzQ29ubmVjdGlvbigpICYmIG1fbWF5QmVQdXJnZWQ7Ci19Ci0KLXZv
aWQgQ1NTRm9udEZhY2U6OnVwZGF0ZVN0eWxlSWZOZWVkZWQoKQotewotICAgIGlmIChtX2ZvbnRT
ZWxlY3RvciAmJiBtX2ZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKSkKLSAgICAgICAgbV9mb250U2Vs
ZWN0b3ItPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKLX0KLQogI2lmIEVOQUJM
RShTVkdfRk9OVFMpCiBib29sIENTU0ZvbnRGYWNlOjpoYXNTVkdGb250RmFjZVNvdXJjZSgpIGNv
bnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCmluZGV4IGEyYjBjOTdhZjEwMzRjOTkzNzc0
N2ZhM2M2Y2YxYjgzNTkwMmQzZTAuLjAyN2I3ZmJmZmFmZmUwYzNhZGQ0OGVlMDM3OGZjNTNiZGNh
ZGJmZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oCkBAIC0xMzUsMTUgKzEzNSw5IEBAIHB1
YmxpYzoKIAogICAgIC8vIFdlIGRvbid0IGd1YXJhbnRlZSB0aGF0IHRoZSBGb250RmFjZSB3cmFw
cGVyIHdpbGwgYmUgdGhlIHNhbWUgZXZlcnkgdGltZSB5b3UgYXNrIGZvciBpdC4KICAgICBSZWY8
Rm9udEZhY2U+IHdyYXBwZXIoKTsKLSAgICB2b2lkIHNldFdyYXBwZXIoRm9udEZhY2UmKTsKLSAg
ICBGb250RmFjZSogZXhpc3RpbmdXcmFwcGVyKCkgeyByZXR1cm4gbV93cmFwcGVyLmdldCgpOyB9
CiAKICAgICBib29sIHdlYkZvbnRzU2hvdWxkQWx3YXlzRmFsbEJhY2soKSBjb25zdDsKIAotICAg
IGJvb2wgcHVyZ2VhYmxlKCkgY29uc3Q7Ci0KLSAgICB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWQo
KTsKLQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgYm9vbCBoYXNTVkdGb250RmFjZVNvdXJj
ZSgpIGNvbnN0OwogI2VuZGlmCkBAIC0xNTUsOCArMTQ5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHNldFN0YXR1cyhTdGF0dXMpOwogICAgIHZvaWQgbm90aWZ5Q2xpZW50c09mRm9udFByb3BlcnR5
Q2hhbmdlKCk7CiAKLSAgICB2b2lkIGluaXRpYWxpemVXcmFwcGVyKCk7Ci0KICAgICB2b2lkIGZv
bnRMb2FkRXZlbnRPY2N1cnJlZCgpOwogICAgIHZvaWQgdGltZW91dEZpcmVkKCk7CiAKQEAgLTE3
NCw3ICsxNjYsNiBAQCBwcml2YXRlOgogICAgIFN0YXR1cyBtX3N0YXR1cyB7IFN0YXR1czo6UGVu
ZGluZyB9OwogICAgIGJvb2wgbV9pc0xvY2FsRmFsbGJhY2sgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9zb3VyY2VzUG9wdWxhdGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1fbWF5QmVQdXJnZWQgeyB0
cnVlIH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcAppbmRleCBi
MDg5ZDFjYmNjYjljNTU2NmI5YTg5NjA5ZTg3ODBlM2JjODdjOWI4Li5lNjc1MmE2ZWQ1YzdmYTk2
N2U3NmY0MWFmYzNlOWY4MThlN2QyNWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNl
dC5jcHAKQEAgLTk1LDEwICs5NSw5IEBAIGJvb2wgQ1NTRm9udEZhY2VTZXQ6Omhhc0ZhY2UoY29u
c3QgQ1NTRm9udEZhY2UmIGZhY2UpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lk
IENTU0ZvbnRGYWNlU2V0OjplbnN1cmVMb2NhbEZvbnRGYWNlc0ZvckZhbWlseVJlZ2lzdGVyZWQo
Y29uc3QgU3RyaW5nJiBmYW1pbHlOYW1lKQordm9pZCBDU1NGb250RmFjZVNldDo6cmVnaXN0ZXJM
b2NhbEZvbnRGYWNlc0ZvckZhbWlseShjb25zdCBTdHJpbmcmIGZhbWlseU5hbWUpCiB7Ci0gICAg
aWYgKG1fbG9jYWxseUluc3RhbGxlZEZhY2VzTG9va3VwVGFibGUuY29udGFpbnMoZmFtaWx5TmFt
ZSkpCi0gICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQoIW1fbG9jYWxseUluc3RhbGxlZEZhY2Vz
TG9va3VwVGFibGUuY29udGFpbnMoZmFtaWx5TmFtZSkpOwogCiAgICAgVmVjdG9yPEZvbnRUcmFp
dHNNYXNrPiB0cmFpdHNNYXNrcyA9IEZvbnRDYWNoZTo6c2luZ2xldG9uKCkuZ2V0VHJhaXRzSW5G
YW1pbHkoZmFtaWx5TmFtZSk7CiAgICAgaWYgKHRyYWl0c01hc2tzLmlzRW1wdHkoKSkKQEAgLTE2
MSw3ICsxNjAsNyBAQCB2b2lkIENTU0ZvbnRGYWNlU2V0OjphZGRUb0ZhY2VzTG9va3VwVGFibGUo
Q1NTRm9udEZhY2UmIGZhY2UpCiAgICAgICAgIGlmIChhZGRSZXN1bHQuaXNOZXdFbnRyeSkgewog
ICAgICAgICAgICAgLy8gbV9sb2NhbGx5SW5zdGFsbGVkRm9udEZhY2VzIGdyb3dzIHdpdGhvdXQg
Ym91bmQsIGV2ZW50dWFsbHkgZW5jb3Jwb3JhdGluZyBldmVyeSBmb250IGluc3RhbGxlZCBvbiB0
aGUgc3lzdGVtLgogICAgICAgICAgICAgLy8gVGhpcyBpcyBieSBkZXNpZ24uCi0gICAgICAgICAg
ICBlbnN1cmVMb2NhbEZvbnRGYWNlc0ZvckZhbWlseVJlZ2lzdGVyZWQoZmFtaWx5TmFtZSk7Cisg
ICAgICAgICAgICByZWdpc3RlckxvY2FsRm9udEZhY2VzRm9yRmFtaWx5KGZhbWlseU5hbWUpOwog
ICAgICAgICAgICAgZmFtaWx5Rm9udEZhY2VzID0geyB9OwogICAgICAgICB9CiAKQEAgLTE4OCwx
MSArMTg3LDYgQEAgdm9pZCBDU1NGb250RmFjZVNldDo6YWRkKENTU0ZvbnRGYWNlJiBmYWNlKQog
CiAgICAgaWYgKGZhY2Uuc3RhdHVzKCkgPT0gQ1NTRm9udEZhY2U6OlN0YXR1czo6TG9hZGluZyB8
fCBmYWNlLnN0YXR1cygpID09IENTU0ZvbnRGYWNlOjpTdGF0dXM6OlRpbWVkT3V0KQogICAgICAg
ICBpbmNyZW1lbnRBY3RpdmVDb3VudCgpOwotCi0gICAgaWYgKGZhY2UuY3NzQ29ubmVjdGlvbigp
KSB7Ci0gICAgICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9jb25zdGl0dWVudENTU0Nvbm5lY3Rpb25z
LmFkZChmYWNlLmNzc0Nvbm5lY3Rpb24oKSwgJmZhY2UpOwotICAgICAgICBBU1NFUlRfVU5VU0VE
KGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwotICAgIH0KIH0KIAogdm9pZCBDU1NG
b250RmFjZVNldDo6cmVtb3ZlRnJvbUZhY2VzTG9va3VwVGFibGUoY29uc3QgQ1NTRm9udEZhY2Um
IGZhY2UsIGNvbnN0IENTU1ZhbHVlTGlzdCYgZmFtaWxpZXNUb1NlYXJjaEZvcikKQEAgLTIyOCwx
MSArMjIyLDYgQEAgdm9pZCBDU1NGb250RmFjZVNldDo6cmVtb3ZlKGNvbnN0IENTU0ZvbnRGYWNl
JiBmYWNlKQogICAgIGlmIChmYWNlLmZhbWlsaWVzKCkpCiAgICAgICAgIHJlbW92ZUZyb21GYWNl
c0xvb2t1cFRhYmxlKGZhY2UsICpmYWNlLmZhbWlsaWVzKCkpOwogCi0gICAgaWYgKGZhY2UuY3Nz
Q29ubmVjdGlvbigpKSB7Ci0gICAgICAgIGJvb2wgcmVtb3ZlZCA9IG1fY29uc3RpdHVlbnRDU1ND
b25uZWN0aW9ucy5yZW1vdmUoZmFjZS5jc3NDb25uZWN0aW9uKCkpOwotICAgICAgICBBU1NFUlRf
VU5VU0VEKHJlbW92ZWQsIHJlbW92ZWQpOwotICAgIH0KLQogICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbV9mYWNlcy5zaXplKCk7ICsraSkgewogICAgICAgICBpZiAobV9mYWNlc1tpXS5wdHIo
KSA9PSAmZmFjZSkgewogICAgICAgICAgICAgaWYgKGkgPCBtX2ZhY2VzUGFydGl0aW9uSW5kZXgp
CkBAIC0yNDcsMjMgKzIzNiw2IEBAIHZvaWQgQ1NTRm9udEZhY2VTZXQ6OnJlbW92ZShjb25zdCBD
U1NGb250RmFjZSYgZmFjZSkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotQ1NTRm9u
dEZhY2UqIENTU0ZvbnRGYWNlU2V0Ojpsb29rdXBCeUNTU0Nvbm5lY3Rpb24oU3R5bGVSdWxlRm9u
dEZhY2UmIHRhcmdldCkKLXsKLSAgICByZXR1cm4gbV9jb25zdGl0dWVudENTU0Nvbm5lY3Rpb25z
LmdldCgmdGFyZ2V0KTsKLX0KLQotdm9pZCBDU1NGb250RmFjZVNldDo6cHVyZ2UoKQotewotICAg
IFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPENTU0ZvbnRGYWNlPj4gdG9SZW1vdmU7Ci0g
ICAgZm9yIChhdXRvJiBmYWNlIDogbV9mYWNlcykgewotICAgICAgICBpZiAoZmFjZS0+cHVyZ2Vh
YmxlKCkpCi0gICAgICAgICAgICB0b1JlbW92ZS5hcHBlbmQoZmFjZS5nZXQoKSk7Ci0gICAgfQot
Ci0gICAgZm9yIChhdXRvJiBpdGVtIDogdG9SZW1vdmUpCi0gICAgICAgIHJlbW92ZShpdGVtLmdl
dCgpKTsKLX0KLQogdm9pZCBDU1NGb250RmFjZVNldDo6Y2xlYXIoKQogewogICAgIGZvciAoYXV0
byYgZmFjZSA6IG1fZmFjZXMpCkBAIC0yNzIsNyArMjQ0LDYgQEAgdm9pZCBDU1NGb250RmFjZVNl
dDo6Y2xlYXIoKQogICAgIG1fZmFjZXNMb29rdXBUYWJsZS5jbGVhcigpOwogICAgIG1fbG9jYWxs
eUluc3RhbGxlZEZhY2VzTG9va3VwVGFibGUuY2xlYXIoKTsKICAgICBtX2NhY2hlLmNsZWFyKCk7
Ci0gICAgbV9jb25zdGl0dWVudENTU0Nvbm5lY3Rpb25zLmNsZWFyKCk7CiAgICAgbV9mYWNlc1Bh
cnRpdGlvbkluZGV4ID0gMDsKICAgICBtX3N0YXR1cyA9IFN0YXR1czo6TG9hZGVkOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuaAppbmRleCBjZGY4OGJhNGQ2NmYzN2QzNGNiOTBhMzc4
ZjExZjk4NjYyMWEzOTcxLi4wMDQ1OGYwNmVmYjNkN2QzM2MxYmJmNDMxNjM3ZDIzMzZlODJmY2Fi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuaApAQCAtNjAsMTIgKzYwLDkgQEAgcHVi
bGljOgogICAgIHNpemVfdCBmYWNlQ291bnQoKSBjb25zdCB7IHJldHVybiBtX2ZhY2VzLnNpemUo
KTsgfQogICAgIHZvaWQgYWRkKENTU0ZvbnRGYWNlJik7CiAgICAgdm9pZCByZW1vdmUoY29uc3Qg
Q1NTRm9udEZhY2UmKTsKLSAgICB2b2lkIHB1cmdlKCk7CiAgICAgdm9pZCBjbGVhcigpOwogICAg
IENTU0ZvbnRGYWNlJiBvcGVyYXRvcltdKHNpemVfdCBpKTsKIAotICAgIENTU0ZvbnRGYWNlKiBs
b29rdXBCeUNTU0Nvbm5lY3Rpb24oU3R5bGVSdWxlRm9udEZhY2UmKTsKLQogICAgIGJvb2wgY2hl
Y2soY29uc3QgU3RyaW5nJiBmb250LCBjb25zdCBTdHJpbmcmIHRleHQsIEV4Y2VwdGlvbkNvZGUm
KTsKIAogICAgIENTU1NlZ21lbnRlZEZvbnRGYWNlKiBnZXRGb250RmFjZShGb250VHJhaXRzTWFz
aywgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHkpOwpAQCAtOTQsNyArOTEsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgZm9udFN0YXRlQ2hhbmdlZChDU1NGb250RmFjZSYsIENTU0ZvbnRGYWNlOjpT
dGF0dXMgb2xkU3RhdGUsIENTU0ZvbnRGYWNlOjpTdGF0dXMgbmV3U3RhdGUpIG92ZXJyaWRlOwog
ICAgIHZvaWQgZm9udFByb3BlcnR5Q2hhbmdlZChDU1NGb250RmFjZSYsIENTU1ZhbHVlTGlzdCog
b2xkRmFtaWxpZXMgPSBudWxscHRyKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZW5zdXJlTG9jYWxG
b250RmFjZXNGb3JGYW1pbHlSZWdpc3RlcmVkKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgcmVn
aXN0ZXJMb2NhbEZvbnRGYWNlc0ZvckZhbWlseShjb25zdCBTdHJpbmcmKTsKIAogICAgIHN0YXRp
YyBTdHJpbmcgZmFtaWx5TmFtZUZyb21QcmltaXRpdmUoY29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUm
KTsKIApAQCAtMTAzLDcgKzEwMCw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxTdHJpbmcsIFZl
Y3RvcjxSZWY8Q1NTRm9udEZhY2U+PiwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBtX2ZhY2Vz
TG9va3VwVGFibGU7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxSZWY8Q1NTRm9udEZhY2U+
PiwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBtX2xvY2FsbHlJbnN0YWxsZWRGYWNlc0xvb2t1
cFRhYmxlOwogICAgIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPHVuc2lnbmVkLCBSZWZQdHI8Q1NT
U2VnbWVudGVkRm9udEZhY2U+PiwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBtX2NhY2hlOwot
ICAgIEhhc2hNYXA8U3R5bGVSdWxlRm9udEZhY2UqLCBDU1NGb250RmFjZSo+IG1fY29uc3RpdHVl
bnRDU1NDb25uZWN0aW9uczsKICAgICBzaXplX3QgbV9mYWNlc1BhcnRpdGlvbkluZGV4IHsgMCB9
OyAvLyBBbGwgZW50cmllcyBpbiBtX2ZhY2VzIGJlZm9yZSB0aGlzIGluZGV4IGFyZSBDU1MtY29u
bmVjdGVkLgogICAgIFN0YXR1cyBtX3N0YXR1cyB7IFN0YXR1czo6TG9hZGVkIH07CiAgICAgSGFz
aFNldDxDU1NGb250RmFjZVNldENsaWVudCo+IG1fY2xpZW50czsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggNWVlMDg3MjBiNmI5MDFiNmNlNTNmYTFiYTUxNTdmODQy
MjFiNTIxZi4uZDg1ODMwNDc4ODc3OThmNGZmM2NjYTFjYjAxNGU4NzdhNGRjOTZhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTQ1LDcgKzQ1LDYgQEAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRlICJGb250Q2FjaGUu
aCIKLSNpbmNsdWRlICJGb250RmFjZS5oIgogI2luY2x1ZGUgIkZvbnRGYWNlU2V0LmgiCiAjaW5j
bHVkZSAiRm9udFNlbGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRm9udFZhcmlhbnRCdWlsZGVy
LmgiCkBAIC0xMDIsMTcgKzEwMSw3IEBAIGJvb2wgQ1NTRm9udFNlbGVjdG9yOjppc0VtcHR5KCkg
Y29uc3QKIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpidWlsZFN0YXJ0ZWQoKQogewogICAgIG1fYnVp
bGRJc1VuZGVyd2F5ID0gdHJ1ZTsKLSAgICBtX3N0YWdpbmdBcmVhLmNsZWFyKCk7Ci0gICAgbV9j
c3NGb250RmFjZVNldC0+cHVyZ2UoKTsKICAgICArK21fdmVyc2lvbjsKLQotICAgIG1fY3NzQ29u
bmVjdGlvbnNQb3NzaWJseVRvUmVtb3ZlLmNsZWFyKCk7Ci0gICAgbV9jc3NDb25uZWN0aW9uc0Vu
Y291bnRlcmVkRHVyaW5nQnVpbGQuY2xlYXIoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fY3NzRm9udEZhY2VTZXQtPmZhY2VDb3VudCgpOyArK2kpIHsKLSAgICAgICAgQ1NTRm9udEZh
Y2UmIGZhY2UgPSBtX2Nzc0ZvbnRGYWNlU2V0LmdldCgpW2ldOwotICAgICAgICBpZiAoZmFjZS5j
c3NDb25uZWN0aW9uKCkpCi0gICAgICAgICAgICBtX2Nzc0Nvbm5lY3Rpb25zUG9zc2libHlUb1Jl
bW92ZS5hZGQoJmZhY2UpOwotICAgIH0KIH0KIAogdm9pZCBDU1NGb250U2VsZWN0b3I6OmJ1aWxk
Q29tcGxldGVkKCkKQEAgLTEyMiwxMyArMTExLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmJ1
aWxkQ29tcGxldGVkKCkKIAogICAgIG1fYnVpbGRJc1VuZGVyd2F5ID0gZmFsc2U7CiAKLSAgICAv
LyBTb21lIGZvbnQgZmFjZXMgd2VyZW4ndCByZS1hZGRlZCBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nl
c3MuCi0gICAgZm9yIChhdXRvJiBmYWNlIDogbV9jc3NDb25uZWN0aW9uc1Bvc3NpYmx5VG9SZW1v
dmUpIHsKLSAgICAgICAgYXV0byogY29ubmVjdGlvbiA9IGZhY2UtPmNzc0Nvbm5lY3Rpb24oKTsK
LSAgICAgICAgQVNTRVJUKGNvbm5lY3Rpb24pOwotICAgICAgICBpZiAoIW1fY3NzQ29ubmVjdGlv
bnNFbmNvdW50ZXJlZER1cmluZ0J1aWxkLmNvbnRhaW5zKGNvbm5lY3Rpb24pKQotICAgICAgICAg
ICAgbV9jc3NGb250RmFjZVNldC0+cmVtb3ZlKCpmYWNlKTsKLSAgICB9CisgICAgbV9jc3NGb250
RmFjZVNldC0+Y2xlYXIoKTsKIAogICAgIGZvciAoYXV0byYgaXRlbSA6IG1fc3RhZ2luZ0FyZWEp
CiAgICAgICAgIGFkZEZvbnRGYWNlUnVsZShpdGVtLnN0eWxlUnVsZUZvbnRGYWNlLCBpdGVtLmlz
SW5pdGlhdGluZ0VsZW1lbnRJblVzZXJBZ2VudFNoYWRvd1RyZWUpOwpAQCAtMTM4LDcgKzEyMSw2
IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjpidWlsZENvbXBsZXRlZCgpCiB2b2lkIENTU0ZvbnRT
ZWxlY3Rvcjo6YWRkRm9udEZhY2VSdWxlKFN0eWxlUnVsZUZvbnRGYWNlJiBmb250RmFjZVJ1bGUs
IGJvb2wgaXNJbml0aWF0aW5nRWxlbWVudEluVXNlckFnZW50U2hhZG93VHJlZSkKIHsKICAgICBp
ZiAobV9idWlsZElzVW5kZXJ3YXkpIHsKLSAgICAgICAgbV9jc3NDb25uZWN0aW9uc0VuY291bnRl
cmVkRHVyaW5nQnVpbGQuYWRkKCZmb250RmFjZVJ1bGUpOwogICAgICAgICBtX3N0YWdpbmdBcmVh
LmFwcGVuZCh7Zm9udEZhY2VSdWxlLCBpc0luaXRpYXRpbmdFbGVtZW50SW5Vc2VyQWdlbnRTaGFk
b3dUcmVlfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yMDUsMTIgKzE4Nyw2IEBAIHZv
aWQgQ1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2UmIGZv
bnRGYWNlUnVsZSwgYm9vbCBpc0luCiAgICAgaWYgKGZvbnRGYWNlLT5hbGxTb3VyY2VzRmFpbGVk
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChSZWZQdHI8Q1NTRm9udEZhY2U+IGV4aXN0
aW5nRmFjZSA9IG1fY3NzRm9udEZhY2VTZXQtPmxvb2t1cEJ5Q1NTQ29ubmVjdGlvbihmb250RmFj
ZVJ1bGUpKSB7Ci0gICAgICAgIG1fY3NzRm9udEZhY2VTZXQtPnJlbW92ZSgqZXhpc3RpbmdGYWNl
KTsKLSAgICAgICAgaWYgKGF1dG8qIGV4aXN0aW5nV3JhcHBlciA9IGV4aXN0aW5nRmFjZS0+ZXhp
c3RpbmdXcmFwcGVyKCkpCi0gICAgICAgICAgICBleGlzdGluZ1dyYXBwZXItPmFkb3B0KGZvbnRG
YWNlLmdldCgpKTsKLSAgICB9Ci0KICAgICBtX2Nzc0ZvbnRGYWNlU2V0LT5hZGQoZm9udEZhY2Uu
Z2V0KCkpOwogICAgIG1fY3JlYXRpbmdGb250ID0gZmFsc2U7CiAgICAgKyttX3ZlcnNpb247CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmgKaW5kZXggMzRkY2NmMjllZGM2YTNjOWEzODA2
MWQyOTEwZTIwMmI5MmNhODQwNS4uNWE5MTU1YjQwMjA3ODFkYjVjOTMzYzZjYTkwNGQ3MjM5OTE3
MjQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuaApAQCAtMTA1LDggKzEwNSw2
IEBAIHByaXZhdGU6CiAgICAgSGFzaFNldDxGb250U2VsZWN0b3JDbGllbnQqPiBtX2NsaWVudHM7
CiAKICAgICBWZWN0b3I8Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4+IG1fZm9udHNU
b0JlZ2luTG9hZGluZzsKLSAgICBIYXNoU2V0PFJlZlB0cjxDU1NGb250RmFjZT4+IG1fY3NzQ29u
bmVjdGlvbnNQb3NzaWJseVRvUmVtb3ZlOwotICAgIEhhc2hTZXQ8UmVmUHRyPFN0eWxlUnVsZUZv
bnRGYWNlPj4gbV9jc3NDb25uZWN0aW9uc0VuY291bnRlcmVkRHVyaW5nQnVpbGQ7CiAgICAgVGlt
ZXIgbV9iZWdpbkxvYWRpbmdUaW1lcjsKIAogICAgIHVuc2lnbmVkIG1fdW5pcXVlSWQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0ZvbnRGYWNlLmNwcAppbmRleCBhZTZmNWIzODllZmVjNmNjZjA0NTNmMmY5ZDM1OGMzNGEy
MzQ5YzFkLi42MzM1NzRiNzE0ZjkxNjBlMDBhMDQwMmI4YTBkZTMyMDBjMjE3Y2QwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9Gb250RmFjZS5jcHAKQEAgLTI3MCwxMyArMjcwLDExIEBAIHZvaWQgRm9udEZhY2U6OnNl
dEZlYXR1cmVTZXR0aW5ncyhjb25zdCBTdHJpbmcmIGZlYXR1cmVTZXR0aW5ncywgRXhjZXB0aW9u
Q29kZSYKIAogU3RyaW5nIEZvbnRGYWNlOjpmYW1pbHkoKSBjb25zdAogewotICAgIGNvbnN0X2Nh
c3Q8Q1NTRm9udEZhY2UmPihtX2JhY2tpbmcuZ2V0KCkpLnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsK
ICAgICByZXR1cm4gbV9iYWNraW5nLT5mYW1pbGllcygpLT5jc3NUZXh0KCk7CiB9CiAKIFN0cmlu
ZyBGb250RmFjZTo6c3R5bGUoKSBjb25zdAogewotICAgIGNvbnN0X2Nhc3Q8Q1NTRm9udEZhY2Um
PihtX2JhY2tpbmcuZ2V0KCkpLnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKICAgICBzd2l0Y2ggKG1f
YmFja2luZy0+dHJhaXRzTWFzaygpICYgRm9udFN0eWxlTWFzaykgewogICAgIGNhc2UgRm9udFN0
eWxlTm9ybWFsTWFzazoKICAgICAgICAgcmV0dXJuIFN0cmluZygibm9ybWFsIiwgU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CkBAIC0yODksNyArMjg3LDYgQEAgU3RyaW5nIEZvbnRGYWNl
OjpzdHlsZSgpIGNvbnN0CiAKIFN0cmluZyBGb250RmFjZTo6d2VpZ2h0KCkgY29uc3QKIHsKLSAg
ICBjb25zdF9jYXN0PENTU0ZvbnRGYWNlJj4obV9iYWNraW5nLmdldCgpKS51cGRhdGVTdHlsZUlm
TmVlZGVkKCk7CiAgICAgc3dpdGNoIChtX2JhY2tpbmctPnRyYWl0c01hc2soKSAmIEZvbnRXZWln
aHRNYXNrKSB7CiAgICAgY2FzZSBGb250V2VpZ2h0MTAwTWFzazoKICAgICAgICAgcmV0dXJuIFN0
cmluZygiMTAwIiwgU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CkBAIC0zMjEsNyArMzE4
LDYgQEAgU3RyaW5nIEZvbnRGYWNlOjpzdHJldGNoKCkgY29uc3QKIAogU3RyaW5nIEZvbnRGYWNl
Ojp1bmljb2RlUmFuZ2UoKSBjb25zdAogewotICAgIGNvbnN0X2Nhc3Q8Q1NTRm9udEZhY2UmPiht
X2JhY2tpbmcuZ2V0KCkpLnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKICAgICBpZiAoIW1fYmFja2lu
Zy0+cmFuZ2VzKCkuc2l6ZSgpKQogICAgICAgICByZXR1cm4gIlUrMC0xMEZGRkYiOwogICAgIFJl
ZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlcyA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlQ29tbWFTZXBh
cmF0ZWQoKTsKQEAgLTMzMiwxMyArMzI4LDExIEBAIFN0cmluZyBGb250RmFjZTo6dW5pY29kZVJh
bmdlKCkgY29uc3QKIAogU3RyaW5nIEZvbnRGYWNlOjp2YXJpYW50KCkgY29uc3QKIHsKLSAgICBj
b25zdF9jYXN0PENTU0ZvbnRGYWNlJj4obV9iYWNraW5nLmdldCgpKS51cGRhdGVTdHlsZUlmTmVl
ZGVkKCk7CiAgICAgcmV0dXJuIGNvbXB1dGVGb250VmFyaWFudChtX2JhY2tpbmctPnZhcmlhbnRT
ZXR0aW5ncygpKS0+Y3NzVGV4dCgpOwogfQogCiBTdHJpbmcgRm9udEZhY2U6OmZlYXR1cmVTZXR0
aW5ncygpIGNvbnN0CiB7Ci0gICAgY29uc3RfY2FzdDxDU1NGb250RmFjZSY+KG1fYmFja2luZy5n
ZXQoKSkudXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogICAgIGlmICghbV9iYWNraW5nLT5mZWF0dXJl
U2V0dGluZ3MoKS5zaXplKCkpCiAgICAgICAgIHJldHVybiAibm9ybWFsIjsKICAgICBSZWZQdHI8
Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgp
OwpAQCAtMzY1LDE1ICszNTksNiBAQCBhdXRvIEZvbnRGYWNlOjpzdGF0dXMoKSBjb25zdCAtPiBM
b2FkU3RhdHVzCiAgICAgcmV0dXJuIExvYWRTdGF0dXM6OkVycm9yOwogfQogCi12b2lkIEZvbnRG
YWNlOjphZG9wdChDU1NGb250RmFjZSYgbmV3RmFjZSkKLXsKLSAgICBtX3Byb21pc2UgPSBOdWxs
b3B0OwotICAgIG1fYmFja2luZy0+cmVtb3ZlQ2xpZW50KCp0aGlzKTsKLSAgICBtX2JhY2tpbmcg
PSBuZXdGYWNlOwotICAgIG1fYmFja2luZy0+YWRkQ2xpZW50KCp0aGlzKTsKLSAgICBuZXdGYWNl
LnNldFdyYXBwZXIoKnRoaXMpOwotfQotCiB2b2lkIEZvbnRGYWNlOjpmb250U3RhdGVDaGFuZ2Vk
KENTU0ZvbnRGYWNlJiBmYWNlLCBDU1NGb250RmFjZTo6U3RhdHVzLCBDU1NGb250RmFjZTo6U3Rh
dHVzIG5ld1N0YXRlKQogewogICAgIEFTU0VSVF9VTlVTRUQoZmFjZSwgJmZhY2UgPT0gbV9iYWNr
aW5nLnB0cigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKaW5kZXggZWQzMGRkYmY1NTkxMDQ4MzBiZTBh
NjViZGE4ZmEzNjIxZThkNDZhYS4uMzk4MGZmZTQ3MDY3ZDg4ZTFiOWI5MjFmNzQ4YWExZDg0MDUw
NzA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYWNlLmgKQEAgLTY5LDggKzY5LDYgQEAgcHVibGljOgogICAg
IE9wdGlvbmFsPFByb21pc2U+JiBwcm9taXNlKCkgeyByZXR1cm4gbV9wcm9taXNlOyB9CiAgICAg
dm9pZCByZWdpc3RlckxvYWRlZChQcm9taXNlJiYpOwogCi0gICAgdm9pZCBhZG9wdChDU1NGb250
RmFjZSYpOwotCiAgICAgdm9pZCBsb2FkKCk7CiAKICAgICBDU1NGb250RmFjZSYgYmFja2luZygp
IHsgcmV0dXJuIG1fYmFja2luZzsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZjNGUxNTY3OGEwOWVmYTBjYmI1NjhkMjNi
NzA0M2VkNTI0NDYzNTkuLmMyN2I4ZGFiOGZmMjhjMDdjMmVhYTFmMDlmOTJkMDY3OWYzN2QzNzIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNi0wNi0wOSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIw
MTg4Ny4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
ODYxMAorCisgICAgICAgIFRoaXMgY2hhbmdlIGNhdXNlZCBMYXlvdXRUZXN0IGNyYXNoZXMgdW5k
ZXIgR3VhcmRNYWxsb2MgYW5kCisgICAgICAgIEFTYW4gKFJlcXVlc3RlZCBieSByeWFuaGFkZGFk
IG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAi
RGVsZXRpbmcgYSBDU1NPTSBzdHlsZSBydWxlIGludmFsaWRhdGVzIGFueSBwcmV2aW91c2x5LWFk
ZGVkCisgICAgICAgIEZvbnRGYWNlcyIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1ODQ1MAorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8yMDE4ODcKKwogMjAxNi0wNi0wOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkZCB0ZXN0aW5nIHN1cHBvcnQgZm9yIDN4IGRldmljZSBzY2FsZSBm
YWN0b3IuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLXNldC1j
c3NvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLXNldC1j
c3NvbS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViNTlhODcw
NDVlOTA5NTk1NjA3ZDBlYjVjODk0NmU3MDBhZmMwMDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1z
ZXQtY3Nzb20tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotVGhp
cyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0aGUgQ1NTIEZvbnQgTG9hZGluZyBBUEkgcGxheXMgbmlj
ZWx5IHdpdGggbW9kaWZ5aW5nIEBmb250LWZhY2UgcnVsZXMgd2l0aCB0aGUgQ1NTT00uCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGl0ZW0xLmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpLndpZHRoIGlzIDQ4Ci1QQVNTIGl0ZW0yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndp
ZHRoIGlzIG5vdCA0OAotUEFTUyBpdGVtMy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCBp
cyBub3QgNDgKLVBBU1MgaXRlbTQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggaXMgbm90
IDQ4Ci1QQVNTIGl0ZW01LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGlzIG5vdCA0OAot
UEFTUyBpdGVtNi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCBpcyBub3QgNDgKLVBBU1Mg
aXRlbTEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggaXMgNDgKLVBBU1MgaXRlbTIuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggaXMgNDgKLVBBU1MgaXRlbTMuZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCkud2lkdGggaXMgbm90IDQ4Ci1QQVNTIGl0ZW00LmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpLndpZHRoIGlzIG5vdCA0OAotUEFTUyBpdGVtNS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KS53aWR0aCBpcyBub3QgNDgKLVBBU1MgaXRlbTYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lk
dGggaXMgbm90IDQ4Ci1QQVNTIGl0ZW0xLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGlz
IDQ4Ci1QQVNTIGl0ZW0yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGlzIDQ4Ci1QQVNT
IGl0ZW0zLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGlzIDQ4Ci1QQVNTIGl0ZW00Lmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGlzIG5vdCA0OAotUEFTUyBpdGVtNS5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKS53aWR0aCBpcyBub3QgNDgKLVBBU1MgaXRlbTYuZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCkud2lkdGggaXMgbm90IDQ4Ci1QQVNTIGl0ZW0xLmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpLndpZHRoIGlzIDQ4Ci1QQVNTIGl0ZW0yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndp
ZHRoIGlzIDQ4Ci1QQVNTIGl0ZW0zLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGlzIG5v
dCA0OAotUEFTUyBpdGVtNC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCBpcyBub3QgNDgK
LVBBU1MgaXRlbTUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggaXMgbm90IDQ4Ci1QQVNT
IGl0ZW02LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGlzIG5vdCA0OAotUEFTUyBjb25u
ZWN0ZWRGb250RmFjZS5mYW1pbHkgaXMgIldlYkZvbnQyIgotUEFTUyBjb25uZWN0ZWRGb250RmFj
ZS5mYW1pbHkgaXMgIldlYkZvbnQ1IgotUEFTUyBpdGVtMS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KS53aWR0aCBpcyA0OAotUEFTUyBpdGVtMi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCBp
cyBub3QgNDgKLVBBU1MgaXRlbTMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggaXMgbm90
IDQ4Ci1QQVNTIGl0ZW00LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIGlzIG5vdCA0OAot
UEFTUyBpdGVtNS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCBpcyA0OAotUEFTUyBpdGVt
Ni5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCBpcyBub3QgNDgKLVBBU1Mgc3R5bGVTaGVl
dC5jc3NSdWxlc1swXS5zdHlsZS5mb250RmFtaWx5IGlzICJXZWJGb250NiIKLVBBU1MgaXRlbTEu
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggaXMgNDgKLVBBU1MgaXRlbTIuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCkud2lkdGggaXMgbm90IDQ4Ci1QQVNTIGl0ZW0zLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpLndpZHRoIGlzIG5vdCA0OAotUEFTUyBpdGVtNC5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKS53aWR0aCBpcyBub3QgNDgKLVBBU1MgaXRlbTUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCku
d2lkdGggaXMgbm90IDQ4Ci1QQVNTIGl0ZW02LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRo
IGlzIDQ4Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUK
LWwgbCBsIGwgbCBsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNl
LXNldC1jc3NvbS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ZvbnQtZmFjZS1zZXQtY3Nz
b20uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGU3MWI5NTg3ZTkxMWY3OTZl
YzZmZWQ3NjMyOTgzMmJlMzk1MTBkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZm9udC1mYWNlLXNldC1jc3NvbS5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08c3R5bGUgaWQ9InN0eWxlRWxlbWVudCI+Ci08L3N0eWxlPgotPC9oZWFkPgot
PGJvZHk+Ci08c3BhbiBpZD0iaXRlbTEiIHN0eWxlPSJmb250OiA0OHB4IFdlYkZvbnQ7Ij5sPC9z
cGFuPgotPHNwYW4gaWQ9Iml0ZW0yIiBzdHlsZT0iZm9udDogNDhweCBXZWJGb250MjsiPmw8L3Nw
YW4+Ci08c3BhbiBpZD0iaXRlbTMiIHN0eWxlPSJmb250OiA0OHB4IFdlYkZvbnQzOyI+bDwvc3Bh
bj4KLTxzcGFuIGlkPSJpdGVtNCIgc3R5bGU9ImZvbnQ6IDQ4cHggV2ViRm9udDQ7Ij5sPC9zcGFu
PgotPHNwYW4gaWQ9Iml0ZW01IiBzdHlsZT0iZm9udDogNDhweCBXZWJGb250NTsiPmw8L3NwYW4+
Ci08c3BhbiBpZD0iaXRlbTYiIHN0eWxlPSJmb250OiA0OHB4IFdlYkZvbnQ2OyI+bDwvc3Bhbj4K
LTxzY3JpcHQ+Ci1kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0aGUgQ1NT
IEZvbnQgTG9hZGluZyBBUEkgcGxheXMgbmljZWx5IHdpdGggbW9kaWZ5aW5nIEBmb250LWZhY2Ug
cnVsZXMgd2l0aCB0aGUgQ1NTT00uIik7Ci0KLXZhciBpdGVtMSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpdGVtMSIpOwotdmFyIGl0ZW0yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIml0
ZW0yIik7Ci12YXIgaXRlbTMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaXRlbTMiKTsKLXZh
ciBpdGVtNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpdGVtNCIpOwotdmFyIGl0ZW01ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIml0ZW01Iik7Ci12YXIgaXRlbTYgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaXRlbTYiKTsKLQotdmFyIGZvbnRGYWNlID0gbmV3IEZvbnRGYWNlKCJX
ZWJGb250IiwgImxvY2FsKCdBaGVtJykiLCB7fSk7Ci1kb2N1bWVudC5mb250cy5hZGQoZm9udEZh
Y2UpOwotZm9udEZhY2UubG9hZCgpOwotCi1zaG91bGRCZSgiaXRlbTEuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCkud2lkdGgiLCAiNDgiKTsKLXNob3VsZE5vdEJlKCJpdGVtMi5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKS53aWR0aCIsICI0OCIpOwotc2hvdWxkTm90QmUoIml0ZW0zLmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpLndpZHRoIiwgIjQ4Iik7Ci1zaG91bGROb3RCZSgiaXRlbTQuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCkud2lkdGgiLCAiNDgiKTsKLXNob3VsZE5vdEJlKCJpdGVtNS5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKS53aWR0aCIsICI0OCIpOwotc2hvdWxkTm90QmUoIml0ZW02LmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIiwgIjQ4Iik7Ci0KLXZhciBzdHlsZVNoZWV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0eWxlRWxlbWVudCIpLnNoZWV0Owotc3R5bGVTaGVldC5p
bnNlcnRSdWxlKCJAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICdXZWJGb250Mic7IHNyYzogbG9j
YWwoJ0FoZW0nKTsgfSIsIDApOwotCi1zaG91bGRCZSgiaXRlbTEuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCkud2lkdGgiLCAiNDgiKTsKLXNob3VsZEJlKCJpdGVtMi5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKS53aWR0aCIsICI0OCIpOwotc2hvdWxkTm90QmUoIml0ZW0zLmdldEJvdW5kaW5nQ2xpZW50
UmVjdCgpLndpZHRoIiwgIjQ4Iik7Ci1zaG91bGROb3RCZSgiaXRlbTQuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCkud2lkdGgiLCAiNDgiKTsKLXNob3VsZE5vdEJlKCJpdGVtNS5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKS53aWR0aCIsICI0OCIpOwotc2hvdWxkTm90QmUoIml0ZW02LmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpLndpZHRoIiwgIjQ4Iik7Ci0KLXN0eWxlU2hlZXQuaW5zZXJ0UnVsZSgiQGZv
bnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAnV2ViRm9udDMnOyBzcmM6IGxvY2FsKCdBaGVtJyk7IH0i
LCAwKTsKLQotc2hvdWxkQmUoIml0ZW0xLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIiwg
IjQ4Iik7Ci1zaG91bGRCZSgiaXRlbTIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgiLCAi
NDgiKTsKLXNob3VsZEJlKCJpdGVtMy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCIsICI0
OCIpOwotc2hvdWxkTm90QmUoIml0ZW00LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIiwg
IjQ4Iik7Ci1zaG91bGROb3RCZSgiaXRlbTUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgi
LCAiNDgiKTsKLXNob3VsZE5vdEJlKCJpdGVtNi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0
aCIsICI0OCIpOwotCi1zdHlsZVNoZWV0LmRlbGV0ZVJ1bGUoMCk7Ci0KLXNob3VsZEJlKCJpdGVt
MS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCIsICI0OCIpOwotc2hvdWxkQmUoIml0ZW0y
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIiwgIjQ4Iik7Ci1zaG91bGROb3RCZSgiaXRl
bTMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgiLCAiNDgiKTsKLXNob3VsZE5vdEJlKCJp
dGVtNC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCIsICI0OCIpOwotc2hvdWxkTm90QmUo
Iml0ZW01LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIiwgIjQ4Iik7Ci1zaG91bGROb3RC
ZSgiaXRlbTYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgiLCAiNDgiKTsKLQotdmFyIGNv
bm5lY3RlZEZvbnRGYWNlID0gZG9jdW1lbnQuZm9udHMua2V5cygpLm5leHQoKS52YWx1ZTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygiY29ubmVjdGVkRm9udEZhY2UuZmFtaWx5IiwgIldlYkZvbnQy
Iik7Ci0KLXN0eWxlU2hlZXQuY3NzUnVsZXNbMF0uc3R5bGUuZm9udEZhbWlseSA9ICJXZWJGb250
NSI7Ci0KLXNob3VsZEJlRXF1YWxUb1N0cmluZygiY29ubmVjdGVkRm9udEZhY2UuZmFtaWx5Iiwg
IldlYkZvbnQ1Iik7Ci0KLXNob3VsZEJlKCJpdGVtMS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53
aWR0aCIsICI0OCIpOwotc2hvdWxkTm90QmUoIml0ZW0yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
LndpZHRoIiwgIjQ4Iik7Ci1zaG91bGROb3RCZSgiaXRlbTMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0
KCkud2lkdGgiLCAiNDgiKTsKLXNob3VsZE5vdEJlKCJpdGVtNC5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKS53aWR0aCIsICI0OCIpOwotc2hvdWxkQmUoIml0ZW01LmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpLndpZHRoIiwgIjQ4Iik7Ci1zaG91bGROb3RCZSgiaXRlbTYuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCkud2lkdGgiLCAiNDgiKTsKLQotY29ubmVjdGVkRm9udEZhY2UuZmFtaWx5ID0gIldlYkZv
bnQ2IjsKLQotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzdHlsZVNoZWV0LmNzc1J1bGVzWzBdLnN0
eWxlLmZvbnRGYW1pbHkiLCAiV2ViRm9udDYiKTsKLQotc2hvdWxkQmUoIml0ZW0xLmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpLndpZHRoIiwgIjQ4Iik7Ci1zaG91bGROb3RCZSgiaXRlbTIuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCkud2lkdGgiLCAiNDgiKTsKLXNob3VsZE5vdEJlKCJpdGVtMy5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCIsICI0OCIpOwotc2hvdWxkTm90QmUoIml0ZW00Lmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIiwgIjQ4Iik7Ci1zaG91bGROb3RCZSgiaXRlbTUu
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgiLCAiNDgiKTsKLXNob3VsZEJlKCJpdGVtNi5n
ZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCIsICI0OCIpOwotCi08L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9k
eT4KLTxodG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>