<?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>229653</bug_id>
          
          <creation_ts>2021-08-28 19:18:03 -0700</creation_ts>
          <short_desc>[LFC][IFC] Add ink overflow to the line runs</short_desc>
          <delta_ts>2021-08-29 11:58:21 -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>InRadar</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>1788356</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-08-28 19:18:03 -0700</bug_when>
    <thetext>This is in preparation for merging the integration line runs with the display runs generated by IFC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788357</commentid>
    <comment_count>1</comment_count>
      <attachid>436728</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-28 19:21:27 -0700</bug_when>
    <thetext>Created attachment 436728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788392</commentid>
    <comment_count>2</comment_count>
      <attachid>436742</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-29 09:17:13 -0700</bug_when>
    <thetext>Created attachment 436742
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788397</commentid>
    <comment_count>3</comment_count>
      <attachid>436743</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-08-29 11:55:30 -0700</bug_when>
    <thetext>Created attachment 436743
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788398</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-29 11:57:56 -0700</bug_when>
    <thetext>Committed r281746 (241088@main): &lt;https://commits.webkit.org/241088@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436743.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788399</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-29 11:58:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/82501559&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436728</attachid>
            <date>2021-08-28 19:21:27 -0700</date>
            <delta_ts>2021-08-29 09:17:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229653-20210828192126.patch</filename>
            <type>text/plain</type>
            <size>15297</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmMwYjRiNWIyNjM4MTEx
