<?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>230718</bug_id>
          
          <creation_ts>2021-09-23 14:29:37 -0700</creation_ts>
          <short_desc>[IFC][LFC] InlineLevelBox needs to retain only a small set of style properties</short_desc>
          <delta_ts>2021-09-24 06:45: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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1796659</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-09-23 14:29:37 -0700</bug_when>
    <thetext>it also enables us to map certain property values to proper names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796670</commentid>
    <comment_count>1</comment_count>
      <attachid>439095</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-23 14:39:36 -0700</bug_when>
    <thetext>Created attachment 439095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796752</commentid>
    <comment_count>2</comment_count>
      <attachid>439116</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-09-23 19:37:19 -0700</bug_when>
    <thetext>Created attachment 439116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796866</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-24 06:44:25 -0700</bug_when>
    <thetext>Committed r283040 (242100@main): &lt;https://commits.webkit.org/242100@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439116.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439095</attachid>
            <date>2021-09-23 14:39:36 -0700</date>
            <delta_ts>2021-09-23 19:37:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230718-20210923143935.patch</filename>
            <type>text/plain</type>
            <size>21776</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBhMzkzNjQ5OTZlMDJk
YTU0MzA2Zjk2OGI5NzEwMGEwN2MwNzQ1Mi4uMmFkMGFhMmJjODAwNTI0NDFiMjAyOGRjNmM3Nzhl
Y2Y2YzgxZjI2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTA5LTIzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbSUZDXVtMRkNdIElubGluZUxl
dmVsQm94IG5lZWRzIHRvIHJldGFpbiBvbmx5IGEgc21hbGwgc2V0IG9mIHN0eWxlIHByb3BlcnRp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDcx
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExldCdz
IG5vdCBleHBvc2UgYWxsIHRoZSBzdHlsZSBwcm9wZXJ0aWVzIGluIGhlcmUuIElubGluZUxldmVs
Qm94ZXMgb25seSBuZWVkIGNlcnRhaW4gZm9udCBhbmQgYWxpZ25tZW50IHJlbGF0ZWQgcHJvcGVy
dGllcyB2YWx1ZXMuCisgICAgICAgIEl0IGFsc28gZW5hYmxlcyB1cyB0byBtYXAgY2VydGFpbiBw
cm9wZXJ0eSB2YWx1ZXMgdG8gcHJvcGVyIG5hbWVzLgorICAgICAgICAKKyAgICAgICAgZS5nLiBS
ZW5kZXJTdHlsZTo6Y29tcHV0ZUxpbmVIZWlnaHQoKSAtPiBwcmVmZXJyZWRMaW5lSGVpZ2h0KCkg
KHNwZWMgdGVybSkgCisgICAgICAgICAgb3IgUmVuZGVyU3R5bGU6OmxpbmVIZWlnaHQoKS5pc05l
Z2F0aXZlKCkgLT4gaXNQcmVmZXJyZWRMaW5lSGVpZ2h0Rm9udE1ldHJpY3NCYXNlZCgpCisKKyAg
ICAgICAgICBOb3cgY29kZSBsaWtlIHRoaXMKKworICAgICAgICAgIExpbmVCb3hCdWlsZGVyOjph
ZGp1c3RWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94V2l0aEZhbGxiYWNrRm9udHMoY29uc3Qg
SW5saW5lQm94JikKKyAgICAgICAgICB7CisgICAgICAgICAgICAgIGlmICghaW5saW5lQm94Lmlz
UHJlZmVycmVkTGluZUhlaWdodEZvbnRNZXRyaWNzQmFzZWQoKSkKKyAgICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAuLi4KKyAgICAgICAgICBzdGFydCBtYWtpbmcgc2Vuc2UuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBpcyBhbHNvIGluIHByZXBhcmF0aW9uIGZvciBzdXBwb3J0aW5n
IGZpcnN0LWxpbmUgc3R5bGUuCisKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVMZXZlbEJveC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxp
bmVMZXZlbEJveDo6aXNQcmVmZXJyZWRMaW5lSGVpZ2h0Rm9udE1ldHJpY3NCYXNlZCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUxldmVsQm94OjpwcmltYXJ5Rm9udE1l
dHJpY3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMZXZlbEJveDo6
Zm9udFNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMZXZlbEJv
eDo6bGF5b3V0Qm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGV2
ZWxCb3g6OnByZWZlcnJlZExpbmVIZWlnaHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpJbmxpbmVMZXZlbEJveDo6dmVydGljYWxBbGlnbiBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OklubGluZUxldmVsQm94OjpzdHlsZSBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1
biBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJveEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94
QnVpbGRlcjo6YWRqdXN0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveFdpdGhGYWxsYmFja0Zv
bnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OnNl
dEluaXRpYWxWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2
ZWxCb3hlcyk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJveFZlcnRpY2FsQWxpZ25lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVCb3hWZXJ0aWNhbEFsaWduZXI6OmNhblVzZVNpbXBsaWZpZWRBbGlnbm1lbnRGb3JJbmxp
bmVMZXZlbEJveCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hWZXJ0aWNhbEFs
aWduZXI6OmNvbXB1dGVMaW5lQm94TG9naWNhbEhlaWdodCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVCb3hWZXJ0aWNhbEFsaWduZXI6OmNvbXB1dGVSb290SW5saW5lQm94
VmVydGljYWxQb3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVC
b3hWZXJ0aWNhbEFsaWduZXI6OmFsaWduSW5saW5lTGV2ZWxCb3hlcyBjb25zdCk6CisKIDIwMjEt
MDktMjMgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lG
Q10gSW5saW5lRGlzcGxheTo6Qm94IHNob3VsZCBiZSBhYmxlIHRvIHByb3ZpZGUgZmlyc3QtbGlu
ZSBzdHlsZSB3aGVuIGFwcGxpY2FibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxldmVsQm94LmggYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMZXZlbEJveC5oCmlu
ZGV4IDJhMjk1NjQwODdhYTJiMGMzZDVlMDk3YThlNDEyYTAyMmQ5ZjNjZWQuLmM2NDg1MjVhOTVh
M2RlMDdhM2QyNjc4YzFiNjljMzM5YzIxOTE3YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxldmVsQm94LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGV2
ZWxCb3guaApAQCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpCiAKKyNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgogI2luY2x1ZGUgIklubGluZVJl
Y3QuaCIKICNpbmNsdWRlICJMYXlvdXRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRVbml0cy5oIgpA
QCAtNjIsOSArNjMsMTUgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQ29udGVudCgpIGNvbnN0IHsg
cmV0dXJuIG1faGFzQ29udGVudDsgfQogICAgIHZvaWQgc2V0SGFzQ29udGVudCgpOwogCi0gICAg
VmVydGljYWxBbGlnbiB2ZXJ0aWNhbEFsaWduKCkgY29uc3QgeyByZXR1cm4gbGF5b3V0Qm94KCku
c3R5bGUoKS52ZXJ0aWNhbEFsaWduKCk7IH0KLSAgICBjb25zdCBCb3gmIGxheW91dEJveCgpIGNv
bnN0IHsgcmV0dXJuICptX2xheW91dEJveDsgfQotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHls
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Qm94LT5zdHlsZSgpOyB9CisgICAgc3RydWN0IFZl
cnRpY2FsQWxpZ25tZW50IHsKKyAgICAgICAgVmVydGljYWxBbGlnbiB0eXBlIHsgVmVydGljYWxB
bGlnbjo6QmFzZWxpbmUgfTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0
PiBiYXNlbGluZU9mZnNldDsKKyAgICB9OworICAgIFZlcnRpY2FsQWxpZ25tZW50IHZlcnRpY2Fs
QWxpZ24oKSBjb25zdDsKKyAgICBJbmxpbmVMYXlvdXRVbml0IHByZWZlcnJlZExpbmVIZWlnaHQo
KSBjb25zdDsKKyAgICBib29sIGlzUHJlZmVycmVkTGluZUhlaWdodEZvbnRNZXRyaWNzQmFzZWQo
KSBjb25zdCB7IHJldHVybiBsYXlvdXRCb3goKS5zdHlsZSgpLmxpbmVIZWlnaHQoKS5pc05lZ2F0
aXZlKCk7IH0KKyAgICBjb25zdCBGb250TWV0cmljcyYgcHJpbWFyeUZvbnRNZXRyaWNzKCkgY29u
c3QgeyByZXR1cm4gbGF5b3V0Qm94KCkuc3R5bGUoKS5mb250Q2FzY2FkZSgpLnByaW1hcnlGb250
KCkuZm9udE1ldHJpY3MoKTsgfQorICAgIElubGluZUxheW91dFVuaXQgZm9udFNpemUoKSBjb25z
dCB7IHJldHVybiBsYXlvdXRCb3goKS5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuZm9udERlc2NyaXB0
aW9uKCkuY29tcHV0ZWRQaXhlbFNpemUoKTsgfQogCiAgICAgYm9vbCBpc0lubGluZUJveCgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpJbmxpbmVCb3ggfHwgaXNSb290SW5saW5lQm94
KCkgfHwgaXNMaW5lU3Bhbm5pbmdJbmxpbmVCb3goKTsgfQogICAgIGJvb2wgaXNSb290SW5saW5l
Qm94KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5cGU6OlJvb3RJbmxpbmVCb3g7IH0KQEAg
LTgzLDYgKzkwLDggQEAgcHVibGljOgogICAgIH07CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyBy
ZXR1cm4gbV90eXBlOyB9CiAKKyAgICBjb25zdCBCb3gmIGxheW91dEJveCgpIGNvbnN0IHsgcmV0
dXJuICptX2xheW91dEJveDsgfQorCiAgICAgSW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiwgSW5s
aW5lTGF5b3V0VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0U2l6ZSwgVHlwZSk7CiAgICAg
SW5saW5lTGV2ZWxCb3goKSA9IGRlZmF1bHQ7CiAKQEAgLTEzMCw2ICsxMzksMjcgQEAgaW5saW5l
IHZvaWQgSW5saW5lTGV2ZWxCb3g6OnNldEhhc0NvbnRlbnQoKQogICAgIG1faGFzQ29udGVudCA9
IHRydWU7CiB9CiAKK2lubGluZSBJbmxpbmVMYXlvdXRVbml0IElubGluZUxldmVsQm94OjpwcmVm
ZXJyZWRMaW5lSGVpZ2h0KCkgY29uc3QKK3sKKyAgICBpZiAoaXNQcmVmZXJyZWRMaW5lSGVpZ2h0
Rm9udE1ldHJpY3NCYXNlZCgpKQorICAgICAgICBwcmltYXJ5Rm9udE1ldHJpY3MoKS5saW5lU3Bh
Y2luZygpOworCisgICAgYXV0byYgbGluZUhlaWdodCA9IGxheW91dEJveCgpLnN0eWxlKCkubGlu
ZUhlaWdodCgpOworICAgIGlmIChsaW5lSGVpZ2h0LmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQor
ICAgICAgICByZXR1cm4gbWluaW11bVZhbHVlRm9yTGVuZ3RoKGxpbmVIZWlnaHQsIGZvbnRTaXpl
KCkpOworICAgIC8vIEZJWE1FOiBSZW1vdmUgaW50ZWdyYWwgZmxvb3Jpbmcgd2hlbiBsZWdhY3kg
bGluZSBsYXlvdXQgc3RvcHMgdXNpbmcgaXQuCisgICAgcmV0dXJuIGNsYW1wVG88aW50PihsaW5l
SGVpZ2h0LnZhbHVlKCkpOworfQorCitpbmxpbmUgSW5saW5lTGV2ZWxCb3g6OlZlcnRpY2FsQWxp
Z25tZW50IElubGluZUxldmVsQm94Ojp2ZXJ0aWNhbEFsaWduKCkgY29uc3QKK3sKKyAgICBhdXRv
JiBzdHlsZSA9IGxheW91dEJveCgpLnN0eWxlKCk7CisgICAgYXV0byB2ZXJ0aWNhbEFsaWduID0g
c3R5bGUudmVydGljYWxBbGlnbigpOworICAgIGlmICh2ZXJ0aWNhbEFsaWduICE9IFZlcnRpY2Fs
QWxpZ246Okxlbmd0aCkKKyAgICAgICAgcmV0dXJuIHsgdmVydGljYWxBbGlnbiwgeyB9IH07Cisg
ICAgcmV0dXJuIHsgdmVydGljYWxBbGlnbiwgZmxvYXRWYWx1ZUZvckxlbmd0aChzdHlsZS52ZXJ0
aWNhbEFsaWduTGVuZ3RoKCksIHByZWZlcnJlZExpbmVIZWlnaHQoKSkgfTsKK30KKwogaW5saW5l
IGJvb2wgSW5saW5lTGV2ZWxCb3g6Omhhc0xpbmVCb3hSZWxhdGl2ZUFsaWdubWVudCgpIGNvbnN0
CiB7CiAgICAgYXV0byB2ZXJ0aWNhbEFsaWdubWVudCA9IGxheW91dEJveCgpLnN0eWxlKCkudmVy
dGljYWxBbGlnbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAppbmRleCBiZTZk
NjczZWJlZDdlMDNkODZiNTNmYTA0NmU3ZDZiYzYxYmJkZWIzLi5kMDVlZjc3MGRiYmUwYTU4MDZi
NzMzMzRmYWYxNGQ5Zjk1NGY0ZWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNw
cApAQCAtNTMsNyArNTMsNyBAQCBJbmxpbmVSZWN0IExpbmVCb3g6OmxvZ2ljYWxSZWN0Rm9yVGV4
dFJ1bihjb25zdCBMaW5lOjpSdW4mIHJ1bikgY29uc3QKICAgICBBU1NFUlQocnVuLmlzVGV4dCgp
IHx8IHJ1bi5pc1NvZnRMaW5lQnJlYWsoKSk7CiAgICAgYXV0byogcGFyZW50SW5saW5lQm94ID0g
JmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KHJ1bi5sYXlvdXRCb3goKS5wYXJlbnQoKSk7CiAg
ICAgQVNTRVJUKHBhcmVudElubGluZUJveC0+aXNJbmxpbmVCb3goKSk7Ci0gICAgYXV0byYgZm9u
dE1ldHJpY3MgPSBwYXJlbnRJbmxpbmVCb3gtPnN0eWxlKCkuZm9udE1ldHJpY3MoKTsKKyAgICBh
dXRvJiBmb250TWV0cmljcyA9IHBhcmVudElubGluZUJveC0+cHJpbWFyeUZvbnRNZXRyaWNzKCk7
CiAgICAgYXV0byBydW5sb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94LT5sb2dpY2FsVG9wKCkg
KyBwYXJlbnRJbmxpbmVCb3gtPmJhc2VsaW5lKCkgLSBmb250TWV0cmljcy5hc2NlbnQoKTsKIAog
ICAgIHdoaWxlIChwYXJlbnRJbmxpbmVCb3ggIT0gJm1fcm9vdElubGluZUJveCAmJiAhcGFyZW50
SW5saW5lQm94LT5oYXNMaW5lQm94UmVsYXRpdmVBbGlnbm1lbnQoKSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJveEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCmluZGV4IDhiZmE2NDE3NjMyMGVjM2Ni
MmE3YTQyNDk3YWQ1MWFmMGY0MjFlNDMuLjNhM2JiZWMyMmUxOWQ0YzljOGJkZTk3NDJlMTUwNDZj
MTEzY2YwMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5j
cHAKQEAgLTE2Miw4ICsxNjIsNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjphZGp1c3RWZXJ0aWNh
bEdlb21ldHJ5Rm9ySW5saW5lQm94V2l0aEZhbGxiYWNrRm9udHMoSW5saW5lTAogewogICAgIEFT
U0VSVCghZmFsbGJhY2tGb250c0ZvckNvbnRlbnQuaXNFbXB0eSgpKTsKICAgICBBU1NFUlQoaW5s
aW5lQm94LmlzSW5saW5lQm94KCkpOwotICAgIGF1dG8mIHN0eWxlID0gaW5saW5lQm94LnN0eWxl
KCk7Ci0gICAgaWYgKCFzdHlsZS5saW5lSGVpZ2h0KCkuaXNOZWdhdGl2ZSgpKQorICAgIGlmICgh
aW5saW5lQm94LmlzUHJlZmVycmVkTGluZUhlaWdodEZvbnRNZXRyaWNzQmFzZWQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1pbmxpbmUtMy8j
aW5saW5lLWhlaWdodApAQCAtMTk1LDMwICsxOTQsMjcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6
YWRqdXN0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveFdpdGhGYWxsYmFja0ZvbnRzKElubGlu
ZUwKIHZvaWQgTGluZUJveEJ1aWxkZXI6OnNldEluaXRpYWxWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5s
aW5lQm94KElubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCkgY29uc3QKIHsKICAgICBBU1NF
UlQoaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVCb3goKSB8fCBpbmxpbmVMZXZlbEJveC5pc0xpbmVC
cmVha0JveCgpKTsKLSAgICBhdXRvJiBmb250TWV0cmljcyA9IGlubGluZUxldmVsQm94LnN0eWxl
KCkuZm9udE1ldHJpY3MoKTsKLSAgICBJbmxpbmVMYXlvdXRVbml0IGFzY2VudCA9IGZvbnRNZXRy
aWNzLmFzY2VudCgpOwotICAgIElubGluZUxheW91dFVuaXQgZGVzY2VudCA9IGZvbnRNZXRyaWNz
LmRlc2NlbnQoKTsKKyAgICBhdXRvJiBwcmltYXJ5Rm9udE1ldHJpY3MgPSBpbmxpbmVMZXZlbEJv
eC5wcmltYXJ5Rm9udE1ldHJpY3MoKTsKKyAgICBJbmxpbmVMYXlvdXRVbml0IGFzY2VudCA9IHBy
aW1hcnlGb250TWV0cmljcy5hc2NlbnQoKTsKKyAgICBJbmxpbmVMYXlvdXRVbml0IGRlc2NlbnQg
PSBwcmltYXJ5Rm9udE1ldHJpY3MuZGVzY2VudCgpOwogICAgIGF1dG8gbG9naWNhbEhlaWdodCA9
IGFzY2VudCArIGRlc2NlbnQ7CiAgICAgLy8gV2UgbmVlZCBmbG9vci9jZWlsIHRvIG1hdGNoIGxl
Z2FjeSBsYXlvdXQgaW50ZWdyYWwgcG9zaXRpb25pbmcuCiAgICAgaW5saW5lTGV2ZWxCb3guc2V0
QmFzZWxpbmUoZmxvb3JmKGFzY2VudCkpOwogICAgIGlubGluZUxldmVsQm94LnNldERlc2NlbnQo
Y2VpbGYoZGVzY2VudCkpOwogICAgIGlubGluZUxldmVsQm94LnNldExvZ2ljYWxIZWlnaHQobG9n
aWNhbEhlaWdodCk7CiAKLSAgICAvLyBGSVhNRTogQWRqdXN0IGxheW91dCBib3VuZHMgd2l0aCBm
YWxsYmFjayBmb250IHdoZW4gYXBwbGljYWJsZS4KLSAgICBhdXRvJiBzdHlsZSA9IGlubGluZUxl
dmVsQm94LmxheW91dEJveCgpLnN0eWxlKCk7Ci0gICAgYXV0byBsaW5lSGVpZ2h0ID0gc3R5bGUu
bGluZUhlaWdodCgpOwotICAgIGlmIChsaW5lSGVpZ2h0LmlzTmVnYXRpdmUoKSkgeworICAgIGlm
IChpbmxpbmVMZXZlbEJveC5pc1ByZWZlcnJlZExpbmVIZWlnaHRGb250TWV0cmljc0Jhc2VkKCkp
IHsKICAgICAgICAgLy8gSWYgbGluZS1oZWlnaHQgY29tcHV0ZXMgdG8gbm9ybWFsIGFuZCBlaXRo
ZXIgdGV4dC1lZGdlIGlzIGxlYWRpbmcgb3IgdGhpcyBpcyB0aGUgcm9vdCBpbmxpbmUgYm94LAog
ICAgICAgICAvLyB0aGUgZm9udOKAmXMgbGluZSBnYXAgbWV0cmljIG1heSBhbHNvIGJlIGluY29y
cG9yYXRlZCBpbnRvIEEgYW5kIEQgYnkgYWRkaW5nIGhhbGYgdG8gZWFjaCBzaWRlIGFzIGhhbGYt
bGVhZGluZy4KICAgICAgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1pbmxpbmUtMy8j
aW5saW5lLWhlaWdodAogICAgICAgICAvLyBTaW5jZSB0ZXh0LWVkZ2UgaXMgbm90IHN1cHBvcnRl
ZCB5ZXQgYW5kIHRoZSBpbml0aWFsIHZhbHVlIGlzIGxlYWRpbmcsIHdlIHNob3VsZCBqdXN0IGFw
cGx5IGl0IHRvCiAgICAgICAgIC8vIGFsbCBpbmxpbmUgYm94ZXMuCi0gICAgICAgIGF1dG8gaGFs
ZkxpbmVHYXAgPSAoZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSAtIGxvZ2ljYWxIZWlnaHQpIC8g
MjsKKyAgICAgICAgYXV0byBoYWxmTGluZUdhcCA9IChwcmltYXJ5Rm9udE1ldHJpY3MubGluZVNw
YWNpbmcoKSAtIGxvZ2ljYWxIZWlnaHQpIC8gMjsKICAgICAgICAgYXNjZW50ICs9IGhhbGZMaW5l
R2FwOwogICAgICAgICBkZXNjZW50ICs9IGhhbGZMaW5lR2FwOwogICAgIH0gZWxzZSB7Ci0gICAg
ICAgIElubGluZUxheW91dFVuaXQgbGluZUhlaWdodCA9IHN0eWxlLmNvbXB1dGVkTGluZUhlaWdo
dCgpOwotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGhhbGZMZWFkaW5nID0gKGxpbmVIZWlnaHQg
LSAoYXNjZW50ICsgZGVzY2VudCkpIC8gMjsKKyAgICAgICAgYXV0byBwcmVmZXJyZWRMaW5lSGVp
Z2h0ID0gaW5saW5lTGV2ZWxCb3gucHJlZmVycmVkTGluZUhlaWdodCgpOworICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IGhhbGZMZWFkaW5nID0gKHByZWZlcnJlZExpbmVIZWlnaHQgLSAoYXNjZW50
ICsgZGVzY2VudCkpIC8gMjsKICAgICAgICAgYXNjZW50ICs9IGhhbGZMZWFkaW5nOwogICAgICAg
ICBkZXNjZW50ICs9IGhhbGZMZWFkaW5nOwogICAgIH0KQEAgLTIzMyw3ICsyMjksNyBAQCBJbmxp
bmVMYXlvdXRVbml0IExpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RBbmRBbGlnbklubGluZUxldmVs
Qm94ZXMoTGluZUJveCYgbGluZQogCiAgICAgLy8gRklYTUU6IEFkZCBmYXN0IHBhdGggc3VwcG9y
dCBmb3IgbGluZS1oZWlnaHQgY29udGVudC4KICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFsd2F5
cyBiZSBhYmxlIHRvIGV4ZXJjaXNlIHRoZSBmYXN0IHBhdGggd2hlbiB0aGUgbGluZSBoYXMgbm8g
Y29udGVudCBhdCBhbGwsIGV2ZW4gaW4gbm9uLXN0YW5kYXJkcyBtb2RlIG9yIHdpdGggbGluZS1o
ZWlnaHQgc2V0LgotICAgIGF1dG8gY2FuVXNlU2ltcGxpZmllZEFsaWdubWVudCA9IGxheW91dFN0
YXRlKCkuaW5TdGFuZGFyZHNNb2RlKCkgJiYgcm9vdEJveCgpLnN0eWxlKCkubGluZUhlaWdodCgp
LmlzTmVnYXRpdmUoKTsKKyAgICBhdXRvIGNhblVzZVNpbXBsaWZpZWRBbGlnbm1lbnQgPSBsYXlv
dXRTdGF0ZSgpLmluU3RhbmRhcmRzTW9kZSgpICYmIHJvb3RJbmxpbmVCb3guaXNQcmVmZXJyZWRM
aW5lSGVpZ2h0Rm9udE1ldHJpY3NCYXNlZCgpOwogICAgIGF1dG8gdXBkYXRlQ2FuVXNlU2ltcGxp
ZmllZEFsaWdubWVudCA9IFsmXShhdXRvJiBpbmxpbmVMZXZlbEJveCwgc3RkOjpvcHRpb25hbDxj
b25zdCBCb3hHZW9tZXRyeT4gYm94R2VvbWV0cnkgPSBzdGQ6Om51bGxvcHQpIHsKICAgICAgICAg
aWYgKCFjYW5Vc2VTaW1wbGlmaWVkQWxpZ25tZW50KQogICAgICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lTGluZUJveFZlcnRpY2FsQWxpZ25lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94VmVydGljYWxBbGlnbmVyLmNw
cAppbmRleCAzZGM0ODY0OGRiZGRmMjFlYzMyNTQ3MGQwZDQ1ZWNmM2Q0ZjM2MjMyLi5kZWYwYTU4
N2RmY2Y2MDI1ZWQ4YTYyYzI5ZTQ3OTk3MWY2MTQ0YTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94VmVydGlj
YWxBbGlnbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94VmVydGljYWxBbGlnbmVyLmNwcApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKLSNpbmNsdWRl
ICJGb250Q2FzY2FkZS5oIgogI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdDb250ZXh0LmgiCiAj
aW5jbHVkZSAiTGF5b3V0Qm94R2VvbWV0cnkuaCIKIApAQCAtNDcsMTggKzQ2LDE4IEBAIGJvb2wg
TGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y2FuVXNlU2ltcGxpZmllZEFsaWdubWVudEZvcklubGlu
ZUxldmVsQm94KGNvbnN0IEluCiAgICAgICAgIC8vIEJhc2VsaW5lIGFsaWduZWQsIG5vbi1zdHJl
dGNoeSBkaXJlY3QgY2hpbGRyZW4gYXJlIGNvbnNpZGVyZWQgdG8gYmUgc2ltcGxlIGZvciBub3cu
CiAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOwog
ICAgICAgICByZXR1cm4gJmxheW91dEJveC5wYXJlbnQoKSA9PSAmcm9vdElubGluZUJveC5sYXlv
dXRCb3goKQotICAgICAgICAgICAgJiYgbGF5b3V0Qm94LnN0eWxlKCkudmVydGljYWxBbGlnbigp
ID09IFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lCisgICAgICAgICAgICAmJiBpbmxpbmVMZXZlbEJv
eC52ZXJ0aWNhbEFsaWduKCkudHlwZSA9PSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZQogICAgICAg
ICAgICAgJiYgIWlubGluZUxldmVsQm94R2VvbWV0cnktPm1hcmdpbkJlZm9yZSgpCiAgICAgICAg
ICAgICAmJiAhaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS0+bWFyZ2luQWZ0ZXIoKQogICAgICAgICAg
ICAgJiYgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS0+bWFyZ2luQm94SGVpZ2h0KCkgPD0gcm9vdElu
bGluZUJveC5iYXNlbGluZSgpOwogICAgIH0KICAgICBpZiAoaW5saW5lTGV2ZWxCb3guaXNMaW5l
QnJlYWtCb3goKSkgewogICAgICAgICAvLyBCYXNlbGluZSBhbGlnbmVkLCBub24tc3RyZXRjaHkg
bGluZSBicmVha3MgZS5nLiA8ZGl2PjxzcGFuPjxicj48L3NwYW4+PC9kaXY+IGJ1dCBub3QgPGRp
dj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMDBweDsiPjxicj48L3NwYW4+PC9kaXY+LgotICAg
ICAgICByZXR1cm4gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94KCkuc3R5bGUoKS52ZXJ0aWNhbEFs
aWduKCkgPT0gVmVydGljYWxBbGlnbjo6QmFzZWxpbmUgJiYgaW5saW5lTGV2ZWxCb3guYmFzZWxp
bmUoKSA8PSByb290SW5saW5lQm94LmJhc2VsaW5lKCk7CisgICAgICAgIHJldHVybiBpbmxpbmVM
ZXZlbEJveC52ZXJ0aWNhbEFsaWduKCkudHlwZSA9PSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZSAm
JiBpbmxpbmVMZXZlbEJveC5iYXNlbGluZSgpIDw9IHJvb3RJbmxpbmVCb3guYmFzZWxpbmUoKTsK
ICAgICB9CiAgICAgaWYgKGlubGluZUxldmVsQm94LmlzSW5saW5lQm94KCkpIHsKICAgICAgICAg
Ly8gQmFzZWxpbmUgYWxpZ25lZCwgbm9uLXN0cmV0Y2h5IGlubGluZSBib3hlcyBlLmcuIDxkaXY+
PHNwYW4+PC9zcGFuPjwvZGl2PiBidXQgbm90IDxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTog
MTAwcHg7Ij48L3NwYW4+PC9kaXY+LgotICAgICAgICByZXR1cm4gaW5saW5lTGV2ZWxCb3gubGF5
b3V0Qm94KCkuc3R5bGUoKS52ZXJ0aWNhbEFsaWduKCkgPT0gVmVydGljYWxBbGlnbjo6QmFzZWxp
bmUgJiYgaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkgPT0gcm9vdElubGluZUJveC5sYXlv
dXRCb3VuZHMoKTsKKyAgICAgICAgcmV0dXJuIGlubGluZUxldmVsQm94LnZlcnRpY2FsQWxpZ24o
KS50eXBlID09IFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lICYmIGlubGluZUxldmVsQm94LmxheW91
dEJvdW5kcygpID09IHJvb3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCk7CiAgICAgfQogICAgIHJl
dHVybiBmYWxzZTsKIH0KQEAgLTE0OCwxNCArMTQ3LDE1IEBAIElubGluZUxheW91dFVuaXQgTGlu
ZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29tcHV0ZUxpbmVCb3hMb2dpY2FsSGVpZ2h0KExpbmVCb3gm
IGxpCiAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIGxvZ2ljYWwgdG9wIGlzIG5vdCB0aGUgZmlu
YWwgbG9naWNhbCB0b3Agb2YgdGhlIGlubGluZSBsZXZlbCBib3guCiAgICAgICAgIC8vIFRoaXMg
aXMgdGhlIGxvZ2ljYWwgdG9wIGluIHRoZSBjb250ZXh0IG9mIHRoZSBsYXlvdXQgYm91bmRzIGdl
b21ldHJ5IHdoaWNoIG1heSBiZSB2ZXJ5IGRpZmZlcmVudCBmcm9tIHRoZSBpbmxpbmUgYm94J3Mg
bm9ybWFsIGdlb21ldHJ5LgogICAgICAgICBhdXRvIGxvZ2ljYWxUb3AgPSBJbmxpbmVMYXlvdXRV
bml0IHsgfTsKLSAgICAgICAgc3dpdGNoIChpbmxpbmVMZXZlbEJveC52ZXJ0aWNhbEFsaWduKCkp
IHsKKyAgICAgICAgYXV0byB2ZXJ0aWNhbEFsaWduID0gaW5saW5lTGV2ZWxCb3gudmVydGljYWxB
bGlnbigpOworICAgICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ24udHlwZSkgewogICAgICAgICBj
YXNlIFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lOiB7CiAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxU
b3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMo
KS5hc2NlbnQ7CiAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94LmxheW91
dEJvdW5kcygpLmFzY2VudCAtIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmU7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246
Ok1pZGRsZTogewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJh
c2VsaW5lID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkgLyAyICsgcGFy
ZW50SW5saW5lQm94LnN0eWxlKCkuZm9udE1ldHJpY3MoKS54SGVpZ2h0KCkgLyAyOworICAgICAg
ICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5lTGV2
ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkgLyAyICsgcGFyZW50SW5saW5lQm94LnByaW1h
cnlGb250TWV0cmljcygpLnhIZWlnaHQoKSAvIDI7CiAgICAgICAgICAgICBsb2dpY2FsVG9wID0g
cGFyZW50SW5saW5lQm94LmxheW91dEJvdW5kcygpLmFzY2VudCAtIGxvZ2ljYWxUb3BPZmZzZXRG
cm9tUGFyZW50QmFzZWxpbmU7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMTY1
LDggKzE2NSw3IEBAIElubGluZUxheW91dFVuaXQgTGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29t
cHV0ZUxpbmVCb3hMb2dpY2FsSGVpZ2h0KExpbmVCb3gmIGxpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246Okxlbmd0aDogewotICAgICAg
ICAgICAgYXV0byYgc3R5bGUgPSBpbmxpbmVMZXZlbEJveC5zdHlsZSgpOwotICAgICAgICAgICAg
YXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gZmxvYXRWYWx1ZUZvckxl
bmd0aChzdHlsZS52ZXJ0aWNhbEFsaWduTGVuZ3RoKCksIHN0eWxlLmNvbXB1dGVkTGluZUhlaWdo
dCgpKSArIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmFzY2VudDsKKyAgICAgICAgICAg
IGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9ICp2ZXJ0aWNhbEFsaWdu
LmJhc2VsaW5lT2Zmc2V0ICsgaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50Owog
ICAgICAgICAgICAgbG9naWNhbFRvcCA9IHBhcmVudElubGluZUJveC5sYXlvdXRCb3VuZHMoKS5h
c2NlbnQgLSBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KQEAgLTE4MywxMiArMTgyLDEyIEBAIElubGluZUxheW91dFVuaXQg
TGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29tcHV0ZUxpbmVCb3hMb2dpY2FsSGVpZ2h0KExpbmVC
b3gmIGxpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFZlcnRp
Y2FsQWxpZ246OlN1YjogewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBh
cmVudEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50IC0gKHBh
cmVudElubGluZUJveC5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuc2l6ZSgpIC8gNSArIDEpOworICAg
ICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5l
TGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50IC0gKHBhcmVudElubGluZUJveC5mb250U2l6
ZSgpIC8gNSArIDEpOwogICAgICAgICAgICAgbG9naWNhbFRvcCA9IHBhcmVudElubGluZUJveC5s
YXlvdXRCb3VuZHMoKS5hc2NlbnQgLSBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5l
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBWZXJ0aWNhbEFs
aWduOjpTdXBlcjogewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVu
dEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50ICsgcGFyZW50
SW5saW5lQm94LnN0eWxlKCkuZm9udENhc2NhZGUoKS5zaXplKCkgLyAzICsgMTsKKyAgICAgICAg
ICAgIGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IGlubGluZUxldmVs
Qm94LmxheW91dEJvdW5kcygpLmFzY2VudCArIHBhcmVudElubGluZUJveC5mb250U2l6ZSgpIC8g
MyArIDE7CiAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94LmxheW91dEJv
dW5kcygpLmFzY2VudCAtIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmU7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMjM3LDEyICsyMzYsMTMgQEAgdm9pZCBMaW5l
Qm94VmVydGljYWxBbGlnbmVyOjpjb21wdXRlUm9vdElubGluZUJveFZlcnRpY2FsUG9zaXRpb24o
TGluZUJveCYgbGluZUIKICAgICAgICAgICAgIGF1dG8mIHBhcmVudElubGluZUJveCA9IGxpbmVC
b3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94LnBhcmVudCgpKTsKICAgICAg
ICAgICAgIGF1dG8gYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBJbmxpbmVMYXlv
dXRVbml0IHsgfTsKIAotICAgICAgICAgICAgc3dpdGNoIChpbmxpbmVMZXZlbEJveC52ZXJ0aWNh
bEFsaWduKCkpIHsKKyAgICAgICAgICAgIGF1dG8gdmVydGljYWxBbGlnbiA9IGlubGluZUxldmVs
Qm94LnZlcnRpY2FsQWxpZ24oKTsKKyAgICAgICAgICAgIHN3aXRjaCAodmVydGljYWxBbGlnbi50
eXBlKSB7CiAgICAgICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lOgogICAgICAg
ICAgICAgICAgIGJhc2VsaW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0geyB9OwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpNaWRkbGU6
IHsKLSAgICAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxp
bmUgPSAoaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkgLyAyICsgcGFyZW50
SW5saW5lQm94LnN0eWxlKCkuZm9udE1ldHJpY3MoKS54SGVpZ2h0KCkgLyAyKTsKKyAgICAgICAg
ICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSAoaW5saW5l
TGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkgLyAyICsgcGFyZW50SW5saW5lQm94LnBy
aW1hcnlGb250TWV0cmljcygpLnhIZWlnaHQoKSAvIDIpOwogICAgICAgICAgICAgICAgIGJhc2Vs
aW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRC
YXNlbGluZSAtIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmFzY2VudDsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KQEAgLTI1Miw5ICsyNTIsNyBAQCB2b2lkIExp
bmVCb3hWZXJ0aWNhbEFsaWduZXI6OmNvbXB1dGVSb290SW5saW5lQm94VmVydGljYWxQb3NpdGlv
bihMaW5lQm94JiBsaW5lQgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpMZW5ndGg6IHsKLSAgICAgICAgICAgICAg
ICBhdXRvJiBzdHlsZSA9IGlubGluZUxldmVsQm94LnN0eWxlKCk7Ci0gICAgICAgICAgICAgICAg
YXV0byB2ZXJ0aWNhbEFsaWduT2Zmc2V0ID0gZmxvYXRWYWx1ZUZvckxlbmd0aChzdHlsZS52ZXJ0
aWNhbEFsaWduTGVuZ3RoKCksIHN0eWxlLmNvbXB1dGVkTGluZUhlaWdodCgpKTsKLSAgICAgICAg
ICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSB2ZXJ0aWNh
bEFsaWduT2Zmc2V0ICsgaW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKTsKKyAgICAgICAgICAgICAg
ICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSAqdmVydGljYWxBbGln
bi5iYXNlbGluZU9mZnNldCArIGlubGluZUxldmVsQm94LmJhc2VsaW5lKCk7CiAgICAgICAgICAg
ICAgICAgYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBsb2dpY2FsVG9wT2Zmc2V0
RnJvbVBhcmVudEJhc2VsaW5lIC0gaW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKTsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KQEAgLTI2NSwxMCArMjYzLDEwIEBAIHZvaWQg
TGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29tcHV0ZVJvb3RJbmxpbmVCb3hWZXJ0aWNhbFBvc2l0
aW9uKExpbmVCb3gmIGxpbmVCCiAgICAgICAgICAgICAgICAgYmFzZWxpbmVPZmZzZXRGcm9tUGFy
ZW50QmFzZWxpbmUgPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5kZXNjZW50IC0gKnBh
cmVudElubGluZUJveC5kZXNjZW50KCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBjYXNlIFZlcnRpY2FsQWxpZ246OlN1YjoKLSAgICAgICAgICAgICAgICBiYXNlbGluZU9m
ZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IC0ocGFyZW50SW5saW5lQm94LnN0eWxlKCkuZm9udENh
c2NhZGUoKS5zaXplKCkgLyA1ICsgMSk7CisgICAgICAgICAgICAgICAgYmFzZWxpbmVPZmZzZXRG
cm9tUGFyZW50QmFzZWxpbmUgPSAtKHBhcmVudElubGluZUJveC5mb250U2l6ZSgpIC8gNSArIDEp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWdu
OjpTdXBlcjoKLSAgICAgICAgICAgICAgICBiYXNlbGluZU9mZnNldEZyb21QYXJlbnRCYXNlbGlu
ZSA9IHBhcmVudElubGluZUJveC5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuc2l6ZSgpIC8gMyArIDE7
CisgICAgICAgICAgICAgICAgYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBwYXJl
bnRJbmxpbmVCb3guZm9udFNpemUoKSAvIDMgKyAxOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX0lNUExFTUVO
VEVEX1lFVCgpOwpAQCAtMjc2LDcgKzI3NCw3IEBAIHZvaWQgTGluZUJveFZlcnRpY2FsQWxpZ25l
cjo6Y29tcHV0ZVJvb3RJbmxpbmVCb3hWZXJ0aWNhbFBvc2l0aW9uKExpbmVCb3gmIGxpbmVCCiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBhYnNvbHV0ZUJhc2VsaW5lT2Zmc2V0ID0gaW5saW5l
TGV2ZWxCb3hBYnNvbHV0ZUJhc2VsaW5lT2Zmc2V0TWFwLmdldCgmcGFyZW50SW5saW5lQm94KSAr
IGJhc2VsaW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgc3dpdGNoIChpbmxpbmVMZXZlbEJveC52ZXJ0aWNhbEFsaWduKCkpIHsKKyAgICAg
ICAgICAgIHN3aXRjaCAoaW5saW5lTGV2ZWxCb3gudmVydGljYWxBbGlnbigpLnR5cGUpIHsKICAg
ICAgICAgICAgIGNhc2UgVmVydGljYWxBbGlnbjo6VG9wOiB7CiAgICAgICAgICAgICAgICAgYWJz
b2x1dGVCYXNlbGluZU9mZnNldCA9IHJvb3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50
IC0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50OwogICAgICAgICAgICAgICAg
IGJyZWFrOwpAQCAtMzE1LDEyICszMTMsMTMgQEAgdm9pZCBMaW5lQm94VmVydGljYWxBbGlnbmVy
OjphbGlnbklubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgSW5saW5lTGF5b3UKICAg
ICAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94KCk7CiAgICAg
ICAgIGF1dG8mIHBhcmVudElubGluZUJveCA9IGxpbmVCb3guaW5saW5lTGV2ZWxCb3hGb3JMYXlv
dXRCb3gobGF5b3V0Qm94LnBhcmVudCgpKTsKICAgICAgICAgYXV0byBsb2dpY2FsVG9wID0gSW5s
aW5lTGF5b3V0VW5pdCB7IH07Ci0gICAgICAgIHN3aXRjaCAoaW5saW5lTGV2ZWxCb3gudmVydGlj
YWxBbGlnbigpKSB7CisgICAgICAgIGF1dG8gdmVydGljYWxBbGlnbiA9IGlubGluZUxldmVsQm94
LnZlcnRpY2FsQWxpZ24oKTsKKyAgICAgICAgc3dpdGNoICh2ZXJ0aWNhbEFsaWduLnR5cGUpIHsK
ICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZToKICAgICAgICAgICAgIGxvZ2lj
YWxUb3AgPSBwYXJlbnRJbmxpbmVCb3guYmFzZWxpbmUoKSAtIGlubGluZUxldmVsQm94LmJhc2Vs
aW5lKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpN
aWRkbGU6IHsKLSAgICAgICAgICAgIGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNl
bGluZSA9IChpbmxpbmVMZXZlbEJveC5sb2dpY2FsSGVpZ2h0KCkgLyAyICsgcGFyZW50SW5saW5l
Qm94LnN0eWxlKCkuZm9udE1ldHJpY3MoKS54SGVpZ2h0KCkgLyAyKTsKKyAgICAgICAgICAgIGF1
dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IChpbmxpbmVMZXZlbEJveC5s
b2dpY2FsSGVpZ2h0KCkgLyAyICsgcGFyZW50SW5saW5lQm94LnByaW1hcnlGb250TWV0cmljcygp
LnhIZWlnaHQoKSAvIDIpOwogICAgICAgICAgICAgbG9naWNhbFRvcCA9IHBhcmVudElubGluZUJv
eC5iYXNlbGluZSgpIC0gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0zMzAsMTkgKzMyOSwxNyBAQCB2b2lkIExpbmVC
b3hWZXJ0aWNhbEFsaWduZXI6OmFsaWduSW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94
LCBJbmxpbmVMYXlvdQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBWZXJ0aWNhbEFsaWduOjpMZW5ndGg6IHsKLSAgICAgICAgICAgIGF1dG8mIHN0eWxlID0gaW5s
aW5lTGV2ZWxCb3guc3R5bGUoKTsKLSAgICAgICAgICAgIGF1dG8gdmVydGljYWxBbGlnbk9mZnNl
dCA9IGZsb2F0VmFsdWVGb3JMZW5ndGgoc3R5bGUudmVydGljYWxBbGlnbkxlbmd0aCgpLCBzdHls
ZS5jb21wdXRlZExpbmVIZWlnaHQoKSk7Ci0gICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZz
ZXRGcm9tUGFyZW50QmFzZWxpbmUgPSB2ZXJ0aWNhbEFsaWduT2Zmc2V0ICsgaW5saW5lTGV2ZWxC
b3guYmFzZWxpbmUoKTsKKyAgICAgICAgICAgIGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJl
bnRCYXNlbGluZSA9ICp2ZXJ0aWNhbEFsaWduLmJhc2VsaW5lT2Zmc2V0ICsgaW5saW5lTGV2ZWxC
b3guYmFzZWxpbmUoKTsKICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSBwYXJlbnRJbmxpbmVCb3gu
YmFzZWxpbmUoKSAtIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmU7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246OlN1Yjog
ewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0g
aW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKSAtIChwYXJlbnRJbmxpbmVCb3guc3R5bGUoKS5mb250
Q2FzY2FkZSgpLnNpemUoKSAvIDUgKyAxKTsKKyAgICAgICAgICAgIGF1dG8gbG9naWNhbFRvcE9m
ZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IGlubGluZUxldmVsQm94LmJhc2VsaW5lKCkgLSAocGFy
ZW50SW5saW5lQm94LmZvbnRTaXplKCkgLyA1ICsgMSk7CiAgICAgICAgICAgICBsb2dpY2FsVG9w
ID0gcGFyZW50SW5saW5lQm94LmJhc2VsaW5lKCkgLSBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVu
dEJhc2VsaW5lOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBW
ZXJ0aWNhbEFsaWduOjpTdXBlcjogewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0
RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKSArIHBhcmVudElu
bGluZUJveC5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuc2l6ZSgpIC8gMyArIDE7CisgICAgICAgICAg
ICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBpbmxpbmVMZXZlbEJv
eC5iYXNlbGluZSgpICsgcGFyZW50SW5saW5lQm94LmZvbnRTaXplKCkgLyAzICsgMTsKICAgICAg
ICAgICAgIGxvZ2ljYWxUb3AgPSBwYXJlbnRJbmxpbmVCb3guYmFzZWxpbmUoKSAtIGxvZ2ljYWxU
b3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmU7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439116</attachid>
            <date>2021-09-23 19:37:19 -0700</date>
            <delta_ts>2021-09-24 06:44:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230718-20210923193718.patch</filename>
            <type>text/plain</type>
            <size>21776</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2JjZjViMzMzN2Y3NWM0
