Subject: 1.6.2_RC4 kernel panic
To: NetBSD/Sparc64 Mailing-list <port-sparc64@NetBSD.org>
From: ali (Anders Lindgren) <dat94ali@ludat.lth.se>
List: port-sparc64
Date: 02/25/2004 14:23:06
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-1847939343-1077715386=:22651
Content-Type: TEXT/PLAIN; charset=US-ASCII

Tried to build ncurses from pkgsrc on 1.6.2_RC4/sparc64,
with pkgsrc gcc 3.3.2. It crashes pretty bad, and "sync"
from "db" crashes again so something really fucked the kernel up.

This is on:
	NetBSD 1.6.2 (IDA) #0: Thu Feb 12 22:15:42 CET 2004
and:
	cpu0 at mainbus0: SUNW,UltraSPARC @ 143 MHz, version 0 FPU

I hope this can be of some help to someone. Kernel config attached.

---------------------------8------------------------
gcc -O -ffixed-g4 -mcpu=ultrasparc -mtune=ultrasparc -O2 -pipe
-I/usr/pkgsrc/de0.. (rest of wrapped line trashed by $TERM suckage)

kernel trap 30: data access exception
Stopped in pid 22546 (collect2) at      zs_read_reg+0x4: ldx [%o0 + %g0], %g2
db> trace
zshard(1e0ec00, 117ee40, 0, 218800, ffffffffffffbb08, ffffffffffffbb00) at zshard+0x1c
intr_list_handler(1e1de00, 0, e0017ed0, 218800, 11918e0, 630000) at intr_list_handler+0x18
sparc_intr_retry(ffffffffffffa35f, 6c, 1ff10000000, 0, ffffffffffffbb20,
11001f) at sparc_intr_retry+0x48
end(101037, 7d804, 4030bdb0, ffffffffffffb708, 1, 0) at 0x402051ec
db> show registers
tstate      0x4482000607
pc           0x117f1c4  zs_read_reg+0x4
npc          0x117f1c8  zs_read_reg+0x8
ipl                0xc
y                    0
g0                   0
g1          0x4482008202
g2          0x402051ec
g3          0x402051f0
g4                   0
g5                   0
g6                   0
g7                   0
o0          0x4020ec78
o1                 0x3
o2               0x300
o3                0x40
o4                   0
o5                   0
o6          0xe00173e1
o7           0x117f770  zsc_intr_hard+0x10
l0..i7               0
f0..f62              0
fsr                  0
gsr                  0
---------------------------8------------------------


-- 
/ali
:wq

---559023410-1847939343-1077715386=:22651
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=IDA
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.GSO.4.43.0402251423060.22651@bach>
Content-Description: NetBSD-1.6.2_RC4 kernel config
Content-Disposition: attachment; filename=IDA

