Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Feb 2021 15:01:15 +0100
From:      "O. Hartmann" <ohartmann@walstatt.org>
To:        Martin Matuska <mm@FreeBSD.org>
Cc:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: ba27dd8be821 - main - zfs: merge OpenZFS master-9312e0fd1
Message-ID:  <20210222150142.4b76b7c6@thor.intern.walstatt.dynvpn.de>
In-Reply-To: <202102221202.11MC24EB071531@gitrepo.freebsd.org>
References:  <202102221202.11MC24EB071531@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KSGFzaDogU0hBMjU2DQoNCkFtIE1v
biwgMjIgRmViIDIwMjEgMTI6MDI6MDQgR01UDQpNYXJ0aW4gTWF0dXNrYSA8bW1ARnJlZUJTRC5v
cmc+IHNjaHJpZWI6DQoNCj4gVGhlIGJyYW5jaCBtYWluIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbW06
DQo+IA0KPiBVUkw6IGh0dHBzOi8vY2dpdC5GcmVlQlNELm9yZy9zcmMvY29tbWl0Lz9pZD1iYTI3
ZGQ4YmU4MjE3OTJlMTViZGFiZmFjNjlmZDZjYWIwY2Y5ZGQzDQo+IA0KPiBjb21taXQgYmEyN2Rk
OGJlODIxNzkyZTE1YmRhYmZhYzY5ZmQ2Y2FiMGNmOWRkMw0KPiBNZXJnZTogYzAyYTI4NzU0YmMy
IDA2MjY5MTdkMDc4Ng0KPiBBdXRob3I6ICAgICBNYXJ0aW4gTWF0dXNrYSA8bW1ARnJlZUJTRC5v
cmc+DQo+IEF1dGhvckRhdGU6IDIwMjEtMDItMjIgMTE6MzU6NTYgKzAwMDANCj4gQ29tbWl0OiAg
ICAgTWFydGluIE1hdHVza2EgPG1tQEZyZWVCU0Qub3JnPg0KPiBDb21taXREYXRlOiAyMDIxLTAy
LTIyIDEyOjAxOjE3ICswMDAwDQo+IA0KPiAgICAgemZzOiBtZXJnZSBPcGVuWkZTIG1hc3Rlci05
MzEyZTBmZDENCj4gICAgIA0KPiAgICAgTm90YWJsZSB1cHN0cmVhbSBjaGFuZ2VzOg0KPiAgICAg
ICA3Nzg4NjlmYTEgRml4IHJlcG9ydGluZyBvZiBtb3VudCBwcm9ncmVzcw0KPiAgICAgICBlN2Fk
Y2NmN2YgRGlzYWJsZSB1c2Ugb2YgaGFyZHdhcmUgY3J5cHRvIG9mZmxvYWQgZHJpdmVycyBvbiBG
cmVlQlNEDQo+ICAgICAgIDAzZTAyZTViNSBGaXggY2hlY2tzdW0gZXJyb3JzIG5vdCBiZWluZyBj
b3VudGVkIG9uIHJlcGVhdGVkIHJlcGFpcg0KPiAgICAgICA2NGUwZmUxNGYgUmVzdG9yZSBGcmVl
QlNEIHJlc291cmNlIHVzYWdlIGFjY291bnRpbmcNCj4gICAgICAgMTFmMmU5YTQ5IEZpeCBwYW5p
YyBpZiBzY3J1YmJpbmcgYWZ0ZXIgcmVtb3ZpbmcgYSBzbG9nIGRldmljZQ0KPiAgICAgDQo+ICAg
ICBNRkMgYWZ0ZXI6ICAgICAgMiB3ZWVrcw0KPiANCj4gIGNkZGwvbGliL2xpYnpwb29sL01ha2Vm
aWxlICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsNCj4gIHN0YW5kL2xpYnNhL3pmcy96
c3RkX3NoaW0uYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICsNCj4gIHN5cy9jb250cmli
L29wZW56ZnMvY21kL3pmcy96ZnNfbWFpbi5jICAgICAgICAgICAgIHwgICAzIC0NCj4gIHN5cy9j
b250cmliL29wZW56ZnMvY21kL3p0ZXN0L3p0ZXN0LmMgICAgICAgICAgICAgIHwgMTEzICsrKysr
KysrLQ0KPiAgLi4uL29wZW56ZnMvaW5jbHVkZS9vcy9mcmVlYnNkL3NwbC9zeXMvdWlvLmggICAg
ICAgfCAgNDMgKy0tLQ0KPiAgc3lzL2NvbnRyaWIvb3Blbnpmcy9pbmNsdWRlL29zL2xpbnV4L3Nw
bC9zeXMvdWlvLmggfCAgMjIgKy0NCj4gIC4uLi9pbmNsdWRlL29zL2xpbnV4L3pmcy9zeXMvemZz
X2NvbnRleHRfb3MuaCAgICAgIHwgICAxIC0NCj4gIHN5cy9jb250cmliL29wZW56ZnMvaW5jbHVk
ZS9zeXMvTWFrZWZpbGUuYW0gICAgICAgIHwgICAxICsNCj4gIHN5cy9jb250cmliL29wZW56ZnMv
aW5jbHVkZS9zeXMvc3BhLmggICAgICAgICAgICAgIHwgICAzICstDQo+ICBzeXMvY29udHJpYi9v
cGVuemZzL2luY2x1ZGUvc3lzL3Vpb19pbXBsLmggICAgICAgICB8ICAyMSArLQ0KPiAgc3lzL2Nv
bnRyaWIvb3Blbnpmcy9pbmNsdWRlL3N5cy96ZnNfY29udGV4dC5oICAgICAgfCAgIDMgKy0NCj4g
IHN5cy9jb250cmliL29wZW56ZnMvaW5jbHVkZS9zeXMvemZzX3JhY2N0LmggICAgICAgIHwgIDM3
ICsrKw0KPiAgc3lzL2NvbnRyaWIvb3Blbnpmcy9saWIvbGlienBvb2wvTWFrZWZpbGUuYW0gICAg
ICAgfCAgIDEgKw0KPiAgc3lzL2NvbnRyaWIvb3Blbnpmcy9saWIvbGlienBvb2wvdXRpbC5jICAg
ICAgICAgICAgfCAgNzQgKysrKy0tDQo+ICAuLi4vbGliL2xpYnp1dGlsL29zL2xpbnV4L3p1dGls
X2RldmljZV9wYXRoX29zLmMgICB8IDI1MiArKysrKysrKysrKystLS0tLS0tLS0NCj4gIHN5cy9j
b250cmliL29wZW56ZnMvbW9kdWxlL01ha2VmaWxlLmJzZCAgICAgICAgICAgIHwgICAxICsNCj4g
IC4uLi9vcGVuemZzL21vZHVsZS9vcy9mcmVlYnNkL3NwbC9zcGxfdWlvLmMgICAgICAgIHwgICA5
ICstDQo+ICAuLi4vb3Blbnpmcy9tb2R1bGUvb3MvZnJlZWJzZC96ZnMvY3J5cHRvX29zLmMgICAg
ICB8ICAxNSArLQ0KPiAgLi4uL29wZW56ZnMvbW9kdWxlL29zL2ZyZWVic2QvemZzL3pmc19yYWNj
dC5jICAgICAgfCAgNTUgKysrKysNCj4gIC4uLi9vcGVuemZzL21vZHVsZS9vcy9saW51eC96ZnMv
TWFrZWZpbGUuaW4gICAgICAgIHwgICAxICsNCj4gIC4uLi9vcGVuemZzL21vZHVsZS9vcy9saW51
eC96ZnMvemZzX3JhY2N0LmMgICAgICAgIHwgIDM2ICsrKw0KPiAgc3lzL2NvbnRyaWIvb3Blbnpm
cy9tb2R1bGUvemZzL2FyYy5jICAgICAgICAgICAgICAgfCAgIDIgKw0KPiAgc3lzL2NvbnRyaWIv
b3Blbnpmcy9tb2R1bGUvemZzL2RtdS5jICAgICAgICAgICAgICAgfCAgIDUgKw0KPiAgc3lzL2Nv
bnRyaWIvb3Blbnpmcy9tb2R1bGUvemZzL2RzbF9zY2FuLmMgICAgICAgICAgfCAgIDYgKy0NCj4g
IHN5cy9jb250cmliL29wZW56ZnMvbW9kdWxlL3pmcy9zcGFfY29uZmlnLmMgICAgICAgIHwgICAy
ICstDQo+ICBzeXMvY29udHJpYi9vcGVuemZzL21vZHVsZS96ZnMvdmRldi5jICAgICAgICAgICAg
ICB8ICAgOSArLQ0KPiAgc3lzL2NvbnRyaWIvb3Blbnpmcy9tb2R1bGUvemZzL3ZkZXZfaW5kaXJl
Y3QuYyAgICAgfCAgMTAgKy0NCj4gIHN5cy9jb250cmliL29wZW56ZnMvbW9kdWxlL3pmcy92ZGV2
X3JhaWR6LmMgICAgICAgIHwgIDIwICstDQo+ICBzeXMvY29udHJpYi9vcGVuemZzL21vZHVsZS96
ZnMvdmRldl9yZWJ1aWxkLmMgICAgICB8ICAgMyArDQo+ICBzeXMvY29udHJpYi9vcGVuemZzL21v
ZHVsZS96ZnMvemZzX2ZtLmMgICAgICAgICAgICB8ICA0NiArKystDQo+ICBzeXMvY29udHJpYi9v
cGVuemZzL21vZHVsZS96ZnMvemZzX2lvY3RsLmMgICAgICAgICB8ICAgMiArLQ0KPiAgc3lzL2Nv
bnRyaWIvb3Blbnpmcy9tb2R1bGUvemZzL3pmc192bm9wcy5jICAgICAgICAgfCAgIDIgKy0NCj4g
IHN5cy9jb250cmliL29wZW56ZnMvbW9kdWxlL3pmcy96aW8uYyAgICAgICAgICAgICAgIHwgIDEx
ICstDQo+ICBzeXMvY29udHJpYi9vcGVuemZzL3NjcmlwdHMvemZzLnNoICAgICAgICAgICAgICAg
ICB8ICAgMiArLQ0KPiAgc3lzL2NvbnRyaWIvb3Blbnpmcy90ZXN0cy9ydW5maWxlcy9jb21tb24u
cnVuICAgICAgfCAgIDMgKy0NCj4gIC4uLi9mdW5jdGlvbmFsL2NsaV9yb290L3pwb29sX2V2ZW50
cy9NYWtlZmlsZS5hbSAgIHwgICAzICstDQo+ICAuLi4venBvb2xfZXZlbnRzL3pwb29sX2V2ZW50
c19jbGVhcl9yZXRhaW5lZC5rc2ggICB8IDEzNSArKysrKysrKysrKw0KPiAgLi4uL3pwb29sX2V2
ZW50cy96cG9vbF9ldmVudHNfZHVwbGljYXRlcy5rc2ggICAgICAgfCAgMTEgLQ0KPiAgc3lzL21v
ZHVsZXMvemZzL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiAg
c3lzL21vZHVsZXMvemZzL3pmc19jb25maWcuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIg
Ky0NCj4gIDQwIGZpbGVzIGNoYW5nZWQsIDcyNCBpbnNlcnRpb25zKCspLCAyNDggZGVsZXRpb25z
KC0pDQo+IA0KPiBkaWZmIC0tY2MgY2RkbC9saWIvbGlienBvb2wvTWFrZWZpbGUNCj4gaW5kZXgg
ZDliMmU2NzA5NGUzLDAwMDAwMDAwMDAwMC4uNjg5M2UzMWZmMjBhDQo+IG1vZGUgMTAwNjQ0LDAw
MDAwMC4uMTAwNjQ0DQo+IC0tLSBhL2NkZGwvbGliL2xpYnpwb29sL01ha2VmaWxlDQo+ICsrKyBi
L2NkZGwvbGliL2xpYnpwb29sL01ha2VmaWxlDQo+IEBAQCAtMSwyNjYgLTEsMCArMSwyNjcgQEBA
DQo+ICArIyAkRnJlZUJTRCQNCj4gICsNCj4gICtaRlNUT1A9CSR7U1JDVE9QfS9zeXMvY29udHJp
Yi9vcGVuemZzDQo+ICArDQo+ICArIyBaRlNfQ09NTU9OX1NSQ1MNCj4gICsuUEFUSDogJHtaRlNU
T1B9L21vZHVsZS96ZnMNCj4gICsuUEFUSDogJHtaRlNUT1B9L21vZHVsZS96Y29tbW9uDQo+ICAr
LlBBVEg6ICR7WkZTVE9QfS9tb2R1bGUvdW5pY29kZQ0KPiAgKyMgTFVBX1NSQ1MNCj4gICsuUEFU
SDogJHtaRlNUT1B9L21vZHVsZS9sdWENCj4gICsjIFpTVERfU1JDUw0KPiAgKy5QQVRIOiAke1pG
U1RPUH0vbW9kdWxlL3pzdGQNCj4gICsuUEFUSDogJHtaRlNUT1B9L21vZHVsZS96c3RkL2xpYg0K
PiAgKw0KPiAgKy5QQVRIOiAke1pGU1RPUH0vbW9kdWxlL29zL2xpbnV4L3pmcw0KPiAgKw0KPiAg
Ky5QQVRIOiAke1pGU1RPUH0vbGliL2xpYnpwb29sDQo+ICArDQo+ICArLmlmDQo+IGV4aXN0cygk
e1NSQ1RPUH0vc3lzL2NkZGwvY29udHJpYi9vcGVuc29sYXJpcy9jb21tb24vYXRvbWljLyR7TUFD
SElORV9BUkNIfS9vcGVuc29sYXJpc19hdG9taWMuUykNCj4gKy5QQVRIOiAke1NSQ1RPUH0vc3lz
L2NkZGwvY29udHJpYi9vcGVuc29sYXJpcy9jb21tb24vYXRvbWljLyR7TUFDSElORV9BUkNIfQ0K
PiArQVRPTUlDX1NSQ1M9CW9wZW5zb2xhcmlzX2F0b21pYy5TICtBQ0ZMQUdTKz0JLVdhLC0tbm9l
eGVjc3RhY2sNCj4gICsuZWxzZQ0KPiAgKy5QQVRIOiAke1NSQ1RPUH0vc3lzL2NkZGwvY29tcGF0
L29wZW5zb2xhcmlzL2tlcm4NCj4gICtBVE9NSUNfU1JDUz0Jb3BlbnNvbGFyaXNfYXRvbWljLmMN
Cj4gICsuZW5kaWYNCj4gICsNCj4gICsuaWYgJHtNQUNISU5FX0FSQ0h9ID09ICJwb3dlcnBjIiB8
fCAke01BQ0hJTkVfQVJDSH0gPT0gInBvd2VycGNzcGUiDQo+ICArIyBEb24ndCB3YXN0ZSBHT1Qg
ZW50cmllcyBvbiBzbWFsbCBkYXRhLg0KPiAgK1BJQ0ZMQUc9CS1mUElDDQo+ICArLmVuZGlmDQo+
ICArDQo+ICArTElCPQkJenBvb2wNCj4gICsNCj4gICtVU0VSX0MgPSBcDQo+ICArCWtlcm5lbC5j
IFwNCj4gICsJdGFza3EuYyBcDQo+ICArCXV0aWwuYw0KPiAgKw0KPiAgK0tFUk5FTF9DID0gXA0K
PiAgKwl6ZmVhdHVyZV9jb21tb24uYyBcDQo+ICArCXpmc19jb211dGlsLmMgXA0KPiAgKwl6ZnNf
ZGVsZWcuYyBcDQo+ICArCXpmc19mbGV0Y2hlci5jIFwNCj4gICsJemZzX2ZsZXRjaGVyX3N1cGVy
c2NhbGFyLmMgXA0KPiAgKwl6ZnNfZmxldGNoZXJfc3VwZXJzY2FsYXI0LmMgXA0KPiAgKwl6ZnNf
bmFtZWNoZWNrLmMgXA0KPiAgKwl6ZnNfcHJvcC5jIFwNCj4gICsJemZzX3pzdGQuYyBcDQo+ICAr
CXpwb29sX3Byb3AuYyBcDQo+ICArCXpwcm9wX2NvbW1vbi5jIFwNCj4gICsJYWJkLmMgXA0KPiAg
KwlhYmRfb3MuYyBcDQo+ICArCWFnZ3N1bS5jIFwNCj4gICsJYXJjLmMgXA0KPiAgKwlhcmNfb3Mu
YyBcDQo+ICArCWJsa3B0ci5jIFwNCj4gICsJYnBsaXN0LmMgXA0KPiAgKwlicG9iai5jIFwNCj4g
ICsJYnB0cmVlLmMgXA0KPiAgKwlidHJlZS5jIFwNCj4gICsJYnF1ZXVlLmMgXA0KPiAgKwljaXR5
aGFzaC5jIFwNCj4gICsJZGJ1Zi5jIFwNCj4gICsJZGJ1Zl9zdGF0cy5jIFwNCj4gICsJZGR0LmMg
XA0KPiAgKwlkZHRfemFwLmMgXA0KPiAgKwlkbXUuYyBcDQo+ICArCWRtdV9kaWZmLmMgXA0KPiAg
KwlkbXVfb2JqZWN0LmMgXA0KPiAgKwlkbXVfb2Jqc2V0LmMgXA0KPiAgKwlkbXVfcmVjdi5jIFwN
Cj4gICsJZG11X3JlZGFjdC5jIFwNCj4gICsJZG11X3NlbmQuYyBcDQo+ICArCWRtdV90cmF2ZXJz
ZS5jIFwNCj4gICsJZG11X3R4LmMgXA0KPiAgKwlkbXVfemZldGNoLmMgXA0KPiAgKwlkbm9kZS5j
IFwNCj4gICsJZG5vZGVfc3luYy5jIFwNCj4gICsJZHNsX2Jvb2ttYXJrLmMgXA0KPiAgKwlkc2xf
ZGF0YXNldC5jIFwNCj4gICsJZHNsX2RlYWRsaXN0LmMgXA0KPiAgKwlkc2xfZGVsZWcuYyBcDQo+
ICArCWRzbF9kaXIuYyBcDQo+ICArCWRzbF9jcnlwdC5jIFwNCj4gICsJZHNsX3Bvb2wuYyBcDQo+
ICArCWRzbF9wcm9wLmMgXA0KPiAgKwlkc2xfc2Nhbi5jIFwNCj4gICsJZHNsX3N5bmN0YXNrLmMg
XA0KPiAgKwlkc2xfZGVzdHJveS5jIFwNCj4gICsJZHNsX3VzZXJob2xkLmMgXA0KPiAgKwllZG9u
cl96ZnMuYyBcDQo+ICArCWhrZGYuYyBcDQo+ICArCWZtLmMgXA0KPiAgKwlnemlwLmMgXA0KPiAg
KwlsempiLmMgXA0KPiAgKwlsejQuYyBcDQo+ICArCW1ldGFzbGFiLmMgXA0KPiAgKwltbXAuYyBc
DQo+ICArCW11bHRpbGlzdC5jIFwNCj4gICsJb2JqbGlzdC5jIFwNCj4gICsJcGF0aG5hbWUuYyBc
DQo+ICArCXJhbmdlX3RyZWUuYyBcDQo+ICArCXJlZmNvdW50LmMgXA0KPiAgKwlycndsb2NrLmMg
XA0KPiAgKwlzYS5jIFwNCj4gICsJc2hhMjU2LmMgXA0KPiAgKwlza2Vpbl96ZnMuYyBcDQo+ICAr
CXNwYS5jIFwNCj4gICsJc3BhX2Jvb3QuYyBcDQo+ICArCXNwYV9jaGVja3BvaW50LmMgXA0KPiAg
KwlzcGFfY29uZmlnLmMgXA0KPiAgKwlzcGFfZXJybG9nLmMgXA0KPiAgKwlzcGFfaGlzdG9yeS5j
IFwNCj4gICsJc3BhX2xvZ19zcGFjZW1hcC5jIFwNCj4gICsJc3BhX21pc2MuYyBcDQo+ICArCXNw
YV9zdGF0cy5jIFwNCj4gICsJc3BhY2VfbWFwLmMgXA0KPiAgKwlzcGFjZV9yZWZ0cmVlLmMgXA0K
PiAgKwl0eGcuYyBcDQo+ICArCXRyYWNlLmMgXA0KPiAgKwl1YmVyYmxvY2suYyBcDQo+ICArCXVu
aXF1ZS5jIFwNCj4gICsJdmRldi5jIFwNCj4gICsJdmRldl9jYWNoZS5jIFwNCj4gICsJdmRldl9k
cmFpZC5jIFwNCj4gICsJdmRldl9kcmFpZF9yYW5kLmMgXA0KPiAgKwl2ZGV2X2ZpbGUuYyBcDQo+
ICArCXZkZXZfaW5kaXJlY3RfYmlydGhzLmMgXA0KPiAgKwl2ZGV2X2luZGlyZWN0LmMgXA0KPiAg
Kwl2ZGV2X2luZGlyZWN0X21hcHBpbmcuYyBcDQo+ICArCXZkZXZfaW5pdGlhbGl6ZS5jIFwNCj4g
ICsJdmRldl9sYWJlbC5jIFwNCj4gICsJdmRldl9taXJyb3IuYyBcDQo+ICArCXZkZXZfbWlzc2lu
Zy5jIFwNCj4gICsJdmRldl9xdWV1ZS5jIFwNCj4gICsJdmRldl9yYWlkei5jIFwNCj4gICsJdmRl
dl9yYWlkel9tYXRoX2FhcmNoNjRfbmVvbi5jIFwNCj4gICsJdmRldl9yYWlkel9tYXRoX2FhcmNo
NjRfbmVvbngyLmMgXA0KPiAgKwl2ZGV2X3JhaWR6X21hdGhfYXZ4Mi5jIFwNCj4gICsJdmRldl9y
YWlkel9tYXRoX2F2eDUxMmJ3LmMgXA0KPiAgKwl2ZGV2X3JhaWR6X21hdGhfYXZ4NTEyZi5jIFwN
Cj4gICsJdmRldl9yYWlkel9tYXRoLmMgXA0KPiAgKwl2ZGV2X3JhaWR6X21hdGhfc2NhbGFyLmMg
XA0KPiAgKwl2ZGV2X3JlYnVpbGQuYyBcDQo+ICArCXZkZXZfcmVtb3ZhbC5jIFwNCj4gICsJdmRl
dl9yb290LmMgXA0KPiAgKwl2ZGV2X3RyaW0uYyBcDQo+ICArCXphcC5jIFwNCj4gICsJemFwX2xl
YWYuYyBcDQo+ICArCXphcF9taWNyby5jIFwNCj4gICsJemNwLmMgXA0KPiAgKwl6Y3BfZ2V0LmMg
XA0KPiAgKwl6Y3BfZ2xvYmFsLmMgXA0KPiAgKwl6Y3BfaXRlci5jIFwNCj4gICsJemNwX3NldC5j
IFwNCj4gICsJemNwX3N5bmN0YXNrLmMgXA0KPiAgKwl6ZmVhdHVyZS5jIFwNCj4gICsJemZzX2J5
dGVzd2FwLmMgXA0KPiAgKwl6ZnNfZGVidWcuYyBcDQo+ICArCXpmc19mbS5jIFwNCj4gICsJemZz
X2Z1aWQuYyBcDQo+ICArCXpmc19zYS5jIFwNCj4gICsJemZzX3pub2RlLmMgXA0KPiArKwl6ZnNf
cmFjY3QuYyBcDQo+ICArCXpmc19yYXRlbGltaXQuYyBcDQo+ICArCXpmc19ybG9jay5jIFwNCj4g
ICsJemlsLmMgXA0KPiAgKwl6aW8uYyBcDQo+ICArCXppb19jaGVja3N1bS5jIFwNCj4gICsJemlv
X2NvbXByZXNzLmMgXA0KPiAgKwl6aW9fY3J5cHQuYyBcDQo+ICArCXppb19pbmplY3QuYyBcDQo+
ICArCXpsZS5jIFwNCj4gICsJenJsb2NrLmMgXA0KPiAgKwl6c3RkLmMgXA0KPiAgKwl6dGhyLmMN
Cj4gICsNCj4gICtBUkNIX0MgPQ0KPiAgKy5pZiAke01BQ0hJTkVfQVJDSH0gPT0gImFtZDY0IiB8
fCAke01BQ0hJTkVfQVJDSH0gPT0gImkzODYiDQo+ICArQVJDSF9DICs9IAl2ZGV2X3JhaWR6X21h
dGhfc3NlMi5jIFwNCj4gICsJCXZkZXZfcmFpZHpfbWF0aF9zc3NlMy5jIFwNCj4gICsJCXpmc19m
bGV0Y2hlcl9pbnRlbC5jIFwNCj4gICsJCXpmc19mbGV0Y2hlcl9zc2UuYyANCj4gICtDRkxBR1Mg
Kz0gIC1ESEFWRV9TU0UyIAktREhBVkVfU1NFMw0KPiAgKy5lbmRpZg0KPiAgKy5pZiAke01BQ0hJ
TkVfQVJDSH0gPT0gImFtZDY0Ig0KPiAgK0FSQ0hfQyArPQl6ZnNfZmxldGNoZXJfYXZ4NTEyLmMN
Cj4gICtDRkxBR1MrPSAtREhBVkVfQVZYMiAtREhBVkVfQVZYIC1EX194ODZfNjQgLURIQVZFX0FW
WDUxMkYgXA0KPiAgKwktREhBVkVfQVZYNTEyQlcNCj4gICsuZW5kaWYNCj4gICsuaWYgJHtNQUNI
SU5FX0NQVUFSQ0h9ID09ICJhYXJjaDY0Ig0KPiAgK0FSQ0hfQyArPQl6ZnNfZmxldGNoZXJfYWFy
Y2g2NF9uZW9uLmMNCj4gICsuZW5kaWYNCj4gICsNCj4gICtMVUFfQyA9IFwNCj4gICsJbGFwaS5j
IFwNCj4gICsJbGF1eGxpYi5jIFwNCj4gICsJbGJhc2VsaWIuYyBcDQo+ICArCWxjb2RlLmMgXA0K
PiAgKwlsY29tcGF0LmMgXA0KPiAgKwlsY29yb2xpYi5jIFwNCj4gICsJbGN0eXBlLmMgXA0KPiAg
KwlsZGVidWcuYyBcDQo+ICArCWxkby5jIFwNCj4gICsJbGZ1bmMuYyBcDQo+ICArCWxnYy5jIFwN
Cj4gICsJbGxleC5jIFwNCj4gICsJbG1lbS5jIFwNCj4gICsJbG9iamVjdC5jIFwNCj4gICsJbG9w
Y29kZXMuYyBcDQo+ICArCWxwYXJzZXIuYyBcDQo+ICArCWxzdGF0ZS5jIFwNCj4gICsJbHN0cmlu
Zy5jIFwNCj4gICsJbHN0cmxpYi5jIFwNCj4gICsJbHRhYmxlLmMgXA0KPiAgKwlsdGFibGliLmMg
XA0KPiAgKwlsdG0uYyBcDQo+ICArCWx2bS5jIFwNCj4gICsJbHppby5jDQo+ICArDQo+ICArVU5J
Q09ERV9DID0gdThfdGV4dHByZXAuYyB1Y29udi5jDQo+ICArDQo+ICArU1JDUz0JCSR7VVNFUl9D
fSAke0tFUk5FTF9DfSAke0xVQV9DfSAke1VOSUNPREVfQ30gJHtBUkNIX0N9DQo+ICArDQo+ICAr
V0FSTlM/PQkJMg0KPiAgK0NGTEFHUys9IFwNCj4gICsJLURJTl9CQVNFIFwNCj4gICsJLUkke1pG
U1RPUH0vaW5jbHVkZSBcDQo+ICArCS1JJHtaRlNUT1B9L2xpYi9saWJzcGwvaW5jbHVkZSBcDQo+
ICArCS1JJHtaRlNUT1B9L2xpYi9saWJzcGwvaW5jbHVkZS9vcy9mcmVlYnNkIFwNCj4gICsJLUkk
e1NSQ1RPUH0vc3lzIFwNCj4gICsJLUkke1pGU1RPUH0vaW5jbHVkZS9vcy9mcmVlYnNkL3pmcyBc
DQo+ICArCS1JJHtTUkNUT1B9L2NkZGwvY29tcGF0L29wZW5zb2xhcmlzL2luY2x1ZGUgXA0KPiAg
KwktSSR7WkZTVE9QfS9tb2R1bGUvaWNwL2luY2x1ZGUgXA0KPiAgKwktaW5jbHVkZSAke1pGU1RP
UH0vaW5jbHVkZS9vcy9mcmVlYnNkL3NwbC9zeXMvY2NvbXBpbGUuaCBcDQo+ICArCS1ESEFWRV9J
U1NFVFVHSUQgXA0KPiAgKwktaW5jbHVkZSAke1NSQ1RPUH0vc3lzL21vZHVsZXMvemZzL3pmc19j
b25maWcuaCBcDQo+ICArCS1JJHtTUkNUT1B9L3N5cy9tb2R1bGVzL3pmcyBcDQo+ICArCS1JJHta
RlNUT1B9L2luY2x1ZGUvb3MvZnJlZWJzZC96ZnMgXA0KPiAgKwktRExJQl9aUE9PTF9CVUlMRCAt
RFpGU19ERUJVRyBcDQo+ICArDQo+ICArIyBYWFg6IHB0aHJlYWQgZG9lc24ndCBoYXZlIG11dGV4
X293bmVkKCkgZXF1aXZhbGVudCwgc28gd2UgbmVlZCB0byBsb29rDQo+ICArIyAgICAgIGludG8g
bGlidGhyIHByaXZhdGUgc3RydWN0dXJlcy4gVGhhdCdzIHNvb28gZXZpbCwgYnV0IGl0J3Mgb25s
eSBmb3INCj4gICsjICAgICAgWkZTIGRlYnVnZ2luZyB0b29scyBuZWVkcy4NCj4gICtDRkxBR1Mr
PQktRFdBTlRTX01VVEVYX09XTkVEDQo+ICArQ0ZMQUdTKz0JLUkke1NSQ1RPUH0vbGliL2xpYnB0
aHJlYWQvdGhyZWFkDQo+ICArQ0ZMQUdTKz0JLUkke1NSQ1RPUH0vbGliL2xpYnB0aHJlYWQvc3lz
DQo+ICArQ0ZMQUdTKz0JLUkke1NSQ1RPUH0vbGliL2xpYnRoci9hcmNoLyR7TUFDSElORV9DUFVB
UkNIfS9pbmNsdWRlDQo+ICArQ0ZMQUdTLmdjYys9CS1mbXMtZXh0ZW5zaW9ucw0KPiAgKw0KPiAg
K0xJQkFERD0JCW1kIHB0aHJlYWQgeiBzcGwgaWNwIG52cGFpciBhdmwgdW1lbQ0KPiAgKw0KPiAg
KyMgYXRvbWljLlMgZG9lc24ndCBsaWtlIHByb2ZpbGluZy4NCj4gICtNS19QUk9GSUxFPQlubw0K
PiAgKw0KPiAgK0NTVEQ9CWM5OQ0KPiAgKw0KPiAgKyMgU2luY2UgdGhlcmUgYXJlIG1hbnkgYXNz
ZXJ0cyBpbiB0aGlzIGxpYnJhcnksIGl0IG1ha2VzIG5vIHNlbnNlIHRvIGNvbXBpbGUNCj4gICsj
IGl0IHdpdGhvdXQgZGVidWdnaW5nLg0KPiAgKw0KPiAgK0NGTEFHUys9CS1nIC1EREVCVUc9MQ0K
PiAgKw0KPiAgK0NGTEFHUy56ZnNfenN0ZC5jPQktV25vLWNhc3QtcXVhbCAtV25vLXBvaW50ZXIt
YXJpdGgNCj4gICtDRkxBR1MuenN0ZC5jKz0JLWZuby10cmVlLXZlY3Rvcml6ZQ0KPiAgKw0KPiAg
Ky5pbmNsdWRlIDxic2QubGliLm1rPg0KPiBkaWZmIC0tY2Mgc3RhbmQvbGlic2EvemZzL3pzdGRf
c2hpbS5jDQo+IGluZGV4IGI5NGRmNmY1MTkxMywwMDAwMDAwMDAwMDAuLjkxZjUxNzFhNzJiNQ0K
PiBtb2RlIDEwMDY0NCwwMDAwMDAuLjEwMDY0NA0KPiAtLS0gYS9zdGFuZC9saWJzYS96ZnMvenN0
ZF9zaGltLmMNCj4gKysrIGIvc3RhbmQvbGlic2EvemZzL3pzdGRfc2hpbS5jDQo+IEBAQCAtMSw0
MCAtMSwwICsxLDQ1IEBAQA0KPiAgKy8qLQ0KPiAgKyAqIENvcHlyaWdodCAoYykgMjAyMCBNLiBX
YXJuZXIgTG9zaCA8aW1wQEZyZWVCU0Qub3JnPg0KPiAgKyAqDQo+ICArICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQo+
ICArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zDQo+ICArICogYXJlIG1ldDoNCj4gICsgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KPiAgKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4NCj4gICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KPiAgKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCj4gICsg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLg0KPiAgKyAqDQo+ICArICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORA0KPiAgKyAqIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQ0KPiAgKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFDQo+ICArICogQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUNCj4gICsgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTA0KPiAgKyAqIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTDQo+ICAr
ICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pDQo+ICArICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QNCj4gICsgKiBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZDQo+ICArICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRg0KPiAgKyAqIFNVQ0ggREFNQUdFLg0KPiAg
KyAqDQo+ICArICovDQo+ICArI2luY2x1ZGUgPHN5cy9jZGVmcy5oPg0KPiAgK19fRkJTRElEKCIk
RnJlZUJTRCQiKTsNCj4gICsNCj4gICsvKg0KPiAgKyAqIFNtYWxsIGFtb3VudCBvZiBzaGltIGNv
ZGUgbmVlZGVkIHRvIGdldCB6ZnNfenN0ZC5jIHRvIGNvbXBpbGUuIFRoZXNlIGl0ZW1zDQo+ICAr
ICogaGVyZSBzaG91bGQgYWxsIGJlIGRlZmluZWQgaW4gdGhlIFNQTCBvciBhcyBwYXJ0IG9mIGxp
YnN0YW5kIHNvbWV3aGVyZSwgYnV0DQo+ICArICogYXJlbid0IGZvciByZWFzb25zIHRoYXQgaGF2
ZW4ndCBiZWVuIHRyYWNrZWQgZG93biB5ZXQuIElkZWFsbHksIHRoZXkgd291bGQNCj4gICsgKiBh
bGwgZ28gYXdheSBhbmQgd2UnZCBjb21waWxlIHpmc196c3RkLmMgZGlyZWN0bHkuIEJhc2VkIG9u
IGFuIG9yaWdpbmFsIGJ5DQo+ICArICogTWF0dCBNYWNleSwgYnV0IG9ubHkgdGhlICNpbmNsdWRl
IHJlbWFpbnMgdW50b3VjaGVkIGZyb20gdGhhdC4NCj4gICsgKi8NCj4gICsNCj4gICsjZGVmaW5l
IFpGU19NT0RVTEVfUEFSQU1fQVJHUyB2b2lkDQo+ICArdHlwZWRlZiBpbnQgYm9vbGVhbl90Owkv
KiBUaGlzIG9uZSBtYXkgYmUgdG91Z2ggdG8gZ2V0IHJpZCBvZiAqLw0KPiAgKw0KPiArKy8qIFRP
RE86IG9wZW56ZnMvaW5jbHVkZS9zeXMvdWlvX2ltcGwuaCBtdXN0IG5vdCBiZSBpbmNsdWRlZCAq
Lw0KPiArKyNpZm5kZWYgX1NZU19VSU9fSU1QTF9IDQo+ICsrI2RlZmluZSBfU1lTX1VJT19JTVBM
X0gNCj4gKysjZW5kaWYNCj4gKysNCj4gICsjaW5jbHVkZSA8Y29udHJpYi9vcGVuemZzL21vZHVs
ZS96c3RkL3pmc196c3RkLmM+DQo+IGRpZmYgLS1jYyBzeXMvY29udHJpYi9vcGVuemZzL2luY2x1
ZGUvc3lzL3pmc19yYWNjdC5oDQo+IGluZGV4IDAwMDAwMDAwMDAwMCxjZmNkZDMzNmVhNDIuLmNm
Y2RkMzM2ZWE0Mg0KPiBtb2RlIDAwMDAwMCwxMDA2NDQuLjEwMDY0NA0KPiAtLS0gYS9zeXMvY29u
dHJpYi9vcGVuemZzL2luY2x1ZGUvc3lzL3pmc19yYWNjdC5oDQo+ICsrKyBiL3N5cy9jb250cmli
L29wZW56ZnMvaW5jbHVkZS9zeXMvemZzX3JhY2N0LmgNCj4gZGlmZiAtLWNjIHN5cy9jb250cmli
L29wZW56ZnMvbW9kdWxlL29zL2ZyZWVic2QvemZzL3pmc19yYWNjdC5jDQo+IGluZGV4IDAwMDAw
MDAwMDAwMCxiNDZjYzA0NjI2OGUuLmI0NmNjMDQ2MjY4ZQ0KPiBtb2RlIDAwMDAwMCwxMDA2NDQu
LjEwMDY0NA0KPiAtLS0gYS9zeXMvY29udHJpYi9vcGVuemZzL21vZHVsZS9vcy9mcmVlYnNkL3pm
cy96ZnNfcmFjY3QuYw0KPiArKysgYi9zeXMvY29udHJpYi9vcGVuemZzL21vZHVsZS9vcy9mcmVl
YnNkL3pmcy96ZnNfcmFjY3QuYw0KPiBkaWZmIC0tY2Mgc3lzL2NvbnRyaWIvb3Blbnpmcy9tb2R1
bGUvb3MvbGludXgvemZzL3pmc19yYWNjdC5jDQo+IGluZGV4IDAwMDAwMDAwMDAwMCw3ODk3ZTBm
OWVkYzEuLjc4OTdlMGY5ZWRjMQ0KPiBtb2RlIDAwMDAwMCwxMDA2NDQuLjEwMDY0NA0KPiAtLS0g
YS9zeXMvY29udHJpYi9vcGVuemZzL21vZHVsZS9vcy9saW51eC96ZnMvemZzX3JhY2N0LmMNCj4g
KysrIGIvc3lzL2NvbnRyaWIvb3Blbnpmcy9tb2R1bGUvb3MvbGludXgvemZzL3pmc19yYWNjdC5j
DQo+IGRpZmYgLS1jYyBzeXMvY29udHJpYi9vcGVuemZzL21vZHVsZS96ZnMvemZzX2lvY3RsLmMN
Cj4gaW5kZXggMGUzNWZkMDY5Y2JiLDAwMDAwMDAwMDAwMC4uOTIyMjUzNDY5ZmJhDQo+IG1vZGUg
MTAwNjQ0LDAwMDAwMC4uMTAwNjQ0DQo+IC0tLSBhL3N5cy9jb250cmliL29wZW56ZnMvbW9kdWxl
L3pmcy96ZnNfaW9jdGwuYw0KPiArKysgYi9zeXMvY29udHJpYi9vcGVuemZzL21vZHVsZS96ZnMv
emZzX2lvY3RsLmMNCj4gQEBAIC0xLDc2ODggLTEsMCArMSw3Njg4IEBAQA0KPiAgKy8qDQo+ICAr
ICogQ0RETCBIRUFERVIgU1RBUlQNCj4gICsgKg0KPiAgKyAqIFRoZSBjb250ZW50cyBvZiB0aGlz
IGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZQ0KPiAgKyAqIENvbW1vbiBEZXZl
bG9wbWVudCBhbmQgRGlzdHJpYnV0aW9uIExpY2Vuc2UgKHRoZSAiTGljZW5zZSIpLg0KPiAgKyAq
IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUg
TGljZW5zZS4NCj4gICsgKg0KPiAgKyAqIFlvdSBjYW4gb2J0YWluIGEgY29weSBvZiB0aGUgbGlj
ZW5zZSBhdCB1c3Ivc3JjL09QRU5TT0xBUklTLkxJQ0VOU0UNCj4gICsgKiBvciBodHRwOi8vd3d3
Lm9wZW5zb2xhcmlzLm9yZy9vcy9saWNlbnNpbmcuDQo+ICArICogU2VlIHRoZSBMaWNlbnNlIGZv
ciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zDQo+ICArICogYW5k
IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KPiAgKyAqDQo+ICArICogV2hlbiBkaXN0
cmlidXRpbmcgQ292ZXJlZCBDb2RlLCBpbmNsdWRlIHRoaXMgQ0RETCBIRUFERVIgaW4gZWFjaA0K
PiAgKyAqIGZpbGUgYW5kIGluY2x1ZGUgdGhlIExpY2Vuc2UgZmlsZSBhdCB1c3Ivc3JjL09QRU5T
T0xBUklTLkxJQ0VOU0UuDQo+ICArICogSWYgYXBwbGljYWJsZSwgYWRkIHRoZSBmb2xsb3dpbmcg
YmVsb3cgdGhpcyBDRERMIEhFQURFUiwgd2l0aCB0aGUNCj4gICsgKiBmaWVsZHMgZW5jbG9zZWQg
YnkgYnJhY2tldHMgIltdIiByZXBsYWNlZCB3aXRoIHlvdXIgb3duIGlkZW50aWZ5aW5nDQo+ICAr
ICogaW5mb3JtYXRpb246IFBvcnRpb25zIENvcHlyaWdodCBbeXl5eV0gW25hbWUgb2YgY29weXJp
Z2h0IG93bmVyXQ0KPiAgKyAqDQo+ICArICogQ0RETCBIRUFERVIgRU5EDQo+ICArICovDQo+ICAr
DQo+ICArLyoNCj4gICsgKiBDb3B5cmlnaHQgKGMpIDIwMDUsIDIwMTAsIE9yYWNsZSBhbmQvb3Ig
aXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICArICogUG9ydGlvbnMgQ29w
eXJpZ2h0IDIwMTEgTWFydGluIE1hdHVza2ENCj4gICsgKiBDb3B5cmlnaHQgMjAxNSwgT21uaVRJ
IENvbXB1dGVyIENvbnN1bHRpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gICsgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgMjAxMiBQYXdlbCBKYWt1YiBEYXdpZGVrIDxwYXdlbEBkYXdpZGVr
Lm5ldD4NCj4gICsgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIDIwMTYgSm95ZW50LCBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuDQo+ICArICogQ29weXJpZ2h0IDIwMTYgTmV4ZW50YSBTeXN0ZW1zLCBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiAgKyAqIENvcHlyaWdodCAoYykgMjAxNCwgSm95
ZW50LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICArICogQ29weXJpZ2h0IChjKSAyMDEx
LCAyMDIwIGJ5IERlbHBoaXguIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICArICogQ29weXJpZ2h0
IChjKSAyMDEzIGJ5IFNhc28gS2lzZWxrb3YuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICArICog
Q29weXJpZ2h0IChjKSAyMDEzIFN0ZXZlbiBIYXJ0bGFuZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4N
Cj4gICsgKiBDb3B5cmlnaHQgKGMpIDIwMTQgSW50ZWdyb3MgW2ludGVncm9zLmNvbV0NCj4gICsg
KiBDb3B5cmlnaHQgMjAxNiBUb29tYXMgU29vbWUgPHRzb29tZUBtZS5jb20+DQo+ICArICogQ29w
eXJpZ2h0IChjKSAyMDE2IEFjdGlmaW8sIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gICsg
KiBDb3B5cmlnaHQgKGMpIDIwMTgsIGxvbGkxMEsgPGV6b21vcmkubm96b211QGdtYWlsLmNvbT4u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICArICogQ29weXJpZ2h0IDIwMTcgUmFja1RvcCBTeXN0
ZW1zLg0KPiAgKyAqIENvcHlyaWdodCAoYykgMjAxNyBPcGVuLUUsIEluYy4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4NCj4gICsgKiBDb3B5cmlnaHQgKGMpIDIwMTkgRGF0dG8gSW5jLg0KPiAgKyAqIENv
cHlyaWdodCAoYykgMjAxOSwgMjAyMCBieSBDaHJpc3RpYW4gU2Nod2Fyei4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4NCj4gICsgKiBDb3B5cmlnaHQgKGMpIDIwMTksIEtsYXJhIEluYy4NCj4gICsgKiBD
b3B5cmlnaHQgKGMpIDIwMTksIEFsbGFuIEp1ZGUNCj4gICsgKi8NCj4gICsNCj4gICsvKg0KPiAg
KyAqIFpGUyBpb2N0bHMuDQo+ICArICoNCj4gICsgKiBUaGlzIGZpbGUgaGFuZGxlcyB0aGUgaW9j
dGxzIHRvIC9kZXYvemZzLCB1c2VkIGZvciBjb25maWd1cmluZyBaRlMgc3RvcmFnZQ0KPiAgKyAq
IHBvb2xzIGFuZCBmaWxlc3lzdGVtcywgZS5nLiB3aXRoIC9zYmluL3pmcyBhbmQgL3NiaW4venBv
b2wuDQo+ICArICoNCj4gICsgKiBUaGVyZSBhcmUgdHdvIHdheXMgdGhhdCB3ZSBoYW5kbGUgaW9j
dGxzOiB0aGUgbGVnYWN5IHdheSB3aGVyZSBhbG1vc3QNCj4gICsgKiBhbGwgb2YgdGhlIGxvZ2lj
IGlzIGluIHRoZSBpb2N0bCBjYWxsYmFjaywgYW5kIHRoZSBuZXcgd2F5IHdoZXJlIG1vc3QNCj4g
ICsgKiBvZiB0aGUgbWFyc2hhbGxpbmcgaXMgaGFuZGxlZCBpbiB0aGUgY29tbW9uIGVudHJ5IHBv
aW50LCB6ZnNkZXZfaW9jdGwoKS4NCj4gICsgKg0KPiAgKyAqIE5vbi1sZWdhY3kgaW9jdGxzIHNo
b3VsZCBiZSByZWdpc3RlcmVkIGJ5IGNhbGxpbmcNCj4gICsgKiB6ZnNfaW9jdGxfcmVnaXN0ZXIo
KSBmcm9tIHpmc19pb2N0bF9pbml0KCkuICBUaGUgaW9jdGwgaXMgaW52b2tlZA0KPiAgKyAqIGZy
b20gdXNlcmxhbmQgYnkgbHpjX2lvY3RsKCkuDQo+ICArICoNCj4gICsgKiBUaGUgcmVnaXN0cmF0
aW9uIGFyZ3VtZW50cyBhcmUgYXMgZm9sbG93czoNCj4gICsgKg0KPiAgKyAqIGNvbnN0IGNoYXIg
Km5hbWUNCj4gICsgKiAgIFRoZSBuYW1lIG9mIHRoZSBpb2N0bC4gIFRoaXMgaXMgdXNlZCBmb3Ig
aGlzdG9yeSBsb2dnaW5nLiAgSWYgdGhlDQo+ICArICogICBpb2N0bCByZXR1cm5zIHN1Y2Nlc3Nm
dWxseSAodGhlIGNhbGxiYWNrIHJldHVybnMgMCksIGFuZCBhbGxvd19sb2cNCj4gICsgKiAgIGlz
IHRydWUsIHRoZW4gYSBoaXN0b3J5IGxvZyBlbnRyeSB3aWxsIGJlIHJlY29yZGVkIHdpdGggdGhl
IGlucHV0ICYNCj4gICsgKiAgIG91dHB1dCBudmxpc3RzLiAgVGhlIGxvZyBlbnRyeSBjYW4gYmUg
cHJpbnRlZCB3aXRoICJ6cG9vbCBoaXN0b3J5IC1pIi4NCj4gICsgKg0KPiAgKyAqIHpmc19pb2Nf
dCBpb2MNCj4gICsgKiAgIFRoZSBpb2N0bCByZXF1ZXN0IG51bWJlciwgd2hpY2ggdXNlcmxhbmQg
d2lsbCBwYXNzIHRvIGlvY3RsKDIpLg0KPiAgKyAqICAgV2Ugd2FudCBuZXdlciB2ZXJzaW9ucyBv
ZiBsaWJ6ZnMgYW5kIGxpYnpmc19jb3JlIHRvIHJ1biBhZ2FpbnN0DQo+ICArICogICBleGlzdGlu
ZyB6ZnMga2VybmVsIG1vZHVsZXMgKGkuZS4gYSBkZWZlcnJlZCByZWJvb3QgYWZ0ZXIgYW4gdXBk
YXRlKS4NCj4gICsgKiAgIFRoZXJlZm9yZSB0aGUgaW9jdGwgbnVtYmVycyBjYW5ub3QgY2hhbmdl
IGZyb20gcmVsZWFzZSB0byByZWxlYXNlLg0KPiAgKyAqDQo+ICArICogemZzX3NlY3BvbGljeV9m
dW5jX3QgKnNlY3BvbGljeQ0KPiAgKyAqICAgVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBi
ZWZvcmUgdGhlIHpmc19pb2NfZnVuY190LCB0bw0KPiAgKyAqICAgZGV0ZXJtaW5lIGlmIHRoaXMg
b3BlcmF0aW9uIGlzIHBlcm1pdHRlZC4gIEl0IHNob3VsZCByZXR1cm4gRVBFUk0NCj4gICsgKiAg
IG9uIGZhaWx1cmUsIGFuZCAwIG9uIHN1Y2Nlc3MuICBDaGVja3MgaW5jbHVkZSBkZXRlcm1pbmlu
ZyBpZiB0aGUNCj4gICsgKiAgIGRhdGFzZXQgaXMgdmlzaWJsZSBpbiB0aGlzIHpvbmUsIGFuZCBp
ZiB0aGUgdXNlciBoYXMgZWl0aGVyIGFsbA0KPiAgKyAqICAgemZzIHByaXZpbGVnZXMgaW4gdGhl
IHpvbmUgKFNZU19NT1VOVCksIG9yIGhhcyBiZWVuIGdyYW50ZWQgcGVybWlzc2lvbg0KPiAgKyAq
ICAgdG8gZG8gdGhpcyBvcGVyYXRpb24gb24gdGhpcyBkYXRhc2V0IHdpdGggInpmcyBhbGxvdyIu
DQo+ICArICoNCj4gICsgKiB6ZnNfaW9jX25hbWVjaGVja190IG5hbWVjaGVjaw0KPiAgKyAqICAg
VGhpcyBzcGVjaWZpZXMgd2hhdCB0byBleHBlY3QgaW4gdGhlIHpmc19jbWRfdDp6Y19uYW1lIC0t
IGEgcG9vbA0KPiAgKyAqICAgbmFtZSwgYSBkYXRhc2V0IG5hbWUsIG9yIG5vdGhpbmcuICBJZiB0
aGUgbmFtZSBpcyBub3Qgd2VsbC1mb3JtZWQsDQo+ICArICogICB0aGUgaW9jdGwgd2lsbCBmYWls
IGFuZCB0aGUgY2FsbGJhY2sgd2lsbCBub3QgYmUgY2FsbGVkLg0KPiAgKyAqICAgVGhlcmVmb3Jl
LCB0aGUgY2FsbGJhY2sgY2FuIGFzc3VtZSB0aGF0IHRoZSBuYW1lIGlzIHdlbGwtZm9ybWVkDQo+
ICArICogICAoZS5nLiBpcyBudWxsLXRlcm1pbmF0ZWQsIGRvZXNuJ3QgaGF2ZSBtb3JlIHRoYW4g
b25lICdAJyBjaGFyYWN0ZXIsDQo+ICArICogICBkb2Vzbid0IGhhdmUgaW52YWxpZCBjaGFyYWN0
ZXJzKS4NCj4gICsgKg0KPiAgKyAqIHpmc19pb2NfcG9vbGNoZWNrX3QgcG9vbF9jaGVjaw0KPiAg
KyAqICAgVGhpcyBzcGVjaWZpZXMgcmVxdWlyZW1lbnRzIG9uIHRoZSBwb29sIHN0YXRlLiAgSWYg
dGhlIHBvb2wgZG9lcw0KPiAgKyAqICAgbm90IG1lZXQgdGhlbSAoaXMgc3VzcGVuZGVkIG9yIGlz
IHJlYWRvbmx5KSwgdGhlIGlvY3RsIHdpbGwgZmFpbA0KPiAgKyAqICAgYW5kIHRoZSBjYWxsYmFj
ayB3aWxsIG5vdCBiZSBjYWxsZWQuICBJZiBhbnkgY2hlY2tzIGFyZSBzcGVjaWZpZWQNCj4gICsg
KiAgIChpLmUuIGl0IGlzIG5vdCBQT09MX0NIRUNLX05PTkUpLCBuYW1lY2hlY2sgbXVzdCBub3Qg
YmUgTk9fTkFNRS4NCj4gICsgKiAgIE11bHRpcGxlIGNoZWNrcyBjYW4gYmUgb3ItZWQgdG9nZXRo
ZXIgKGUuZy4gUE9PTF9DSEVDS19TVVNQRU5ERUQgfA0KPiAgKyAqICAgUE9PTF9DSEVDS19SRUFE
T05MWSkuDQo+ICArICoNCj4gICsgKiB6ZnNfaW9jX2tleV90ICpudmxfa2V5cw0KPiAgKyAqICBU
aGUgbGlzdCBvZiBleHBlY3RlZC9hbGxvd2FibGUgaW5udmwgaW5wdXQga2V5cy4gVGhpcyBsaXN0
IGlzIHVzZWQNCj4gICsgKiAgdG8gdmFsaWRhdGUgdGhlIG52bGlzdCBpbnB1dCB0byB0aGUgaW9j
dGwuDQo+ICArICoNCj4gICsgKiBib29sZWFuX3Qgc211c2hfb3V0bnZsaXN0DQo+ICArICogICBJ
ZiBzbXVzaF9vdXRudmxpc3QgaXMgdHJ1ZSwgdGhlbiB0aGUgb3V0cHV0IGlzIHByZXN1bWVkIHRv
IGJlIGENCj4gICsgKiAgIGxpc3Qgb2YgZXJyb3JzLCBhbmQgaXQgd2lsbCBiZSAic211c2hlZCIg
ZG93biB0byBmaXQgaW50byB0aGUNCj4gICsgKiAgIGNhbGxlcidzIGJ1ZmZlciwgYnkgcmVtb3Zp
bmcgc29tZSBlbnRyaWVzIGFuZCByZXBsYWNpbmcgdGhlbSB3aXRoIGENCj4gICsgKiAgIHNpbmds
ZSAiTl9NT1JFX0VSUk9SUyIgZW50cnkgaW5kaWNhdGluZyBob3cgbWFueSB3ZXJlIHJlbW92ZWQu
ICBTZWUNCj4gICsgKiAgIG52bGlzdF9zbXVzaCgpIGZvciBkZXRhaWxzLiAgSWYgc211c2hfb3V0
bnZsaXN0IGlzIGZhbHNlLCBhbmQgdGhlDQo+ICArICogICBvdXRudmxpc3QgZG9lcyBub3QgZml0
IGludG8gdGhlIHVzZXJsYW5kLXByb3ZpZGVkIGJ1ZmZlciwgdGhlbiB0aGUNCj4gICsgKiAgIGlv
Y3RsIHdpbGwgZmFpbCB3aXRoIEVOT01FTS4NCj4gICsgKg0KPiAgKyAqIHpmc19pb2NfZnVuY190
ICpmdW5jDQo+ICArICogICBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB3aWxsIHBlcmZvcm0g
dGhlIG9wZXJhdGlvbi4NCj4gICsgKg0KPiAgKyAqICAgVGhlIGNhbGxiYWNrIHNob3VsZCByZXR1
cm4gMCBvbiBzdWNjZXNzLCBvciBhbiBlcnJvciBudW1iZXIgb24NCj4gICsgKiAgIGZhaWx1cmUu
ICBJZiB0aGUgZnVuY3Rpb24gZmFpbHMsIHRoZSB1c2VybGFuZCBpb2N0bCB3aWxsIHJldHVybiAt
MSwNCj4gICsgKiAgIGFuZCBlcnJubyB3aWxsIGJlIHNldCB0byB0aGUgY2FsbGJhY2sncyByZXR1
cm4gdmFsdWUuICBUaGUgY2FsbGJhY2sNCj4gICsgKiAgIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhl
IGZvbGxvd2luZyBhcmd1bWVudHM6DQo+ICArICoNCj4gICsgKiAgIGNvbnN0IGNoYXIgKm5hbWUN
Cj4gICsgKiAgICAgVGhlIG5hbWUgb2YgdGhlIHBvb2wgb3IgZGF0YXNldCB0byBvcGVyYXRlIG9u
LCBmcm9tDQo+ICArICogICAgIHpmc19jbWRfdDp6Y19uYW1lLiAgVGhlICduYW1lY2hlY2snIGFy
Z3VtZW50IHNwZWNpZmllcyB0aGUNCj4gICsgKiAgICAgZXhwZWN0ZWQgdHlwZSAocG9vbCwgZGF0
YXNldCwgb3Igbm9uZSkuDQo+ICArICoNCj4gICsgKiAgIG52bGlzdF90ICppbm52bA0KPiAgKyAq
ICAgICBUaGUgaW5wdXQgbnZsaXN0LCBkZXNlcmlhbGl6ZWQgZnJvbSB6ZnNfY21kX3Q6emNfbnZs
aXN0X3NyYy4gIE9yDQo+ICArICogICAgIE5VTEwgaWYgbm8gaW5wdXQgbnZsaXN0IHdhcyBwcm92
aWRlZC4gIENoYW5nZXMgdG8gdGhpcyBudmxpc3QgYXJlDQo+ICArICogICAgIGlnbm9yZWQuICBJ
ZiB0aGUgaW5wdXQgbnZsaXN0IGNvdWxkIG5vdCBiZSBkZXNlcmlhbGl6ZWQsIHRoZQ0KPiAgKyAq
ICAgICBpb2N0bCB3aWxsIGZhaWwgYW5kIHRoZSBjYWxsYmFjayB3aWxsIG5vdCBiZSBjYWxsZWQu
DQo+ICArICoNCj4gICsgKiAgIG52bGlzdF90ICpvdXRudmwNCj4gICsgKiAgICAgVGhlIG91dHB1
dCBudmxpc3QsIGluaXRpYWxseSBlbXB0eS4gIFRoZSBjYWxsYmFjayBjYW4gZmlsbCBpdCBpbiwN
Cj4gICsgKiAgICAgYW5kIGl0IHdpbGwgYmUgcmV0dXJuZWQgdG8gdXNlcmxhbmQgYnkgc2VyaWFs
aXppbmcgaXQgaW50bw0KPiAgKyAqICAgICB6ZnNfY21kX3Q6emNfbnZsaXN0X2RzdC4gIElmIGl0
IGlzIG5vbi1lbXB0eSwgYW5kIHNlcmlhbGl6YXRpb24NCj4gICsgKiAgICAgZmFpbHMgKGUuZy4g
YmVjYXVzZSB0aGUgY2FsbGVyIGRpZG4ndCBzdXBwbHkgYSBsYXJnZSBlbm91Z2gNCj4gICsgKiAg
ICAgYnVmZmVyKSwgdGhlbiB0aGUgb3ZlcmFsbCBpb2N0bCB3aWxsIGZhaWwuICBTZWUgdGhlDQo+
ICArICogICAgICdzbXVzaF9udmxpc3QnIGFyZ3VtZW50IGFib3ZlIGZvciBhZGRpdGlvbmFsIGJl
aGF2aW9ycy4NCj4gICsgKg0KPiAgKyAqICAgICBUaGVyZSBhcmUgdHdvIHR5cGljYWwgdXNlcyBv
ZiB0aGUgb3V0cHV0IG52bGlzdDoNCj4gICsgKiAgICAgICAtIFRvIHJldHVybiBzdGF0ZSwgZS5n
LiBwcm9wZXJ0eSB2YWx1ZXMuICBJbiB0aGlzIGNhc2UsDQo+ICArICogICAgICAgICBzbXVzaF9v
dXRudmxpc3Qgc2hvdWxkIGJlIGZhbHNlLiAgSWYgdGhlIGJ1ZmZlciB3YXMgbm90IGxhcmdlDQo+
ICArICogICAgICAgICBlbm91Z2gsIHRoZSBjYWxsZXIgd2lsbCByZWFsbG9jYXRlIGEgbGFyZ2Vy
IGJ1ZmZlciBhbmQgdHJ5DQo+ICArICogICAgICAgICB0aGUgaW9jdGwgYWdhaW4uDQo+ICArICoN
Cj4gICsgKiAgICAgICAtIFRvIHJldHVybiBtdWx0aXBsZSBlcnJvcnMgZnJvbSBhbiBpb2N0bCB3
aGljaCBtYWtlcyBvbi1kaXNrDQo+ICArICogICAgICAgICBjaGFuZ2VzLiAgSW4gdGhpcyBjYXNl
LCBzbXVzaF9vdXRudmxpc3Qgc2hvdWxkIGJlIHRydWUuDQo+ICArICogICAgICAgICBJb2N0bHMg
d2hpY2ggbWFrZSBvbi1kaXNrIG1vZGlmaWNhdGlvbnMgc2hvdWxkIGdlbmVyYWxseSBub3QNCj4g
ICsgKiAgICAgICAgIHVzZSB0aGUgb3V0bnZsIGlmIHRoZXkgc3VjY2VlZCwgYmVjYXVzZSB0aGUg
Y2FsbGVyIGNhbiBub3QNCj4gICsgKiAgICAgICAgIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIG9w
ZXJhdGlvbiBmYWlsaW5nLCBhbmQNCj4gICsgKiAgICAgICAgIGRlc2VyaWFsaXphdGlvbiBmYWls
aW5nLg0KPiAgKyAqDQo+ICArICogSU9DVEwgSW50ZXJmYWNlIEVycm9ycw0KPiAgKyAqDQo+ICAr
ICogVGhlIGZvbGxvd2luZyBpb2N0bCBpbnB1dCBlcnJvcnMgY2FuIGJlIHJldHVybmVkOg0KPiAg
KyAqICAgWkZTX0VSUl9JT0NfQ01EX1VOQVZBSUwJdGhlIGlvY3RsIG51bWJlciBpcyBub3Qgc3Vw
cG9ydGVkIGJ5IGtlcm5lbA0KPiAgKyAqICAgWkZTX0VSUl9JT0NfQVJHX1VOQVZBSUwJYW4gaW5w
dXQgYXJndW1lbnQgaXMgbm90IHN1cHBvcnRlZCBieSBrZXJuZWwNCj4gICsgKiAgIFpGU19FUlJf
SU9DX0FSR19SRVFVSVJFRAlhIHJlcXVpcmVkIGlucHV0IGFyZ3VtZW50IGlzIG1pc3NpbmcNCj4g
ICsgKiAgIFpGU19FUlJfSU9DX0FSR19CQURUWVBFCWFuIGlucHV0IGFyZ3VtZW50IGhhcyBhbiBp
bnZhbGlkIHR5cGUNCj4gICsgKi8NCj4gICsNCj4gICsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQo+
ICArI2luY2x1ZGUgPHN5cy9wYXJhbS5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvZXJybm8uaD4NCj4g
LSAjaW5jbHVkZSA8c3lzL3Vpby5oPg0KPiArKyNpbmNsdWRlIDxzeXMvdWlvX2ltcGwuaD4NCj4g
ICsjaW5jbHVkZSA8c3lzL2ZpbGUuaD4NCj4gICsjaW5jbHVkZSA8c3lzL2ttZW0uaD4NCj4gICsj
aW5jbHVkZSA8c3lzL2Ntbl9lcnIuaD4NCj4gICsjaW5jbHVkZSA8c3lzL3N0YXQuaD4NCj4gICsj
aW5jbHVkZSA8c3lzL3pmc19pb2N0bC5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvemZzX3F1b3RhLmg+
DQo+ICArI2luY2x1ZGUgPHN5cy96ZnNfdmZzb3BzLmg+DQo+ICArI2luY2x1ZGUgPHN5cy96ZnNf
em5vZGUuaD4NCj4gICsjaW5jbHVkZSA8c3lzL3phcC5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvc3Bh
Lmg+DQo+ICArI2luY2x1ZGUgPHN5cy9zcGFfaW1wbC5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvdmRl
di5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvdmRldl9pbXBsLmg+DQo+ICArI2luY2x1ZGUgPHN5cy9k
bXUuaD4NCj4gICsjaW5jbHVkZSA8c3lzL2RzbF9kaXIuaD4NCj4gICsjaW5jbHVkZSA8c3lzL2Rz
bF9kYXRhc2V0Lmg+DQo+ICArI2luY2x1ZGUgPHN5cy9kc2xfcHJvcC5oPg0KPiAgKyNpbmNsdWRl
IDxzeXMvZHNsX2RlbGVnLmg+DQo+ICArI2luY2x1ZGUgPHN5cy9kbXVfb2Jqc2V0Lmg+DQo+ICAr
I2luY2x1ZGUgPHN5cy9kbXVfaW1wbC5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvZG11X3JlZGFjdC5o
Pg0KPiAgKyNpbmNsdWRlIDxzeXMvZG11X3R4Lmg+DQo+ICArI2luY2x1ZGUgPHN5cy9zdW5kZGku
aD4NCj4gICsjaW5jbHVkZSA8c3lzL3BvbGljeS5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvem9uZS5o
Pg0KPiAgKyNpbmNsdWRlIDxzeXMvbnZwYWlyLmg+DQo+ICArI2luY2x1ZGUgPHN5cy9wYXRobmFt
ZS5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvZnMvemZzLmg+DQo+ICArI2luY2x1ZGUgPHN5cy96ZnNf
Y3RsZGlyLmg+DQo+ICArI2luY2x1ZGUgPHN5cy96ZnNfZGlyLmg+DQo+ICArI2luY2x1ZGUgPHN5
cy96ZnNfb25leGl0Lmg+DQo+ICArI2luY2x1ZGUgPHN5cy96dm9sLmg+DQo+ICArI2luY2x1ZGUg
PHN5cy9kc2xfc2Nhbi5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvZm0vdXRpbC5oPg0KPiAgKyNpbmNs
dWRlIDxzeXMvZHNsX2NyeXB0Lmg+DQo+ICArI2luY2x1ZGUgPHN5cy9ycndsb2NrLmg+DQo+ICAr
I2luY2x1ZGUgPHN5cy96ZnNfZmlsZS5oPg0KPiAgKw0KPiAgKyNpbmNsdWRlIDxzeXMvZG11X3Jl
Y3YuaD4NCj4gICsjaW5jbHVkZSA8c3lzL2RtdV9zZW5kLmg+DQo+ICArI2luY2x1ZGUgPHN5cy9k
bXVfcmVjdi5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvZHNsX2Rlc3Ryb3kuaD4NCj4gICsjaW5jbHVk
ZSA8c3lzL2RzbF9ib29rbWFyay5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvZHNsX3VzZXJob2xkLmg+
DQo+ICArI2luY2x1ZGUgPHN5cy96ZmVhdHVyZS5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvemNwLmg+
DQo+ICArI2luY2x1ZGUgPHN5cy96aW9fY2hlY2tzdW0uaD4NCj4gICsjaW5jbHVkZSA8c3lzL3Zk
ZXZfcmVtb3ZhbC5oPg0KPiAgKyNpbmNsdWRlIDxzeXMvdmRldl9pbXBsLmg+DQo+ICArI2luY2x1
ZGUgPHN5cy92ZGV2X2luaXRpYWxpemUuaD4NCj4gICsjaW5jbHVkZSA8c3lzL3ZkZXZfdHJpbS5o
Pg0KPiAgKw0KPiAgKyNpbmNsdWRlICJ6ZnNfbmFtZWNoZWNrLmgiDQo+ICArI2luY2x1ZGUgInpm
c19wcm9wLmgiDQo+ICArI2luY2x1ZGUgInpmc19kZWxlZy5oIg0KPiAgKyNpbmNsdWRlICJ6ZnNf
Y29tdXRpbC5oIg0KPiAgKw0KPiAgKyNpbmNsdWRlIDxzeXMvbHVhL2x1YS5oPg0KPiAgKyNpbmNs
dWRlIDxzeXMvbHVhL2xhdXhsaWIuaD4NCj4gICsjaW5jbHVkZSA8c3lzL3pmc19pb2N0bF9pbXBs
Lmg+DQo+ICArDQo+ICAra211dGV4X3QgemZzZGV2X3N0YXRlX2xvY2s7DQo+ICAremZzZGV2X3N0
YXRlX3QgKnpmc2Rldl9zdGF0ZV9saXN0Ow0KPiAgKw0KPiAgKy8qDQo+ICArICogTGltaXQgbWF4
aW11bSBudmxpc3Qgc2l6ZS4gIFdlIGRvbid0IHdhbnQgdXNlcnMgcGFzc2luZyBpbiBpbnNhbmUg
dmFsdWVzDQo+ICArICogZm9yIHpjLT56Y19udmxpc3Rfc3JjX3NpemUsIHNpbmNlIHdlIHdpbGwg
bmVlZCB0byBhbGxvY2F0ZSB0aGF0IG11Y2ggbWVtb3J5Lg0KPiAgKyAqIERlZmF1bHRzIHRvIDA9
YXV0byB3aGljaCBpcyBoYW5kbGVkIGJ5IHBsYXRmb3JtIGNvZGUuDQo+ICArICovDQo+ICArdW5z
aWduZWQgbG9uZyB6ZnNfbWF4X252bGlzdF9zcmNfc2l6ZSA9IDA7DQo+ICArDQo+ICArLyoNCj4g
ICsgKiBXaGVuIGxvZ2dpbmcgdGhlIG91dHB1dCBudmxpc3Qgb2YgYW4gaW9jdGwgaW4gdGhlIG9u
LWRpc2sgaGlzdG9yeSwgbGltaXQNCj4gICsgKiB0aGUgbG9nZ2VkIHNpemUgdG8gdGhpcyBtYW55
IGJ5dGVzLiAgVGhpcyBtdXN0IGJlIGxlc3MgdGhlbiBETVVfTUFYX0FDQ0VTUy4NCj4gICsgKiBU
aGlzIGFwcGxpZXMgcHJpbWFyaWx5IHRvIHpmc19pb2NfY2hhbm5lbF9wcm9ncmFtKCkuDQo+ICAr
ICovDQo+ICArdW5zaWduZWQgbG9uZyB6ZnNfaGlzdG9yeV9vdXRwdXRfbWF4ID0gMTAyNCAqIDEw
MjQ7DQo+ICArDQo+ICArdWludF90IHpmc19mc3luY2VyX2tleTsNCj4gICt1aW50X3QgemZzX2Fs
bG93X2xvZ19rZXk7DQo+ICArDQo+ICArLyogREFUQV9UWVBFX0FOWSBpcyB1c2VkIHdoZW4gemtl
eV90eXBlIGNhbiB2YXJ5LiAqLw0KPiAgKyNkZWZpbmUJREFUQV9UWVBFX0FOWQlEQVRBX1RZUEVf
VU5LTk9XTg0KPiAgKw0KPiAgK3R5cGVkZWYgc3RydWN0IHpmc19pb2NfdmVjIHsNCj4gICsJemZz
X2lvY19sZWdhY3lfZnVuY190CSp6dmVjX2xlZ2FjeV9mdW5jOw0KPiAgKwl6ZnNfaW9jX2Z1bmNf
dAkJKnp2ZWNfZnVuYzsNCj4gICsJemZzX3NlY3BvbGljeV9mdW5jX3QJKnp2ZWNfc2VjcG9saWN5
Ow0KPiAgKwl6ZnNfaW9jX25hbWVjaGVja190CXp2ZWNfbmFtZWNoZWNrOw0KPiAgKwlib29sZWFu
X3QJCXp2ZWNfYWxsb3dfbG9nOw0KPiAgKwl6ZnNfaW9jX3Bvb2xjaGVja190CXp2ZWNfcG9vbF9j
aGVjazsNCj4gICsJYm9vbGVhbl90CQl6dmVjX3NtdXNoX291dG52bGlzdDsNCj4gICsJY29uc3Qg
Y2hhcgkJKnp2ZWNfbmFtZTsNCj4gICsJY29uc3QgemZzX2lvY19rZXlfdAkqenZlY19udmxfa2V5
czsNCj4gICsJc2l6ZV90CQkJenZlY19udmxfa2V5X2NvdW50Ow0KPiAgK30gemZzX2lvY192ZWNf
dDsNCj4gICsNCj4gICsvKiBUaGlzIGFycmF5IGlzIGluZGV4ZWQgYnkgemZzX3VzZXJxdW90YV9w
cm9wX3QgKi8NCj4gICtzdGF0aWMgY29uc3QgY2hhciAqdXNlcnF1b3RhX3Blcm1zW10gPSB7DQo+
ICArCVpGU19ERUxFR19QRVJNX1VTRVJVU0VELA0KPiAgKwlaRlNfREVMRUdfUEVSTV9VU0VSUVVP
VEEsDQo+ICArCVpGU19ERUxFR19QRVJNX0dST1VQVVNFRCwNCj4gICsJWkZTX0RFTEVHX1BFUk1f
R1JPVVBRVU9UQSwNCj4gICsJWkZTX0RFTEVHX1BFUk1fVVNFUk9CSlVTRUQsDQo+ICArCVpGU19E
RUxFR19QRVJNX1VTRVJPQkpRVU9UQSwNCj4gICsJWkZTX0RFTEVHX1BFUk1fR1JPVVBPQkpVU0VE
LA0KPiAgKwlaRlNfREVMRUdfUEVSTV9HUk9VUE9CSlFVT1RBLA0KPiAgKwlaRlNfREVMRUdfUEVS
TV9QUk9KRUNUVVNFRCwNCj4gICsJWkZTX0RFTEVHX1BFUk1fUFJPSkVDVFFVT1RBLA0KPiAgKwla
RlNfREVMRUdfUEVSTV9QUk9KRUNUT0JKVVNFRCwNCj4gICsJWkZTX0RFTEVHX1BFUk1fUFJPSkVD
VE9CSlFVT1RBLA0KPiAgK307DQo+ICArDQo+ICArc3RhdGljIGludCB6ZnNfaW9jX3VzZXJzcGFj
ZV91cGdyYWRlKHpmc19jbWRfdCAqemMpOw0KPiAgK3N0YXRpYyBpbnQgemZzX2lvY19pZF9xdW90
YV91cGdyYWRlKHpmc19jbWRfdCAqemMpOw0KPiAgK3N0YXRpYyBpbnQgemZzX2NoZWNrX3NldHRh
YmxlKGNvbnN0IGNoYXIgKm5hbWUsIG52cGFpcl90ICpwcm9wZXJ0eSwNCj4gICsgICAgY3JlZF90
ICpjcik7DQo+ICArc3RhdGljIGludCB6ZnNfY2hlY2tfY2xlYXJhYmxlKGNvbnN0IGNoYXIgKmRh
dGFzZXQsIG52bGlzdF90ICpwcm9wcywNCj4gICsgICAgbnZsaXN0X3QgKiplcnJvcnMpOw0KPiAg
K3N0YXRpYyBpbnQgemZzX2ZpbGxfenBscHJvcHNfcm9vdCh1aW50NjRfdCwgbnZsaXN0X3QgKiwg
bnZsaXN0X3QgKiwNCj4gICsgICAgYm9vbGVhbl90ICopOw0KPiAgK2ludCB6ZnNfc2V0X3Byb3Bf
bnZsaXN0KGNvbnN0IGNoYXIgKiwgenByb3Bfc291cmNlX3QsIG52bGlzdF90ICosIG52bGlzdF90
ICopOw0KPiAgK3N0YXRpYyBpbnQgZ2V0X252bGlzdCh1aW50NjRfdCBudmwsIHVpbnQ2NF90IHNp
emUsIGludCBpZmxhZywgbnZsaXN0X3QgKipudnApOw0KPiAgKw0KPiAgK3N0YXRpYyB2b2lkDQo+
ICAraGlzdG9yeV9zdHJfZnJlZShjaGFyICpidWYpDQo+ICArew0KPiAgKwlrbWVtX2ZyZWUoYnVm
LCBISVNfTUFYX1JFQ09SRF9MRU4pOw0KPiAgK30NCj4gICsNCj4gICtzdGF0aWMgY2hhciAqDQo+
ICAraGlzdG9yeV9zdHJfZ2V0KHpmc19jbWRfdCAqemMpDQo+ICArew0KPiAgKwljaGFyICpidWY7
DQo+ICArDQo+ICArCWlmICh6Yy0+emNfaGlzdG9yeSA9PSAwKQ0KPiAgKwkJcmV0dXJuIChOVUxM
KTsNCj4gICsNCj4gICsJYnVmID0ga21lbV9hbGxvYyhISVNfTUFYX1JFQ09SRF9MRU4sIEtNX1NM
RUVQKTsNCj4gICsJaWYgKGNvcHlpbnN0cigodm9pZCAqKSh1aW50cHRyX3QpemMtPnpjX2hpc3Rv
cnksDQo+ICArCSAgICBidWYsIEhJU19NQVhfUkVDT1JEX0xFTiwgTlVMTCkgIT0gMCkgew0KPiAg
KwkJaGlzdG9yeV9zdHJfZnJlZShidWYpOw0KPiAgKwkJcmV0dXJuIChOVUxMKTsNCj4gICsJfQ0K
PiAgKw0KPiAgKwlidWZbSElTX01BWF9SRUNPUkRfTEVOIC0xXSA9ICdcMCc7DQo+ICArDQo+ICAr
CXJldHVybiAoYnVmKTsNCj4gICt9DQo+ICArDQo+ICArLyoNCj4gICsgKiBSZXR1cm4gbm9uLXpl
cm8gaWYgdGhlIHNwYSB2ZXJzaW9uIGlzIGxlc3MgdGhhbiByZXF1ZXN0ZWQgdmVyc2lvbi4NCj4g
ICsgKi8NCj4gICtzdGF0aWMgaW50DQo+ICAremZzX2VhcmxpZXJfdmVyc2lvbihjb25zdCBjaGFy
ICpuYW1lLCBpbnQgdmVyc2lvbikNCj4gICt7DQo+ICArCXNwYV90ICpzcGE7DQo+ICArDQo+ICAr
CWlmIChzcGFfb3BlbihuYW1lLCAmc3BhLCBGVEFHKSA9PSAwKSB7DQo+ICArCQlpZiAoc3BhX3Zl
cnNpb24oc3BhKSA8IHZlcnNpb24pIHsNCj4gICsJCQlzcGFfY2xvc2Uoc3BhLCBGVEFHKTsNCj4g
ICsJCQlyZXR1cm4gKDEpOw0KPiAgKwkJfQ0KPiAgKwkJc3BhX2Nsb3NlKHNwYSwgRlRBRyk7DQo+
ICArCX0NCj4gICsJcmV0dXJuICgwKTsNCj4gICt9DQo+ICArDQo+ICArLyoNCj4gICsgKiBSZXR1
cm4gVFJVRSBpZiB0aGUgWlBMIHZlcnNpb24gaXMgbGVzcyB0aGFuIHJlcXVlc3RlZCB2ZXJzaW9u
Lg0KPiAgKyAqLw0KPiAgK3N0YXRpYyBib29sZWFuX3QNCj4gICt6cGxfZWFybGllcl92ZXJzaW9u
KGNvbnN0IGNoYXIgKm5hbWUsIGludCB2ZXJzaW9uKQ0KPiAgK3sNCj4gICsJb2Jqc2V0X3QgKm9z
Ow0KPiAgKwlib29sZWFuX3QgcmMgPSBCX1RSVUU7DQo+ICArDQo+ICArCWlmIChkbXVfb2Jqc2V0
X2hvbGQobmFtZSwgRlRBRywgJm9zKSA9PSAwKSB7DQo+ICArCQl1aW50NjRfdCB6cGx2ZXJzaW9u
Ow0KPiAgKw0KPiAgKwkJaWYgKGRtdV9vYmpzZXRfdHlwZShvcykgIT0gRE1VX09TVF9aRlMpIHsN
Cj4gICsJCQlkbXVfb2Jqc2V0X3JlbGUob3MsIEZUQUcpOw0KPiAgKwkJCXJldHVybiAoQl9UUlVF
KTsNCj4gICsJCX0NCj4gICsJCS8qIFhYWCByZWFkaW5nIGZyb20gbm9uLW93bmVkIG9ianNldCAq
Lw0KPiAgKwkJaWYgKHpmc19nZXRfenBscHJvcChvcywgWkZTX1BST1BfVkVSU0lPTiwgJnpwbHZl
cnNpb24pID09IDApDQo+ICArCQkJcmMgPSB6cGx2ZXJzaW9uIDwgdmVyc2lvbjsNCj4gICsJCWRt
dV9vYmpzZXRfcmVsZShvcywgRlRBRyk7DQo+ICArCX0NCj4gICsJcmV0dXJuIChyYyk7DQo+ICAr
fQ0KPiAgKw0KPiAgK3N0YXRpYyB2b2lkDQo+ICAremZzX2xvZ19oaXN0b3J5KHpmc19jbWRfdCAq
emMpDQo+ICArew0KPiAgKwlzcGFfdCAqc3BhOw0KPiAgKwljaGFyICpidWY7DQo+ICArDQo+ICAr
CWlmICgoYnVmID0gaGlzdG9yeV9zdHJfZ2V0KHpjKSkgPT0gTlVMTCkNCj4gICsJCXJldHVybjsN
Cj4gICsNCj4gICsJaWYgKHNwYV9vcGVuKHpjLT56Y19uYW1lLCAmc3BhLCBGVEFHKSA9PSAwKSB7
DQo+ICArCQlpZiAoc3BhX3ZlcnNpb24oc3BhKSA+PSBTUEFfVkVSU0lPTl9aUE9PTF9ISVNUT1JZ
KQ0KPiAgKwkJCSh2b2lkKSBzcGFfaGlzdG9yeV9sb2coc3BhLCBidWYpOw0KPiAgKwkJc3BhX2Ns
b3NlKHNwYSwgRlRBRyk7DQo+ICArCX0NCj4gICsJaGlzdG9yeV9zdHJfZnJlZShidWYpOw0KPiAg
K30NCj4gICsNCj4gICsvKg0KPiAgKyAqIFBvbGljeSBmb3IgdG9wLWxldmVsIHJlYWQgb3BlcmF0
aW9ucyAobGlzdCBwb29scykuICBSZXF1aXJlcyBubyBwcml2aWxlZ2VzLA0KPiAgKyAqIGFuZCBj
YW4gYmUgdXNlZCBpbiB0aGUgbG9jYWwgem9uZSwgYXMgdGhlcmUgaXMgbm8gYXNzb2NpYXRlZCBk
YXRhc2V0Lg0KPiAgKyAqLw0KPiAgKy8qIEFSR1NVU0VEICovDQo+ICArc3RhdGljIGludA0KPiAg
K3pmc19zZWNwb2xpY3lfbm9uZSh6ZnNfY21kX3QgKnpjLCBudmxpc3RfdCAqaW5udmwsIGNyZWRf
dCAqY3IpDQo+ICArew0KPiAgKwlyZXR1cm4gKDApOw0KPiAgK30NCj4gICsNCj4gICsvKg0KPiAg
KyAqIFBvbGljeSBmb3IgZGF0YXNldCByZWFkIG9wZXJhdGlvbnMgKGxpc3QgY2hpbGRyZW4sIGdl
dCBzdGF0aXN0aWNzKS4gIFJlcXVpcmVzDQo+ICArICogbm8gcHJpdmlsZWdlcywgYnV0IG11c3Qg
YmUgdmlzaWJsZSBpbiB0aGUgbG9jYWwgem9uZS4NCj4gICsgKi8NCj4gICsvKiBBUkdTVVNFRCAq
Lw0KPiAgK3N0YXRpYyBpbnQNCj4gICt6ZnNfc2VjcG9saWN5X3JlYWQoemZzX2NtZF90ICp6Yywg
bnZsaXN0X3QgKmlubnZsLCBjcmVkX3QgKmNyKQ0KPiAgK3sNCj4gICsJaWYgKElOR0xPQkFMWk9O
RShjdXJwcm9jKSB8fA0KPiAgKwkgICAgem9uZV9kYXRhc2V0X3Zpc2libGUoemMtPnpjX25hbWUs
IE5VTEwpKQ0KPiAgKwkJcmV0dXJuICgwKTsNCj4gICsNCj4gICsJcmV0dXJuIChTRVRfRVJST1Io
RU5PRU5UKSk7DQo+ICArfQ0KPiAgKw0KPiAgK3N0YXRpYyBpbnQNCj4gICt6ZnNfZG96b25lY2hl
Y2tfaW1wbChjb25zdCBjaGFyICpkYXRhc2V0LCB1aW50NjRfdCB6b25lZCwgY3JlZF90ICpjcikN
Cj4gICt7DQo+ICArCWludCB3cml0YWJsZSA9IDE7DQo+ICArDQo+ICArCS8qDQo+ICArCSAqIFRo
ZSBkYXRhc2V0IG11c3QgYmUgdmlzaWJsZSBieSB0aGlzIHpvbmUgLS0gY2hlY2sgdGhpcyBmaXJz
dA0KPiAgKwkgKiBzbyB0aGV5IGRvbid0IHNlZSBFUEVSTSBvbiBzb21ldGhpbmcgdGhleSBzaG91
bGRuJ3Qga25vdyBhYm91dC4NCj4gICsJICovDQo+ICArCWlmICghSU5HTE9CQUxaT05FKGN1cnBy
b2MpICYmDQo+ICArCSAgICAhem9uZV9kYXRhc2V0X3Zpc2libGUoZGF0YXNldCwgJndyaXRhYmxl
KSkNCj4gICsJCXJldHVybiAoU0VUX0VSUk9SKEVOT0VOVCkpOw0KPiAgKw0KPiAgKwlpZiAoSU5H
TE9CQUxaT05FKGN1cnByb2MpKSB7DQo+ICArCQkvKg0KPiAgKwkJICogSWYgdGhlIGZzIGlzIHpv
bmVkLCBvbmx5IHJvb3QgY2FuIGFjY2VzcyBpdCBmcm9tIHRoZQ0KPiAgKwkJICogZ2xvYmFsIHpv
bmUuDQo+ICArCQkgKi8NCj4gICsJCWlmIChzZWNwb2xpY3lfemZzKGNyKSAmJiB6b25lZCkNCj4g
ICsJCQlyZXR1cm4gKFNFVF9FUlJPUihFUEVSTSkpOw0KPiAgKwl9IGVsc2Ugew0KPiAgKwkJLyoN
Cj4gICsJCSAqIElmIHdlIGFyZSBpbiBhIGxvY2FsIHpvbmUsIHRoZSAnem9uZWQnIHByb3BlcnR5
IG11c3QgYmUgc2V0Lg0KPiAgKwkJICovDQo+ICArCQlpZiAoIXpvbmVkKQ0KPiAgKwkJCXJldHVy
biAoU0VUX0VSUk9SKEVQRVJNKSk7DQo+ICArDQo+ICArCQkvKiBtdXN0IGJlIHdyaXRhYmxlIGJ5
IHRoaXMgem9uZSAqLw0KPiAgKwkJaWYgKCF3cml0YWJsZSkNCj4gICsJCQlyZXR1cm4gKFNFVF9F
UlJPUihFUEVSTSkpOw0KPiAgKwl9DQo+ICArCXJldHVybiAoMCk7DQo+ICArfQ0KPiAgKw0KPiAg
K3N0YXRpYyBpbnQNCj4gICt6ZnNfZG96b25lY2hlY2soY29uc3QgY2hhciAqZGF0YXNldCwgY3Jl
ZF90ICpjcikNCj4gICt7DQo+ICArCXVpbnQ2NF90IHpvbmVkOw0KPiAgKw0KPiAgKwlpZiAoZHNs
X3Byb3BfZ2V0X2ludGVnZXIoZGF0YXNldCwgemZzX3Byb3BfdG9fbmFtZShaRlNfUFJPUF9aT05F
RCksDQo+ICArCSAgICAmem9uZWQsIE5VTEwpKQ0KPiAgKwkJcmV0dXJuIChTRVRfRVJST1IoRU5P
RU5UKSk7DQo+ICArDQo+ICArCXJldHVybiAoemZzX2Rvem9uZWNoZWNrX2ltcGwoZGF0YXNldCwg
em9uZWQsIGNyKSk7DQo+ICArfQ0KPiAgKw0KPiAgK3N0YXRpYyBpbnQNCj4gICt6ZnNfZG96b25l
Y2hlY2tfZHMoY29uc3QgY2hhciAqZGF0YXNldCwgZHNsX2RhdGFzZXRfdCAqZHMsIGNyZWRfdCAq
Y3IpDQo+ICArew0KPiAgKwl1aW50NjRfdCB6b25lZDsNCj4gICsNCj4gICsJaWYgKGRzbF9wcm9w
X2dldF9pbnRfZHMoZHMsIHpmc19wcm9wX3RvX25hbWUoWkZTX1BST1BfWk9ORUQpLCAmem9uZWQp
KQ0KPiAgKwkJcmV0dXJuIChTRVRfRVJST1IoRU5PRU5UKSk7DQo+ICArDQo+ICArCXJldHVybiAo
emZzX2Rvem9uZWNoZWNrX2ltcGwoZGF0YXNldCwgem9uZWQsIGNyKSk7DQo+ICArfQ0KPiAgKw0K
PiAgK3N0YXRpYyBpbnQNCj4gICt6ZnNfc2VjcG9saWN5X3dyaXRlX3Blcm1zX2RzKGNvbnN0IGNo
YXIgKm5hbWUsIGRzbF9kYXRhc2V0X3QgKmRzLA0KPiAgKyAgICBjb25zdCBjaGFyICpwZXJtLCBj
cmVkX3QgKmNyKQ0KPiAgK3sNCj4gICsJaW50IGVycm9yOw0KPiAgKw0KPiAgKwllcnJvciA9IHpm
c19kb3pvbmVjaGVja19kcyhuYW1lLCBkcywgY3IpOw0KPiAgKwlpZiAoZXJyb3IgPT0gMCkgew0K
PiAgKwkJZXJyb3IgPSBzZWNwb2xpY3lfemZzKGNyKTsNCj4gICsJCWlmIChlcnJvciAhPSAwKQ0K
PiAgKwkJCWVycm9yID0gZHNsX2RlbGVnX2FjY2Vzc19pbXBsKGRzLCBwZXJtLCBjcik7DQo+ICAr
CX0NCj4gICsJcmV0dXJuIChlcnJvcik7DQo+ICArfQ0KPiAgKw0KPiAgK3N0YXRpYyBpbnQNCj4g
ICt6ZnNfc2VjcG9saWN5X3dyaXRlX3Blcm1zKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIg
KnBlcm0sIGNyZWRfdCAqY3IpDQo+ICArew0KPiAgKwlpbnQgZXJyb3I7DQo+ICArCWRzbF9kYXRh
c2V0X3QgKmRzOw0KPiAgKwlkc2xfcG9vbF90ICpkcDsNCj4gICsNCj4gICsJLyoNCj4gICsJICog
Rmlyc3QgZG8gYSBxdWljayBjaGVjayBmb3Igcm9vdCBpbiB0aGUgZ2xvYmFsIHpvbmUsIHdoaWNo
DQo+ICArCSAqIGlzIGFsbG93ZWQgdG8gZG8gYWxsIHdyaXRlX3Blcm1zLiAgVGhpcyBlbnN1cmVz
IHRoYXQgemZzX2lvY18qDQo+ICArCSAqIHdpbGwgZ2V0IHRvIGhhbmRsZSBub25leGlzdGVudCBk
YXRhc2V0cy4NCj4gICsJICovDQo+ICArCWlmIChJTkdMT0JBTFpPTkUoY3VycHJvYykgJiYgc2Vj
cG9saWN5X3pmcyhjcikgPT0gMCkNCj4gICsJCXJldHVybiAoMCk7DQo+ICArDQo+ICArCWVycm9y
ID0gZHNsX3Bvb2xfaG9sZChuYW1lLCBGVEFHLCAmZHApOw0KPiAgKwlpZiAoZXJyb3IgIT0gMCkN
Cj4gICsJCXJldHVybiAoZXJyb3IpOw0KPiAgKw0KPiAgKwllcnJvciA9IGRzbF9kYXRhc2V0X2hv
bGQoZHAsIG5hbWUsIEZUQUcsICZkcyk7DQo+ICArCWlmIChlcnJvciAhPSAwKSB7DQo+ICArCQlk
c2xfcG9vbF9yZWxlKGRwLCBGVEFHKTsNCj4gICsJCXJldHVybiAoZXJyb3IpOw0KPiAgKwl9DQo+
ICArDQo+ICArCWVycm9yID0gemZzX3NlY3BvbGljeV93cml0ZV9wZXJtc19kcyhuYW1lLCBkcywg
cGVybSwgY3IpOw0KPiAgKw0KPiAgKwlkc2xfZGF0YXNldF9yZWxlKGRzLCBGVEFHKTsNCj4gICsJ
ZHNsX3Bvb2xfcmVsZShkcCwgRlRBRyk7DQo+ICArCXJldHVybiAoZXJyb3IpOw0KPiAgK30NCj4g
ICsNCj4gICsvKg0KPiAgKyAqIFBvbGljeSBmb3Igc2V0dGluZyB0aGUgc2VjdXJpdHkgbGFiZWwg
cHJvcGVydHkuDQo+ICArICoNCj4gICsgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MsIG5vbi16ZXJv
IGZvciBhY2Nlc3MgYW5kIG90aGVyIGVycm9ycy4NCj4gICsgKi8NCj4gICtzdGF0aWMgaW50DQo+
ICAremZzX3NldF9zbGFiZWxfcG9saWN5KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnN0
cnZhbCwgY3JlZF90ICpjcikNCj4gICt7DQo+ICArI2lmZGVmIEhBVkVfTUxTTEFCRUwNCj4gICsJ
Y2hhcgkJZHNfaGV4c2xbTUFYTkFNRUxFTl07DQo+ICArCWJzbGFiZWxfdAlkc19zbCwgbmV3X3Ns
Ow0KPiAgKwlib29sZWFuX3QJbmV3X2RlZmF1bHQgPSBGQUxTRTsNCj4gICsJdWludDY0X3QJem9u
ZWQ7DQo+ICArCWludAkJbmVlZGVkX3ByaXYgPSAtMTsNCj4gICsJaW50CQllcnJvcjsNCj4gICsN
Cj4gICsJLyogRmlyc3QgZ2V0IHRoZSBleGlzdGluZyBkYXRhc2V0IGxhYmVsLiAqLw0KPiAgKwll
cnJvciA9IGRzbF9wcm9wX2dldChuYW1lLCB6ZnNfcHJvcF90b19uYW1lKFpGU19QUk9QX01MU0xB
QkVMKSwNCj4gICsJICAgIDEsIHNpemVvZiAoZHNfaGV4c2wpLCAmZHNfaGV4c2wsIE5VTEwpOw0K
PiAgKwlpZiAoZXJyb3IgIT0gMCkNCj4gICsJCXJldHVybiAoU0VUX0VSUk9SKEVQRVJNKSk7DQo+
ICArDQo+ICArCWlmIChzdHJjYXNlY21wKHN0cnZhbCwgWkZTX01MU0xBQkVMX0RFRkFVTFQpID09
IDApDQo+ICArCQluZXdfZGVmYXVsdCA9IFRSVUU7DQo+ICArDQo+ICArCS8qIFRoZSBsYWJlbCBt
dXN0IGJlIHRyYW5zbGF0YWJsZSAqLw0KPiAgKwlpZiAoIW5ld19kZWZhdWx0ICYmIChoZXhzdHJf
dG9fbGFiZWwoc3RydmFsLCAmbmV3X3NsKSAhPSAwKSkNCj4gICsJCXJldHVybiAoU0VUX0VSUk9S
KEVJTlZBTCkpOw0KPiAgKw0KPiAgKwkvKg0KPiAgKwkgKiBJbiBhIG5vbi1nbG9iYWwgem9uZSwg
ZGlzYWxsb3cgYXR0ZW1wdHMgdG8gc2V0IGEgbGFiZWwgdGhhdA0KPiAgKwkgKiBkb2Vzbid0IG1h
dGNoIHRoYXQgb2YgdGhlIHpvbmU7IG90aGVyd2lzZSBubyBvdGhlciBjaGVja3MNCj4gICsJICog
YXJlIG5lZWRlZC4NCj4gICsJICovDQo+ICArCWlmICghSU5HTE9CQUxaT05FKGN1cnByb2MpKSB7
DQo+ICArCQlpZiAobmV3X2RlZmF1bHQgfHwgIWJsZXF1YWwoJm5ld19zbCwgQ1JfU0woQ1JFRCgp
KSkpDQo+ICArCQkJcmV0dXJuIChTRVRfRVJST1IoRVBFUk0pKTsNCj4gICsJCXJldHVybiAoMCk7
DQo+ICArCX0NCj4gICsNCj4gICsJLyoNCj4gICsJICogRm9yIGdsb2JhbC16b25lIGRhdGFzZXRz
IChpLmUuLCB0aG9zZSB3aG9zZSB6b25lZCBwcm9wZXJ0eSBpcw0KPiAgKwkgKiAib2ZmIiwgdmVy
aWZ5IHRoYXQgdGhlIHNwZWNpZmllZCBuZXcgbGFiZWwgaXMgdmFsaWQgZm9yIHRoZQ0KPiAgKwkg
KiBnbG9iYWwgem9uZS4NCj4gICsJICovDQo+ICArCWlmIChkc2xfcHJvcF9nZXRfaW50ZWdlcihu
YW1lLA0KPiAgKwkgICAgemZzX3Byb3BfdG9fbmFtZShaRlNfUFJPUF9aT05FRCksICZ6b25lZCwg
TlVMTCkpDQo+ICArCQlyZXR1cm4gKFNFVF9FUlJPUihFUEVSTSkpOw0KPiAgKwlpZiAoIXpvbmVk
KSB7DQo+ICArCQlpZiAoemZzX2NoZWNrX2dsb2JhbF9sYWJlbChuYW1lLCBzdHJ2YWwpICE9IDAp
DQo+ICArCQkJcmV0dXJuIChTRVRfRVJST1IoRVBFUk0pKTsNCj4gICsJfQ0KPiAgKw0KPiAgKwkv
Kg0KPiAgKwkgKiBJZiB0aGUgZXhpc3RpbmcgZGF0YXNldCBsYWJlbCBpcyBub25kZWZhdWx0LCBj
aGVjayBpZiB0aGUNCj4gICsJICogZGF0YXNldCBpcyBtb3VudGVkIChsYWJlbCBjYW5ub3QgYmUg
Y2hhbmdlZCB3aGlsZSBtb3VudGVkKS4NCj4gICsJICogR2V0IHRoZSB6ZnN2ZnNfdDsgaWYgdGhl
cmUgaXNuJ3Qgb25lLCB0aGVuIHRoZSBkYXRhc2V0IGlzbid0DQo+ICArCSAqIG1vdW50ZWQgKG9y
IGlzbid0IGEgZGF0YXNldCwgZG9lc24ndCBleGlzdCwgLi4uKS4NCj4gICsJICovDQo+ICArCWlm
IChzdHJjYXNlY21wKGRzX2hleHNsLCBaRlNfTUxTTEFCRUxfREVGQVVMVCkgIT0gMCkgew0KPiAg
KwkJb2Jqc2V0X3QgKm9zOw0KPiAgKwkJc3RhdGljIGNvbnN0IGNoYXIgKnNldHNsX3RhZyA9ICJz
ZXRzbF90YWciOw0KPiAgKw0KPiAgKwkJLyoNCj4gICsJCSAqIFRyeSB0byBvd24gdGhlIGRhdGFz
ZXQ7IGFib3J0IGlmIHRoZXJlIGlzIGFueSBlcnJvciwNCj4gICsJCSAqIChlLmcuLCBhbHJlYWR5
IG1vdW50ZWQsIGluIHVzZSwgb3Igb3RoZXIgZXJyb3IpLg0KPiAgKwkJICovDQo+ICArCQllcnJv
ciA9IGRtdV9vYmpzZXRfb3duKG5hbWUsIERNVV9PU1RfWkZTLCBCX1RSVUUsIEJfVFJVRSwNCj4g
ICsJCSAgICBzZXRzbF90YWcsICZvcyk7DQo+ICArCQlpZiAoZXJyb3IgIT0gMCkNCj4gICsJCQly
ZXR1cm4gKFNFVF9FUlJPUihFUEVSTSkpOw0KPiAgKw0KPiAgKwkJZG11X29ianNldF9kaXNvd24o
b3MsIEJfVFJVRSwgc2V0c2xfdGFnKTsNCj4gICsNCj4gICsJCWlmIChuZXdfZGVmYXVsdCkgew0K
PiAgKwkJCW5lZWRlZF9wcml2ID0gUFJJVl9GSUxFX0RPV05HUkFERV9TTDsNCj4gKioqIDEzMjky
IExJTkVTIFNLSVBQRUQgKioqDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fDQo+IGRldi1jb21taXRzLXNyYy1tYWluQGZyZWVic2Qub3JnIG1haWxpbmcg
bGlzdA0KPiBodHRwczovL2xpc3RzLmZyZWVic2Qub3JnL21haWxtYW4vbGlzdGluZm8vZGV2LWNv
bW1pdHMtc3JjLW1haW4NCj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYW55IG1haWwgdG8gImRldi1j
b21taXRzLXNyYy1tYWluLXVuc3Vic2NyaWJlQGZyZWVic2Qub3JnIg0KDQpPbiBGcmVlQlNEIDE0
LUNVUlJFTlQsIHdpdGggWkZTIHN0YXRpY2FsbHkgYnVpbHRpbiB0aGUga2VybmVsLCB0aGlzIGNv
bW1pdCByZW5kZXJzICJtYWtlDQpidWlsZGtlcm5lbCIgdG8gZmFpbDoNCg0KWy4uLl0NCg0KPT09
PiBjYW0gKGFsbCkNCi0gLS0tIGtlcm5lbCAtLS0NCmxkOiBlcnJvcjogdW5kZWZpbmVkIHN5bWJv
bDogemZzX3JhY2N0X3JlYWQNCj4+PiByZWZlcmVuY2VkIGJ5IGFyYy5jDQo+Pj4gICAgICAgICAg
ICAgICBhcmMubzooYXJjX3JlYWQpDQotIC0tLSBtb2R1bGVzLWFsbCAtLS0NCi0gLS0tIGFsbF9z
dWJkaXJfY2FyZGJ1cyAtLS0NCj09PT4gY2FyZGJ1cyAoYWxsKQ0KLSAtLS0ga2VybmVsIC0tLQ0K
DQpsZDogZXJyb3I6IHVuZGVmaW5lZCBzeW1ib2w6IHpmc19yYWNjdF93cml0ZQ0KPj4+IHJlZmVy
ZW5jZWQgYnkgZG11LmMNCj4+PiAgICAgICAgICAgICAgIGRtdS5vOihkbXVfYnVmX2hvbGRfYXJy
YXlfYnlfZG5vZGUpDQo+Pj4gcmVmZXJlbmNlZCBieSBkbXUuYw0KPj4+ICAgICAgICAgICAgICAg
ZG11Lm86KGRtdV9hc3NpZ25fYXJjYnVmX2J5X2Rub2RlKQ0KKioqIFtrZXJuZWxdIEVycm9yIGNv
ZGUgMQ0KDQptYWtlWzJdOiBzdG9wcGVkIGluIC91c3Ivb2JqL3Vzci9zcmMvYW1kNjQuYW1kNjQv
c3lzL0NVUlJFTlQxNA0KLSAtLS0gbW9kdWxlcy1hbGwgLS0tDQoqKiogW21vZHVsZXMtYWxsXSBF
cnJvciBjb2RlIDYNCg0KDQoNCi0gLS0gDQpPLiBIYXJ0bWFubg0KDQpJY2ggd2lkZXJzcHJlY2hl
IGRlciBOdXR6dW5nIG9kZXIgw5xiZXJtaXR0bHVuZyBtZWluZXIgRGF0ZW4gZsO8cg0KV2VyYmV6
d2Vja2Ugb2RlciBmw7xyIGRpZSBNYXJrdC0gb2RlciBNZWludW5nc2ZvcnNjaHVuZyAowqcgMjgg
QWJzLiA0IEJEU0cpLg0KLS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0NCg0KaUhVRUFSWUlB
QjBXSVFTeThJQnhBUERrcVZCYVRKNDROMVpaUGJhNVJ3VUNZRE81UmdBS0NSQTROMVpaUGJhNQ0K
Uno0L0FRRGhoYnNJV1FZWjNaZ3JNZnpTczBtNDEwQ3B2bzVtek9VMXlJSDNQSVhKMUFEL2JVUHgv
UlVoRXVZWA0KMTdXbVFSNSt1dVVMOXcxL3JUTldwczViYVBIbWFBdz0NCj03aWd0DQotLS0tLUVO
RCBQR1AgU0lHTkFUVVJFLS0tLS0NCg==



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210222150142.4b76b7c6>