YTBhMGViZDA3NGYyMTBkMWJmMDJhMGU4YS4uYzM3NmI0NjBjMjEzOWNlNmNmNjc4MDA1NDk2YjY2
OWFhZDdjZmQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI4ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBpbmsg
b3ZlcmZsb3cgdG8gdGhlIGxpbmUgcnVucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NjUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTGV0J3MgbW92ZSB0aGUgaW5rIG92ZXJmbG93IGNvbXB1dGF0aW9u
IGZyb20gdGhlIGludGVncmF0aW9uIGxheWVyIHRvIElGQy4KKyAgICAgICAgVGhpcyBpcyBpbiBw
cmVwYXJhdGlvbiBmb3IgbWVyZ2luZyBkaXNwbGF5IHJ1bnMgKElGQykgYW5kIHRoZSBpbnRlZ3Jh
dGlvbiBsYXllciBydW5zLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y3JlYXRlUnVuc0Fu
ZFVwZGF0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmNyZWF0ZVJ1bnNBbmRVcGRhdGVHZW9tZXRy
eUZvckxpbmVTcGFubmluZ0lubGluZUJveGVzKToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lUnVuLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVSdW46Omlua092ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZVJ1bjo6TGluZVJ1bik6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGlu
ZVJ1bnMgY29uc3QpOgorCiAyMDIxLTA4LTI4ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTEZDXVtJRkNdIE1ha2UgbGluZSBydW5zIHJlbGF0aXZlIHRvIHRoZSBm
b3JtYXR0aW5nIHJvb3QgYm9yZGVyIGJveC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDI1OGVlZjJlNTk3YzQ4YjMzYmZi
NzczYmQyOTkyNWViYjFiMDAzNzEuLjQ2NDhiODBlNzc0MDJiM2I4ZDI3N2FlOTQ1NjkxNmRjMzk3
NDI3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpCiAKKyNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgogI2luY2x1ZGUgIkxh
eW91dEJveEdlb21ldHJ5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDcgKzQ4LDcg
QEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWls
ZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnQKICAgICAvLyBFdmVyeSBsaW5lIHN0YXJ0cyB3aXRo
IGEgcm9vdCBydW4sIGV2ZW4gdGhlIGVtcHR5IG9uZXMuCiAgICAgYXV0byByb290SW5saW5lQm94
UmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JSb290SW5saW5lQm94KCk7CiAgICAgcm9vdElu
bGluZUJveFJlY3QubW92ZUJ5KGxpbmVCb3hMb2dpY2FsVG9wTGVmdCk7Ci0gICAgZm9ybWF0dGlu
Z1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OlJvb3RJbmxpbmVC
b3gsIHJvb3QoKSwgcm9vdElubGluZUJveFJlY3QsIHsgfSwgeyB9LCAgbGluZUJveC5yb290SW5s
aW5lQm94KCkuaGFzQ29udGVudCgpfSk7CisgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4o
eyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OlJvb3RJbmxpbmVCb3gsIHJvb3QoKSwgcm9vdElu
bGluZUJveFJlY3QsIHJvb3RJbmxpbmVCb3hSZWN0LCB7IH0sIHsgfSwgIGxpbmVCb3gucm9vdElu
bGluZUJveCgpLmhhc0NvbnRlbnQoKX0pOwogCiAgICAgLy8gU3Bhbm5pbmcgaW5saW5lIGJveGVz
IHN0YXJ0IGF0IHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiB0aGUgbGluZS4KICAgICBhdXRvIGxpbmVT
cGFubmluZ0lubGluZUJveEluZGV4ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCkuc2l6ZSgp
OwpAQCAtNjUsMjAgKzY2LDM0IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpj
cmVhdGVSdW5zQW5kVXBkYXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zCiAgICAgICAgIGNh
c2UgSW5saW5lSXRlbTo6VHlwZTo6VGV4dDogewogICAgICAgICAgICAgYXV0byB0ZXh0UnVuUmVj
dCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxpbmVSdW4pOwogICAgICAgICAgICAg
dGV4dFJ1blJlY3QubW92ZUJ5KGxpbmVCb3hMb2dpY2FsVG9wTGVmdCk7Ci0gICAgICAgICAgICBm
b3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6VGV4
dCwgbGF5b3V0Qm94LCB0ZXh0UnVuUmVjdCwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGluZVJ1bi50
ZXh0Q29udGVudCgpIH0pOworCisgICAgICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gWyZdIHsK
KyAgICAgICAgICAgICAgICBhdXRvJiBzdHlsZSA9IGxheW91dEJveC5zdHlsZSgpOworICAgICAg
ICAgICAgICAgIGF1dG8gaW5pdGlhbENvbnRhaW5nQmxvY2tTaXplID0gZm9ybWF0dGluZ1N0YXRl
LmxheW91dFN0YXRlKCkudmlld3BvcnRTaXplKCk7CisgICAgICAgICAgICAgICAgYXV0byBzdHJv
a2VPdmVyZmxvdyA9IHN0ZDo6Y2VpbChzdHlsZS5jb21wdXRlZFN0cm9rZVdpZHRoKGNlaWxlZElu
dFNpemUoaW5pdGlhbENvbnRhaW5nQmxvY2tTaXplKSkpOworICAgICAgICAgICAgICAgIGF1dG8g
aW5rT3ZlcmZsb3cgPSB0ZXh0UnVuUmVjdDsKKyAgICAgICAgICAgICAgICBpbmtPdmVyZmxvdy5p
bmZsYXRlKHN0cm9rZU92ZXJmbG93KTsKKyAgICAgICAgICAgICAgICBhdXRvIGxldHRlclNwYWNp
bmcgPSBzdHlsZS5mb250Q2FzY2FkZSgpLmxldHRlclNwYWNpbmcoKTsKKyAgICAgICAgICAgICAg
ICBpZiAobGV0dGVyU3BhY2luZyA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gTGFzdCBs
ZXR0ZXIncyBuZWdhdGl2ZSBzcGFjaW5nIHNocmlua3MgbG9naWNhbCByZWN0LiBQdXNoIGl0IHRv
IGluayBvdmVyZmxvdy4KKyAgICAgICAgICAgICAgICAgICAgaW5rT3ZlcmZsb3cuZXhwYW5kKC1s
ZXR0ZXJTcGFjaW5nLCB7IH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBy
ZXR1cm4gaW5rT3ZlcmZsb3c7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgZm9ybWF0dGlu
Z1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OlRleHQsIGxheW91
dEJveCwgdGV4dFJ1blJlY3QsIGlua092ZXJmbG93KCksIGxpbmVSdW4uZXhwYW5zaW9uKCksIGxp
bmVSdW4udGV4dENvbnRlbnQoKSB9KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIGNhc2UgSW5saW5lSXRlbTo6VHlwZTo6U29mdExpbmVCcmVhazogewogICAgICAgICAg
ICAgYXV0byBzb2Z0TGluZUJyZWFrUnVuUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JUZXh0
UnVuKGxpbmVSdW4pOwogICAgICAgICAgICAgc29mdExpbmVCcmVha1J1blJlY3QubW92ZUJ5KGxp
bmVCb3hMb2dpY2FsVG9wTGVmdCk7Ci0gICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGlu
ZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6U29mdExpbmVCcmVhaywgbGF5b3V0Qm94
LCBzb2Z0TGluZUJyZWFrUnVuUmVjdCwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGluZVJ1bi50ZXh0
Q29udGVudCgpIH0pOworICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBs
aW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OlNvZnRMaW5lQnJlYWssIGxheW91dEJveCwgc29mdExp
bmVCcmVha1J1blJlY3QsIHNvZnRMaW5lQnJlYWtSdW5SZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigp
LCBsaW5lUnVuLnRleHRDb250ZW50KCkgfSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBjYXNlIElubGluZUl0ZW06OlR5cGU6OkhhcmRMaW5lQnJlYWs6IHsKICAgICAg
ICAgICAgIC8vIE9ubHkgaGFyZCBsaW5lYnJlYWtzIGhhdmUgYXNzb2NpYXRlZCBsYXlvdXQgYm94
ZXMuCiAgICAgICAgICAgICBhdXRvIGxpbmVCcmVha0JveFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxS
ZWN0Rm9yTGluZUJyZWFrQm94KGxheW91dEJveCk7CiAgICAgICAgICAgICBsaW5lQnJlYWtCb3hS
ZWN0Lm1vdmVCeShsaW5lQm94TG9naWNhbFRvcExlZnQpOwotICAgICAgICAgICAgZm9ybWF0dGlu
Z1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OkxpbmVCcmVha0Jv
eCwgbGF5b3V0Qm94LCBsaW5lQnJlYWtCb3hSZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0g
fSk7CisgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwg
TGluZVJ1bjo6VHlwZTo6TGluZUJyZWFrQm94LCBsYXlvdXRCb3gsIGxpbmVCcmVha0JveFJlY3Qs
IGxpbmVCcmVha0JveFJlY3QsIGxpbmVSdW4uZXhwYW5zaW9uKCksIHsgfSB9KTsKIAogICAgICAg
ICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkobGF5
b3V0Qm94KTsKICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2ljYWxUb3BMZWZ0KHRvTGF5
b3V0UG9pbnQobGluZUJyZWFrQm94UmVjdC50b3BMZWZ0KCkpKTsKQEAgLTkwLDcgKzEwNSw3IEBA
IHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVSdW5zQW5kVXBkYXRlR2Vv
bWV0cnlGb3JMaW5lQ29udGVudChjb25zCiAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9
IGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gpOwogICAgICAgICAgICAgYXV0
byBsb2dpY2FsQm9yZGVyQm94ID0gbGluZUJveC5sb2dpY2FsQm9yZGVyQm94Rm9yQXRvbWljSW5s
aW5lTGV2ZWxCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7CiAgICAgICAgICAgICBsb2dpY2Fs
Qm9yZGVyQm94Lm1vdmVCeShsaW5lQm94TG9naWNhbFRvcExlZnQpOwotICAgICAgICAgICAgZm9y
bWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OkF0b21p
Y0lubGluZUxldmVsQm94LCBsYXlvdXRCb3gsIGxvZ2ljYWxCb3JkZXJCb3gsIGxpbmVSdW4uZXhw
YW5zaW9uKCksIHsgfSB9KTsKKyAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVu
KHsgbGluZUluZGV4LCBMaW5lUnVuOjpUeXBlOjpBdG9taWNJbmxpbmVMZXZlbEJveCwgbGF5b3V0
Qm94LCBsb2dpY2FsQm9yZGVyQm94LCBsb2dpY2FsQm9yZGVyQm94LCBsaW5lUnVuLmV4cGFuc2lv
bigpLCB7IH0gfSk7CiAKICAgICAgICAgICAgIGF1dG8gYm9yZGVyQm94TG9naWNhbFRvcExlZnQg
PSBsb2dpY2FsQm9yZGVyQm94LnRvcExlZnQoKTsKICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBp
bmxpbmUgYm94ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBsaW5lIGFuZCB0aGVpciB0b3AgcG9zaXRp
b24gY2FuIGJlIG5lZ2F0aXZlLgpAQCAtMTA1LDcgKzEyMCw3IEBAIHZvaWQgSW5saW5lRGlzcGxh
eUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVSdW5zQW5kVXBkYXRlR2VvbWV0cnlGb3JMaW5lQ29udGVu
dChjb25zCiAgICAgICAgICAgICBpbmxpbmVCb3hCb3JkZXJCb3gubW92ZUJ5KGxpbmVCb3hMb2dp
Y2FsVG9wTGVmdCk7CiAgICAgICAgICAgICBpZiAobGluZUJveC5oYXNDb250ZW50KCkpIHsKICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBleHBlY3RlZCB0byBub3QgaGF2ZSBhbnkgcnVu
cyBvbiBlbXB0eSBsaW5lcy4gV2Ugc2hvdWxkIHJlY29uc2lkZXIgdGhpcy4KLSAgICAgICAgICAg
ICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlw
ZTo6Tm9uUm9vdElubGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hCb3JkZXJCb3gsIHsgfSwg
eyB9LCBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCkuaGFzQ29u
dGVudCgpIH0pOworICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVuKHsg
bGluZUluZGV4LCBMaW5lUnVuOjpUeXBlOjpOb25Sb290SW5saW5lQm94LCBsYXlvdXRCb3gsIGlu
bGluZUJveEJvcmRlckJveCwgaW5saW5lQm94Qm9yZGVyQm94LCB7IH0sIHsgfSwgbGluZUJveC5p
bmxpbmVMZXZlbEJveEZvckxheW91dEJveChsYXlvdXRCb3gpLmhhc0NvbnRlbnQoKSB9KTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hTaXplID0gTGF5b3V0U2l6
ZSB7IExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwoaW5saW5lQm94Qm9yZGVyQm94LndpZHRoKCkp
LCBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGlubGluZUJveEJvcmRlckJveC5oZWlnaHQoKSkg
fTsKQEAgLTE0Myw3ICsxNTgsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
Y3JlYXRlUnVuc0FuZFVwZGF0ZUdlb21ldHJ5Rm9yTGluZVNwYW5uaW5nSW5saQogICAgICAgICBh
dXRvIGlubGluZUJveEJvcmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGlu
ZUJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKICAgICAgICAgaW5saW5lQm94Qm9yZGVyQm94
Lm1vdmVCeShsaW5lQm94TG9naWNhbFRvcExlZnQpOwogCi0gICAgICAgIGZvcm1hdHRpbmdTdGF0
ZS5saW5lUnVucygpLmluc2VydChsaW5lU3Bhbm5pbmdJbmxpbmVCb3hJbmRleCsrLCB7IGxpbmVJ
bmRleCwgTGluZVJ1bjo6VHlwZTo6Tm9uUm9vdElubGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVC
b3hCb3JkZXJCb3gsIHsgfSwgeyB9LCBpbmxpbmVMZXZlbEJveC5oYXNDb250ZW50KCksIHRydWUg
fSk7CisgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5saW5lUnVucygpLmluc2VydChsaW5lU3Bhbm5p
bmdJbmxpbmVCb3hJbmRleCsrLCB7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6Tm9uUm9vdElu
bGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hCb3JkZXJCb3gsIGlubGluZUJveEJvcmRlckJv
eCwgeyB9LCB7IH0sIGlubGluZUxldmVsQm94Lmhhc0NvbnRlbnQoKSwgdHJ1ZSB9KTsKIAogICAg
ICAgICBhdXRvIGlubGluZUJveFNpemUgPSBMYXlvdXRTaXplIHsgTGF5b3V0VW5pdDo6ZnJvbUZs
b2F0Q2VpbChpbmxpbmVCb3hCb3JkZXJCb3gud2lkdGgoKSksIExheW91dFVuaXQ6OmZyb21GbG9h
dENlaWwoaW5saW5lQm94Qm9yZGVyQm94LmhlaWdodCgpKSB9OwogICAgICAgICBhdXRvIGxvZ2lj
YWxSZWN0ID0gUmVjdCB7IExheW91dFBvaW50IHsgaW5saW5lQm94Qm9yZGVyQm94LnRvcExlZnQo
KSB9LCBpbmxpbmVCb3hTaXplIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lUnVuLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lUnVuLmgKaW5kZXgg
YzI5Y2ZhNTc2OWRmOTY1MzIyOTk4ZTM3OTgzZmQyOTAzYzA4ZTk5OC4uZTgxZmQ1MmQyNjYzZDc2
MjllZDg5OTk4Mjk0MmJiMDE1NzBmNzcwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZVJ1bi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVSdW4u
aApAQCAtNjksNyArNjksNyBAQCBzdHJ1Y3QgTGluZVJ1biB7CiAgICAgICAgIEdlbmVyaWNJbmxp
bmVMZXZlbEJveAogICAgIH07CiAgICAgc3RydWN0IEV4cGFuc2lvbjsKLSAgICBMaW5lUnVuKHNp
emVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IEJveCYsIGNvbnN0IElubGluZVJlY3QmLCBFeHBh
bnNpb24sIHN0ZDo6b3B0aW9uYWw8VGV4dD4gPSBzdGQ6Om51bGxvcHQsIGJvb2wgaGFzQ29udGVu
dCA9IHRydWUsIGJvb2wgaXNMaW5lU3Bhbm5pbmcgPSBmYWxzZSk7CisgICAgTGluZVJ1bihzaXpl
X3QgbGluZUluZGV4LCBUeXBlLCBjb25zdCBCb3gmLCBjb25zdCBJbmxpbmVSZWN0JiwgY29uc3Qg
SW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIEV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiA9
IHN0ZDo6bnVsbG9wdCwgYm9vbCBoYXNDb250ZW50ID0gdHJ1ZSwgYm9vbCBpc0xpbmVTcGFubmlu
ZyA9IGZhbHNlKTsKIAogICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09
IFR5cGU6OlRleHQ7IH0KICAgICBib29sIGlzU29mdExpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBUeXBlOjpTb2Z0TGluZUJyZWFrOyB9CkBAIC04OCw2ICs4OCw3IEBAIHN0cnVj
dCBMaW5lUnVuIHsKICAgICBib29sIGlzTGluZVNwYW5uaW5nKCkgY29uc3QgeyByZXR1cm4gbV9p
c0xpbmVTcGFubmluZzsgfQogCiAgICAgY29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBj
b25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0OyB9CisgICAgY29uc3QgSW5saW5lUmVjdCYgaW5r
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX2lua092ZXJmbG93OyB9CiAKICAgICBJbmxpbmVM
YXlvdXRVbml0IGxvZ2ljYWxUb3AoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgpLnRvcCgp
OyB9CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsQm90dG9tKCkgY29uc3QgeyByZXR1cm4g
bG9naWNhbFJlY3QoKS5ib3R0b20oKTsgfQpAQCAtMTE1LDYgKzExNiw3IEBAIHByaXZhdGU6CiAg
ICAgY29uc3QgVHlwZSBtX3R5cGU7CiAgICAgV2Vha1B0cjxjb25zdCBMYXlvdXQ6OkJveD4gbV9s
YXlvdXRCb3g7CiAgICAgSW5saW5lUmVjdCBtX2xvZ2ljYWxSZWN0OworICAgIElubGluZVJlY3Qg
bV9pbmtPdmVyZmxvdzsKICAgICBib29sIG1faGFzQ29udGVudCB7IHRydWUgfTsKICAgICAvLyBG
SVhNRTogVGhpcyBpcyB0ZW1wb3JhcnkgdW50aWwgYWZ0ZXIgaXRlcmF0b3JzIGNhbiBza2lwIG92
ZXIgbGluZSBzcGFubmluZy9yb290IGlubGluZSBib3hlcy4KICAgICBib29sIG1faXNMaW5lU3Bh
bm5pbmcgeyBmYWxzZSB9OwpAQCAtMTIyLDExICsxMjQsMTIgQEAgcHJpdmF0ZToKICAgICBzdGQ6
Om9wdGlvbmFsPFRleHQ+IG1fdGV4dDsKIH07CiAKLWlubGluZSBMaW5lUnVuOjpMaW5lUnVuKHNp
emVfdCBsaW5lSW5kZXgsIFR5cGUgdHlwZSwgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJveCwg
Y29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QsIEV4cGFuc2lvbiBleHBhbnNpb24sIHN0ZDo6
b3B0aW9uYWw8VGV4dD4gdGV4dCwgYm9vbCBoYXNDb250ZW50LCBib29sIGlzTGluZVNwYW5uaW5n
KQoraW5saW5lIExpbmVSdW46OkxpbmVSdW4oc2l6ZV90IGxpbmVJbmRleCwgVHlwZSB0eXBlLCBj
b25zdCBMYXlvdXQ6OkJveCYgbGF5b3V0Qm94LCBjb25zdCBJbmxpbmVSZWN0JiBsb2dpY2FsUmVj
dCwgY29uc3QgSW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIEV4cGFuc2lvbiBleHBhbnNpb24sIHN0
ZDo6b3B0aW9uYWw8VGV4dD4gdGV4dCwgYm9vbCBoYXNDb250ZW50LCBib29sIGlzTGluZVNwYW5u
aW5nKQogICAgIDogbV9saW5lSW5kZXgobGluZUluZGV4KQogICAgICwgbV90eXBlKHR5cGUpCiAg
ICAgLCBtX2xheW91dEJveChtYWtlV2Vha1B0cihsYXlvdXRCb3gpKQogICAgICwgbV9sb2dpY2Fs
UmVjdChsb2dpY2FsUmVjdCkKKyAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCiAgICAg
LCBtX2hhc0NvbnRlbnQoaGFzQ29udGVudCkKICAgICAsIG1faXNMaW5lU3Bhbm5pbmcoaXNMaW5l
U3Bhbm5pbmcpCiAgICAgLCBtX2V4cGFuc2lvbihleHBhbnNpb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250
ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0
SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKaW5kZXggY2ViODA0MjM0YTM3YzYw
ODAyNDk0YTA3MTdhMWFkZmJhYmI4YjQzYi4uOTBhZGI2YWY1NTRhMjJhYzBjYmE1ZTdkYzY4ZWUx
MTM0YzE4MjM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcApAQCAtMjU4LDEwICsyNTgsMTMgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmIGxpbmUK
ICAgICAgICAgLy8gSW5saW5lIGJveGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgbGluZSBib3ggd2hp
bGUgZmluYWwgcnVucyBuZWVkIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgYm94CiAgICAg
ICAgIC8vIEZJWE1FOiBTaG91bGRuJ3Qgd2UganVzdCBsZWF2ZSB0aGVtIGJlIHJlbGF0aXZlIHRv
IHRoZSBsaW5lIGJveD8KICAgICAgICAgYXV0byBydW5SZWN0ID0gRmxvYXRSZWN0IHsgbGluZVJ1
bi5sb2dpY2FsUmVjdCgpIH07CisgICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBGbG9hdFJlY3Qg
eyBsaW5lUnVuLmlua092ZXJmbG93KCkgfTsKICAgICAgICAgYXV0byYgZ2VvbWV0cnkgPSBtX2xh
eW91dFN0YXRlLmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CiAgICAgICAgIHJ1blJlY3Quc2V0
U2l6ZSh7IGdlb21ldHJ5LmJvcmRlckJveFdpZHRoKCksIGdlb21ldHJ5LmJvcmRlckJveEhlaWdo
dCgpIH0pOwotICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xp
bmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKQorICAgICAgICBpZiAobGluZUxldmVsVmlz
dWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKSB7
CiAgICAgICAgICAgICBydW5SZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkpOworICAg
ICAgICAgICAgaW5rT3ZlcmZsb3cuc2V0WShyb3VuZFRvSW50KGlua092ZXJmbG93LnkoKSkpOwor
ICAgICAgICB9CiAgICAgICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igbm9uLXRleHQgaW5r
IG92ZXJmbG93LgogICAgICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGNhc2VzIHdoZW4g
dGhlIHJ1biBpcyBhZnRlciBlbGxpcHNpcy4KICAgICAgICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVC
b3goKSkgewpAQCAtMjczLDEwICsyNzYsMTAgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6
Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmIGxpbmUKICAg
ICAgICAgICAgIGlubGluZUNvbnRlbnQubm9uUm9vdElubGluZUJveGVzLmFwcGVuZCh7IGxpbmVJ
bmRleCwgbGF5b3V0Qm94LCBsaW5lUnVuUmVjdCwgaGFzU2Nyb2xsYWJsZUNvbnRlbnQoKSB9KTsK
ICAgICAgICAgICAgIGlmICghbGluZVJ1bi5pc0xpbmVTcGFubmluZygpKSB7CiAgICAgICAgICAg
ICAgICAgLy8gRklYTUU6IFJ1biBpdGVyYXRvcnMgd2l0aCAodGV4dClydW5zIHNwYW5uaW5nIG92
ZXIgbXVsdGlwbGUgbGluZXMgZXhwZWN0IG5vICJpbi1iZXR3ZWVuIiBydW5zIChlLmcuIGxpbmUg
c3Bhbm5pbmcgb3Igcm9vdCBpbmxpbmUgYm94ZXMpLgotICAgICAgICAgICAgICAgIGlubGluZUNv
bnRlbnQucnVucy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxheW91dEJveCwgcnVuUmVjdCwgcnVuUmVj
dCwgeyB9LCB7IH0gfSk7CisgICAgICAgICAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVu
ZCh7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBpbmtPdmVyZmxvdywgeyB9LCB7IH0g
fSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgaW5saW5lQ29u
dGVudC5ydW5zLmFwcGVuZCh7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBydW5SZWN0
LCB7IH0sIHsgfSB9KTsKKyAgICAgICAgICAgIGlubGluZUNvbnRlbnQucnVucy5hcHBlbmQoeyBs
aW5lSW5kZXgsIGxheW91dEJveCwgcnVuUmVjdCwgaW5rT3ZlcmZsb3csIHsgfSwgeyB9IH0pOwog
ICAgIH07CiAKICAgICBhdXRvIGNyZWF0ZURpc3BsYXlUZXh0UnVuRm9yUmFuZ2UgPSBbJl0oYXV0
byYgbGluZVJ1biwgYXV0byBzdGFydE9mZnNldCwgYXV0byBlbmRPZmZzZXQpIHsKQEAgLTI4NSw4
ICsyODgsMTEgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVS
dW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmIGxpbmUKICAgICAgICAgYXV0byBsaW5lSW5k
ZXggPSBsaW5lUnVuLmxpbmVJbmRleCgpOwogICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJl
Y3QgPSBsaW5lc1tsaW5lSW5kZXhdLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwogICAgICAgICBhdXRv
IHJ1blJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsKLSAgICAgICAg
aWYgKGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzSW50
ZWdyYWxQb3NpdGlvbikKKyAgICAgICAgYXV0byBpbmtPdmVyZmxvdyA9IEZsb2F0UmVjdCB7IGxp
bmVSdW4uaW5rT3ZlcmZsb3coKSB9OworICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0
bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKSB7CiAgICAgICAg
ICAgICBydW5SZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkpOworICAgICAgICAgICAg
aW5rT3ZlcmZsb3cuc2V0WShyb3VuZFRvSW50KGlua092ZXJmbG93LnkoKSkpOworICAgICAgICB9
CiAKICAgICAgICAgYXV0byYgc3R5bGUgPSBsYXlvdXRCb3guc3R5bGUoKTsKICAgICAgICAgYXV0
byB0ZXh0ID0gbGluZVJ1bi50ZXh0KCk7CkBAIC0zMTQsMjQgKzMyMCwxMSBAQCB2b2lkIElubGlu
ZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxp
bmVMaW5lcyYgbGluZQogICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgICAgICB9Owog
Ci0gICAgICAgIGF1dG8gY29tcHV0ZWRJbmtPdmVyZmxvdyA9IFsmXSAoYXV0byBydW5SZWN0KSB7
Ci0gICAgICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gcnVuUmVjdDsKLSAgICAgICAgICAgIGF1
dG8gaW5pdGlhbENvbnRhaW5nQmxvY2tTaXplID0gbV9sYXlvdXRTdGF0ZS52aWV3cG9ydFNpemUo
KTsKLSAgICAgICAgICAgIGF1dG8gc3Ryb2tlT3ZlcmZsb3cgPSBzdGQ6OmNlaWwoc3R5bGUuY29t
cHV0ZWRTdHJva2VXaWR0aChjZWlsZWRJbnRTaXplKGluaXRpYWxDb250YWluZ0Jsb2NrU2l6ZSkp
KTsKLSAgICAgICAgICAgIGlua092ZXJmbG93LmluZmxhdGUoc3Ryb2tlT3ZlcmZsb3cpOwotICAg
ICAgICAgICAgYXV0byBsZXR0ZXJTcGFjaW5nID0gc3R5bGUuZm9udENhc2NhZGUoKS5sZXR0ZXJT
cGFjaW5nKCk7Ci0gICAgICAgICAgICBpZiAobGV0dGVyU3BhY2luZyA8IDApIHsKLSAgICAgICAg
ICAgICAgICAvLyBMYXN0IGxldHRlcidzIG5lZ2F0aXZlIHNwYWNpbmcgc2hyaW5rcyBsb2dpY2Fs
IHJlY3QuIFB1c2ggaXQgdG8gaW5rIG92ZXJmbG93LgotICAgICAgICAgICAgICAgIGlua092ZXJm
bG93LmV4cGFuZCgtbGV0dGVyU3BhY2luZywgeyB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHJldHVybiBpbmtPdmVyZmxvdzsKLSAgICAgICAgfTsKICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoc3RhcnRPZmZzZXQgPj0gdGV4dC0+c3RhcnQoKSAmJiBzdGFydE9mZnNldCA8IHRleHQtPmVu
ZCgpKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoZW5kT2Zmc2V0ID4gdGV4dC0+c3RhcnQoKSAm
JiBlbmRPZmZzZXQgPD0gdGV4dC0+ZW5kKCkpOwogICAgICAgICBhdXRvIHRleHRDb250ZW50ID0g
UnVuOjpUZXh0Q29udGVudCB7IHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgLSBzdGFydE9mZnNldCwg
dGV4dC0+Y29udGVudCgpLCBhZGp1c3RlZENvbnRlbnRUb1JlbmRlcigpLCB0ZXh0LT5uZWVkc0h5
cGhlbigpIH07CiAgICAgICAgIGF1dG8gZXhwYW5zaW9uID0gUnVuOjpFeHBhbnNpb24geyBsaW5l
UnVuLmV4cGFuc2lvbigpLmJlaGF2aW9yLCBsaW5lUnVuLmV4cGFuc2lvbigpLmhvcml6b250YWxF
eHBhbnNpb24gfTsKLSAgICAgICAgYXV0byBkaXNwbGF5UnVuID0gUnVuIHsgbGluZUluZGV4LCBs
YXlvdXRCb3gsIHJ1blJlY3QsIGNvbXB1dGVkSW5rT3ZlcmZsb3cocnVuUmVjdCksIGV4cGFuc2lv
biwgdGV4dENvbnRlbnQgfTsKLSAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZChkaXNw
bGF5UnVuKTsKKyAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IGxpbmVJbmRleCwg
bGF5b3V0Qm94LCBydW5SZWN0LCBpbmtPdmVyZmxvdywgZXhwYW5zaW9uLCB0ZXh0Q29udGVudCB9
KTsKICAgICB9OwogCiAgICAgaW5saW5lQ29udGVudC5ydW5zLnJlc2VydmVJbml0aWFsQ2FwYWNp
dHkobGluZVJ1bnMuc2l6ZSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436742</attachid>
            <date>2021-08-29 09:17:13 -0700</date>
            <delta_ts>2021-08-29 11:55:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229653-20210829091713.patch</filename>
            <type>text/plain</type>
            <size>15297</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMyYzc1MjhhNDE3Y2M0