N2ZmMjI5NjVmOTkzZWEwYWFlMTQ5NGY2Mi4uY2FmYmIzMWE2MDVhZjZmMjU5ZGIyOTM3OTRhZDA1
MmEyY2M1YzMxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTA5LTIzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbSUZDXVtMRkNdIElubGluZUxl
dmVsQm94IG5lZWRzIHRvIHJldGFpbiBvbmx5IGEgc21hbGwgc2V0IG9mIHN0eWxlIHByb3BlcnRp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDcx
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExldCdz
IG5vdCBleHBvc2UgYWxsIHRoZSBzdHlsZSBwcm9wZXJ0aWVzIGluIGhlcmUuIElubGluZUxldmVs
Qm94ZXMgb25seSBuZWVkIGNlcnRhaW4gZm9udCBhbmQgYWxpZ25tZW50IHJlbGF0ZWQgcHJvcGVy
dGllcyB2YWx1ZXMuCisgICAgICAgIEl0IGFsc28gZW5hYmxlcyB1cyB0byBtYXAgY2VydGFpbiBw
cm9wZXJ0eSB2YWx1ZXMgdG8gcHJvcGVyIG5hbWVzLgorCisgICAgICAgIGUuZy4gUmVuZGVyU3R5
bGU6OmNvbXB1dGVMaW5lSGVpZ2h0KCkgLT4gcHJlZmVycmVkTGluZUhlaWdodCgpIChzcGVjIHRl
cm0pCisgICAgICAgICAgb3IgUmVuZGVyU3R5bGU6OmxpbmVIZWlnaHQoKS5pc05lZ2F0aXZlKCkg
LT4gaXNQcmVmZXJyZWRMaW5lSGVpZ2h0Rm9udE1ldHJpY3NCYXNlZCgpCisKKyAgICAgICAgICBO
b3cgY29kZSBsaWtlIHRoaXMKKworICAgICAgICAgIExpbmVCb3hCdWlsZGVyOjphZGp1c3RWZXJ0
aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94V2l0aEZhbGxiYWNrRm9udHMoY29uc3QgSW5saW5lQm94
JikKKyAgICAgICAgICB7CisgICAgICAgICAgICAgIGlmICghaW5saW5lQm94LmlzUHJlZmVycmVk
TGluZUhlaWdodEZvbnRNZXRyaWNzQmFzZWQoKSkKKyAgICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAuLi4KKyAgICAgICAgICBzdGFydCBtYWtpbmcgc2Vuc2UuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBpcyBhbHNvIGluIHByZXBhcmF0aW9uIGZvciBzdXBwb3J0aW5nIGZpcnN0LWxp
bmUgc3R5bGUuCisKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVMZXZlbEJveC5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMZXZlbEJv
eDo6aXNQcmVmZXJyZWRMaW5lSGVpZ2h0Rm9udE1ldHJpY3NCYXNlZCBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUxldmVsQm94OjpwcmltYXJ5Rm9udE1ldHJpY3MgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMZXZlbEJveDo6Zm9udFNpemUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMZXZlbEJveDo6bGF5b3V0
Qm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGV2ZWxCb3g6OnBy
ZWZlcnJlZExpbmVIZWlnaHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxp
bmVMZXZlbEJveDo6dmVydGljYWxBbGlnbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OklubGluZUxldmVsQm94OjpzdHlsZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3g6OmxvZ2ljYWxSZWN0Rm9yVGV4dFJ1biBjb25zdCk6
CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJv
eEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6
YWRqdXN0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveFdpdGhGYWxsYmFja0ZvbnRzIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OnNldEluaXRpYWxW
ZXJ0aWNhbEdlb21ldHJ5Rm9ySW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWduSW5saW5lTGV2ZWxCb3hlcyk6
CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJv
eFZlcnRpY2FsQWxpZ25lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hW
ZXJ0aWNhbEFsaWduZXI6OmNhblVzZVNpbXBsaWZpZWRBbGlnbm1lbnRGb3JJbmxpbmVMZXZlbEJv
eCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hWZXJ0aWNhbEFsaWduZXI6OmNv
bXB1dGVMaW5lQm94TG9naWNhbEhlaWdodCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVCb3hWZXJ0aWNhbEFsaWduZXI6OmNvbXB1dGVSb290SW5saW5lQm94VmVydGljYWxQ
b3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hWZXJ0aWNh
bEFsaWduZXI6OmFsaWduSW5saW5lTGV2ZWxCb3hlcyBjb25zdCk6CisKIDIwMjEtMDktMjMgIEFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gSW5saW5l
RGlzcGxheTo6Qm94IHNob3VsZCBiZSBhYmxlIHRvIHByb3ZpZGUgZmlyc3QtbGluZSBzdHlsZSB3
aGVuIGFwcGxpY2FibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxldmVsQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMZXZlbEJveC5oCmluZGV4IDJhMjk1
NjQwODdhYTJiMGMzZDVlMDk3YThlNDEyYTAyMmQ5ZjNjZWQuLmE2ZjgzNGYwNWRiMTJhMzRkYzkx
NjUyOWQ1MDc1YjNmNDZiZTY4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxldmVsQm94LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGV2ZWxCb3guaApA
QCAtMjcsNiArMjcsNyBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQp
CiAKKyNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgogI2luY2x1ZGUgIklubGluZVJlY3QuaCIKICNp
bmNsdWRlICJMYXlvdXRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRVbml0cy5oIgpAQCAtNjIsOSAr
NjMsMTUgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
aGFzQ29udGVudDsgfQogICAgIHZvaWQgc2V0SGFzQ29udGVudCgpOwogCi0gICAgVmVydGljYWxB
bGlnbiB2ZXJ0aWNhbEFsaWduKCkgY29uc3QgeyByZXR1cm4gbGF5b3V0Qm94KCkuc3R5bGUoKS52
ZXJ0aWNhbEFsaWduKCk7IH0KLSAgICBjb25zdCBCb3gmIGxheW91dEJveCgpIGNvbnN0IHsgcmV0
dXJuICptX2xheW91dEJveDsgfQotICAgIGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbGF5b3V0Qm94LT5zdHlsZSgpOyB9CisgICAgc3RydWN0IFZlcnRpY2FsQWxp
Z25tZW50IHsKKyAgICAgICAgVmVydGljYWxBbGlnbiB0eXBlIHsgVmVydGljYWxBbGlnbjo6QmFz
ZWxpbmUgfTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBiYXNlbGlu
ZU9mZnNldDsKKyAgICB9OworICAgIFZlcnRpY2FsQWxpZ25tZW50IHZlcnRpY2FsQWxpZ24oKSBj
b25zdDsKKyAgICBJbmxpbmVMYXlvdXRVbml0IHByZWZlcnJlZExpbmVIZWlnaHQoKSBjb25zdDsK
KyAgICBib29sIGlzUHJlZmVycmVkTGluZUhlaWdodEZvbnRNZXRyaWNzQmFzZWQoKSBjb25zdCB7
IHJldHVybiBsYXlvdXRCb3goKS5zdHlsZSgpLmxpbmVIZWlnaHQoKS5pc05lZ2F0aXZlKCk7IH0K
KyAgICBjb25zdCBGb250TWV0cmljcyYgcHJpbWFyeUZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1
cm4gbGF5b3V0Qm94KCkuc3R5bGUoKS5mb250Q2FzY2FkZSgpLnByaW1hcnlGb250KCkuZm9udE1l
dHJpY3MoKTsgfQorICAgIElubGluZUxheW91dFVuaXQgZm9udFNpemUoKSBjb25zdCB7IHJldHVy
biBsYXlvdXRCb3goKS5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuZm9udERlc2NyaXB0aW9uKCkuY29t
cHV0ZWRQaXhlbFNpemUoKTsgfQogCiAgICAgYm9vbCBpc0lubGluZUJveCgpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZSA9PSBUeXBlOjpJbmxpbmVCb3ggfHwgaXNSb290SW5saW5lQm94KCkgfHwgaXNM
aW5lU3Bhbm5pbmdJbmxpbmVCb3goKTsgfQogICAgIGJvb2wgaXNSb290SW5saW5lQm94KCkgY29u
c3QgeyByZXR1cm4gbV90eXBlID09IFR5cGU6OlJvb3RJbmxpbmVCb3g7IH0KQEAgLTgzLDYgKzkw
LDggQEAgcHVibGljOgogICAgIH07CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlOyB9CiAKKyAgICBjb25zdCBCb3gmIGxheW91dEJveCgpIGNvbnN0IHsgcmV0dXJuICptX2xh
eW91dEJveDsgfQorCiAgICAgSW5saW5lTGV2ZWxCb3goY29uc3QgQm94JiwgSW5saW5lTGF5b3V0
VW5pdCBsb2dpY2FsTGVmdCwgSW5saW5lTGF5b3V0U2l6ZSwgVHlwZSk7CiAgICAgSW5saW5lTGV2
ZWxCb3goKSA9IGRlZmF1bHQ7CiAKQEAgLTEzMCw2ICsxMzksMjcgQEAgaW5saW5lIHZvaWQgSW5s
aW5lTGV2ZWxCb3g6OnNldEhhc0NvbnRlbnQoKQogICAgIG1faGFzQ29udGVudCA9IHRydWU7CiB9
CiAKK2lubGluZSBJbmxpbmVMYXlvdXRVbml0IElubGluZUxldmVsQm94OjpwcmVmZXJyZWRMaW5l
SGVpZ2h0KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogUmVtb3ZlIGludGVncmFsIGZsb29yaW5n
IHdoZW4gbGVnYWN5IGxpbmUgbGF5b3V0IHN0b3BzIHVzaW5nIGl0LgorICAgIGlmIChpc1ByZWZl
cnJlZExpbmVIZWlnaHRGb250TWV0cmljc0Jhc2VkKCkpCisgICAgICAgIHJldHVybiBwcmltYXJ5
Rm9udE1ldHJpY3MoKS5saW5lU3BhY2luZygpOworCisgICAgYXV0byYgbGluZUhlaWdodCA9IGxh
eW91dEJveCgpLnN0eWxlKCkubGluZUhlaWdodCgpOworICAgIGlmIChsaW5lSGVpZ2h0LmlzUGVy
Y2VudE9yQ2FsY3VsYXRlZCgpKQorICAgICAgICByZXR1cm4gZmxvb3JmKG1pbmltdW1WYWx1ZUZv
ckxlbmd0aChsaW5lSGVpZ2h0LCBmb250U2l6ZSgpKSk7CisgICAgcmV0dXJuIGZsb29yZihsaW5l
SGVpZ2h0LnZhbHVlKCkpOworfQorCitpbmxpbmUgSW5saW5lTGV2ZWxCb3g6OlZlcnRpY2FsQWxp
Z25tZW50IElubGluZUxldmVsQm94Ojp2ZXJ0aWNhbEFsaWduKCkgY29uc3QKK3sKKyAgICBhdXRv
JiBzdHlsZSA9IGxheW91dEJveCgpLnN0eWxlKCk7CisgICAgYXV0byB2ZXJ0aWNhbEFsaWduID0g
c3R5bGUudmVydGljYWxBbGlnbigpOworICAgIGlmICh2ZXJ0aWNhbEFsaWduICE9IFZlcnRpY2Fs
QWxpZ246Okxlbmd0aCkKKyAgICAgICAgcmV0dXJuIHsgdmVydGljYWxBbGlnbiwgeyB9IH07Cisg
ICAgcmV0dXJuIHsgdmVydGljYWxBbGlnbiwgZmxvYXRWYWx1ZUZvckxlbmd0aChzdHlsZS52ZXJ0
aWNhbEFsaWduTGVuZ3RoKCksIHByZWZlcnJlZExpbmVIZWlnaHQoKSkgfTsKK30KKwogaW5saW5l
IGJvb2wgSW5saW5lTGV2ZWxCb3g6Omhhc0xpbmVCb3hSZWxhdGl2ZUFsaWdubWVudCgpIGNvbnN0
CiB7CiAgICAgYXV0byB2ZXJ0aWNhbEFsaWdubWVudCA9IGxheW91dEJveCgpLnN0eWxlKCkudmVy
dGljYWxBbGlnbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAppbmRleCBiZTZk
NjczZWJlZDdlMDNkODZiNTNmYTA0NmU3ZDZiYzYxYmJkZWIzLi5kMDVlZjc3MGRiYmUwYTU4MDZi
NzMzMzRmYWYxNGQ5Zjk1NGY0ZWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNw
cApAQCAtNTMsNyArNTMsNyBAQCBJbmxpbmVSZWN0IExpbmVCb3g6OmxvZ2ljYWxSZWN0Rm9yVGV4
dFJ1bihjb25zdCBMaW5lOjpSdW4mIHJ1bikgY29uc3QKICAgICBBU1NFUlQocnVuLmlzVGV4dCgp
IHx8IHJ1bi5pc1NvZnRMaW5lQnJlYWsoKSk7CiAgICAgYXV0byogcGFyZW50SW5saW5lQm94ID0g
JmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KHJ1bi5sYXlvdXRCb3goKS5wYXJlbnQoKSk7CiAg
ICAgQVNTRVJUKHBhcmVudElubGluZUJveC0+aXNJbmxpbmVCb3goKSk7Ci0gICAgYXV0byYgZm9u
dE1ldHJpY3MgPSBwYXJlbnRJbmxpbmVCb3gtPnN0eWxlKCkuZm9udE1ldHJpY3MoKTsKKyAgICBh
dXRvJiBmb250TWV0cmljcyA9IHBhcmVudElubGluZUJveC0+cHJpbWFyeUZvbnRNZXRyaWNzKCk7
CiAgICAgYXV0byBydW5sb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94LT5sb2dpY2FsVG9wKCkg
KyBwYXJlbnRJbmxpbmVCb3gtPmJhc2VsaW5lKCkgLSBmb250TWV0cmljcy5hc2NlbnQoKTsKIAog
ICAgIHdoaWxlIChwYXJlbnRJbmxpbmVCb3ggIT0gJm1fcm9vdElubGluZUJveCAmJiAhcGFyZW50
SW5saW5lQm94LT5oYXNMaW5lQm94UmVsYXRpdmVBbGlnbm1lbnQoKSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGlu
ZUJveEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCmluZGV4IDhiZmE2NDE3NjMyMGVjM2Ni
MmE3YTQyNDk3YWQ1MWFmMGY0MjFlNDMuLjNhM2JiZWMyMmUxOWQ0YzljOGJkZTk3NDJlMTUwNDZj
MTEzY2YwMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5j
cHAKQEAgLTE2Miw4ICsxNjIsNyBAQCB2b2lkIExpbmVCb3hCdWlsZGVyOjphZGp1c3RWZXJ0aWNh
bEdlb21ldHJ5Rm9ySW5saW5lQm94V2l0aEZhbGxiYWNrRm9udHMoSW5saW5lTAogewogICAgIEFT
U0VSVCghZmFsbGJhY2tGb250c0ZvckNvbnRlbnQuaXNFbXB0eSgpKTsKICAgICBBU1NFUlQoaW5s
aW5lQm94LmlzSW5saW5lQm94KCkpOwotICAgIGF1dG8mIHN0eWxlID0gaW5saW5lQm94LnN0eWxl
KCk7Ci0gICAgaWYgKCFzdHlsZS5saW5lSGVpZ2h0KCkuaXNOZWdhdGl2ZSgpKQorICAgIGlmICgh
aW5saW5lQm94LmlzUHJlZmVycmVkTGluZUhlaWdodEZvbnRNZXRyaWNzQmFzZWQoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1pbmxpbmUtMy8j
aW5saW5lLWhlaWdodApAQCAtMTk1LDMwICsxOTQsMjcgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6
YWRqdXN0VmVydGljYWxHZW9tZXRyeUZvcklubGluZUJveFdpdGhGYWxsYmFja0ZvbnRzKElubGlu
ZUwKIHZvaWQgTGluZUJveEJ1aWxkZXI6OnNldEluaXRpYWxWZXJ0aWNhbEdlb21ldHJ5Rm9ySW5s
aW5lQm94KElubGluZUxldmVsQm94JiBpbmxpbmVMZXZlbEJveCkgY29uc3QKIHsKICAgICBBU1NF
UlQoaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVCb3goKSB8fCBpbmxpbmVMZXZlbEJveC5pc0xpbmVC
cmVha0JveCgpKTsKLSAgICBhdXRvJiBmb250TWV0cmljcyA9IGlubGluZUxldmVsQm94LnN0eWxl
KCkuZm9udE1ldHJpY3MoKTsKLSAgICBJbmxpbmVMYXlvdXRVbml0IGFzY2VudCA9IGZvbnRNZXRy
aWNzLmFzY2VudCgpOwotICAgIElubGluZUxheW91dFVuaXQgZGVzY2VudCA9IGZvbnRNZXRyaWNz
LmRlc2NlbnQoKTsKKyAgICBhdXRvJiBwcmltYXJ5Rm9udE1ldHJpY3MgPSBpbmxpbmVMZXZlbEJv
eC5wcmltYXJ5Rm9udE1ldHJpY3MoKTsKKyAgICBJbmxpbmVMYXlvdXRVbml0IGFzY2VudCA9IHBy
aW1hcnlGb250TWV0cmljcy5hc2NlbnQoKTsKKyAgICBJbmxpbmVMYXlvdXRVbml0IGRlc2NlbnQg
PSBwcmltYXJ5Rm9udE1ldHJpY3MuZGVzY2VudCgpOwogICAgIGF1dG8gbG9naWNhbEhlaWdodCA9
IGFzY2VudCArIGRlc2NlbnQ7CiAgICAgLy8gV2UgbmVlZCBmbG9vci9jZWlsIHRvIG1hdGNoIGxl
Z2FjeSBsYXlvdXQgaW50ZWdyYWwgcG9zaXRpb25pbmcuCiAgICAgaW5saW5lTGV2ZWxCb3guc2V0
QmFzZWxpbmUoZmxvb3JmKGFzY2VudCkpOwogICAgIGlubGluZUxldmVsQm94LnNldERlc2NlbnQo
Y2VpbGYoZGVzY2VudCkpOwogICAgIGlubGluZUxldmVsQm94LnNldExvZ2ljYWxIZWlnaHQobG9n
aWNhbEhlaWdodCk7CiAKLSAgICAvLyBGSVhNRTogQWRqdXN0IGxheW91dCBib3VuZHMgd2l0aCBm
YWxsYmFjayBmb250IHdoZW4gYXBwbGljYWJsZS4KLSAgICBhdXRvJiBzdHlsZSA9IGlubGluZUxl
dmVsQm94LmxheW91dEJveCgpLnN0eWxlKCk7Ci0gICAgYXV0byBsaW5lSGVpZ2h0ID0gc3R5bGUu
bGluZUhlaWdodCgpOwotICAgIGlmIChsaW5lSGVpZ2h0LmlzTmVnYXRpdmUoKSkgeworICAgIGlm
IChpbmxpbmVMZXZlbEJveC5pc1ByZWZlcnJlZExpbmVIZWlnaHRGb250TWV0cmljc0Jhc2VkKCkp
IHsKICAgICAgICAgLy8gSWYgbGluZS1oZWlnaHQgY29tcHV0ZXMgdG8gbm9ybWFsIGFuZCBlaXRo
ZXIgdGV4dC1lZGdlIGlzIGxlYWRpbmcgb3IgdGhpcyBpcyB0aGUgcm9vdCBpbmxpbmUgYm94LAog
ICAgICAgICAvLyB0aGUgZm9udOKAmXMgbGluZSBnYXAgbWV0cmljIG1heSBhbHNvIGJlIGluY29y
cG9yYXRlZCBpbnRvIEEgYW5kIEQgYnkgYWRkaW5nIGhhbGYgdG8gZWFjaCBzaWRlIGFzIGhhbGYt
bGVhZGluZy4KICAgICAgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1pbmxpbmUtMy8j
aW5saW5lLWhlaWdodAogICAgICAgICAvLyBTaW5jZSB0ZXh0LWVkZ2UgaXMgbm90IHN1cHBvcnRl
ZCB5ZXQgYW5kIHRoZSBpbml0aWFsIHZhbHVlIGlzIGxlYWRpbmcsIHdlIHNob3VsZCBqdXN0IGFw
cGx5IGl0IHRvCiAgICAgICAgIC8vIGFsbCBpbmxpbmUgYm94ZXMuCi0gICAgICAgIGF1dG8gaGFs
ZkxpbmVHYXAgPSAoZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSAtIGxvZ2ljYWxIZWlnaHQpIC8g
MjsKKyAgICAgICAgYXV0byBoYWxmTGluZUdhcCA9IChwcmltYXJ5Rm9udE1ldHJpY3MubGluZVNw
YWNpbmcoKSAtIGxvZ2ljYWxIZWlnaHQpIC8gMjsKICAgICAgICAgYXNjZW50ICs9IGhhbGZMaW5l
R2FwOwogICAgICAgICBkZXNjZW50ICs9IGhhbGZMaW5lR2FwOwogICAgIH0gZWxzZSB7Ci0gICAg
ICAgIElubGluZUxheW91dFVuaXQgbGluZUhlaWdodCA9IHN0eWxlLmNvbXB1dGVkTGluZUhlaWdo
dCgpOwotICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGhhbGZMZWFkaW5nID0gKGxpbmVIZWlnaHQg
LSAoYXNjZW50ICsgZGVzY2VudCkpIC8gMjsKKyAgICAgICAgYXV0byBwcmVmZXJyZWRMaW5lSGVp
Z2h0ID0gaW5saW5lTGV2ZWxCb3gucHJlZmVycmVkTGluZUhlaWdodCgpOworICAgICAgICBJbmxp
bmVMYXlvdXRVbml0IGhhbGZMZWFkaW5nID0gKHByZWZlcnJlZExpbmVIZWlnaHQgLSAoYXNjZW50
ICsgZGVzY2VudCkpIC8gMjsKICAgICAgICAgYXNjZW50ICs9IGhhbGZMZWFkaW5nOwogICAgICAg
ICBkZXNjZW50ICs9IGhhbGZMZWFkaW5nOwogICAgIH0KQEAgLTIzMyw3ICsyMjksNyBAQCBJbmxp
bmVMYXlvdXRVbml0IExpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RBbmRBbGlnbklubGluZUxldmVs
Qm94ZXMoTGluZUJveCYgbGluZQogCiAgICAgLy8gRklYTUU6IEFkZCBmYXN0IHBhdGggc3VwcG9y
dCBmb3IgbGluZS1oZWlnaHQgY29udGVudC4KICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGFsd2F5
cyBiZSBhYmxlIHRvIGV4ZXJjaXNlIHRoZSBmYXN0IHBhdGggd2hlbiB0aGUgbGluZSBoYXMgbm8g
Y29udGVudCBhdCBhbGwsIGV2ZW4gaW4gbm9uLXN0YW5kYXJkcyBtb2RlIG9yIHdpdGggbGluZS1o
ZWlnaHQgc2V0LgotICAgIGF1dG8gY2FuVXNlU2ltcGxpZmllZEFsaWdubWVudCA9IGxheW91dFN0
YXRlKCkuaW5TdGFuZGFyZHNNb2RlKCkgJiYgcm9vdEJveCgpLnN0eWxlKCkubGluZUhlaWdodCgp
LmlzTmVnYXRpdmUoKTsKKyAgICBhdXRvIGNhblVzZVNpbXBsaWZpZWRBbGlnbm1lbnQgPSBsYXlv
dXRTdGF0ZSgpLmluU3RhbmRhcmRzTW9kZSgpICYmIHJvb3RJbmxpbmVCb3guaXNQcmVmZXJyZWRM
aW5lSGVpZ2h0Rm9udE1ldHJpY3NCYXNlZCgpOwogICAgIGF1dG8gdXBkYXRlQ2FuVXNlU2ltcGxp
ZmllZEFsaWdubWVudCA9IFsmXShhdXRvJiBpbmxpbmVMZXZlbEJveCwgc3RkOjpvcHRpb25hbDxj
b25zdCBCb3hHZW9tZXRyeT4gYm94R2VvbWV0cnkgPSBzdGQ6Om51bGxvcHQpIHsKICAgICAgICAg
aWYgKCFjYW5Vc2VTaW1wbGlmaWVkQWxpZ25tZW50KQogICAgICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
SW5saW5lTGluZUJveFZlcnRpY2FsQWxpZ25lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94VmVydGljYWxBbGlnbmVyLmNw
cAppbmRleCAzZGM0ODY0OGRiZGRmMjFlYzMyNTQ3MGQwZDQ1ZWNmM2Q0ZjM2MjMyLi5kZWYwYTU4
N2RmY2Y2MDI1ZWQ4YTYyYzI5ZTQ3OTk3MWY2MTQ0YTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94VmVydGlj
YWxBbGlnbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94VmVydGljYWxBbGlnbmVyLmNwcApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKLSNpbmNsdWRl
ICJGb250Q2FzY2FkZS5oIgogI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdDb250ZXh0LmgiCiAj
aW5jbHVkZSAiTGF5b3V0Qm94R2VvbWV0cnkuaCIKIApAQCAtNDcsMTggKzQ2LDE4IEBAIGJvb2wg
TGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y2FuVXNlU2ltcGxpZmllZEFsaWdubWVudEZvcklubGlu
ZUxldmVsQm94KGNvbnN0IEluCiAgICAgICAgIC8vIEJhc2VsaW5lIGFsaWduZWQsIG5vbi1zdHJl
dGNoeSBkaXJlY3QgY2hpbGRyZW4gYXJlIGNvbnNpZGVyZWQgdG8gYmUgc2ltcGxlIGZvciBub3cu
CiAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGlubGluZUxldmVsQm94LmxheW91dEJveCgpOwog
ICAgICAgICByZXR1cm4gJmxheW91dEJveC5wYXJlbnQoKSA9PSAmcm9vdElubGluZUJveC5sYXlv
dXRCb3goKQotICAgICAgICAgICAgJiYgbGF5b3V0Qm94LnN0eWxlKCkudmVydGljYWxBbGlnbigp
ID09IFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lCisgICAgICAgICAgICAmJiBpbmxpbmVMZXZlbEJv
eC52ZXJ0aWNhbEFsaWduKCkudHlwZSA9PSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZQogICAgICAg
ICAgICAgJiYgIWlubGluZUxldmVsQm94R2VvbWV0cnktPm1hcmdpbkJlZm9yZSgpCiAgICAgICAg
ICAgICAmJiAhaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS0+bWFyZ2luQWZ0ZXIoKQogICAgICAgICAg
ICAgJiYgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS0+bWFyZ2luQm94SGVpZ2h0KCkgPD0gcm9vdElu
bGluZUJveC5iYXNlbGluZSgpOwogICAgIH0KICAgICBpZiAoaW5saW5lTGV2ZWxCb3guaXNMaW5l
QnJlYWtCb3goKSkgewogICAgICAgICAvLyBCYXNlbGluZSBhbGlnbmVkLCBub24tc3RyZXRjaHkg
bGluZSBicmVha3MgZS5nLiA8ZGl2PjxzcGFuPjxicj48L3NwYW4+PC9kaXY+IGJ1dCBub3QgPGRp
dj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMDBweDsiPjxicj48L3NwYW4+PC9kaXY+LgotICAg
ICAgICByZXR1cm4gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94KCkuc3R5bGUoKS52ZXJ0aWNhbEFs
aWduKCkgPT0gVmVydGljYWxBbGlnbjo6QmFzZWxpbmUgJiYgaW5saW5lTGV2ZWxCb3guYmFzZWxp
bmUoKSA8PSByb290SW5saW5lQm94LmJhc2VsaW5lKCk7CisgICAgICAgIHJldHVybiBpbmxpbmVM
ZXZlbEJveC52ZXJ0aWNhbEFsaWduKCkudHlwZSA9PSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZSAm
JiBpbmxpbmVMZXZlbEJveC5iYXNlbGluZSgpIDw9IHJvb3RJbmxpbmVCb3guYmFzZWxpbmUoKTsK
ICAgICB9CiAgICAgaWYgKGlubGluZUxldmVsQm94LmlzSW5saW5lQm94KCkpIHsKICAgICAgICAg
Ly8gQmFzZWxpbmUgYWxpZ25lZCwgbm9uLXN0cmV0Y2h5IGlubGluZSBib3hlcyBlLmcuIDxkaXY+
PHNwYW4+PC9zcGFuPjwvZGl2PiBidXQgbm90IDxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTog
MTAwcHg7Ij48L3NwYW4+PC9kaXY+LgotICAgICAgICByZXR1cm4gaW5saW5lTGV2ZWxCb3gubGF5
b3V0Qm94KCkuc3R5bGUoKS52ZXJ0aWNhbEFsaWduKCkgPT0gVmVydGljYWxBbGlnbjo6QmFzZWxp
bmUgJiYgaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkgPT0gcm9vdElubGluZUJveC5sYXlv
dXRCb3VuZHMoKTsKKyAgICAgICAgcmV0dXJuIGlubGluZUxldmVsQm94LnZlcnRpY2FsQWxpZ24o
KS50eXBlID09IFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lICYmIGlubGluZUxldmVsQm94LmxheW91
dEJvdW5kcygpID09IHJvb3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCk7CiAgICAgfQogICAgIHJl
dHVybiBmYWxzZTsKIH0KQEAgLTE0OCwxNCArMTQ3LDE1IEBAIElubGluZUxheW91dFVuaXQgTGlu
ZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29tcHV0ZUxpbmVCb3hMb2dpY2FsSGVpZ2h0KExpbmVCb3gm
IGxpCiAgICAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIGxvZ2ljYWwgdG9wIGlzIG5vdCB0aGUgZmlu
YWwgbG9naWNhbCB0b3Agb2YgdGhlIGlubGluZSBsZXZlbCBib3guCiAgICAgICAgIC8vIFRoaXMg
aXMgdGhlIGxvZ2ljYWwgdG9wIGluIHRoZSBjb250ZXh0IG9mIHRoZSBsYXlvdXQgYm91bmRzIGdl
b21ldHJ5IHdoaWNoIG1heSBiZSB2ZXJ5IGRpZmZlcmVudCBmcm9tIHRoZSBpbmxpbmUgYm94J3Mg
bm9ybWFsIGdlb21ldHJ5LgogICAgICAgICBhdXRvIGxvZ2ljYWxUb3AgPSBJbmxpbmVMYXlvdXRV
bml0IHsgfTsKLSAgICAgICAgc3dpdGNoIChpbmxpbmVMZXZlbEJveC52ZXJ0aWNhbEFsaWduKCkp
IHsKKyAgICAgICAgYXV0byB2ZXJ0aWNhbEFsaWduID0gaW5saW5lTGV2ZWxCb3gudmVydGljYWxB
bGlnbigpOworICAgICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ24udHlwZSkgewogICAgICAgICBj
YXNlIFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lOiB7CiAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxU
b3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMo
KS5hc2NlbnQ7CiAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94LmxheW91
dEJvdW5kcygpLmFzY2VudCAtIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmU7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246
Ok1pZGRsZTogewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJh
c2VsaW5lID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkgLyAyICsgcGFy
ZW50SW5saW5lQm94LnN0eWxlKCkuZm9udE1ldHJpY3MoKS54SGVpZ2h0KCkgLyAyOworICAgICAg
ICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5lTGV2
ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkgLyAyICsgcGFyZW50SW5saW5lQm94LnByaW1h
cnlGb250TWV0cmljcygpLnhIZWlnaHQoKSAvIDI7CiAgICAgICAgICAgICBsb2dpY2FsVG9wID0g
cGFyZW50SW5saW5lQm94LmxheW91dEJvdW5kcygpLmFzY2VudCAtIGxvZ2ljYWxUb3BPZmZzZXRG
cm9tUGFyZW50QmFzZWxpbmU7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMTY1
LDggKzE2NSw3IEBAIElubGluZUxheW91dFVuaXQgTGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29t
cHV0ZUxpbmVCb3hMb2dpY2FsSGVpZ2h0KExpbmVCb3gmIGxpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246Okxlbmd0aDogewotICAgICAg
ICAgICAgYXV0byYgc3R5bGUgPSBpbmxpbmVMZXZlbEJveC5zdHlsZSgpOwotICAgICAgICAgICAg
YXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gZmxvYXRWYWx1ZUZvckxl
bmd0aChzdHlsZS52ZXJ0aWNhbEFsaWduTGVuZ3RoKCksIHN0eWxlLmNvbXB1dGVkTGluZUhlaWdo
dCgpKSArIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmFzY2VudDsKKyAgICAgICAgICAg
IGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9ICp2ZXJ0aWNhbEFsaWdu
LmJhc2VsaW5lT2Zmc2V0ICsgaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50Owog
ICAgICAgICAgICAgbG9naWNhbFRvcCA9IHBhcmVudElubGluZUJveC5sYXlvdXRCb3VuZHMoKS5h
c2NlbnQgLSBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KQEAgLTE4MywxMiArMTgyLDEyIEBAIElubGluZUxheW91dFVuaXQg
TGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29tcHV0ZUxpbmVCb3hMb2dpY2FsSGVpZ2h0KExpbmVC
b3gmIGxpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFZlcnRp
Y2FsQWxpZ246OlN1YjogewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBh
cmVudEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50IC0gKHBh
cmVudElubGluZUJveC5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuc2l6ZSgpIC8gNSArIDEpOworICAg
ICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5l
TGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50IC0gKHBhcmVudElubGluZUJveC5mb250U2l6
ZSgpIC8gNSArIDEpOwogICAgICAgICAgICAgbG9naWNhbFRvcCA9IHBhcmVudElubGluZUJveC5s
YXlvdXRCb3VuZHMoKS5hc2NlbnQgLSBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5l
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBWZXJ0aWNhbEFs
aWduOjpTdXBlcjogewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVu
dEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50ICsgcGFyZW50
SW5saW5lQm94LnN0eWxlKCkuZm9udENhc2NhZGUoKS5zaXplKCkgLyAzICsgMTsKKyAgICAgICAg
ICAgIGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IGlubGluZUxldmVs
Qm94LmxheW91dEJvdW5kcygpLmFzY2VudCArIHBhcmVudElubGluZUJveC5mb250U2l6ZSgpIC8g
MyArIDE7CiAgICAgICAgICAgICBsb2dpY2FsVG9wID0gcGFyZW50SW5saW5lQm94LmxheW91dEJv
dW5kcygpLmFzY2VudCAtIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmU7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMjM3LDEyICsyMzYsMTMgQEAgdm9pZCBMaW5l
Qm94VmVydGljYWxBbGlnbmVyOjpjb21wdXRlUm9vdElubGluZUJveFZlcnRpY2FsUG9zaXRpb24o
TGluZUJveCYgbGluZUIKICAgICAgICAgICAgIGF1dG8mIHBhcmVudElubGluZUJveCA9IGxpbmVC
b3guaW5saW5lTGV2ZWxCb3hGb3JMYXlvdXRCb3gobGF5b3V0Qm94LnBhcmVudCgpKTsKICAgICAg
ICAgICAgIGF1dG8gYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBJbmxpbmVMYXlv
dXRVbml0IHsgfTsKIAotICAgICAgICAgICAgc3dpdGNoIChpbmxpbmVMZXZlbEJveC52ZXJ0aWNh
bEFsaWduKCkpIHsKKyAgICAgICAgICAgIGF1dG8gdmVydGljYWxBbGlnbiA9IGlubGluZUxldmVs
Qm94LnZlcnRpY2FsQWxpZ24oKTsKKyAgICAgICAgICAgIHN3aXRjaCAodmVydGljYWxBbGlnbi50
eXBlKSB7CiAgICAgICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246OkJhc2VsaW5lOgogICAgICAg
ICAgICAgICAgIGJhc2VsaW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0geyB9OwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpNaWRkbGU6
IHsKLSAgICAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxp
bmUgPSAoaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkgLyAyICsgcGFyZW50
SW5saW5lQm94LnN0eWxlKCkuZm9udE1ldHJpY3MoKS54SGVpZ2h0KCkgLyAyKTsKKyAgICAgICAg
ICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSAoaW5saW5l
TGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuaGVpZ2h0KCkgLyAyICsgcGFyZW50SW5saW5lQm94LnBy
aW1hcnlGb250TWV0cmljcygpLnhIZWlnaHQoKSAvIDIpOwogICAgICAgICAgICAgICAgIGJhc2Vs
aW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRC
YXNlbGluZSAtIGlubGluZUxldmVsQm94LmxheW91dEJvdW5kcygpLmFzY2VudDsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KQEAgLTI1Miw5ICsyNTIsNyBAQCB2b2lkIExp
bmVCb3hWZXJ0aWNhbEFsaWduZXI6OmNvbXB1dGVSb290SW5saW5lQm94VmVydGljYWxQb3NpdGlv
bihMaW5lQm94JiBsaW5lQgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpMZW5ndGg6IHsKLSAgICAgICAgICAgICAg
ICBhdXRvJiBzdHlsZSA9IGlubGluZUxldmVsQm94LnN0eWxlKCk7Ci0gICAgICAgICAgICAgICAg
YXV0byB2ZXJ0aWNhbEFsaWduT2Zmc2V0ID0gZmxvYXRWYWx1ZUZvckxlbmd0aChzdHlsZS52ZXJ0
aWNhbEFsaWduTGVuZ3RoKCksIHN0eWxlLmNvbXB1dGVkTGluZUhlaWdodCgpKTsKLSAgICAgICAg
ICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSB2ZXJ0aWNh
bEFsaWduT2Zmc2V0ICsgaW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKTsKKyAgICAgICAgICAgICAg
ICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSAqdmVydGljYWxBbGln
bi5iYXNlbGluZU9mZnNldCArIGlubGluZUxldmVsQm94LmJhc2VsaW5lKCk7CiAgICAgICAgICAg
ICAgICAgYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBsb2dpY2FsVG9wT2Zmc2V0
RnJvbVBhcmVudEJhc2VsaW5lIC0gaW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKTsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KQEAgLTI2NSwxMCArMjYzLDEwIEBAIHZvaWQg
TGluZUJveFZlcnRpY2FsQWxpZ25lcjo6Y29tcHV0ZVJvb3RJbmxpbmVCb3hWZXJ0aWNhbFBvc2l0
aW9uKExpbmVCb3gmIGxpbmVCCiAgICAgICAgICAgICAgICAgYmFzZWxpbmVPZmZzZXRGcm9tUGFy
ZW50QmFzZWxpbmUgPSBpbmxpbmVMZXZlbEJveC5sYXlvdXRCb3VuZHMoKS5kZXNjZW50IC0gKnBh
cmVudElubGluZUJveC5kZXNjZW50KCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBjYXNlIFZlcnRpY2FsQWxpZ246OlN1YjoKLSAgICAgICAgICAgICAgICBiYXNlbGluZU9m
ZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IC0ocGFyZW50SW5saW5lQm94LnN0eWxlKCkuZm9udENh
c2NhZGUoKS5zaXplKCkgLyA1ICsgMSk7CisgICAgICAgICAgICAgICAgYmFzZWxpbmVPZmZzZXRG
cm9tUGFyZW50QmFzZWxpbmUgPSAtKHBhcmVudElubGluZUJveC5mb250U2l6ZSgpIC8gNSArIDEp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWdu
OjpTdXBlcjoKLSAgICAgICAgICAgICAgICBiYXNlbGluZU9mZnNldEZyb21QYXJlbnRCYXNlbGlu
ZSA9IHBhcmVudElubGluZUJveC5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuc2l6ZSgpIC8gMyArIDE7
CisgICAgICAgICAgICAgICAgYmFzZWxpbmVPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBwYXJl
bnRJbmxpbmVCb3guZm9udFNpemUoKSAvIDMgKyAxOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX0lNUExFTUVO
VEVEX1lFVCgpOwpAQCAtMjc2LDcgKzI3NCw3IEBAIHZvaWQgTGluZUJveFZlcnRpY2FsQWxpZ25l
cjo6Y29tcHV0ZVJvb3RJbmxpbmVCb3hWZXJ0aWNhbFBvc2l0aW9uKExpbmVCb3gmIGxpbmVCCiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBhYnNvbHV0ZUJhc2VsaW5lT2Zmc2V0ID0gaW5saW5l
TGV2ZWxCb3hBYnNvbHV0ZUJhc2VsaW5lT2Zmc2V0TWFwLmdldCgmcGFyZW50SW5saW5lQm94KSAr
IGJhc2VsaW5lT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgc3dpdGNoIChpbmxpbmVMZXZlbEJveC52ZXJ0aWNhbEFsaWduKCkpIHsKKyAgICAg
ICAgICAgIHN3aXRjaCAoaW5saW5lTGV2ZWxCb3gudmVydGljYWxBbGlnbigpLnR5cGUpIHsKICAg
ICAgICAgICAgIGNhc2UgVmVydGljYWxBbGlnbjo6VG9wOiB7CiAgICAgICAgICAgICAgICAgYWJz
b2x1dGVCYXNlbGluZU9mZnNldCA9IHJvb3RJbmxpbmVCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50
IC0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm91bmRzKCkuYXNjZW50OwogICAgICAgICAgICAgICAg
IGJyZWFrOwpAQCAtMzE1LDEyICszMTMsMTMgQEAgdm9pZCBMaW5lQm94VmVydGljYWxBbGlnbmVy
OjphbGlnbklubGluZUxldmVsQm94ZXMoTGluZUJveCYgbGluZUJveCwgSW5saW5lTGF5b3UKICAg
ICAgICAgYXV0byYgbGF5b3V0Qm94ID0gaW5saW5lTGV2ZWxCb3gubGF5b3V0Qm94KCk7CiAgICAg
ICAgIGF1dG8mIHBhcmVudElubGluZUJveCA9IGxpbmVCb3guaW5saW5lTGV2ZWxCb3hGb3JMYXlv
dXRCb3gobGF5b3V0Qm94LnBhcmVudCgpKTsKICAgICAgICAgYXV0byBsb2dpY2FsVG9wID0gSW5s
aW5lTGF5b3V0VW5pdCB7IH07Ci0gICAgICAgIHN3aXRjaCAoaW5saW5lTGV2ZWxCb3gudmVydGlj
YWxBbGlnbigpKSB7CisgICAgICAgIGF1dG8gdmVydGljYWxBbGlnbiA9IGlubGluZUxldmVsQm94
LnZlcnRpY2FsQWxpZ24oKTsKKyAgICAgICAgc3dpdGNoICh2ZXJ0aWNhbEFsaWduLnR5cGUpIHsK
ICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpCYXNlbGluZToKICAgICAgICAgICAgIGxvZ2lj
YWxUb3AgPSBwYXJlbnRJbmxpbmVCb3guYmFzZWxpbmUoKSAtIGlubGluZUxldmVsQm94LmJhc2Vs
aW5lKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBWZXJ0aWNhbEFsaWduOjpN
aWRkbGU6IHsKLSAgICAgICAgICAgIGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNl
bGluZSA9IChpbmxpbmVMZXZlbEJveC5sb2dpY2FsSGVpZ2h0KCkgLyAyICsgcGFyZW50SW5saW5l
Qm94LnN0eWxlKCkuZm9udE1ldHJpY3MoKS54SGVpZ2h0KCkgLyAyKTsKKyAgICAgICAgICAgIGF1
dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IChpbmxpbmVMZXZlbEJveC5s
b2dpY2FsSGVpZ2h0KCkgLyAyICsgcGFyZW50SW5saW5lQm94LnByaW1hcnlGb250TWV0cmljcygp
LnhIZWlnaHQoKSAvIDIpOwogICAgICAgICAgICAgbG9naWNhbFRvcCA9IHBhcmVudElubGluZUJv
eC5iYXNlbGluZSgpIC0gbG9naWNhbFRvcE9mZnNldEZyb21QYXJlbnRCYXNlbGluZTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0zMzAsMTkgKzMyOSwxNyBAQCB2b2lkIExpbmVC
b3hWZXJ0aWNhbEFsaWduZXI6OmFsaWduSW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94
LCBJbmxpbmVMYXlvdQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2Fz
ZSBWZXJ0aWNhbEFsaWduOjpMZW5ndGg6IHsKLSAgICAgICAgICAgIGF1dG8mIHN0eWxlID0gaW5s
aW5lTGV2ZWxCb3guc3R5bGUoKTsKLSAgICAgICAgICAgIGF1dG8gdmVydGljYWxBbGlnbk9mZnNl
dCA9IGZsb2F0VmFsdWVGb3JMZW5ndGgoc3R5bGUudmVydGljYWxBbGlnbkxlbmd0aCgpLCBzdHls
ZS5jb21wdXRlZExpbmVIZWlnaHQoKSk7Ci0gICAgICAgICAgICBhdXRvIGxvZ2ljYWxUb3BPZmZz
ZXRGcm9tUGFyZW50QmFzZWxpbmUgPSB2ZXJ0aWNhbEFsaWduT2Zmc2V0ICsgaW5saW5lTGV2ZWxC
b3guYmFzZWxpbmUoKTsKKyAgICAgICAgICAgIGF1dG8gbG9naWNhbFRvcE9mZnNldEZyb21QYXJl
bnRCYXNlbGluZSA9ICp2ZXJ0aWNhbEFsaWduLmJhc2VsaW5lT2Zmc2V0ICsgaW5saW5lTGV2ZWxC
b3guYmFzZWxpbmUoKTsKICAgICAgICAgICAgIGxvZ2ljYWxUb3AgPSBwYXJlbnRJbmxpbmVCb3gu
YmFzZWxpbmUoKSAtIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmU7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFZlcnRpY2FsQWxpZ246OlN1Yjog
ewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVudEJhc2VsaW5lID0g
aW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKSAtIChwYXJlbnRJbmxpbmVCb3guc3R5bGUoKS5mb250
Q2FzY2FkZSgpLnNpemUoKSAvIDUgKyAxKTsKKyAgICAgICAgICAgIGF1dG8gbG9naWNhbFRvcE9m
ZnNldEZyb21QYXJlbnRCYXNlbGluZSA9IGlubGluZUxldmVsQm94LmJhc2VsaW5lKCkgLSAocGFy
ZW50SW5saW5lQm94LmZvbnRTaXplKCkgLyA1ICsgMSk7CiAgICAgICAgICAgICBsb2dpY2FsVG9w
ID0gcGFyZW50SW5saW5lQm94LmJhc2VsaW5lKCkgLSBsb2dpY2FsVG9wT2Zmc2V0RnJvbVBhcmVu
dEJhc2VsaW5lOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBW
ZXJ0aWNhbEFsaWduOjpTdXBlcjogewotICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wT2Zmc2V0
RnJvbVBhcmVudEJhc2VsaW5lID0gaW5saW5lTGV2ZWxCb3guYmFzZWxpbmUoKSArIHBhcmVudElu
bGluZUJveC5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuc2l6ZSgpIC8gMyArIDE7CisgICAgICAgICAg
ICBhdXRvIGxvZ2ljYWxUb3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmUgPSBpbmxpbmVMZXZlbEJv
eC5iYXNlbGluZSgpICsgcGFyZW50SW5saW5lQm94LmZvbnRTaXplKCkgLyAzICsgMTsKICAgICAg
ICAgICAgIGxvZ2ljYWxUb3AgPSBwYXJlbnRJbmxpbmVCb3guYmFzZWxpbmUoKSAtIGxvZ2ljYWxU
b3BPZmZzZXRGcm9tUGFyZW50QmFzZWxpbmU7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>