<?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>310496</bug_id>
          
          <creation_ts>2026-03-22 18:23:27 -0700</creation_ts>
          <short_desc>REGRESSION(309710@main): broke apple internal, PS, Win, ...</short_desc>
          <delta_ts>2026-03-22 18:27:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>310483</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2192586</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2026-03-22 18:23:27 -0700</bug_when>
    <thetext>https://commits.webkit.org/309710@main introduced a regression:
broke apple internal, PS, Win, ...

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2192588</commentid>
    <comment_count>1</comment_count>
      <attachid>478758</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2026-03-22 18:23:33 -0700</bug_when>
    <thetext>Created attachment 478758
REVERT of 309710@main

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2192589</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-03-22 18:26:29 -0700</bug_when>
    <thetext>Committed 309720@main (77e82e201619): &lt;https://commits.webkit.org/309720@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 478758.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2192590</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-03-22 18:27:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/173119757&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478758</attachid>
            <date>2026-03-22 18:23:33 -0700</date>
            <delta_ts>2026-03-22 18:26:29 -0700</delta_ts>
            <desc>REVERT of 309710@main</desc>
            <filename>bug-310496-20260323012333.patch</filename>
            <type>text/plain</type>
            <size>81637</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBlYmQ3MzhjYTk1NWVhZjUzYWUyMWZkM2JlNjhlODU2NzFlMDkwZGY5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBNb24sIDIzIE1hciAyMDI2IDAxOjIzOjMxICswMDAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIDMwOTcxMEBtYWluLgogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTMxMDQ5NgoKYnJva2UgYXBwbGUgaW50ZXJuYWwsIFBTLCBXaW4s