NmY0ODNiMzA5ZjU3MDc0ODQ0NGQwMjgwOC4uOWZjNjFmMWUzYjBlOWNiZDYyOWY1NWNmNDcyY2Zk
YWUzOTdjMjkyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBpbmsg
b3ZlcmZsb3cgdG8gdGhlIGxpbmUgcnVucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NjUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29p
dmlzdG8uCisKKyAgICAgICAgTGV0J3MgbW92ZSB0aGUgaW5rIG92ZXJmbG93IGNvbXB1dGF0aW9u
IGZyb20gdGhlIGludGVncmF0aW9uIGxheWVyIHRvIElGQy4KKyAgICAgICAgVGhpcyBpcyBpbiBw
cmVwYXJhdGlvbiBmb3IgbWVyZ2luZyBkaXNwbGF5IHJ1bnMgKElGQykgYW5kIHRoZSBpbnRlZ3Jh
dGlvbiBsYXllciBydW5zLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y3JlYXRlUnVuc0Fu
ZFVwZGF0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmNyZWF0ZVJ1bnNBbmRVcGRhdGVHZW9tZXRy
eUZvckxpbmVTcGFubmluZ0lubGluZUJveGVzKToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lUnVuLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVSdW46Omlua092ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZVJ1bjo6TGluZVJ1bik6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGlu
ZVJ1bnMgY29uc3QpOgorCiAyMDIxLTA4LTI5ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTEZDXVtJRkNdIE1ha2UgbGluZSBydW5zIHJlbGF0aXZlIHRvIHRoZSBm
b3JtYXR0aW5nIHJvb3QgYm9yZGVyIGJveC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDI1OGVlZjJlNTk3YzQ4YjMzYmZi
NzczYmQyOTkyNWViYjFiMDAzNzEuLjQ2NDhiODBlNzc0MDJiM2I4ZDI3N2FlOTQ1NjkxNmRjMzk3
NDI3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpCiAKKyNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgogI2luY2x1ZGUgIkxh
eW91dEJveEdlb21ldHJ5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDcgKzQ4LDcg
QEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWls
ZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnQKICAgICAvLyBFdmVyeSBsaW5lIHN0YXJ0cyB3aXRo
IGEgcm9vdCBydW4sIGV2ZW4gdGhlIGVtcHR5IG9uZXMuCiAgICAgYXV0byByb290SW5saW5lQm94
UmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JSb290SW5saW5lQm94KCk7CiAgICAgcm9vdElu
bGluZUJveFJlY3QubW92ZUJ5KGxpbmVCb3hMb2dpY2FsVG9wTGVmdCk7Ci0gICAgZm9ybWF0dGlu
Z1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OlJvb3RJbmxpbmVC
b3gsIHJvb3QoKSwgcm9vdElubGluZUJveFJlY3QsIHsgfSwgeyB9LCAgbGluZUJveC5yb290SW5s
aW5lQm94KCkuaGFzQ29udGVudCgpfSk7CisgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4o
eyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OlJvb3RJbmxpbmVCb3gsIHJvb3QoKSwgcm9vdElu
bGluZUJveFJlY3QsIHJvb3RJbmxpbmVCb3hSZWN0LCB7IH0sIHsgfSwgIGxpbmVCb3gucm9vdElu
bGluZUJveCgpLmhhc0NvbnRlbnQoKX0pOwogCiAgICAgLy8gU3Bhbm5pbmcgaW5saW5lIGJveGVz
IHN0YXJ0IGF0IHRoZSB2ZXJ5IGJlZ2lubmluZyBvZiB0aGUgbGluZS4KICAgICBhdXRvIGxpbmVT
cGFubmluZ0lubGluZUJveEluZGV4ID0gZm9ybWF0dGluZ1N0YXRlLmxpbmVSdW5zKCkuc2l6ZSgp
OwpAQCAtNjUsMjAgKzY2LDM0IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpj
cmVhdGVSdW5zQW5kVXBkYXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zCiAgICAgICAgIGNh
c2UgSW5saW5lSXRlbTo6VHlwZTo6VGV4dDogewogICAgICAgICAgICAgYXV0byB0ZXh0UnVuUmVj
dCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxpbmVSdW4pOwogICAgICAgICAgICAg
dGV4dFJ1blJlY3QubW92ZUJ5KGxpbmVCb3hMb2dpY2FsVG9wTGVmdCk7Ci0gICAgICAgICAgICBm
b3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6VGV4
dCwgbGF5b3V0Qm94LCB0ZXh0UnVuUmVjdCwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGluZVJ1bi50
ZXh0Q29udGVudCgpIH0pOworCisgICAgICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gWyZdIHsK
KyAgICAgICAgICAgICAgICBhdXRvJiBzdHlsZSA9IGxheW91dEJveC5zdHlsZSgpOworICAgICAg
ICAgICAgICAgIGF1dG8gaW5pdGlhbENvbnRhaW5nQmxvY2tTaXplID0gZm9ybWF0dGluZ1N0YXRl
LmxheW91dFN0YXRlKCkudmlld3BvcnRTaXplKCk7CisgICAgICAgICAgICAgICAgYXV0byBzdHJv
a2VPdmVyZmxvdyA9IHN0ZDo6Y2VpbChzdHlsZS5jb21wdXRlZFN0cm9rZVdpZHRoKGNlaWxlZElu
dFNpemUoaW5pdGlhbENvbnRhaW5nQmxvY2tTaXplKSkpOworICAgICAgICAgICAgICAgIGF1dG8g
aW5rT3ZlcmZsb3cgPSB0ZXh0UnVuUmVjdDsKKyAgICAgICAgICAgICAgICBpbmtPdmVyZmxvdy5p
bmZsYXRlKHN0cm9rZU92ZXJmbG93KTsKKyAgICAgICAgICAgICAgICBhdXRvIGxldHRlclNwYWNp
bmcgPSBzdHlsZS5mb250Q2FzY2FkZSgpLmxldHRlclNwYWNpbmcoKTsKKyAgICAgICAgICAgICAg
ICBpZiAobGV0dGVyU3BhY2luZyA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gTGFzdCBs
ZXR0ZXIncyBuZWdhdGl2ZSBzcGFjaW5nIHNocmlua3MgbG9naWNhbCByZWN0LiBQdXNoIGl0IHRv
IGluayBvdmVyZmxvdy4KKyAgICAgICAgICAgICAgICAgICAgaW5rT3ZlcmZsb3cuZXhwYW5kKC1s
ZXR0ZXJTcGFjaW5nLCB7IH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBy
ZXR1cm4gaW5rT3ZlcmZsb3c7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgZm9ybWF0dGlu
Z1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OlRleHQsIGxheW91
dEJveCwgdGV4dFJ1blJlY3QsIGlua092ZXJmbG93KCksIGxpbmVSdW4uZXhwYW5zaW9uKCksIGxp
bmVSdW4udGV4dENvbnRlbnQoKSB9KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIGNhc2UgSW5saW5lSXRlbTo6VHlwZTo6U29mdExpbmVCcmVhazogewogICAgICAgICAg
ICAgYXV0byBzb2Z0TGluZUJyZWFrUnVuUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JUZXh0
UnVuKGxpbmVSdW4pOwogICAgICAgICAgICAgc29mdExpbmVCcmVha1J1blJlY3QubW92ZUJ5KGxp
bmVCb3hMb2dpY2FsVG9wTGVmdCk7Ci0gICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGlu
ZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6U29mdExpbmVCcmVhaywgbGF5b3V0Qm94
LCBzb2Z0TGluZUJyZWFrUnVuUmVjdCwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGluZVJ1bi50ZXh0
Q29udGVudCgpIH0pOworICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBs
aW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OlNvZnRMaW5lQnJlYWssIGxheW91dEJveCwgc29mdExp
bmVCcmVha1J1blJlY3QsIHNvZnRMaW5lQnJlYWtSdW5SZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigp
LCBsaW5lUnVuLnRleHRDb250ZW50KCkgfSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBjYXNlIElubGluZUl0ZW06OlR5cGU6OkhhcmRMaW5lQnJlYWs6IHsKICAgICAg
ICAgICAgIC8vIE9ubHkgaGFyZCBsaW5lYnJlYWtzIGhhdmUgYXNzb2NpYXRlZCBsYXlvdXQgYm94
ZXMuCiAgICAgICAgICAgICBhdXRvIGxpbmVCcmVha0JveFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxS
ZWN0Rm9yTGluZUJyZWFrQm94KGxheW91dEJveCk7CiAgICAgICAgICAgICBsaW5lQnJlYWtCb3hS
ZWN0Lm1vdmVCeShsaW5lQm94TG9naWNhbFRvcExlZnQpOwotICAgICAgICAgICAgZm9ybWF0dGlu
Z1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OkxpbmVCcmVha0Jv
eCwgbGF5b3V0Qm94LCBsaW5lQnJlYWtCb3hSZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0g
fSk7CisgICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwg
TGluZVJ1bjo6VHlwZTo6TGluZUJyZWFrQm94LCBsYXlvdXRCb3gsIGxpbmVCcmVha0JveFJlY3Qs
IGxpbmVCcmVha0JveFJlY3QsIGxpbmVSdW4uZXhwYW5zaW9uKCksIHsgfSB9KTsKIAogICAgICAg
ICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkobGF5
b3V0Qm94KTsKICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2ljYWxUb3BMZWZ0KHRvTGF5
b3V0UG9pbnQobGluZUJyZWFrQm94UmVjdC50b3BMZWZ0KCkpKTsKQEAgLTkwLDcgKzEwNSw3IEBA
IHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVSdW5zQW5kVXBkYXRlR2Vv
bWV0cnlGb3JMaW5lQ29udGVudChjb25zCiAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9
IGZvcm1hdHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gpOwogICAgICAgICAgICAgYXV0
byBsb2dpY2FsQm9yZGVyQm94ID0gbGluZUJveC5sb2dpY2FsQm9yZGVyQm94Rm9yQXRvbWljSW5s
aW5lTGV2ZWxCb3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7CiAgICAgICAgICAgICBsb2dpY2Fs
Qm9yZGVyQm94Lm1vdmVCeShsaW5lQm94TG9naWNhbFRvcExlZnQpOwotICAgICAgICAgICAgZm9y
bWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OkF0b21p
Y0lubGluZUxldmVsQm94LCBsYXlvdXRCb3gsIGxvZ2ljYWxCb3JkZXJCb3gsIGxpbmVSdW4uZXhw
YW5zaW9uKCksIHsgfSB9KTsKKyAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVu
KHsgbGluZUluZGV4LCBMaW5lUnVuOjpUeXBlOjpBdG9taWNJbmxpbmVMZXZlbEJveCwgbGF5b3V0
Qm94LCBsb2dpY2FsQm9yZGVyQm94LCBsb2dpY2FsQm9yZGVyQm94LCBsaW5lUnVuLmV4cGFuc2lv
bigpLCB7IH0gfSk7CiAKICAgICAgICAgICAgIGF1dG8gYm9yZGVyQm94TG9naWNhbFRvcExlZnQg
PSBsb2dpY2FsQm9yZGVyQm94LnRvcExlZnQoKTsKICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBp
bmxpbmUgYm94ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBsaW5lIGFuZCB0aGVpciB0b3AgcG9zaXRp
b24gY2FuIGJlIG5lZ2F0aXZlLgpAQCAtMTA1LDcgKzEyMCw3IEBAIHZvaWQgSW5saW5lRGlzcGxh
eUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVSdW5zQW5kVXBkYXRlR2VvbWV0cnlGb3JMaW5lQ29udGVu
dChjb25zCiAgICAgICAgICAgICBpbmxpbmVCb3hCb3JkZXJCb3gubW92ZUJ5KGxpbmVCb3hMb2dp
Y2FsVG9wTGVmdCk7CiAgICAgICAgICAgICBpZiAobGluZUJveC5oYXNDb250ZW50KCkpIHsKICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogSXQncyBleHBlY3RlZCB0byBub3QgaGF2ZSBhbnkgcnVu
cyBvbiBlbXB0eSBsaW5lcy4gV2Ugc2hvdWxkIHJlY29uc2lkZXIgdGhpcy4KLSAgICAgICAgICAg
ICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlw
ZTo6Tm9uUm9vdElubGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hCb3JkZXJCb3gsIHsgfSwg
eyB9LCBsaW5lQm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCkuaGFzQ29u
dGVudCgpIH0pOworICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVuKHsg
bGluZUluZGV4LCBMaW5lUnVuOjpUeXBlOjpOb25Sb290SW5saW5lQm94LCBsYXlvdXRCb3gsIGlu
bGluZUJveEJvcmRlckJveCwgaW5saW5lQm94Qm9yZGVyQm94LCB7IH0sIHsgfSwgbGluZUJveC5p
bmxpbmVMZXZlbEJveEZvckxheW91dEJveChsYXlvdXRCb3gpLmhhc0NvbnRlbnQoKSB9KTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hTaXplID0gTGF5b3V0U2l6
ZSB7IExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwoaW5saW5lQm94Qm9yZGVyQm94LndpZHRoKCkp
LCBMYXlvdXRVbml0Ojpmcm9tRmxvYXRDZWlsKGlubGluZUJveEJvcmRlckJveC5oZWlnaHQoKSkg
fTsKQEAgLTE0Myw3ICsxNTgsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6
Y3JlYXRlUnVuc0FuZFVwZGF0ZUdlb21ldHJ5Rm9yTGluZVNwYW5uaW5nSW5saQogICAgICAgICBh
dXRvIGlubGluZUJveEJvcmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGlu
ZUJveChsYXlvdXRCb3gsIGJveEdlb21ldHJ5KTsKICAgICAgICAgaW5saW5lQm94Qm9yZGVyQm94
Lm1vdmVCeShsaW5lQm94TG9naWNhbFRvcExlZnQpOwogCi0gICAgICAgIGZvcm1hdHRpbmdTdGF0
ZS5saW5lUnVucygpLmluc2VydChsaW5lU3Bhbm5pbmdJbmxpbmVCb3hJbmRleCsrLCB7IGxpbmVJ
bmRleCwgTGluZVJ1bjo6VHlwZTo6Tm9uUm9vdElubGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVC
b3hCb3JkZXJCb3gsIHsgfSwgeyB9LCBpbmxpbmVMZXZlbEJveC5oYXNDb250ZW50KCksIHRydWUg
fSk7CisgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5saW5lUnVucygpLmluc2VydChsaW5lU3Bhbm5p
bmdJbmxpbmVCb3hJbmRleCsrLCB7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6Tm9uUm9vdElu
bGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hCb3JkZXJCb3gsIGlubGluZUJveEJvcmRlckJv
eCwgeyB9LCB7IH0sIGlubGluZUxldmVsQm94Lmhhc0NvbnRlbnQoKSwgdHJ1ZSB9KTsKIAogICAg
ICAgICBhdXRvIGlubGluZUJveFNpemUgPSBMYXlvdXRTaXplIHsgTGF5b3V0VW5pdDo6ZnJvbUZs
b2F0Q2VpbChpbmxpbmVCb3hCb3JkZXJCb3gud2lkdGgoKSksIExheW91dFVuaXQ6OmZyb21GbG9h
dENlaWwoaW5saW5lQm94Qm9yZGVyQm94LmhlaWdodCgpKSB9OwogICAgICAgICBhdXRvIGxvZ2lj
YWxSZWN0ID0gUmVjdCB7IExheW91dFBvaW50IHsgaW5saW5lQm94Qm9yZGVyQm94LnRvcExlZnQo
KSB9LCBpbmxpbmVCb3hTaXplIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lUnVuLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lUnVuLmgKaW5kZXgg
YzI5Y2ZhNTc2OWRmOTY1MzIyOTk4ZTM3OTgzZmQyOTAzYzA4ZTk5OC4uZTgxZmQ1MmQyNjYzZDc2
MjllZDg5OTk4Mjk0MmJiMDE1NzBmNzcwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZVJ1bi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVSdW4u
aApAQCAtNjksNyArNjksNyBAQCBzdHJ1Y3QgTGluZVJ1biB7CiAgICAgICAgIEdlbmVyaWNJbmxp
bmVMZXZlbEJveAogICAgIH07CiAgICAgc3RydWN0IEV4cGFuc2lvbjsKLSAgICBMaW5lUnVuKHNp
emVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IEJveCYsIGNvbnN0IElubGluZVJlY3QmLCBFeHBh
bnNpb24sIHN0ZDo6b3B0aW9uYWw8VGV4dD4gPSBzdGQ6Om51bGxvcHQsIGJvb2wgaGFzQ29udGVu
dCA9IHRydWUsIGJvb2wgaXNMaW5lU3Bhbm5pbmcgPSBmYWxzZSk7CisgICAgTGluZVJ1bihzaXpl
X3QgbGluZUluZGV4LCBUeXBlLCBjb25zdCBCb3gmLCBjb25zdCBJbmxpbmVSZWN0JiwgY29uc3Qg
SW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIEV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiA9
IHN0ZDo6bnVsbG9wdCwgYm9vbCBoYXNDb250ZW50ID0gdHJ1ZSwgYm9vbCBpc0xpbmVTcGFubmlu
ZyA9IGZhbHNlKTsKIAogICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09
IFR5cGU6OlRleHQ7IH0KICAgICBib29sIGlzU29mdExpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBUeXBlOjpTb2Z0TGluZUJyZWFrOyB9CkBAIC04OCw2ICs4OCw3IEBAIHN0cnVj
dCBMaW5lUnVuIHsKICAgICBib29sIGlzTGluZVNwYW5uaW5nKCkgY29uc3QgeyByZXR1cm4gbV9p
c0xpbmVTcGFubmluZzsgfQogCiAgICAgY29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBj
b25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0OyB9CisgICAgY29uc3QgSW5saW5lUmVjdCYgaW5r
T3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX2lua092ZXJmbG93OyB9CiAKICAgICBJbmxpbmVM
YXlvdXRVbml0IGxvZ2ljYWxUb3AoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgpLnRvcCgp
OyB9CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsQm90dG9tKCkgY29uc3QgeyByZXR1cm4g
bG9naWNhbFJlY3QoKS5ib3R0b20oKTsgfQpAQCAtMTE1LDYgKzExNiw3IEBAIHByaXZhdGU6CiAg
ICAgY29uc3QgVHlwZSBtX3R5cGU7CiAgICAgV2Vha1B0cjxjb25zdCBMYXlvdXQ6OkJveD4gbV9s
YXlvdXRCb3g7CiAgICAgSW5saW5lUmVjdCBtX2xvZ2ljYWxSZWN0OworICAgIElubGluZVJlY3Qg
bV9pbmtPdmVyZmxvdzsKICAgICBib29sIG1faGFzQ29udGVudCB7IHRydWUgfTsKICAgICAvLyBG
SVhNRTogVGhpcyBpcyB0ZW1wb3JhcnkgdW50aWwgYWZ0ZXIgaXRlcmF0b3JzIGNhbiBza2lwIG92
ZXIgbGluZSBzcGFubmluZy9yb290IGlubGluZSBib3hlcy4KICAgICBib29sIG1faXNMaW5lU3Bh
bm5pbmcgeyBmYWxzZSB9OwpAQCAtMTIyLDExICsxMjQsMTIgQEAgcHJpdmF0ZToKICAgICBzdGQ6
Om9wdGlvbmFsPFRleHQ+IG1fdGV4dDsKIH07CiAKLWlubGluZSBMaW5lUnVuOjpMaW5lUnVuKHNp
emVfdCBsaW5lSW5kZXgsIFR5cGUgdHlwZSwgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJveCwg
Y29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QsIEV4cGFuc2lvbiBleHBhbnNpb24sIHN0ZDo6
b3B0aW9uYWw8VGV4dD4gdGV4dCwgYm9vbCBoYXNDb250ZW50LCBib29sIGlzTGluZVNwYW5uaW5n
KQoraW5saW5lIExpbmVSdW46OkxpbmVSdW4oc2l6ZV90IGxpbmVJbmRleCwgVHlwZSB0eXBlLCBj
b25zdCBMYXlvdXQ6OkJveCYgbGF5b3V0Qm94LCBjb25zdCBJbmxpbmVSZWN0JiBsb2dpY2FsUmVj
dCwgY29uc3QgSW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIEV4cGFuc2lvbiBleHBhbnNpb24sIHN0
ZDo6b3B0aW9uYWw8VGV4dD4gdGV4dCwgYm9vbCBoYXNDb250ZW50LCBib29sIGlzTGluZVNwYW5u
aW5nKQogICAgIDogbV9saW5lSW5kZXgobGluZUluZGV4KQogICAgICwgbV90eXBlKHR5cGUpCiAg
ICAgLCBtX2xheW91dEJveChtYWtlV2Vha1B0cihsYXlvdXRCb3gpKQogICAgICwgbV9sb2dpY2Fs
UmVjdChsb2dpY2FsUmVjdCkKKyAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCiAgICAg
LCBtX2hhc0NvbnRlbnQoaGFzQ29udGVudCkKICAgICAsIG1faXNMaW5lU3Bhbm5pbmcoaXNMaW5l
U3Bhbm5pbmcpCiAgICAgLCBtX2V4cGFuc2lvbihleHBhbnNpb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250
ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0
SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKaW5kZXggY2ViODA0MjM0YTM3YzYw
ODAyNDk0YTA3MTdhMWFkZmJhYmI4YjQzYi4uOTBhZGI2YWY1NTRhMjJhYzBjYmE1ZTdkYzY4ZWUx
MTM0YzE4MjM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRC
dWlsZGVyLmNwcApAQCAtMjU4LDEwICsyNTgsMTMgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmIGxpbmUK
ICAgICAgICAgLy8gSW5saW5lIGJveGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgbGluZSBib3ggd2hp
bGUgZmluYWwgcnVucyBuZWVkIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgYm94CiAgICAg
ICAgIC8vIEZJWE1FOiBTaG91bGRuJ3Qgd2UganVzdCBsZWF2ZSB0aGVtIGJlIHJlbGF0aXZlIHRv
IHRoZSBsaW5lIGJveD8KICAgICAgICAgYXV0byBydW5SZWN0ID0gRmxvYXRSZWN0IHsgbGluZVJ1
bi5sb2dpY2FsUmVjdCgpIH07CisgICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBGbG9hdFJlY3Qg
eyBsaW5lUnVuLmlua092ZXJmbG93KCkgfTsKICAgICAgICAgYXV0byYgZ2VvbWV0cnkgPSBtX2xh
eW91dFN0YXRlLmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CiAgICAgICAgIHJ1blJlY3Quc2V0
U2l6ZSh7IGdlb21ldHJ5LmJvcmRlckJveFdpZHRoKCksIGdlb21ldHJ5LmJvcmRlckJveEhlaWdo
dCgpIH0pOwotICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xp
bmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKQorICAgICAgICBpZiAobGluZUxldmVsVmlz
dWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKSB7
CiAgICAgICAgICAgICBydW5SZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkpOworICAg
ICAgICAgICAgaW5rT3ZlcmZsb3cuc2V0WShyb3VuZFRvSW50KGlua092ZXJmbG93LnkoKSkpOwor
ICAgICAgICB9CiAgICAgICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igbm9uLXRleHQgaW5r
IG92ZXJmbG93LgogICAgICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGNhc2VzIHdoZW4g
dGhlIHJ1biBpcyBhZnRlciBlbGxpcHNpcy4KICAgICAgICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVC
b3goKSkgewpAQCAtMjczLDEwICsyNzYsMTAgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6
Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmIGxpbmUKICAg
ICAgICAgICAgIGlubGluZUNvbnRlbnQubm9uUm9vdElubGluZUJveGVzLmFwcGVuZCh7IGxpbmVJ
bmRleCwgbGF5b3V0Qm94LCBsaW5lUnVuUmVjdCwgaGFzU2Nyb2xsYWJsZUNvbnRlbnQoKSB9KTsK
ICAgICAgICAgICAgIGlmICghbGluZVJ1bi5pc0xpbmVTcGFubmluZygpKSB7CiAgICAgICAgICAg
ICAgICAgLy8gRklYTUU6IFJ1biBpdGVyYXRvcnMgd2l0aCAodGV4dClydW5zIHNwYW5uaW5nIG92
ZXIgbXVsdGlwbGUgbGluZXMgZXhwZWN0IG5vICJpbi1iZXR3ZWVuIiBydW5zIChlLmcuIGxpbmUg
c3Bhbm5pbmcgb3Igcm9vdCBpbmxpbmUgYm94ZXMpLgotICAgICAgICAgICAgICAgIGlubGluZUNv
bnRlbnQucnVucy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxheW91dEJveCwgcnVuUmVjdCwgcnVuUmVj
dCwgeyB9LCB7IH0gfSk7CisgICAgICAgICAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVu
ZCh7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBpbmtPdmVyZmxvdywgeyB9LCB7IH0g
fSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgaW5saW5lQ29u
dGVudC5ydW5zLmFwcGVuZCh7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBydW5SZWN0
LCB7IH0sIHsgfSB9KTsKKyAgICAgICAgICAgIGlubGluZUNvbnRlbnQucnVucy5hcHBlbmQoeyBs
aW5lSW5kZXgsIGxheW91dEJveCwgcnVuUmVjdCwgaW5rT3ZlcmZsb3csIHsgfSwgeyB9IH0pOwog
ICAgIH07CiAKICAgICBhdXRvIGNyZWF0ZURpc3BsYXlUZXh0UnVuRm9yUmFuZ2UgPSBbJl0oYXV0
byYgbGluZVJ1biwgYXV0byBzdGFydE9mZnNldCwgYXV0byBlbmRPZmZzZXQpIHsKQEAgLTI4NSw4
ICsyODgsMTEgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVS
dW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmIGxpbmUKICAgICAgICAgYXV0byBsaW5lSW5k
ZXggPSBsaW5lUnVuLmxpbmVJbmRleCgpOwogICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJl
Y3QgPSBsaW5lc1tsaW5lSW5kZXhdLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwogICAgICAgICBhdXRv
IHJ1blJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsKLSAgICAgICAg
aWYgKGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzSW50
ZWdyYWxQb3NpdGlvbikKKyAgICAgICAgYXV0byBpbmtPdmVyZmxvdyA9IEZsb2F0UmVjdCB7IGxp
bmVSdW4uaW5rT3ZlcmZsb3coKSB9OworICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0
bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKSB7CiAgICAgICAg
ICAgICBydW5SZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkpOworICAgICAgICAgICAg
aW5rT3ZlcmZsb3cuc2V0WShyb3VuZFRvSW50KGlua092ZXJmbG93LnkoKSkpOworICAgICAgICB9
CiAKICAgICAgICAgYXV0byYgc3R5bGUgPSBsYXlvdXRCb3guc3R5bGUoKTsKICAgICAgICAgYXV0
byB0ZXh0ID0gbGluZVJ1bi50ZXh0KCk7CkBAIC0zMTQsMjQgKzMyMCwxMSBAQCB2b2lkIElubGlu
ZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxp
bmVMaW5lcyYgbGluZQogICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgICAgICB9Owog
Ci0gICAgICAgIGF1dG8gY29tcHV0ZWRJbmtPdmVyZmxvdyA9IFsmXSAoYXV0byBydW5SZWN0KSB7
Ci0gICAgICAgICAgICBhdXRvIGlua092ZXJmbG93ID0gcnVuUmVjdDsKLSAgICAgICAgICAgIGF1
dG8gaW5pdGlhbENvbnRhaW5nQmxvY2tTaXplID0gbV9sYXlvdXRTdGF0ZS52aWV3cG9ydFNpemUo
KTsKLSAgICAgICAgICAgIGF1dG8gc3Ryb2tlT3ZlcmZsb3cgPSBzdGQ6OmNlaWwoc3R5bGUuY29t
cHV0ZWRTdHJva2VXaWR0aChjZWlsZWRJbnRTaXplKGluaXRpYWxDb250YWluZ0Jsb2NrU2l6ZSkp
KTsKLSAgICAgICAgICAgIGlua092ZXJmbG93LmluZmxhdGUoc3Ryb2tlT3ZlcmZsb3cpOwotICAg
ICAgICAgICAgYXV0byBsZXR0ZXJTcGFjaW5nID0gc3R5bGUuZm9udENhc2NhZGUoKS5sZXR0ZXJT
cGFjaW5nKCk7Ci0gICAgICAgICAgICBpZiAobGV0dGVyU3BhY2luZyA8IDApIHsKLSAgICAgICAg
ICAgICAgICAvLyBMYXN0IGxldHRlcidzIG5lZ2F0aXZlIHNwYWNpbmcgc2hyaW5rcyBsb2dpY2Fs
IHJlY3QuIFB1c2ggaXQgdG8gaW5rIG92ZXJmbG93LgotICAgICAgICAgICAgICAgIGlua092ZXJm
bG93LmV4cGFuZCgtbGV0dGVyU3BhY2luZywgeyB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHJldHVybiBpbmtPdmVyZmxvdzsKLSAgICAgICAgfTsKICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoc3RhcnRPZmZzZXQgPj0gdGV4dC0+c3RhcnQoKSAmJiBzdGFydE9mZnNldCA8IHRleHQtPmVu
ZCgpKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoZW5kT2Zmc2V0ID4gdGV4dC0+c3RhcnQoKSAm
JiBlbmRPZmZzZXQgPD0gdGV4dC0+ZW5kKCkpOwogICAgICAgICBhdXRvIHRleHRDb250ZW50ID0g
UnVuOjpUZXh0Q29udGVudCB7IHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgLSBzdGFydE9mZnNldCwg
dGV4dC0+Y29udGVudCgpLCBhZGp1c3RlZENvbnRlbnRUb1JlbmRlcigpLCB0ZXh0LT5uZWVkc0h5
cGhlbigpIH07CiAgICAgICAgIGF1dG8gZXhwYW5zaW9uID0gUnVuOjpFeHBhbnNpb24geyBsaW5l
UnVuLmV4cGFuc2lvbigpLmJlaGF2aW9yLCBsaW5lUnVuLmV4cGFuc2lvbigpLmhvcml6b250YWxF
eHBhbnNpb24gfTsKLSAgICAgICAgYXV0byBkaXNwbGF5UnVuID0gUnVuIHsgbGluZUluZGV4LCBs
YXlvdXRCb3gsIHJ1blJlY3QsIGNvbXB1dGVkSW5rT3ZlcmZsb3cocnVuUmVjdCksIGV4cGFuc2lv
biwgdGV4dENvbnRlbnQgfTsKLSAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZChkaXNw
bGF5UnVuKTsKKyAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IGxpbmVJbmRleCwg
bGF5b3V0Qm94LCBydW5SZWN0LCBpbmtPdmVyZmxvdywgZXhwYW5zaW9uLCB0ZXh0Q29udGVudCB9
KTsKICAgICB9OwogCiAgICAgaW5saW5lQ29udGVudC5ydW5zLnJlc2VydmVJbml0aWFsQ2FwYWNp
dHkobGluZVJ1bnMuc2l6ZSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436743</attachid>
            <date>2021-08-29 11:55:30 -0700</date>
            <delta_ts>2021-08-29 11:57:57 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-229653-20210829115530.patch</filename>
            <type>text/plain</type>
            <size>15630</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGMyYzc1MjhhNDE3Y2M0
