RE: [PING][PATCH] aarch64: Use SVE ASRD with vector division using division operator

Tamar Christina <[email protected]> Tue, 4 Aug 2026 17:32:58 +0000
Newsgroups gmane.comp.gcc.patches
Message-ID <VI0PR08MB10392A8FDB4C98739A56AC951FFD42@VI0PR08MB10392.eurprd08.prod.outlook.com>
SGkgU291bXlhLA0KDQpJIHRoaW5rIHRoZSByZWFzb24geW91J3JlIGhhdmluZyBhIGhhcmQgdGlt
ZSBnZXR0aW5nIHJldmlld3MgaGVyZSBpcyBiZWNhdXNlIG9uIHRoZQ0Kc3VyZmFjZSB0aGlzIGRv
ZXNuJ3Qgc2VlbSBsaWtlIGEgZ2VuZXJpYyBpbXByb3ZlbWVudC4gaS5lLiBpdCBmZWVscyBsaWtl
IGEgdGFyZ2V0IHNwZWNpZmljDQpvcHRpbWl6YXRpb24gYmVjYXVzZSBvZiBob3cgc2xvdyBkaXZp
c2lvbnMgYXJlIGFuZCBub3QgYWxsIHRhcmdldHMgaGF2ZSBzZGl2X3BvdzINCmFueXdheSBhbmQg
dGhlcmUncyBubyByZWFsIHJlYXNvbiB0byBiZWxpZXZlIHNkaXYgaXMgc2xvd2VyIHRoYW4gc2Rp
dl9wb3cyLg0KDQpTbyBteSBzdWdnZXN0aW9uIGZvciB5b3UgdG8gbWFrZSBwcm9ncmVzcyBvbiB0
aGlzIGlzIHRvIG1ha2UgaXQgYW4gQUFyY2g2NCBzcGVjaWZpYw0Kb3B0aW1pemF0aW9uLiAgWW91
IGNhbiBkbyBzbyBieSBleHRlbmRpbmcgYWFyY2g2NF9pbnN0cnVjdGlvbl9zZWxlY3Rpb24uDQoN
Ckkgbm9ybWFsbHkgd291bGQgbm90IHJlY29tbWVuZCB0aGlzIGJ1dCBJIHRoaW5rIGdpdmVuIHRo
ZSBlYXJsaWVyIHJldmlldyBjb21tZW50cw0KaXQgbWFrZXMgc2Vuc2UgdG8gbWFrZSB0aGlzIEFB
cmNoNjQgb25seS4gIFlvdSBjYW4gcmV3cml0ZSB0byAuRElWX1BPVzIgYW5kIGlmIG5lZWRlZA0K
d2UgY2FuIGFsd2F5cyBtb3ZlIGl0IHRvIGdlbmVyaWMgaXNlbCBsYXRlci4NCg0KVGhhbmtzLA0K
VGFtYXINCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTb3VteWEgQVIg
PHNvdW15YWFAbnZpZGlhLmNvbT4NCj4gU2VudDogMDQgQXVndXN0IDIwMjYgMDk6MDgNCj4gVG86
IEt5cnlsbyBUa2FjaG92IDxrdGthY2hvdkBudmlkaWEuY29tPjsgQW5kcmV3IFBpbnNraQ0KPiA8
YW5kcmV3LnBpbnNraUBvc3MucXVhbGNvbW0uY29tPjsgUmljaGFyZCBCaWVuZXIgPHJndWVudGhl
ckBzdXNlLmRlPg0KPiBDYzogVGFtYXIgQ2hyaXN0aW5hIDxUYW1hci5DaHJpc3RpbmFAYXJtLmNv
bT47IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+IFN1YmplY3Q6IFJlOiBbUElOR11bUEFUQ0hd
IGFhcmNoNjQ6IFVzZSBTVkUgQVNSRCB3aXRoIHZlY3RvciBkaXZpc2lvbiB1c2luZw0KPiBkaXZp
c2lvbiBvcGVyYXRvcg0KPiANCj4gSGkgS3lyaWxsLA0KPiANCj4gVGhhbmtzIGZvciB0aGUgcmV2
aWV3IQ0KPiANCj4gPiBPbiAxMyBKdWwgMjAyNiwgYXQgODo1NOKAr1BNLCBLeXJ5bG8gVGthY2hv
diA8a3RrYWNob3ZAbnZpZGlhLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBIaSBTb3VteWEsDQo+ID4N
Cj4gPj4gT24gMzAgSnVuIDIwMjYsIGF0IDEwOjI0LCBTb3VteWEgQVIgPHNvdW15YWFAbnZpZGlh
LmNvbT4gd3JvdGU6DQo+ID4+DQo+ID4+IFBpbmcuDQo+ID4+DQo+ID4+IEFsc28gQ0MnaW5nIEFu
ZHJlYSwgY291bGQgeW91IHBsZWFzZSB0YWtlIGEgbG9vayBpZiBwb3NzaWJsZT8NCj4gPj4NCj4g
Pj4gVGhhbmtzLA0KPiA+PiBTb3VteWENCj4gPj4NCj4gPj4gT24gb24gVHVlLCAxNiBKdW4gMjAy
NiAxMDo1NDozNyArMDAwMCwgU291bXlhIEFSDQo+IDxzb3VteWFhQG52aWRpYS5jb20+IHdyb3Rl
Og0KPiA+Pj4gUGluZy4NCj4gPj4+DQo+ID4+PiBUaGFua3MsDQo+ID4+PiBTb3VteWENCj4gPj4+
DQo+ID4+Pj4gT24gOCBKdW4gMjAyNiwgYXQgMTE6MjPigK9QTSwgU291bXlhIEFSIDxzb3VteWFh
QG52aWRpYS5jb20+DQo+IHdyb3RlOg0KPiA+Pj4+DQo+ID4+Pj4gUGluZy4NCj4gPj4+Pg0KPiA+
Pj4+IFRoYW5rcywNCj4gPj4+PiBTb3VteWENCj4gPj4+Pg0KPiA+Pj4+PiBPbiAyNiBNYXkgMjAy
NiwgYXQgMjoyNOKAr1BNLCBTb3VteWEgQVIgPHNvdW15YWFAbnZpZGlhLmNvbT4NCj4gd3JvdGU6
DQo+ID4+Pj4+DQo+ID4+Pj4+IEhpLA0KPiA+Pj4+Pg0KPiA+Pj4+PiBSZXZpdmluZyB0aGlzIHBh
dGNoIGJlY2F1c2UgaXQgY29tcGxldGVseSBzbGlwcGVkIG15IG1pbmQgYW5kIGhhcyBiZWVuDQo+
IHNpdHRpbmcNCj4gPj4+Pj4gaW4gbGltYm8gZXZlciBzaW5jZS4NCj4gPj4+Pj4NCj4gPj4+Pj4g
SSdsbCB0cnkgdG8gc3VtbWFyaXplIHRoZSBkaXNjdXNzaW9uIGZvciBzb21lIGNvbnRleHQ6DQo+
ID4+Pj4+DQo+ID4+Pj4+IFRoaXMgcGF0Y2ggdGVhY2hlcyBleHBhbmRfZGl2bW9kIHRvIGRpc3Bh
dGNoIHRocm91Z2ggdGhlIHNkaXZfcG93Mg0KPiBvcHRhYiBmb3INCj4gPj4+Pj4gdmVjdG9yIHBv
dzIgZGl2aXNpb25zLCBzbyB0aGF0DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPj4+Pj4NCj4gPj4+
Pj4gc3ZpbnQzMl90IGJhciAoc3ZpbnQzMl90IHgpIHsgcmV0dXJuIHggLyA0OyB9DQo+ID4+Pj4+
DQo+ID4+Pj4+IGVtaXRzIGEgc2luZ2xlIEFTUkQgaW5zdGVhZCBvZiBhIHZlY3RvciBTRElWLiBB
U1JEIG9uIFNWRSBwZXJmb3Jtcw0KPiBzaWduZWQNCj4gPj4+Pj4gZGl2aXNpb24gYnkgYW4gYXJp
dGhtZXRpYyBzaGlmdCByaWdodCB0aGF0IHJvdW5kcyB0b3dhcmQgemVyby4NCj4gPj4+Pj4NCj4g
Pj4+Pj4gVGhlIGF1dG92ZWN0b3JpemVyIGFscmVhZHkgdXNlcyB0aGlzIG9wdGFiIHZpYQ0KPiB2
ZWN0X3JlY29nX2Rpdm1vZF9wYXR0ZXJuOyB0aGlzDQo+ID4+Pj4+IGV4dGVuZHMgdGhlIHNhbWUg
bWVjaGFuaXNtIHRvIHRoZSBub24tdmVjdG9yaXplciBwYXRoLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBU
aGVyZSBhcmUgYSBjb3VwbGUgb2YgYmFja2VuZCBhcHByb2FjaGVzIHdlIGNvdWxkJ3ZlIHRha2Vu
Og0KPiA+Pj4+Pg0KPiA+Pj4+PiAtIG1ha2UgZXhwYW5kX2Rpdm1vZCBlbWl0IHRoZSBzaGlmdCBz
ZXF1ZW5jZSBmb3IgdmVjdG9yIHBvdzINCj4gZGl2aXNpb25zIChzaW1pbGFyDQo+ID4+Pj4+IHRv
IGhvdyBpdCBoYW5kbGVzIHNjYWxhcnMpIGFuZCBhbmQgcmVseSBvbiBjb21iaW5lIHRvIHJlY29n
bml6ZSBpdCBiYWNrDQo+IGludG8NCj4gPj4+Pj4gQVNSRC4NCj4gPj4+Pj4NCj4gPj4+Pj4gLSBl
eHRlbmQgdGhlIFNWRSBTRElWIHBhdHRlcm4gdG8gYWNjZXB0IGltbWVkaWF0ZXMgYW5kIGVtaXQg
QVNSRCBmb3INCj4gcG93Mi4NCj4gPj4+Pj4NCj4gPj4+Pj4gQnV0IHRob3NlIGZlZWwgbGVzcyBj
bGVhbiBnaXZlbiB3ZSBoYXZlIGEgZGVkaWNhdGVkIG9wdGFiIChhbmQgdGhhdCBpdA0KPiB3b3Vs
ZCBiZQ0KPiA+Pj4+PiBuZWF0ZXIgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBhdXRvdmVjdG9y
aXplciBhcHByb2FjaCkuDQo+ID4+Pj4+DQo+ID4+Pj4+IE5vdGUgdGhhdCB0aGlzIGFsc28gYXBw
bGllcyB0byBBZHYuIFNJTUQgdmVjdG9ycyBvbiBTVkUgdGFyZ2V0cywgc2luY2UNCj4gdGhlDQo+
ID4+Pj4+IEFBcmNoNjQgYmFja2VuZCBleHBvc2VzIHNkaXZfcG93MiBmb3IgQWR2LiBTSU1EIG1v
ZGVzLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBGb3IgZXhhbXBsZSwgYm90aDoNCj4gPj4+Pj4NCj4gPj4+
Pj4gaW50MzJ4NF90DQo+ID4+Pj4+IGZvbyAoaW50MzJ4NF90IHgpDQo+ID4+Pj4+IHsNCj4gPj4+
Pj4gcmV0dXJuIHggLyA0Ow0KPiA+Pj4+PiB9DQo+ID4+Pj4+DQo+ID4+Pj4+IGFuZA0KPiA+Pj4+
Pg0KPiA+Pj4+PiBzdmludDMyX3QNCj4gPj4+Pj4gYmFyIChzdmludDMyX3QgeCkNCj4gPj4+Pj4g
ew0KPiA+Pj4+PiByZXR1cm4geCAvIDQ7DQo+ID4+Pj4+IH0NCj4gPj4+Pj4NCj4gPj4+Pj4gY3Vy
cmVudGx5IGdlbmVyYXRlIERJViwgYnV0IGNhbiBiZSBkb25lIHVzaW5nIEFTUkQuDQo+ID4+Pj4+
DQo+ID4+Pj4+IFRoZSBwYXRjaCB3YXMgYm9vdHN0cmFwcGVkIGFuZCByZWd0ZXN0ZWQgb24gYWFy
Y2g2NC1saW51eC1nbnUsIG5vDQo+IHJlZ3Jlc3Npb24uDQo+ID4+Pj4+IE9LIGZvciB0cnVuaz8N
Cj4gPj4+Pj4NCj4gPj4+Pj4gU2lnbmVkLW9mZi1ieTogU291bXlhIEFSIDxzb3VteWFhQG52aWRp
YS5jb20+DQo+ID4+Pj4+DQo+ID4+Pj4+IGdjYy9DaGFuZ2VMb2c6DQo+ID4+Pj4+DQo+ID4+Pj4+
ICogZXhwbWVkLmNjIChleHBhbmRfZGl2bW9kKTogRXhwYW5kIHRvIHNkaXZfcG93MiBvcHRhYiBm
b3IgdmVjdG9ycy4NCj4gPj4+Pj4NCj4gPj4+Pj4gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6DQo+
ID4+Pj4+DQo+ID4+Pj4+ICogZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS9zdmUtYXNyZC0yLmM6IE5l
dyB0ZXN0Lg0KPiA+Pj4+PiAtLS0NCj4gPj4+Pj4gZ2NjL2V4cG1lZC5jYyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrDQo+ID4+Pj4+IC4uLi9nY2MudGFyZ2V0L2Fh
cmNoNjQvc3ZlL3N2ZS1hc3JkLTIuYyAgICAgICB8IDc0DQo+ICsrKysrKysrKysrKysrKysrKysN
Cj4gPj4+Pj4gMiBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspDQo+ID4+Pj4+IGNyZWF0
ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUvc3ZlLWFz
cmQtMi5jDQo+ID4+Pj4+DQo+ID4+Pj4+IGRpZmYgLS1naXQgYS9nY2MvZXhwbWVkLmNjIGIvZ2Nj
L2V4cG1lZC5jYw0KPiA+Pj4+PiBpbmRleCBmZTM5NTA2YjZiZC4uZWYxMjQyMDY4OWYgMTAwNjQ0
DQo+ID4+Pj4+IC0tLSBhL2djYy9leHBtZWQuY2MNCj4gPj4+Pj4gKysrIGIvZ2NjL2V4cG1lZC5j
Yw0KPiA+Pj4+PiBAQCAtNDQ4Nyw2ICs0NDg3LDI3IEBAIGV4cGFuZF9kaXZtb2QgKGludCByZW1f
ZmxhZywgZW51bQ0KPiB0cmVlX2NvZGUgY29kZSwgbWFjaGluZV9tb2RlIG1vZGUsDQo+ID4+Pj4+
ICAgIHsNCj4gPj4+Pj4gICAgY2FzZSBUUlVOQ19NT0RfRVhQUjoNCj4gPj4+Pj4gICAgY2FzZSBU
UlVOQ19ESVZfRVhQUjoNCj4gPj4+Pj4gKyBpZiAoQ09OU1RfVkVDVE9SX1AgKG9wMSkNCj4gPj4+
Pj4gKyAgICAmJiBvcHRhYl9oYW5kbGVyIChzZGl2X3BvdzJfb3B0YWIsIG1vZGUpICE9DQo+IENP
REVfRk9SX25vdGhpbmcpDQo+ID4+Pj4+ICsgIHsNCj4gPg0KPiA+IEkgdGhpbmsgaXQgaXMgd3Jv
bmcgdG8gdXNlIHRoZSBzZGl2X3BvdzJfb3B0YWIgd2hlbiB1bnNpZ25lZHAgaXMgcGFzc2VkIGlu
DQo+IHRoaXMgZnVuY3Rpb24sIG90aGVyd2lzZSBpbnB1dHMgbGlrZToNCj4gPiB7IDB4ODAwMDAw
MDAsIDB4ZmZmZmZmZmYsIDE2LCA3IH0gLyA4DQo+ID4NCj4gPiB3aWxsIGdpdmUgd3JvbmcgcmVz
dWx0cw0KPiANCj4gTXkgYmFkLCBhZGRlZCB0aGUgY2hlY2sgZm9yIHRoaXMuDQo+ID4NCj4gPj4+
Pj4gKyAgICBydHggc2NhbGFyX29wMTsNCj4gPj4+Pj4gKyAgICBpZiAoY29uc3RfdmVjX2R1cGxp
Y2F0ZV9wIChvcDEsICZzY2FsYXJfb3AxKQ0KPiA+Pj4+PiArICYmIENPTlNUX0lOVF9QIChzY2Fs
YXJfb3AxKSkNCj4gPj4+Pj4gKyAgICAgIHsNCj4gPj4+Pj4gKyBIT1NUX1dJREVfSU5UIGQgPSBJ
TlRWQUwgKHNjYWxhcl9vcDEpOw0KPiA+Pj4+PiArIGlmIChkID4gMCAmJiBwb3cycF9od2kgKGQp
KQ0KPiA+Pj4+PiArICB7DQo+ID4+Pj4+ICsgICAgcnR4IHNoaWZ0X2Ftb3VudA0KPiA+Pj4+PiAr
ICAgICAgPSBnZW5fY29uc3RfdmVjX2R1cGxpY2F0ZSAobW9kZSwNCj4gPj4+Pj4gKyBHRU5fSU5U
IChmbG9vcl9sb2cyIChkKSkpOw0KPiA+Pj4+PiArICAgIHJ0eCByZXN1bHQNCj4gPj4+Pj4gKyAg
ICAgID0gZXhwYW5kX2Jpbm9wIChtb2RlLCBzZGl2X3BvdzJfb3B0YWIsIG9wMCwgc2hpZnRfYW1v
dW50LA0KPiA+Pj4+PiArICAgICAgdGFyZ2V0LCB1bnNpZ25lZHAsIG1ldGhvZHMpOw0KPiA+Pj4+
PiArICAgIGlmIChyZXN1bHQpDQo+ID4+Pj4+ICsgICAgICByZXR1cm4gcmVzdWx0Ow0KPiA+DQo+
ID4NCj4gPiBGb3IgVFJVTkNfTU9EX0VYUFIgcmVzdWx0IGlzIHRoZSBxdW90aWVudCwgSSB0aGlu
ayB0aGlzIG5ldyBwYXRoIHNob3VsZA0KPiBvbmx5IGJlIHVzZWQgZm9yICFyZW1fZmxhZy4NCj4g
PiBBbHRlcm5hdGl2ZWx5LCBhc3NpZ24gdGhlIHJlc3VsdCB0byBxdW90aWVudCBhbmQgY29udGlu
dWUgdGhyb3VnaCB0aGUNCj4gY29tbW9uIHJlbWFpbmRlciBoYW5kbGluZy4NCj4gPg0KPiANCj4g
SSBleHBlcmltZW50ZWQgd2l0aCB1c2luZyB0aGUgY29tbW9uIGhhbmRsaW5nIGZvciB0aGlzLiBE
aXJlY3RseSBhc3NpZ25pbmcgdGhlDQo+IHJlc3VsdCB0byBxdW90aWVudCBhbmQgZmFsbGluZyB0
aHJvdWdoIGRvZXNuJ3Qgd29yayBzaW5jZSB0aGUgbmV4dCBjaGVjayBpcw0KPiBvcDFfaXNfY29u
c3RhbnQgKGZhbHNlIGZvciBhIENPTlNUX1ZFQ1RPUikuIENvbnRyb2wgdGhlcmVmb3JlIGZhbGxz
IHRocm91Z2gNCj4gdG8NCj4gZmFpbDE6LCB3aGVyZSBkZWxldGVfaW5zbnNfc2luY2UgcmVtb3Zl
cyB0aGUgZW1pdHRlZCBBU1JELg0KPiANCj4gV2UgY291bGQganVzdCBieXBhc3MgdGhpcywgYnV0
IHRoYXQgbWlnaHQgYmUgbW9vdCwgc2luY2UgdmVjdG9yIHBvdzIgbW9kdWxvDQo+IGlzDQo+IGFj
dHVhbGx5IHByb2Nlc3NlZCBlYXJsaWVyIGJ5IGV4cGFuZF92ZWN0b3JfZGl2bW9kLg0KPiANCj4g
SG93ZXZlciwgdGhpcyBvbmx5IHdvcmtzIGZvciBORU9OIGNhc2VzLCBmb3IgU1ZFIG1vZHVsbywg
d2UgZ2V0IHRoZSBzYW1lDQo+IElDRQ0KPiBtZW50aW9uZWQgaGVyZTogZ2NjLmdudS5vcmcvYnVn
emlsbGEvc2hvd19idWcuY2dpP2lkPTExODM3OA0KPiANCj4gRm9yIG5vdywgSSBoYXZlIGp1c3Qg
YWRkZWQgIXJlbV9mbGFnLg0KPiANCj4gPj4+Pj4gKyAgfQ0KPiA+Pj4+PiArICAgICAgfQ0KPiA+
Pj4+PiArICB9DQo+ID4+Pj4+IGlmIChvcDFfaXNfY29uc3RhbnQpDQo+ID4+Pj4+IHsNCj4gPj4+
Pj4gc2NhbGFyX2ludF9tb2RlIGludF9tb2RlID0gYXNfYSA8c2NhbGFyX2ludF9tb2RlPiAoY29t
cHV0ZV9tb2RlKTsNCj4gPj4+Pj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl
dC9hYXJjaDY0L3N2ZS9zdmUtYXNyZC0yLmMNCj4gYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv
YWFyY2g2NC9zdmUvc3ZlLWFzcmQtMi5jDQo+ID4+Pj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+
ID4+Pj4+IGluZGV4IDAwMDAwMDAwMDAwLi5hNTE2MzQyMWE2OQ0KPiA+Pj4+PiAtLS0gL2Rldi9u
dWxsDQo+ID4+Pj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS9z
dmUtYXNyZC0yLmMNCj4gPj4+Pj4gQEAgLTAsMCArMSw3NCBAQA0KPiA+Pj4+PiArLyogeyBkZy1k
byBjb21waWxlIH0gKi8NCj4gPj4+Pj4gKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItTzMi
IH0gKi8NCj4gPj4+Pj4gKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioq
IiAiIiAiIiB9IH0gKi8NCj4gPj4+Pj4gKw0KPiA+Pj4+PiArI2luY2x1ZGUgPGFybV9zdmUuaD4N
Cj4gPj4+Pj4gKw0KPiA+Pj4+PiArI2RlZmluZSBGT08odHlwZSkgXA0KPiA+Pj4+PiArdHlwZSBm
b29fIyN0eXBlKHR5cGUgeCkgeyBcDQo+ID4+Pj4+ICsgIHJldHVybiB4IC8gODsgXA0KPiA+Pj4+
PiArfQ0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsvKg0KPiA+Pj4+PiArKiogZm9vX2ludDMyeDRfdDoN
Cj4gPj4+Pj4gKyoqICAgICBwdHJ1ZSAocFswLTddKS5iLCB2bDE2DQo+ID4+Pj4+ICsqKiAgICAg
YXNyZCB6WzAtOV0rXC5zLCBcMS9tLCB6WzAtOV0rXC5zLCAjMw0KPiA+Pj4+PiArKiogICAgIHJl
dA0KPiA+Pj4+PiArKi8NCj4gPj4+Pj4gK0ZPTyhpbnQzMng0X3QpDQo+ID4+Pj4+ICsNCj4gPj4+
Pj4gKy8qDQo+ID4+Pj4+ICsqKiBmb29faW50NjR4Ml90Og0KPiA+Pj4+PiArKiogICAgIHB0cnVl
IChwWzAtN10pLmIsIHZsMTYNCj4gPj4+Pj4gKyoqICAgICBhc3JkIHpbMC05XStcLmQsIFwxL20s
IHpbMC05XStcLmQsICMzDQo+ID4+Pj4+ICsqKiAgICAgcmV0DQo+ID4+Pj4+ICsqLw0KPiA+Pj4+
PiArRk9PKGludDY0eDJfdCkNCj4gPj4+Pj4gKw0KPiA+Pj4+PiArLyoNCj4gPj4+Pj4gKyoqIGZv
b19zdmludDMyX3Q6DQo+ID4+Pj4+ICsqKiAgICAgcHRydWUgKHBbMC03XSkuYiwgYWxsDQo+ID4+
Pj4+ICsqKiAgICAgYXNyZCB6WzAtOV0rXC5zLCBcMS9tLCB6WzAtOV0rXC5zLCAjMw0KPiA+Pj4+
PiArKiogICAgIHJldA0KPiA+Pj4+PiArKi8NCj4gPj4+Pj4gK0ZPTyhzdmludDMyX3QpDQo+ID4+
Pj4+ICsNCj4gPj4+Pj4gKy8qDQo+ID4+Pj4+ICsqKiBmb29fc3ZpbnQ2NF90Og0KPiA+Pj4+PiAr
KiogICAgIHB0cnVlIChwWzAtN10pLmIsIGFsbA0KPiA+Pj4+PiArKiogICAgIGFzcmQgelswLTld
K1wuZCwgXDEvbSwgelswLTldK1wuZCwgIzMNCj4gPj4+Pj4gKyoqICAgICByZXQNCj4gPj4+Pj4g
KyovDQo+ID4+Pj4+ICtGT08oc3ZpbnQ2NF90KQ0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsvKg0KPiA+
Pj4+PiArKiogZm9vX3VpbnQzMng0X3Q6DQo+ID4+Pj4+ICsqKiAgICAgcHRydWUgKHBbMC03XSku
YiwgdmwxNg0KPiA+Pj4+PiArKiogICAgIGFzcmQgelswLTldK1wucywgXDEvbSwgelswLTldK1wu
cywgIzMNCj4gPj4+Pj4gKyoqICAgICByZXQNCj4gPj4+Pj4gKyovDQo+ID4+Pj4+ICtGT08odWlu
dDMyeDRfdCkNCj4gPg0KPiA+IEFzIG1lbnRpb25lZCBhYm92ZSwgSSBkb27igJl0IHRoaW5rIHVz
aW5nIEFTUkQgdGhpcyBpcyBjb3JyZWN0IGZvciB1bnNpZ25lZA0KPiB0eXBlcyBzbyB0aGVzZSB0
ZXN0cyB3b3VsZCBuZWVkIHRvIGJlIHJlbW92ZWQuDQo+IA0KPiBEb25lLg0KPiANCj4gVGhhbmtz
LA0KPiBTb3VteWENCj4gDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gS3lyaWxsDQo+ID4NCj4gPj4+
Pj4gKw0KPiA+Pj4+PiArLyoNCj4gPj4+Pj4gKyoqIGZvb191aW50NjR4Ml90Og0KPiA+Pj4+PiAr
KiogICAgIHB0cnVlIChwWzAtN10pLmIsIHZsMTYNCj4gPj4+Pj4gKyoqICAgICBhc3JkIHpbMC05
XStcLmQsIFwxL20sIHpbMC05XStcLmQsICMzDQo+ID4+Pj4+ICsqKiAgICAgcmV0DQo+ID4+Pj4+
ICsqLw0KPiA+Pj4+PiArRk9PKHVpbnQ2NHgyX3QpDQo+ID4+Pj4+ICsNCj4gPj4+Pj4gKy8qDQo+
ID4+Pj4+ICsqKiBmb29fc3Z1aW50MzJfdDoNCj4gPj4+Pj4gKyoqICAgICBwdHJ1ZSAocFswLTdd
KS5iLCBhbGwNCj4gPj4+Pj4gKyoqICAgICBhc3JkIHpbMC05XStcLnMsIFwxL20sIHpbMC05XStc
LnMsICMzDQo+ID4+Pj4+ICsqKiAgICAgcmV0DQo+ID4+Pj4+ICsqLw0KPiA+Pj4+PiArRk9PKHN2
dWludDMyX3QpDQo+ID4+Pj4+ICsNCj4gPj4+Pj4gKy8qDQo+ID4+Pj4+ICsqKiBmb29fc3Z1aW50
NjRfdDoNCj4gPj4+Pj4gKyoqICAgICBwdHJ1ZSAocFswLTddKS5iLCBhbGwNCj4gPj4+Pj4gKyoq
ICAgICBhc3JkIHpbMC05XStcLmQsIFwxL20sIHpbMC05XStcLmQsICMzDQo+ID4+Pj4+ICsqKiAg
ICAgcmV0DQo+ID4+Pj4+ICsqLw0KPiA+Pj4+PiArRk9PKHN2dWludDY0X3QpDQo+ID4+Pj4+IC0t
DQo+ID4+Pj4+IDIuNDMuMA0KPiA+Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+Pj4gT24gMjIgT2N0IDIw
MjUsIGF0IDc6MjHigK9QTSwgVGFtYXIgQ2hyaXN0aW5hDQo+IDxUYW1hci5DaHJpc3RpbmFAYXJt
LmNvbT4gd3JvdGU6DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gRXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0
aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+
Pj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+Pj4gRnJvbTogUmljaGFy
ZCBCaWVuZXIgPHJndWVudGhlckBzdXNlLmRlPg0KPiA+Pj4+Pj4+IFNlbnQ6IDIyIE9jdG9iZXIg
MjAyNSAxNDozMA0KPiA+Pj4+Pj4+IFRvOiBUYW1hciBDaHJpc3RpbmEgPFRhbWFyLkNocmlzdGlu
YUBhcm0uY29tPg0KPiA+Pj4+Pj4+IENjOiBTb3VteWEgQVIgPHNvdW15YWFAbnZpZGlhLmNvbT47
IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOw0KPiBLeXJ5bG8NCj4gPj4+Pj4+PiBUa2FjaG92IDxr
dGthY2hvdkBudmlkaWEuY29tPg0KPiA+Pj4+Pj4+IFN1YmplY3Q6IFJFOiBbUEFUQ0hdIGFhcmNo
NjQ6IFVzZSBTVkUgQVNSRCB3aXRoIHZlY3RvciBkaXZpc2lvbg0KPiB1c2luZw0KPiA+Pj4+Pj4+
IGRpdmlzaW9uIG9wZXJhdG9yDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBPbiBXZWQsIDIyIE9jdCAy
MDI1LCBUYW1hciBDaHJpc3RpbmEgd3JvdGU6DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IC0tLS0t
T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+Pj4+PiBGcm9tOiBSaWNoYXJkIEJpZW5lciA8
cmd1ZW50aGVyQHN1c2UuZGU+DQo+ID4+Pj4+Pj4+PiBTZW50OiAyMiBPY3RvYmVyIDIwMjUgMTQ6
MDUNCj4gPj4+Pj4+Pj4+IFRvOiBUYW1hciBDaHJpc3RpbmEgPFRhbWFyLkNocmlzdGluYUBhcm0u
Y29tPg0KPiA+Pj4+Pj4+Pj4gQ2M6IFNvdW15YSBBUiA8c291bXlhYUBudmlkaWEuY29tPjsgZ2Nj
LQ0KPiBwYXRjaGVzQGdjYy5nbnUub3JnOyBLeXJ5bG8NCj4gPj4+Pj4+Pj4+IFRrYWNob3YgPGt0
a2FjaG92QG52aWRpYS5jb20+DQo+ID4+Pj4+Pj4+PiBTdWJqZWN0OiBSRTogW1BBVENIXSBhYXJj
aDY0OiBVc2UgU1ZFIEFTUkQgd2l0aCB2ZWN0b3IgZGl2aXNpb24NCj4gdXNpbmcNCj4gPj4+Pj4+
Pj4+IGRpdmlzaW9uIG9wZXJhdG9yDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gT24gV2VkLCAy
MiBPY3QgMjAyNSwgVGFtYXIgQ2hyaXN0aW5hIHdyb3RlOg0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+
Pj4+PiBIaSBTb3VteWEsDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4gLS0tLS1PcmlnaW5h
bCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4+Pj4+Pj4gRnJvbTogU291bXlhIEFSIDxzb3VteWFhQG52
aWRpYS5jb20+DQo+ID4+Pj4+Pj4+Pj4+IFNlbnQ6IDEzIE9jdG9iZXIgMjAyNSAxMzo0Mg0KPiA+
Pj4+Pj4+Pj4+PiBUbzogVGFtYXIgQ2hyaXN0aW5hIDxUYW1hci5DaHJpc3RpbmFAYXJtLmNvbT4N
Cj4gPj4+Pj4+Pj4+Pj4gQ2M6IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBLeXJ5bG8gVGthY2hv
dg0KPiA8a3RrYWNob3ZAbnZpZGlhLmNvbT47DQo+ID4+Pj4+Pj4+Pj4+IFJpY2hhcmQgQmllbmVy
IDxyZ3VlbnRoZXJAc3VzZS5kZT4NCj4gPj4+Pj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtQQVRDSF0g
YWFyY2g2NDogVXNlIFNWRSBBU1JEIHdpdGggdmVjdG9yIGRpdmlzaW9uDQo+IHVzaW5nDQo+ID4+
Pj4+Pj4+Pj4+IGRpdmlzaW9uIG9wZXJhdG9yDQo+ID4+Pj4+Pj4+Pj4+IEltcG9ydGFuY2U6IEhp
Z2gNCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+
Pj4+Pj4+IE9uIDEzIE9jdCAyMDI1LCBhdCAxOjQ44oCvUE0sIFRhbWFyIENocmlzdGluYQ0KPiA+
Pj4+Pj4+Pj4gPFRhbWFyLkNocmlzdGluYUBhcm0uY29tPg0KPiA+Pj4+Pj4+Pj4+PiB3cm90ZToN
Cj4gPj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiBFeHRlcm5hbCBlbWFpbDogVXNlIGNhdXRp
b24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+
Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiBIaSBTb3VteWEsDQo+ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+
Pj4+Pj4+Pj4gVGhlIDEwLzEzLzIwMjUgMDc6MDUsIFNvdW15YSBBUiB3cm90ZToNCj4gPj4+Pj4+
Pj4+Pj4+PiBUaGUgQVNSRCBpbnN0cnVjdGlvbiBvbiBTVkUgcGVyZm9ybXMgYW4gYXJpdGhtZXRp
YyBzaGlmdCByaWdodA0KPiBieSBhbg0KPiA+Pj4+Pj4+Pj4+PiBpbW1lZGlhdGUNCj4gPj4+Pj4+
Pj4+Pj4+PiBmb3IgZGl2aWRlLiBUaGlzIHBhdGNoIGVuYWJsZXMgQVNSRCB3aGVuIGRpdmlkaW5n
IHZlY3RvcnMNCj4gdXNpbmcgdGhlDQo+ID4+Pj4+Pj4gR05VDQo+ID4+Pj4+Pj4+PiBDDQo+ID4+
Pj4+Pj4+Pj4+Pj4gZGl2aXNpb24gb3BlcmF0b3IuDQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+
Pj4+Pj4+PiBGb3IgZXhhbXBsZToNCj4gPj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+IGlu
dDMyeDRfdA0KPiA+Pj4+Pj4+Pj4+Pj4+IGZvbyAoaW50MzJ4NF90IHgpDQo+ID4+Pj4+Pj4+Pj4+
Pj4gew0KPiA+Pj4+Pj4+Pj4+Pj4+IHJldHVybiB4IC8gNDsNCj4gPj4+Pj4+Pj4+Pj4+PiB9DQo+
ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+PiBzdmludDMyX3QNCj4gPj4+Pj4+Pj4+Pj4+
PiBiYXIgKHN2aW50MzJfdCB4KQ0KPiA+Pj4+Pj4+Pj4+Pj4+IHsNCj4gPj4+Pj4+Pj4+Pj4+PiBy
ZXR1cm4geCAvIDQ7DQo+ID4+Pj4+Pj4+Pj4+Pj4gfQ0KPiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+
Pj4+Pj4+Pj4gY3VycmVudGx5IGdlbmVyYXRlcyBhIERJViwgYnV0IGNhbiBiZSBkb25lIHVzaW5n
IEFTUkQuDQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+PiBUaGUgcGF0Y2ggd2FzIGJv
b3RzdHJhcHBlZCBhbmQgcmVndGVzdGVkIG9uIGFhcmNoNjQtbGludXgtDQo+IGdudSwgbm8NCj4g
Pj4+Pj4+Pj4+Pj4gcmVncmVzc2lvbi4NCj4gPj4+Pj4+Pj4+Pj4+PiBPSyBmb3IgR0NDMTY/DQo+
ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBTb3VteWEgQVIg
PHNvdW15YWFAbnZpZGlhLmNvbT4NCj4gPj4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4+IGdj
Yy9DaGFuZ2VMb2c6DQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+PiAqIGV4cG1lZC5j
YyAoZXhwYW5kX2Rpdm1vZCk6IEV4cGFuZCB0byBzZGl2X3BvdzIgb3B0YWINCj4gZm9yDQo+ID4+
Pj4+Pj4+PiB2ZWN0b3JzLg0KPiA+Pj4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+Pj4gZ2NjL3Rl
c3RzdWl0ZS9DaGFuZ2VMb2c6DQo+ID4+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+PiAqIGdj
Yy50YXJnZXQvYWFyY2g2NC9zdmUvc3ZlLWFzcmQtMi5jOiBOZXcgdGVzdC4NCj4gPj4+Pj4+Pj4+
Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4gSGkgVGFt
YXIsDQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+IFRoYW5rcyBmb3IgdGhlIHF1aWNrIHJl
dmlldyENCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IFRoZSB0ZXN0IGlzIE9LLCBidXQg
eW91J2xsIG5lZWQgYSBtaWRkbGUtZW5kIG1haW50YWluZXIgZm9yIHRoZQ0KPiA+Pj4+Pj4+IGV4
cG1lZC5jYw0KPiA+Pj4+Pj4+Pj4+PiBjaGFuZ2VzLg0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+
Pj4+PiBNeSBiYWQsIENDJ2luZyBSaWNoaSBoZXJlIGFzIHdlbGwuDQo+ID4+Pj4+Pj4+Pj4+DQo+
ID4+Pj4+Pj4+Pj4+PiBCdXQgdGhhdCBzYWlkLi4uDQo+ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+
Pj4+Pj4gZGlmZiAtLWdpdCBhL2djYy9leHBtZWQuY2MgYi9nY2MvZXhwbWVkLmNjDQo+ID4+Pj4+
Pj4+Pj4+PiBpbmRleCBkZjA5Y2JjY2QwOC4uYTM1YWEyMjlkNDQgMTAwNjQ0DQo+ID4+Pj4+Pj4+
Pj4+PiAtLS0gYS9nY2MvZXhwbWVkLmNjDQo+ID4+Pj4+Pj4+Pj4+PiArKysgYi9nY2MvZXhwbWVk
LmNjDQo+ID4+Pj4+Pj4+Pj4+PiBAQCAtNDQ2NSw2ICs0NDY1LDI0IEBAIGV4cGFuZF9kaXZtb2Qg
KGludCByZW1fZmxhZywNCj4gZW51bQ0KPiA+Pj4+Pj4+Pj4gdHJlZV9jb2RlDQo+ID4+Pj4+Pj4+
Pj4+IGNvZGUsIG1hY2hpbmVfbW9kZSBtb2RlLA0KPiA+Pj4+Pj4+Pj4+Pj4gIHsNCj4gPj4+Pj4+
Pj4+Pj4+ICBjYXNlIFRSVU5DX01PRF9FWFBSOg0KPiA+Pj4+Pj4+Pj4+Pj4gIGNhc2UgVFJVTkNf
RElWX0VYUFI6DQo+ID4+Pj4+Pj4+Pj4+PiArICAgICAgIGlmIChDT05TVF9WRUNUT1JfUCAob3Ax
KQ0KPiA+Pj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgJiYgb3B0YWJfaGFuZGxlciAoc2Rpdl9wb3cy
X29wdGFiLCBtb2RlKSAhPQ0KPiA+Pj4+Pj4+Pj4gQ09ERV9GT1Jfbm90aGluZykNCj4gPj4+Pj4+
Pj4+Pj4+ICsgICAgICAgICB7DQo+ID4+Pj4+Pj4+Pj4+PiArICAgICAgICAgICBydHggc2NhbGFy
X29wMSA9IHVud3JhcF9jb25zdF92ZWNfZHVwbGljYXRlIChvcDEpOw0KPiA+Pj4+Pj4+Pj4+Pj4g
KyAgICAgICAgICAgaWYgKHNjYWxhcl9vcDEgIT0gTlVMTF9SVFggJiYgQ09OU1RfSU5UX1ANCj4g
KHNjYWxhcl9vcDEpKQ0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IFlvdSBjYW4gc2lt
cGxpZnkgdGhpcyB1c2luZyBjb25zdF92ZWNfZHVwbGljYXRlX3AuDQo+ID4+Pj4+Pj4+Pj4+Pg0K
PiA+Pj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICB7DQo+ID4+Pj4+Pj4+Pj4+PiArICAgICAgICAg
ICAgICAgSE9TVF9XSURFX0lOVCBkID0gSU5UVkFMIChzY2FsYXJfb3AxKTsNCj4gPj4+Pj4+Pj4+
Pj4+ICsgICAgICAgICAgICAgICBpZiAoZCA+IDAgJiYgcG93MnBfaHdpIChkKSkNCj4gPj4+Pj4+
Pj4+Pj4+ICsgICAgICAgICAgICAgICAgIHsNCj4gPj4+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAg
ICAgICAgcnR4IHNoaWZ0X2Ftb3VudA0KPiA+Pj4+Pj4+Pj4+Pj4gKyAgICAgICAgICAgICAgICAg
ICAgID0gZ2VuX2NvbnN0X3ZlY19kdXBsaWNhdGUgKG1vZGUsDQo+ID4+Pj4+Pj4+Pj4+PiArICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VOX0lOVCAoZmxv
b3JfbG9nMiAoZCkpKTsNCj4gPj4+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGV4cGFuZF9iaW5vcCAobW9kZSwgc2Rpdl9wb3cyX29wdGFiLA0KPiBvcDAsDQo+ID4+Pj4+Pj4+
Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoaWZ0X2Ftb3Vu
dCwgdGFyZ2V0LCB1bnNpZ25lZHAsDQo+ID4+Pj4+Pj4+Pj4+PiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZHMpOw0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+
Pj4+Pj4+IFRoaXMgZXhwYW5zaW9uIGNhbiBmYWlsLCB3aGVuIGUuZy4gdGhlIHNoaWZ0IGFtb3Vu
dCBpcyBsYXJnZXIgdGhhbg0KPiB0aGUNCj4gPj4+Pj4+Pj4+IGJpdHNpemUNCj4gPj4+Pj4+Pj4+
Pj4gb2YgdGhlIGVsZW1lbnQsDQo+ID4+Pj4+Pj4+Pj4+PiBzbyB5b3Ugc2hvdWxkIGNoZWNrIHRo
ZSByZXN1bHQgb2YgaXQgYmVmb3JlIGV4aXRpbmcgZnJvbQ0KPiA+Pj4+Pj4+IGV4cGFuZF9kaXZt
b2QuDQo+ID4+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+PiBNYWtlcyBz
ZW5zZSwgYXR0YWNoaW5nIGFuIHVwZGF0ZWQgcGF0Y2ggd2l0aCBib3RoIGNoYW5nZXMuDQo+ID4+
Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBUaGUgbmV3IHBhdGNoIGxvb2tz
IE9LIHRvIG1lIChpdCB1c2VzIHRoZSBvbGQgaW50ZXJmYWNlIGJ1dCB0aGF0J3MNCj4gd2hhdA0K
PiA+Pj4+Pj4+IG1vc3QNCj4gPj4+Pj4+Pj4+IG9mDQo+ID4+Pj4+Pj4+Pj4gZXhwbWVkIHVzZXMp
Lg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4gSSB0aGluayB5b3VyIGNvdmVyIGxldHRlciBu
ZWVkcyB0byBtZW50aW9uIHRoYXQgd2UgY2FuJ3QgZG8gdGhpcyBpbg0KPiB0aGUNCj4gPj4+Pj4+
Pj4+IGJhY2tlbmQgYmVjYXVzZQ0KPiA+Pj4+Pj4+Pj4+IEFkdi4gU0lNRCBsYWNrcyBhIGRpdmlz
aW9uIGluc3RydWN0aW9uIGFuZCB0aGF0IHRoZSBkZWNvbXBvc2l0aW9uDQo+IGlzDQo+ID4+Pj4+
Pj4gaGFyZGVyDQo+ID4+Pj4+Pj4+PiB0byBtYXRjaA0KPiA+Pj4+Pj4+Pj4+IGNvcnJlY3RseSBp
biBhbGwgY2FzZXMuDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBUaGF0IHNhaWQgeW91IHN0
aWxsIG5lZWQgYSBtaWRkbGUtZW5kIG1haW50YWluZXIgYXBwcm92YWwuDQo+ID4+Pj4+Pj4+Pg0K
PiA+Pj4+Pj4+Pj4gU28gdGhlIGJhY2tlbmQgYWR2ZXJ0aXNlcyBhIHZlY3RvciBkaXZpc2lvbj8g
IE90aGV3aXNlIEkgd291bGQNCj4gaGF2ZQ0KPiA+Pj4+Pj4+Pj4gZXhwZWN0ZWQgdmVjdG9yIGxv
d2VyaW5nIHRvIGxvd2VyIHRoaXMgKGlmIGl0IGRvZXMgdGhhdCBhdCBhbGwsIGZvcg0KPiA+Pj4+
Pj4+Pj4gVkxBIHZlY3RvcnM/ISkuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gU28gdGhpcyBp
cyBhbiBhbHRlcm5hdGl2ZSBiZXR0ZXIgZXhwYW5zaW9uIC0gYnV0IHRoZXJlIHNob3VsZCBhbHJl
YWR5DQo+ID4+Pj4+Pj4+PiBiZSBnZW5lcmljIGNvZGUgdG8gZGVhbCB3aXRoIGRpdmlzaW9ucyBi
eSBhIHBvd2VyIG9mIHR3bywgd2h5IGRvZXMNCj4gPj4+Pj4+Pj4+IHRoYXQgbm90IHRyaWdnZXI/
ICBBbmQgd2hhdCdzIHRoaXMgc2Rpdl9wb3cyIHRoaW5nIGFnYWluPw0KPiA+Pj4+Pj4+Pg0KPiA+
Pj4+Pj4+PiBZZXMsIGV4cGFuZCBpbnRlcmNlcHRzIGluIGV4cGFuZF9kaXZtb2QgZGl2aXNpb24g
YnkgYSBwb3dlciBvZiAyDQo+IGFuZA0KPiA+Pj4+Pj4+IGRlY29tcG9zZXMNCj4gPj4+Pj4+Pj4g
SXQgdG8gc2hpZnRzLiAgIFdlIGNvdWxkIHJlLXJlY29nbml6ZSB0aGUgaW5zdHJ1Y3Rpb24gaW4g
Y29tYmluZSBvZg0KPiBjb3Vyc2UsIGJ1dA0KPiA+Pj4+Pj4+IHdlIGFscmVhZHkNCj4gPj4+Pj4+
Pj4gaGF2ZSBhbiBvcHRhYiB0aGUgdmVjdG9yaXplciB3b3VsZCBoYXZlIHVzZWQgaW4gdGhpcyBj
YXNlDQo+IFt1c11kaXZfcG93Miwgc2VlDQo+ID4+Pj4+Pj4+IHZlY3RfcmVjb2dfZGl2bW9kX3Bh
dHRlcm4uICBTbyB0aGlzIGlzIGp1c3QgdGVhY2hpbmcgZXhwYW5kIGFib3V0DQo+IHRoZQ0KPiA+
Pj4+Pj4+IHNwZWNpYWwgZGl2aXNpb24gb2YNCj4gPj4+Pj4+Pj4gYSBwb3dlciBvZiAyIG9wdGFi
IHRoYXQgdGhlIHZlY3Rvcml6ZXIgdXNlcyBmb3Igbm9ybWFsIHZlY3Rvcg0KPiBvcGVyYXRpb25z
Lg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gSSBjYW4ndCByZW1lbWJlciB0aGUgZGlmZmVyZW5jZSBv
ZiBkaXZfcG93MiBhbmQgc2hpZnRzLCBidXQgaXQgZmVlbHMgbGlrZQ0KPiA+Pj4+Pj4+IHRoaXMg
ZXhwYW5kLXRpbWUgaW1wcm92ZW1lbnQgc2hvdWxkIGJlIGRvbmUgYnkgZXhwYW5kX2Rpdm1vZA0K
PiB0aGVuPw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFRoZSBwYXRjaCBkb2VzIGV4dGVuZCBleHBhbmRf
ZGl2bW9kIHRob3VnaCwgYnV0IGRvZXMgdGhyb3VnaCBhbg0KPiBleGlzdGluZw0KPiA+Pj4+Pj4g
b3B0YWIuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlIGlzc3VlIGlzIHRoYXQgc2lnbmVkbmVzcyBt
YXR0ZXJzLA0KPiA+Pj4+Pj4gdGhpcyByZXdyaXRlIHRvIGFzcmQgaXMgb25seSBwb3NzaWJsZSBm
b3Igc2lnbmVkIHZhbHVlcyBhcyBpdCdzIGFuDQo+IGFyaXRobWV0aWMgc2hpZnQuDQo+ID4+Pj4+
Pg0KPiA+Pj4+Pj4gRm9yIHVuc2lnbmVkIHZhbHVlcyB3ZSB3YW50IHVzaHIuDQo+ID4+Pj4+Pg0K
PiA+Pj4+Pj4+ICdhc3JkJyBpcyBkZXNjcmliZWQgYXMgYXJpdGhtZXRpYyBzaGlmdCByaWdodCBm
b3IgZGl2aWRlIGJ5IGltbWVkaWF0ZQ0KPiA+Pj4+Pj4+IHdoYXRldmVyIHRoZSBleGFjdCBkaWZm
ZXJlbmNlIGZyb20gJ2FzcicgaXMgLi4uIHRoZSBkb2NzIHNheSBzdGgNCj4gPj4+Pj4+PiBhYm91
dCByb3VuZCB0b3dhcmRzIHplcm8sIGJ1dCB0aGVuIHdlJ3JlIHVzaW5nIGFyaXRobWV0aWMgcmln
aHQgc2hpZnRzDQo+ID4+Pj4+Pj4gZm9yIHNpZ25lZCBkaXZpc2lvbiBhbHJlYWR5IC4uLg0KPiA+
Pj4+Pj4NCj4gPj4+Pj4+IFNWRSBkb2Vzbid0IHN1cHBvcnQgZGl2aXNpb24gYnkgaW1tZWRpYXRl
cywgc28gU0RJViBvbmx5IHRha2VzIGENCj4gcmVnaXN0ZXIuDQo+ID4+Pj4+PiB3ZSBjb3VsZCBh
bHdheXMgZXh0ZW5kIHRoZSBzZGl2IHBhdHRlcm4gdG8gc3VwcG9ydCBpbW1lZGlhdGVzLCBidXQg
aXQNCj4gPj4+Pj4+IGRvZXMgZmVlbCBvZGQgZ2l2ZW4gd2UgaGF2ZSBhIGRpZmZlcmVudCBvcHRh
YiBmb3IgdGhpcy4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGFua3MsDQo+ID4+Pj4+PiBUYW1hcg0K
PiA+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFJpY2hhcmQuDQo+ID4+Pj4+Pj4NCj4gPj4+
Pj4+Pj4gVGhhbmtzLA0KPiA+Pj4+Pj4+PiBUYW1hcg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4N
Cj4gPj4+Pj4+Pj4+IFJpY2hhcmQuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IFRoYW5rcywN
Cj4gPj4+Pj4+Pj4+PiBUYW1hcg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+IFRoYW5rcywN
Cj4gPj4+Pj4+Pj4+Pj4gU291bXlhDQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiBUaGFu
a3MsDQo+ID4+Pj4+Pj4+Pj4+PiBUYW1hcg0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+
ICsgICAgICAgICAgICAgICAgIH0NCj4gPj4+Pj4+Pj4+Pj4+ICsgICAgICAgICAgICAgfQ0KPiA+
Pj4+Pj4+Pj4+Pj4gKyAgICAgICAgIH0NCj4gPj4+Pj4+Pj4+Pj4+ICAgaWYgKG9wMV9pc19jb25z
dGFudCkNCj4gPj4+Pj4+Pj4+Pj4+ICAgICB7DQo+ID4+Pj4+Pj4+Pj4+PiAgICAgICBzY2FsYXJf
aW50X21vZGUgaW50X21vZGUgPSBhc19hIDxzY2FsYXJfaW50X21vZGU+DQo+ID4+Pj4+Pj4+Pj4+
IChjb21wdXRlX21vZGUpOw0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+
Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiAtLQ0KPiA+Pj4+Pj4+Pj4gUmljaGFyZCBCaWVu
ZXIgPHJndWVudGhlckBzdXNlLmRlPg0KPiA+Pj4+Pj4+Pj4gU1VTRSBTb2Z0d2FyZSBTb2x1dGlv
bnMgR2VybWFueSBHbWJILA0KPiA+Pj4+Pj4+Pj4gRnJhbmtlbnN0cmFzc2UgMTQ2LCA5MDQ2MSBO
dWVybmJlcmcsIEdlcm1hbnk7DQo+ID4+Pj4+Pj4+PiBHRjogSXZvIFRvdGV2LCBBbmRyZXcgTWNE
b25hbGQsIFdlcm5lciBLbm9ibGljaDsgKEhSQiAzNjgwOSwNCj4gQUcNCj4gPj4+Pj4+Pj4+IE51
ZXJuYmVyZykNCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IC0tDQo+ID4+Pj4+Pj4g
UmljaGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNlLmRlPg0KPiA+Pj4+Pj4+IFNVU0UgU29mdHdh
cmUgU29sdXRpb25zIEdlcm1hbnkgR21iSCwNCj4gPj4+Pj4+PiBGcmFua2Vuc3RyYXNzZSAxNDYs
IDkwNDYxIE51ZXJuYmVyZywgR2VybWFueTsNCj4gPj4+Pj4+PiBHRjogSXZvIFRvdGV2LCBBbmRy
ZXcgTWNEb25hbGQsIFdlcm5lciBLbm9ibGljaDsgKEhSQiAzNjgwOSwgQUcNCj4gPj4+Pj4+PiBO
dWVybmJlcmcpDQo+IA0KDQo=