IwkkTmV0QlNEOiBzdGQuc3BhcmM2NCx2IDEuMTAgMjAwMS8xMC8yNCAxODo0
OTo0MCB0aG9ycGVqIEV4cCAkDQoNCiMNCiMgTWFuZGF0b3J5IE5ldEJTRC9z
cGFyYzY0IGtlcm5lbCBvcHRpb25zIHdoZW4gYnVpbGRpbmcgZWl0aGVyIDMy
LWJpdCBvcg0KIyA2NC1iaXQga2VybmVscy4gIEFkZGl0aW9uYWwgbWFuZGF0
b3J5IG9wdGlvbnMgZm9yIDY0LWJpdCBrZXJuZWxzIGFyZQ0KIyBwaWNrZWQg
dXAgYnkgYWxzbyBpbmNsdWRpbmcgInN0ZC5zcGFyYzY0LTY0Ii4NCiMNCg0K
bWFjaGluZQkJc3BhcmM2NAkJIyBNYWNoaW5lIGFyY2hpdGVjdHVyZTsgcmVx
dWlyZWQgYnkgY29uZmlnKDgpDQoNCm9wdGlvbnMgCUVYRUNfU0NSSVBUCSMg
ZXhlY3ZlKDIpIHN1cHBvcnQgZm9yIHNjcmlwdHMNCiMgCSROZXRCU0Q6IEdF
TkVSSUMzMix2IDEuMzkuNC40IDIwMDIvMTEvMzAgMTQ6MDE6MTAgaGUgRXhw
ICQNCg0KDQpvcHRpb25zIAlJTkNMVURFX0NPTkZJR19GSUxFCSMgZW1iZWQg
Y29uZmlnIGZpbGUgaW4ga2VybmVsIGJpbmFyeQ0KDQojaWRlbnQgCQkiR0VO
RVJJQy0kUmV2aXNpb246IDEuMzkuNC40ICQiDQoNCm1heHVzZXJzCTY0DQoN
CiMjIFN5c3RlbSBrZXJuZWwgY29uZmlndXJhdGlvbi4gIFNlZSBvcHRpb25z
KDQpIGZvciBtb3JlIGRldGFpbC4NCg0KDQojIE9wdGlvbnMgZm9yIHZhcmlh
bnRzIG9mIHRoZSBTdW4gU1BBUkMgYXJjaGl0ZWN1cmUuDQojIFdlIGN1cnJl
bnRseSBzdXBwb3J0IHRocmVlIGFyY2hpdGVjdHVyZSB0eXBlczsgYXQgbGVh
c3Qgb25lIGlzIHJlcXVpcmVkLg0Kb3B0aW9ucyAJU1VONFUJCSMgc3VuNHUg
LSBVbHRyYVNQQVJDDQojb3B0aW9ucyAJQkxJTksJCSMgYmxpbmsgdGhlIHN5
c3RlbSBMRUQNCg0KIyMgU3lzdGVtIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhl
IHNwYXJjIG1hY2hpbmUgdHlwZQ0KDQojIyBVc2UgYSBmYXN0ZXIgY29uc29s
ZSB0aGFuIHRoZSBQUk9NJ3Mgc2xvdyBkcmF3aW5nIHJvdXRpbmVzLiAgTm90
IG5lZWRlZA0KIyMgZm9yIGhlYWRsZXNzIChubyBmcmFtZWJ1ZmZlcikgbWFj
aGluZXMuDQojIFhYWCBib3JrZW4gb24gc3BhcmM2NA0KI29wdGlvbnMgCVJB
U1RFUkNPTlNPTEUJCSMgZmFzdCByYXN0ZXJvcCBjb25zb2xlDQojb3B0aW9u
cyAJRk9OVF9HQUxMQU5UMTJ4MjIJIyB0aGUgY29uc29sZSBmb250DQojb3B0
aW9ucyAJRk9OVF9CT0xEOHgxNgkJIyBhIHNvbWV3aGF0IHNtYWxsZXIgZm9u
dA0KDQojIyMjIFN5c3RlbSBvcHRpb25zIHRoYXQgYXJlIHRoZSBzYW1lIGZv
ciBhbGwgcG9ydHMNCg0KIyMgUm9vdCBkZXZpY2UgY29uZmlndXJhdGlvbjog
Y2hhbmdlIHRoZSA/J3MgaWYgeW91IGFyZSBnb2luZyB0byB1c2UgYQ0KIyMg
bm9uc3RhbmRhcmQgcm9vdCBwYXJ0aXRpb24gKG90aGVyIHRoYW4gd2hlcmUg
dGhlIGtlcm5lbCBpcyBib290ZWQgZnJvbSkNCiMjIGFuZC9vciBub25zdGFu
ZGFyZCByb290IHR5cGUgKG5vdCBmZnMgb3IgbmZzKS4gIE5vcm1hbGx5IHRo
aXMgY2FuIGJlDQojIyBhdXRvbWFnaWNhbGx5IGRldGVybWluZWQgYXQgYm9v
dCB0aW1lLg0KDQpjb25maWcJCW5ldGJzZAlyb290IG9uID8gdHlwZSA/DQoN
CiMjIFVWTSBvcHRpb25zLg0KI29wdGlvbnMgCVVWTV9QQUdFX1RSS09XTg0K
I29wdGlvbnMgCVVWTUhJU1QNCiNvcHRpb25zIAlVVk1ISVNUX1BSSU5UCSMg
TG91ZCENCg0KIyMgU3lzdGVtIGNhbGwgdHJhY2luZyAoc2VlIGt0cmFjZSgx
KSkuDQpvcHRpb25zIAlLVFJBQ0UNCg0KIyMgQ29sbGVjdCBzdGF0aXN0aWNz
IG9uIGtlcm5lbCBtYWxsb2MncyBhbmQgZnJlZSdzLiAgVGhpcyBkb2VzIGhh
dmUgYQ0KIyMgc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgaGl0IG9uIHNsb3dl
ciBtYWNoaW5lcywgc28gaXQgaXMgaW50ZW5kZWQgZm9yDQojIyBkaWFnbm9z
dGljIHVzZSBvbmx5Lg0KI29wdGlvbnMgCUtNRU1TVEFUUw0KDQojIyBTeXN0
ZW0gViBjb21wYXRpYmxlIElQQyBzdWJzeXN0ZW0uICAobXNnY3RsKDIpLCBz
ZW1jdGwoMiksIGFuZCBzaG1jdGwoMikpDQpvcHRpb25zIAlTWVNWTVNHCQkj
IFN5c3RlbSBWIG1lc3NhZ2UgcXVldWVzDQpvcHRpb25zIAlTWVNWU0VNCQkj
IFN5c3RlbSBWIHNlbWFwaG9yZXMNCm9wdGlvbnMgCVNZU1ZTSE0JCSMgU3lz
dGVtIFYgc2hhcmVkIG1lbW9yeQ0KI29wdGlvbnMgCVNITU1BWFBHUz0xMDI0
CSMgMTAyNCBwYWdlcyBpcyB0aGUgZGVmYXVsdA0KDQojIyBMb2FkYWJsZSBr
ZXJuZWwgbW9kdWxlIHN1cHBvcnQ7IHN0aWxsIHVuZGVyIGRldmVsb3BtZW50
Lg0Kb3B0aW9ucyAJTEtNDQoNCiNvcHRpb25zIAlVU0VSQ09ORgkjIHVzZXJj
b25mKDQpIHN1cHBvcnQNCiNvcHRpb25zCVBJUEVfU09DS0VUUEFJUgkjIHNt
YWxsZXIsIGJ1dCBzbG93ZXIgcGlwZSgyKQ0KDQojIyBORlMgYm9vdCBvcHRp
b25zOyBkZWZhdWx0IG9uIHNwYXJjIGlzIHRoZSBib290cGFyYW0gcHJvdG9j
b2wNCiNvcHRpb25zIAlORlNfQk9PVF9CT09UUEFSQU0NCiNvcHRpb25zIAlO
RlNfQk9PVF9CT09UUA0KI29wdGlvbnMgCU5GU19CT09UX0RIQ1ANCg0KIyMj
IyBEZWJ1Z2dpbmcgb3B0aW9ucw0KDQojIyBUaGUgRERCIGluLWtlcm5lbCBk
ZWJ1Z2dlciBydW5zIGF0IHBhbmljICh1bmxlc3MgRERCX09OUEFOSUM9MCks
IG9yIGF0DQojIyBzZXJpYWwgY29uc29sZSBicmVhayBvciBrZXlib2FyZCBy
ZXNldCwgd2hlcmUgdGhlIFBST00gd291bGQgbm9ybWFsbHkNCiMjIGludGVy
Y2VwdC4gIEREQl9ISVNUT1JZX1NJWkUgYWRkcyB1cC9kb3duIGFycm93IGNv
bW1hbmQgaGlzdG9yeS4NCiMgd2UgZW5hYmxlIEREQiBpbiBHRU5FUklDIGZv
ciBub3cuDQpvcHRpb25zIAlEREIJCQkjIGtlcm5lbCBkeW5hbWljIGRlYnVn
Z2VyDQpvcHRpb25zIAlEREJfSElTVE9SWV9TSVpFPTEwMAkjIGVuYWJsZSBo
aXN0b3J5IGVkaXRpbmcgaW4gRERCDQojb3B0aW9ucyAJRERCX09OUEFOSUMJ
CSMgc2VlIGFsc28gc3lzY3RsKDgpOiBgZGRiLm9ucGFuaWMnDQoNCiMjIFlv
dSBtYXkgYWxzbyB1c2UgZ2RiLCBvbiBhbm90aGVyIGNvbXB1dGVyIGNvbm5l
Y3RlZCB0byB0aGlzIG1hY2hpbmUgb3Zlcg0KIyMgYSBzZXJpYWwgcG9ydC4g
IEJvdGggS0dEQl9ERVYgYW5kIEtHREJfREVWUkFURSBzaG91bGQgYmUgc3Bl
Y2lmaWVkOw0KIyMgS0dEQl9ERVYgaXMgYSBkZXZfdCBlbmNvZGVkIGRldmlj
ZSBudW1iZXIgb2YgdGhlIHNlcmlhbCBwb3J0IHRvIHVzZS4NCiMjICgweGMw
MSA9IHR0eWEsIDB4YzAyID0gdHR5Yi4pDQojb3B0aW9ucyAJS0dEQgkJCSMg
c3VwcG9ydCBmb3Iga2VybmVsIGdkYg0KI29wdGlvbnMgCUtHREJfREVWPTB4
YzAxCQkjIGtnZGIgZGV2aWNlIG51bWJlciAodGhpcyBpcyBgdHR5YicpDQoj
b3B0aW9ucyAJS0dEQl9ERVZSQVRFPTM4NDAwCSMgYmF1ZCByYXRlDQoNCg0K
IyMgQ29tcGlsZSB0aGUga2VybmVsIHdpdGggZGVidWdnaW5nIHN5bWJvbHMg
KGBuZXRic2QuZ2RiJyBpcyB0aGUgZGVidWcgZmlsZSksDQojIyBzdWNoIHRo
YXQgZ2RiKDEpIGNhbiBiZSB1c2VkIG9uIGEga2VybmVsIGNvcmVkdW1wLg0K
DQojbWFrZW9wdGlvbnMJREVCVUc9Ii1nIg0KDQoNCiMjIEFkZHMgY29kZSB0
byB0aGUga2VybmVsIHRoYXQgZG9lcyBpbnRlcm5hbCBjb25zaXN0ZW5jeSBj
aGVja3MsIGFuZCB3aWxsDQojIyBjYXVzZSB0aGUga2VybmVsIHRvIHBhbmlj
IGlmIGNvcnJ1cHRpb24gb2YgaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmVzDQoj
IyBpcyBkZXRlY3RlZC4NCiNvcHRpb25zIAlESUFHTk9TVElDCSMgZXh0cmEg
a2VybmVsIHNhbml0eSBjaGVja2luZw0KDQojIyBFbmFibGUgKHBvc3NpYmx5
IGV4cGVuc2l2ZSkgZGVidWdnaW5nIGNvZGUgdGhhdCBtYXkgYWxzbyBkaXNw
bGF5IG1lc3NhZ2VzDQojIyBvbiB0aGUgc3lzdGVtIGNvbnNvbGUNCiNvcHRp
b25zIAlERUJVRw0KDQojIyBNYWtlIFNDU0kgZXJyb3IgbWVzc2FnZXMgbW9y
ZSB2ZXJib3NlIHdoZW4gZXhwbGFpbmluZyB0aGVpciBtZWFuaW5ncy4NCm9w
dGlvbnMgCVNDU0lWRVJCT1NFDQojb3B0aW9ucyAJUENJVkVSQk9TRQ0Kb3B0
aW9ucyAJTUlJVkVSQk9TRQkjIHZlcmJvc2UgUEhZIGF1dG9jb25maWcgbWVz
c2FnZXMNCiNvcHRpb25zIAlQQ0lfQ09ORklHX0RVTVAJIyB2ZXJib3NlbHkg
ZHVtcCBQQ0kgY29uZmlnIHNwYWNlDQoNCiMjIGBJTlNFQ1VSRScgdHVybnMg
b2ZmIHRoZSBrZXJuZWwgc2VjdXJpdHkgbGV2ZWwgKHNlY3VyZWxldmVsID0g
MCBhbHdheXMpLg0KIyMgVGhpcyBhbGxvd3Mgd3JpdGluZyB0byAvZGV2L21l
bSwgbG9hZGluZyBrZXJuZWwgbW9kdWxlcyB3aGlsZSBtdWx0aS11c2VyLA0K
IyMgYW5kIG90aGVyIGluc2VjdXJpdGllcyBnb29kIG9ubHkgZm9yIGRldmVs
b3BtZW50IHdvcmsuICBEbyBub3QgdXNlIHRoaXMNCiMjIG9wdGlvbiBvbiBh
IHByb2R1Y3Rpb24gbWFjaGluZS4NCiNvcHRpb25zIAlJTlNFQ1VSRQ0KDQoj
IyBBbGxvdyBub24tcm9vdCB1c2VycyB0byBncmFiIC9kZXYvY29uc29sZSB3
aXRoIHByb2dyYW1zIHN1Y2ggYXMgeGNvbnNvbGUuDQojIyBgeGNvbnNvbGUn
IHRoZXJlZm9yZSBkb2VzIG5vdCBuZWVkIHNldHVpZCByb290IHdpdGggdGhp
cyBvcHRpb24gZW5hYmxlZC4NCiNvcHRpb25zIAlVQ09OU09MRQ0KDQojIyBg
RkRTQ1JJUFRTJyBhbGxvd3Mgbm9uLXJlYWRhYmxlIGJ1dCBleGVjdXRhYmxl
IHNjcmlwdHMgYnkgcHJvdmlkaW5nIGENCiMjIHByZS1vcGVuZWQgb3BhcXVl
IGZpbGUgdG8gdGhlIHNjcmlwdCBpbnRlcnByZXRlci4gIGBTRVRVSURTQ1JJ
UFRTJywNCiMjIHdoaWNoIGltcGxpZXMgRkRTQ1JJUFRTLCBhbGxvd3Mgc2Ny
aXB0cyB0byBiZSBzZXQtdXNlci1pZCB1c2luZyB0aGUgc2FtZQ0KIyMgb3Bh
cXVlIGZpbGUgbWVjaGFuaXNtLiAgUGVybCBjYWxscyB0aGlzICJzZWN1cmUg
c2V0dWlkIHNjcmlwdHMuIg0KDQojb3B0aW9ucyAJRkRTQ1JJUFRTDQojb3B0
aW9ucyAJU0VUVUlEU0NSSVBUUw0KDQojIyBPcHRpb25zIGZvciBjb21wYXRp
YmlsaXR5IHdpdGggcHJldmlvdXMgcmVsZWFzZXMgZm9yZWlnbiBzeXN0ZW0g
YmluYXJpZXMuDQojIyBJbiB0aGUgY2FzZXMgb2YgQ09NUEFUX1NVTk9TIGFu
ZCBDT01QQVRfU1ZSNCwgeW91IG1heSBuZWVkIHRvIHNldCB1cA0KIyMgYWRk
aXRpb25hbCB1c2VyLWxldmVsIHV0aWxpdGllcyBvciBzeXN0ZW0gY29uZmln
dXJhdGlvbiBmaWxlcy4gU2VlDQojIyBjb21wYXRfc3Vub3MoOCkgYW5kIGNv
bXBhdF9zdnI0KDgpLg0KDQojb3B0aW9ucyAJQ09NUEFUXzQzCSMgNC4zQlNE
IHN5c3RlbSBpbnRlcmZhY2VzDQojb3B0aW9ucyAJQ09NUEFUXzA5CSMgTmV0
QlNEIDAuOSBiaW5hcnkgY29tcGF0aWJpbGl0eQ0KI29wdGlvbnMgCUNPTVBB
VF8xMAkjIE5ldEJTRCAxLjAgYmluYXJ5IGNvbXBhdGliaWxpdHkNCiNvcHRp
b25zIAlDT01QQVRfMTEJIyBOZXRCU0QgMS4xIGJpbmFyeSBjb21wYXRpYmls
aXR5DQojb3B0aW9ucyAJQ09NUEFUXzEyCSMgTmV0QlNEIDEuMiBiaW5hcnkg
Y29tcGF0aWJpbGl0eQ0KI29wdGlvbnMgCUNPTVBBVF8xMwkjIE5ldEJTRCAx
LjMgYmluYXJ5IGNvbXBhdGliaWxpdHkNCiNvcHRpb25zIAlDT01QQVRfMTQJ
IyBOZXRCU0QgMS40IGJpbmFyeSBjb21wYXRpYmlsaXR5DQojb3B0aW9ucyAJ
Q09NUEFUX1NVTk9TCSMgU3VuT1MgNC54IGJpbmFyeSBjb21wYXRpYmlsaXR5
DQojb3B0aW9ucyAJQ09NUEFUX1NWUjQJIyBTdW5PUyA1LnggYmluYXJ5IGNv
bXBhdGliaWxpdHkNCiNvcHRpb25zIAlDT01QQVRfU1ZSNF8zMgkjIFN1bk9T
IDUueCAzMi1iaXQgYmluYXJ5IGNvbXBhdGliaWxpdHkgLS0gNjQtYml0IG9u
bHkNCiNvcHRpb25zIAlDT01QQVRfTkVUQlNEMzIJIyBOZXRCU0Qvc3BhcmMg
YmluYXJ5IGNvbXBhdGliaWxpdHkgLS0gNjQtYml0IG9ubHkNCiNvcHRpb25z
IAlFWEVDX0FPVVQJIyBleGVjdmUoMikgc3VwcG9ydCBmb3IgYS5vdXQgYmlu
YXJpZXMNCiNvcHRpb25zIAlFWEVDX0VMRjMyCSMgRXhlYyBtb2R1bGUgZm9y
IFN1bk9TIDUueCBiaW5hcmllcy4NCiNvcHRpb25zIAlTWVNDQUxMX0RFQlVH
DQoNCiNvcHRpb25zIAlUQ1BfQ09NUEFUXzQyCSMgNC4yQlNEIFRDUC9JUCBi
dWcgY29tcGF0LiBOb3QgcmVjb21tZW5kZWQuDQoNCiMjIEZpbGUgc3lzdGVt
cy4gIFlvdSBwcm9iYWJseSBuZWVkIGF0IGxlYXN0IG9uZSBvZiBGRlMgb3Ig
TkZTLg0KZmlsZS1zeXN0ZW0JRkZTCQkjIEJlcmtlbGV5IEZhc3QgRmlsZXN5
c3RlbQ0KZmlsZS1zeXN0ZW0JTkZTCQkjIFN1biBORlMtY29tcGF0aWJsZSBm
aWxlc3lzdGVtIGNsaWVudA0KZmlsZS1zeXN0ZW0JS0VSTkZTCQkjIGtlcm5l
bCBkYXRhLXN0cnVjdHVyZSBmaWxlc3lzdGVtDQojZmlsZS1zeXN0ZW0JTlVM
TEZTCQkjIE5VTEwgbGF5ZXJlZCBmaWxlc3lzdGVtDQojZmlsZS1zeXN0ZW0g
CU9WRVJMQVkJCSMgb3ZlcmxheSBmaWxlIHN5c3RlbQ0KZmlsZS1zeXN0ZW0J
TUZTCQkjIG1lbW9yeS1iYXNlZCBmaWxlc3lzdGVtDQojZmlsZS1zeXN0ZW0J
RkRFU0MJCSMgdXNlciBmaWxlIGRlc2NyaXB0b3IgZmlsZXN5c3RlbQ0KI2Zp
bGUtc3lzdGVtCVVNQVBGUwkJIyB1aWQvZ2lkIHJlbWFwcGluZyBmaWxlc3lz
dGVtDQojZmlsZS1zeXN0ZW0JTEZTCQkjIExvZy1iYXNlZCBmaWxlc3lzdGVt
IChzdGlsbCBleHBlcmltZW50YWwpDQojZmlsZS1zeXN0ZW0JUE9SVEFMCQkj
IHBvcnRhbCBmaWxlc3lzdGVtIChzdGlsbCBleHBlcmltZW50YWwpDQpmaWxl
LXN5c3RlbQlQUk9DRlMJCSMgL3Byb2MNCmZpbGUtc3lzdGVtCUNEOTY2MAkJ
IyBJU08gOTY2MCArIFJvY2sgUmlkZ2UgZmlsZSBzeXN0ZW0NCiNmaWxlLXN5
c3RlbQlVTklPTgkJIyB1bmlvbiBmaWxlIHN5c3RlbQ0KI2ZpbGUtc3lzdGVt
CU1TRE9TRlMJCSMgTVMtRE9TIEZBVCBmaWxlc3lzdGVtKHMpLg0KDQojIyBG
aWxlIHN5c3RlbSBvcHRpb25zLg0Kb3B0aW9ucyAJTkZTU0VSVkVSCSMgU3Vu
IE5GUy1jb21wYXRpYmxlIGZpbGVzeXN0ZW0gc2VydmVyDQpvcHRpb25zIAlR
VU9UQQkJIyBGRlMgcXVvdGFzDQojb3B0aW9ucyAJRkZTX0VJCQkjIEZGUyBF
bmRpYW4gSW5kZXBlbmRlbnQgc3VwcG9ydA0Kb3B0aW9ucyAJU09GVERFUAkJ
IyBGRlMgc29mdCB1cGRhdGVzIHN1cHBvcnQuDQoNCiMjIE5ldHdvcmsgcHJv
dG9jb2wgc3VwcG9ydC4gIEluIG1vc3QgZW52aXJvbm1lbnRzLCBJTkVUIGlz
IHJlcXVpcmVkLg0Kb3B0aW9ucyAJSU5FVAkJIyBJUCAoSW50ZXJuZXQgUHJv
dG9jb2wpIHY0DQpvcHRpb25zIAlJTkVUNgkJIyBJUFY2DQpvcHRpb25zIAlJ
UFNFQwkJIyBJUCBzZWN1cml0eQ0Kb3B0aW9ucyAJSVBTRUNfRVNQCSMgSVAg
c2VjdXJpdHkgKGVuY3J5cHRpb24gcGFydDsgZGVmaW5lIHcvSVBTRUMpDQoj
b3B0aW9ucyAJSVBTRUNfREVCVUcJIyBkZWJ1ZyBmb3IgSVAgc2VjdXJpdHkN
CiNvcHRpb25zIAlHQVRFV0FZCQkjIHBhY2tldCBmb3J3YXJkaW5nICgicm91
dGVyIHN3aXRjaCIpDQojb3B0aW9ucyAJTVJPVVRJTkcJIyBwYWNrZXQgZm9y
d2FyZGluZyBvZiBtdWx0aWNhc3QgcGFja2V0cw0KI29wdGlvbnMgCURJUkVD
VEVEX0JST0FEQ0FTVAkjIGFsbG93IGJyb2FkY2FzdHMgdGhyb3VnaCByb3V0
ZXJzDQojb3B0aW9ucyAJTlMJCSMgWGVyb3ggTlMgbmV0d29ya2luZw0KI29w
dGlvbnMgCU5TSVAJCSMgWGVyb3ggTlMgdHVubmVsaW5nIG92ZXIgSVANCiNv
cHRpb25zIAlJU08sVFBJUAkjIE9TSSBuZXR3b3JraW5nDQojb3B0aW9ucyAJ
RU9OCQkjIE9TSSB0dW5uZWxpbmcgb3ZlciBJUA0KI29wdGlvbnMgCUNDSVRU
LExMQyxIRExDCSMgWC4yNSBwYWNrZXQgc3dpdGNoZWQgcHJvdG9jb2wNCiNv
cHRpb25zIAlORVRBVEFMSwkjIEFwcGxlVGFsayAob3ZlciBFdGhlcm5ldCkg
cHJvdG9jb2wNCm9wdGlvbnMgCU5UUAkJIyBOZXR3b3JrIFRpbWUgUHJvdG9j
b2wgaW4ta2VybmVsIHN1cHBvcnQNCiNvcHRpb25zIAlQUFNfU1lOQwkjIEFk
ZCBzZXJpYWwgbGluZSBzeW5jaHJvbml6YXRpb24gZm9yIE5UUA0Kb3B0aW9u
cyAJUEZJTF9IT09LUwkjIEFkZCBwZmlsKDkpIGhvb2tzLCBpbnRlbmRlZCBm
b3IgY3VzdG9tIExLTXMuDQpvcHRpb25zIAlJUEZJTFRFUl9MT0cJIyBBZGQg
aXBtb24oOCkgbG9nZ2luZyBmb3IgaXBmaWx0ZXIgZGV2aWNlDQojb3B0aW9u
cyAJSVBGSUxURVJfREVGQVVMVF9CTE9DSwkjIGJsb2NrIGFsbCBwYWNrZXRz
IGJ5IGRlZmF1bHQNCiNvcHRpb25zIAlQUFBfQlNEQ09NUAkjIEFkZCBCU0Qg
Y29tcHJlc3Npb24gdG8gcHBwIGRldmljZQ0KI29wdGlvbnMgCVBQUF9ERUZM
QVRFCSMgQWRkIGRlZmxhdGUgKGxpYnopIGNvbXByZXNzaW9uIHRvIHBwcCBk
ZXZpY2UNCiNvcHRpb25zIAlQUFBfRklMVEVSCSMgQWRkIGFjdGl2ZSBmaWx0
ZXJzIGZvciBwcHAgKHZpYSBicGYpDQojb3B0aW9ucyAJVENQX0RFQlVHCSMg
UmVjb3JkIGxhc3QgVENQX05ERUJVRyBwYWNrZXRzIHdpdGggU09fREVCVUcN
Cg0KDQojIyMjIE1haW4gYnVzIGFuZCBDUFUgLi4gYWxsIHN5c3RlbXMuDQpt
YWluYnVzMCBhdCByb290DQpjcHUwCWF0IG1haW5idXMwDQoNCiMjIyMgQnVz
IHR5cGVzIGZvdW5kIG9uIFNQQVJDIHN5c3RlbXMuDQoNCnNidXMwCWF0IG1h
aW5idXMwCQkJCSMgVWx0cmEgMQ0KI3VwYTAJYXQgbWFpbmJ1czAJCQkJIyBV
bHRyYSAxRSwgVWx0cmEgMiwgRXgwMDAwDQojcHN5Y2hvKglhdCBtYWluYnVz
MAkJCQkjIERhcndpbiwgVWx0cmE1DQojcGNpKglhdCBwc3ljaG8/DQojcGNp
KglhdCBwcGI/DQojcHBiKglhdCBwY2k/CQkJCQkjIGBBUEInIHN1cHBvcnQu
DQojZWJ1cyoJYXQgcGNpPwkJCQkJIyBlYnVzIGRldmljZXMNCiMgWFhYICdw
dWMncyBhcmVuJ3QgcmVhbGx5IGJyaWRnZXMsIGJ1dCB0aGVyZSdzIG5vIGJl
dHRlciBwbGFjZSBmb3IgdGhlbSBoZXJlDQojcHVjKglhdCBwY2k/IGRldiA/
IGZ1bmN0aW9uID8JCSMgUENJICJ1bml2ZXJzYWwiIGNvbW0uIGNhcmRzDQoN
CiMjIyMgU3RhbmRhcmQgc3lzdGVtIGRldmljZXMgLS0gYWxsIHJlcXVpcmVk
IGZvciBhIGdpdmVuIGFyY2hpdGVjdHVyZQ0KDQojIyBQUk9NIGNvbnNvbGUg
ZHJpdmVyIC0tIGlmIGFsbCBlbHNlIGZhaWxzDQpwY29uczAJYXQgbWFpbmJ1
czAJCQkJIyBQUk9NIGNvbnNvbGUNCg0KIyMgQXV4aWxpYXJ5IHN5c3RlbSBy
ZWdpc3RlcnMgLS0gV2UgdXNlIHRoZSBPQlAgZm9yIHBvd2VyIG1hbmFnZW1l
bnQNCiNhdXhpbyoJYXQgZWJ1cz8JCQkJIyBhdXhpbyByZWdpc3RlcnMNCmF1
eGlvKglhdCBzYnVzPyBzbG90ID8gb2Zmc2V0ID8JCSMgYXV4aW8gcmVnaXN0
ZXJzDQoNCiMgV2UgYWxzbyBuZWVkOg0KI2JwcCoJYXQgc2J1cz8gc2xvdCA/
IG9mZnNldCA/CQkjIHBhcmFsbGVsIHBvcnQNCiNscHQqCWF0IGVidXM/CQkJ
CSMgcGFyYWxsZWwgcG9ydA0KDQojIyBNb3N0ZWsgY2xvY2sgZm91bmQgb24g
NC8zMDAsIHN1bjRjLCBzdW40bSBhbmQgc3VuNHUgc3lzdGVtcy4NCiMjIFRo
ZSBNb3N0ZWsgY2xvY2sgTlZSQU0gaXMgdGhlICJlZXByb20iIG9uIHN1bjQv
MzAwIHN5c3RlbXMuDQpjbG9jayoJYXQgc2J1cz8gc2xvdCA/IG9mZnNldCA/
DQojY2xvY2sqCWF0IGVidXM/DQojcnRjKglhdCBlYnVzPw0KDQojIyBUaW1l
ciBjaGlwIGZvdW5kIG9uIDQvMzAwLCBzdW40Yywgc3VuNG0gYW5kIChzb21l
KSBzdW40dSBzeXN0ZW1zLg0KdGltZXIqCWF0IG1haW5idXMwCQkJCSMgc3Vu
NGMNCg0KIyMjIyBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uDQoNCiMjIFpp
bG9nIDg1MzAgc2VyaWFsIGNoaXBzLiAgRWFjaCBoYXMgdHdvLWNoYW5uZWxz
Lg0KIyMgenMwIGlzIHR0eWEgYW5kIHR0eWIuICB6czEgaXMgdGhlIGtleWJv
YXJkIGFuZCBtb3VzZS4NCnpzKglhdCBzYnVzPyBzbG90ID8gb2Zmc2V0ID8N
CnpzdHR5KglhdCB6cz8gY2hhbm5lbCA/CQkJIyB0dHlhDQprYmQwCWF0IHpz
dHR5Pw0KbXMwCWF0IHpzdHR5Pw0KDQojIyBQQ0kgbWFjaGluZXMgaGF2ZSBz
ZXJpYWwgcG9ydHM6DQojIwlTaWVtZW5zIFNBQjgyNTMyIGNvbnRyb2xsZXI6
IHR0eWEgYW5kIHR0eWIgKGBzdSc7IHNhYikNCiMjCVBhcnQgb2YgTlMgUEM4
NzMzMlZMSiBTdXBlciBJL08gY29udHJvbGxlcjoga2JkL21vdXNlIChgc2Un
OyBjb20pDQoNCiMjIFRoZSBTQUI4MjUzMiBjb250cm9sbGVyIGhhcyB0d28g
c2VyaWFsIHBvcnRzDQojc2FiKglhdCBlYnVzPwkJCQkjIHR0eWEvdHR5Yg0K
I3NhYnR0eSoJYXQgc2FiPyBjaGFubmVsID8NCg0KIyMgUGFydCBvZiBhIFBD
ODczMzJWTEoNCiNjb20qCWF0IGVidXM/CQkJCSMgYGNvbScgZHJpdmVyIGZv
ciBgc3UnDQoja2JkMAlhdCBjb20/CQkJCQkjIGtleWJvYXJkDQojbXMwCWF0
IGNvbT8JCQkJCSMgbW91c2UNCg0KIyBQQ0kgc2VyaWFsIGludGVyZmFjZXMN
CiNjb20qCWF0IHB1Yz8gcG9ydCA/CQkJIyAxNng1MHMgb24gInVuaXZlcnNh
bCIgY29tbSBib2FyZHMNCiNjeSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/
CSMgQ3ljbGFkZXMgQ3ljbG9tLVkgc2VyaWFsIGJvYXJkcw0KI2N6KglhdCBw
Y2k/IGRldiA/IGZ1bmN0aW9uID8JIyBDeWNsYWRlcy1aIG11bHRpLXBvcnQg
c2VyaWFsIGJvYXJkcw0KDQojIyMjIERpc2sgY29udHJvbGxlcnMgYW5kIGRp
c2tzDQoNCiMjIFRoZSBmb2xsb3dpbmcgZmxhZ3MgbWF5IGJlIHNldCBmb3Ig
dGhlIE5DUjUzYzk0IGJhc2VkIGVzcCBkcml2ZXI6DQojIwliaXRzIDAtNzog
IGRpc2FibGUgZGlzY29ubmVjdC9yZXNlbGVjdCBmb3IgdGhlIGNvcnJlc3Bv
bmRpbmcgdGFyZ2V0DQojIwliaXRzIDgtMTU6IGRpc2FibGUgc3luY2hyb25v
dXMgbmVnb3RpYXRpb24gZm9yIHRhcmdldCBbYml0LThdDQoNCiMjIHN1bjR1
IG9uLWJvYXJkIFNDU0ksIGFuZCBGU0JFL1MgU0J1cyBTQ1NJIGNhcmRzLCBh
biBOQ1I1M2M5NCBvcg0KIyMgZXF1aXZhbGVudCBiZWhpbmQgYW4gTFNJIExv
Z2ljIERNQSBjb250cm9sbGVyDQoNCmRtYSoJYXQgc2J1cz8gc2xvdCA/IG9m
ZnNldCA/CQkjIFNCdXMNCmVzcCoJYXQgZG1hPyBmbGFncyAweDAwMDAJCQkj
IFNCdXMNCg0KIyMjIEZBUyBzdXBwb3J0ZWQgYnkgZXNwIGRyaXZlcg0KI2Vz
cCoJYXQgc2J1cz8gc2xvdCA/IG9mZnNldCA/DQoNCnNjc2lidXMqIGF0IGVz
cD8NCg0KIyMgUWxvZ2ljIElTUCBTQnVzIG9yIFBDSSBTQ1NJIENhcmQNCiNp
c3AqCWF0IHNidXM/IHNsb3QgPyBvZmZzZXQgPw0KI2lzcCoJYXQgcGNpPw0K
I3Njc2lidXMqIGF0IGlzcD8NCg0KIyMgR0xNIHN1cHBvcnQNCiNzaW9wKglh
dCBwY2k/CQkJCQkjIDUzQzg3NSAiZ2xtIiBjb21wYXRpYmxlDQojc2NzaWJ1
cyogYXQgc2lvcD8NCg0KIyBQQ0kgU0NTSSBjb250cm9sbGVycw0KIyAJVVQg
bWFya3MgdW50ZXN0ZWQuDQojYWR2KglhdCBwY2k/IGRldiA/IGZ1bmN0aW9u
ID8JIyBBZHZhblN5cyAxMjAwW0EsQl0sIDl4eFtVLFVBXSBTQ1NJIFVUDQoj
YWR3KglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBBZHZhblN5cyA5eDBV
V1tEXSwgMzk0MFVbMiwzXVcgU0NTSSBVVA0KI2FoYyoJYXQgcGNpPyBkZXYg
PyBmdW5jdGlvbiA/CSMgQWRhcHRlYyBbMjNdOTR4LCBhaWM3OHgwIFNDU0kg
VVQNCiNiaGEqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEJ1c0xvZ2lj
IDl4eCBTQ1NJIFVUDQojZHB0KglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8J
IyBEUFQgU21hcnRDYWNoZS9TbWFydFJBSUQgVVQNCiNpaGEqCWF0IHBjaT8g
ZGV2ID8gZnVuY3Rpb24gPwkjIEluaXRpbyBJTklDLTk0MC85NTAgU0NTSQ0K
I3Bjc2NwKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBBTUQgNTNjOTc0
IFBDc2NzaS1QQ0kgU0NTSSBVVA0KI3RybSoJYXQgcGNpPyBkZXYgPyBmdW5j
dGlvbiA/CSMgVGVrcmFtIERDLTM5NVUvVVcvRiwgREMtMzE1L1UgU0NTSQ0K
DQojc2NzaWJ1cyogYXQgc2NzaT8NCg0KIyMgVGhlc2UgZW50cmllcyBmaW5k
IGRldmljZXMgb24gYWxsIFNDU0kgYnVzc2VzIGFuZCBhc3NpZ24NCiMjIHVu
aXQgbnVtYmVycyBkeW5hbWljYWxseS4NCnNkKglhdCBzY3NpYnVzPyB0YXJn
ZXQgPyBsdW4gPwkJIyBTQ1NJIGRpc2tzDQojc3QqCWF0IHNjc2lidXM/IHRh
cmdldCA/IGx1biA/CQkjIFNDU0kgdGFwZXMNCiNjZCoJYXQgc2NzaWJ1cz8g
dGFyZ2V0ID8gbHVuID8JCSMgU0NTSSBDRC1ST01zDQojY2gqCWF0IHNjc2li
dXM/IHRhcmdldCA/IGx1biA/CQkjIFNDU0kgY2hhbmdlciBkZXZpY2VzDQoj
c3MqCWF0IHNjc2lidXM/IHRhcmdldCA/IGx1biA/CQkjIFNDU0kgc2Nhbm5l
cnMNCiNzZXMqCWF0IHNjc2lidXM/IHRhcmdldCA/IGx1biA/CQkjIFNDU0kg
U0VTL1NBRi1URSBkZXZpY2VzDQojdWsqCWF0IHNjc2lidXM/IHRhcmdldCA/
IGx1biA/CQkjIHVua25vd24gU0NTSQ0KDQojIFBDSSBJREUuDQojcGNpaWRl
KiBhdCBwY2kgPyBkZXYgPyBmdW5jdGlvbiA/IGZsYWdzIDB4MDAwMA0KI2F0
YXBpYnVzKiBhdCBwY2lpZGU/IGNoYW5uZWwgPw0KDQojIyBEaXNhYmxlIFVE
TUEgNCB3aGljaCBjYXVzZXMgZGF0YSBjb3JydXB0aW9uIG9uIHRoZSBBY2Vy
IExhYnMNCiMjIGNoaXBzZXQgb24gU3VuIEJsYWRlIDEwMCBhbmQgTmV0cmEg
WDEgbWFjaGluZXMuDQojd2QqCWF0IHBjaWlkZT8gY2hhbm5lbCA/IGRyaXZl
ID8gZmxhZ3MgMHgwYTAwICMgRGlzYWJsZSBVRE1BIDQNCg0KDQojY2QqCWF0
IGF0YXBpYnVzPyBkcml2ZSA/IGZsYWdzIDB4MDAwMAkjIEFUQVBJIENELVJP
TSBkcml2ZXMNCiNzZCoJYXQgYXRhcGlidXM/IGRyaXZlID8gZmxhZ3MgMHgw
MDAwCSMgQVRBUEkgZGlzayBkcml2ZXMNCiN1ayoJYXQgYXRhcGlidXM/IGRy
aXZlID8gZmxhZ3MgMHgwMDAwCSMgQVRBUEkgdW5rbm93bg0KDQojIFJBSUQg
Y29udHJvbGxlcnMgYW5kIGRldmljZXMgKHVudGVzdGVkKQ0KI2NhYyoJYXQg
cGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgQ29tcGFxIFBDSSBhcnJheSBjb250
cm9sbGVycw0KI21seCoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgTXls
ZXggREFDOTYwICYgREVDIFNXWENSIGZhbWlseQ0KI3R3ZSoJYXQgcGNpPyBk
ZXYgPyBmdW5jdGlvbiA/CSMgM3dhcmUgRXNjYWxhZGUgUkFJRCBjb250cm9s
bGVycw0KDQojbGQqCWF0IGNhYz8gdW5pdCA/CQkJIyBsb2dpY2FsIGRpc2sg
ZGV2aWNlcw0KI2xkKglhdCB0d2U/IHVuaXQgPw0KI2xkKglhdCBtbHg/IHVu
aXQgPw0KDQojIyBGbG9wcHkgY29udHJvbGxlciBhbmQgZHJpdmUgZm91bmQg
b24gU1BBUkNzdGF0aW9ucy4NCg0KIyBuZWVkIHNoYXJlIHdpdGggdGhlIHNw
YXJjLCBhbmQgZXZlcnlvbmUgZWxzZS4gIG5lZWRzIHRvIHVzZSBhdXhpby4N
CiMgYWN0dWFsbHksIHRoZSBlYnVzIHZlcnNpb24gaGFzICh3aWxsIGhhdmUp
IGRpcmVjdCBhY2Nlc3MgdG8gaXQncyBBVVhJTw0KIyByZWdpc3RlciBzcGFj
ZSAoaXQgaXMgbWFwcGVkIGluIHRvIGZkdGhyZWUgbm90IGF1eGlvKS4NCiNm
ZGMwCWF0IHNidXM/IHNsb3QgPyBvZmZzZXQgPwkJIyBTVU5XLGZkdHdvDQoj
ZmRjMAlhdCBlYnVzPwkJCQkjIGZkdGhyZWUNCiNmZCoJYXQgZmRjMCAJIAkJ
CSMgdGhlIGRyaXZlIGl0c2VsZg0KDQojIyBBIGRpc2stbGlrZSBpbnRlcmZh
Y2UgdG8gZmlsZXMuICBDYW4gYmUgdXNlZCB0byBjcmVhdGUgZmxvcHB5LCBD
RCwNCiMjIG1pbmlyb290IGltYWdlcywgZXRjLg0KDQpwc2V1ZG8tZGV2aWNl
CXZuZAk0DQoNCiMjIENvbmNhdGVuYXRlZCBhbmQgc3RyaXBlZCBkaXNrczsg
d2l0aCB0aGlzLCB5b3UgY2FuIGNyZWF0ZSBhIHNvZnR3YXJlLWJhc2VkDQoj
IyBkaXNrIGFycmF5IHNpbWlsYXIgdG8gYSAiUkFJRCAwIiBzZXR1cC4gIFNl
ZSBjY2QoNCkuDQoNCiNwc2V1ZG8tZGV2aWNlCWNjZAk0DQoNCiMjIFJBSURm
cmFtZSBkaXNrIGRyaXZlcjogc29mdHdhcmUgUkFJRCBkcml2ZXIuICBTZWUg
cmFpZCg0KS4NCg0KI3BzZXVkby1kZXZpY2UJcmFpZAk4DQojb3B0aW9ucyAJ
UkFJRF9BVVRPQ09ORklHCQkjIGF1dG8tY29uZmlndXJhdGlvbiBvZiBSQUlE
IGNvbXBvbmVudHMNCiMgT3B0aW9ucyB0byBlbmFibGUgdmFyaW91cyBvdGhl
ciBSQUlEZnJhbWUgUkFJRCB0eXBlcy4NCiMgb3B0aW9ucwlSRl9JTkNMVURF
X0VWRU5PREQ9MQ0KIyBvcHRpb25zCVJGX0lOQ0xVREVfUkFJRDVfUlM9MQ0K
IyBvcHRpb25zCVJGX0lOQ0xVREVfUEFSSVRZTE9HR0lORz0xDQojIG9wdGlv
bnMJUkZfSU5DTFVERV9DSEFJTkRFQ0xVU1RFUj0xDQojIG9wdGlvbnMJUkZf
SU5DTFVERV9JTlRFUkRFQ0xVU1RFUj0xDQojIG9wdGlvbnMgCVJGX0lOQ0xV
REVfUEFSSVRZX0RFQ0xVU1RFUklORz0xDQojIG9wdGlvbnMJUkZfSU5DTFVE
RV9QQVJJVFlfREVDTFVTVEVSSU5HX0RTPTENCg0KDQojIyBNZW1vcnkgZGlz
ayBkZXZpY2UsIHVzZWQgb24gYm9vdCBmbG9wcGllcyB3aXRoIGNvbXByZXNz
ZWQNCiMjIGtlcm5lbC1wbHVzLXJvb3QtZGlzayBpbWFnZXMuDQoNCnBzZXVk
by1kZXZpY2UJbWQJMQ0KDQoNCiMjIyMgTmV0d29yayBpbnRlcmZhY2VzDQoN
CiMjIExBTkNFIEV0aGVybmV0IC0gYW4gQU1EIDc5OTAgTEFOQ0UgYmVoaW5k
IHNwZWNpYWxpemVkIERNQSBnbHVlDQojIyBUaHJlZSBmbGF2b3JzIG9mIGFk
ZGl0aW9uYWwgU0J1cyBldGhlcm5ldHMgYXJlIGF2YWlsYWJsZS4gIE9uZSBh
dHRhY2hlcw0KIyMgZGlyZWN0bHkgbGlrZSB0aGUgc3VuNGMgb24tYm9hcmQs
IG9uZSB1c2VzIHRoZSBsZWRtYSBkZXZpY2UgbGlrZSB0aGUNCiMjIHN1bjRt
IG9uLWJvYXJkLCBhbmQgb25lIHVzZXMgdGhlIGxlYnVmZmVyIGRldmljZS4N
Cg0KbGVkbWEwCQlhdCBzYnVzPyBzbG90ID8gb2Zmc2V0ID8JIyBzdW40bSBv
bi1ib2FyZA0KbGUwCQlhdCBsZWRtYTAJCQkjIHN1bjRtIG9uLWJvYXJkDQoj
bGUqCQlhdCBzYnVzPyBzbG90ID8gb2Zmc2V0ID8JIyBTQnVzDQojbGVkbWEq
CQlhdCBzYnVzPyBzbG90ID8gb2Zmc2V0ID8JIyBTQnVzDQojbGUqCQlhdCBs
ZWRtYT8JCQkjIFNCdXMNCiNsZWJ1ZmZlcjAJYXQgc2J1cz8gc2xvdCA/IG9m
ZnNldCA/CSMgU0J1cw0KI2xlMAkJYXQgbGVidWZmZXI/CQkJIyBTQnVzDQoj
bGVidWZmZXIqCWF0IHNidXM/IHNsb3QgPyBvZmZzZXQgPwkjIFNCdXMNCiNs
ZSoJCWF0IGxlYnVmZmVyPwkJCSMgU0J1cw0KDQojIyBIYXBweSBNZWFsIEV0
aGVybmV0DQpobWUqCQlhdCBzYnVzPyBzbG90ID8gb2Zmc2V0ID8NCiNobWUq
CQlhdCBwY2k/CWRldiA/IGZ1bmN0aW9uID8JIyBuZXR3b3JrICJobWUiIGNv
bXBhdGlibGUNCg0KIyMgcWVjL2JlLCBxZWMvaG1lDQojcWVjKgkJYXQgc2J1
cz8gc2xvdCA/IG9mZnNldCA/DQojYmUqCQlhdCBxZWM/DQojcWUqCQlhdCBx
ZWM/DQoNCiMgUENJIG5ldHdvcmsgaW50ZXJmYWNlcw0KIyAJVVQgbWFya3Mg
dW50ZXN0ZWQuDQojYW4qCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEFp
cm9uZXQgUEM0NTAwL1BDNDgwMCAoODAyLjExKSBVVA0KI2VuKglhdCBwY2k/
IGRldiA/IGZ1bmN0aW9uID8JIyBFTkkvQWRhcHRlYyBBVE0gVVQNCiMgWFhY
IGNhdXNlcyBJQ0UNCiNlcCoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMg
M0NvbSAzYzU5eA0KI2V4KglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyAz
Q29tIDkweFtCXSBVVA0KI2VwaWMqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24g
PwkjIFNNQyBFUElDLzEwMCBFdGhlcm5ldCBVVA0KI2VzaCoJYXQgcGNpPyBk
ZXYgPyBmdW5jdGlvbiA/CSMgRXNzZW50aWFsIEhJUFBJIGNhcmQgVVQNCiNm
cGEqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIERFQyBERUZQQSBGRERJ
IFVUDQojZnhwKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBJbnRlbCBF
dGhlckV4cHJlc3MgUFJPIDEwKy8xMDBCIFVUDQojZ2VtKglhdCBwY2k/IGRl
diA/IGZ1bmN0aW9uID8JIyBBcHBsZSBHTUFDIGFuZCBTdW4gRVJJIGdpZ2Fi
aXQgZW5ldA0KI2xlKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBQQ25l
dC1QQ0kgRXRoZXJuZXQgVVQNCiMgWFhYIHVzZXMgdnRvcGh5cygpDQojbG1j
KglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBMYW4gTWVkaWEgQ29ycCBT
U0kvSFNTSS9EUzMNCiNuZSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMg
TkUyMDAwLWNvbXBhdGlibGUgRXRoZXJuZXQgVVQNCiNudHdvYyoJYXQgcGNp
PyBkZXYgPyBmdW5jdGlvbiA/CSMgUmlzY29tL04yIFBDSSBTeW5jIFNlcmlh
bCBVVA0KI3J0ayoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgUmVhbHRl
ayA4MTI5LzgxMzkgVVQNCiNzaXAqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24g
PwkjIFNpUyA5MDAgRXRoZXJuZXQgVVQNCiN0aSoJYXQgcGNpPyBkZXYgPyBm
dW5jdGlvbiA/CSMgQWx0ZW9uIEFDRW5pYyBnaWdhYml0IEV0aGVybmV0IFVU
DQojdGwqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFRodW5kZXJMQU4t
YmFzZWQgRXRoZXJuZXQNCiN0bHAqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24g
PwkjIERFQ2NoaXAgMjF4NHggYW5kIGNsb25lcw0KI3ZyKglhdCBwY2k/IGRl
diA/IGZ1bmN0aW9uID8JIyBWSUEgUmhpbmUgRmFzdCBFdGhlcm5ldA0KDQoj
IE1JSS9QSFkgc3VwcG9ydA0KIyBYWFg6IG9ubHkgbnNwaHkgInRlc3RlZCIN
CiNkbXBoeSoJYXQgbWlpPyBwaHkgPwkJCSMgRGF2aWNvbSBETTkxMDEgUEhZ
cw0KI2V4cGh5KglhdCBtaWk/IHBoeSA/CQkJIyAzQ29tIGludGVybmFsIFBI
WXMNCiNpY3NwaHkqCWF0IG1paT8gcGh5ID8JCQkjIEludGVncmF0ZWQgQ2ly
Y3VpdCBTeXN0ZW1zIElDUzE4OXgNCiNpbnBoeSoJYXQgbWlpPyBwaHkgPwkJ
CSMgSW50ZWwgODI1NTUgUEhZcw0KI2lvcGh5KglhdCBtaWk/IHBoeSA/CQkJ
IyBJbnRlbCA4MjU1MyBQSFlzDQojbHh0cGh5KglhdCBtaWk/IHBoeSA/CQkJ
IyBMZXZlbCBPbmUgTFhULTk3MCBQSFlzDQpuc3BoeSoJYXQgbWlpPyBwaHkg
PwkJCSMgTlM4Mzg0MCBQSFlzDQojbnNwaHl0ZXIqIGF0IG1paT8gcGh5ID8J
CQkjIE5TODM4NDMgUEhZcw0KI3FzcGh5KglhdCBtaWk/IHBoeSA/CQkJIyBR
dWFsaXR5IFNlbWljb25kdWN0b3IgUVM2NjEyIFBIWXMNCiNzcXBoeSoJYXQg
bWlpPyBwaHkgPwkJCSMgU2VlcSA4MDIyMC84MDIyMS84MDIyMyBQSFlzDQoj
dGxwaHkqCWF0IG1paT8gcGh5ID8JCQkjIFRodW5kZXJMQU4gUEhZcw0KI3Rx
cGh5KglhdCBtaWk/IHBoeSA/CQkJIyBUREsgU2VtaWNvbmR1Y3RvciBQSFlz
DQojdWtwaHkqCWF0IG1paT8gcGh5ID8JCQkjIGdlbmVyaWMgdW5rbm93biBQ
SFlzDQoNCiMgUENJIFVTQiBjb250cm9sbGVycw0KI29oY2kqCWF0IHBjaT8g
ZGV2ID8gZnVuY3Rpb24gPwkJCSMgT3BlbiBIb3N0IENvbnRyb2xsZXINCg0K
I3VzYioJYXQgb2hjaT8JCQkJCSMgVVNCIGJ1cyBzdXBwb3J0DQojdWh1YioJ
YXQgdXNiPwkJCQkJCSMgVVNCIEh1YnMNCiN1aHViKglhdCB1aHViPyBwb3J0
ID8gY29uZmlndXJhdGlvbiA/IGludGVyZmFjZSA/DQoNCiN1aGlkZXYqCWF0
IHVodWI/IHBvcnQgPyBjb25maWd1cmF0aW9uID8gaW50ZXJmYWNlID8JIyBV
U0IgSElEDQojdWhpZCoJYXQgdWhpZGV2PyByZXBvcnRpZCA/CQkJCSMgVVNC
IEdlbmVyaWMgSElEDQoNCiN1bHB0KglhdCB1aHViPyBwb3J0ID8gY29uZmln
dXJhdGlvbiA/IGludGVyZmFjZSA/CSMgVVNCIFByaW50ZXINCg0KI3Vtb2Rl
bSoJYXQgdWh1Yj8gcG9ydCA/IGNvbmZpZ3VyYXRpb24gPwkJCSMgVVNCIE1v
ZGVtDQojdWNvbSoJYXQgdW1vZGVtPw0KDQojdW1hc3MqCWF0IHVodWI/IHBv
cnQgPyBjb25maWd1cmF0aW9uID8gaW50ZXJmYWNlID8JIyBVU0IgTWFzcyBT
dG9yYWdlDQojYXRhcGlidXMqIGF0IHVtYXNzPyBjaGFubmVsID8NCiNzY3Np
YnVzKiBhdCB1bWFzcz8gY2hhbm5lbCA/DQoNCiN1YXVkaW8qCWF0IHVodWI/
IHBvcnQgPyBjb25maWd1cmF0aW9uID8JCQkjIFVTQiBhdWRpbw0KDQojIFVT
QiBFdGhlcm5ldCBhZGFwdGVycw0KI2F1ZSoJYXQgdWh1Yj8gcG9ydCA/CQkj
IEFETXRlayBBTjk4NiBQZWdhc3VzIGJhc2VkIGFkYXB0ZXJzDQojY3VlKglh
dCB1aHViPyBwb3J0ID8JCSMgQ0FUQyBVU0ItRUwxMjAxQSBiYXNlZCBhZGFw
dGVycw0KI2t1ZSoJYXQgdWh1Yj8gcG9ydCA/CQkjIEthd2FzYWtpIExTSSBL
TDVLVVNCMTAxQiBiYXNlZCBhZGFwdGVycw0KDQojdXNjYW5uZXIqIGF0IHVo
dWI/IHBvcnQgPwkJCQkjIFVTQiBzY2FubmVycw0KI3V5YXAqIGF0IHVodWI/
IHBvcnQgPwkJCQkJIyBZQFAgZmlybXdhcmUgbG9hZGVyDQojdWdlbioJYXQg
dWh1Yj8gcG9ydCA/IGNvbmZpZ3VyYXRpb24gPyBpbnRlcmZhY2UgPwkjIFVT
QiBHZW5lcmljIGRyaXZlcg0KDQojIFBDSSBJRUVFMTM5NCBjb250cm9sbGVy
cw0KI2Z3b2hjaSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgSUVFRTEz
OTQgT3BlbiBIb3N0IENvbnRyb2xsZXINCiNmd2x5bngqIGF0IHBjaT8gZGV2
ID8gZnVuY3Rpb24gPwkjIElFRUUxMzk0IFRJIEx5bnggQ29udHJvbGxlcg0K
I2Z3KglhdCBmd2J1cz8JCQkjIElQIG92ZXIgMTM5NA0KDQojIElFRUUxMzk0
IG5vZGVzDQojZndub2RlKiBhdCBmd2J1cz8gb3VpID8gZGV2aGkgPyBkZXZs
byA/DQojc2NzaWJ1cyogYXQgZndub2RlPw0KDQojIyBMb29wYmFjayBuZXR3
b3JrIGludGVyZmFjZTsgcmVxdWlyZWQNCnBzZXVkby1kZXZpY2UJbG9vcA0K
DQojIyBTTElQIGFuZCBDU0xJUCBpbnRlcmZhY2VzLCBmb3IgSVAgb3ZlciBh
IHNlcmlhbCBsaW5lLg0KI3BzZXVkby1kZXZpY2UJc2wJCTINCg0KIyMgUFBQ
LCB0aGUgc3VjY2Vzc29yIHRvIFNMSVAuICBTZWUgcHBwZCg4KS4NCiNwc2V1
ZG8tZGV2aWNlCXBwcAkJMg0KDQojIyBQUFAgb3ZlciBFdGhlcm5ldCAoUkZD
IDI1MTYpDQojcHNldWRvLWRldmljZQlwcHBvZQ0KDQojIyBTdGFybW9kZSBS
YWRpbyBJUCwgYSBzcGVjaWFsIGhhcmR3YXJlIG5ldHdvcmsgZGV2aWNlLg0K
I3BzZXVkby1kZXZpY2UJc3RyaXAJCTENCg0KIyMgTmV0d29yayAidHVubmVs
IiBkZXZpY2UsIGFsbG93aW5nIHByb3RvY29sIHN0YWNrcyB0byBydW4gaW4g
dGhlIHVzZXJsYW5kLg0KIyMgVGhpcyBpcyB1c2VkIGJ5IHRoZSB0aGlyZC1w
YXJ0eSB1c2VyLW1vZGUgInBwcCIgcHJvZ3JhbSwgYW5kIG90aGVycy4NCiNw
c2V1ZG8tZGV2aWNlCXR1bgkJNA0KDQojIyBHZW5lcmljIEwzIG92ZXIgSVAg
dHVubmVsDQojcHNldWRvLWRldmljZQlncmUJCTIJIyBnZW5lcmljIEwzIG92
ZXIgSVAgdHVubmVsDQoNCiMjIEJlcmtlbGV5IFBhY2tldCBGaWx0ZXIsIHJl
cXVpcmVkIHRvIHJ1biBSQVJQRC4gIEEgZ2VuZXJpYyBDLWxhbmd1YWdlDQoj
IyBpbnRlcmZhY2UgdGhhdCBhbGxvd3Mgc2VsZWN0aXZlIGV4YW1pbmluZyBv
ZiBpbmNvbWluZyBwYWNrZXRzLg0KcHNldWRvLWRldmljZQlicGZpbHRlcgk4
DQoNCiMjIFNpbXBsZSBpbnRlci1uZXR3b3JrIHRyYWZmaWMgYnJpZGdpbmcN
CiNwc2V1ZG8tZGV2aWNlCWJyaWRnZQ0KDQojIyBJUCBGaWx0ZXIsIHVzZWQg
aW4gZmlyZXdhbGwgYW5kIE5BVCBhcHBsaWNhdGlvbnMuICBTZWUgaXBuYXQo
OCkgZm9yDQojIyBvbmUgZXhhbXBsZSBvZiB0aGUgdXNlIG9mIHRoZSBJUCBG
aWx0ZXIuDQpwc2V1ZG8tZGV2aWNlCWlwZmlsdGVyDQoNCiMjIGZvciBJUHY2
DQpwc2V1ZG8tZGV2aWNlCWdpZgkJNAkjIElQdls0Nl0gb3ZlciBJUHZbNDZd
IHR1bm5lbCAoUkZDMTkzMykNCiNwc2V1ZG8tZGV2aWNlCWZhaXRoCQkxCSMg
SVB2WzQ2XSB0Y3AgcmVsYXkgdHJhbnNsYXRpb24gaS9mDQojcHNldWRvLWRl
dmljZQlzdGYJCTEJIyA2dG80IElQdjYgb3ZlciBJUHY0IGVuY2Fwc3VsYXRp
b24NCg0KDQojIyMjIEF1ZGlvIGFuZCB2aWRlbyBkZXZpY2VzDQoNCiMjIC9k
ZXYvYXVkaW8gc3VwcG9ydCAoYGF1ZGlvY3MnIHBsdXMgYGF1ZGlvJykNCiMj
DQphdWRpb2NzKglhdCBzYnVzPyBzbG90ID8gb2Zmc2V0ID8JIyBTVU5XLENT
NDIzMQ0KI2F1ZGlvY3MqCWF0IGVidXM/CQkJIyBTVU5XLENTNDIzMSBpbiBV
NS9VMTANCiNhdXRyaSoJCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEJs
YWRlIDEwMCAnc291bmQnDQoNCmF1ZGlvKgkJYXQgYXVkaW9jcz8NCiNhdWRp
byoJCWF0IGF1dHJpPw0KI2F1ZGlvKgkJYXQgdWF1ZGlvPw0KDQojbWlkaSoJ
CWF0IGF1dHJpPw0KDQoNCiMjIFN1biAiYnd0d28iIGJsYWNrIGFuZCB3aGl0
ZSBmcmFtZWJ1ZmZlciwgZm91bmQgb24gc3VuNCwgc3VuNGMsIGFuZCBzdW40
bQ0KIyMgc3lzdGVtcy4gIElmIHlvdXIgc3VuNCBzeXN0ZW0gaGFzIGEgY2dm
b3VyIGluc3RhbGxlZCBpbiB0aGUgUDQgc2xvdCwNCiMjIHRoZSBQNCBlbnRy
aWVzIGZvciAiYnd0d28iIHdpbGwgYXR0YWNoIHRvIHRoZSBvdmVybGF5IHBs
YW5lIG9mIHRoZQ0KIyMgImNnZm91ciIuDQoNCiNid3R3bzAJCWF0IHNidXM/
IHNsb3QgPyBvZmZzZXQgPwkjIHN1bjRjIGFuZCBzdW40bQ0KI2J3dHdvKgkJ
YXQgc2J1cz8gc2xvdCA/IG9mZnNldCA/DQoNCiMjIFN1biAiY2d0aHJlZSIg
U2J1cyBjb2xvciBmcmFtZWJ1ZmZlcg0KI2NndGhyZWUwCWF0IHNidXM/IHNs
b3QgPyBvZmZzZXQgPw0KI2NndGhyZWUqCWF0IHNidXM/IHNsb3QgPyBvZmZz
ZXQgPw0KDQojIyBTdW4gImNnc2l4IiBhY2NlbGVyYXRlZCBjb2xvciBmcmFt
ZWJ1ZmZlci4NCmNnc2l4MAkJYXQgc2J1cz8gc2xvdCA/IG9mZnNldCA/DQoj
Y2dzaXgqCQlhdCBzYnVzPyBzbG90ID8gb2Zmc2V0ID8NCg0KIyMgU3VuIEZG
QiBub3Qgc3VwcG9ydGVkDQojZmZiKgkJYXQgdXBhPw0KDQojIyMjIE90aGVy
IGRldmljZSBjb25maWd1cmF0aW9uDQoNCiMjIFBzZXVkbyB0dHlzLCByZXF1
aXJlZCBmb3IgbmV0d29yayBsb2dpbnMgYW5kIHByb2dyYW1zIGxpa2Ugc2Ny
ZWVuLg0KDQpwc2V1ZG8tZGV2aWNlCXB0eQkJCSMgcHNldWRvLXR0eXMgKGZv
ciBuZXR3b3JrLCBldGMuKQ0KDQojIyBSYW5kb20gZGV2aWNlLCB1c2VkIHRv
IGltcGxlbWVudCAvZGV2L3JhbmRvbSAoYSBzb3VyY2Ugb2YgcmFuZG9tIG5v
aXNlKSwNCiMjIGFuZCBnZW5lcmF0ZSByYW5kb21uZXNzIGZvciBzb21lIGtl
cm5lbCBmb3JtdWxhZS4NCg0KcHNldWRvLWRldmljZQlybmQNCg0KcHNldWRv
LWRldmljZQljbG9ja2N0bAkJIyB1c2VyIGNvbnRyb2wgb2YgY2xvY2sgc3Vi
c3lzdGVtDQojCSROZXRCU0Q6IHN0ZC5zcGFyYzY0LTY0LHYgMS4xIDIwMDEv
MTAvMjQgMTg6NDk6NDAgdGhvcnBlaiBFeHAgJA0KDQojDQojIE1hbmRhdG9y
eSBOZXRCU0Qvc3BhcmM2NCBrZXJuZWwgb3B0aW9ucyB3aGVuIGJ1aWxkaW5n
IDY0LWJpdCBrZXJuZWxzLg0KIyBOb3RlLCB5b3Ugc3RpbGwgbXVzdCBpbmNs
dWRlICJzdGQuc3BhcmM2NCIgaW4geW91ciBrZXJuZWwgY29uZmlnIGZpbGUu
DQojIE5vdGUgdGhpcyBmaWxlIE1VU1QgYmUgaW5jbHVkZWQgKmFmdGVyKiAi
c3RkLnNwYXJjNjQiLg0KIw0KDQptYWtlb3B0aW9ucwlMUDY0PSJ5ZXMiCSMg
ZW5hYmxlIDY0LWJpdCBsb2dpYyBpbiBrZXJuZWwgTWFrZWZpbGUNCg0Kb3B0
aW9ucyAJRVhFQ19FTEY2NAkjIDY0LWJpdCBOZXRCU0QgYW5kIFN1bk9TIDUg
Ymlucw0KIyAkTmV0QlNEOiBHRU5FUklDLHYgMS40NyAyMDAyLzA0LzEyIDA4
OjExOjIxIGdtY2dhcnJ5IEV4cCAkDQojDQojIEdFTkVSSUMgbWFjaGluZSBk
ZXNjcmlwdGlvbiBmaWxlDQojIA0KIyBUaGlzIG1hY2hpbmUgZGVzY3JpcHRp
b24gZmlsZSBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBkZWZhdWx0IE5ldEJT
RA0KIyBrZXJuZWwuICBUaGUgZ2VuZXJpYyBrZXJuZWwgZG9lcyBub3QgaW5j
bHVkZSBhbGwgb3B0aW9ucywgc3Vic3lzdGVtcw0KIyBhbmQgZGV2aWNlIGRy
aXZlcnMsIGJ1dCBzaG91bGQgYmUgdXNlZnVsIGZvciBtb3N0IGFwcGxpY2F0
aW9ucy4NCiMNCiMgVGhlIG1hY2hpbmUgZGVzY3JpcHRpb24gZmlsZSBjYW4g
YmUgY3VzdG9taXNlZCBmb3IgeW91ciBzcGVjaWZpYw0KIyBtYWNoaW5lIHRv
IHJlZHVjZSB0aGUga2VybmVsIHNpemUgYW5kIGltcHJvdmUgaXRzIHBlcmZv
cm1hbmNlLg0KIw0KIyBGb3IgZnVydGhlciBpbmZvcm1hdGlvbiBvbiBjb21w
aWxpbmcgTmV0QlNEIGtlcm5lbHMsIHNlZSB0aGUgY29uZmlnKDgpDQojIG1h
biBwYWdlLg0KIw0KIyBGb3IgZnVydGhlciBpbmZvcm1hdGlvbiBvbiBoYXJk
d2FyZSBzdXBwb3J0IGZvciB0aGlzIGFyY2hpdGVjdHVyZSwgc2VlDQojIHRo
ZSBpbnRybyg0KSBtYW4gcGFnZS4gIEZvciBmdXJ0aGVyIGluZm9ybWF0aW9u
IGFib3V0IGtlcm5lbCBvcHRpb25zDQojIGZvciB0aGlzIGFyY2hpdGVjdHVy
ZSwgc2VlIHRoZSBvcHRpb25zKDQpIG1hbiBwYWdlLiAgRm9yIGFuIGV4cGxh
bmF0aW9uDQojIG9mIGVhY2ggZGV2aWNlIGRyaXZlciBpbiB0aGlzIGZpbGUg
c2VlIHRoZSBzZWN0aW9uIDQgbWFuIHBhZ2UgZm9yIHRoZQ0KIyBkZXZpY2Uu
DQoNCg0KI2lkZW50IAkiR0VORVJJQy0kUmV2aXNpb246IDEuNDcgJCINCg0K
DQojb3B0aW9ucyAJQ09NUEFUX05FVEJTRDMyCSMgTmV0QlNEL3NwYXJjIGJp
bmFyeSBjb21wYXRpYmlsaXR5DQojb3B0aW9ucyAJQ09NUEFUX1NWUjRfMzIJ
IyBTdW5PUyA1LnggMzItYml0IGJpbmFyeSBjb21wYXRpYmlsaXR5DQoNCiMg
REVCVUcgb3B0aW9ucyB0dXJuZWQgb246DQoNCiNvcHRpb25zIAlMT0NLREVC
VUcNCiNvcHRpb25zIAlESUFHTk9TVElDDQojbWFrZW9wdGlvbnMJREVCVUc9
Ii1nIg0KI29wdGlvbnMgCURFQlVHDQojb3B0aW9ucyAJU1lTQ0FMTF9ERUJV
Rw0KDQojb3B0aW9ucyAJVVNFUkNPTkYJIyB1c2VyY29uZig0KSBzdXBwb3J0
DQojb3B0aW9ucwlQSVBFX1NPQ0tFVFBBSVIJIyBzbWFsbGVyLCBidXQgc2xv
d2VyIHBpcGUoMikNCg==
---559023410-1847939343-1077715386=:22651--