NmY0ODNiMzA5ZjU3MDc0ODQ0NGQwMjgwOC4uOWZjNjFmMWUzYjBlOWNiZDYyOWY1NWNmNDcyY2Zk
YWUzOTdjMjkyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA4LTI5ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJRkNdIEFkZCBpbmsg
b3ZlcmZsb3cgdG8gdGhlIGxpbmUgcnVucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NjUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29p
dmlzdG8uCisKKyAgICAgICAgTGV0J3MgbW92ZSB0aGUgaW5rIG92ZXJmbG93IGNvbXB1dGF0aW9u
IGZyb20gdGhlIGludGVncmF0aW9uIGxheWVyIHRvIElGQy4KKyAgICAgICAgVGhpcyBpcyBpbiBw
cmVwYXJhdGlvbiBmb3IgbWVyZ2luZyBkaXNwbGF5IHJ1bnMgKElGQykgYW5kIHRoZSBpbnRlZ3Jh
dGlvbiBsYXllciBydW5zLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpidWlsZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y3JlYXRlUnVuc0Fu
ZFVwZGF0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmNyZWF0ZVJ1bnNBbmRVcGRhdGVHZW9tZXRy
eUZvckxpbmVTcGFubmluZ0lubGluZUJveGVzKToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lUnVuLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmVSdW46Omlua092ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6TGluZVJ1bjo6TGluZVJ1bik6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGlu
ZVJ1bnMgY29uc3QpOgorCiAyMDIxLTA4LTI5ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTEZDXVtJRkNdIE1ha2UgbGluZSBydW5zIHJlbGF0aXZlIHRvIHRoZSBm
b3JtYXR0aW5nIHJvb3QgYm9yZGVyIGJveC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9J
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4IDI1OGVlZjJlNTk3YzQ4YjMzYmZi
NzczYmQyOTkyNWViYjFiMDAzNzEuLjgxNjRjMmZlYWY2OWFjZTdjOGFjNDU1ZDcyMDVhNTBmYzdi
NWMwMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4
dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyLmNwcApAQCAtMjgsNyArMjgsMTAgQEAKIAogI2lmIEVOQUJMRShMQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKQogCisjaW5jbHVkZSAiRm9udENhc2NhZGUuaCIKICNpbmNsdWRlICJM
YXlvdXRCb3hHZW9tZXRyeS5oIgorI2luY2x1ZGUgIkxheW91dEluaXRpYWxDb250YWluaW5nQmxv
Y2suaCIKKyNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIG5hbWVzcGFjZSBMYXlvdXQgewpAQCAtNDcsNyArNTAsNyBAQCB2b2lkIElubGlu
ZURpc3BsYXlDb250ZW50QnVpbGRlcjo6YnVpbGQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250
ZW50JiBsaW5lQ29udAogICAgIC8vIEV2ZXJ5IGxpbmUgc3RhcnRzIHdpdGggYSByb290IHJ1biwg
ZXZlbiB0aGUgZW1wdHkgb25lcy4KICAgICBhdXRvIHJvb3RJbmxpbmVCb3hSZWN0ID0gbGluZUJv
eC5sb2dpY2FsUmVjdEZvclJvb3RJbmxpbmVCb3goKTsKICAgICByb290SW5saW5lQm94UmVjdC5t
b3ZlQnkobGluZUJveExvZ2ljYWxUb3BMZWZ0KTsKLSAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGlu
ZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6Um9vdElubGluZUJveCwgcm9vdCgpLCBy
b290SW5saW5lQm94UmVjdCwgeyB9LCB7IH0sICBsaW5lQm94LnJvb3RJbmxpbmVCb3goKS5oYXND
b250ZW50KCl9KTsKKyAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwg
TGluZVJ1bjo6VHlwZTo6Um9vdElubGluZUJveCwgcm9vdCgpLCByb290SW5saW5lQm94UmVjdCwg
cm9vdElubGluZUJveFJlY3QsIHsgfSwgeyB9LCAgbGluZUJveC5yb290SW5saW5lQm94KCkuaGFz
Q29udGVudCgpfSk7CiAKICAgICAvLyBTcGFubmluZyBpbmxpbmUgYm94ZXMgc3RhcnQgYXQgdGhl
IHZlcnkgYmVnaW5uaW5nIG9mIHRoZSBsaW5lLgogICAgIGF1dG8gbGluZVNwYW5uaW5nSW5saW5l
Qm94SW5kZXggPSBmb3JtYXR0aW5nU3RhdGUubGluZVJ1bnMoKS5zaXplKCk7CkBAIC02NSwyMCAr
NjgsMzYgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OmNyZWF0ZVJ1bnNBbmRV
cGRhdGVHZW9tZXRyeUZvckxpbmVDb250ZW50KGNvbnMKICAgICAgICAgY2FzZSBJbmxpbmVJdGVt
OjpUeXBlOjpUZXh0OiB7CiAgICAgICAgICAgICBhdXRvIHRleHRSdW5SZWN0ID0gbGluZUJveC5s
b2dpY2FsUmVjdEZvclRleHRSdW4obGluZVJ1bik7CiAgICAgICAgICAgICB0ZXh0UnVuUmVjdC5t
b3ZlQnkobGluZUJveExvZ2ljYWxUb3BMZWZ0KTsKLSAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0
ZS5hZGRMaW5lUnVuKHsgbGluZUluZGV4LCBMaW5lUnVuOjpUeXBlOjpUZXh0LCBsYXlvdXRCb3gs
IHRleHRSdW5SZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCBsaW5lUnVuLnRleHRDb250ZW50KCkg
fSk7CisKKyAgICAgICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBbJl0geworICAgICAgICAgICAg
ICAgIGF1dG8mIHN0eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7CisgICAgICAgICAgICAgICAgYXV0
byBpbml0aWFsQ29udGFpbmdCbG9ja1NpemUgPSBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLmxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkKCkK
KyAgICAgICAgICAgICAgICAgICAgPyBmb3JtYXR0aW5nU3RhdGUubGF5b3V0U3RhdGUoKS52aWV3
cG9ydFNpemUoKQorICAgICAgICAgICAgICAgICAgICA6IGZvcm1hdHRpbmdTdGF0ZS5sYXlvdXRT
dGF0ZSgpLmdlb21ldHJ5Rm9yQm94KGxheW91dEJveC5pbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkp
LmNvbnRlbnRCb3goKS5zaXplKCk7CisgICAgICAgICAgICAgICAgYXV0byBzdHJva2VPdmVyZmxv
dyA9IHN0ZDo6Y2VpbChzdHlsZS5jb21wdXRlZFN0cm9rZVdpZHRoKGNlaWxlZEludFNpemUoaW5p
dGlhbENvbnRhaW5nQmxvY2tTaXplKSkpOworICAgICAgICAgICAgICAgIGF1dG8gaW5rT3ZlcmZs
b3cgPSB0ZXh0UnVuUmVjdDsKKyAgICAgICAgICAgICAgICBpbmtPdmVyZmxvdy5pbmZsYXRlKHN0
cm9rZU92ZXJmbG93KTsKKyAgICAgICAgICAgICAgICBhdXRvIGxldHRlclNwYWNpbmcgPSBzdHls
ZS5mb250Q2FzY2FkZSgpLmxldHRlclNwYWNpbmcoKTsKKyAgICAgICAgICAgICAgICBpZiAobGV0
dGVyU3BhY2luZyA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gTGFzdCBsZXR0ZXIncyBu
ZWdhdGl2ZSBzcGFjaW5nIHNocmlua3MgbG9naWNhbCByZWN0LiBQdXNoIGl0IHRvIGluayBvdmVy
Zmxvdy4KKyAgICAgICAgICAgICAgICAgICAgaW5rT3ZlcmZsb3cuZXhwYW5kKC1sZXR0ZXJTcGFj
aW5nLCB7IH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXR1cm4gaW5r
T3ZlcmZsb3c7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFk
ZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OlRleHQsIGxheW91dEJveCwgdGV4
dFJ1blJlY3QsIGlua092ZXJmbG93KCksIGxpbmVSdW4uZXhwYW5zaW9uKCksIGxpbmVSdW4udGV4
dENvbnRlbnQoKSB9KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNh
c2UgSW5saW5lSXRlbTo6VHlwZTo6U29mdExpbmVCcmVhazogewogICAgICAgICAgICAgYXV0byBz
b2Z0TGluZUJyZWFrUnVuUmVjdCA9IGxpbmVCb3gubG9naWNhbFJlY3RGb3JUZXh0UnVuKGxpbmVS
dW4pOwogICAgICAgICAgICAgc29mdExpbmVCcmVha1J1blJlY3QubW92ZUJ5KGxpbmVCb3hMb2dp
Y2FsVG9wTGVmdCk7Ci0gICAgICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxp
bmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6U29mdExpbmVCcmVhaywgbGF5b3V0Qm94LCBzb2Z0TGlu
ZUJyZWFrUnVuUmVjdCwgbGluZVJ1bi5leHBhbnNpb24oKSwgbGluZVJ1bi50ZXh0Q29udGVudCgp
IH0pOworICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgs
IExpbmVSdW46OlR5cGU6OlNvZnRMaW5lQnJlYWssIGxheW91dEJveCwgc29mdExpbmVCcmVha1J1
blJlY3QsIHNvZnRMaW5lQnJlYWtSdW5SZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCBsaW5lUnVu
LnRleHRDb250ZW50KCkgfSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAg
ICBjYXNlIElubGluZUl0ZW06OlR5cGU6OkhhcmRMaW5lQnJlYWs6IHsKICAgICAgICAgICAgIC8v
IE9ubHkgaGFyZCBsaW5lYnJlYWtzIGhhdmUgYXNzb2NpYXRlZCBsYXlvdXQgYm94ZXMuCiAgICAg
ICAgICAgICBhdXRvIGxpbmVCcmVha0JveFJlY3QgPSBsaW5lQm94LmxvZ2ljYWxSZWN0Rm9yTGlu
ZUJyZWFrQm94KGxheW91dEJveCk7CiAgICAgICAgICAgICBsaW5lQnJlYWtCb3hSZWN0Lm1vdmVC
eShsaW5lQm94TG9naWNhbFRvcExlZnQpOwotICAgICAgICAgICAgZm9ybWF0dGluZ1N0YXRlLmFk
ZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OkxpbmVCcmVha0JveCwgbGF5b3V0
Qm94LCBsaW5lQnJlYWtCb3hSZWN0LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0gfSk7CisgICAg
ICAgICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6
VHlwZTo6TGluZUJyZWFrQm94LCBsYXlvdXRCb3gsIGxpbmVCcmVha0JveFJlY3QsIGxpbmVCcmVh
a0JveFJlY3QsIGxpbmVSdW4uZXhwYW5zaW9uKCksIHsgfSB9KTsKIAogICAgICAgICAgICAgYXV0
byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUuYm94R2VvbWV0cnkobGF5b3V0Qm94KTsK
ICAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2ljYWxUb3BMZWZ0KHRvTGF5b3V0UG9pbnQo
bGluZUJyZWFrQm94UmVjdC50b3BMZWZ0KCkpKTsKQEAgLTkwLDcgKzEwOSw3IEBAIHZvaWQgSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVSdW5zQW5kVXBkYXRlR2VvbWV0cnlGb3JM
aW5lQ29udGVudChjb25zCiAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRp
bmdTdGF0ZS5ib3hHZW9tZXRyeShsYXlvdXRCb3gpOwogICAgICAgICAgICAgYXV0byBsb2dpY2Fs
Qm9yZGVyQm94ID0gbGluZUJveC5sb2dpY2FsQm9yZGVyQm94Rm9yQXRvbWljSW5saW5lTGV2ZWxC
b3gobGF5b3V0Qm94LCBib3hHZW9tZXRyeSk7CiAgICAgICAgICAgICBsb2dpY2FsQm9yZGVyQm94
Lm1vdmVCeShsaW5lQm94TG9naWNhbFRvcExlZnQpOwotICAgICAgICAgICAgZm9ybWF0dGluZ1N0
YXRlLmFkZExpbmVSdW4oeyBsaW5lSW5kZXgsIExpbmVSdW46OlR5cGU6OkF0b21pY0lubGluZUxl
dmVsQm94LCBsYXlvdXRCb3gsIGxvZ2ljYWxCb3JkZXJCb3gsIGxpbmVSdW4uZXhwYW5zaW9uKCks
IHsgfSB9KTsKKyAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVuKHsgbGluZUlu
ZGV4LCBMaW5lUnVuOjpUeXBlOjpBdG9taWNJbmxpbmVMZXZlbEJveCwgbGF5b3V0Qm94LCBsb2dp
Y2FsQm9yZGVyQm94LCBsb2dpY2FsQm9yZGVyQm94LCBsaW5lUnVuLmV4cGFuc2lvbigpLCB7IH0g
fSk7CiAKICAgICAgICAgICAgIGF1dG8gYm9yZGVyQm94TG9naWNhbFRvcExlZnQgPSBsb2dpY2Fs
Qm9yZGVyQm94LnRvcExlZnQoKTsKICAgICAgICAgICAgIC8vIE5vdGUgdGhhdCBpbmxpbmUgYm94
ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBsaW5lIGFuZCB0aGVpciB0b3AgcG9zaXRpb24gY2FuIGJl
IG5lZ2F0aXZlLgpAQCAtMTA1LDcgKzEyNCw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRC
dWlsZGVyOjpjcmVhdGVSdW5zQW5kVXBkYXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zCiAg
ICAgICAgICAgICBpbmxpbmVCb3hCb3JkZXJCb3gubW92ZUJ5KGxpbmVCb3hMb2dpY2FsVG9wTGVm
dCk7CiAgICAgICAgICAgICBpZiAobGluZUJveC5oYXNDb250ZW50KCkpIHsKICAgICAgICAgICAg
ICAgICAvLyBGSVhNRTogSXQncyBleHBlY3RlZCB0byBub3QgaGF2ZSBhbnkgcnVucyBvbiBlbXB0
eSBsaW5lcy4gV2Ugc2hvdWxkIHJlY29uc2lkZXIgdGhpcy4KLSAgICAgICAgICAgICAgICBmb3Jt
YXR0aW5nU3RhdGUuYWRkTGluZVJ1bih7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6Tm9uUm9v
dElubGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hCb3JkZXJCb3gsIHsgfSwgeyB9LCBsaW5l
Qm94LmlubGluZUxldmVsQm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCkuaGFzQ29udGVudCgpIH0p
OworICAgICAgICAgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lUnVuKHsgbGluZUluZGV4
LCBMaW5lUnVuOjpUeXBlOjpOb25Sb290SW5saW5lQm94LCBsYXlvdXRCb3gsIGlubGluZUJveEJv
cmRlckJveCwgaW5saW5lQm94Qm9yZGVyQm94LCB7IH0sIHsgfSwgbGluZUJveC5pbmxpbmVMZXZl
bEJveEZvckxheW91dEJveChsYXlvdXRCb3gpLmhhc0NvbnRlbnQoKSB9KTsKICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgYXV0byBpbmxpbmVCb3hTaXplID0gTGF5b3V0U2l6ZSB7IExheW91
dFVuaXQ6OmZyb21GbG9hdENlaWwoaW5saW5lQm94Qm9yZGVyQm94LndpZHRoKCkpLCBMYXlvdXRV
bml0Ojpmcm9tRmxvYXRDZWlsKGlubGluZUJveEJvcmRlckJveC5oZWlnaHQoKSkgfTsKQEAgLTE0
Myw3ICsxNjIsNyBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y3JlYXRlUnVu
c0FuZFVwZGF0ZUdlb21ldHJ5Rm9yTGluZVNwYW5uaW5nSW5saQogICAgICAgICBhdXRvIGlubGlu
ZUJveEJvcmRlckJveCA9IGxpbmVCb3gubG9naWNhbEJvcmRlckJveEZvcklubGluZUJveChsYXlv
dXRCb3gsIGJveEdlb21ldHJ5KTsKICAgICAgICAgaW5saW5lQm94Qm9yZGVyQm94Lm1vdmVCeShs
aW5lQm94TG9naWNhbFRvcExlZnQpOwogCi0gICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5saW5lUnVu
cygpLmluc2VydChsaW5lU3Bhbm5pbmdJbmxpbmVCb3hJbmRleCsrLCB7IGxpbmVJbmRleCwgTGlu
ZVJ1bjo6VHlwZTo6Tm9uUm9vdElubGluZUJveCwgbGF5b3V0Qm94LCBpbmxpbmVCb3hCb3JkZXJC
b3gsIHsgfSwgeyB9LCBpbmxpbmVMZXZlbEJveC5oYXNDb250ZW50KCksIHRydWUgfSk7CisgICAg
ICAgIGZvcm1hdHRpbmdTdGF0ZS5saW5lUnVucygpLmluc2VydChsaW5lU3Bhbm5pbmdJbmxpbmVC
b3hJbmRleCsrLCB7IGxpbmVJbmRleCwgTGluZVJ1bjo6VHlwZTo6Tm9uUm9vdElubGluZUJveCwg
bGF5b3V0Qm94LCBpbmxpbmVCb3hCb3JkZXJCb3gsIGlubGluZUJveEJvcmRlckJveCwgeyB9LCB7
IH0sIGlubGluZUxldmVsQm94Lmhhc0NvbnRlbnQoKSwgdHJ1ZSB9KTsKIAogICAgICAgICBhdXRv
IGlubGluZUJveFNpemUgPSBMYXlvdXRTaXplIHsgTGF5b3V0VW5pdDo6ZnJvbUZsb2F0Q2VpbChp
bmxpbmVCb3hCb3JkZXJCb3gud2lkdGgoKSksIExheW91dFVuaXQ6OmZyb21GbG9hdENlaWwoaW5s
aW5lQm94Qm9yZGVyQm94LmhlaWdodCgpKSB9OwogICAgICAgICBhdXRvIGxvZ2ljYWxSZWN0ID0g
UmVjdCB7IExheW91dFBvaW50IHsgaW5saW5lQm94Qm9yZGVyQm94LnRvcExlZnQoKSB9LCBpbmxp
bmVCb3hTaXplIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lUnVuLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lUnVuLmgKaW5kZXggYzI5Y2ZhNTc2
OWRmOTY1MzIyOTk4ZTM3OTgzZmQyOTAzYzA4ZTk5OC4uZTgxZmQ1MmQyNjYzZDc2MjllZDg5OTk4
Mjk0MmJiMDE1NzBmNzcwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZVJ1bi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVSdW4uaApAQCAtNjks
NyArNjksNyBAQCBzdHJ1Y3QgTGluZVJ1biB7CiAgICAgICAgIEdlbmVyaWNJbmxpbmVMZXZlbEJv
eAogICAgIH07CiAgICAgc3RydWN0IEV4cGFuc2lvbjsKLSAgICBMaW5lUnVuKHNpemVfdCBsaW5l
SW5kZXgsIFR5cGUsIGNvbnN0IEJveCYsIGNvbnN0IElubGluZVJlY3QmLCBFeHBhbnNpb24sIHN0
ZDo6b3B0aW9uYWw8VGV4dD4gPSBzdGQ6Om51bGxvcHQsIGJvb2wgaGFzQ29udGVudCA9IHRydWUs
IGJvb2wgaXNMaW5lU3Bhbm5pbmcgPSBmYWxzZSk7CisgICAgTGluZVJ1bihzaXplX3QgbGluZUlu
ZGV4LCBUeXBlLCBjb25zdCBCb3gmLCBjb25zdCBJbmxpbmVSZWN0JiwgY29uc3QgSW5saW5lUmVj
dCYgaW5rT3ZlcmZsb3csIEV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiA9IHN0ZDo6bnVs
bG9wdCwgYm9vbCBoYXNDb250ZW50ID0gdHJ1ZSwgYm9vbCBpc0xpbmVTcGFubmluZyA9IGZhbHNl
KTsKIAogICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5cGU6OlRl
eHQ7IH0KICAgICBib29sIGlzU29mdExpbmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9
PSBUeXBlOjpTb2Z0TGluZUJyZWFrOyB9CkBAIC04OCw2ICs4OCw3IEBAIHN0cnVjdCBMaW5lUnVu
IHsKICAgICBib29sIGlzTGluZVNwYW5uaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc0xpbmVTcGFu
bmluZzsgfQogCiAgICAgY29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBjb25zdCB7IHJl
dHVybiBtX2xvZ2ljYWxSZWN0OyB9CisgICAgY29uc3QgSW5saW5lUmVjdCYgaW5rT3ZlcmZsb3co
KSBjb25zdCB7IHJldHVybiBtX2lua092ZXJmbG93OyB9CiAKICAgICBJbmxpbmVMYXlvdXRVbml0
IGxvZ2ljYWxUb3AoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgpLnRvcCgpOyB9CiAgICAg
SW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsQm90dG9tKCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFJl
Y3QoKS5ib3R0b20oKTsgfQpAQCAtMTE1LDYgKzExNiw3IEBAIHByaXZhdGU6CiAgICAgY29uc3Qg
VHlwZSBtX3R5cGU7CiAgICAgV2Vha1B0cjxjb25zdCBMYXlvdXQ6OkJveD4gbV9sYXlvdXRCb3g7
CiAgICAgSW5saW5lUmVjdCBtX2xvZ2ljYWxSZWN0OworICAgIElubGluZVJlY3QgbV9pbmtPdmVy
ZmxvdzsKICAgICBib29sIG1faGFzQ29udGVudCB7IHRydWUgfTsKICAgICAvLyBGSVhNRTogVGhp
cyBpcyB0ZW1wb3JhcnkgdW50aWwgYWZ0ZXIgaXRlcmF0b3JzIGNhbiBza2lwIG92ZXIgbGluZSBz
cGFubmluZy9yb290IGlubGluZSBib3hlcy4KICAgICBib29sIG1faXNMaW5lU3Bhbm5pbmcgeyBm
YWxzZSB9OwpAQCAtMTIyLDExICsxMjQsMTIgQEAgcHJpdmF0ZToKICAgICBzdGQ6Om9wdGlvbmFs
PFRleHQ+IG1fdGV4dDsKIH07CiAKLWlubGluZSBMaW5lUnVuOjpMaW5lUnVuKHNpemVfdCBsaW5l
SW5kZXgsIFR5cGUgdHlwZSwgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJveCwgY29uc3QgSW5s
aW5lUmVjdCYgbG9naWNhbFJlY3QsIEV4cGFuc2lvbiBleHBhbnNpb24sIHN0ZDo6b3B0aW9uYWw8
VGV4dD4gdGV4dCwgYm9vbCBoYXNDb250ZW50LCBib29sIGlzTGluZVNwYW5uaW5nKQoraW5saW5l
IExpbmVSdW46OkxpbmVSdW4oc2l6ZV90IGxpbmVJbmRleCwgVHlwZSB0eXBlLCBjb25zdCBMYXlv
dXQ6OkJveCYgbGF5b3V0Qm94LCBjb25zdCBJbmxpbmVSZWN0JiBsb2dpY2FsUmVjdCwgY29uc3Qg
SW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIEV4cGFuc2lvbiBleHBhbnNpb24sIHN0ZDo6b3B0aW9u
YWw8VGV4dD4gdGV4dCwgYm9vbCBoYXNDb250ZW50LCBib29sIGlzTGluZVNwYW5uaW5nKQogICAg
IDogbV9saW5lSW5kZXgobGluZUluZGV4KQogICAgICwgbV90eXBlKHR5cGUpCiAgICAgLCBtX2xh
eW91dEJveChtYWtlV2Vha1B0cihsYXlvdXRCb3gpKQogICAgICwgbV9sb2dpY2FsUmVjdChsb2dp
Y2FsUmVjdCkKKyAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCiAgICAgLCBtX2hhc0Nv
bnRlbnQoaGFzQ29udGVudCkKICAgICAsIG1faXNMaW5lU3Bhbm5pbmcoaXNMaW5lU3Bhbm5pbmcp
CiAgICAgLCBtX2V4cGFuc2lvbihleHBhbnNpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKaW5kZXggY2ViODA0MjM0YTM3YzYwODAyNDk0YTA3
MTdhMWFkZmJhYmI4YjQzYi4uOTBhZGI2YWY1NTRhMjJhYzBjYmE1ZTdkYzY4ZWUxMTM0YzE4MjM4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNw
cApAQCAtMjU4LDEwICsyNTgsMTMgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRl
RGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmIGxpbmUKICAgICAgICAg
Ly8gSW5saW5lIGJveGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgbGluZSBib3ggd2hpbGUgZmluYWwg
cnVucyBuZWVkIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgYm94CiAgICAgICAgIC8vIEZJ
WE1FOiBTaG91bGRuJ3Qgd2UganVzdCBsZWF2ZSB0aGVtIGJlIHJlbGF0aXZlIHRvIHRoZSBsaW5l
IGJveD8KICAgICAgICAgYXV0byBydW5SZWN0ID0gRmxvYXRSZWN0IHsgbGluZVJ1bi5sb2dpY2Fs
UmVjdCgpIH07CisgICAgICAgIGF1dG8gaW5rT3ZlcmZsb3cgPSBGbG9hdFJlY3QgeyBsaW5lUnVu
Lmlua092ZXJmbG93KCkgfTsKICAgICAgICAgYXV0byYgZ2VvbWV0cnkgPSBtX2xheW91dFN0YXRl
Lmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7CiAgICAgICAgIHJ1blJlY3Quc2V0U2l6ZSh7IGdl
b21ldHJ5LmJvcmRlckJveFdpZHRoKCksIGdlb21ldHJ5LmJvcmRlckJveEhlaWdodCgpIH0pOwot
ICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0u
bmVlZHNJbnRlZ3JhbFBvc2l0aW9uKQorICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0
bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKSB7CiAgICAgICAg
ICAgICBydW5SZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkpOworICAgICAgICAgICAg
aW5rT3ZlcmZsb3cuc2V0WShyb3VuZFRvSW50KGlua092ZXJmbG93LnkoKSkpOworICAgICAgICB9
CiAgICAgICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igbm9uLXRleHQgaW5rIG92ZXJmbG93
LgogICAgICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGNhc2VzIHdoZW4gdGhlIHJ1biBp
cyBhZnRlciBlbGxpcHNpcy4KICAgICAgICAgaWYgKGxpbmVSdW4uaXNJbmxpbmVCb3goKSkgewpA
QCAtMjczLDEwICsyNzYsMTAgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlz
cGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lTGluZXMmIGxpbmUKICAgICAgICAgICAg
IGlubGluZUNvbnRlbnQubm9uUm9vdElubGluZUJveGVzLmFwcGVuZCh7IGxpbmVJbmRleCwgbGF5
b3V0Qm94LCBsaW5lUnVuUmVjdCwgaGFzU2Nyb2xsYWJsZUNvbnRlbnQoKSB9KTsKICAgICAgICAg
ICAgIGlmICghbGluZVJ1bi5pc0xpbmVTcGFubmluZygpKSB7CiAgICAgICAgICAgICAgICAgLy8g
RklYTUU6IFJ1biBpdGVyYXRvcnMgd2l0aCAodGV4dClydW5zIHNwYW5uaW5nIG92ZXIgbXVsdGlw
bGUgbGluZXMgZXhwZWN0IG5vICJpbi1iZXR3ZWVuIiBydW5zIChlLmcuIGxpbmUgc3Bhbm5pbmcg
b3Igcm9vdCBpbmxpbmUgYm94ZXMpLgotICAgICAgICAgICAgICAgIGlubGluZUNvbnRlbnQucnVu
cy5hcHBlbmQoeyBsaW5lSW5kZXgsIGxheW91dEJveCwgcnVuUmVjdCwgcnVuUmVjdCwgeyB9LCB7
IH0gfSk7CisgICAgICAgICAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IGxpbmVJ
bmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBpbmtPdmVyZmxvdywgeyB9LCB7IH0gfSk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgaW5saW5lQ29udGVudC5ydW5z
LmFwcGVuZCh7IGxpbmVJbmRleCwgbGF5b3V0Qm94LCBydW5SZWN0LCBydW5SZWN0LCB7IH0sIHsg
fSB9KTsKKyAgICAgICAgICAgIGlubGluZUNvbnRlbnQucnVucy5hcHBlbmQoeyBsaW5lSW5kZXgs
IGxheW91dEJveCwgcnVuUmVjdCwgaW5rT3ZlcmZsb3csIHsgfSwgeyB9IH0pOwogICAgIH07CiAK
ICAgICBhdXRvIGNyZWF0ZURpc3BsYXlUZXh0UnVuRm9yUmFuZ2UgPSBbJl0oYXV0byYgbGluZVJ1
biwgYXV0byBzdGFydE9mZnNldCwgYXV0byBlbmRPZmZzZXQpIHsKQEAgLTI4NSw4ICsyODgsMTEg
QEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0
IExheW91dDo6SW5saW5lTGluZXMmIGxpbmUKICAgICAgICAgYXV0byBsaW5lSW5kZXggPSBsaW5l
UnVuLmxpbmVJbmRleCgpOwogICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5l
c1tsaW5lSW5kZXhdLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwogICAgICAgICBhdXRvIHJ1blJlY3Qg
PSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsKLSAgICAgICAgaWYgKGxpbmVM
ZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzSW50ZWdyYWxQb3Np
dGlvbikKKyAgICAgICAgYXV0byBpbmtPdmVyZmxvdyA9IEZsb2F0UmVjdCB7IGxpbmVSdW4uaW5r
T3ZlcmZsb3coKSB9OworICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JS
dW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKSB7CiAgICAgICAgICAgICBydW5S
ZWN0LnNldFkocm91bmRUb0ludChydW5SZWN0LnkoKSkpOworICAgICAgICAgICAgaW5rT3ZlcmZs
b3cuc2V0WShyb3VuZFRvSW50KGlua092ZXJmbG93LnkoKSkpOworICAgICAgICB9CiAKICAgICAg
ICAgYXV0byYgc3R5bGUgPSBsYXlvdXRCb3guc3R5bGUoKTsKICAgICAgICAgYXV0byB0ZXh0ID0g
bGluZVJ1bi50ZXh0KCk7CkBAIC0zMTQsMjQgKzMyMCwxMSBAQCB2b2lkIElubGluZUNvbnRlbnRC
dWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVMaW5lcyYg
bGluZQogICAgICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogICAgICAgICB9OwogCi0gICAgICAg
IGF1dG8gY29tcHV0ZWRJbmtPdmVyZmxvdyA9IFsmXSAoYXV0byBydW5SZWN0KSB7Ci0gICAgICAg
ICAgICBhdXRvIGlua092ZXJmbG93ID0gcnVuUmVjdDsKLSAgICAgICAgICAgIGF1dG8gaW5pdGlh
bENvbnRhaW5nQmxvY2tTaXplID0gbV9sYXlvdXRTdGF0ZS52aWV3cG9ydFNpemUoKTsKLSAgICAg
ICAgICAgIGF1dG8gc3Ryb2tlT3ZlcmZsb3cgPSBzdGQ6OmNlaWwoc3R5bGUuY29tcHV0ZWRTdHJv
a2VXaWR0aChjZWlsZWRJbnRTaXplKGluaXRpYWxDb250YWluZ0Jsb2NrU2l6ZSkpKTsKLSAgICAg
ICAgICAgIGlua092ZXJmbG93LmluZmxhdGUoc3Ryb2tlT3ZlcmZsb3cpOwotICAgICAgICAgICAg
YXV0byBsZXR0ZXJTcGFjaW5nID0gc3R5bGUuZm9udENhc2NhZGUoKS5sZXR0ZXJTcGFjaW5nKCk7
Ci0gICAgICAgICAgICBpZiAobGV0dGVyU3BhY2luZyA8IDApIHsKLSAgICAgICAgICAgICAgICAv
LyBMYXN0IGxldHRlcidzIG5lZ2F0aXZlIHNwYWNpbmcgc2hyaW5rcyBsb2dpY2FsIHJlY3QuIFB1
c2ggaXQgdG8gaW5rIG92ZXJmbG93LgotICAgICAgICAgICAgICAgIGlua092ZXJmbG93LmV4cGFu
ZCgtbGV0dGVyU3BhY2luZywgeyB9KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVy
biBpbmtPdmVyZmxvdzsKLSAgICAgICAgfTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RhcnRP
ZmZzZXQgPj0gdGV4dC0+c3RhcnQoKSAmJiBzdGFydE9mZnNldCA8IHRleHQtPmVuZCgpKTsKICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoZW5kT2Zmc2V0ID4gdGV4dC0+c3RhcnQoKSAmJiBlbmRPZmZz
ZXQgPD0gdGV4dC0+ZW5kKCkpOwogICAgICAgICBhdXRvIHRleHRDb250ZW50ID0gUnVuOjpUZXh0
Q29udGVudCB7IHN0YXJ0T2Zmc2V0LCBlbmRPZmZzZXQgLSBzdGFydE9mZnNldCwgdGV4dC0+Y29u
dGVudCgpLCBhZGp1c3RlZENvbnRlbnRUb1JlbmRlcigpLCB0ZXh0LT5uZWVkc0h5cGhlbigpIH07
CiAgICAgICAgIGF1dG8gZXhwYW5zaW9uID0gUnVuOjpFeHBhbnNpb24geyBsaW5lUnVuLmV4cGFu
c2lvbigpLmJlaGF2aW9yLCBsaW5lUnVuLmV4cGFuc2lvbigpLmhvcml6b250YWxFeHBhbnNpb24g
fTsKLSAgICAgICAgYXV0byBkaXNwbGF5UnVuID0gUnVuIHsgbGluZUluZGV4LCBsYXlvdXRCb3gs
IHJ1blJlY3QsIGNvbXB1dGVkSW5rT3ZlcmZsb3cocnVuUmVjdCksIGV4cGFuc2lvbiwgdGV4dENv
bnRlbnQgfTsKLSAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZChkaXNwbGF5UnVuKTsK
KyAgICAgICAgaW5saW5lQ29udGVudC5ydW5zLmFwcGVuZCh7IGxpbmVJbmRleCwgbGF5b3V0Qm94
LCBydW5SZWN0LCBpbmtPdmVyZmxvdywgZXhwYW5zaW9uLCB0ZXh0Q29udGVudCB9KTsKICAgICB9
OwogCiAgICAgaW5saW5lQ29udGVudC5ydW5zLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobGluZVJ1
bnMuc2l6ZSgpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>