IC4uLgoKUmV2ZXJ0ZWQgY2hhbmdlc2V0OgoKIltjc3MtdmFsdWVzLTUgYXR0cigpXSBSZW5hbWUg
Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSBhbmQgb3RoZXIgcmVsYXRlZCB0eXBlcyIKaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMDQ4MwpodHRwczovL2NvbW1pdHMu
d2Via2l0Lm9yZy8zMDk3MTBAbWFpbgotLS0KIFNvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2Ug
ICAgICAgICAgICAgICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCAgICAg
ICAgICAgICAgICAgICAgfCAgNiArKy0tCiAuLi4vV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogfCAzMiArKysrKysrKystLS0tLS0tLS0tCiAuLi4vV2ViQ29yZS9hbmlt
YXRpb24vQmxlbmRpbmdLZXlmcmFtZXMuY3BwICAgfCAgNiArKy0tCiBTb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vQmxlbmRpbmdLZXlmcmFtZXMuaCAgfCAgNCArLS0KIFNvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAgICB8IDEwICsrKy0tLQogU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuY3BwIHwgMjIgKysrKysrLS0tLS0tLQogU291cmNl
L1dlYkNvcmUvY3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCAgIHwgIDYgKystLQogLi4udWUu
Y3BwID0+IENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHB9IHwgMTAgKysrLS0tCiAuLi5u
VmFsdWUuaCA9PiBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaH0gfCAyMCArKysrKy0tLS0t
LS0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAgICAgICAgICAgICAgICB8IDEyICsr
Ky0tLS0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oICAgICAgICAgICAgICAgICB8IDEw
ICsrKy0tLQogLi4uYWx1ZS5jcHAgPT4gQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHB9IHwg
MjIgKysrKysrLS0tLS0tLQogLi4uaW9uVmFsdWUuaCA9PiBDU1NWYXJpYWJsZVJlZmVyZW5jZVZh
bHVlLmh9IHwgMTUgKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvU2hvcnRoYW5kU2VyaWFs
aXplci5jcHAgICAgfCAxMCArKystLS0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRp
ZXMuY3BwICAgICAgICB8ICA0ICstLQogU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJz
ZXIuY3BwICAgICAgIHwgIDggKystLS0KIC4uLi9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVy
dHlQYXJzZXIuY3BwICB8IDE2ICsrKysrLS0tLS0KIC4uLi9DU1NQcm9wZXJ0eVBhcnNlckNvbnN1
bWVyK1N5bnRheC5jcHAgICAgICB8ICA0ICstLQogLi4udHV0aW9uUGFyc2VyLmNwcCA9PiBDU1NW
YXJpYWJsZVBhcnNlci5jcHB9IHwgMTQgKysrKy0tLS0KIC4uLmJzdGl0dXRpb25QYXJzZXIuaCA9
PiBDU1NWYXJpYWJsZVBhcnNlci5ofSB8ICA2ICsrLS0KIC4uLi9jc3MvcXVlcnkvR2VuZXJpY01l
ZGlhUXVlcnlQYXJzZXIuY3BwICAgICB8ICA0ICstLQogLi4uL2Nzcy90eXBlZG9tL0NTU1N0eWxl
VmFsdWVGYWN0b3J5LmNwcCAgICAgIHwgMTQgKysrKy0tLS0KIC4uLi9XZWJDb3JlL2Nzcy90eXBl
ZG9tL0NTU1VucGFyc2VkVmFsdWUuY3BwICB8ICA0ICstLQogLi4uL2Nzcy90eXBlZG9tL0RlY2xh
cmVkU3R5bGVQcm9wZXJ0eU1hcC5jcHAgIHwgIDIgKy0KIC4uLi9jc3MvdHlwZWRvbS9EZWNsYXJl
ZFN0eWxlUHJvcGVydHlNYXAuaCAgICB8ICAyICstCiAuLi4vY3NzL3R5cGVkb20vSW5saW5lU3R5
bGVQcm9wZXJ0eU1hcC5jcHAgICAgfCAgMiArLQogLi4uL2Nzcy90eXBlZG9tL0lubGluZVN0eWxl
UHJvcGVydHlNYXAuaCAgICAgIHwgIDIgKy0KIC4uLi9NYWluVGhyZWFkU3R5bGVQcm9wZXJ0eU1h
cFJlYWRPbmx5LmNwcCAgICB8ICAyICstCiAuLi4vV2ViQ29yZS9jc3MvdHlwZWRvbS9TdHlsZVBy
b3BlcnR5TWFwLmNwcCAgfCAgNiArKy0tCiBTb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9TdHls
ZVByb3BlcnR5TWFwLmggfCAgNCArLS0KIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JPdmVybGF5LmNwcCB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2Nh
ZGUuY3BwICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyLmNw
cCAgICAgICAgIHwgMTQgKysrKy0tLS0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQ3VzdG9t
UHJvcGVydHkuY3BwICB8ICA0ICstLQogLi4uL3N0eWxlL1N0eWxlU3Vic3RpdHV0aW9uUmVzb2x2
ZXIuY3BwICAgICAgIHwgMzIgKysrKysrKysrLS0tLS0tLS0tLQogLi4uL1dlYkNvcmUvc3R5bGUv
U3R5bGVTdWJzdGl0dXRpb25SZXNvbHZlci5oIHwgMTIgKysrLS0tLQogMzcgZmlsZXMgY2hhbmdl
ZCwgMTcwIGluc2VydGlvbnMoKyksIDE3NyBkZWxldGlvbnMoLSkKIHJlbmFtZSBTb3VyY2UvV2Vi
Q29yZS9jc3Mve0NTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVlLmNwcCA9PiBDU1NQZW5kaW5n
U3Vic3RpdHV0aW9uVmFsdWUuY3BwfSAoNzUlKQogcmVuYW1lIFNvdXJjZS9XZWJDb3JlL2Nzcy97
Q1NTU2hvcnRoYW5kU3Vic3RpdHV0aW9uVmFsdWUuaCA9PiBDU1NQZW5kaW5nU3Vic3RpdHV0aW9u
VmFsdWUuaH0gKDcwJSkKIHJlbmFtZSBTb3VyY2UvV2ViQ29yZS9jc3Mve0NTU1N1YnN0aXR1dGlv
blZhbHVlLmNwcCA9PiBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcH0gKDc1JSkKIHJlbmFt
ZSBTb3VyY2UvV2ViQ29yZS9jc3Mve0NTU1N1YnN0aXR1dGlvblZhbHVlLmggPT4gQ1NTVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZS5ofSAoODElKQogcmVuYW1lIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIve0NTU1N1YnN0aXR1dGlvblBhcnNlci5jcHAgPT4gQ1NTVmFyaWFibGVQYXJzZXIuY3BwfSAo
OTMlKQogcmVuYW1lIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIve0NTU1N1YnN0aXR1dGlvblBh
cnNlci5oID0+IENTU1ZhcmlhYmxlUGFyc2VyLmh9ICg5MSUpCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5k
ZXggMzA5NThhMjhlOTkzLi5hZDkwYmFmMzU5ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTA5
Niw3ICsxMDk2LDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAg
IGNzcy9DU1NTdHlsZVJ1bGUuaAogICAgIGNzcy9DU1NTdHlsZVNoZWV0LmgKICAgICBjc3MvQ1NT
U3ViZ3JpZFZhbHVlLmgKLSAgICBjc3MvQ1NTU3Vic3RpdHV0aW9uVmFsdWUuaAogICAgIGNzcy9D
U1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmgKICAgICBjc3MvQ1NTVW5pdHMuaAogICAgIGNzcy9D
U1NWYWx1ZS5oCkBAIC0xMTA0LDYgKzExMDMsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1F
V09SS19IRUFERVJTCiAgICAgY3NzL0NTU1ZhbHVlUGFpci5oCiAgICAgY3NzL0NTU1ZhbHVlUG9v
bC5oCiAgICAgY3NzL0NTU1ZhcmlhYmxlRGF0YS5oCisgICAgY3NzL0NTU1ZhcmlhYmxlUmVmZXJl
bmNlVmFsdWUuaAogICAgIGNzcy9DU1NXaWRlS2V5d29yZC5oCiAgICAgY3NzL0NvbXB1dGVkU3R5
bGVEZXBlbmRlbmNpZXMuaAogICAgIGNzcy9ET01DU1NQYWludFdvcmtsZXQuaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAppbmRleCA3NzMwZjYzMjYyNTcuLjU5Nzc1ODRiOGRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTk0
MCw3ICs5NDAsNyBAQCBjc3MvQ1NTUGFnZURlc2NyaXB0b3JzLmNwcAogY3NzL0NTU1BhZ2VSdWxl
LmNwcAogY3NzL0NTU1BhaW50SW1hZ2VWYWx1ZS5jcHAKIGNzcy9DU1NQYXRoVmFsdWUuY3BwCi1j
c3MvQ1NTU2hvcnRoYW5kU3Vic3RpdHV0aW9uVmFsdWUuY3BwCitjc3MvQ1NTUGVuZGluZ1N1YnN0
aXR1dGlvblZhbHVlLmNwcAogY3NzL0NTU1Bvc2l0aW9uVHJ5RGVzY3JpcHRvcnMuY3BwCiBjc3Mv
Q1NTUG9zaXRpb25UcnlSdWxlLmNwcAogY3NzL0NTU1Bvc2l0aW9uVmFsdWUuY3BwCkBAIC05ODEs
NyArOTgxLDcgQEAgY3NzL0NTU1ZhbHVlTGlzdC5jcHAKIGNzcy9DU1NWYWx1ZVBhaXIuY3BwCiBj
c3MvQ1NTVmFsdWVQb29sLmNwcAogY3NzL0NTU1ZhcmlhYmxlRGF0YS5jcHAKLWNzcy9DU1NTdWJz
dGl0dXRpb25WYWx1ZS5jcHAKK2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAogY3Nz
L0NTU1ZpZXdUcmFuc2l0aW9uUnVsZS5jcHAKIGNzcy9DU1NWaWV3VmFsdWUuY3BwCiBjc3MvQ29t
cHV0ZWRTdHlsZURlcGVuZGVuY2llcy5jcHAKQEAgLTEwOTAsNyArMTA5MCw3IEBAIGNzcy9wYXJz
ZXIvQ1NTU2VsZWN0b3JQYXJzZXJDb250ZXh0LmNwcAogY3NzL3BhcnNlci9DU1NTdXBwb3J0c1Bh
cnNlci5jcHAKIGNzcy9wYXJzZXIvQ1NTVG9rZW5pemVyLmNwcAogY3NzL3BhcnNlci9DU1NUb2tl
bml6ZXJJbnB1dFN0cmVhbS5jcHAKLWNzcy9wYXJzZXIvQ1NTU3Vic3RpdHV0aW9uUGFyc2VyLmNw
cAorY3NzL3BhcnNlci9DU1NWYXJpYWJsZVBhcnNlci5jcHAKIGNzcy9wYXJzZXIvTWVkaWFRdWVy
eUJsb2NrV2F0Y2hlci5jcHAKIGNzcy9wYXJzZXIvTXV0YWJsZUNTU1NlbGVjdG9yLmNwcAogY3Nz
L3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5ZmViZWUzZDc1ZWEuLmY3NTkz
ZGFkZmYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMzc5NCw5ICszNzk0LDkgQEAKIAkJOTNGOUI3QTEwQkE2MDMyNjAwODU0
MDY0IC8qIEpTQ0RBVEFTZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0Y5Qjc5RjBCQTYwMzI2MDA4NTQwNjQgLyogSlNDREFUQVNlY3Rpb24u
aCAqLzsgfTsKIAkJOTNGREFGQ0EwQjExMzA3NDAwRTI3NDZGIC8qIEVkaXRvckluc2VydEFjdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGREFG
QzkwQjExMzA3NDAwRTI3NDZGIC8qIEVkaXRvckluc2VydEFjdGlvbi5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk0MDc3QzcwMkI5MkIwNkMwMDEy
RTM1NyAvKiBDcnlwdG9DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk0MDc3QzZGMkI5MkIwNTcwMDEyRTM1NyAvKiBDcnlwdG9DbGllbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk5NDE4Mjc4
RjFEOENBRjkyMDA0OTI3NjQgLyogQ1NTU2hvcnRoYW5kU3Vic3RpdHV0aW9uVmFsdWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk0MTgyNzhEMUQ4Q0FF
OTUwMDQ5Mjc2NCAvKiBDU1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZS5oICovOyB9OworCQk5
NDE4Mjc4RjFEOENBRjkyMDA0OTI3NjQgLyogQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NDE4Mjc4RDFE
OENBRTk1MDA0OTI3NjQgLyogQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmggKi87IH07CiAJ
CTk0NDRDQkU4MUQ4ODYxQzIwMDczQTA3NCAvKiBDU1NWYXJpYWJsZURhdGEuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk0NDRDQkREMUQ4ODYxNTgwMDcz
QTA3NCAvKiBDU1NWYXJpYWJsZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQk5NDQ0Q0JFQTFEODg2MUNBMDA3M0EwNzQgLyogQ1NTU3Vic3Rp
dHV0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk0NDRDQkRCMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NTdWJzdGl0dXRpb25WYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTk0NDRDQkVB
MUQ4ODYxQ0EwMDczQTA3NCAvKiBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NDQ0Q0JEQjFEODg2MTU4MDA3
M0EwNzQgLyogQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTk0NkQzNzRBMUQ2RDA2MjgwMDc3MDg0RiAv
KiBDU1NNYXJrdXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk0NkQzNzQ4MUQ2RDA2MEMwMDc3MDg0RiAvKiBDU1NNYXJrdXAuaCAqLzsgfTsKIAkJOTQ3
OEE4RUMyQzE4MERGNDAwODA4NzM5IC8qIFdyYXBwZWRDcnlwdG9LZXkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk0NzhBOEVCMkMxODBEN0EwMDgwODcz
OSAvKiBXcmFwcGVkQ3J5cHRvS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTQ3OTQ5MjUxRTAzMDhBRjAwMDE4RDg1IC8qIERlcHJlY2F0ZWRD
U1NPTVZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5NDc5NDkyMzFFMDJGOTBCMDAwMThEODUgLyogRGVwcmVjYXRlZENTU09NVmFsdWUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTYwMzMsOSAr
MTYwMzMsOSBAQAogCQk5M0ZDREI0QjI2NDcwREQxMDA0NkREN0QgLyogU1ZHUHJvcGVydHlUcmFp
dHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUHJvcGVydHlUcmFpdHMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5M0ZEQUZDOTBCMTEzMDc0MDBFMjc0NkYgLyogRWRpdG9y
SW5zZXJ0QWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0b3JJ
bnNlcnRBY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTQwNzdDNkYyQjky
QjA1NzAwMTJFMzU3IC8qIENyeXB0b0NsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDcnlwdG9DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTQx
ODI3OEQxRDhDQUU5NTAwNDkyNzY0IC8qIENTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1Nob3J0aGFuZFN1YnN0aXR1dGlv
blZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk0NDRDQkRCMUQ4ODYxNTgw
MDczQTA3NCAvKiBDU1NTdWJzdGl0dXRpb25WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NTdWJzdGl0dXRpb25WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQk5NDQ0Q0JEQzFEODg2MTU4MDA3M0EwNzQgLyogQ1NTU3Vic3RpdHV0aW9uVmFsdWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTU3Vic3RpdHV0aW9u
VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5NDE4Mjc4RDFEOENBRTk1
MDA0OTI3NjQgLyogQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk5NDQ0Q0JEQjFEODg2MTU4MDA3M0EwNzQgLyogQ1NTVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTk0NDRDQkRDMUQ4ODYxNTgwMDczQTA3NCAvKiBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1ZhcmlhYmxlUmVmZXJl
bmNlVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5NDQ0Q0JERDFEODg2
MTU4MDA3M0EwNzQgLyogQ1NTVmFyaWFibGVEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENTU1ZhcmlhYmxlRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5NDQ0Q0JERTFEODg2MTU4MDA3M0EwNzQgLyogQ1NTVmFyaWFibGVEYXRhLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1ZhcmlhYmxlRGF0YS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk0NkQzNzQ3MUQ2RDA2MEMwMDc3MDg0RiAvKiBDU1NN
YXJrdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTTWFya3Vw
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NDA2LDggKzE5NDA2LDggQEAK
IAkJQkM3QzVFOEQyQkUyQThGQjAwQUU2NDVDIC8qIENTU1Rva2VuaXplci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDU1NUb2tlbml6ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM3QzVF
OEUyQkUyQThGQjAwQUU2NDVDIC8qIENTU1Rva2VuaXplcklucHV0U3RyZWFtLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENTU1Rva2VuaXplcklucHV0U3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkM3QzVFOEYyQkUyQThGQjAwQUU2NDVDIC8qIENTU1Rva2VuaXplcklu
cHV0U3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1Rva2VuaXplcklucHV0U3RyZWFtLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDN0M1RTkwMkJFMkE4RkIwMEFFNjQ1QyAvKiBD
U1NTdWJzdGl0dXRpb25QYXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTU3Vic3RpdHV0
aW9uUGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkM3QzVFOTEyQkUy
QThGQjAwQUU2NDVDIC8qIENTU1N1YnN0aXR1dGlvblBhcnNlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NTdWJzdGl0dXRpb25QYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM3
QzVFOTAyQkUyQThGQjAwQUU2NDVDIC8qIENTU1ZhcmlhYmxlUGFyc2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENTU1ZhcmlhYmxlUGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQkM3QzVFOTEyQkUyQThGQjAwQUU2NDVDIC8qIENTU1ZhcmlhYmxlUGFyc2VyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENTU1ZhcmlhYmxlUGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDN0M1RTkyMkJFMkE4RkIwMEFFNjQ1QyAvKiBNZWRpYVF1ZXJ5QmxvY2tXYXRjaGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnlCbG9ja1dhdGNoZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzdDNUU5MzJCRTJBOEZCMDBBRTY0NUMgLyogTWVk
aWFRdWVyeUJsb2NrV2F0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVF1ZXJ5QmxvY2tXYXRj
aGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDN0M1RTk0MkJFMkE4RkIwMEFF
NjQ1QyAvKiBNdXRhYmxlQ1NTU2VsZWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTXV0YWJs
ZUNTU1NlbGVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyMzQzLDcg
KzIyMzQzLDcgQEAKIAkJRTRGODE5QzUyNkZCNEVCRjAwOTRFMTYyIC8qIElubGluZUJveFBhaW50
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lQm94UGFpbnRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEY5RUVGMDE1NkQ4NEM0MDBEMjNFN0Ug
LyogU3R5bGVTaGVldENvbnRlbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0eWxlU2hlZXRDb250ZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUU0RjlFRUYxMTU2RDg0QzQwMEQyM0U3RSAvKiBTdHlsZVNoZWV0Q29udGVudHMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVTaGVldENvbnRlbnRzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0RkE3MEZGMkFGOEVFQjcwMEQzMkZFQSAvKiBDU1NT
aG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NTaG9y
dGhhbmRTdWJzdGl0dXRpb25WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUU0RkE3MEZGMkFGOEVFQjcwMEQzMkZFQSAvKiBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTRGQjRCMzUyMzlCRUIxMDAwM0MzMzZBIC8q
IExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBM
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNEZGQ0VCODI3NjBBQzAwMDBBNjhCMDMgLyogQ1NTTGF5ZXJTdGF0ZW1lbnRSdWxl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0xheWVyU3RhdGVtZW50UnVs
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEZGQ0VCOTI3NjBBQzAwMDBBNjhC
MDMgLyogQ1NTTGF5ZXJTdGF0ZW1lbnRSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENTU0xheWVyU3RhdGVtZW50UnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0zMjg0NiwxNCArMzI4NDYsMTQgQEAKIAkJCQlCQzdDNUU4NzJCRTJBOEZC
MDBBRTY0NUMgLyogQ1NTU2VsZWN0b3JQYXJzZXIuaCAqLywKIAkJCQlCQzdDNUU4ODJCRTJBOEZC
MDBBRTY0NUMgLyogQ1NTU2VsZWN0b3JQYXJzZXJDb250ZXh0LmNwcCAqLywKIAkJCQlCQzdDNUU4
OTJCRTJBOEZCMDBBRTY0NUMgLyogQ1NTU2VsZWN0b3JQYXJzZXJDb250ZXh0LmggKi8sCi0JCQkJ
QkM3QzVFOTAyQkUyQThGQjAwQUU2NDVDIC8qIENTU1N1YnN0aXR1dGlvblBhcnNlci5jcHAgKi8s
Ci0JCQkJQkM3QzVFOTEyQkUyQThGQjAwQUU2NDVDIC8qIENTU1N1YnN0aXR1dGlvblBhcnNlci5o
ICovLAogCQkJCUJDN0M1RThBMkJFMkE4RkIwMEFFNjQ1QyAvKiBDU1NTdXBwb3J0c1BhcnNlci5j
cHAgKi8sCiAJCQkJQkM3QzVFOEIyQkUyQThGQjAwQUU2NDVDIC8qIENTU1N1cHBvcnRzUGFyc2Vy
LmggKi8sCiAJCQkJQkM3QzVFOEMyQkUyQThGQjAwQUU2NDVDIC8qIENTU1Rva2VuaXplci5jcHAg
Ki8sCiAJCQkJQkM3QzVFOEQyQkUyQThGQjAwQUU2NDVDIC8qIENTU1Rva2VuaXplci5oICovLAog
CQkJCUJDN0M1RThFMkJFMkE4RkIwMEFFNjQ1QyAvKiBDU1NUb2tlbml6ZXJJbnB1dFN0cmVhbS5j
cHAgKi8sCiAJCQkJQkM3QzVFOEYyQkUyQThGQjAwQUU2NDVDIC8qIENTU1Rva2VuaXplcklucHV0
U3RyZWFtLmggKi8sCisJCQkJQkM3QzVFOTAyQkUyQThGQjAwQUU2NDVDIC8qIENTU1ZhcmlhYmxl
UGFyc2VyLmNwcCAqLywKKwkJCQlCQzdDNUU5MTJCRTJBOEZCMDBBRTY0NUMgLyogQ1NTVmFyaWFi
bGVQYXJzZXIuaCAqLywKIAkJCQlCQzdDNUU5MjJCRTJBOEZCMDBBRTY0NUMgLyogTWVkaWFRdWVy
eUJsb2NrV2F0Y2hlci5jcHAgKi8sCiAJCQkJQkM3QzVFOTMyQkUyQThGQjAwQUU2NDVDIC8qIE1l
ZGlhUXVlcnlCbG9ja1dhdGNoZXIuaCAqLywKIAkJCQlCQzdDNUU5NDJCRTJBOEZCMDBBRTY0NUMg
LyogTXV0YWJsZUNTU1NlbGVjdG9yLmNwcCAqLywKQEAgLTQwNjc5LDYgKzQwNjc5LDggQEAKIAkJ
CQk0QkFGRDBDRDIxOTBFQkU5MDBDMEFCNjQgLyogQ1NTUGFpbnRTaXplLmlkbCAqLywKIAkJCQlC
Q0IyNzFGQTJDQzE2REUwMDAyNjUxMjMgLyogQ1NTUGF0aFZhbHVlLmNwcCAqLywKIAkJCQlCQ0Iy
NzFGODJDQzE2REQ1MDAyNjUxMjMgLyogQ1NTUGF0aFZhbHVlLmggKi8sCisJCQkJRTRGQTcwRkYy
QUY4RUVCNzAwRDMyRkVBIC8qIENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5jcHAgKi8sCisJ
CQkJOTQxODI3OEQxRDhDQUU5NTAwNDkyNzY0IC8qIENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1
ZS5oICovLAogCQkJCUJDMjM4ODhCMkQ4QzgwMTMwMDY5ODEwMiAvKiBDU1NQb3NpdGlvblRyeURl
c2NyaXB0b3JzLmNwcCAqLywKIAkJCQlCQzIzODg4QzJEOEM4MDEzMDA2OTgxMDIgLyogQ1NTUG9z
aXRpb25UcnlEZXNjcmlwdG9ycy5oICovLAogCQkJCUJDMjM4ODhEMkQ4QzgwMTMwMDY5ODEwMiAv
KiBDU1NQb3NpdGlvblRyeURlc2NyaXB0b3JzLmlkbCAqLywKQEAgLTQwNzMwLDggKzQwNzMyLDYg
QEAKIAkJCQlBODBFNzM0QjBBMTk5Qzc3MDA3RkI4QzUgLyogQ1NTU2VsZWN0b3IuaCAqLywKIAkJ
CQlFNEMxNzg5NTBFRTY5MDM4MDA4MjRENjkgLyogQ1NTU2VsZWN0b3JMaXN0LmNwcCAqLywKIAkJ
CQlFNEMxNzg5NjBFRTY5MDM4MDA4MjRENjkgLyogQ1NTU2VsZWN0b3JMaXN0LmggKi8sCi0JCQkJ
RTRGQTcwRkYyQUY4RUVCNzAwRDMyRkVBIC8qIENTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVl
LmNwcCAqLywKLQkJCQk5NDE4Mjc4RDFEOENBRTk1MDA0OTI3NjQgLyogQ1NTU2hvcnRoYW5kU3Vi
c3RpdHV0aW9uVmFsdWUuaCAqLywKIAkJCQlFNEUzNjQ3NTJCNjdFMDU1MDA3MzQ2NDggLyogQ1NT
U3RhcnRpbmdTdHlsZVJ1bGUuY3BwICovLAogCQkJCUU0RTM2NDcyMkI2N0RFREEwMDczNDY0OCAv
KiBDU1NTdGFydGluZ1N0eWxlUnVsZS5oICovLAogCQkJCUU0RTM2NDczMkI2N0RFRTgwMDczNDY0
OCAvKiBDU1NTdGFydGluZ1N0eWxlUnVsZS5pZGwgKi8sCkBAIC00MDc1Miw4ICs0MDc1Miw2IEBA
CiAJCQkJNDYwQzcwRkUyOEU2NjMxRDAwNUY0RDc0IC8qIENTU1N0eWxlU2hlZXRPYnNlcnZhYmxl
QXJyYXkuaCAqLywKIAkJCQlEMDI2REIwQjI3QUI3MUFGMDA4MUIxNDMgLyogQ1NTU3ViZ3JpZFZh
bHVlLmNwcCAqLywKIAkJCQlEMDI2REIwODI3QUI3MTlEMDA4MUIxNDMgLyogQ1NTU3ViZ3JpZFZh
bHVlLmggKi8sCi0JCQkJOTQ0NENCREMxRDg4NjE1ODAwNzNBMDc0IC8qIENTU1N1YnN0aXR1dGlv
blZhbHVlLmNwcCAqLywKLQkJCQk5NDQ0Q0JEQjFEODg2MTU4MDA3M0EwNzQgLyogQ1NTU3Vic3Rp
dHV0aW9uVmFsdWUuaCAqLywKIAkJCQlGRDY3NzczNDE5NUNBQjIwMDA3MkUwRDMgLyogQ1NTU3Vw
cG9ydHNSdWxlLmNwcCAqLywKIAkJCQlGQzYzQkRCMTE2N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3Vw
cG9ydHNSdWxlLmggKi8sCiAJCQkJRkM2M0JEQjIxNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBv
cnRzUnVsZS5pZGwgKi8sCkBAIC00MDc4MCw2ICs0MDc3OCw4IEBACiAJCQkJRTQ5QkQ5RjkxMzFG
RDJFRDAwM0M1NkYwIC8qIENTU1ZhbHVlUG9vbC5oICovLAogCQkJCTk0NDRDQkRFMUQ4ODYxNTgw
MDczQTA3NCAvKiBDU1NWYXJpYWJsZURhdGEuY3BwICovLAogCQkJCTk0NDRDQkREMUQ4ODYxNTgw
MDczQTA3NCAvKiBDU1NWYXJpYWJsZURhdGEuaCAqLywKKwkJCQk5NDQ0Q0JEQzFEODg2MTU4MDA3
M0EwNzQgLyogQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAgKi8sCisJCQkJOTQ0NENCREIx
RDg4NjE1ODAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCAqLywKIAkJCQlB
NzlDRjg2RDJDNTlEMDk4MDBGNjdDN0EgLyogQ1NTVmlld1RyYW5zaXRpb25SdWxlLmNwcCAqLywK
IAkJCQlBNzlDRjg2QzJDNTlEMDk4MDBGNjdDN0EgLyogQ1NTVmlld1RyYW5zaXRpb25SdWxlLmgg
Ki8sCiAJCQkJQTc5Q0Y4NkUyQzU5RDA5ODAwRjY3QzdBIC8qIENTU1ZpZXdUcmFuc2l0aW9uUnVs
ZS5pZGwgKi8sCkBAIC00MzY2OCw2ICs0MzY2OCw3IEBACiAJCQkJQkNGRTc5QjEyQkUzMDhCOTAw
MTE0MjcyIC8qIENTU1BhcnNlclRva2VuUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjI3
MjFDMkNDMUYyMUIwMDI2NTEyMyAvKiBDU1NQYXRoRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDQjI3MUY5MkNDMTZERDUwMDI2NTEyMyAvKiBDU1NQYXRoVmFsdWUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTk0MTgyNzhGMUQ4Q0FGOTIwMDQ5Mjc2NCAvKiBDU1NQZW5kaW5nU3Vic3RpdHV0
aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJBNTM4QTI3MjZGMDEwMzkwMDk2NUZDOCAv
KiBDU1NQZXJzcGVjdGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMjcyMUEyQ0MxRjIxQjAw
MjY1MTIzIC8qIENTU1BvbHlnb25GdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMjcy
MjAyQ0MyMEFBMDAwMjY1MTIzIC8qIENTU1Bvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTQz
NzIzLDcgKzQzNzI0LDYgQEAKIAkJCQlCQ0ZFNzlBQjJCRTMwN0Y4MDAxMTQyNzIgLyogQ1NTU2Vs
ZWN0b3JQYXJzZXJDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVDODlBMTJENTUzMTkz
MDAwRjQ1QjcgLyogQ1NTU2VyaWFsaXphdGlvbkNvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDQjI3MjE0MkNDMUYyMUIwMDI2NTEyMyAvKiBDU1NTaGFwZUZ1bmN0aW9uLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk5NDE4Mjc4RjFEOENBRjkyMDA0OTI3NjQgLyogQ1NTU2hvcnRoYW5kU3Vic3Rp
dHV0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJBNTM4QTJBMjZGMDEwNDIwMDk2NUZD
OCAvKiBDU1NTa2V3LmggaW4gSGVhZGVycyAqLywKIAkJCQkyQTUzOEEyQjI2RjAxMDQ1MDA5NjVG
QzggLyogQ1NTU2tld1guaCBpbiBIZWFkZXJzICovLAogCQkJCTJBNTM4QTJDMjZGMDEwNDgwMDk2
NUZDOCAvKiBDU1NTa2V3WS5oIGluIEhlYWRlcnMgKi8sCkBAIC00MzczNiw3ICs0MzczNiw2IEBA
CiAJCQkJNDYwQzcxMDEyOEU2NjM0RDAwNUY0RDc0IC8qIENTU1N0eWxlU2hlZXRPYnNlcnZhYmxl
QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCQUZEMEQ2MjE5MjE0NkIwMEMwQUI2NCAvKiBD
U1NTdHlsZVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMDI2REIwQTI3QUI3MTlFMDA4MUIx
NDMgLyogQ1NTU3ViZ3JpZFZhbHVlLmggaW4gSGVhZGVycyAqLywKLQkJCQk5NDQ0Q0JFQTFEODg2
MUNBMDA3M0EwNzQgLyogQ1NTU3Vic3RpdHV0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUZDNTREMDU3MTZBNzY3MzEwMDU3NUU0RCAvKiBDU1NTdXBwb3J0c1J1bGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMDVBQ0NFMkNFRTYxMDMwMDc1MENCMSAvKiBDU1NTeW1ib2wuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDM0NDMjI4MkRFNzlGNkQwMDMyOTcxQyAvKiBDU1NUZXh0U2hhZG93Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTQzNzY3LDYgKzQzNzY2LDcgQEAKIAkJCQlFNDlCRDlGQTEzMUZE
MkVEMDAzQzU2RjAgLyogQ1NTVmFsdWVQb29sLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0E0MDdG
RDJDOUZCQUM5MDA2QjAzN0YgLyogQ1NTVmFsdWVUeXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTQ0NENCRTgxRDg4NjFDMjAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlRGF0YS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJOTQ0NENCRUExRDg4NjFDQTAwNzNBMDc0IC8qIENTU1ZhcmlhYmxlUmVmZXJlbmNl
VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3OUNGODZGMkM1OUQwOUYwMEY2N0M3QSAvKiBD
U1NWaWV3VHJhbnNpdGlvblJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxRUQyNEI2MkIxRTM0
NTMwMEIzRUZBQiAvKiBDU1NWaWV3VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNkFGQzQx
MkRGQzgzODQwMDY1RkExRCAvKiBDU1NXaWRlS2V5d29yZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQmxlbmRpbmdLZXlmcmFtZXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0JsZW5kaW5nS2V5ZnJhbWVzLmNwcAppbmRleCBlNWZk
YmZkZjA4MmUuLjI4YTg2MWY3OGY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0JsZW5kaW5nS2V5ZnJhbWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
QmxlbmRpbmdLZXlmcmFtZXMuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHZvaWQgQmxlbmRpbmdLZXlm
cmFtZXM6OmNsZWFyKCkKICAgICBtX3Byb3BlcnRpZXNTZXRUb0luaGVyaXQuY2xlYXIoKTsKICAg
ICBtX3Byb3BlcnRpZXNTZXRUb0N1cnJlbnRDb2xvci5jbGVhcigpOwogICAgIG1fdXNlc1JlbGF0
aXZlRm9udFdlaWdodCA9IGZhbHNlOwotICAgIG1fY29udGFpbnNTdWJzdGl0dXRpb25GdW5jdGlv
bnMgPSBmYWxzZTsKKyAgICBtX2NvbnRhaW5zQ1NTVmFyaWFibGVSZWZlcmVuY2VzID0gZmFsc2U7
CiAgICAgbV91c2VzQW5jaG9yRnVuY3Rpb25zID0gZmFsc2U7CiB9CiAKQEAgLTMxNCw4ICszMTQs
OCBAQCB2b2lkIEJsZW5kaW5nS2V5ZnJhbWVzOjp1cGRhdGVQcm9wZXJ0aWVzTWV0YWRhdGEoY29u
c3QgU3R5bGVQcm9wZXJ0aWVzJiBwcm9wZXJ0aQogICAgICAgICBpZiAoIWNzc1ZhbHVlKQogICAg
ICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgaWYgKCFtX2NvbnRhaW5zU3Vic3RpdHV0aW9u
RnVuY3Rpb25zICYmIGNzc1ZhbHVlLT5oYXNTdWJzdGl0dXRpb25GdW5jdGlvbnMoKSkKLSAgICAg
ICAgICAgIG1fY29udGFpbnNTdWJzdGl0dXRpb25GdW5jdGlvbnMgPSB0cnVlOworICAgICAgICBp
ZiAoIW1fY29udGFpbnNDU1NWYXJpYWJsZVJlZmVyZW5jZXMgJiYgY3NzVmFsdWUtPmhhc1Zhcmlh
YmxlUmVmZXJlbmNlcygpKQorICAgICAgICAgICAgbV9jb250YWluc0NTU1ZhcmlhYmxlUmVmZXJl
bmNlcyA9IHRydWU7CiAKICAgICAgICAgaWYgKFJlZlB0ciBwcmltaXRpdmVWYWx1ZSA9IGR5bmFt
aWNEb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oY3NzVmFsdWUpKSB7CiAgICAgICAgICAgICBh
dXRvIHByb3BlcnR5SUQgPSBwcm9wZXJ0eVJlZmVyZW5jZS5pZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0JsZW5kaW5nS2V5ZnJhbWVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQmxlbmRpbmdLZXlmcmFtZXMuaAppbmRleCBkMjM0ODY3ZmZlODUuLjkxYWUx
YTNlMWU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0JsZW5kaW5nS2V5
ZnJhbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0JsZW5kaW5nS2V5ZnJhbWVz
LmgKQEAgLTE1MCw3ICsxNTAsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIE5PREVMRVRFIHVzZXND
b250YWluZXJVbml0cygpIGNvbnN0OwogICAgIGJvb2wgdXNlc1JlbGF0aXZlRm9udFdlaWdodCgp
IGNvbnN0IHsgcmV0dXJuIG1fdXNlc1JlbGF0aXZlRm9udFdlaWdodDsgfQotICAgIGJvb2wgaGFz
U3Vic3RpdHV0aW9uRnVuY3Rpb25zKCkgY29uc3QgeyByZXR1cm4gbV9jb250YWluc1N1YnN0aXR1
dGlvbkZ1bmN0aW9uczsgfQorICAgIGJvb2wgaGFzQ1NTVmFyaWFibGVSZWZlcmVuY2VzKCkgY29u
c3QgeyByZXR1cm4gbV9jb250YWluc0NTU1ZhcmlhYmxlUmVmZXJlbmNlczsgfQogICAgIGJvb2wg
aGFzQ29sb3JTZXRUb0N1cnJlbnRDb2xvcigpIGNvbnN0OwogICAgIGJvb2wgTk9ERUxFVEUgaGFz
UHJvcGVydHlTZXRUb0N1cnJlbnRDb2xvcigpIGNvbnN0OwogICAgIGNvbnN0IEhhc2hTZXQ8QW5p
bWF0YWJsZUNTU1Byb3BlcnR5PiYgTk9ERUxFVEUgcHJvcGVydGllc1NldFRvSW5oZXJpdCgpIGNv
bnN0IExJRkVUSU1FX0JPVU5EOwpAQCAtMTgyLDcgKzE4Miw3IEBAIHByaXZhdGU6CiAgICAgSGFz
aFNldDxBbmltYXRhYmxlQ1NTUHJvcGVydHk+IG1fcHJvcGVydGllc1NldFRvSW5oZXJpdDsKICAg
ICBIYXNoU2V0PEFuaW1hdGFibGVDU1NQcm9wZXJ0eT4gbV9wcm9wZXJ0aWVzU2V0VG9DdXJyZW50
Q29sb3I7CiAgICAgYm9vbCBtX3VzZXNSZWxhdGl2ZUZvbnRXZWlnaHQgeyBmYWxzZSB9OwotICAg
IGJvb2wgbV9jb250YWluc1N1YnN0aXR1dGlvbkZ1bmN0aW9ucyB7IGZhbHNlIH07CisgICAgYm9v
bCBtX2NvbnRhaW5zQ1NTVmFyaWFibGVSZWZlcmVuY2VzIHsgZmFsc2UgfTsKICAgICBib29sIG1f
dXNlc0FuY2hvckZ1bmN0aW9ucyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1dpZHRoRGVwZW5k
ZW50VHJhbnNmb3JtIHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzSGVpZ2h0RGVwZW5kZW50VHJh
bnNmb3JtIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9L
ZXlmcmFtZUVmZmVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZl
Y3QuY3BwCmluZGV4IDk0Mjc4OWViOWZjYi4uNmM2NjljZGIzOTVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKQEAgLTEwMTcsMTMgKzEwMTcsMTMgQEAg
YXV0byBLZXlmcmFtZUVmZmVjdDo6Z2V0S2V5ZnJhbWVzKCkgLT4gVmVjdG9yPENvbXB1dGVkS2V5
ZnJhbWU+CiAgICAgICAgICAgICBTdHJpbmcgc3R5bGVTdHJpbmcgPSBlbXB0eVN0cmluZygpOwog
ICAgICAgICAgICAgaWYgKGtleWZyYW1lUnVsZSkgewogICAgICAgICAgICAgICAgIGlmIChhdXRv
IGNzc1ZhbHVlID0ga2V5ZnJhbWVSdWxlLT5wcm9wZXJ0aWVzKCkuZ2V0UHJvcGVydHlDU1NWYWx1
ZShjc3NQcm9wZXJ0eUlkKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIWNzc1ZhbHVlLT5o
YXNTdWJzdGl0dXRpb25GdW5jdGlvbnMoKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFjc3NW
YWx1ZS0+aGFzVmFyaWFibGVSZWZlcmVuY2VzKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBz
dHlsZVN0cmluZyA9IGtleWZyYW1lUnVsZS0+cHJvcGVydGllcygpLmdldFByb3BlcnR5VmFsdWUo
Y3NzUHJvcGVydHlJZCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgaWYgKHN0eWxlU3RyaW5nLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgICAgIGlmIChh
dXRvIGNzc1ZhbHVlID0gc3R5bGVQcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKGNzc1By
b3BlcnR5SWQpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghY3NzVmFsdWUtPmhhc1N1YnN0
aXR1dGlvbkZ1bmN0aW9ucygpKQorICAgICAgICAgICAgICAgICAgICBpZiAoIWNzc1ZhbHVlLT5o
YXNWYXJpYWJsZVJlZmVyZW5jZXMoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlU3Ry
aW5nID0gc3R5bGVQcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eVZhbHVlKGNzc1Byb3BlcnR5SWQpOwog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTEwMzYsMTMgKzEwMzYsMTMgQEAg
YXV0byBLZXlmcmFtZUVmZmVjdDo6Z2V0S2V5ZnJhbWVzKCkgLT4gVmVjdG9yPENvbXB1dGVkS2V5
ZnJhbWU+CiAgICAgICAgICAgICBTdHJpbmcgc3R5bGVTdHJpbmcgPSBlbXB0eVN0cmluZygpOwog
ICAgICAgICAgICAgaWYgKGtleWZyYW1lUnVsZSkgewogICAgICAgICAgICAgICAgIGlmIChhdXRv
IGNzc1ZhbHVlID0ga2V5ZnJhbWVSdWxlLT5wcm9wZXJ0aWVzKCkuZ2V0Q3VzdG9tUHJvcGVydHlD
U1NWYWx1ZShjdXN0b21Qcm9wZXJ0eSkpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFjc3NW
YWx1ZS0+aGFzU3Vic3RpdHV0aW9uRnVuY3Rpb25zKCkpCisgICAgICAgICAgICAgICAgICAgIGlm
ICghY3NzVmFsdWUtPmhhc1ZhcmlhYmxlUmVmZXJlbmNlcygpKQogICAgICAgICAgICAgICAgICAg
ICAgICAgc3R5bGVTdHJpbmcgPSBrZXlmcmFtZVJ1bGUtPnByb3BlcnRpZXMoKS5nZXRDdXN0b21Q
cm9wZXJ0eVZhbHVlKGN1c3RvbVByb3BlcnR5KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBpZiAoc3R5bGVTdHJpbmcuaXNFbXB0eSgpKSB7CiAgICAgICAg
ICAgICAgICAgaWYgKGF1dG8gY3NzVmFsdWUgPSBzdHlsZVByb3BlcnRpZXMtPmdldEN1c3RvbVBy
b3BlcnR5Q1NTVmFsdWUoY3VzdG9tUHJvcGVydHkpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICghY3NzVmFsdWUtPmhhc1N1YnN0aXR1dGlvbkZ1bmN0aW9ucygpKQorICAgICAgICAgICAgICAg
ICAgICBpZiAoIWNzc1ZhbHVlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZXMoKSkKICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0eWxlU3RyaW5nID0gc3R5bGVQcm9wZXJ0aWVzLT5nZXRDdXN0b21Qcm9w
ZXJ0eVZhbHVlKGN1c3RvbVByb3BlcnR5KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9CkBAIC0yMTg4LDcgKzIxODgsNyBAQCBzdGQ6Om9wdGlvbmFsPEtleWZyYW1lRWZmZWN0OjpS
ZWNvbXB1dGF0aW9uUmVhc29uPiBLZXlmcmFtZUVmZmVjdDo6cmVjb21wdXRlS2V5ZgogICAgIH07
CiAKICAgICBhdXRvIGNzc1ZhcmlhYmxlQ2hhbmdlZCA9IFsmXSgpIHsKLSAgICAgICAgaWYgKHBy
ZXZpb3VzVW5hbmltYXRlZFN0eWxlICYmIG1fYmxlbmRpbmdLZXlmcmFtZXMuaGFzU3Vic3RpdHV0
aW9uRnVuY3Rpb25zKCkpIHsKKyAgICAgICAgaWYgKHByZXZpb3VzVW5hbmltYXRlZFN0eWxlICYm
IG1fYmxlbmRpbmdLZXlmcmFtZXMuaGFzQ1NTVmFyaWFibGVSZWZlcmVuY2VzKCkpIHsKICAgICAg
ICAgICAgIGlmICghcHJldmlvdXNVbmFuaW1hdGVkU3R5bGUtPmN1c3RvbVByb3BlcnRpZXNFcXVh
bCh1bmFuaW1hdGVkU3R5bGUpKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5jcHAKaW5k
ZXggOTg0Yzk0NDQ5MzBiLi5kNmJiMWRjNTUwN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5jcHAKQEAgLTM4LDkgKzM4LDkgQEAgUmVmPENTU0N1c3Rv
bVByb3BlcnR5VmFsdWU+IENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0ZUVtcHR5KGNvbnN0
IEF0b21TdHJpbmcKICAgICByZXR1cm4gY3JlYXRlU3ludGF4QWxsKG5hbWUsIFJlZiB7IGVtcHR5
LmdldCgpIH0pOwogfQogCi1SZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gQ1NTQ3VzdG9tUHJv
cGVydHlWYWx1ZTo6Y3JlYXRlVW5yZXNvbHZlZChjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBSZWY8
Q1NTU3Vic3RpdHV0aW9uVmFsdWU+JiYgdmFsdWUpCitSZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZT4gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlVW5yZXNvbHZlZChjb25zdCBBdG9tU3Ry
aW5nJiBuYW1lLCBSZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4mJiB2YWx1ZSkKIHsKLSAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlKG5hbWUsIFZhcmlh
bnRWYWx1ZSB7IFdURjo6SW5QbGFjZVR5cGU8UmVmPENTU1N1YnN0aXR1dGlvblZhbHVlPj4sIFdU
Rjo6bW92ZSh2YWx1ZSkgfSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU0N1c3RvbVBy
b3BlcnR5VmFsdWUobmFtZSwgVmFyaWFudFZhbHVlIHsgV1RGOjpJblBsYWNlVHlwZTxSZWY8Q1NT
VmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4+LCBXVEY6Om1vdmUodmFsdWUpIH0pKTsKIH0KIAogUmVm
PENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmNyZWF0ZVN5
bnRheEFsbChjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBSZWY8Q1NTVmFyaWFibGVEYXRhPiYmIHZh
bHVlKQpAQCAtNTUsNyArNTUsNyBAQCBSZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gQ1NTQ3Vz
dG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlV2l0aENTU1dpZGVLZXl3b3JkKGNvbgogCiBib29sIENT
U0N1c3RvbVByb3BlcnR5VmFsdWU6OmlzVmFyaWFibGVSZWZlcmVuY2UoKSBjb25zdAogewotICAg
IHJldHVybiBzdGQ6OmhvbGRzX2FsdGVybmF0aXZlPFJlZjxDU1NTdWJzdGl0dXRpb25WYWx1ZT4+
KG1fdmFsdWUpOworICAgIHJldHVybiBzdGQ6OmhvbGRzX2FsdGVybmF0aXZlPFJlZjxDU1NWYXJp
YWJsZVJlZmVyZW5jZVZhbHVlPj4obV92YWx1ZSk7CiB9CiAKIGJvb2wgQ1NTQ3VzdG9tUHJvcGVy
dHlWYWx1ZTo6aXNWYXJpYWJsZURhdGEoKSBjb25zdApAQCAtODEsOCArODEsOCBAQCBib29sIENT
U0N1c3RvbVByb3BlcnR5VmFsdWU6OmVxdWFscyhjb25zdCBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVl
JiBvdGhlcikgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIFdURjo6
c3dpdGNoT24obV92YWx1ZSwKLSAgICAgICAgWyZdKGNvbnN0IFJlZjxDU1NTdWJzdGl0dXRpb25W
YWx1ZT4mIHZhbHVlKSB7Ci0gICAgICAgICAgICByZXR1cm4gYXJlUG9pbnRpbmdUb0VxdWFsRGF0
YSh2YWx1ZSwgc3RkOjpnZXQ8UmVmPENTU1N1YnN0aXR1dGlvblZhbHVlPj4ob3RoZXIubV92YWx1
ZSkpOworICAgICAgICBbJl0oY29uc3QgUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+JiB2
YWx1ZSkgeworICAgICAgICAgICAgcmV0dXJuIGFyZVBvaW50aW5nVG9FcXVhbERhdGEodmFsdWUs
IHN0ZDo6Z2V0PFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPj4ob3RoZXIubV92YWx1ZSkp
OwogICAgICAgICB9LAogICAgICAgICBbJl0oY29uc3QgUmVmPENTU1ZhcmlhYmxlRGF0YT4mIHZh
bHVlKSB7CiAgICAgICAgICAgICByZXR1cm4gYXJlUG9pbnRpbmdUb0VxdWFsRGF0YSh2YWx1ZSwg
c3RkOjpnZXQ8UmVmPENTU1ZhcmlhYmxlRGF0YT4+KG90aGVyLm1fdmFsdWUpKTsKQEAgLTk3LDcg
Kzk3LDcgQEAgU3RyaW5nIENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmN1c3RvbUNTU1RleHQoY29u
c3QgQ1NTOjpTZXJpYWxpemF0aW9uQ29udGV4dCYgY28KIHsKICAgICBhdXRvIHNlcmlhbGl6ZSA9
IFsmXSB7CiAgICAgICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKG1fdmFsdWUsCi0gICAgICAgICAg
ICBbJl0oY29uc3QgUmVmPENTU1N1YnN0aXR1dGlvblZhbHVlPiYgdmFsdWUpIHsKKyAgICAgICAg
ICAgIFsmXShjb25zdCBSZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4mIHZhbHVlKSB7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLT5jc3NUZXh0KGNvbnRleHQpOwogICAgICAgICAg
ICAgfSwKICAgICAgICAgICAgIFsmXShjb25zdCBSZWY8Q1NTVmFyaWFibGVEYXRhPiYgdmFsdWUp
IHsKQEAgLTEyMCw3ICsxMjAsNyBAQCBjb25zdCBWZWN0b3I8Q1NTUGFyc2VyVG9rZW4+JiBDU1ND
dXN0b21Qcm9wZXJ0eVZhbHVlOjp0b2tlbnMoKSBjb25zdAogICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxWZWN0b3I8Q1NTUGFyc2VyVG9rZW4+PiBlbXB0eVRva2VuczsKIAogICAgIHJldHVybiBX
VEY6OnN3aXRjaE9uKG1fdmFsdWUsCi0gICAgICAgIFsmXShjb25zdCBSZWY8Q1NTU3Vic3RpdHV0
aW9uVmFsdWU+JikgLT4gY29uc3QgVmVjdG9yPENTU1BhcnNlclRva2VuPiYgeworICAgICAgICBb
Jl0oY29uc3QgUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+JikgLT4gY29uc3QgVmVjdG9y
PENTU1BhcnNlclRva2VuPiYgewogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgICAgICByZXR1cm4gZW1wdHlUb2tlbnM7CiAgICAgICAgIH0sCkBAIC0xMzcsNyArMTM3
LDcgQEAgY29uc3QgVmVjdG9yPENTU1BhcnNlclRva2VuPiYgQ1NTQ3VzdG9tUHJvcGVydHlWYWx1
ZTo6dG9rZW5zKCkgY29uc3QKIFJlZjxjb25zdCBDU1NWYXJpYWJsZURhdGE+IENTU0N1c3RvbVBy
b3BlcnR5VmFsdWU6OmFzVmFyaWFibGVEYXRhKCkgY29uc3QKIHsKICAgICByZXR1cm4gV1RGOjpz
d2l0Y2hPbihtX3ZhbHVlLAotICAgICAgICBbJl0oY29uc3QgUmVmPENTU1N1YnN0aXR1dGlvblZh
bHVlPiYgdmFsdWUpIC0+IFJlZjxjb25zdCBDU1NWYXJpYWJsZURhdGE+IHsKKyAgICAgICAgWyZd
KGNvbnN0IFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiYgdmFsdWUpIC0+IFJlZjxjb25z
dCBDU1NWYXJpYWJsZURhdGE+IHsKICAgICAgICAgICAgIHJldHVybiB2YWx1ZS0+ZGF0YSgpOwog
ICAgICAgICB9LAogICAgICAgICBbJl0oY29uc3QgUmVmPENTU1ZhcmlhYmxlRGF0YT4mIHZhbHVl
KSAtPiBSZWY8Y29uc3QgQ1NTVmFyaWFibGVEYXRhPiB7CkBAIC0xNTMsOCArMTUzLDggQEAgYm9v
bCBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlOjppc0N1cnJlbnRDb2xvcigpIGNvbnN0CiB7CiAgICAg
Ly8gRklYTUU6IFJlZ2lzdGVyZWQgcHJvcGVydGllcz8KICAgICBhdXRvIHRva2VuUmFuZ2UgPSBz
d2l0Y2hPbihtX3ZhbHVlLAotICAgICAgICBbJl0oY29uc3QgUmVmPENTU1N1YnN0aXR1dGlvblZh
bHVlPiYgc3Vic3RpdHV0aW9uVmFsdWUpIHsKLSAgICAgICAgICAgIHJldHVybiBzdWJzdGl0dXRp
b25WYWx1ZS0+ZGF0YSgpLnRva2VuUmFuZ2UoKTsKKyAgICAgICAgWyZdKGNvbnN0IFJlZjxDU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlPiYgdmFyaWFibGVSZWZlcmVuY2VWYWx1ZSkgeworICAgICAg
ICAgICAgcmV0dXJuIHZhcmlhYmxlUmVmZXJlbmNlVmFsdWUtPmRhdGEoKS50b2tlblJhbmdlKCk7
CiAgICAgICAgIH0sCiAgICAgICAgIFsmXShjb25zdCBSZWY8Q1NTVmFyaWFibGVEYXRhPiYgZGF0
YSkgewogICAgICAgICAgICAgcmV0dXJuIGRhdGEtPnRva2VuUmFuZ2UoKTsKQEAgLTE3Nyw3ICsx
NzcsNyBAQCBib29sIENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmlzQ3VycmVudENvbG9yKCkgY29u
c3QKIAogSXRlcmF0aW9uU3RhdHVzIENTU0N1c3RvbVByb3BlcnR5VmFsdWU6OmN1c3RvbVZpc2l0
Q2hpbGRyZW4oTk9FU0NBUEUgY29uc3QgRnVuY3Rpb248SXRlcmF0aW9uU3RhdHVzKENTU1ZhbHVl
Jik+JiBmdW5jKSBjb25zdAogewotICAgIGlmIChhdXRvKiB2YWx1ZSA9IHN0ZDo6Z2V0X2lmPFJl
ZjxDU1NTdWJzdGl0dXRpb25WYWx1ZT4+KCZtX3ZhbHVlKSkgeworICAgIGlmIChhdXRvKiB2YWx1
ZSA9IHN0ZDo6Z2V0X2lmPFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPj4oJm1fdmFsdWUp
KSB7CiAgICAgICAgIGlmIChmdW5jKCp2YWx1ZSkgPT0gSXRlcmF0aW9uU3RhdHVzOjpEb25lKQog
ICAgICAgICAgICAgcmV0dXJuIEl0ZXJhdGlvblN0YXR1czo6RG9uZTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZS5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0N1c3RvbVByb3BlcnR5VmFsdWUuaAppbmRleCA0ZGMzMzc4ZDI1ODcu
LjU2YTU2ODk2OGIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1c3RvbVBy
b3BlcnR5VmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3VzdG9tUHJvcGVydHlW
YWx1ZS5oCkBAIC0yNiw5ICsyNiw5IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSA8V2Vi
Q29yZS9DU1NTdWJzdGl0dXRpb25WYWx1ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ1NTVmFsdWUu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0NTU1ZhcmlhYmxlRGF0YS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ1NTV2lk
ZUtleXdvcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzgsMTMgKzM4LDEzIEBAIGNs
YXNzIENTU1BhcnNlclRva2VuOwogY2xhc3MgQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZSBmaW5hbCA6
IHB1YmxpYyBDU1NWYWx1ZSB7CiBwdWJsaWM6CiAgICAgdXNpbmcgVmFyaWFudFZhbHVlID0gVmFy
aWFudDwKLSAgICAgICAgUmVmPENTU1N1YnN0aXR1dGlvblZhbHVlPiwKKyAgICAgICAgUmVmPENT
U1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+LAogICAgICAgICBSZWY8Q1NTVmFyaWFibGVEYXRhPiwK
ICAgICAgICAgQ1NTV2lkZUtleXdvcmQKICAgICA+OwogCiAgICAgc3RhdGljIFJlZjxDU1NDdXN0
b21Qcm9wZXJ0eVZhbHVlPiBjcmVhdGVFbXB0eShjb25zdCBBdG9tU3RyaW5nJiBuYW1lKTsKLSAg
ICBzdGF0aWMgUmVmPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IGNyZWF0ZVVucmVzb2x2ZWQoY29u
c3QgQXRvbVN0cmluZyYgbmFtZSwgUmVmPENTU1N1YnN0aXR1dGlvblZhbHVlPiYmKTsKKyAgICBz
dGF0aWMgUmVmPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IGNyZWF0ZVVucmVzb2x2ZWQoY29uc3Qg
QXRvbVN0cmluZyYgbmFtZSwgUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+JiYpOwogICAg
IHN0YXRpYyBSZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gY3JlYXRlU3ludGF4QWxsKGNvbnN0
IEF0b21TdHJpbmcmIG5hbWUsIFJlZjxDU1NWYXJpYWJsZURhdGE+JiYpOwogICAgIHN0YXRpYyBS
ZWY8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4gY3JlYXRlV2l0aENTU1dpZGVLZXl3b3JkKGNvbnN0
IEF0b21TdHJpbmcmIG5hbWUsIENTU1dpZGVLZXl3b3JkKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuY3BwCnNpbWlsYXJpdHkgaW5k
ZXggNzUlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTaG9ydGhhbmRTdWJzdGl0
dXRpb25WYWx1ZS5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vi
c3RpdHV0aW9uVmFsdWUuY3BwCmluZGV4IDcwMmZlZDk3NzZjYi4uNmQ1YmJmMjM1MGVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2hvcnRoYW5kU3Vic3RpdHV0aW9uVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUu
Y3BwCkBAIC0yNCwxNyArMjQsMTcgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiQ1NTU2hvcnRoYW5kU3Vic3RpdHV0aW9uVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NQZW5k
aW5nU3Vic3RpdHV0aW9uVmFsdWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWY8Q1NT
U2hvcnRoYW5kU3Vic3RpdHV0aW9uVmFsdWU+IENTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVl
OjpjcmVhdGUoQ1NTUHJvcGVydHlJRCBzaG9ydGhhbmRQcm9wZXJ0eUlkLCBSZWY8Q1NTU3Vic3Rp
dHV0aW9uVmFsdWU+JiYgc2hvcnRoYW5kVmFsdWUpCitSZWY8Q1NTUGVuZGluZ1N1YnN0aXR1dGlv
blZhbHVlPiBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU6OmNyZWF0ZShDU1NQcm9wZXJ0eUlE
IHNob3J0aGFuZFByb3BlcnR5SWQsIFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiYmIHNo
b3J0aGFuZFZhbHVlKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1Nob3J0aGFuZFN1
YnN0aXR1dGlvblZhbHVlKHNob3J0aGFuZFByb3BlcnR5SWQsIFdURjo6bW92ZShzaG9ydGhhbmRW
YWx1ZSkpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NQZW5kaW5nU3Vic3RpdHV0aW9u
VmFsdWUoc2hvcnRoYW5kUHJvcGVydHlJZCwgV1RGOjptb3ZlKHNob3J0aGFuZFZhbHVlKSkpOwog
fQogCi1DU1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZTo6Q1NTU2hvcnRoYW5kU3Vic3RpdHV0
aW9uVmFsdWUoQ1NTUHJvcGVydHlJRCBzaG9ydGhhbmRQcm9wZXJ0eUlkLCBSZWY8Q1NTU3Vic3Rp
dHV0aW9uVmFsdWU+JiYgc2hvcnRoYW5kVmFsdWUpCi0gICAgOiBDU1NWYWx1ZShDbGFzc1R5cGU6
OlNob3J0aGFuZFN1YnN0aXR1dGlvbikKK0NTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZTo6Q1NT
UGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlKENTU1Byb3BlcnR5SUQgc2hvcnRoYW5kUHJvcGVydHlJ
ZCwgUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+JiYgc2hvcnRoYW5kVmFsdWUpCisgICAg
OiBDU1NWYWx1ZShDbGFzc1R5cGU6OlBlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSkKICAgICAsIG1f
c2hvcnRoYW5kUHJvcGVydHlJZChzaG9ydGhhbmRQcm9wZXJ0eUlkKQogICAgICwgbV9zaG9ydGhh
bmRWYWx1ZShXVEY6Om1vdmUoc2hvcnRoYW5kVmFsdWUpKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlLmgKc2ltaWxhcml0eSBpbmRleCA3
MCUKcmVuYW1lIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL0NTU1Nob3J0aGFuZFN1YnN0aXR1dGlv
blZhbHVlLmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQZW5kaW5nU3Vic3RpdHV0
aW9uVmFsdWUuaAppbmRleCBkZWU4MjA1NDc2YjIuLjNkNmE3ZDQzNTEwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5oCkBAIC0yOSwy
NSArMjksMjEgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJDU1NTdWJzdGl0dXRpb25W
YWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTVmFyaWFibGVSZWZl
cmVuY2VWYWx1ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTU1Byb3BlcnR5
OwogCi0vLyBMb25naGFuZCBwbGFjZWhvbGRlciBmb3IgYSBzaG9ydGhhbmQgdmFsdWUgY29udGFp
bmluZyBzdWJzdGl0dXRpb24gZnVuY3Rpb25zLgotLy8gRWFjaCBsb25naGFuZCBvZiB0aGUgc2hv
cnRoYW5kIGdldHMgb25lIG9mIHRoZXNlOyB0aGV5IHNoYXJlIHRoZSBDU1NTdWJzdGl0dXRpb25W
YWx1ZS4KLS8vIER1cmluZyBzdHlsZSByZXNvbHV0aW9uLCB0aGUgc2hhcmVkIHZhbHVlIGlzIHJl
c29sdmVkIGFuZCBwYXJzZWQgYXMgdGhlIHNob3J0aGFuZAotLy8gdG8gZXh0cmFjdCBpbmRpdmlk
dWFsIGxvbmdoYW5kIHZhbHVlcy4KLWNsYXNzIENTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVl
IGZpbmFsIDogcHVibGljIENTU1ZhbHVlIHsKK2NsYXNzIENTU1BlbmRpbmdTdWJzdGl0dXRpb25W
YWx1ZSBmaW5hbCA6IHB1YmxpYyBDU1NWYWx1ZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxD
U1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZT4gY3JlYXRlKENTU1Byb3BlcnR5SUQgc2hvcnRo
YW5kUHJvcGVydHlJZCwgUmVmPENTU1N1YnN0aXR1dGlvblZhbHVlPiYmKTsKKyAgICBzdGF0aWMg
UmVmPENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZT4gY3JlYXRlKENTU1Byb3BlcnR5SUQgc2hv
cnRoYW5kUHJvcGVydHlJZCwgUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+JiYpOwogCi0g
ICAgQ1NTU3Vic3RpdHV0aW9uVmFsdWUmIHNob3J0aGFuZFZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9zaG9ydGhhbmRWYWx1ZTsgfQorICAgIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUmIHNob3J0
aGFuZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9zaG9ydGhhbmRWYWx1ZTsgfQogICAgIENTU1By
b3BlcnR5SUQgc2hvcnRoYW5kUHJvcGVydHlJZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvcnRoYW5k
UHJvcGVydHlJZDsgfQogCi0gICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTU2hvcnRoYW5kU3Vic3Rp
dHV0aW9uVmFsdWUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX3Nob3J0aGFuZFZhbHVlLnB0cigp
ID09IG90aGVyLm1fc2hvcnRoYW5kVmFsdWUucHRyKCk7IH0KKyAgICBib29sIGVxdWFscyhjb25z
dCBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUmIG90aGVyKSBjb25zdCB7IHJldHVybiBtX3No
b3J0aGFuZFZhbHVlLnB0cigpID09IG90aGVyLm1fc2hvcnRoYW5kVmFsdWUucHRyKCk7IH0KICAg
ICBzdGF0aWMgU3RyaW5nIGN1c3RvbUNTU1RleHQoY29uc3QgQ1NTOjpTZXJpYWxpemF0aW9uQ29u
dGV4dCYpIHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KIAogICAgIEl0ZXJhdGlvblN0YXR1cyBj
dXN0b21WaXNpdENoaWxkcmVuKE5PRVNDQVBFIGNvbnN0IEZ1bmN0aW9uPEl0ZXJhdGlvblN0YXR1
cyhDU1NWYWx1ZSYpPiYgZnVuYykgY29uc3QKQEAgLTYwLDE0ICs1NiwxNCBAQCBwdWJsaWM6CiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBTdHlsZTo6U3Vic3RpdHV0aW9uUmVzb2x2ZXI7CiAK
LSAgICBDU1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZShDU1NQcm9wZXJ0eUlEIHNob3J0aGFu
ZFByb3BlcnR5SWQsIFJlZjxDU1NTdWJzdGl0dXRpb25WYWx1ZT4mJik7CisgICAgQ1NTUGVuZGlu
Z1N1YnN0aXR1dGlvblZhbHVlKENTU1Byb3BlcnR5SUQgc2hvcnRoYW5kUHJvcGVydHlJZCwgUmVm
PENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+JiYpOwogCiAgICAgY29uc3QgQ1NTUHJvcGVydHlJ
RCBtX3Nob3J0aGFuZFByb3BlcnR5SWQ7Ci0gICAgY29uc3QgUmVmPENTU1N1YnN0aXR1dGlvblZh
bHVlPiBtX3Nob3J0aGFuZFZhbHVlOworICAgIGNvbnN0IFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5j
ZVZhbHVlPiBtX3Nob3J0aGFuZFZhbHVlOwogCiAgICAgbXV0YWJsZSBWZWN0b3I8Q1NTUHJvcGVy
dHk+IG1fY2FjaGVkUHJvcGVydHlWYWx1ZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU1Nob3J0aGFuZFN1YnN0aXR1
dGlvblZhbHVlLCBpc1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVlKCkpCitTUEVDSUFMSVpFX1RZ
UEVfVFJBSVRTX0NTU19WQUxVRShDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUsIGlzUGVuZGlu
Z1N1YnN0aXR1dGlvblZhbHVlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCBjMWY1OWE4
NjIwOGYuLmM5Mjk4MzNiYWExYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC02Nyw2ICs2
Nyw3IEBACiAjaW5jbHVkZSAiQ1NTT2Zmc2V0Um90YXRlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQ
YWludEltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXRoVmFsdWUuaCIKKyNpbmNsdWRlICJD
U1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQb3NpdGlvblZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0
eS5oIgpAQCAtNzcsOSArNzgsNyBAQAogI2luY2x1ZGUgIkNTU1JlZmxlY3RWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU1Njcm9sbFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTU2VyaWFsaXphdGlvbkNvbnRl
eHQuaCIKLSNpbmNsdWRlICJDU1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU1N1YmdyaWRWYWx1ZS5oIgotI2luY2x1ZGUgIkNTU1N1YnN0aXR1dGlvblZhbHVlLmgi
CiAjaW5jbHVkZSAiQ1NTVGV4dFNoYWRvd1Byb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NU
b0xlbmd0aENvbnZlcnNpb25EYXRhLmgiCiAjaW5jbHVkZSAiQ1NTVHJhbnNmb3JtTGlzdFZhbHVl
LmgiCkBAIC04Nyw2ICs4Niw3IEBACiAjaW5jbHVkZSAiQ1NTVW5pY29kZVJhbmdlVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKICNpbmNsdWRlICJDU1NWYWx1ZVBhaXIuaCIKKyNp
bmNsdWRlICJDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmlld1Zh
bHVlLmgiCiAjaW5jbHVkZSAiQ29tcHV0ZWRTdHlsZURlcGVuZGVuY2llcy5oIgogI2luY2x1ZGUg
IkRlcHJlY2F0ZWRDU1NPTVByaW1pdGl2ZVZhbHVlLmgiCkBAIC0xODcsOCArMTg3LDggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVmlzaXRvcj4gY29uc3RleHByIGRlY2x0eXBlKGF1dG8pIENTU1ZhbHVl
Ojp2aXNpdERlcml2ZWQoVmlzaXQKICAgICAgICAgcmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6Zm9y
d2FyZDxWaXNpdG9yPih2aXNpdG9yKSwgdW5jaGVja2VkRG93bmNhc3Q8Q1NTT2Zmc2V0Um90YXRl
VmFsdWU+KCp0aGlzKSk7CiAgICAgY2FzZSBQYXRoOgogICAgICAgICByZXR1cm4gc3RkOjppbnZv
a2Uoc3RkOjpmb3J3YXJkPFZpc2l0b3I+KHZpc2l0b3IpLCB1bmNoZWNrZWREb3duY2FzdDxDU1NQ
YXRoVmFsdWU+KCp0aGlzKSk7Ci0gICAgY2FzZSBTaG9ydGhhbmRTdWJzdGl0dXRpb246Ci0gICAg
ICAgIHJldHVybiBzdGQ6Omludm9rZShzdGQ6OmZvcndhcmQ8VmlzaXRvcj4odmlzaXRvciksIHVu
Y2hlY2tlZERvd25jYXN0PENTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVlPigqdGhpcykpOwor
ICAgIGNhc2UgUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlOgorICAgICAgICByZXR1cm4gc3RkOjpp
bnZva2Uoc3RkOjpmb3J3YXJkPFZpc2l0b3I+KHZpc2l0b3IpLCB1bmNoZWNrZWREb3duY2FzdDxD
U1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU+KCp0aGlzKSk7CiAgICAgY2FzZSBQb3NpdGlvbjoK
ICAgICAgICAgcmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6Zm9yd2FyZDxWaXNpdG9yPih2aXNpdG9y
KSwgdW5jaGVja2VkRG93bmNhc3Q8Q1NTUG9zaXRpb25WYWx1ZT4oKnRoaXMpKTsKICAgICBjYXNl
IFBvc2l0aW9uWDoKQEAgLTIyMyw4ICsyMjMsOCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBWaXNpdG9y
PiBjb25zdGV4cHIgZGVjbHR5cGUoYXV0bykgQ1NTVmFsdWU6OnZpc2l0RGVyaXZlZChWaXNpdAog
ICAgICAgICByZXR1cm4gc3RkOjppbnZva2Uoc3RkOjpmb3J3YXJkPFZpc2l0b3I+KHZpc2l0b3Ip
LCB1bmNoZWNrZWREb3duY2FzdDxDU1NWYWx1ZUxpc3Q+KCp0aGlzKSk7CiAgICAgY2FzZSBWYWx1
ZVBhaXI6CiAgICAgICAgIHJldHVybiBzdGQ6Omludm9rZShzdGQ6OmZvcndhcmQ8VmlzaXRvcj4o
dmlzaXRvciksIHVuY2hlY2tlZERvd25jYXN0PENTU1ZhbHVlUGFpcj4oKnRoaXMpKTsKLSAgICBj
YXNlIFN1YnN0aXR1dGlvbjoKLSAgICAgICAgcmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6Zm9yd2Fy
ZDxWaXNpdG9yPih2aXNpdG9yKSwgdW5jaGVja2VkRG93bmNhc3Q8Q1NTU3Vic3RpdHV0aW9uVmFs
dWU+KCp0aGlzKSk7CisgICAgY2FzZSBWYXJpYWJsZVJlZmVyZW5jZToKKyAgICAgICAgcmV0dXJu
IHN0ZDo6aW52b2tlKHN0ZDo6Zm9yd2FyZDxWaXNpdG9yPih2aXNpdG9yKSwgdW5jaGVja2VkRG93
bmNhc3Q8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4oKnRoaXMpKTsKICAgICBjYXNlIFZpZXc6
CiAgICAgICAgIHJldHVybiBzdGQ6Omludm9rZShzdGQ6OmZvcndhcmQ8VmlzaXRvcj4odmlzaXRv
ciksIHVuY2hlY2tlZERvd25jYXN0PENTU1ZpZXdWYWx1ZT4oKnRoaXMpKTsKICAgICBjYXNlIFBh
aW50SW1hZ2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCmluZGV4IDk1ZTc3ZDk5MjA0Mi4uMzlmOGNiNTZl
YzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtMTEwLDcgKzExMCw3IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzT2Zmc2V0Um90YXRlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9
PSBDbGFzc1R5cGU6Ok9mZnNldFJvdGF0ZTsgfQogICAgIGJvb2wgaXNQYWlyKCkgY29uc3QgeyBy
ZXR1cm4gbV9jbGFzc1R5cGUgPT0gQ2xhc3NUeXBlOjpWYWx1ZVBhaXI7IH0KICAgICBib29sIGlz
UGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IENsYXNzVHlwZTo6UGF0aDsgfQot
ICAgIGJvb2wgaXNTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID09IENsYXNzVHlwZTo6U2hvcnRoYW5kU3Vic3RpdHV0aW9uOyB9CisgICAgYm9v
bCBpc1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBl
ID09IENsYXNzVHlwZTo6UGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlOyB9CiAgICAgYm9vbCBpc1Bv
c2l0aW9uVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBDbGFzc1R5cGU6OlBv
c2l0aW9uOyB9CiAgICAgYm9vbCBpc1Bvc2l0aW9uWFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9j
bGFzc1R5cGUgPT0gQ2xhc3NUeXBlOjpQb3NpdGlvblg7IH0KICAgICBib29sIGlzUG9zaXRpb25Z
VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBDbGFzc1R5cGU6OlBvc2l0aW9u
WTsgfQpAQCAtMTI3LDExICsxMjcsMTEgQEAgcHVibGljOgogICAgIGJvb2wgaXNVUkwoKSBjb25z
dCB7IHJldHVybiBtX2NsYXNzVHlwZSA9PSBDbGFzc1R5cGU6OlVSTDsgfQogICAgIGJvb2wgaXNV
bmljb2RlUmFuZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IENsYXNzVHlw
ZTo6VW5pY29kZVJhbmdlOyB9CiAgICAgYm9vbCBpc1ZhbHVlTGlzdCgpIGNvbnN0IHsgcmV0dXJu
IG1fY2xhc3NUeXBlID09IENsYXNzVHlwZTo6VmFsdWVMaXN0OyB9Ci0gICAgYm9vbCBpc1N1YnN0
aXR1dGlvblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gQ2xhc3NUeXBlOjpT
dWJzdGl0dXRpb247IH0KKyAgICBib29sIGlzVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IENsYXNzVHlwZTo6VmFyaWFibGVSZWZlcmVuY2U7IH0K
ICAgICBib29sIGlzVmlld1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gQ2xh
c3NUeXBlOjpWaWV3OyB9CiAgICAgYm9vbCBpc1BhaW50SW1hZ2VWYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID09IENsYXNzVHlwZTo6UGFpbnRJbWFnZTsgfQogCi0gICAgYm9vbCBo
YXNTdWJzdGl0dXRpb25GdW5jdGlvbnMoKSBjb25zdCB7IHJldHVybiBpc1N1YnN0aXR1dGlvblZh
bHVlKCkgfHwgaXNTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZSgpOyB9CisgICAgYm9vbCBoYXNW
YXJpYWJsZVJlZmVyZW5jZXMoKSBjb25zdCB7IHJldHVybiBpc1ZhcmlhYmxlUmVmZXJlbmNlVmFs
dWUoKSB8fCBpc1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSgpOyB9CiAgICAgYm9vbCBpc0ltYWdl
R2VuZXJhdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2NsYXNzVHlwZSA+PSBDbGFzc1R5cGU6
OkNhbnZhcyAmJiBtX2NsYXNzVHlwZSA8PSBDbGFzc1R5cGU6OkdyYWRpZW50OyB9CiAgICAgYm9v
bCBpc0ltcGxpY2l0SW5pdGlhbFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9pc0ltcGxpY2l0SW5p
dGlhbFZhbHVlOyB9CiAgICAgYm9vbCBjb250YWluc1ZlY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID49IENsYXNzVHlwZTo6VmFsdWVMaXN0OyB9CkBAIC0yNDIsNyArMjQyLDcgQEAg
cHJvdGVjdGVkOgogICAgICAgICBHcmlkVGVtcGxhdGVBcmVhcywKICAgICAgICAgT2Zmc2V0Um90
YXRlLAogICAgICAgICBQYXRoLAotICAgICAgICBTaG9ydGhhbmRTdWJzdGl0dXRpb24sCisgICAg
ICAgIFBlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSwKICAgICAgICAgUG9zaXRpb24sCiAgICAgICAg
IFBvc2l0aW9uWCwKICAgICAgICAgUG9zaXRpb25ZLApAQCAtMjU2LDcgKzI1Niw3IEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgVVJMLAogICAgICAgICBVbmljb2RlUmFuZ2UsCiAgICAgICAgIFZhbHVl
UGFpciwKLSAgICAgICAgU3Vic3RpdHV0aW9uLAorICAgICAgICBWYXJpYWJsZVJlZmVyZW5jZSwK
ICAgICAgICAgVmlldywKIAogICAgICAgICAvLyBDbGFzc2VzIHRoYXQgY29udGFpbiB2ZWN0b3Jz
LCB3aGljaCBkZXJpdmUgZnJvbSBDU1NWYWx1ZUNvbnRhaW5pbmdWZWN0b3IuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3Vic3RpdHV0aW9uVmFsdWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCnNpbWlsYXJpdHkgaW5kZXgg
NzUlCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdWJzdGl0dXRpb25WYWx1ZS5j
cHAKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVl
LmNwcAppbmRleCA4ZTM5MGZlZGYwZjcuLjcyZWExMDUzNzk3MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N1YnN0aXR1dGlvblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKQEAgLTI4LDQ3ICsyOCw0NyBAQAog
Ly8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkNTU1N1YnN0
aXR1dGlvblZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oIgog
CiAjaW5jbHVkZSAiQ1NTVmFyaWFibGVEYXRhLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Q1NTU3Vic3RpdHV0aW9uVmFsdWU6OkNTU1N1YnN0aXR1dGlvblZhbHVlKFJlZjxDU1NWYXJpYWJs
ZURhdGE+JiYgZGF0YSkKLSAgICA6IENTU1ZhbHVlKENsYXNzVHlwZTo6U3Vic3RpdHV0aW9uKQor
Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZShSZWY8
Q1NTVmFyaWFibGVEYXRhPiYmIGRhdGEpCisgICAgOiBDU1NWYWx1ZShDbGFzc1R5cGU6OlZhcmlh
YmxlUmVmZXJlbmNlKQogICAgICwgbV9kYXRhKFdURjo6bW92ZShkYXRhKSkKIHsKICAgICBjYWNo
ZVNpbXBsZVJlZmVyZW5jZSgpOwogfQogCi1SZWY8Q1NTU3Vic3RpdHV0aW9uVmFsdWU+IENTU1N1
YnN0aXR1dGlvblZhbHVlOjpjcmVhdGUoY29uc3QgQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Us
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCitSZWY8Q1NTVmFyaWFibGVSZWZlcmVu
Y2VWYWx1ZT4gQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKGNvbnN0IENTU1BhcnNl
clRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQogewot
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IENTU1N1YnN0aXR1dGlvblZhbHVlKENTU1ZhcmlhYmxl
RGF0YTo6Y3JlYXRlKHJhbmdlLCBjb250ZXh0KSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUoQ1NTVmFyaWFibGVEYXRhOjpjcmVhdGUocmFuZ2Us
IGNvbnRleHQpKSk7CiB9CiAKLVJlZjxDU1NTdWJzdGl0dXRpb25WYWx1ZT4gQ1NTU3Vic3RpdHV0
aW9uVmFsdWU6OmNyZWF0ZShSZWY8Q1NTVmFyaWFibGVEYXRhPiYmIGRhdGEpCitSZWY8Q1NTVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZT4gQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3JlYXRlKFJl
ZjxDU1NWYXJpYWJsZURhdGE+JiYgZGF0YSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBD
U1NTdWJzdGl0dXRpb25WYWx1ZShXVEY6Om1vdmUoZGF0YSkpKTsKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlKFdURjo6bW92ZShkYXRhKSkpOwogfQog
Ci1ib29sIENTU1N1YnN0aXR1dGlvblZhbHVlOjplcXVhbHMoY29uc3QgQ1NTU3Vic3RpdHV0aW9u
VmFsdWUmIG90aGVyKSBjb25zdAorYm9vbCBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjplcXVh
bHMoY29uc3QgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSYgb3RoZXIpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIGFyZVBvaW50aW5nVG9FcXVhbERhdGEobV9kYXRhLCBvdGhlci5tX2RhdGEpOwogfQog
Ci1TdHJpbmcgQ1NTU3Vic3RpdHV0aW9uVmFsdWU6OmN1c3RvbUNTU1RleHQoY29uc3QgQ1NTOjpT
ZXJpYWxpemF0aW9uQ29udGV4dCYpIGNvbnN0CitTdHJpbmcgQ1NTVmFyaWFibGVSZWZlcmVuY2VW
YWx1ZTo6Y3VzdG9tQ1NTVGV4dChjb25zdCBDU1M6OlNlcmlhbGl6YXRpb25Db250ZXh0JikgY29u
c3QKIHsKICAgICBpZiAobV9zdHJpbmdWYWx1ZS5pc051bGwoKSkKICAgICAgICAgbV9zdHJpbmdW
YWx1ZSA9IG1fZGF0YS0+c2VyaWFsaXplKCk7CiAgICAgcmV0dXJuIG1fc3RyaW5nVmFsdWU7CiB9
CiAKLWNvbnN0IENTU1BhcnNlckNvbnRleHQmIENTU1N1YnN0aXR1dGlvblZhbHVlOjpjb250ZXh0
KCkgY29uc3QKK2NvbnN0IENTU1BhcnNlckNvbnRleHQmIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFs
dWU6OmNvbnRleHQoKSBjb25zdAogewogICAgIHJldHVybiBtX2RhdGEtPmNvbnRleHQoKTsKIH0K
IAotdm9pZCBDU1NTdWJzdGl0dXRpb25WYWx1ZTo6Y2FjaGVTaW1wbGVSZWZlcmVuY2UoKQordm9p
ZCBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjpjYWNoZVNpbXBsZVJlZmVyZW5jZSgpCiB7CiAg
ICAgQVNTRVJUKCFtX3NpbXBsZVJlZmVyZW5jZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdWJzdGl0dXRpb25WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
cmlhYmxlUmVmZXJlbmNlVmFsdWUuaApzaW1pbGFyaXR5IGluZGV4IDgxJQpyZW5hbWUgZnJvbSBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3Vic3RpdHV0aW9uVmFsdWUuaApyZW5hbWUgdG8gU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaAppbmRleCA0ODNlM2JhZTI0
YzMuLjBjNDE4MjE0MzllZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1YnN0
aXR1dGlvblZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJl
bmNlVmFsdWUuaApAQCAtNDUsMTUgKzQ1LDEyIEBAIG5hbWVzcGFjZSBTdHlsZSB7CiBjbGFzcyBT
dWJzdGl0dXRpb25SZXNvbHZlcjsKIH0KIAotLy8gQSBwcm9wZXJ0eSB2YWx1ZSBjb250YWluaW5n
IGFyYml0cmFyeSBzdWJzdGl0dXRpb24gZnVuY3Rpb25zICh2YXIoKSwgZW52KCksIGF0dHIoKSwg
ZXRjLikKLS8vIHRoYXQgbmVlZCB0byBiZSByZXNvbHZlZCBkdXJpbmcgc3R5bGUgcmVzb2x1dGlv
bi4KLS8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTUvI2FyYml0cmFyeS1z
dWJzdGl0dXRpb24KLWNsYXNzIENTU1N1YnN0aXR1dGlvblZhbHVlIGZpbmFsIDogcHVibGljIENT
U1ZhbHVlIHsKK2NsYXNzIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUgZmluYWwgOiBwdWJsaWMg
Q1NTVmFsdWUgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8Q1NTU3Vic3RpdHV0aW9uVmFsdWU+
IGNyZWF0ZShjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiwgY29uc3QgQ1NTUGFyc2VyQ29udGV4
dCYpOwotICAgIHN0YXRpYyBSZWY8Q1NTU3Vic3RpdHV0aW9uVmFsdWU+IGNyZWF0ZShSZWY8Q1NT
VmFyaWFibGVEYXRhPiYmKTsKKyAgICBzdGF0aWMgUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFs
dWU+IGNyZWF0ZShjb25zdCBDU1NQYXJzZXJUb2tlblJhbmdlJiwgY29uc3QgQ1NTUGFyc2VyQ29u
dGV4dCYpOworICAgIHN0YXRpYyBSZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4gY3JlYXRl
KFJlZjxDU1NWYXJpYWJsZURhdGE+JiYpOwogCi0gICAgYm9vbCBlcXVhbHMoY29uc3QgQ1NTU3Vi
c3RpdHV0aW9uVmFsdWUmKSBjb25zdDsKKyAgICBib29sIGVxdWFscyhjb25zdCBDU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlJikgY29uc3Q7CiAgICAgU3RyaW5nIGN1c3RvbUNTU1RleHQoY29uc3Qg
Q1NTOjpTZXJpYWxpemF0aW9uQ29udGV4dCYpIGNvbnN0OwogCiAgICAgY29uc3QgQ1NTUGFyc2Vy
Q29udGV4dCYgTk9ERUxFVEUgY29udGV4dCgpIGNvbnN0OwpAQCAtNjMsNyArNjAsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBTdHlsZTo6U3Vic3RpdHV0aW9uUmVzb2x2
ZXI7CiAKLSAgICBleHBsaWNpdCBDU1NTdWJzdGl0dXRpb25WYWx1ZShSZWY8Q1NTVmFyaWFibGVE
YXRhPiYmKTsKKyAgICBleHBsaWNpdCBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlKFJlZjxDU1NW
YXJpYWJsZURhdGE+JiYpOwogCiAgICAgdm9pZCBjYWNoZVNpbXBsZVJlZmVyZW5jZSgpOwogCkBA
IC04Nyw0ICs4NCw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19DU1NfVkFMVUUoQ1NTU3Vic3RpdHV0aW9uVmFsdWUsIGlzU3Vi
c3RpdHV0aW9uVmFsdWUoKSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1ZBTFVFKENTU1Zh
cmlhYmxlUmVmZXJlbmNlVmFsdWUsIGlzVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Nob3J0aGFuZFNlcmlhbGl6ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL1Nob3J0aGFuZFNlcmlhbGl6ZXIuY3BwCmluZGV4IGU0NTBmMTMxYmYzYS4u
MzY2MzQyYTgzYWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2hvcnRoYW5kU2Vy
aWFsaXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1Nob3J0aGFuZFNlcmlhbGl6ZXIu
Y3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ1NTR3JpZExpbmVOYW1lc1ZhbHVlLmgi
CiAjaW5jbHVkZSAiQ1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Bh
cnNlcklkaW9tcy5oIgorI2luY2x1ZGUgIkNTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZS5oIgog
I2luY2x1ZGUgIkNTU1Byb3BlcnR5SW5pdGlhbFZhbHVlcy5oIgogI2luY2x1ZGUgIkNTU1Byb3Bl
cnR5TmFtZXMuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eVBhcnNlci5oIgpAQCAtMzcsMTEgKzM4
LDEwIEBACiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJzZXJDb25zdW1lcitHcmlkLmgiCiAjaW5j
bHVkZSAiQ1NTUHJvcGVydHlQYXJzZXJDb25zdW1lcitJZGVudC5oIgogI2luY2x1ZGUgIkNTU1Nl
cmlhbGl6YXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSAiQ1NTU2hvcnRoYW5kU3Vic3RpdHV0aW9u
VmFsdWUuaCIKLSNpbmNsdWRlICJDU1NTdWJzdGl0dXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNT
U1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKICNpbmNsdWRlICJD
U1NWYWx1ZVBhaXIuaCIKKyNpbmNsdWRlICJDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgiCiAj
aW5jbHVkZSAiRm9udFNlbGVjdGlvblZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIlF1YWQuaCIK
ICNpbmNsdWRlICJTdHlsZUV4dHJhY3Rvci5oIgpAQCAtMjMwLDcgKzIzMCw3IEBAIGJvb2wgU2hv
cnRoYW5kU2VyaWFsaXplcjo6Y29tbW9uU2VyaWFsaXphdGlvbkNoZWNrcyhjb25zdCBTdHlsZVBy
b3BlcnRpZXMmIHByb3BlCiAgICAgc3RkOjpvcHRpb25hbDxDU1NWYWx1ZUlEPiBzcGVjaWFsS2V5
d29yZDsKICAgICBib29sIGFsbFNwZWNpYWxLZXl3b3JkcyA9IHRydWU7CiAgICAgc3RkOjpvcHRp
b25hbDxib29sPiBpbXBvcnRhbmNlOwotICAgIHN0ZDo6b3B0aW9uYWw8Q1NTU2hvcnRoYW5kU3Vi
c3RpdHV0aW9uVmFsdWUqPiBmaXJzdFZhbHVlRnJvbVNob3J0aGFuZDsKKyAgICBzdGQ6Om9wdGlv
bmFsPENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZSo+IGZpcnN0VmFsdWVGcm9tU2hvcnRoYW5k
OwogICAgIFN0cmluZyBjb21tb25WYWx1ZTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bGVuZ3RoKCk7ICsraSkgewogICAgICAgICBhdXRvIGxvbmdoYW5kID0gbG9uZ2hhbmRQcm9wZXJ0
eShpKTsKQEAgLTI2NCw3ICsyNjQsNyBAQCBib29sIFNob3J0aGFuZFNlcmlhbGl6ZXI6OmNvbW1v
blNlcmlhbGl6YXRpb25DaGVja3MoY29uc3QgU3R5bGVQcm9wZXJ0aWVzJiBwcm9wZQogICAgICAg
ICB9CiAKICAgICAgICAgLy8gRG9uJ3Qgc2VyaWFsaXplIGlmIGFueSBsb25naGFuZCB3YXMgc2V0
IHRvIGEgdmFyaWFibGUuCi0gICAgICAgIGlmIChpczxDU1NTdWJzdGl0dXRpb25WYWx1ZT4odmFs
dWUpKQorICAgICAgICBpZiAoaXM8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4odmFsdWUpKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICAgICAgLy8gRG9uJ3Qgc2VyaWFsaXplIGlm
IGFueSBsb25naGFuZCB3YXMgc2V0IHRvIC1pbnRlcm5hbC1hdXRvLWJhc2UoKS4KQEAgLTI3Miw3
ICsyNzIsNyBAQCBib29sIFNob3J0aGFuZFNlcmlhbGl6ZXI6OmNvbW1vblNlcmlhbGl6YXRpb25D
aGVja3MoY29uc3QgU3R5bGVQcm9wZXJ0aWVzJiBwcm9wZQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKICAgICAgICAgLy8gRG9uJ3Qgc2VyaWFsaXplIGlmIGFueSBsb25naGFuZCB3YXMgc2V0
IGJ5IGEgZGlmZmVyZW50IHNob3J0aGFuZC4KLSAgICAgICAgUmVmUHRyIHZhbHVlRnJvbVNob3J0
aGFuZCA9IGR5bmFtaWNEb3duY2FzdDxDU1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZT4odmFs
dWUpOworICAgICAgICBSZWZQdHIgdmFsdWVGcm9tU2hvcnRoYW5kID0gZHluYW1pY0Rvd25jYXN0
PENTU1BlbmRpbmdTdWJzdGl0dXRpb25WYWx1ZT4odmFsdWUpOwogICAgICAgICBpZiAodmFsdWVG
cm9tU2hvcnRoYW5kICYmIHZhbHVlRnJvbVNob3J0aGFuZC0+c2hvcnRoYW5kUHJvcGVydHlJZCgp
ICE9IG1fc2hvcnRoYW5kLmlkKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVQcm9wZXJ0aWVzLmNwcAppbmRleCA0MWFhYTA1Nzg5YzkuLjU3NTM1MmQ1
ZjJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKQEAgLTI1LDEzICsy
NSwxMyBAQAogCiAjaW5jbHVkZSAiQ1NTQ29sb3JWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1c3Rv
bVByb3BlcnR5VmFsdWUuaCIKKyNpbmNsdWRlICJDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
SW5pdGlhbFZhbHVlcy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRl
ICJDU1NQcm9wZXJ0eVBhcnNlckNvbnN1bWVyK0NvbG9yLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVy
dHlQYXJzZXJDb25zdW1lcitGb250LmgiCiAjaW5jbHVkZSAiQ1NTU2VyaWFsaXphdGlvbkNvbnRl
eHQuaCIKLSNpbmNsdWRlICJDU1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU1N0eWxlUHJvcGVydGllcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIK
ICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKQEAgLTI2NCw3ICsyNjQsNyBAQCBTdHJpbmdCdWls
ZGVyIFN0eWxlUHJvcGVydGllczo6YXNUZXh0SW50ZXJuYWwoY29uc3QgQ1NTOjpTZXJpYWxpemF0
aW9uQ29udGV4dCYgYwogICAgICAgICBBU1NFUlQoaXNMb25naGFuZChwcm9wZXJ0eUlEKSB8fCBw
cm9wZXJ0eUlEID09IENTU1Byb3BlcnR5Q3VzdG9tKTsKICAgICAgICAgVmVjdG9yPENTU1Byb3Bl
cnR5SUQsIG1heFNob3J0aGFuZHNGb3JMb25naGFuZD4gc2hvcnRoYW5kczsKIAotICAgICAgICBp
ZiAoUmVmUHRyIHN1YnN0aXR1dGlvblZhbHVlID0gZHluYW1pY0Rvd25jYXN0PENTU1Nob3J0aGFu
ZFN1YnN0aXR1dGlvblZhbHVlPihwcm9wZXJ0eS52YWx1ZSgpKSkKKyAgICAgICAgaWYgKFJlZlB0
ciBzdWJzdGl0dXRpb25WYWx1ZSA9IGR5bmFtaWNEb3duY2FzdDxDU1NQZW5kaW5nU3Vic3RpdHV0
aW9uVmFsdWU+KHByb3BlcnR5LnZhbHVlKCkpKQogICAgICAgICAgICAgc2hvcnRoYW5kcy5hcHBl
bmQoc3Vic3RpdHV0aW9uVmFsdWUtPnNob3J0aGFuZFByb3BlcnR5SWQoKSk7CiAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgZm9yIChhdXRvJiBzaG9ydGhhbmQgOiBtYXRjaGluZ1Nob3J0aGFu
ZHNGb3JMb25naGFuZChwcm9wZXJ0eUlEKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
YXJzZXIuY3BwCmluZGV4IGJlMzU0MmU2NGZmYy4uMWE5Mzk5NzhlNDcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQYXJzZXIuY3BwCkBAIC01NiwxMSArNTYsMTEgQEAKICNpbmNsdWRl
ICJDU1NQcm9wZXJ0eVBhcnNlckNvbnN1bWVyK1RpbWVsaW5lLmgiCiAjaW5jbHVkZSAiQ1NTU2Vs
ZWN0b3JQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNoZWV0LmgiCi0jaW5jbHVkZSAiQ1NT
U3Vic3RpdHV0aW9uUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ1NTU3VwcG9ydHNQYXJzZXIuaCIKICNp
bmNsdWRlICJDU1NUb2tlbml6ZXIuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKICNpbmNs
dWRlICJDU1NWYWx1ZVBhaXIuaCIKKyNpbmNsdWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgogI2lu
Y2x1ZGUgIkNTU1ZpZXdUcmFuc2l0aW9uUnVsZS5oIgogI2luY2x1ZGUgIkNvbXB1dGVkU3R5bGVE
ZXBlbmRlbmNpZXMuaCIKICNpbmNsdWRlICJDb250YWluZXJRdWVyeVBhcnNlci5oIgpAQCAtMTQy
NSw3ICsxNDI1LDcgQEAgUmVmUHRyPFN0eWxlUnVsZVByb3BlcnR5PiBDU1NQYXJzZXI6OmNvbnN1
bWVQcm9wZXJ0eVJ1bGUoQ1NTUGFyc2VyVG9rZW5SYW5nZSBwcmUKICAgICAgICAgYXV0byBkZXBl
bmRlbmNpZXMgPSBDU1NQcm9wZXJ0eVBhcnNlcjo6Y29sbGVjdFBhcnNlZEN1c3RvbVByb3BlcnR5
VmFsdWVEZXBlbmRlbmNpZXMoKnN5bnRheCwgdG9rZW5SYW5nZSwgbV9jb250ZXh0KTsKICAgICAg
ICAgaWYgKCFkZXBlbmRlbmNpZXMuaXNDb21wdXRhdGlvbmFsbHlJbmRlcGVuZGVudCgpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBhdXRvIGNvbnRhaW5zVmFyaWFibGUgPSBD
U1NTdWJzdGl0dXRpb25QYXJzZXI6OmNvbnRhaW5zU3Vic3RpdHV0aW9uRnVuY3Rpb25zKGRlc2Ny
aXB0b3IuaW5pdGlhbFZhbHVlLT50b2tlblJhbmdlKCksIG1fY29udGV4dCk7CisgICAgICAgIGF1
dG8gY29udGFpbnNWYXJpYWJsZSA9IENTU1ZhcmlhYmxlUGFyc2VyOjpjb250YWluc1ZhbGlkVmFy
aWFibGVSZWZlcmVuY2VzKGRlc2NyaXB0b3IuaW5pdGlhbFZhbHVlLT50b2tlblJhbmdlKCksIG1f
Y29udGV4dCk7CiAgICAgICAgIGlmIChjb250YWluc1ZhcmlhYmxlKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE3ODcsNyArMTc4Nyw3IEBAIGJv
b2wgQ1NTUGFyc2VyOjpjb25zdW1lRGVjbGFyYXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5n
ZSwgU3R5bGVSdWxlVHlwZSBydWxlCiAKICAgICAvLyBAcG9zaXRpb24tdHJ5IGRvZXNuJ3QgYWxs
b3cgY3VzdG9tIHByb3BlcnRpZXMuCiAgICAgLy8gRklYTUU6IG1heWJlIG1ha2UgdGhpcyBsb2dp
YyBtb3JlIGVsZWdhbnQ/Ci0gICAgaWYgKHByb3BlcnR5SUQgPT0gQ1NTUHJvcGVydHlJbnZhbGlk
ICYmIENTU1N1YnN0aXR1dGlvblBhcnNlcjo6aXNWYWxpZEN1c3RvbVByb3BlcnR5TmFtZSh0b2tl
bikgJiYgcnVsZVR5cGUgIT0gU3R5bGVSdWxlVHlwZTo6UG9zaXRpb25UcnkpIHsKKyAgICBpZiAo
cHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eUludmFsaWQgJiYgQ1NTVmFyaWFibGVQYXJzZXI6Omlz
VmFsaWRWYXJpYWJsZU5hbWUodG9rZW4pICYmIHJ1bGVUeXBlICE9IFN0eWxlUnVsZVR5cGU6OlBv
c2l0aW9uVHJ5KSB7CiAgICAgICAgIEF0b21TdHJpbmcgdmFyaWFibGVOYW1lID0gdG9rZW4udmFs
dWUoKS50b0F0b21TdHJpbmcoKTsKICAgICAgICAgY29uc3VtZUN1c3RvbVByb3BlcnR5VmFsdWUo
cmFuZ2UsIHZhcmlhYmxlTmFtZSwgaW1wb3J0YW50KTsKICAgICB9CkBAIC0xODA5LDcgKzE4MDks
NyBAQCB2b2lkIENTU1BhcnNlcjo6Y29uc3VtZUN1c3RvbVByb3BlcnR5VmFsdWUoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSByYW5nZSwgY29uc3QgQXRvbQogewogICAgIGlmIChyYW5nZS5hdEVuZCgpKQog
ICAgICAgICB0b3BDb250ZXh0KCkubV9wYXJzZWRQcm9wZXJ0aWVzLmFwcGVuZChDU1NQcm9wZXJ0
eShDU1NQcm9wZXJ0eUN1c3RvbSwgQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3JlYXRlRW1wdHko
dmFyaWFibGVOYW1lKSwgaW1wb3J0YW50KSk7Ci0gICAgZWxzZSBpZiAoYXV0byB2YWx1ZSA9IENT
U1N1YnN0aXR1dGlvblBhcnNlcjo6cGFyc2VEZWNsYXJhdGlvblZhbHVlKHZhcmlhYmxlTmFtZSwg
cmFuZ2UsIG1fY29udGV4dCkpCisgICAgZWxzZSBpZiAoYXV0byB2YWx1ZSA9IENTU1ZhcmlhYmxl
UGFyc2VyOjpwYXJzZURlY2xhcmF0aW9uVmFsdWUodmFyaWFibGVOYW1lLCByYW5nZSwgbV9jb250
ZXh0KSkKICAgICAgICAgdG9wQ29udGV4dCgpLm1fcGFyc2VkUHJvcGVydGllcy5hcHBlbmQoQ1NT
UHJvcGVydHkoQ1NTUHJvcGVydHlDdXN0b20sIHZhbHVlLnJlbGVhc2VOb25OdWxsKCksIGltcG9y
dGFudCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQ
YXJzZXIuY3BwCmluZGV4IGQxYmQwOTljM2VkNy4uNTMyNmM0MDhjOTUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtMzgsNiArMzgs
NyBAQAogI2luY2x1ZGUgIkNTU1BhcnNlckZhc3RQYXRocy5oIgogI2luY2x1ZGUgIkNTU1BhcnNl
cklkaW9tcy5oIgogI2luY2x1ZGUgIkNTU1BhcnNlclRva2VuUmFuZ2UuaCIKKyNpbmNsdWRlICJD
U1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5UGFyc2VyQ29uc3VtZXIrQW5nbGVEZWZpbml0aW9u
cy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5UGFyc2VyQ29uc3VtZXIrQ1NTUHJpbWl0aXZlVmFs
dWVSZXNvbHZlci5oIgpAQCAtNTgsMTIgKzU5LDExIEBACiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlQ
YXJzZXJSZXN1bHQuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eVBhcnNlclN0YXRlLmgiCiAjaW5j
bHVkZSAiQ1NTUHJvcGVydHlQYXJzaW5nLmgiCi0jaW5jbHVkZSAiQ1NTU2hvcnRoYW5kU3Vic3Rp
dHV0aW9uVmFsdWUuaCIKLSNpbmNsdWRlICJDU1NTdWJzdGl0dXRpb25QYXJzZXIuaCIKLSNpbmNs
dWRlICJDU1NTdWJzdGl0dXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Rva2VuaXplci5oIgog
I2luY2x1ZGUgIkNTU1RyYW5zZm9ybUxpc3RWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1VSTFZhbHVl
LmgiCisjaW5jbHVkZSAiQ1NTVmFyaWFibGVQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTV2lkZUtleXdvcmQuaCIKICNpbmNsdWRl
ICJDb21wdXRlZFN0eWxlRGVwZW5kZW5jaWVzLmgiCiAjaW5jbHVkZSAiU3R5bGVCdWlsZGVyLmgi
CkBAIC00NDIsNyArNDQyLDcgQEAgc3RkOjpvcHRpb25hbDxWYXJpYW50PFJlZjxjb25zdCBTdHls
ZTo6Q3VzdG9tUHJvcGVydHk+LCBDU1NXaWRlS2V5d29yZD4+IENTU1Byb3AKIFJlZlB0cjxjb25z
dCBTdHlsZTo6Q3VzdG9tUHJvcGVydHk+IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVR5cGVkQ3Vz
dG9tUHJvcGVydHlJbml0aWFsVmFsdWUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwgY29uc3QgQ1NT
Q3VzdG9tUHJvcGVydHlTeW50YXgmIHN5bnRheCwgQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwg
U3R5bGU6OkJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0
JiBjb250ZXh0KQogewogICAgIGlmIChzeW50YXguaXNVbml2ZXJzYWwoKSkKLSAgICAgICAgcmV0
dXJuIENTU1N1YnN0aXR1dGlvblBhcnNlcjo6cGFyc2VJbml0aWFsVmFsdWVGb3JVbml2ZXJzYWxT
eW50YXgobmFtZSwgcmFuZ2UpOworICAgICAgICByZXR1cm4gQ1NTVmFyaWFibGVQYXJzZXI6OnBh
cnNlSW5pdGlhbFZhbHVlRm9yVW5pdmVyc2FsU3ludGF4KG5hbWUsIHJhbmdlKTsKIAogICAgIGF1
dG8gc3RhdGUgPSBDU1M6OlByb3BlcnR5UGFyc2VyU3RhdGUgewogICAgICAgICAuY29udGV4dCA9
IGNvbnRleHQsCkBAIC02ODgsOCArNjg4LDggQEAgYm9vbCBjb25zdW1lU3R5bGVQcm9wZXJ0eShD
U1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY28KICAg
ICAgICAgaWYgKENTU1Byb3BlcnR5UGFyc2luZzo6cGFyc2VTdHlsZVByb3BlcnR5U2hvcnRoYW5k
KHJhbmdlLCBwcm9wZXJ0eSwgc3RhdGUsIHJlc3VsdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKIAotICAgICAgICBpZiAoQ1NTU3Vic3RpdHV0aW9uUGFyc2VyOjpjb250YWluc1N1YnN0aXR1
dGlvbkZ1bmN0aW9ucyhvcmlnaW5hbFJhbmdlLCBjb250ZXh0KSkgewotICAgICAgICAgICAgcmVz
dWx0LmFkZFByb3BlcnR5Rm9yQWxsTG9uZ2hhbmRzT2ZDdXJyZW50U2hvcnRoYW5kKHN0YXRlLCBD
U1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZTo6Y3JlYXRlKHByb3BlcnR5LCBDU1NTdWJzdGl0
dXRpb25WYWx1ZTo6Y3JlYXRlKG9yaWdpbmFsUmFuZ2UsIGNvbnRleHQpKSk7CisgICAgICAgIGlm
IChDU1NWYXJpYWJsZVBhcnNlcjo6Y29udGFpbnNWYWxpZFZhcmlhYmxlUmVmZXJlbmNlcyhvcmln
aW5hbFJhbmdlLCBjb250ZXh0KSkgeworICAgICAgICAgICAgcmVzdWx0LmFkZFByb3BlcnR5Rm9y
QWxsTG9uZ2hhbmRzT2ZDdXJyZW50U2hvcnRoYW5kKHN0YXRlLCBDU1NQZW5kaW5nU3Vic3RpdHV0
aW9uVmFsdWU6OmNyZWF0ZShwcm9wZXJ0eSwgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6Y3Jl
YXRlKG9yaWdpbmFsUmFuZ2UsIGNvbnRleHQpKSk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICAgfQogICAgIH0gZWxzZSB7CkBAIC03MDgsOCArNzA4LDggQEAgYm9vbCBjb25zdW1l
U3R5bGVQcm9wZXJ0eShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2Vy
Q29udGV4dCYgY28KICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAKLSAgICAg
ICAgaWYgKENTU1N1YnN0aXR1dGlvblBhcnNlcjo6Y29udGFpbnNTdWJzdGl0dXRpb25GdW5jdGlv
bnMob3JpZ2luYWxSYW5nZSwgY29udGV4dCkpIHsKLSAgICAgICAgICAgIHJlc3VsdC5hZGRQcm9w
ZXJ0eShzdGF0ZSwgcHJvcGVydHksIENTU1Byb3BlcnR5SW52YWxpZCwgQ1NTU3Vic3RpdHV0aW9u
VmFsdWU6OmNyZWF0ZShvcmlnaW5hbFJhbmdlLCBjb250ZXh0KSwgaW1wb3J0YW50KTsKKyAgICAg
ICAgaWYgKENTU1ZhcmlhYmxlUGFyc2VyOjpjb250YWluc1ZhbGlkVmFyaWFibGVSZWZlcmVuY2Vz
KG9yaWdpbmFsUmFuZ2UsIGNvbnRleHQpKSB7CisgICAgICAgICAgICByZXN1bHQuYWRkUHJvcGVy
dHkoc3RhdGUsIHByb3BlcnR5LCBDU1NQcm9wZXJ0eUludmFsaWQsIENTU1ZhcmlhYmxlUmVmZXJl
bmNlVmFsdWU6OmNyZWF0ZShvcmlnaW5hbFJhbmdlLCBjb250ZXh0KSwgaW1wb3J0YW50KTsKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckNvbnN1bWVyK1N5bnRheC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyQ29uc3VtZXIr
U3ludGF4LmNwcAppbmRleCBkYmM5MzU5YzU4N2MuLjFkNTZlYmVlMDkwMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckNvbnN1bWVyK1N5bnRh
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckNv
bnN1bWVyK1N5bnRheC5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJDU1NDdXN0b21Q
cm9wZXJ0eVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyVG9rZW5SYW5nZS5oIgogI2luY2x1
ZGUgIkNTU1Byb3BlcnR5UGFyc2VyU3RhdGUuaCIKLSNpbmNsdWRlICJDU1NTdWJzdGl0dXRpb25Q
YXJzZXIuaCIKKyNpbmNsdWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0F0b21TdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzksNyArMzksNyBA
QCBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVEZWNsYXJhdGlvblZhbHVlKENTU1BhcnNlclRva2Vu
UmFuZ2UmIHJhbmdlLCBDU1M6OlByb3BlcgogewogICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3Mtc3ludGF4LTMvI3R5cGVkZWYtZGVjbGFyYXRpb24tdmFsdWUKIAotICAgIHJldHVy
biBDU1NTdWJzdGl0dXRpb25QYXJzZXI6OnBhcnNlRGVjbGFyYXRpb25WYWx1ZShudWxsQXRvbSgp
LCByYW5nZS5jb25zdW1lQWxsKCksIHN0YXRlLmNvbnRleHQpOworICAgIHJldHVybiBDU1NWYXJp
YWJsZVBhcnNlcjo6cGFyc2VEZWNsYXJhdGlvblZhbHVlKG51bGxBdG9tKCksIHJhbmdlLmNvbnN1
bWVBbGwoKSwgc3RhdGUuY29udGV4dCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIENTU1Byb3BlcnR5
UGFyc2VySGVscGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NT
dWJzdGl0dXRpb25QYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NWYXJp
YWJsZVBhcnNlci5jcHAKc2ltaWxhcml0eSBpbmRleCA5MyUKcmVuYW1lIGZyb20gU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NTdWJzdGl0dXRpb25QYXJzZXIuY3BwCnJlbmFtZSB0byBTb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1ZhcmlhYmxlUGFyc2VyLmNwcAppbmRleCA0MjkxMmE0
NDBkM2MuLmI2YjEzNDQ1NTI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NTdWJzdGl0dXRpb25QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTVmFyaWFibGVQYXJzZXIuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAvLyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ1NTU3Vic3RpdHV0aW9uUGFyc2Vy
LmgiCisjaW5jbHVkZSAiQ1NTVmFyaWFibGVQYXJzZXIuaCIKIAogI2luY2x1ZGUgIkNTU0N1c3Rv
bVByb3BlcnR5VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJDb250ZXh0LmgiCkBAIC00Myw3
ICs0Myw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBDU1NTdWJzdGl0dXRpb25Q
YXJzZXI6OmlzVmFsaWRDdXN0b21Qcm9wZXJ0eU5hbWUoY29uc3QgQ1NTUGFyc2VyVG9rZW4mIHRv
a2VuKQorYm9vbCBDU1NWYXJpYWJsZVBhcnNlcjo6aXNWYWxpZFZhcmlhYmxlTmFtZShjb25zdCBD
U1NQYXJzZXJUb2tlbiYgdG9rZW4pCiB7CiAgICAgaWYgKHRva2VuLnR5cGUoKSAhPSBJZGVudFRv
a2VuKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xODEsNyArMTgxLDcgQEAgc3RhdGljIHN0
ZDo6b3B0aW9uYWw8Q2xhc3NpZnlCbG9ja1Jlc3VsdD4gY2xhc3NpZnlCbG9jayhDU1NQYXJzZXJU
b2tlblJhbmdlIHJhbmcKIGJvb2wgaXNWYWxpZFZhcmlhYmxlUmVmZXJlbmNlKENTU1BhcnNlclRv
a2VuUmFuZ2UgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIHBhcnNlckNvbnRleHQpCiB7
CiAgICAgcmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKLSAgICBpZiAoIUNTU1N1YnN0aXR1dGlv
blBhcnNlcjo6aXNWYWxpZEN1c3RvbVByb3BlcnR5TmFtZShyYW5nZS5jb25zdW1lSW5jbHVkaW5n
V2hpdGVzcGFjZSgpKSkKKyAgICBpZiAoIUNTU1ZhcmlhYmxlUGFyc2VyOjppc1ZhbGlkVmFyaWFi
bGVOYW1lKHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgaWYgKHJhbmdlLmF0RW5kKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpA
QCAtMjg2LDcgKzI4Niw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZhcmlhYmxlVHlwZT4gY2xh
c3NpZnlWYXJpYWJsZVJhbmdlKENTU1BhcnNlclRva2VuUmFuZ2UgcmFuCiAgICAgcmV0dXJuIFZh
cmlhYmxlVHlwZSB7IHsgfSwgV1RGOjptb3ZlKCpjbGFzc2lmeUJsb2NrUmVzdWx0KSB9OwogfQog
Ci1ib29sIENTU1N1YnN0aXR1dGlvblBhcnNlcjo6Y29udGFpbnNTdWJzdGl0dXRpb25GdW5jdGlv
bnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgcGFy
c2VyQ29udGV4dCkKK2Jvb2wgQ1NTVmFyaWFibGVQYXJzZXI6OmNvbnRhaW5zVmFsaWRWYXJpYWJs
ZVJlZmVyZW5jZXMoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29u
dGV4dCYgcGFyc2VyQ29udGV4dCkKIHsKICAgICBhdXRvIHR5cGUgPSBjbGFzc2lmeVZhcmlhYmxl
UmFuZ2UocmFuZ2UsIHBhcnNlckNvbnRleHQpOwogICAgIGlmICghdHlwZSkKQEAgLTI5NSw3ICsy
OTUsNyBAQCBib29sIENTU1N1YnN0aXR1dGlvblBhcnNlcjo6Y29udGFpbnNTdWJzdGl0dXRpb25G
dW5jdGlvbnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYQogICAgIHJldHVybiB0eXBlLT5jbGFzc2lm
eUJsb2NrUmVzdWx0Lmhhc1N1YnN0aXR1dGlvbkZ1bmN0aW9ucyAmJiAhdHlwZS0+Y2xhc3NpZnlC
bG9ja1Jlc3VsdC5oYXNUb3BMZXZlbEJyYWNlQmxvY2tNaXhlZFdpdGhPdGhlclZhbHVlczsKIH0K
IAotUmVmUHRyPENTU0N1c3RvbVByb3BlcnR5VmFsdWU+IENTU1N1YnN0aXR1dGlvblBhcnNlcjo6
cGFyc2VEZWNsYXJhdGlvblZhbHVlKGNvbnN0IEF0b21TdHJpbmcmIHZhcmlhYmxlTmFtZSwgQ1NT
UGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgcGFyc2VyQ29u
dGV4dCkKK1JlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBDU1NWYXJpYWJsZVBhcnNlcjo6
cGFyc2VEZWNsYXJhdGlvblZhbHVlKGNvbnN0IEF0b21TdHJpbmcmIHZhcmlhYmxlTmFtZSwgQ1NT
UGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgcGFyc2VyQ29u
dGV4dCkKIHsKICAgICBhdXRvIHR5cGUgPSBjbGFzc2lmeVZhcmlhYmxlUmFuZ2UocmFuZ2UsIHBh
cnNlckNvbnRleHQpOwogICAgIGlmICghdHlwZSkKQEAgLTMwNSwxMiArMzA1LDEyIEBAIFJlZlB0
cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBDU1NTdWJzdGl0dXRpb25QYXJzZXI6OnBhcnNlRGVj
bGFyYXRpb25WYWx1ZShjb25zCiAgICAgICAgIHJldHVybiBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVl
OjpjcmVhdGVXaXRoQ1NTV2lkZUtleXdvcmQodmFyaWFibGVOYW1lLCAqdHlwZS0+Y3NzV2lkZUtl
eXdvcmQpOwogCiAgICAgaWYgKHR5cGUtPmNsYXNzaWZ5QmxvY2tSZXN1bHQuaGFzU3Vic3RpdHV0
aW9uRnVuY3Rpb25zKQotICAgICAgICByZXR1cm4gQ1NTQ3VzdG9tUHJvcGVydHlWYWx1ZTo6Y3Jl
YXRlVW5yZXNvbHZlZCh2YXJpYWJsZU5hbWUsIENTU1N1YnN0aXR1dGlvblZhbHVlOjpjcmVhdGUo
cmFuZ2UsIHBhcnNlckNvbnRleHQpKTsKKyAgICAgICAgcmV0dXJuIENTU0N1c3RvbVByb3BlcnR5
VmFsdWU6OmNyZWF0ZVVucmVzb2x2ZWQodmFyaWFibGVOYW1lLCBDU1NWYXJpYWJsZVJlZmVyZW5j
ZVZhbHVlOjpjcmVhdGUocmFuZ2UsIHBhcnNlckNvbnRleHQpKTsKIAogICAgIHJldHVybiBDU1ND
dXN0b21Qcm9wZXJ0eVZhbHVlOjpjcmVhdGVTeW50YXhBbGwodmFyaWFibGVOYW1lLCBDU1NWYXJp
YWJsZURhdGE6OmNyZWF0ZShyYW5nZSwgcGFyc2VyQ29udGV4dCkpOwogfQogCi1SZWZQdHI8Y29u
c3QgU3R5bGU6OkN1c3RvbVByb3BlcnR5PiBDU1NTdWJzdGl0dXRpb25QYXJzZXI6OnBhcnNlSW5p
dGlhbFZhbHVlRm9yVW5pdmVyc2FsU3ludGF4KGNvbnN0IEF0b21TdHJpbmcmIHZhcmlhYmxlTmFt
ZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSkKK1JlZlB0cjxjb25zdCBTdHlsZTo6Q3VzdG9t
UHJvcGVydHk+IENTU1ZhcmlhYmxlUGFyc2VyOjpwYXJzZUluaXRpYWxWYWx1ZUZvclVuaXZlcnNh
bFN5bnRheChjb25zdCBBdG9tU3RyaW5nJiB2YXJpYWJsZU5hbWUsIENTU1BhcnNlclRva2VuUmFu
Z2UgcmFuZ2UpCiB7CiAgICAgYXV0byB0eXBlID0gY2xhc3NpZnlWYXJpYWJsZVJhbmdlKHJhbmdl
LCBzdHJpY3RDU1NQYXJzZXJDb250ZXh0KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1N1YnN0aXR1dGlvblBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NWYXJpYWJsZVBhcnNlci5oCnNpbWlsYXJpdHkgaW5kZXggOTElCnJlbmFtZSBm
cm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU3Vic3RpdHV0aW9uUGFyc2VyLmgKcmVu
YW1lIHRvIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTVmFyaWFibGVQYXJzZXIuaAppbmRl
eCAwYmUzMTQyODkyNTQuLjEwM2NhMzllOTFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NTdWJzdGl0dXRpb25QYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1ZhcmlhYmxlUGFyc2VyLmgKQEAgLTQyLDE0ICs0MiwxNCBAQCBuYW1lc3Bh
Y2UgU3R5bGUgewogY2xhc3MgQ3VzdG9tUHJvcGVydHk7CiB9CiAKLWNsYXNzIENTU1N1YnN0aXR1
dGlvblBhcnNlciB7CitjbGFzcyBDU1NWYXJpYWJsZVBhcnNlciB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIGJvb2wgY29udGFpbnNTdWJzdGl0dXRpb25GdW5jdGlvbnMoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYpOworICAgIHN0YXRpYyBib29sIGNvbnRhaW5zVmFs
aWRWYXJpYWJsZVJlZmVyZW5jZXMoQ1NTUGFyc2VyVG9rZW5SYW5nZSwgY29uc3QgQ1NTUGFyc2Vy
Q29udGV4dCYpOwogCiAgICAgc3RhdGljIFJlZlB0cjxDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlPiBw
YXJzZURlY2xhcmF0aW9uVmFsdWUoY29uc3QgQXRvbVN0cmluZyYsIENTU1BhcnNlclRva2VuUmFu
Z2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKTsKICAgICBzdGF0aWMgUmVmUHRyPGNvbnN0IFN0
eWxlOjpDdXN0b21Qcm9wZXJ0eT4gcGFyc2VJbml0aWFsVmFsdWVGb3JVbml2ZXJzYWxTeW50YXgo
Y29uc3QgQXRvbVN0cmluZyYsIENTU1BhcnNlclRva2VuUmFuZ2UpOwogCi0gICAgc3RhdGljIGJv
b2wgTk9ERUxFVEUgaXNWYWxpZEN1c3RvbVByb3BlcnR5TmFtZShjb25zdCBDU1NQYXJzZXJUb2tl
biYpOworICAgIHN0YXRpYyBib29sIE5PREVMRVRFIGlzVmFsaWRWYXJpYWJsZU5hbWUoY29uc3Qg
Q1NTUGFyc2VyVG9rZW4mKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuY3BwCmlu
ZGV4IGVkMjc1ZjVmYWMwNi4uNjJhMzc5ZTI1MDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5jcHAKQEAgLTM4LDggKzM4LDgg
QEAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eVBhcnNlckNvbnN1bWVyK1Jlc29sdXRpb25EZWZpbml0
aW9ucy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5UGFyc2VyU3RhdGUuaCIKICNpbmNsdWRlICJD
U1NSYXRpb1ZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NTU3Vic3RpdHV0aW9uUGFyc2VyLmgiCiAjaW5j
bHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYXJpYWJsZVBhcnNlci5oIgogI2luY2x1
ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvTWFrZVN0
cmluZy5oPgogCkBAIC03Nyw3ICs3Nyw3IEBAIHN0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1
bWVDdXN0b21Qcm9wZXJ0eVZhbHVlKEF0b21TdHJpbmcgcHJvcGVydHlOYW1lLCBDU1NQCiAgICAg
aWYgKHZhbHVlUmFuZ2UuYXRFbmQoKSkKICAgICAgICAgcmV0dXJuIENTU0N1c3RvbVByb3BlcnR5
VmFsdWU6OmNyZWF0ZUVtcHR5KHByb3BlcnR5TmFtZSk7CiAKLSAgICByZXR1cm4gQ1NTU3Vic3Rp
dHV0aW9uUGFyc2VyOjpwYXJzZURlY2xhcmF0aW9uVmFsdWUocHJvcGVydHlOYW1lLCB2YWx1ZVJh
bmdlLCBjb250ZXh0LmNvbnRleHQpOworICAgIHJldHVybiBDU1NWYXJpYWJsZVBhcnNlcjo6cGFy
c2VEZWNsYXJhdGlvblZhbHVlKHByb3BlcnR5TmFtZSwgdmFsdWVSYW5nZSwgY29udGV4dC5jb250
ZXh0KTsKIH0KIAogc3RkOjpvcHRpb25hbDxGZWF0dXJlPiBGZWF0dXJlUGFyc2VyOjpjb25zdW1l
Qm9vbGVhbk9yUGxhaW5GZWF0dXJlKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBN
ZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCYgY29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWVGYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy90eXBlZG9tL0NTU1N0eWxlVmFsdWVGYWN0b3J5LmNwcAppbmRleCBkMDljNjc3MGI4MjQu
LmUwODhkZWNjM2ViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NT
U3R5bGVWYWx1ZUZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NT
U1N0eWxlVmFsdWVGYWN0b3J5LmNwcApAQCAtMzksMTIgKzM5LDExIEBACiAjaW5jbHVkZSAiQ1NT
S2V5d29yZFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTnVtZXJpY0ZhY3RvcnkuaCIKICNpbmNsdWRl
ICJDU1NQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NQcm9wZXJ0eVBhcnNlci5oIgogI2luY2x1ZGUgIkNTU1NlcmlhbGl6YXRp
b25Db250ZXh0LmgiCi0jaW5jbHVkZSAiQ1NTU2hvcnRoYW5kU3Vic3RpdHV0aW9uVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NTdHlsZUltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NTdHlsZVZhbHVl
LmgiCi0jaW5jbHVkZSAiQ1NTU3Vic3RpdHV0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJDU1NUZXh0
U2hhZG93UHJvcGVydHlWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Rva2VuaXplci5oIgogI2luY2x1
ZGUgIkNTU1RyYW5zZm9ybUxpc3RWYWx1ZS5oIgpAQCAtNTUsNiArNTQsNyBAQAogI2luY2x1ZGUg
IkNTU1ZhbHVlTGlzdC5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgogI2luY2x1ZGUgIkNT
U1ZhcmlhYmxlRGF0YS5oIgorI2luY2x1ZGUgIkNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCIK
ICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5j
bHVkZSAiU2NyaXB0V3JhcHBhYmxlSW5saW5lcy5oIgpAQCAtNzgsNyArNzgsNyBAQCBSZWZQdHI8
Q1NTU3R5bGVWYWx1ZT4gQ1NTU3R5bGVWYWx1ZUZhY3Rvcnk6OmNvbnN0cnVjdFN0eWxlVmFsdWVG
b3JTaG9ydGhhbmRTZXJpYQogICAgIENTU1Rva2VuaXplciB0b2tlbml6ZXIoc2VyaWFsaXphdGlv
bik7CiAgICAgaWYgKHNlcmlhbGl6YXRpb24uY29udGFpbnMoInZhcigiX3MpKQogICAgICAgICBy
ZXR1cm4gQ1NTVW5wYXJzZWRWYWx1ZTo6Y3JlYXRlKHRva2VuaXplci50b2tlblJhbmdlKCkpOwot
ICAgIHJldHVybiBDU1NTdHlsZVZhbHVlOjpjcmVhdGUoQ1NTU3Vic3RpdHV0aW9uVmFsdWU6OmNy
ZWF0ZSh0b2tlbml6ZXIudG9rZW5SYW5nZSgpLCB7IGRvY3VtZW50IH0pKTsKKyAgICByZXR1cm4g
Q1NTU3R5bGVWYWx1ZTo6Y3JlYXRlKENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6OmNyZWF0ZSh0
b2tlbml6ZXIudG9rZW5SYW5nZSgpLCB7IGRvY3VtZW50IH0pKTsKIH0KIAogRXhjZXB0aW9uT3I8
UmVmUHRyPENTU1ZhbHVlPj4gQ1NTU3R5bGVWYWx1ZUZhY3Rvcnk6OmV4dHJhY3RDU1NWYWx1ZShE
b2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IENTU1Byb3BlcnR5SUQmIHByb3BlcnR5SUQsIGNvbnN0
IFN0cmluZyYgY3NzVGV4dCkKQEAgLTI5MSwxOCArMjkxLDE4IEBAIEV4Y2VwdGlvbk9yPFJlZjxD
U1NTdHlsZVZhbHVlPj4gQ1NTU3R5bGVWYWx1ZUZhY3Rvcnk6OnJlaWZ5VmFsdWUoRG9jdW1lbnQm
IGRvY3VtCiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKGF1dG8qIGltYWdlVmFsdWUgPSBkeW5h
bWljRG93bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4oY3NzVmFsdWUpKQogICAgICAgICByZXR1cm4gUmVm
PENTU1N0eWxlVmFsdWU+IHsgQ1NTU3R5bGVJbWFnZVZhbHVlOjpjcmVhdGUoY29uc3RfY2FzdDxD
U1NJbWFnZVZhbHVlJj4oKmltYWdlVmFsdWUpLCBkb2N1bWVudCkgfTsKLSAgICBlbHNlIGlmIChh
dXRvKiByZWZlcmVuY2VWYWx1ZSA9IGR5bmFtaWNEb3duY2FzdDxDU1NTdWJzdGl0dXRpb25WYWx1
ZT4oY3NzVmFsdWUpKSB7CisgICAgZWxzZSBpZiAoYXV0byogcmVmZXJlbmNlVmFsdWUgPSBkeW5h
bWljRG93bmNhc3Q8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4oY3NzVmFsdWUpKSB7CiAgICAg
ICAgIHJldHVybiBSZWY8Q1NTU3R5bGVWYWx1ZT4geyBDU1NVbnBhcnNlZFZhbHVlOjpjcmVhdGUo
cmVmZXJlbmNlVmFsdWUtPmRhdGEoKS50b2tlblJhbmdlKCkpIH07Ci0gICAgfSBlbHNlIGlmIChh
dXRvKiBzdWJzdGl0dXRpb25WYWx1ZSA9IGR5bmFtaWNEb3duY2FzdDxDU1NTaG9ydGhhbmRTdWJz
dGl0dXRpb25WYWx1ZT4oY3NzVmFsdWUpKSB7CisgICAgfSBlbHNlIGlmIChhdXRvKiBzdWJzdGl0
dXRpb25WYWx1ZSA9IGR5bmFtaWNEb3duY2FzdDxDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWU+
KGNzc1ZhbHVlKSkgewogICAgICAgICByZXR1cm4gUmVmPENTU1N0eWxlVmFsdWU+IHsgQ1NTVW5w
YXJzZWRWYWx1ZTo6Y3JlYXRlKHN1YnN0aXR1dGlvblZhbHVlLT5zaG9ydGhhbmRWYWx1ZSgpLmRh
dGEoKS50b2tlblJhbmdlKCkpIH07CiAgICAgfSBlbHNlIGlmIChhdXRvKiBjdXN0b21Qcm9wZXJ0
eVZhbHVlID0gZHluYW1pY0Rvd25jYXN0PENTU0N1c3RvbVByb3BlcnR5VmFsdWU+KGNzc1ZhbHVl
KSkgewogICAgICAgICAvLyBGSVhNRTogcmVtb3ZlIENTU1N0eWxlVmFsdWU6OmNyZWF0ZShXVEY6
Om1vdmUoY3NzVmFsdWUpKSwgYWRkIHJlaWZpY2F0aW9uIGNvbnRyb2wgZmxvdwogICAgICAgICBy
ZXR1cm4gV1RGOjpzd2l0Y2hPbihjdXN0b21Qcm9wZXJ0eVZhbHVlLT52YWx1ZSgpLAotICAgICAg
ICAgICAgWyZdKGNvbnN0IFJlZjxDU1NTdWJzdGl0dXRpb25WYWx1ZT4mIHZhbHVlKSB7CisgICAg
ICAgICAgICBbJl0oY29uc3QgUmVmPENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU+JiB2YWx1ZSkg
ewogICAgICAgICAgICAgICAgIHJldHVybiByZWlmeVZhbHVlKGRvY3VtZW50LCB2YWx1ZSwgcHJv
cGVydHlJRCk7CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgWyZdKGNvbnN0IFJlZjxDU1NW
YXJpYWJsZURhdGE+JiB2YWx1ZSkgewotICAgICAgICAgICAgICAgIHJldHVybiByZWlmeVZhbHVl
KGRvY3VtZW50LCBDU1NTdWJzdGl0dXRpb25WYWx1ZTo6Y3JlYXRlKHZhbHVlLmNvcHlSZWYoKSks
IHByb3BlcnR5SUQpOworICAgICAgICAgICAgICAgIHJldHVybiByZWlmeVZhbHVlKGRvY3VtZW50
LCBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlOjpjcmVhdGUodmFsdWUuY29weVJlZigpKSwgcHJv
cGVydHlJRCk7CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgWyZdKGNvbnN0IENTU1dpZGVL
ZXl3b3JkJikgewogICAgICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb25PcjxSZWY8Q1NTU3R5
bGVWYWx1ZT4+IHsgQ1NTU3R5bGVWYWx1ZTo6Y3JlYXRlKFJlZihjb25zdF9jYXN0PENTU1ZhbHVl
Jj4oY3NzVmFsdWUpKSkgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9t
L0NTU1VucGFyc2VkVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vQ1NTVW5w
YXJzZWRWYWx1ZS5jcHAKaW5kZXggMjljYjA5N2NmNGEzLi5hZWQ2ODhhMDNhODEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0NTU1VucGFyc2VkVmFsdWUuY3BwCkBAIC0zMyw4
ICszMyw4IEBACiAjaW5jbHVkZSAiQ1NTT01WYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTUGFyc2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIkNTU1BhcnNlclRva2VuUmFuZ2Uu
aCIKLSNpbmNsdWRlICJDU1NTdWJzdGl0dXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Rva2Vu
aXplci5oIgorI2luY2x1ZGUgIkNTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaCIKICNpbmNsdWRl
ICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUgPHd0Zi9UWm9uZU1hbGxvY0lubGluZXMuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9NYWtlU3RyaW5nLmg+CkBAIC0xNTYsNyArMTU2LDcgQEAgRXhjZXB0
aW9uT3I8Q1NTVW5wYXJzZWRTZWdtZW50PiBDU1NVbnBhcnNlZFZhbHVlOjpzZXRJdGVtKHNpemVf
dCBpbmRleCwgQ1NTVW5wYXIKIFJlZlB0cjxDU1NWYWx1ZT4gQ1NTVW5wYXJzZWRWYWx1ZTo6dG9D
U1NWYWx1ZSgpIGNvbnN0CiB7CiAgICAgQ1NTVG9rZW5pemVyIHRva2VuaXplcih0b1N0cmluZygp
KTsKLSAgICByZXR1cm4gQ1NTU3Vic3RpdHV0aW9uVmFsdWU6OmNyZWF0ZSh0b2tlbml6ZXIudG9r
ZW5SYW5nZSgpLCBzdHJpY3RDU1NQYXJzZXJDb250ZXh0KCkpOworICAgIHJldHVybiBDU1NWYXJp
YWJsZVJlZmVyZW5jZVZhbHVlOjpjcmVhdGUodG9rZW5pemVyLnRva2VuUmFuZ2UoKSwgc3RyaWN0
Q1NTUGFyc2VyQ29udGV4dCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vRGVjbGFyZWRTdHlsZVByb3BlcnR5TWFw
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0RlY2xhcmVkU3R5bGVQcm9wZXJ0eU1h
cC5jcHAKaW5kZXggNmRiZGM4N2VjMDE0Li5jNGQ3ZWI1ZmU4MmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0RlY2xhcmVkU3R5bGVQcm9wZXJ0eU1hcC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vRGVjbGFyZWRTdHlsZVByb3BlcnR5TWFwLmNwcApA
QCAtMTE5LDcgKzExOSw3IEBAIGJvb2wgRGVjbGFyZWRTdHlsZVByb3BlcnR5TWFwOjpzZXRQcm9w
ZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIFJlZjxDU1NWYWx1CiAgICAgcmV0dXJuICFk
aWRGYWlsUGFyc2luZzsKIH0KIAotYm9vbCBEZWNsYXJlZFN0eWxlUHJvcGVydHlNYXA6OnNldEN1
c3RvbVByb3BlcnR5KERvY3VtZW50JiwgY29uc3QgQXRvbVN0cmluZyYgcHJvcGVydHksIFJlZjxD
U1NTdWJzdGl0dXRpb25WYWx1ZT4mJiB2YWx1ZSkKK2Jvb2wgRGVjbGFyZWRTdHlsZVByb3BlcnR5
TWFwOjpzZXRDdXN0b21Qcm9wZXJ0eShEb2N1bWVudCYsIGNvbnN0IEF0b21TdHJpbmcmIHByb3Bl
cnR5LCBSZWY8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4mJiB2YWx1ZSkKIHsKICAgICBSZWZQ
dHIgc3R5bGVSdWxlID0gdGhpcy0+c3R5bGVSdWxlKCk7CiAgICAgaWYgKCFzdHlsZVJ1bGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9EZWNsYXJlZFN0eWxlUHJvcGVy
dHlNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0RlY2xhcmVkU3R5bGVQcm9wZXJ0
eU1hcC5oCmluZGV4IGVhYmNkNDkzNTFmZC4uN2FlMjBlYTc2OTZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9EZWNsYXJlZFN0eWxlUHJvcGVydHlNYXAuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9EZWNsYXJlZFN0eWxlUHJvcGVydHlNYXAuaApAQCAt
NTUsNyArNTUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVtb3ZlQ3VzdG9tUHJvcGVydHkoY29u
c3QgQXRvbVN0cmluZyYpIGZpbmFsOwogICAgIGJvb2wgc2V0U2hvcnRoYW5kUHJvcGVydHkoQ1NT
UHJvcGVydHlJRCwgY29uc3QgU3RyaW5nJikgZmluYWw7CiAgICAgYm9vbCBzZXRQcm9wZXJ0eShD
U1NQcm9wZXJ0eUlELCBSZWY8Q1NTVmFsdWU+JiYpIGZpbmFsOwotICAgIGJvb2wgc2V0Q3VzdG9t
UHJvcGVydHkoRG9jdW1lbnQmLCBjb25zdCBBdG9tU3RyaW5nJiwgUmVmPENTU1N1YnN0aXR1dGlv
blZhbHVlPiYmKSBmaW5hbDsKKyAgICBib29sIHNldEN1c3RvbVByb3BlcnR5KERvY3VtZW50Jiwg
Y29uc3QgQXRvbVN0cmluZyYsIFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPiYmKSBmaW5h
bDsKIAogICAgIFdlYWtQdHI8Q1NTU3R5bGVSdWxlPiBtX293bmVyUnVsZTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9JbmxpbmVTdHlsZVByb3BlcnR5TWFwLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0lubGluZVN0eWxlUHJvcGVydHlNYXAuY3Bw
CmluZGV4IDRlY2U1MWM0YjZkMi4uYmJkOGUzNWU3NmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvdHlwZWRvbS9JbmxpbmVTdHlsZVByb3BlcnR5TWFwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvdHlwZWRvbS9JbmxpbmVTdHlsZVByb3BlcnR5TWFwLmNwcApAQCAtMTI1LDcg
KzEyNSw3IEBAIGJvb2wgSW5saW5lU3R5bGVQcm9wZXJ0eU1hcDo6c2V0UHJvcGVydHkoQ1NTUHJv
cGVydHlJRCBwcm9wZXJ0eUlELCBSZWY8Q1NTVmFsdWU+CiAgICAgcmV0dXJuICFkaWRGYWlsUGFy
c2luZzsKIH0KIAotYm9vbCBJbmxpbmVTdHlsZVByb3BlcnR5TWFwOjpzZXRDdXN0b21Qcm9wZXJ0
eShEb2N1bWVudCYsIGNvbnN0IEF0b21TdHJpbmcmIHByb3BlcnR5LCBSZWY8Q1NTU3Vic3RpdHV0
aW9uVmFsdWU+JiYgdmFsdWUpCitib29sIElubGluZVN0eWxlUHJvcGVydHlNYXA6OnNldEN1c3Rv
bVByb3BlcnR5KERvY3VtZW50JiwgY29uc3QgQXRvbVN0cmluZyYgcHJvcGVydHksIFJlZjxDU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlPiYmIHZhbHVlKQogewogICAgIGlmICghbV9lbGVtZW50KQog
ICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlw
ZWRvbS9JbmxpbmVTdHlsZVByb3BlcnR5TWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRv
bS9JbmxpbmVTdHlsZVByb3BlcnR5TWFwLmgKaW5kZXggNjliZTlkNmJlNDM5Li5jMzU1NDliZjI1
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL0lubGluZVN0eWxlUHJv
cGVydHlNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9JbmxpbmVTdHlsZVBy
b3BlcnR5TWFwLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlUHJv
cGVydHkoQ1NTUHJvcGVydHlJRCkgZmluYWw7CiAgICAgYm9vbCBzZXRTaG9ydGhhbmRQcm9wZXJ0
eShDU1NQcm9wZXJ0eUlELCBjb25zdCBTdHJpbmcmIHZhbHVlKSBmaW5hbDsKICAgICBib29sIHNl
dFByb3BlcnR5KENTU1Byb3BlcnR5SUQsIFJlZjxDU1NWYWx1ZT4mJikgZmluYWw7Ci0gICAgYm9v
bCBzZXRDdXN0b21Qcm9wZXJ0eShEb2N1bWVudCYsIGNvbnN0IEF0b21TdHJpbmcmIHByb3BlcnR5
LCBSZWY8Q1NTU3Vic3RpdHV0aW9uVmFsdWU+JiYpIGZpbmFsOworICAgIGJvb2wgc2V0Q3VzdG9t
UHJvcGVydHkoRG9jdW1lbnQmLCBjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eSwgUmVmPENTU1Zh
cmlhYmxlUmVmZXJlbmNlVmFsdWU+JiYpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlQ3VzdG9tUHJv
cGVydHkoY29uc3QgQXRvbVN0cmluZyYgcHJvcGVydHkpIGZpbmFsOwogICAgIHZvaWQgY2xlYXIo
KSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vTWFpblRo
cmVhZFN0eWxlUHJvcGVydHlNYXBSZWFkT25seS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlw
ZWRvbS9NYWluVGhyZWFkU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAppbmRleCA4ZTM5ZjVh
MzQ4M2EuLjNhYzQ1MjkxYTk2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVk
b20vTWFpblRocmVhZFN0eWxlUHJvcGVydHlNYXBSZWFkT25seS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL3R5cGVkb20vTWFpblRocmVhZFN0eWxlUHJvcGVydHlNYXBSZWFkT25seS5jcHAK
QEAgLTI2LDEwICsyNiwxMCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1haW5U
aHJlYWRTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkuaCIKIAorI2luY2x1ZGUgIkNTU1BlbmRpbmdT
dWJzdGl0dXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5LmgiCiAjaW5jbHVkZSAi
Q1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5UGFyc2VyLmgiCi0jaW5j
bHVkZSAiQ1NTU2hvcnRoYW5kU3Vic3RpdHV0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJDU1NTdHls
ZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVWYWx1ZUZhY3RvcnkuaCIKICNpbmNsdWRlICJD
U1NUb2tlbml6ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0
eWxlUHJvcGVydHlNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3R5cGVkb20vU3R5bGVQcm9w
ZXJ0eU1hcC5jcHAKaW5kZXggNmVjNDA1ZjBhZWE4Li42NDIxOThhNTM3MDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy90eXBlZG9tL1N0eWxlUHJvcGVydHlNYXAuY3BwCkBAIC0zMSwxMCAr
MzEsMTAgQEAKICNpbmNsdWRlICJDU1NQcm9wZXJ0eVBhcnNlci5oIgogI2luY2x1ZGUgIkNTU1F1
YWRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1N0eWxlVmFsdWVGYWN0b3J5LmgiCi0jaW5jbHVkZSAi
Q1NTU3Vic3RpdHV0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJDU1NVbnBhcnNlZFZhbHVlLmgiCiAj
aW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVQYWlyLmgiCisjaW5j
bHVkZSAiQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtNzgs
NyArNzgsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBTdHlsZVByb3BlcnR5TWFwOjpzZXQoRG9jdW1l
bnQmIGRvY3VtZW50LCBjb25zdCBBdG9tU3RyaW5nJiBwcgogICAgICAgICBhdXRvIHZhbHVlID0g
cHJvdGVjdChzdHlsZVZhbHVlc1swXSktPnRvQ1NTVmFsdWUoKTsKICAgICAgICAgaWYgKCF2YWx1
ZSkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBFeGNlcHRpb25Db2RlOjpUeXBlRXJy
b3IsICJJbnZhbGlkIHZhbHVlcyJfcyB9OwotICAgICAgICBzZXRDdXN0b21Qcm9wZXJ0eShkb2N1
bWVudCwgcHJvcGVydHksIGRvd25jYXN0PENTU1N1YnN0aXR1dGlvblZhbHVlPih2YWx1ZS5yZWxl
YXNlTm9uTnVsbCgpKSk7CisgICAgICAgIHNldEN1c3RvbVByb3BlcnR5KGRvY3VtZW50LCBwcm9w
ZXJ0eSwgZG93bmNhc3Q8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4odmFsdWUucmVsZWFzZU5v
bk51bGwoKSkpOwogICAgICAgICByZXR1cm4geyB9OwogICAgIH0KICAgICBhdXRvIHByb3BlcnR5
SUQgPSBjc3NQcm9wZXJ0eUlEKHByb3BlcnR5KTsKQEAgLTE4MSw3ICsxODEsNyBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBTdHlsZVByb3BlcnR5TWFwOjphcHBlbmQoRG9jdW1lbnQmIGRvY3VtZW50LCBj
b25zdCBBdG9tU3RyaW5nJgogCiAgICAgICAgIGlmICghY3NzVmFsdWUpCiAgICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgaWYgKGlzPENTU1N1YnN0aXR1dGlvblZhbHVlPigqY3NzVmFsdWUp
KQorICAgICAgICBpZiAoaXM8Q1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZT4oKmNzc1ZhbHVlKSkK
ICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBFeGNlcHRpb25Db2RlOjpUeXBlRXJyb3Is
ICJWYWx1ZXMgY2Fubm90IGNvbnRhaW4gYSBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlIl9zIH07
CiAKICAgICAgICAgbGlzdC5hcHBlbmQoY3NzVmFsdWUucmVsZWFzZU5vbk51bGwoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwLmgKaW5kZXggOWQ0OWE1
ODRjOTg1Li4wNWMzMTZkZDcxMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90eXBl
ZG9tL1N0eWxlUHJvcGVydHlNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdHlwZWRvbS9T
dHlsZVByb3BlcnR5TWFwLmgKQEAgLTI5LDcgKzI5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBDU1NTdWJzdGl0dXRpb25WYWx1ZTsKK2NsYXNzIENTU1ZhcmlhYmxlUmVmZXJl
bmNlVmFsdWU7CiAKIGNsYXNzIFN0eWxlUHJvcGVydHlNYXAgOiBwdWJsaWMgTWFpblRocmVhZFN0
eWxlUHJvcGVydHlNYXBSZWFkT25seSB7CiBwdWJsaWM6CkBAIC00Myw3ICs0Myw3IEBAIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQ3VzdG9tUHJvcGVydHkoY29uc3QgQXRvbVN0
cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc2V0U2hvcnRoYW5kUHJvcGVydHkoQ1NTUHJv
cGVydHlJRCwgY29uc3QgU3RyaW5nJikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBzZXRQcm9wZXJ0
eShDU1NQcm9wZXJ0eUlELCBSZWY8Q1NTVmFsdWU+JiYpID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wg
c2V0Q3VzdG9tUHJvcGVydHkoRG9jdW1lbnQmLCBjb25zdCBBdG9tU3RyaW5nJiwgUmVmPENTU1N1
YnN0aXR1dGlvblZhbHVlPiYmKSA9IDA7CisgICAgdmlydHVhbCBib29sIHNldEN1c3RvbVByb3Bl
cnR5KERvY3VtZW50JiwgY29uc3QgQXRvbVN0cmluZyYsIFJlZjxDU1NWYXJpYWJsZVJlZmVyZW5j
ZVZhbHVlPiYmKSA9IDA7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc1N0eWxlUHJvcGVydHlNYXAo
KSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKaW5kZXggZTVkMzUxMTRjYmNiLi41ZTRmOWNmN2VlZTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAKQEAg
LTE0MzUsNyArMTQzNSw3IEBAIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBhdXRob3JlZEdyaWRUcmFj
a1NpemVzKE5vZGUqIG5vZGUsIFN0eWxlOjpHcmlkVHJhY2tTaXppbmdECiAgICAgfQogCiAgICAg
Ly8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDE4NzQg
YWRkIGluZGljYXRpb24gZm9yIGRldmVsb3BlcnMgdGhhdCB2YWx1ZSBvcmlnaW5hbGx5IGF1dG8K
LSAgICBpZiAoY3NzVmFsdWUgJiYgY3NzVmFsdWUtPmhhc1N1YnN0aXR1dGlvbkZ1bmN0aW9ucygp
KSB7CisgICAgaWYgKGNzc1ZhbHVlICYmIGNzc1ZhbHVlLT5oYXNWYXJpYWJsZVJlZmVyZW5jZXMo
KSkgewogICAgICAgICBTdHlsZTo6RXh0cmFjdG9yIGV4dHJhY3RvcihlbGVtZW50KTsKICAgICAg
ICAgQ2hlY2tlZFJlZiBzdHlsZSA9IGVsZW1lbnQtPnJlbmRlcmVyKCktPnN0eWxlKCk7CiAgICAg
ICAgIGlmIChhdXRvIGNvbXB1dGVkVmFsdWUgPSBleHRyYWN0b3IucHJvcGVydHlWYWx1ZUluU3R5
bGUoc3R5bGUsIGRpcmVjdGlvbkNTU1Byb3BlcnR5SUQsIENTU1ZhbHVlUG9vbDo6c2luZ2xldG9u
KCksIG51bGxwdHIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUHJvcGVydHlD
YXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5jcHAKaW5k
ZXggYjU4NDliNmU5MGZjLi43NTM0YTZjZTVjMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUHJv
cGVydHlDYXNjYWRlLmNwcApAQCAtMzYzLDcgKzM2Myw3IEBAIGJvb2wgUHJvcGVydHlDYXNjYWRl
OjpzaG91bGRBcHBseUFmdGVyQW5pbWF0aW9uKGNvbnN0IFN0eWxlUHJvcGVydGllczo6UHJvcGVy
dHlSCiAgICAgICAgIC8vIFdlIGNvdWxkIGNoZWNrIGlmIHRoZSB3ZSBhcmUgYWN0dWFsbHkgYW5p
bWF0aW5nIHRoZSByZWZlcmVuY2VkIHZhcmlhYmxlLiBJbmRpcmVjdCBjYXNlcyB3b3VsZCBuZWVk
IHRvIGJlIHRha2VuIGludG8gYWNjb3VudC4KICAgICAgICAgaWYgKGN1c3RvbVByb3BlcnR5ICYm
IGN1c3RvbVByb3BlcnR5LT5pc1ZhcmlhYmxlUmVmZXJlbmNlKCkpCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICAgICAgaWYgKHByb3BlcnR5LnZhbHVlKCktPmhhc1N1YnN0aXR1dGlvbkZ1
bmN0aW9ucygpKQorICAgICAgICBpZiAocHJvcGVydHkudmFsdWUoKS0+aGFzVmFyaWFibGVSZWZl
cmVuY2VzKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUJ1aWxkZXIuY3BwCmluZGV4IGUxNThiY2VkODE3MS4uOTBhMDMzZmY5NmU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlci5jcHAKQEAgLTM0LDkgKzM0LDkgQEAKICNp
bmNsdWRlICJDU1NGb250U2VsZWN0b3IuaCIKICNpbmNsdWRlICJDU1NGdW5jdGlvblZhbHVlLmgi
CiAjaW5jbHVkZSAiQ1NTUGFpbnRJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTUGVuZGluZ1N1
YnN0aXR1dGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJzZXIuaCIKICNpbmNs
dWRlICJDU1NSZWdpc3RlcmVkQ3VzdG9tUHJvcGVydHkuaCIKLSNpbmNsdWRlICJDU1NTaG9ydGhh
bmRTdWJzdGl0dXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUGFpci5oIgogI2luY2x1
ZGUgIkNTU1ZhbHVlUG9vbC5oIgogI2luY2x1ZGUgIkNTU1dpZGVLZXl3b3JkLmgiCkBAIC02MDMs
MTUgKzYwMywxNSBAQCBSZWY8Q1NTVmFsdWU+IEJ1aWxkZXI6OnJlc29sdmVJbnRlcm5hbEF1dG9C
YXNlRnVuY3Rpb24oQ1NTVmFsdWUmIHZhbHVlKQogCiBSZWY8Q1NTVmFsdWU+IEJ1aWxkZXI6OnJl
c29sdmVTdWJzdGl0dXRpb25GdW5jdGlvbnMoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBDU1NW
YWx1ZSYgdmFsdWUpCiB7Ci0gICAgaWYgKCF2YWx1ZS5oYXNTdWJzdGl0dXRpb25GdW5jdGlvbnMo
KSkKKyAgICBpZiAoIXZhbHVlLmhhc1ZhcmlhYmxlUmVmZXJlbmNlcygpKQogICAgICAgICByZXR1
cm4gdmFsdWU7CiAKICAgICBTdWJzdGl0dXRpb25SZXNvbHZlciBzdWJzdGl0dXRpb25SZXNvbHZl
cigqdGhpcyk7CiAKICAgICBhdXRvIHZhcmlhYmxlVmFsdWUgPSBbJl0oKSAtPiBSZWZQdHI8Q1NT
VmFsdWU+IHsKLSAgICAgICAgaWYgKGF1dG8qIHN1YnN0aXR1dGlvbiA9IGR5bmFtaWNEb3duY2Fz
dDxDU1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZT4odmFsdWUpKQorICAgICAgICBpZiAoYXV0
byogc3Vic3RpdHV0aW9uID0gZHluYW1pY0Rvd25jYXN0PENTU1BlbmRpbmdTdWJzdGl0dXRpb25W
YWx1ZT4odmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIHN1YnN0aXR1dGlvblJlc29sdmVyLnN1
YnN0aXR1dGVBbmRQYXJzZVNob3J0aGFuZCgqc3Vic3RpdHV0aW9uLCBwcm9wZXJ0eUlEKTsKLSAg
ICAgICAgcmV0dXJuIHN1YnN0aXR1dGlvblJlc29sdmVyLnN1YnN0aXR1dGVBbmRQYXJzZShkb3du
Y2FzdDxDU1NTdWJzdGl0dXRpb25WYWx1ZT4odmFsdWUpLCBwcm9wZXJ0eUlEKTsKKyAgICAgICAg
cmV0dXJuIHN1YnN0aXR1dGlvblJlc29sdmVyLnN1YnN0aXR1dGVBbmRQYXJzZShkb3duY2FzdDxD
U1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlPih2YWx1ZSksIHByb3BlcnR5SUQpOwogICAgIH0oKTsK
IAogICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFyaWFibGVzLTIvI2ludmFs
aWQtdmFyaWFibGVzCkBAIC02ODQsNyArNjg0LDcgQEAgc3RkOjpvcHRpb25hbDxWYXJpYW50PFJl
Zjxjb25zdCBTdHlsZTo6Q3VzdG9tUHJvcGVydHk+LCBDU1NXaWRlS2V5d29yZD4+IEJ1aWxkZXIK
ICAgICBhdXRvKiByZWdpc3RlcmVkID0gbV9zdGF0ZS0+ZG9jdW1lbnQoKS5jdXN0b21Qcm9wZXJ0
eVJlZ2lzdHJ5KCkuZ2V0KG5hbWUpOwogCiAgICAgYXV0byBwcmVSZXNvbHZlZCA9IHN3aXRjaE9u
KHZhbHVlLnZhbHVlKCksCi0gICAgICAgIFsmXShjb25zdCBSZWY8Q1NTU3Vic3RpdHV0aW9uVmFs
dWU+JikgLT4gc3RkOjpvcHRpb25hbDxWYXJpYW50PFJlZjxjb25zdCBTdHlsZTo6Q3VzdG9tUHJv
cGVydHk+LCBDU1NXaWRlS2V5d29yZD4+IHsKKyAgICAgICAgWyZdKGNvbnN0IFJlZjxDU1NWYXJp
YWJsZVJlZmVyZW5jZVZhbHVlPiYpIC0+IHN0ZDo6b3B0aW9uYWw8VmFyaWFudDxSZWY8Y29uc3Qg
U3R5bGU6OkN1c3RvbVByb3BlcnR5PiwgQ1NTV2lkZUtleXdvcmQ+PiB7CiAgICAgICAgICAgICBy
ZXR1cm4geyB9OwogICAgICAgICB9LAogICAgICAgICBbJl0oY29uc3QgUmVmPENTU1ZhcmlhYmxl
RGF0YT4mIGRhdGEpIC0+IHN0ZDo6b3B0aW9uYWw8VmFyaWFudDxSZWY8Y29uc3QgU3R5bGU6OkN1
c3RvbVByb3BlcnR5PiwgQ1NTV2lkZUtleXdvcmQ+PiB7CkBAIC03MDIsOSArNzAyLDkgQEAgc3Rk
OjpvcHRpb25hbDxWYXJpYW50PFJlZjxjb25zdCBTdHlsZTo6Q3VzdG9tUHJvcGVydHk+LCBDU1NX
aWRlS2V5d29yZD4+IEJ1aWxkZXIKICAgICAgICAgcmV0dXJuIHByZVJlc29sdmVkOwogCiAgICAg
YXV0byByZXNvbHZlZERhdGEgPSBzd2l0Y2hPbih2YWx1ZS52YWx1ZSgpLAotICAgICAgICBbJl0o
Y29uc3QgUmVmPENTU1N1YnN0aXR1dGlvblZhbHVlPiYgc3Vic3RpdHV0aW9uVmFsdWUpIC0+IFJl
ZlB0cjxDU1NWYXJpYWJsZURhdGE+IHsKKyAgICAgICAgWyZdKGNvbnN0IFJlZjxDU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlPiYgdmFyaWFibGVSZWZlcmVuY2VWYWx1ZSkgLT4gUmVmUHRyPENTU1Zh
cmlhYmxlRGF0YT4gewogICAgICAgICAgICAgU3Vic3RpdHV0aW9uUmVzb2x2ZXIgc3Vic3RpdHV0
aW9uUmVzb2x2ZXIoKnRoaXMpOwotICAgICAgICAgICAgcmV0dXJuIHN1YnN0aXR1dGlvblJlc29s
dmVyLnN1YnN0aXR1dGUoc3Vic3RpdHV0aW9uVmFsdWUuZ2V0KCkpOworICAgICAgICAgICAgcmV0
dXJuIHN1YnN0aXR1dGlvblJlc29sdmVyLnN1YnN0aXR1dGUodmFyaWFibGVSZWZlcmVuY2VWYWx1
ZS5nZXQoKSk7CiAgICAgICAgIH0sCiAgICAgICAgIFsmXShjb25zdCBSZWY8Q1NTVmFyaWFibGVE
YXRhPiYgZGF0YSkgLT4gUmVmUHRyPENTU1ZhcmlhYmxlRGF0YT4gewogICAgICAgICAgICAgcmV0
dXJuIGRhdGEucHRyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUN1
c3RvbVByb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQ3VzdG9tUHJvcGVy
dHkuY3BwCmluZGV4IDg3MzgzNGE2YzJjYy4uMTgyZjI3YWM1YTc2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZUN1c3RvbVByb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUN1c3RvbVByb3BlcnR5LmNwcApAQCAtMjgsMTAgKzI4LDEwIEBACiAj
aW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NTZXJpYWxpemF0aW9uQ29udGV4dC5oIgotI2luY2x1ZGUgIkNTU1N1YnN0
aXR1dGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVG9rZW5pemVyLmgiCiAjaW5jbHVkZSAiQ1NT
VmFsdWVMaXN0LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCisjaW5jbHVkZSAiQ1NTVmFy
aWFibGVSZWZlcmVuY2VWYWx1ZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVk
ZSAiU3R5bGVDYWxjdWxhdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiU3R5bGVQcmltaXRpdmVOdW1l
cmljVHlwZXMrQ1NTVmFsdWVDcmVhdGlvbi5oIgpAQCAtODAsNyArODAsNyBAQCBSZWY8Q1NTVmFs
dWU+IEN1c3RvbVByb3BlcnR5Ojpwcm9wZXJ0eVZhbHVlKENTU1ZhbHVlUG9vbCYgcG9vbCwgY29u
c3QgUmVuZGVyU3R5bAogICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGUoIiJfcyk7CiAgICAgICAgIH0sCiAgICAgICAgIFsmXShjb25zdCBSZWY8Q1NTVmFyaWFibGVE
YXRhPiYgdmFyaWFibGVEYXRhKSAtPiBSZWY8Q1NTVmFsdWU+IHsKLSAgICAgICAgICAgIHJldHVy
biBDU1NTdWJzdGl0dXRpb25WYWx1ZTo6Y3JlYXRlKHZhcmlhYmxlRGF0YS5jb3B5UmVmKCkpOwor
ICAgICAgICAgICAgcmV0dXJuIENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6OmNyZWF0ZSh2YXJp
YWJsZURhdGEuY29weVJlZigpKTsKICAgICAgICAgfSwKICAgICAgICAgWyZdKGNvbnN0IFZhbHVl
JiB2YWx1ZSkgLT4gUmVmPENTU1ZhbHVlPiB7CiAgICAgICAgICAgICByZXR1cm4gY29udmVydFZh
bHVlKHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU3Vic3Rp
dHV0aW9uUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVTdWJzdGl0dXRp
b25SZXNvbHZlci5jcHAKaW5kZXggODlkMGQzZjJmYTg5Li4zM2ZkMGI3NjdlM2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU3Vic3RpdHV0aW9uUmVzb2x2ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU3Vic3RpdHV0aW9uUmVzb2x2ZXIuY3BwCkBA
IC0yNywxNCArMjcsMTQgQEAKICNpbmNsdWRlICJTdHlsZVN1YnN0aXR1dGlvblJlc29sdmVyLmgi
CiAKICNpbmNsdWRlICJDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTUGVu
ZGluZ1N1YnN0aXR1dGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgog
I2luY2x1ZGUgIkNTU1Byb3BlcnR5UGFyc2VyLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlQYXJz
ZXJDb25zdW1lcitQcmltaXRpdmVzLmgiCiAjaW5jbHVkZSAiQ1NTUmVnaXN0ZXJlZEN1c3RvbVBy
b3BlcnR5LmgiCi0jaW5jbHVkZSAiQ1NTU2hvcnRoYW5kU3Vic3RpdHV0aW9uVmFsdWUuaCIKLSNp
bmNsdWRlICJDU1NTdWJzdGl0dXRpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29y
ZHMuaCIKICNpbmNsdWRlICJDU1NWYXJpYWJsZURhdGEuaCIKKyNpbmNsdWRlICJDU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ29uc3RhbnRQcm9wZXJ0eU1hcC5oIgogI2lu
Y2x1ZGUgIkN1c3RvbUZ1bmN0aW9uUmVnaXN0cnkuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpA
QCAtMjQwLDcgKzI0MCw3IEBAIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPENTU1BhcnNlclRva2VuPj4g
U3Vic3RpdHV0aW9uUmVzb2x2ZXI6OnN1YnN0aXR1dGVUb2tlblJhbmdlCiAgICAgcmV0dXJuIHRv
a2VuczsKIH0KIAotUmVmUHRyPENTU1ZhcmlhYmxlRGF0YT4gU3Vic3RpdHV0aW9uUmVzb2x2ZXI6
OnRyeVNpbXBsZVN1YnN0aXR1dGlvbihjb25zdCBDU1NTdWJzdGl0dXRpb25WYWx1ZSYgdmFsdWUp
IGNvbnN0CitSZWZQdHI8Q1NTVmFyaWFibGVEYXRhPiBTdWJzdGl0dXRpb25SZXNvbHZlcjo6dHJ5
U2ltcGxlU3Vic3RpdHV0aW9uKGNvbnN0IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUmIHZhbHVl
KSBjb25zdAogewogICAgIGlmICghdmFsdWUubV9zaW1wbGVSZWZlcmVuY2UpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwpAQCAtMjU0LDcgKzI1NCw3IEBAIFJlZlB0cjxDU1NWYXJpYWJsZURhdGE+
IFN1YnN0aXR1dGlvblJlc29sdmVyOjp0cnlTaW1wbGVTdWJzdGl0dXRpb24oY29uc3QgQ1NTU3Vi
CiAgICAgcmV0dXJuIHN0ZDo6Z2V0PFJlZjxDU1NWYXJpYWJsZURhdGE+Pihwcm9wZXJ0eS0+dmFs
dWUoKSkucHRyKCk7CiB9CiAKLVJlZlB0cjxDU1NWYXJpYWJsZURhdGE+IFN1YnN0aXR1dGlvblJl
c29sdmVyOjpzdWJzdGl0dXRlKGNvbnN0IENTU1N1YnN0aXR1dGlvblZhbHVlJiB2YWx1ZSkgY29u
c3QKK1JlZlB0cjxDU1NWYXJpYWJsZURhdGE+IFN1YnN0aXR1dGlvblJlc29sdmVyOjpzdWJzdGl0
dXRlKGNvbnN0IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUmIHZhbHVlKSBjb25zdAogewogICAg
IGlmIChhdXRvIGRhdGEgPSB0cnlTaW1wbGVTdWJzdGl0dXRpb24odmFsdWUpKQogICAgICAgICBy
ZXR1cm4gZGF0YTsKQEAgLTI2NywzOSArMjY3LDM5IEBAIFJlZlB0cjxDU1NWYXJpYWJsZURhdGE+
IFN1YnN0aXR1dGlvblJlc29sdmVyOjpzdWJzdGl0dXRlKGNvbnN0IENTU1N1YnN0aXR1dGlvblZh
CiAgICAgcmV0dXJuIENTU1ZhcmlhYmxlRGF0YTo6Y3JlYXRlKCpzdWJzdGl0dXRlZFRva2Vucywg
Y29udGV4dCk7CiB9CiAKLVJlZlB0cjxDU1NWYWx1ZT4gU3Vic3RpdHV0aW9uUmVzb2x2ZXI6OnN1
YnN0aXR1dGVBbmRQYXJzZShjb25zdCBDU1NTdWJzdGl0dXRpb25WYWx1ZSYgc3Vic3RpdHV0aW9u
VmFsdWUsIENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkgY29uc3QKK1JlZlB0cjxDU1NWYWx1ZT4g
U3Vic3RpdHV0aW9uUmVzb2x2ZXI6OnN1YnN0aXR1dGVBbmRQYXJzZShjb25zdCBDU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlJiB2YXJpYWJsZVJlZiwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBj
b25zdAogewotICAgIGF1dG8gZGF0YSA9IHN1YnN0aXR1dGUoc3Vic3RpdHV0aW9uVmFsdWUpOwor
ICAgIGF1dG8gZGF0YSA9IHN1YnN0aXR1dGUodmFyaWFibGVSZWYpOwogICAgIGlmICghZGF0YSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAoIWFyZVBvaW50aW5nVG9FcXVhbERh
dGEoc3Vic3RpdHV0aW9uVmFsdWUubV9jYWNoZS5kZXBlbmRlbmN5RGF0YSwgZGF0YSkgfHwgc3Vi
c3RpdHV0aW9uVmFsdWUubV9jYWNoZS5wcm9wZXJ0eUlEICE9IHByb3BlcnR5SUQpIHsKLSAgICAg
ICAgc3Vic3RpdHV0aW9uVmFsdWUubV9jYWNoZS52YWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VyOjpw
YXJzZVN0eWxlUHJvcGVydHlMb25naGFuZChwcm9wZXJ0eUlELCBkYXRhLT50b2tlbnMoKSwgc3Vi
c3RpdHV0aW9uVmFsdWUuY29udGV4dCgpKTsKLSAgICAgICAgc3Vic3RpdHV0aW9uVmFsdWUubV9j
YWNoZS5wcm9wZXJ0eUlEID0gcHJvcGVydHlJRDsKKyAgICBpZiAoIWFyZVBvaW50aW5nVG9FcXVh
bERhdGEodmFyaWFibGVSZWYubV9jYWNoZS5kZXBlbmRlbmN5RGF0YSwgZGF0YSkgfHwgdmFyaWFi
bGVSZWYubV9jYWNoZS5wcm9wZXJ0eUlEICE9IHByb3BlcnR5SUQpIHsKKyAgICAgICAgdmFyaWFi
bGVSZWYubV9jYWNoZS52YWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVN0eWxlUHJvcGVy
dHlMb25naGFuZChwcm9wZXJ0eUlELCBkYXRhLT50b2tlbnMoKSwgdmFyaWFibGVSZWYuY29udGV4
dCgpKTsKKyAgICAgICAgdmFyaWFibGVSZWYubV9jYWNoZS5wcm9wZXJ0eUlEID0gcHJvcGVydHlJ
RDsKICAgICB9Ci0gICAgc3Vic3RpdHV0aW9uVmFsdWUubV9jYWNoZS5kZXBlbmRlbmN5RGF0YSA9
IFdURjo6bW92ZShkYXRhKTsKKyAgICB2YXJpYWJsZVJlZi5tX2NhY2hlLmRlcGVuZGVuY3lEYXRh
ID0gV1RGOjptb3ZlKGRhdGEpOwogCi0gICAgcmV0dXJuIHN1YnN0aXR1dGlvblZhbHVlLm1fY2Fj
aGUudmFsdWU7CisgICAgcmV0dXJuIHZhcmlhYmxlUmVmLm1fY2FjaGUudmFsdWU7CiB9CiAKLVJl
ZlB0cjxDU1NWYWx1ZT4gU3Vic3RpdHV0aW9uUmVzb2x2ZXI6OnN1YnN0aXR1dGVBbmRQYXJzZVNo
b3J0aGFuZChjb25zdCBDU1NTaG9ydGhhbmRTdWJzdGl0dXRpb25WYWx1ZSYgc3Vic3RpdHV0aW9u
LCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpIGNvbnN0CitSZWZQdHI8Q1NTVmFsdWU+IFN1YnN0
aXR1dGlvblJlc29sdmVyOjpzdWJzdGl0dXRlQW5kUGFyc2VTaG9ydGhhbmQoY29uc3QgQ1NTUGVu
ZGluZ1N1YnN0aXR1dGlvblZhbHVlJiBzdWJzdGl0dXRpb24sIENTU1Byb3BlcnR5SUQgcHJvcGVy
dHlJRCkgY29uc3QKIHsKICAgICBBU1NFUlQoIUNTU1Byb3BlcnR5Ojppc0RpcmVjdGlvbkF3YXJl
UHJvcGVydHkocHJvcGVydHlJRCkpOwogCi0gICAgYXV0byYgc3Vic3RpdHV0aW9uVmFsdWUgPSBz
dWJzdGl0dXRpb24uc2hvcnRoYW5kVmFsdWUoKTsKKyAgICBhdXRvJiB2YXJpYWJsZVJlZiA9IHN1
YnN0aXR1dGlvbi5zaG9ydGhhbmRWYWx1ZSgpOwogCi0gICAgYXV0byBkYXRhID0gc3Vic3RpdHV0
ZShzdWJzdGl0dXRpb25WYWx1ZSk7CisgICAgYXV0byBkYXRhID0gc3Vic3RpdHV0ZSh2YXJpYWJs
ZVJlZik7CiAgICAgaWYgKCFkYXRhKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIGlm
ICghYXJlUG9pbnRpbmdUb0VxdWFsRGF0YShzdWJzdGl0dXRpb25WYWx1ZS5tX2NhY2hlLmRlcGVu
ZGVuY3lEYXRhLCBkYXRhKSkgeworICAgIGlmICghYXJlUG9pbnRpbmdUb0VxdWFsRGF0YSh2YXJp
YWJsZVJlZi5tX2NhY2hlLmRlcGVuZGVuY3lEYXRhLCBkYXRhKSkgewogICAgICAgICBQYXJzZWRQ
cm9wZXJ0eVZlY3RvciBwYXJzZWRQcm9wZXJ0aWVzOwogICAgICAgICBpZiAoIUNTU1Byb3BlcnR5
UGFyc2VyOjpwYXJzZVZhbHVlKHN1YnN0aXR1dGlvbi5tX3Nob3J0aGFuZFByb3BlcnR5SWQsIElz
SW1wb3J0YW50OjpObywgZGF0YS0+dG9rZW5zKCksIGRhdGEtPmNvbnRleHQoKSwgcGFyc2VkUHJv
cGVydGllcywgU3R5bGVSdWxlVHlwZTo6U3R5bGUpKQogICAgICAgICAgICAgc3Vic3RpdHV0aW9u
Lm1fY2FjaGVkUHJvcGVydHlWYWx1ZXMgPSB7IH07CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IHN1YnN0aXR1dGlvbi5tX2NhY2hlZFByb3BlcnR5VmFsdWVzID0gcGFyc2VkUHJvcGVydGllczsK
ICAgICB9Ci0gICAgc3Vic3RpdHV0aW9uVmFsdWUubV9jYWNoZS5kZXBlbmRlbmN5RGF0YSA9IFdU
Rjo6bW92ZShkYXRhKTsKKyAgICB2YXJpYWJsZVJlZi5tX2NhY2hlLmRlcGVuZGVuY3lEYXRhID0g
V1RGOjptb3ZlKGRhdGEpOwogCiAgICAgZm9yIChhdXRvJiBwcm9wZXJ0eSA6IHN1YnN0aXR1dGlv
bi5tX2NhY2hlZFByb3BlcnR5VmFsdWVzKSB7CiAgICAgICAgIGlmIChDU1NQcm9wZXJ0eTo6cmVz
b2x2ZURpcmVjdGlvbkF3YXJlUHJvcGVydHkocHJvcGVydHkuaWQoKSwgbV9zdHlsZUJ1aWxkZXIu
c3RhdGUoKS5zdHlsZSgpLndyaXRpbmdNb2RlKCkpID09IHByb3BlcnR5SUQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVN1YnN0aXR1dGlvblJlc29sdmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZVN1YnN0aXR1dGlvblJlc29sdmVyLmgKaW5kZXggOGZhNjhm
YjJmMTFkLi5iZTI2NTcxMTZmYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlU3Vic3RpdHV0aW9uUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVN1YnN0aXR1dGlvblJlc29sdmVyLmgKQEAgLTI5LDEwICsyOSwxMCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIENTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVlOworY2xhc3Mg
Q1NTUGVuZGluZ1N1YnN0aXR1dGlvblZhbHVlOwogY2xhc3MgQ1NTVmFsdWU7CiBjbGFzcyBDU1NW
YXJpYWJsZURhdGE7Ci1jbGFzcyBDU1NTdWJzdGl0dXRpb25WYWx1ZTsKK2NsYXNzIENTU1Zhcmlh
YmxlUmVmZXJlbmNlVmFsdWU7CiBzdHJ1Y3QgQ1NTUGFyc2VyQ29udGV4dDsKIGVudW0gQ1NTUHJv
cGVydHlJRCA6IHVpbnQxNl90OwogZW51bSBDU1NWYWx1ZUlEIDogdWludDE2X3Q7CkBAIC00Nyw5
ICs0Nyw5IEBAIGNsYXNzIFN1YnN0aXR1dGlvblJlc29sdmVyIHsKIHB1YmxpYzoKICAgICBleHBs
aWNpdCBTdWJzdGl0dXRpb25SZXNvbHZlcihCdWlsZGVyJik7CiAKLSAgICBSZWZQdHI8Q1NTVmFs
dWU+IHN1YnN0aXR1dGVBbmRQYXJzZShjb25zdCBDU1NTdWJzdGl0dXRpb25WYWx1ZSYsIENTU1By
b3BlcnR5SUQpIGNvbnN0OwotICAgIFJlZlB0cjxDU1NWYWx1ZT4gc3Vic3RpdHV0ZUFuZFBhcnNl
U2hvcnRoYW5kKGNvbnN0IENTU1Nob3J0aGFuZFN1YnN0aXR1dGlvblZhbHVlJiwgQ1NTUHJvcGVy
dHlJRCkgY29uc3Q7Ci0gICAgUmVmUHRyPENTU1ZhcmlhYmxlRGF0YT4gc3Vic3RpdHV0ZShjb25z
dCBDU1NTdWJzdGl0dXRpb25WYWx1ZSYpIGNvbnN0OworICAgIFJlZlB0cjxDU1NWYWx1ZT4gc3Vi
c3RpdHV0ZUFuZFBhcnNlKGNvbnN0IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUmLCBDU1NQcm9w
ZXJ0eUlEKSBjb25zdDsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHN1YnN0aXR1dGVBbmRQYXJzZVNo
b3J0aGFuZChjb25zdCBDU1NQZW5kaW5nU3Vic3RpdHV0aW9uVmFsdWUmLCBDU1NQcm9wZXJ0eUlE
KSBjb25zdDsKKyAgICBSZWZQdHI8Q1NTVmFyaWFibGVEYXRhPiBzdWJzdGl0dXRlKGNvbnN0IENT
U1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBzdGQ6Om9w
dGlvbmFsPFZlY3RvcjxDU1NQYXJzZXJUb2tlbj4+IHN1YnN0aXR1dGVUb2tlblJhbmdlKENTU1Bh
cnNlclRva2VuUmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmKSBjb25zdDsKQEAgLTYxLDcg
KzYxLDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnBhaXI8RmFsbGJhY2tSZXN1bHQsIFZlY3RvcjxD
U1NQYXJzZXJUb2tlbj4+IHN1YnN0aXR1dGVWYXJpYWJsZUZhbGxiYWNrKGNvbnN0IEF0b21TdHJp
bmcmIHZhcmlhYmxlTmFtZSwgQ1NTUGFyc2VyVG9rZW5SYW5nZSwgQ1NTVmFsdWVJRCBmdW5jdGlv
bklkLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JikgY29uc3Q7CiAKICAgICBSZWZQdHI8Y29uc3Qg
Q3VzdG9tUHJvcGVydHk+IHByb3BlcnR5VmFsdWVGb3JWYXJpYWJsZU5hbWUoY29uc3QgQXRvbVN0
cmluZyYsIENTU1ZhbHVlSUQpIGNvbnN0OwotICAgIFJlZlB0cjxDU1NWYXJpYWJsZURhdGE+IHRy
eVNpbXBsZVN1YnN0aXR1dGlvbihjb25zdCBDU1NTdWJzdGl0dXRpb25WYWx1ZSYpIGNvbnN0Owor
ICAgIFJlZlB0cjxDU1NWYXJpYWJsZURhdGE+IHRyeVNpbXBsZVN1YnN0aXR1dGlvbihjb25zdCBD
U1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlJikgY29uc3Q7CiAKICAgICBCdWlsZGVyJiBtX3N0eWxl
QnVpbGRlcjsKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>