Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Jun 2002 00:05:30 +0300 (IDT)
From:      ezislis <kesor@mail.ru>
To:        fs@freebsd.org
Cc:        bugs@freebsd.org
Subject:   File corruption on FAT32 partitions
Message-ID:  <20020607233917.J37924-300000@finone.km.dshapiro.org>

next in thread | raw e-mail | index | archive | help
  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.

--0-891055018-1023483568=:37924
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <20020608000527.H37924@finone.km.dshapiro.org>


I am experiencing file corruption when writing to a fat32 mounted
partition with samba.

To be more specific,

I have FreeBSD RELENG_4 (built world a two weeks ago), uname :
FreeBSD finone.km.dshapiro.org 4.6-RC FreeBSD 4.6-RC #4: Fri May 24
18:24:45 IDT 2002

Samba 2.2.4_1 from ports  (I also tested it with samba 2_2 cvs)

and on the other side I have Windows 2000 professional.


I made a little test for a demonstration of the file corruption,
I created a 16mb file of random data and made a copy of it with 'cp'.
then made a copy of it with smbclient 'get' command from localhost
then mounted the partition as a network drive in windows, and used
copy to copy the file into another subdirectory.
All this was done on a 80Gb FAT32 partition, WDC 80G HD.

> dd if=/dev/urandom of=test_file.ext bs=4096 count=4096
> ls -l
total 16392
-rw-r--r--  1 kesor  kesor  16777216 Jun  7 23:45 test_file.ext
> mkdir 1
> cp test_file.ext 1/
> ls -l 1
total 16392
-rw-r--r--  1 kesor  kesor  16777216 Jun  7 23:46 test_file.ext
> mkdir 2
> cd 2
> smbclient //localhost/storage/
Password:
Domain=[KM] OS=[Unix] Server=[Samba 2.2.5-pre]
smb: \> get test_file.ext
getting file test_file.ext of size 16777216 as test_file.ext (10584.0
kb/s) (average 10584.0 kb/s)
smb: \1\> exit
> cd ..

### Now I used windows to copy the same file to a directory named 3 ###
### and again into a directory named 4                              ###

> md5 test_file.ext 1/test_file.ext 2/test_file.ext 3/test_file.ext
4/test_file.ext
MD5 (test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (1/test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (2/test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (3/test_file.ext) = 50c065bf8ba754f4e26d169b301d2970
MD5 (4/test_file.ext) = dc78ec13ba4d3588b9577e2bdff820ee
> md5 test_file.ext 1/test_file.ext 2/test_file.ext 3/test_file.ext
4/test_file.ext
MD5 (test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (1/test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (2/test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (3/test_file.ext) = 50c065bf8ba754f4e26d169b301d2970
MD5 (4/test_file.ext) = 556e9096e238a0ac6cb2d19a85451071
> md5 test_file.ext 1/test_file.ext 2/test_file.ext 3/test_file.ext
4/test_file.ext
MD5 (test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (1/test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (2/test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (3/test_file.ext) = 50c065bf8ba754f4e26d169b301d2970
MD5 (4/test_file.ext) = 556e9096e238a0ac6cb2d19a85451071
> md5 test_file.ext 1/test_file.ext 2/test_file.ext 3/test_file.ext
4/test_file.ext
MD5 (test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (1/test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (2/test_file.ext) = f6d139b1363e9c24bfb9cee3e395a0e7
MD5 (3/test_file.ext) = 50c065bf8ba754f4e26d169b301d2970
MD5 (4/test_file.ext) = 556e9096e238a0ac6cb2d19a85451071



Thats is, as you may see it took some time to settle - but the final
resouls is that both the files that were copied via samba with windows are
corrupted.


I ran the same test on a UFS partition, exactly the same test, but it DOES
NOT corrupt the files like on a fat32 partition.


included is my kernel config file and dmesg.


please reply to to my private email, i am not subscribed to the mailing
lists.

--0-891055018-1023483568=:37924
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="dmesg.txt"
Content-Transfer-Encoding: BASE64
Content-ID: <20020607235928.G37924@finone.km.dshapiro.org>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="dmesg.txt"

DQpwaWQgMTAzMTMgKHNtYmQpLCB1aWQgMCBvbiAvdmFyOiBmaWxlIHN5c3Rl
bSBmdWxsDQpwaWQgMjQwMTEgKHNtYmQpLCB1aWQgMTAwMCBvbiAvbW50L2Rh
MTogZmlsZSBzeXN0ZW0gZnVsbA0KcGlkIDI0MDExIChzbWJkKSwgdWlkIDEw
MDAgb24gL21udC9kYTE6IGZpbGUgc3lzdGVtIGZ1bGwNCnBpZCAyNDAxMSAo
c21iZCksIHVpZCAxMDAwIG9uIC9tbnQvZGExOiBmaWxlIHN5c3RlbSBmdWxs
DQpwaWQgMjQwMTEgKHNtYmQpLCB1aWQgMTAwMCBvbiAvbW50L2RhMTogZmls
ZSBzeXN0ZW0gZnVsbA0KcGlkIDI0MDExIChzbWJkKSwgdWlkIDEwMDAgb24g
L21udC9kYTE6IGZpbGUgc3lzdGVtIGZ1bGwNCnBpZCAyNDAxMSAoc21iZCks
IHVpZCAxMDAwIG9uIC9tbnQvZGExOiBmaWxlIHN5c3RlbSBmdWxsDQpwaWQg
MjQwMTEgKHNtYmQpLCB1aWQgMTAwMCBvbiAvbW50L2RhMTogZmlsZSBzeXN0
ZW0gZnVsbA0KcGlkIDI0MDExIChzbWJkKSwgdWlkIDEwMDAgb24gL21udC9k
YTE6IGZpbGUgc3lzdGVtIGZ1bGwNCnBpZCAyNDAxMSAoc21iZCksIHVpZCAx
MDAwIG9uIC9tbnQvZGExOiBmaWxlIHN5c3RlbSBmdWxsDQpwaWQgMjQwMTEg
KHNtYmQpLCB1aWQgMTAwMCBvbiAvbW50L2RhMTogZmlsZSBzeXN0ZW0gZnVs
bA0KcGlkIDI0MDExIChzbWJkKSwgdWlkIDEwMDAgb24gL21udC9kYTE6IGZp
bGUgc3lzdGVtIGZ1bGwNCnBpZCAyNDAxMSAoc21iZCksIHVpZCAxMDAwIG9u
IC9tbnQvZGExOiBmaWxlIHN5c3RlbSBmdWxsDQpwaWQgMjQwMTEgKHNtYmQp
LCB1aWQgMTAwMCBvbiAvbW50L2RhMTogZmlsZSBzeXN0ZW0gZnVsbA0KcGlk
IDI0MDExIChzbWJkKSwgdWlkIDEwMDAgb24gL21udC9kYTE6IGZpbGUgc3lz
dGVtIGZ1bGwNCnBpZCAyNDAxMSAoc21iZCksIHVpZCAxMDAwIG9uIC9tbnQv
ZGExOiBmaWxlIHN5c3RlbSBmdWxsDQpwaWQgMjQwMTEgKHNtYmQpLCB1aWQg
MTAwMCBvbiAvbW50L2RhMTogZmlsZSBzeXN0ZW0gZnVsbA0KcGlkIDI0MDEx
IChzbWJkKSwgdWlkIDEwMDAgb24gL21udC9kYTE6IGZpbGUgc3lzdGVtIGZ1
bGwNCnBpZCAyNDAxMSAoc21iZCksIHVpZCAxMDAwIG9uIC9tbnQvZGExOiBm
aWxlIHN5c3RlbSBmdWxsDQpwaWQgMjQwMTEgKHNtYmQpLCB1aWQgMTAwMCBv
biAvbW50L2RhMTogZmlsZSBzeXN0ZW0gZnVsbA0KcGlkIDI0MDExIChzbWJk
KSwgdWlkIDEwMDAgb24gL21udC9kYTE6IGZpbGUgc3lzdGVtIGZ1bGwNCnBp
ZCAyNDAxMSAoc21iZCksIHVpZCAxMDAwIG9uIC9tbnQvZGExOiBmaWxlIHN5
c3RlbSBmdWxsDQpwaWQgMjQwMTEgKHNtYmQpLCB1aWQgMTAwMCBvbiAvbW50
L2RhMTogZmlsZSBzeXN0ZW0gZnVsbA0KcGlkIDI0MDExIChzbWJkKSwgdWlk
IDEwMDAgb24gL21udC9kYTE6IGZpbGUgc3lzdGVtIGZ1bGwNCnBpZCAyNDAx
MSAoc21iZCksIHVpZCAxMDAwIG9uIC9tbnQvZGExOiBmaWxlIHN5c3RlbSBm
dWxsDQpwaWQgMjQwMTEgKHNtYmQpLCB1aWQgMTAwMCBvbiAvbW50L2RhMTog
ZmlsZSBzeXN0ZW0gZnVsbA0KcGlkIDI0MDExIChzbWJkKSwgdWlkIDEwMDAg
b24gL21udC9kYTE6IGZpbGUgc3lzdGVtIGZ1bGwNCnBpZCAyNDAxMSAoc21i
ZCksIHVpZCAxMDAwIG9uIC9tbnQvZGExOiBmaWxlIHN5c3RlbSBmdWxsDQpw
aWQgMjQwMTEgKHNtYmQpLCB1aWQgMTAwMCBvbiAvbW50L2RhMTogZmlsZSBz
eXN0ZW0gZnVsbA0KcGlkIDI0MDExIChzbWJkKSwgdWlkIDEwMDAgb24gL21u
dC9kYTE6IGZpbGUgc3lzdGVtIGZ1bGwNCnBpZCAyNDAxMSAoc21iZCksIHVp
ZCAxMDAwIG9uIC9tbnQvZGExOiBmaWxlIHN5c3RlbSBmdWxsDQpwaWQgMjQw
MTEgKHNtYmQpLCB1aWQgMTAwMCBvbiAvbW50L2RhMTogZmlsZSBzeXN0ZW0g
ZnVsbA0KcGlkIDI0MDExIChzbWJkKSwgdWlkIDEwMDAgb24gL21udC9kYTE6
IGZpbGUgc3lzdGVtIGZ1bGwNCnBpZCAyNDAxMSAoc21iZCksIHVpZCAxMDAw
IG9uIC9tbnQvZGExOiBmaWxlIHN5c3RlbSBmdWxsDQpwaWQgODUxIChlZ2dk
cm9wLTEuNi4xMCksIHVpZCAxMDAzIG9uIC9tbnQvZGExOiBmaWxlIHN5c3Rl
bSBmdWxsDQpwaWQgODUxIChlZ2dkcm9wLTEuNi4xMCksIHVpZCAxMDAzIG9u
IC9tbnQvZGExOiBmaWxlIHN5c3RlbSBmdWxsDQpwaWQgODUxIChlZ2dkcm9w
LTEuNi4xMCksIHVpZCAxMDAzIG9uIC9tbnQvZGExOiBmaWxlIHN5c3RlbSBm
dWxsDQpwaWQgMzc4NDcgKGNwKSwgdWlkIDEwMDMgb24gL21udC9kYTE6IGZp
bGUgc3lzdGVtIGZ1bGwNCnBpZCA4NTEgKGVnZ2Ryb3AtMS42LjEwKSwgdWlk
IDEwMDMgb24gL21udC9kYTE6IGZpbGUgc3lzdGVtIGZ1bGwNCnBpZCAzNzY1
NyAoc21iZCksIHVpZCAxMDAwIG9uIC9tbnQvZGExOiBmaWxlIHN5c3RlbSBm
dWxsDQpwaWQgMzc2NTcgKHNtYmQpLCB1aWQgMTAwMCBvbiAvbW50L2RhMTog
ZmlsZSBzeXN0ZW0gZnVsbA0KcGlkIDM3NjU3IChzbWJkKSwgdWlkIDEwMDAg
b24gL21udC9kYTE6IGZpbGUgc3lzdGVtIGZ1bGwNCg==
--0-891055018-1023483568=:37924
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME=FINONE
Content-Transfer-Encoding: BASE64
Content-ID: <20020607235928.U37924@finone.km.dshapiro.org>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME=FINONE

Iw0KIyBMSU5UIC0tIGNvbmZpZyBmaWxlIGZvciBjaGVja2luZyBhbGwgdGhl
IHNvdXJjZXMsIHRyaWVzIHRvIHB1bGwgaW4NCiMJYXMgbXVjaCBvZiB0aGUg
c291cmNlIHRyZWUgYXMgaXQgY2FuLg0KIw0KIyAkRnJlZUJTRDogc3JjL3N5
cy9pMzg2L2NvbmYvTElOVCx2IDEuNzQ5LjIuMTA2IDIwMDIvMDMvMTEgMDE6
MjM6MDUgZGQgRXhwICQNCiMNCiMgTkI6IFlvdSBwcm9iYWJseSBkb24ndCB3
YW50IHRvIHRyeSBydW5uaW5nIGEga2VybmVsIGJ1aWx0IGZyb20gdGhpcw0K
IyBmaWxlLiAgSW5zdGVhZCwgeW91IHNob3VsZCBzdGFydCBmcm9tIEdFTkVS
SUMsIGFuZCBhZGQgb3B0aW9ucyBmcm9tDQojIHRoaXMgZmlsZSBhcyByZXF1
aXJlZC4NCiMNCg0KIw0KIyBUaGlzIGRpcmVjdGl2ZSBpcyBtYW5kYXRvcnk7
IGl0IGRlZmluZXMgdGhlIGFyY2hpdGVjdHVyZSB0byBiZQ0KIyBjb25maWd1
cmVkIGZvcjsgaW4gdGhpcyBjYXNlLCB0aGUgMzg2IGZhbWlseSBiYXNlZCBJ
Qk0tUEMgYW5kDQojIGNvbXBhdGlibGVzLg0KIw0KbWFjaGluZQkJaTM4Ng0K
DQojDQojIFRoaXMgaXMgdGhlIGBgaWRlbnRpZmljYXRpb24nJyBvZiB0aGUg
a2VybmVsLiAgVXN1YWxseSB0aGlzIHNob3VsZA0KIyBiZSB0aGUgc2FtZSBh
cyB0aGUgbmFtZSBvZiB5b3VyIGtlcm5lbC4NCiMNCmlkZW50CQlGSU5PTkUN
Cg0KIw0KIyBUaGUgYG1heHVzZXJzJyBwYXJhbWV0ZXIgY29udHJvbHMgdGhl
IHN0YXRpYyBzaXppbmcgb2YgYSBudW1iZXIgb2YNCiMgaW50ZXJuYWwgc3lz
dGVtIHRhYmxlcyBieSBhIGZvcm11bGEgZGVmaW5lZCBpbiBzdWJyX3BhcmFt
LmMuICBTZXR0aW5nDQojIG1heHVzZXJzIHRvIDAgd2lsbCBjYXVzZSB0aGUg
c3lzdGVtIHRvIGF1dG8tc2l6ZSBiYXNlZCBvbiBwaHlzaWNhbA0KIyBtZW1v
cnkuDQojDQptYXh1c2VycwkwDQojNjQNCg0KIw0KIyBUaGUgYG1ha2VvcHRp
b25zJyBwYXJhbWV0ZXIgYWxsb3dzIHZhcmlhYmxlcyB0byBiZSBwYXNzZWQg
dG8gdGhlDQojIGdlbmVyYXRlZCBNYWtlZmlsZSBpbiB0aGUgYnVpbGQgYXJl
YS4NCiMNCiMgQ09ORl9DRkxBR1MgZ2l2ZXMgc29tZSBleHRyYSBjb21waWxl
ciBmbGFncyB0aGF0IGFyZSBhZGRlZCB0byAke0NGTEFHU30NCiMgYWZ0ZXIg
bW9zdCBvdGhlciBmbGFncy4gIEhlcmUgd2UgdXNlIGl0IHRvIGluaGliaXQg
dXNlIG9mIG5vbi1vcHRpbWFsDQojIGdjYyBidWlsdGluIGZ1bmN0aW9ucyAo
ZS5nLiwgbWVtY21wKS4NCiMNCiMgREVCVUcgaGFwcGVucyB0byBiZSBtYWdp
Yy4NCiMgVGhlIGZvbGxvd2luZyBpcyBlcXVpdmFsZW50IHRvICdjb25maWcg
LWcgS0VSTkVMTkFNRScgYW5kIGNyZWF0ZXMNCiMgJ2tlcm5lbC5kZWJ1Zycg
Y29tcGlsZWQgd2l0aCAtZyBkZWJ1Z2dpbmcgYXMgd2VsbCBhcyBhIG5vcm1h
bA0KIyAna2VybmVsJy4gIFVzZSAnbWFrZSBpbnN0YWxsLmRlYnVnJyB0byBp
bnN0YWxsIHRoZSBkZWJ1ZyBrZXJuZWwNCiMgYnV0IHRoYXQgaXNuJ3Qgbm9y
bWFsbHkgbmVjZXNzYXJ5IGFzIHRoZSBkZWJ1ZyBzeW1ib2xzIGFyZSBub3Qg
bG9hZGVkDQojIGJ5IHRoZSBrZXJuZWwgYW5kIGFyZSBub3QgdXNlZnVsIHRo
ZXJlIGFueXdheS4NCiMNCiMgS0VSTkVMIGNhbiBiZSBvdmVycmlkZGVuIHNv
IHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIGRlZmF1bHQgbmFtZSBvZiB5b3Vy
DQojIGtlcm5lbC4NCiMNCiMgTU9EVUxFU19PVkVSUklERSBjYW4gYmUgdXNl
ZCB0byBsaW1pdCBtb2R1bGVzIGJ1aWx0IHRvIGEgc3BlY2lmaWMgbGlzdC4N
CiMNCiNtYWtlb3B0aW9ucwlDT05GX0NGTEFHUz0tZm5vLWJ1aWx0aW4gICNE
b24ndCBhbGxvdyB1c2Ugb2YgbWVtY21wLCBldGMuDQojbWFrZW9wdGlvbnMJ
REVCVUc9LWcJCSNCdWlsZCBrZXJuZWwgd2l0aCBnZGIoMSkgZGVidWcgc3lt
Ym9scw0KI21ha2VvcHRpb25zCUtFUk5FTD1mb28JCSNCdWlsZCBrZXJuZWwg
ImZvbyIgYW5kIGluc3RhbGwgIi9mb28iDQojIE9ubHkgYnVpbGQgTGludXgg
QVBJIG1vZHVsZXMgYW5kIHBsdXMgdGhvc2UgcGFydHMgb2YgdGhlIHNvdW5k
IHN5c3RlbSBJIG5lZWQuDQojbWFrZW9wdGlvbnMJTU9EVUxFU19PVkVSUklE
RT0ibGludXggc291bmQvc25kIHNvdW5kL3BjbSBzb3VuZC9kcml2ZXIvbWFl
c3RybzMiDQoNCiMNCiMgQ2VydGFpbiBhcHBsaWNhdGlvbnMgY2FuIGdyb3cg
dG8gYmUgbGFyZ2VyIHRoYW4gdGhlIDEyOE0gbGltaXQNCiMgdGhhdCBGcmVl
QlNEIGluaXRpYWxseSBpbXBvc2VzLiAgQmVsb3cgYXJlIHNvbWUgb3B0aW9u
cyB0bw0KIyBhbGxvdyB0aGF0IGxpbWl0IHRvIGdyb3cgdG8gMjU2TUIsIGFu
ZCBjYW4gYmUgaW5jcmVhc2VkIGZ1cnRoZXINCiMgd2l0aCBjaGFuZ2luZyB0
aGUgcGFyYW1ldGVycy4gIE1BWERTSVogaXMgdGhlIG1heGltdW0gdGhhdCB0
aGUNCiMgbGltaXQgY2FuIGJlIHNldCB0bywgYW5kIHRoZSBERkxEU0laIGlz
IHRoZSBkZWZhdWx0IHZhbHVlIGZvcg0KIyB0aGUgbGltaXQuICBNQVhTU0la
IGlzIHRoZSBtYXhpbXVtIHRoYXQgdGhlIHN0YWNrIGxpbWl0IGNhbiBiZQ0K
IyBzZXQgdG8uICBZb3UgbWlnaHQgd2FudCB0byBzZXQgdGhlIGRlZmF1bHQg
bG93ZXIgdGhhbiB0aGUgbWF4LCANCiMgYW5kIGV4cGxpY2l0bHkgc2V0IHRo
ZSBtYXhpbXVtIHdpdGggYSBzaGVsbCBjb21tYW5kIGZvciBwcm9jZXNzZXMN
CiMgdGhhdCByZWd1bGFybHkgZXhjZWVkIHRoZSBsaW1pdCBsaWtlIElOTkQu
DQojDQojb3B0aW9ucyAJTUFYRFNJWj0iKDI1NioxMDI0KjEwMjQpIg0KI29w
dGlvbnMgCU1BWFNTSVo9IigyNTYqMTAyNCoxMDI0KSINCiNvcHRpb25zIAlE
RkxEU0laPSIoMjU2KjEwMjQqMTAyNCkiDQoNCiMNCiMgQkxLREVWX0lPU0la
RSBzZXRzIHRoZSBkZWZhdWx0IGJsb2NrIHNpemUgdXNlZCBpbiB1c2VyIGJs
b2NrDQojIGRldmljZSBJL08uICBOb3RlIHRoYXQgdGhpcyB2YWx1ZSB3aWxs
IGJlIG92ZXJyaWRlbiBieSB0aGUgbGFiZWwNCiMgd2hlbiBzcGVjaWZ5aW5n
IGEgYmxvY2sgZGV2aWNlIGZyb20gYSBsYWJlbCB3aXRoIGEgbm9uLTANCiMg
cGFydGl0aW9uIGJsb2Nrc2l6ZS4gIFRoZSBkZWZhdWx0IGlzIFBBR0VfU0la
RS4NCiMNCm9wdGlvbnMgCUJMS0RFVl9JT1NJWkU9ODE5Mg0KDQojIE9wdGlv
bnMgZm9yIHRoZSBWTSBzdWJzeXN0ZW0uDQpvcHRpb25zCQlQUV9DQUNIRVNJ
WkU9MTAyNAkjIGNvbG9yIGZvciA1MTJrLzE2ayBjYWNoZQ0KIyBEZXByZWNh
dGVkIG9wdGlvbnMgc3VwcG9ydGVkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJp
bGl0eS4NCiNvcHRpb25zIAlQUV9OT09QVAkJIyBObyBjb2xvcmluZw0KI29w
dGlvbnMgCVBRX0xBUkdFQ0FDSEUJCSMgY29sb3IgZm9yIDUxMmsvMTZrIGNh
Y2hlDQojb3B0aW9ucyAJUFFfSFVHRUNBQ0hFCQkjIGNvbG9yIGZvciAxMDI0
ay8xNmsgY2FjaGUNCiNvcHRpb25zIAlQUV9NRURJVU1DQUNIRQkJIyBjb2xv
ciBmb3IgMjU2ay8xNmsgY2FjaGUNCiNvcHRpb25zIAlQUV9OT1JNQUxDQUNI
RQkJIyBjb2xvciBmb3IgNjRrLzE2ayBjYWNoZQ0KDQojIFRoaXMgYWxsb3dz
IHlvdSB0byBhY3R1YWxseSBzdG9yZSB0aGlzIGNvbmZpZ3VyYXRpb24gZmls
ZSBpbnRvDQojIHRoZSBrZXJuZWwgYmluYXJ5IGl0c2VsZiwgd2hlcmUgaXQg
bWF5IGJlIGxhdGVyIHJlYWQgYnkgc2F5aW5nOg0KIyAgICBzdHJpbmdzIC1u
IDMgL2tlcm5lbCB8IHNlZCAtbiAncy9eX19fLy9wJyA+IE1ZS0VSTkVMDQoj
DQojb3B0aW9ucyAJSU5DTFVERV9DT05GSUdfRklMRSAgICAgIyBJbmNsdWRl
IHRoaXMgZmlsZSBpbiBrZXJuZWwNCg0KIw0KIyBUaGUgcm9vdCBkZXZpY2Ug
YW5kIGZpbGVzeXN0ZW0gdHlwZSBjYW4gYmUgY29tcGlsZWQgaW47DQojIHRo
aXMgcHJvdmlkZXMgYSBmYWxsYmFjayBvcHRpb24gaWYgdGhlIHJvb3QgZGV2
aWNlIGNhbm5vdA0KIyBiZSBjb3JyZWN0bHkgZ3Vlc3NlZCBieSB0aGUgYm9v
dHN0cmFwIGNvZGUsIG9yIGFuIG92ZXJyaWRlIGlmDQojIHRoZSBSQl9ERkxU
Uk9PVCBmbGFnICgtcikgaXMgc3BlY2lmaWVkIHdoZW4gYm9vdGluZyB0aGUg
a2VybmVsLg0KIw0KI29wdGlvbnMgCVJPT1RERVZOQU1FPVwidWZzOmRhMHMy
ZVwiDQoNCgwNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBTTVAgT1BU
SU9OUzoNCiMNCiMgU01QIGVuYWJsZXMgYnVpbGRpbmcgb2YgYSBTeW1tZXRy
aWMgTXVsdGlQcm9jZXNzb3IgS2VybmVsLg0KIyBBUElDX0lPIGVuYWJsZXMg
dGhlIHVzZSBvZiB0aGUgSU8gQVBJQyBmb3IgU3ltbWV0cmljIEkvTy4NCiMN
CiMgTm90ZXM6DQojDQojICBBbiBTTVAga2VybmVsIHdpbGwgT05MWSBydW4g
b24gYW4gSW50ZWwgTVAgc3BlYy4gcXVhbGlmaWVkIG1vdGhlcmJvYXJkLg0K
Iw0KIyAgQmUgc3VyZSB0byBkaXNhYmxlICdjcHUgSTM4Nl9DUFUnICYmICdj
cHUgSTQ4Nl9DUFUnIGZvciBTTVAga2VybmVscy4NCiMNCiMgIENoZWNrIHRo
ZSAnUm9ndWUgU01QIGhhcmR3YXJlJyBzZWN0aW9uIHRvIHNlZSBpZiBhZGRp
dGlvbmFsIG9wdGlvbnMNCiMgICBhcmUgcmVxdWlyZWQgYnkgeW91ciBoYXJk
d2FyZS4NCiMNCg0KIyBNYW5kYXRvcnk6DQojb3B0aW9ucyAJU01QCQkJIyBT
eW1tZXRyaWMgTXVsdGlQcm9jZXNzb3IgS2VybmVsDQojb3B0aW9ucyAJQVBJ
Q19JTwkJCSMgU3ltbWV0cmljIChBUElDKSBJL08NCg0KIw0KIyBSb2d1ZSBT
TVAgaGFyZHdhcmU6DQojDQoNCiMgQnJpZGdlZCBQQ0kgY2FyZHM6DQojDQoj
IFRoZSBNUCB0YWJsZXMgb2YgbW9zdCBvZiB0aGUgY3VycmVudCBnZW5lcmF0
aW9uIE1QIG1vdGhlcmJvYXJkcw0KIyAgZG8gTk9UIHByb3Blcmx5IHN1cHBv
cnQgYnJpZGdlZCBQQ0kgY2FyZHMuICBUbyB1c2Ugb25lIG9mIHRoZXNlDQoj
ICBjYXJkcyB5b3Ugc2hvdWxkIHJlZmVyIHRvID8/Pw0KDQoMDQojIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMNCiMgQ1BVIE9QVElPTlMNCg0KIw0KIyBZb3Ug
bXVzdCBzcGVjaWZ5IGF0IGxlYXN0IG9uZSBDUFUgKHRoZSBvbmUgeW91IGlu
dGVuZCB0byBydW4gb24pOw0KIyBkZWxldGluZyB0aGUgc3BlY2lmaWNhdGlv
biBmb3IgQ1BVcyB5b3UgZG9uJ3QgbmVlZCB0byB1c2UgbWF5IG1ha2UNCiMg
cGFydHMgb2YgdGhlIHN5c3RlbSBydW4gZmFzdGVyLiAgVGhpcyBpcyBlc3Bl
Y2lhbGx5IHRydWUgcmVtb3ZpbmcNCiMgSTM4Nl9DUFUuDQojDQojY3B1CQlJ
Mzg2X0NQVQ0KI2NwdQkJSTQ4Nl9DUFUNCiNjcHUJCUk1ODZfQ1BVCQkjIGFr
YSBQZW50aXVtKHRtKQ0KY3B1CQlJNjg2X0NQVQkJIyBha2EgUGVudGl1bSBQ
cm8odG0pDQoNCiMNCiMgT3B0aW9ucyBmb3IgQ1BVIGZlYXR1cmVzLg0KIw0K
IyBDUFVfQkxVRUxJR0hUTklOR19GUFVfT1BfQ0FDSEUgZW5hYmxlcyBGUFUg
b3BlcmFuZCBjYWNoZSBvbiBJQk0NCiMgQmx1ZUxpZ2h0bmluZyBDUFUuICBJ
dCB3b3JrcyBvbmx5IHdpdGggQ3lyaXggRlBVLCBhbmQgdGhpcyBvcHRpb24N
CiMgc2hvdWxkIG5vdCBiZSB1c2VkIHdpdGggSW50ZWwgRlBVLg0KIw0KIyBD
UFVfQkxVRUxJR0hUTklOR18zWCBlbmFibGVzIHRyaXBsZS1jbG9jayBtb2Rl
IG9uIElCTSBCbHVlIExpZ2h0bmluZw0KIyBDUFUgaWYgQ1BVIHN1cHBvcnRz
IGl0LiBUaGUgZGVmYXVsdCBpcyBkb3VibGUtY2xvY2sgbW9kZSBvbg0KIyBC
bHVlTGlnaHRuaW5nIENQVSBib3guDQojDQojIENQVV9CVEJfRU4gZW5hYmxl
cyBicmFuY2ggdGFyZ2V0IGJ1ZmZlciBvbiBDeXJpeCA1eDg2IChOT1RFIDEp
Lg0KIw0KIyBDUFVfRElSRUNUX01BUFBFRF9DQUNIRSBzZXRzIEwxIGNhY2hl
IG9mIEN5cml4IDQ4NkRMQyBDUFUgaW4gZGlyZWN0DQojIG1hcHBlZCBtb2Rl
LiAgRGVmYXVsdCBpcyAyLXdheSBzZXQgYXNzb2NpYXRpdmUgbW9kZS4NCiMN
CiMgQ1BVX0NZUklYX05PX0xPQ0sgZW5hYmxlcyB3ZWFrIGxvY2tpbmcgZm9y
IHRoZSBlbnRpcmUgYWRkcmVzcyBzcGFjZQ0KIyBvZiBDeXJpeCA2eDg2IGFu
ZCA2eDg2TVggQ1BVcyBieSBzZXR0aW5nIHRoZSBOT19MT0NLIGJpdCBvZiBD
Q1IxLg0KIyBPdGhlcndpc2UsIHRoZSBOT19MT0NLIGJpdCBvZiBDQ1IxIGlz
IGNsZWFyZWQuICAoTk9URSAzKQ0KIw0KIyBDUFVfRElTQUJMRV81WDg2X0xT
U0VSIGRpc2FibGVzIGxvYWQgc3RvcmUgc2VyaWFsaXplIChpLmUuIGVuYWJs
ZXMNCiMgcmVvcmRlcikuICBUaGlzIG9wdGlvbiBzaG91bGQgbm90IGJlIHVz
ZWQgaWYgeW91IHVzZSBtZW1vcnkgbWFwcGVkDQojIEkvTyBkZXZpY2Uocyku
DQojDQojIENQVV9FTkFCTEVfU1NFIGVuYWJsZXMgU1NFL01NWDIgaW5zdHJ1
Y3Rpb25zIHN1cHBvcnQuDQojDQojIENQVV9GQVNURVJfNVg4Nl9GUFUgZW5h
YmxlcyBmYXN0ZXIgRlBVIGV4Y2VwdGlvbiBoYW5kbGVyLg0KIw0KIyBDUFVf
STQ4Nl9PTl8zODYgZW5hYmxlcyBDUFUgY2FjaGUgb24gaTQ4NiBiYXNlZCBD
UFUgdXBncmFkZSBwcm9kdWN0cw0KIyBmb3IgaTM4NiBtYWNoaW5lcy4NCiMN
CiMgQ1BVX0lPUlQgZGVmaW5lcyBJL08gY2xvY2sgZGVsYXkgdGltZSAoTk9U
RSAxKS4gIERlZmF1bHQgdmFsdWVzIG9mDQojIEkvTyBjbG9jayBkZWxheSB0
aW1lIG9uIEN5cml4IDV4ODYgYW5kIDZ4ODYgYXJlIDAgYW5kIDcscmVzcGVj
dGl2ZWx5DQojIChubyBjbG9jayBkZWxheSkuDQojDQojIENQVV9MMl9MQVRF
TkNZIHNwZWNpZmVkIHRoZSBMMiBjYWNoZSBsYXRlbmN5IHZhbHVlLiAgVGhp
cyBvcHRpb24gaXMgdXNlZA0KIyBvbmx5IHdoZW4gQ1BVX1BQUk8yQ0VMRVJP
TiBpcyBkZWZpbmVkIGFuZCBNZW5kb2Npbm8gQ2VsZXJvbiBpcyBkZXRlY3Rl
ZC4NCiMgVGhlIGRlZmF1bHQgdmFsdWUgaXMgNS4NCiMNCiMgQ1BVX0xPT1Bf
RU4gcHJldmVudHMgZmx1c2hpbmcgdGhlIHByZWZldGNoIGJ1ZmZlciBpZiB0
aGUgZGVzdGluYXRpb24NCiMgb2YgYSBqdW1wIGlzIGFscmVhZHkgcHJlc2Vu
dCBpbiB0aGUgcHJlZmV0Y2ggYnVmZmVyIG9uIEN5cml4IDV4ODYoTk9URQ0K
IyAxKS4NCiMNCiMgQ1BVX1BQUk8yQ0VMRVJPTiBlbmFibGVzIEwyIGNhY2hl
IG9mIE1lbmRvY2lubyBDZWxlcm9uIENQVXMuICBUaGlzIG9wdGlvbg0KIyBp
cyB1c2VmdWwgd2hlbiB5b3UgdXNlIFNvY2tldCA4IHRvIFNvY2tldCAzNzAg
Y29udmVydGVyLCBiZWNhdXNlIG1vc3QgUGVudGl1bQ0KIyBQcm8gQklPU3Mg
ZG8gbm90IGVuYWJsZSBMMiBjYWNoZSBvZiBNZW5kb2Npbm8gQ2VsZXJvbiBD
UFVzLg0KIw0KIyBDUFVfUlNUS19FTiBlbmFibGVzIHJldHVybiBzdGFjayBv
biBDeXJpeCA1eDg2IChOT1RFIDEpLg0KIw0KIyBDUFVfU1VTUF9ITFQgZW5h
YmxlcyBzdXNwZW5kIG9uIEhBTFQuICBJZiB0aGlzIG9wdGlvbiBpcyBzZXQs
IENQVQ0KIyBlbnRlcnMgc3VzcGVuZCBtb2RlIGZvbGxvd2luZyBleGVjdXRp
b24gb2YgSEFMVCBpbnN0cnVjdGlvbi4NCiMNCiMgQ1BVX1dUX0FMTE9DIGVu
YWJsZXMgd3JpdGUgYWxsb2NhdGlvbiBvbiBDeXJpeCA2eDg2LzZ4ODZNWCBh
bmQgQU1EDQojIEs1L0s2L0s2LTIgY3B1cy4NCiMNCiMgQ1lSSVhfQ0FDSEVf
V09SS1MgZW5hYmxlcyBDUFUgY2FjaGUgb24gQ3lyaXggNDg2IENQVXMgd2l0
aCBjYWNoZQ0KIyBmbHVzaCBhdCBob2xkIHN0YXRlLg0KIw0KIyBDWVJJWF9D
QUNIRV9SRUFMTFlfV09SS1MgZW5hYmxlcyAoMSkgQ1BVIGNhY2hlIG9uIEN5
cml4IDQ4NiBDUFVzDQojIHdpdGhvdXQgY2FjaGUgZmx1c2ggYXQgaG9sZCBz
dGF0ZSwgYW5kICgyKSB3cml0ZS1iYWNrIENQVSBjYWNoZSBvbg0KIyBDeXJp
eCA2eDg2IHdob3NlIHJldmlzaW9uIDwgMi43IChOT1RFIDIpLg0KIw0KIyBO
T19GMDBGX0hBQ0sgZGlzYWJsZXMgdGhlIGhhY2sgdGhhdCBwcmV2ZW50cyBQ
ZW50aXVtcyAoYW5kIE9OTFkNCiMgUGVudGl1bXMpIGZyb20gbG9ja2luZyB1
cCB3aGVuIGEgTE9DSyBDTVBYQ0hHOEIgaW5zdHJ1Y3Rpb24gaXMNCiMgZXhl
Y3V0ZWQuICBUaGlzIG9wdGlvbiBpcyBvbmx5IG5lZWRlZCBpZiBJNTg2X0NQ
VSBpcyBhbHNvIGRlZmluZWQsDQojIGFuZCBzaG91bGQgYmUgaW5jbHVkZWQg
Zm9yIGFueSBub24tUGVudGl1bSBDUFUgdGhhdCBkZWZpbmVzIGl0Lg0KIw0K
IyBOT19NRU1PUllfSE9MRSBpcyBhbiBvcHRpbWlzYXRpb24gZm9yIHN5c3Rl
bXMgd2l0aCBBTUQgSzYgcHJvY2Vzc29ycw0KIyB3aGljaCBpbmRpY2F0ZXMg
dGhhdCB0aGUgMTUtMTZNQiByYW5nZSBpcyAqZGVmaW5pdGVseSogbm90IGJl
aW5nDQojIG9jY3VwaWVkIGJ5IGFuIElTQSBtZW1vcnkgaG9sZS4NCiMNCiMg
Tk9URSAxOiBUaGUgb3B0aW9ucywgQ1BVX0JUQl9FTiwgQ1BVX0xPT1BfRU4s
IENQVV9JT1JULA0KIyBDUFVfTE9PUF9FTiBhbmQgQ1BVX1JTVEtfRU4gc2hv
dWxkIG5vdCBiZSB1c2VkIGJlY2F1c2Ugb2YgQ1BVIGJ1Z3MuDQojIFRoZXNl
IG9wdGlvbnMgbWF5IGNyYXNoIHlvdXIgc3lzdGVtLg0KIw0KIyBOT1RFIDI6
IElmIENZUklYX0NBQ0hFX1JFQUxMWV9XT1JLUyBpcyBub3Qgc2V0LCBDUFUg
Y2FjaGUgaXMgZW5hYmxlZA0KIyBpbiB3cml0ZS10aHJvdWdoIG1vZGUgd2hl
biByZXZpc2lvbiA8IDIuNy4gIElmIHJldmlzaW9uIG9mIEN5cml4DQojIDZ4
ODYgPj0gMi43LCBDUFUgY2FjaGUgaXMgYWx3YXlzIGVuYWJsZWQgaW4gd3Jp
dGUtYmFjayBtb2RlLg0KIw0KIyBOT1RFIDM6IFRoaXMgb3B0aW9uIG1heSBj
YXVzZSBmYWlsdXJlcyBmb3Igc29mdHdhcmUgdGhhdCByZXF1aXJlcw0KIyBs
b2NrZWQgY3ljbGVzIGluIG9yZGVyIHRvIG9wZXJhdGUgY29ycmVjdGx5Lg0K
Iw0KI29wdGlvbnMgCUNQVV9CTFVFTElHSFROSU5HX0ZQVV9PUF9DQUNIRQ0K
I29wdGlvbnMgCUNQVV9CTFVFTElHSFROSU5HXzNYDQojb3B0aW9ucyAJQ1BV
X0JUQl9FTg0KI29wdGlvbnMgCUNQVV9ESVJFQ1RfTUFQUEVEX0NBQ0hFDQoj
b3B0aW9ucyAJQ1BVX0RJU0FCTEVfNVg4Nl9MU1NFUg0Kb3B0aW9ucyAJQ1BV
X0VOQUJMRV9TU0UNCiNvcHRpb25zIAlDUFVfRkFTVEVSXzVYODZfRlBVDQoj
b3B0aW9ucyAJQ1BVX0k0ODZfT05fMzg2DQojb3B0aW9ucyAJQ1BVX0lPUlQN
CiNvcHRpb25zIAlDUFVfTDJfTEFURU5DWT01DQojb3B0aW9ucyAJQ1BVX0xP
T1BfRU4NCiNvcHRpb25zIAlDUFVfUFBSTzJDRUxFUk9ODQojb3B0aW9ucyAJ
Q1BVX1JTVEtfRU4NCiNvcHRpb25zIAlDUFVfU1VTUF9ITFQNCiNvcHRpb25z
IAlDUFVfV1RfQUxMT0MNCiNvcHRpb25zIAlDWVJJWF9DQUNIRV9XT1JLUw0K
I29wdGlvbnMgCUNZUklYX0NBQ0hFX1JFQUxMWV9XT1JLUw0KI29wdGlvbnMg
CU5PX0YwMEZfSEFDSw0KDQojDQojIEEgbWF0aCBlbXVsYXRvciBpcyBtYW5k
YXRvcnkgaWYgeW91IHdpc2ggdG8gcnVuIG9uIGhhcmR3YXJlIHdoaWNoDQoj
IGRvZXMgbm90IGhhdmUgYSBmbG9hdGluZy1wb2ludCBwcm9jZXNzb3IuICBQ
aWNrIGVpdGhlciB0aGUgb3JpZ2luYWwsDQojIGJvZ3VzIChidXQgZnJlZWx5
LWRpc3RyaWJ1dGFibGUpIG1hdGggZW11bGF0b3IsIG9yIGEgbXVjaCBtb3Jl
DQojIGZ1bGx5LWZlYXR1cmVkIGJ1dCBHUEwtbGljZW5zZWQgZW11bGF0b3Ig
dGFrZW4gZnJvbSBMaW51eC4NCiMNCiNvcHRpb25zIAlNQVRIX0VNVUxBVEUJ
CSNTdXBwb3J0IGZvciB4ODcgZW11bGF0aW9uDQojIERvbid0IGVuYWJsZSBi
b3RoIG9mIHRoZXNlIGluIGEgcmVhbCBjb25maWcuDQojb3B0aW9ucyAJR1BM
X01BVEhfRU1VTEFURQkjU3VwcG9ydCBmb3IgeDg3IGVtdWxhdGlvbiB2aWEN
CgkJCQkJI25ldyBtYXRoIGVtdWxhdG9yDQoNCgwNCiMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIw0KIyBDT01QQVRJQklMSVRZIE9QVElPTlMgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCg0KIw0KIyBJ
bXBsZW1lbnQgc3lzdGVtIGNhbGxzIGNvbXBhdGlibGUgd2l0aCA0LjNCU0Qg
YW5kIG9sZGVyIHZlcnNpb25zIG9mDQojIEZyZWVCU0QuICBZb3UgcHJvYmFi
bHkgZG8gTk9UIHdhbnQgdG8gcmVtb3ZlIHRoaXMgYXMgbXVjaCBjdXJyZW50
IGNvZGUNCiMgc3RpbGwgcmVsaWVzIG9uIHRoZSA0LjMgZW11bGF0aW9uLg0K
Iw0Kb3B0aW9ucyAJQ09NUEFUXzQzDQoNCiMNCiMgQWxsb3cgYXBwbGljYXRp
b25zIHJ1bm5pbmcgaW4gdXNlciBzcGFjZSB0byBjb250cm9sIHRoZSBMb2Nh
bCBEZXNjcmlwdG9yDQojIFRhYmxlIChMRFQpLiAgVGhpcyBpcyByZXF1aXJl
ZCBieSBzb21lIHBvcnRzLiAgRnV0dXJlIHZlcnNpb25zIG9mIEZyZWVCU0QN
CiMgbWF5IHJlcXVpcmUgdGhpcyBvcHRpb24gZm9yIHNvbWUgcHJvZ3JhbXMg
aW4gdGhlIGJhc2Ugc3lzdGVtLg0KIw0Kb3B0aW9ucyAJVVNFUl9MRFQJCSNh
bGxvdyB1c2VyLWxldmVsIGNvbnRyb2wgb2YgaTM4NiBsZHQNCg0KIw0KIyBU
aGVzZSB0aHJlZSBvcHRpb25zIHByb3ZpZGUgc3VwcG9ydCBmb3IgU3lzdGVt
IFYgSW50ZXJmYWNlDQojIERlZmluaXRpb24tc3R5bGUgaW50ZXJwcm9jZXNz
IGNvbW11bmljYXRpb24sIGluIHRoZSBmb3JtIG9mIHNoYXJlZA0KIyBtZW1v
cnksIHNlbWFwaG9yZXMsIGFuZCBtZXNzYWdlIHF1ZXVlcywgcmVzcGVjdGl2
ZWx5Lg0KIw0KIyBTeXN0ZW0gViBzaGFyZWQgbWVtb3J5IGFuZCB0dW5hYmxl
IHBhcmFtZXRlcnMNCm9wdGlvbnMgCVNZU1ZTSE0JCSMgaW5jbHVkZSBzdXBw
b3J0IGZvciBzaGFyZWQgbWVtb3J5DQpvcHRpb25zIAlTSE1NQVhQR1M9MTAy
NQkjIG1heCBhbW91bnQgb2Ygc2hhcmVkIG1lbW9yeSBwYWdlcyAoNGsgb24g
aTM4NikNCm9wdGlvbnMgCVNITUFMTD0xMDI1CSMgbWF4IGFtb3VudCBvZiBz
aGFyZWQgbWVtb3J5IChieXRlcykNCm9wdGlvbnMgCVNITU1BWD0iKFNITU1B
WFBHUypQQUdFX1NJWkUrMSkiDQoJCQkJIyBtYXggc2hhcmVkIG1lbW9yeSBz
ZWdtZW50IHNpemUgKGJ5dGVzKQ0Kb3B0aW9ucyAJU0hNTUlOPTIJIyBtaW4g
c2hhcmVkIG1lbW9yeSBzZWdtZW50IHNpemUgKGJ5dGVzKQ0Kb3B0aW9ucyAJ
U0hNTU5JPTMzCSMgbWF4IG51bWJlciBvZiBzaGFyZWQgbWVtb3J5IGlkZW50
aWZpZXJzDQpvcHRpb25zIAlTSE1TRUc9OQkjIG1heCBzaGFyZWQgbWVtb3J5
IHNlZ21lbnRzIHBlciBwcm9jZXNzDQoNCiMgU3lzdGVtIFYgc2VtYXBob3Jl
cyBhbmQgdHVuYWJsZSBwYXJhbWV0ZXJzDQpvcHRpb25zIAlTWVNWU0VNCQkj
IGluY2x1ZGUgc3VwcG9ydCBmb3Igc2VtYXBob3Jlcw0Kb3B0aW9ucyAJU0VN
TUFQPTMxCSMgYW1vdW50IG9mIGVudHJpZXMgaW4gc2VtYXBob3JlIG1hcA0K
b3B0aW9ucyAJU0VNTU5JPTExCSMgbnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVu
dGlmaWVycyBpbiB0aGUgc3lzdGVtDQpvcHRpb25zIAlTRU1NTlM9NjEJIyBu
dW1iZXIgb2Ygc2VtYXBob3JlcyBpbiB0aGUgc3lzdGVtDQpvcHRpb25zIAlT
RU1NTlU9MzEJIyBudW1iZXIgb2YgdW5kbyBzdHJ1Y3R1cmVzIGluIHRoZSBz
eXN0ZW0NCm9wdGlvbnMgCVNFTU1TTD02MQkjIG1heCBudW1iZXIgb2Ygc2Vt
YXBob3JlcyBwZXIgaWQNCm9wdGlvbnMgCVNFTU9QTT0xMDEJIyBtYXggbnVt
YmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wIGNhbGwNCm9wdGlvbnMgCVNF
TVVNRT0xMQkjIG1heCBudW1iZXIgb2YgdW5kbyBlbnRyaWVzIHBlciBwcm9j
ZXNzDQoNCiMgU3lzdGVtIFYgbWVzc2FnZSBxdWV1ZXMgYW5kIHR1bmFibGUg
cGFyYW1ldGVycw0Kb3B0aW9ucyAJU1lTVk1TRwkJIyBpbmNsdWRlIHN1cHBv
cnQgZm9yIG1lc3NhZ2UgcXVldWVzDQpvcHRpb25zIAlNU0dNTkI9MjA0OQkj
IG1heCBjaGFyYWN0ZXJzIHBlciBtZXNzYWdlIHF1ZXVlDQpvcHRpb25zIAlN
U0dNTkk9NDEJIyBtYXggbnVtYmVyIG9mIG1lc3NhZ2UgcXVldWUgaWRlbnRp
ZmllcnMNCm9wdGlvbnMgCU1TR1NFRz0yMDQ5CSMgbWF4IG51bWJlciBvZiBt
ZXNzYWdlIHNlZ21lbnRzIGluIHRoZSBzeXN0ZW0NCm9wdGlvbnMgCU1TR1NT
Wj0xNgkjIHNpemUgb2YgYSBtZXNzYWdlIHNlZ21lbnQgTVVTVCBiZSBwb3dl
ciBvZiAyDQpvcHRpb25zIAlNU0dUUUw9NDEJIyBtYXggYW1vdW50IG9mIG1l
c3NhZ2VzIGluIHRoZSBzeXN0ZW0NCg0KDA0KIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjDQojIERFQlVHR0lORyBPUFRJT05TDQoNCiMNCiMgRW5hYmxlIHRo
ZSBrZXJuZWwgZGVidWdnZXIuDQojDQojb3B0aW9ucyAJRERCDQoNCiMNCiMg
RG9uJ3QgZHJvcCBpbnRvIEREQiBmb3IgYSBwYW5pYy4gSW50ZW5kZWQgZm9y
IHVuYXR0ZW5kZWQgb3BlcmF0aW9uDQojIHdoZXJlIHlvdSBtYXkgd2FudCB0
byBkcm9wIHRvIEREQiBmcm9tIHRoZSBjb25zb2xlLCBidXQgc3RpbGwgd2Fu
dA0KIyB0aGUgbWFjaGluZSB0byByZWNvdmVyIGZyb20gYSBwYW5pYw0KIw0K
I29wdGlvbnMgCUREQl9VTkFUVEVOREVEDQoNCiMNCiMgSWYgdXNpbmcgR0RC
IHJlbW90ZSBtb2RlIHRvIGRlYnVnIHRoZSBrZXJuZWwsIHRoZXJlJ3MgYSBu
b24tc3RhbmRhcmQNCiMgZXh0ZW5zaW9uIHRvIHRoZSByZW1vdGUgcHJvdG9j
b2wgdGhhdCBjYW4gYmUgdXNlZCB0byB1c2UgdGhlIHNlcmlhbA0KIyBwb3J0
IGFzIGJvdGggdGhlIGRlYnVnZ2luZyBwb3J0IGFuZCB0aGUgc3lzdGVtIGNv
bnNvbGUuICBJdCdzIG5vbi0NCiMgc3RhbmRhcmQgYW5kIHlvdSdyZSBvbiB5
b3VyIG93biBpZiB5b3UgZW5hYmxlIGl0LiAgU2VlIGFsc28gdGhlDQojICJy
ZW1vdGVjaGF0IiB2YXJpYWJsZXMgaW4gdGhlIEZyZWVCU0Qgc3BlY2lmaWMg
dmVyc2lvbiBvZiBnZGIuDQojDQojb3B0aW9ucyAJR0RCX1JFTU9URV9DSEFU
DQoNCiMNCiMgS1RSQUNFIGVuYWJsZXMgdGhlIHN5c3RlbS1jYWxsIHRyYWNp
bmcgZmFjaWxpdHkga3RyYWNlKDIpLg0KIw0KI29wdGlvbnMgCUtUUkFDRQkJ
CSNrZXJuZWwgdHJhY2luZw0KDQojDQojIFRoZSBJTlZBUklBTlRTIG9wdGlv
biBpcyB1c2VkIGluIGEgbnVtYmVyIG9mIHNvdXJjZSBmaWxlcyB0byBlbmFi
bGUNCiMgZXh0cmEgc2FuaXR5IGNoZWNraW5nIG9mIGludGVybmFsIHN0cnVj
dHVyZXMuICBUaGlzIHN1cHBvcnQgaXMgbm90DQojIGVuYWJsZWQgYnkgZGVm
YXVsdCBiZWNhdXNlIG9mIHRoZSBleHRyYSB0aW1lIGl0IHdvdWxkIHRha2Ug
dG8gY2hlY2sNCiMgZm9yIHRoZXNlIGNvbmRpdGlvbnMsIHdoaWNoIGNhbiBv
bmx5IG9jY3VyIGFzIGEgcmVzdWx0IG9mDQojIHByb2dyYW1taW5nIGVycm9y
cy4NCiMNCiNvcHRpb25zIAlJTlZBUklBTlRTDQoNCiMNCiMgVGhlIElOVkFS
SUFOVF9TVVBQT1JUIG9wdGlvbiBtYWtlcyB1cyBjb21waWxlIGluIHN1cHBv
cnQgZm9yDQojIHZlcmlmeWluZyBzb21lIG9mIHRoZSBpbnRlcm5hbCBzdHJ1
Y3R1cmVzLiAgSXQgaXMgYSBwcmVyZXF1aXNpdGUgZm9yDQojICdJTlZBUklB
TlRTJywgYXMgZW5hYmxpbmcgJ0lOVkFSSUFOVFMnIHdpbGwgbWFrZSB0aGVz
ZSBmdW5jdGlvbnMgYmUNCiMgY2FsbGVkLiAgVGhlIGludGVudCBpcyB0aGF0
IHlvdSBjYW4gc2V0ICdJTlZBUklBTlRTJyBmb3Igc2luZ2xlDQojIHNvdXJj
ZSBmaWxlcyAoYnkgY2hhbmdpbmcgdGhlIHNvdXJjZSBmaWxlIG9yIHNwZWNp
ZnlpbmcgaXQgb24gdGhlDQojIGNvbW1hbmQgbGluZSkgaWYgeW91IGhhdmUg
J0lOVkFSSUFOVF9TVVBQT1JUJyBlbmFibGVkLg0KIw0KI29wdGlvbnMgCUlO
VkFSSUFOVF9TVVBQT1JUDQoNCiMNCiMgVGhlIERJQUdOT1NUSUMgb3B0aW9u
IGlzIHVzZWQgdG8gZW5hYmxlIGV4dHJhIGRlYnVnZ2luZyBpbmZvcm1hdGlv
bg0KIyBmcm9tIHNvbWUgcGFydHMgb2YgdGhlIGtlcm5lbC4gIEFzIHRoaXMg
bWFrZXMgZXZlcnl0aGluZyBtb3JlIG5vaXN5LA0KIyBpdCBpcyBkaXNhYmxl
ZCBieSBkZWZhdWx0Lg0KIw0KI29wdGlvbnMgCURJQUdOT1NUSUMNCg0KIw0K
IyBQRVJGTU9OIGNhdXNlcyB0aGUgZHJpdmVyIGZvciBQZW50aXVtL1BlbnRp
dW0gUHJvIHBlcmZvcm1hbmNlIGNvdW50ZXJzDQojIHRvIGJlIGNvbXBpbGVk
LiAgU2VlIHBlcmZtb24oNCkgZm9yIG1vcmUgaW5mb3JtYXRpb24uDQojDQoj
b3B0aW9ucyAJUEVSRk1PTg0KDQoNCiMNCiMgVGhpcyBvcHRpb24gbGV0IHNv
bWUgZHJpdmVycyBjby1leGlzdCB0aGF0IGNhbid0IGNvLWV4aXN0IGluIGEg
cnVubmluZw0KIyBzeXN0ZW0uICBUaGlzIGlzIHVzZWQgdG8gYmUgYWJsZSB0
byBjb21waWxlIGFsbCBrZXJuZWwgY29kZSBpbiBvbmUgZ28gZm9yDQojIHF1
YWxpdHkgYXNzdXJhbmNlIHB1cnBvc2VzIChsaWtlIHRoaXMgZmlsZSwgd2hp
Y2ggdGhlIG9wdGlvbiB0YWtlcyBpdCBuYW1lDQojIGZyb20uKQ0KIw0KI29w
dGlvbnMgCUNPTVBJTElOR19MSU5UDQoNCg0KIyBYWFggLSB0aGlzIGRvZXNu
J3QgYmVsb25nIGhlcmUuDQojIEFsbG93IG9yZGluYXJ5IHVzZXJzIHRvIHRh
a2UgdGhlIGNvbnNvbGUgLSB0aGlzIGlzIHVzZWZ1bCBmb3IgWC4NCm9wdGlv
bnMgCVVDT05TT0xFDQoNCiMgWFhYIC0gdGhpcyBkb2Vzbid0IGJlbG9uZyBo
ZXJlIGVpdGhlcg0Kb3B0aW9ucyAJVVNFUkNPTkZJRwkJI2Jvb3QgLWMgZWRp
dG9yDQojb3B0aW9ucyAJSU5UUk9fVVNFUkNPTkZJRwkjaW1wbHkgLWMgYW5k
IHNob3cgaW50cm8gc2NyZWVuDQojb3B0aW9ucyAJVklTVUFMX1VTRVJDT05G
SUcJI3Zpc3VhbCBib290IC1jIGVkaXRvcg0KDQoMDQojIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCiMgTkVUV09SS0lORyBPUFRJT05TDQoNCiMNCiMgUHJv
dG9jb2wgZmFtaWxpZXM6DQojICBPbmx5IHRoZSBJTkVUIChJbnRlcm5ldCkg
ZmFtaWx5IGlzIG9mZmljaWFsbHkgc3VwcG9ydGVkIGluIEZyZWVCU0QuDQoj
ICBTb3VyY2UgY29kZSBmb3IgdGhlIE5TIChYZXJveCBOZXR3b3JrIFNlcnZp
Y2UpIGlzIHByb3ZpZGVkIGZvciBhbXVzZW1lbnQNCiMgIHZhbHVlLg0KIw0K
b3B0aW9ucyAJSU5FVAkJCSNJbnRlcm5ldCBjb21tdW5pY2F0aW9ucyBwcm90
b2NvbHMNCm9wdGlvbnMgCUlORVQ2CQkJI0lQdjYgY29tbXVuaWNhdGlvbnMg
cHJvdG9jb2xzDQpvcHRpb25zIAlJUFNFQwkJCSNJUCBzZWN1cml0eQ0KI29w
dGlvbnMgCUlQU0VDX0VTUAkJI0lQIHNlY3VyaXR5IChjcnlwdG87IGRlZmlu
ZSB3LyBJUFNFQykNCiNvcHRpb25zIAlJUFNFQ19ERUJVRwkJI2RlYnVnIGZv
ciBJUCBzZWN1cml0eQ0KDQojb3B0aW9ucyAJSVBYCQkJI0lQWC9TUFggY29t
bXVuaWNhdGlvbnMgcHJvdG9jb2xzDQojb3B0aW9ucyAJSVBYSVAJCQkjSVBY
IGluIElQIGVuY2Fwc3VsYXRpb24gKG5vdCBhdmFpbGFibGUpDQojb3B0aW9u
cyAJSVBUVU5ORUwJCSNJUCBpbiBJUFggZW5jYXBzdWxhdGlvbiAobm90IGF2
YWlsYWJsZSkNCg0KI29wdGlvbnMgCU5DUAkJCSNOZXRXYXJlIENvcmUgcHJv
dG9jb2wNCg0KI29wdGlvbnMgCU5FVEFUQUxLCQkjQXBwbGV0YWxrIGNvbW11
bmljYXRpb25zIHByb3RvY29scw0KDQojIFRoZXNlIGFyZSBjdXJyZW50bHkg
YnJva2VuIGJ1dCBhcmUgc2hpcHBlZCBkdWUgdG8gaW50ZXJlc3QuDQojb3B0
aW9ucyAJTlMJCQkjWGVyb3ggTlMgcHJvdG9jb2xzDQojb3B0aW9ucyAJTlNJ
UAkJCSNYTlMgb3ZlciBJUA0KDQojDQojIFNNQi9DSUZTIHJlcXVlc3Rlcg0K
IyBORVRTTUIgZW5hYmxlcyBzdXBwb3J0IGZvciBTTUIgcHJvdG9jb2wsIGl0
IHJlcXVpcmVzIExJQk1DSEFJTiBhbmQgTElCSUNPTlYNCiMgb3B0aW9ucy4N
CiMgTkVUU01CQ1JZUFRPIGVuYWJsZXMgc3VwcG9ydCBmb3IgZW5jcnlwdGVk
IHBhc3N3b3Jkcy4NCiNvcHRpb25zIAlORVRTTUIJCQkjU01CL0NJRlMgcmVx
dWVzdGVyDQojb3B0aW9ucyAJTkVUU01CQ1JZUFRPCQkjZW5jcnlwdGVkIHBh
c3N3b3JkIHN1cHBvcnQgZm9yIFNNQg0KDQojIG1jaGFpbiBsaWJyYXJ5LiBJ
dCBjYW4gYmUgZWl0aGVyIGxvYWRlZCBhcyBLTEQgb3IgY29tcGlsZWQgaW50
byBrZXJuZWwNCiNvcHRpb25zIAlMSUJNQ0hBSU4JCSNtYnVmIG1hbmFnZW1l
bnQgbGlicmFyeQ0KDQojIG5ldGdyYXBoKDQpLiBFbmFibGUgdGhlIGJhc2Ug
bmV0Z3JhcGggY29kZSB3aXRoIHRoZSBORVRHUkFQSCBvcHRpb24uDQojIElu
ZGl2aWR1YWwgbm9kZSB0eXBlcyBjYW4gYmUgZW5hYmxlZCB3aXRoIHRoZSBj
b3JyZXNwb25kaW5nIG9wdGlvbg0KIyBsaXN0ZWQgYmVsb3c7IGhvd2V2ZXIs
IHRoaXMgaXMgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSBhcyBuZXRncmFwaA0K
IyB3aWxsIGF1dG9tYXRpY2FsbHkgbG9hZCB0aGUgY29ycmVzcG9uZGluZyBL
TEQgbW9kdWxlIGlmIHRoZSBub2RlIHR5cGUNCiMgaXMgbm90IGFscmVhZHkg
Y29tcGlsZWQgaW50byB0aGUga2VybmVsLiBFYWNoIHR5cGUgYmVsb3cgaGFz
IGENCiMgY29ycmVzcG9uZGluZyBtYW4gcGFnZSwgZS5nLiwgbmdfYXN5bmMo
OCkuDQojb3B0aW9ucyAJTkVUR1JBUEgJCSNuZXRncmFwaCg0KSBzeXN0ZW0N
CiNvcHRpb25zIAlORVRHUkFQSF9BU1lOQw0KI29wdGlvbnMgCU5FVEdSQVBI
X0JQRg0KI29wdGlvbnMgCU5FVEdSQVBIX0NJU0NPDQojb3B0aW9ucyAJTkVU
R1JBUEhfRUNITw0KI29wdGlvbnMgCU5FVEdSQVBIX0VUSEVSDQojb3B0aW9u
cyAJTkVUR1JBUEhfRlJBTUVfUkVMQVkNCiNvcHRpb25zIAlORVRHUkFQSF9I
T0xFDQojb3B0aW9ucyAJTkVUR1JBUEhfSUZBQ0UNCiNvcHRpb25zIAlORVRH
UkFQSF9LU09DS0VUDQojb3B0aW9ucyAJTkVUR1JBUEhfTE1JDQojIE1QUEMg
Y29tcHJlc3Npb24gcmVxdWlyZXMgcHJvcHJpZXRhcnkgZmlsZXMgKG5vdCBp
bmNsdWRlZCkNCiNvcHRpb25zIAlORVRHUkFQSF9NUFBDX0NPTVBSRVNTSU9O
DQojb3B0aW9ucyAJTkVUR1JBUEhfTVBQQ19FTkNSWVBUSU9ODQojb3B0aW9u
cyAJTkVUR1JBUEhfT05FMk1BTlkNCiNvcHRpb25zIAlORVRHUkFQSF9QUFAN
CiNvcHRpb25zIAlORVRHUkFQSF9QUFBPRQ0KI29wdGlvbnMgCU5FVEdSQVBI
X1BQVFBHUkUNCiNvcHRpb25zIAlORVRHUkFQSF9SRkMxNDkwDQojb3B0aW9u
cyAJTkVUR1JBUEhfU09DS0VUDQojb3B0aW9ucyAJTkVUR1JBUEhfVEVFDQoj
b3B0aW9ucyAJTkVUR1JBUEhfVFRZDQojb3B0aW9ucyAJTkVUR1JBUEhfVUkN
CiNvcHRpb25zIAlORVRHUkFQSF9WSkMNCg0KI2RldmljZQkJbW4JIyBNdW5p
Y2gzMngvRmFsYzU0IE54NjRrYml0L3NlYyBjYXJkcy4NCg0KIw0KIyBOZXR3
b3JrIGludGVyZmFjZXM6DQojICBUaGUgYGxvb3AnIHBzZXVkby1kZXZpY2Ug
aXMgTUFOREFUT1JZIHdoZW4gbmV0d29ya2luZyBpcyBlbmFibGVkLg0KIyAg
VGhlIGBldGhlcicgcHNldWRvLWRldmljZSBwcm92aWRlcyBnZW5lcmljIGNv
ZGUgdG8gaGFuZGxlDQojICBFdGhlcm5ldHM7IGl0IGlzIE1BTkRBVE9SWSB3
aGVuIGEgRXRoZXJuZXQgZGV2aWNlIGRyaXZlciBpcw0KIyAgY29uZmlndXJl
ZCBvciB0b2tlbi1yaW5nIGlzIGVuYWJsZWQuDQojICBUaGUgJ2ZkZGknIHBz
ZXVkby1kZXZpY2UgcHJvdmlkZXMgZ2VuZXJpYyBjb2RlIHRvIHN1cHBvcnQg
RkRESS4NCiMgIFRoZSBgYXJjbmV0JyBwc2V1ZG8tZGV2aWNlIHByb3ZpZGVz
IGdlbmVyaWMgY29kZSB0byBzdXBwb3J0IEFyY25ldC4NCiMgIFRoZSBgc3Bw
cCcgcHNldWRvLWRldmljZSBzZXJ2ZXMgYSBzaW1pbGFyIHJvbGUgZm9yIGNl
cnRhaW4gdHlwZXMNCiMgIG9mIHN5bmNocm9ub3VzIFBQUCBsaW5rcyAobGlr
ZSBgY3gnLCBgYXInKS4NCiMgIFRoZSBgc2wnIHBzZXVkby1kZXZpY2UgaW1w
bGVtZW50cyB0aGUgU2VyaWFsIExpbmUgSVAgKFNMSVApIHNlcnZpY2UuDQoj
ICBUaGUgYHBwcCcgcHNldWRvLWRldmljZSBpbXBsZW1lbnRzIHRoZSBQb2lu
dC10by1Qb2ludCBQcm90b2NvbC4NCiMgIFRoZSBgYnBmJyBwc2V1ZG8tZGV2
aWNlIGVuYWJsZXMgdGhlIEJlcmtlbGV5IFBhY2tldCBGaWx0ZXIuICBCZQ0K
IyAgYXdhcmUgb2YgdGhlIGxlZ2FsIGFuZCBhZG1pbmlzdHJhdGl2ZSBjb25z
ZXF1ZW5jZXMgb2YgZW5hYmxpbmcgdGhpcw0KIyAgb3B0aW9uLiAgVGhlIG51
bWJlciBvZiBkZXZpY2VzIGRldGVybWluZXMgdGhlIG1heGltdW0gbnVtYmVy
IG9mDQojICBzaW11bHRhbmVvdXMgQlBGIGNsaWVudHMgcHJvZ3JhbXMgcnVu
bmFibGUuDQojICBUaGUgYGRpc2MnIHBzZXVkby1kZXZpY2UgaW1wbGVtZW50
cyBhIG1pbmltYWwgbmV0d29yayBpbnRlcmZhY2UsDQojICB3aGljaCB0aHJv
d3MgYXdheSBhbGwgcGFja2V0cyBzZW50IGFuZCBuZXZlciByZWNlaXZlcyBh
bnkuICBJdCBpcw0KIyAgaW5jbHVkZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMu
ICBUaGlzIHNob3dzIHVwIGFzIHRoZSAnZHMnIGludGVyZmFjZS4NCiMgIFRo
ZSBgdHVuJyBwc2V1ZG8tZGV2aWNlIGltcGxlbWVudHMgKHVzZXItKXBwcCBh
bmQgbm9zLXR1bg0KIyAgVGhlIGBnaWYnIHBzZXVkby1kZXZpY2UgaW1wbGVt
ZW50cyBJUHY2IG92ZXIgSVA0IHR1bm5lbGluZywNCiMgIElQdjQgb3ZlciBJ
UHY2IHR1bm5lbGluZywgSVB2NCBvdmVyIElQdjQgdHVubmVsaW5nIGFuZA0K
IyAgSVB2NiBvdmVyIElQdjYgdHVubmVsaW5nLg0KIyAgVGhlIGBmYWl0aCcg
cHNldWRvLWRldmljZSBjYXB0dXJlcyBwYWNrZXRzIHNlbnQgdG8gaXQgYW5k
IGRpdmVydHMgdGhlbQ0KIyAgdG8gdGhlIElQdjQvSVB2NiB0cmFuc2xhdGlv
biBkYWVtb24uDQojICBUaGUgYHN0ZicgZGV2aWNlIGltcGxlbWVudHMgNnRv
NCBlbmNhcHN1bGF0aW9uLg0KIyAgVGhlIGBlZicgcHNldWRvLWRldmljZSBw
cm92aWRlcyBzdXBwb3J0IGZvciBtdWx0aXBsZSBldGhlcm5ldCBmcmFtZSB0
eXBlcw0KIyAgc3BlY2lmaWVkIHZpYSBFVEhFUl8qIG9wdGlvbnMuIFNlZSBl
Zig0KSBmb3IgZGV0YWlscy4NCiMNCiMgVGhlIFBQUF9CU0RDT01QIG9wdGlv
biBlbmFibGVzIHN1cHBvcnQgZm9yIGNvbXByZXNzKDEpIHN0eWxlIGVudGly
ZQ0KIyBwYWNrZXQgY29tcHJlc3Npb24sIHRoZSBQUFBfREVGTEFURSBpcyBm
b3IgemxpYi9nemlwIHN0eWxlIGNvbXByZXNzaW9uLg0KIyBQUFBfRklMVEVS
IGVuYWJsZXMgY29kZSBmb3IgZmlsdGVyaW5nIHRoZSBwcHAgZGF0YSBzdHJl
YW0gYW5kIHNlbGVjdGluZw0KIyBldmVudHMgZm9yIHJlc2V0dGluZyB0aGUg
ZGVtYW5kIGRpYWwgYWN0aXZpdHkgdGltZXIgLSByZXF1aXJlcyBicGYuDQoj
IFNlZSBwcHBkKDgpIGZvciBtb3JlIGRldGFpbHMuDQojDQpwc2V1ZG8tZGV2
aWNlCWV0aGVyCQkJI0dlbmVyaWMgRXRoZXJuZXQNCiNwc2V1ZG8tZGV2aWNl
CXZsYW4JMQkJI1ZMQU4gc3VwcG9ydA0KI3BzZXVkby1kZXZpY2UJdG9rZW4J
CQkjR2VuZXJpYyBUb2tlblJpbmcNCiNwc2V1ZG8tZGV2aWNlCWZkZGkJCQkj
R2VuZXJpYyBGRERJDQojcHNldWRvLWRldmljZQlhcmNuZXQJCQkjR2VuZXJp
YyBBcmNuZXQNCiNwc2V1ZG8tZGV2aWNlCXNwcHAJCQkjR2VuZXJpYyBTeW5j
aHJvbm91cyBQUFANCnBzZXVkby1kZXZpY2UJbG9vcAkJCSNOZXR3b3JrIGxv
b3BiYWNrIGRldmljZQ0KcHNldWRvLWRldmljZQlicGYJCQkjQmVya2VsZXkg
cGFja2V0IGZpbHRlcg0KI3BzZXVkby1kZXZpY2UJZGlzYwkJCSNEaXNjYXJk
IGRldmljZSAoZHMwLCBkczEsIGV0YykNCiNwc2V1ZG8tZGV2aWNlCXR1bgkJ
CSNUdW5uZWwgZHJpdmVyIChwcHAoOCksIG5vcy10dW4oOCkpDQojcHNldWRv
LWRldmljZQlzbAkyCQkjU2VyaWFsIExpbmUgSVANCiNwc2V1ZG8tZGV2aWNl
CXBwcAkyCQkjUG9pbnQtdG8tcG9pbnQgcHJvdG9jb2wNCiNvcHRpb25zIAlQ
UFBfQlNEQ09NUAkJI1BQUCBCU0QtY29tcHJlc3Mgc3VwcG9ydA0KI29wdGlv
bnMgCVBQUF9ERUZMQVRFCQkjUFBQIHpsaWIvZGVmbGF0ZS9nemlwIHN1cHBv
cnQNCiNvcHRpb25zIAlQUFBfRklMVEVSCQkjZW5hYmxlIGJwZiBmaWx0ZXJp
bmcgKG5lZWRzIGJwZikNCg0KI3BzZXVkby1kZXZpY2UJZWYJCQkjIE11bHRp
cGxlIGV0aGVybmV0IGZyYW1lcyBzdXBwb3J0DQojb3B0aW9ucyAJRVRIRVJf
SUkJCSMgZW5hYmxlIEV0aGVybmV0X0lJIGZyYW1lDQojb3B0aW9ucyAJRVRI
RVJfODAyMwkJIyBlbmFibGUgRXRoZXJuZXRfODAyLjMgKE5vdmVsbCkgZnJh
bWUNCiNvcHRpb25zIAlFVEhFUl84MDIyCQkjIGVuYWJsZSBFdGhlcm5ldF84
MDIuMiBmcmFtZQ0KI29wdGlvbnMgCUVUSEVSX1NOQVAJCSMgZW5hYmxlIEV0
aGVybmV0XzgwMi4yL1NOQVAgZnJhbWUNCg0KIyBmb3IgSVB2Ng0KI3BzZXVk
by1kZXZpY2UJZ2lmCQkJI0lQdjYgYW5kIElQdjQgdHVubmVsaW5nDQojcHNl
dWRvLWRldmljZQlmYWl0aAkxCQkjZm9yIElQdjYgYW5kIElQdjQgdHJhbnNs
YXRpb24NCiNwc2V1ZG8tZGV2aWNlCXN0ZgkJCSM2dG80IElQdjYgb3ZlciBJ
UHY0IGVuY2Fwc3VsYXRpb24NCg0KIw0KIyBJbnRlcm5ldCBmYW1pbHkgb3B0
aW9uczoNCiMNCiMgTVJPVVRJTkcgZW5hYmxlcyB0aGUga2VybmVsIG11bHRp
Y2FzdCBwYWNrZXQgZm9yd2FyZGVyLCB3aGljaCB3b3Jrcw0KIyB3aXRoIG1y
b3V0ZWQoOCkuDQojDQojIElQRklSRVdBTEwgZW5hYmxlcyBzdXBwb3J0IGZv
ciBJUCBmaXJld2FsbCBjb25zdHJ1Y3Rpb24sIGluDQojIGNvbmp1bmN0aW9u
IHdpdGggdGhlIGBpcGZ3JyBwcm9ncmFtLiAgSVBGSVJFV0FMTF9WRVJCT1NF
IHNlbmRzDQojIGxvZ2dlZCBwYWNrZXRzIHRvIHRoZSBzeXN0ZW0gbG9nZ2Vy
LiAgSVBGSVJFV0FMTF9WRVJCT1NFX0xJTUlUDQojIGxpbWl0cyB0aGUgbnVt
YmVyIG9mIHRpbWVzIGEgbWF0Y2hpbmcgZW50cnkgY2FuIGJlIGxvZ2dlZC4N
CiMNCiMgV0FSTklORzogIElQRklSRVdBTEwgZGVmYXVsdHMgdG8gYSBwb2xp
Y3kgb2YgImRlbnkgaXAgZnJvbSBhbnkgdG8gYW55Ig0KIyBhbmQgaWYgeW91
IGRvIG5vdCBhZGQgb3RoZXIgcnVsZXMgZHVyaW5nIHN0YXJ0dXAgdG8gYWxs
b3cgYWNjZXNzLA0KIyBZT1UgV0lMTCBMT0NLIFlPVVJTRUxGIE9VVC4gIEl0
IGlzIHN1Z2dlc3RlZCB0aGF0IHlvdSBzZXQgZmlyZXdhbGxfdHlwZT1vcGVu
DQojIGluIC9ldGMvcmMuY29uZiB3aGVuIGZpcnN0IGVuYWJsaW5nIHRoaXMg
ZmVhdHVyZSwgdGhlbiByZWZpbmluZyB0aGUNCiMgZmlyZXdhbGwgcnVsZXMg
aW4gL2V0Yy9yYy5maXJld2FsbCBhZnRlciB5b3UndmUgdGVzdGVkIHRoYXQg
dGhlIG5ldyBrZXJuZWwNCiMgZmVhdHVyZSB3b3JrcyBwcm9wZXJseS4NCiMN
CiMgSVBGSVJFV0FMTF9ERUZBVUxUX1RPX0FDQ0VQVCBjYXVzZXMgdGhlIGRl
ZmF1bHQgcnVsZSAoYXQgYm9vdCkgdG8NCiMgYWxsb3cgZXZlcnl0aGluZy4g
IFVzZSB3aXRoIGNhcmUsIGlmIGEgY3JhY2tlciBjYW4gY3Jhc2ggeW91cg0K
IyBmaXJld2FsbCBtYWNoaW5lLCB0aGV5IGNhbiBnZXQgdG8geW91ciBwcm90
ZWN0ZWQgbWFjaGluZXMuICBIb3dldmVyLA0KIyBpZiB5b3UgYXJlIHVzaW5n
IGl0IGFzIGFuIGFzLW5lZWRlZCBmaWx0ZXIgZm9yIHNwZWNpZmljIHByb2Js
ZW1zIGFzDQojIHRoZXkgYXJpc2UsIHRoZW4gdGhpcyBtYXkgYmUgZm9yIHlv
dS4gIENoYW5naW5nIHRoZSBkZWZhdWx0IHRvICdhbGxvdycNCiMgbWVhbnMg
dGhhdCB5b3Ugd29uJ3QgZ2V0IHN0dWNrIGlmIHRoZSBrZXJuZWwgYW5kIC9z
YmluL2lwZncgYmluYXJ5IGdldA0KIyBvdXQgb2Ygc3luYy4NCiMNCiMgSVBE
SVZFUlQgZW5hYmxlcyB0aGUgZGl2ZXJ0IElQIHNvY2tldHMsIHVzZWQgYnkg
YGBpcGZ3IGRpdmVydCcnDQojDQojIElQU1RFQUxUSCBlbmFibGVzIGNvZGUg
dG8gc3VwcG9ydCBzdGVhbHRoIGZvcndhcmRpbmcgKGkuZS4sIGZvcndhcmRp
bmcNCiMgcGFja2V0cyB3aXRob3V0IHRvdWNoaW5nIHRoZSB0dGwpLiAgVGhp
cyBjYW4gYmUgdXNlZnVsIHRvIGhpZGUgZmlyZXdhbGxzDQojIGZyb20gdHJh
Y2Vyb3V0ZSBhbmQgc2ltaWxhciB0b29scy4NCiMNCiMgVENQREVCVUcgaXMg
dW5kb2N1bWVudGVkLg0KIw0KI29wdGlvbnMgCU1ST1VUSU5HCQkjIE11bHRp
Y2FzdCByb3V0aW5nDQojb3B0aW9ucyAJSVBGSVJFV0FMTAkJI2ZpcmV3YWxs
DQojb3B0aW9ucyAJSVBGSVJFV0FMTF9WRVJCT1NFCSNlbmFibGUgbG9nZ2lu
ZyB0byBzeXNsb2dkKDgpDQojb3B0aW9ucyAJSVBGSVJFV0FMTF9GT1JXQVJE
CSNlbmFibGUgdHJhbnNwYXJlbnQgcHJveHkgc3VwcG9ydA0KI29wdGlvbnMg
CUlQRklSRVdBTExfVkVSQk9TRV9MSU1JVD0xMDAJI2xpbWl0IHZlcmJvc2l0
eQ0KI29wdGlvbnMgCUlQRklSRVdBTExfREVGQVVMVF9UT19BQ0NFUFQJI2Fs
bG93IGV2ZXJ5dGhpbmcgYnkgZGVmYXVsdA0KI29wdGlvbnMgCUlQVjZGSVJF
V0FMTAkJI2ZpcmV3YWxsIGZvciBJUHY2DQojb3B0aW9ucyAJSVBWNkZJUkVX
QUxMX1ZFUkJPU0UNCiNvcHRpb25zIAlJUFY2RklSRVdBTExfVkVSQk9TRV9M
SU1JVD0xMDANCiNvcHRpb25zIAlJUFY2RklSRVdBTExfREVGQVVMVF9UT19B
Q0NFUFQNCiNvcHRpb25zIAlJUERJVkVSVAkJI2RpdmVydCBzb2NrZXRzDQoj
b3B0aW9ucyAJSVBGSUxURVIJCSNpcGZpbHRlciBzdXBwb3J0DQojb3B0aW9u
cyAJSVBGSUxURVJfTE9HCQkjaXBmaWx0ZXIgbG9nZ2luZw0KI29wdGlvbnMJ
CUlQRklMVEVSX0RFRkFVTFRfQkxPQ0sJI2Jsb2NrIGFsbCBwYWNrZXRzIGJ5
IGRlZmF1bHQNCiNvcHRpb25zIAlJUFNURUFMVEgJCSNzdXBwb3J0IGZvciBz
dGVhbHRoIGZvcndhcmRpbmcNCiNvcHRpb25zIAlUQ1BERUJVRw0KDQojIFJB
TkRPTV9JUF9JRCBjYXVzZXMgdGhlIElEIGZpZWxkIGluIElQIHBhY2tldHMg
dG8gYmUgcmFuZG9taXplZA0KIyBpbnN0ZWFkIG9mIGluY3JlbWVudGVkIGJ5
IDEgd2l0aCBlYWNoIHBhY2tldCBnZW5lcmF0ZWQuICBUaGlzDQojIG9wdGlv
biBjbG9zZXMgYSBtaW5vciBpbmZvcm1hdGlvbiBsZWFrIHdoaWNoIGFsbG93
cyByZW1vdGUNCiMgb2JzZXJ2ZXJzIHRvIGRldGVybWluZSB0aGUgcmF0ZSBv
ZiBwYWNrZXQgZ2VuZXJhdGlvbiBvbiB0aGUNCiMgbWFjaGluZSBieSB3YXRj
aGluZyB0aGUgY291bnRlci4NCiNvcHRpb25zCQlSQU5ET01fSVBfSUQNCg0K
IyBTdGF0aWNhbGx5IExpbmsgaW4gYWNjZXB0IGZpbHRlcnMNCiNvcHRpb25z
ICAgICAgICAgICAgICAgIEFDQ0VQVF9GSUxURVJfREFUQQ0KI29wdGlvbnMg
ICAgICAgICAgICAgICAgQUNDRVBUX0ZJTFRFUl9IVFRQDQoNCiMNCiMgVENQ
X0RST1BfU1lORklOIGFkZHMgc3VwcG9ydCBmb3IgaWdub3JpbmcgVENQIHBh
Y2tldHMgd2l0aCBTWU4rRklOLiBUaGlzDQojIHByZXZlbnRzIG5tYXAgZXQg
YWwuIGZyb20gaWRlbnRpZnlpbmcgdGhlIFRDUC9JUCBzdGFjaywgYnV0IGJy
ZWFrcyBzdXBwb3J0DQojIGZvciBSRkMxNjQ0IGV4dGVuc2lvbnMgYW5kIGlz
IG5vdCByZWNvbW1lbmRlZCBmb3Igd2ViIHNlcnZlcnMuDQojDQojb3B0aW9u
cyAJVENQX0RST1BfU1lORklOCQkjZHJvcCBUQ1AgcGFja2V0cyB3aXRoIFNZ
TitGSU4NCg0KIyBJQ01QX0JBTkRMSU0gZW5hYmxlcyBpY21wIGVycm9yIHJl
c3BvbnNlIGJhbmR3aWR0aCBsaW1pdGluZy4gICBZb3UNCiMgdHlwaWNhbGx5
IHdhbnQgdGhpcyBvcHRpb24gYXMgaXQgd2lsbCBoZWxwIHByb3RlY3QgdGhl
IG1hY2hpbmUgZnJvbQ0KIyBELk8uUy4gcGFja2V0IGF0dGFja3MuDQojDQoj
b3B0aW9ucyAJSUNNUF9CQU5ETElNDQoNCiMgRFVNTVlORVQgZW5hYmxlcyB0
aGUgImR1bW15bmV0IiBiYW5kd2lkdGggbGltaXRlci4gWW91IG5lZWQNCiMg
SVBGSVJFV0FMTCBhcyB3ZWxsLiBTZWUgdGhlIGR1bW15bmV0KDQpIGFuZCBp
cGZ3KDgpIG1hbnBhZ2VzIGZvciBtb3JlIGluZm8uDQojIFdoZW4geW91IHJ1
biBEVU1NWU5FVCBpdCBpcyBhZHZpc2FibGUgdG8gYWxzbyBoYXZlICJvcHRp
b25zIEhaPTEwMDAiDQojIHRvIGFjaGlldmUgYSBzbW9vdGhlciBzY2hlZHVs
aW5nIG9mIHRoZSB0cmFmZmljLg0KIw0KIyBCUklER0UgZW5hYmxlcyBicmlk
Z2luZyBiZXR3ZWVuIGV0aGVybmV0IGNhcmRzIC0tIHNlZSBicmlkZ2UoNCku
DQojIFlvdSBjYW4gdXNlIElQRklSRVdBTEwgYW5kIERVTU1ZTkVUIHRvZ2V0
aGVyIHdpdGggYnJpZGdpbmcuDQojDQojb3B0aW9ucyAJRFVNTVlORVQNCiNv
cHRpb25zIAlCUklER0UNCg0KIw0KIyBBVE0gKEhBUlAgdmVyc2lvbikgb3B0
aW9ucw0KIw0KIyBBVE1fQ09SRSBpbmNsdWRlcyB0aGUgYmFzZSBBVE0gZnVu
Y3Rpb25hbGl0eSBjb2RlLiAgVGhpcyBtdXN0IGJlIGluY2x1ZGVkDQojCWZv
ciBBVE0gc3VwcG9ydC4NCiMNCiMgQVRNX0lQIGluY2x1ZGVzIHN1cHBvcnQg
Zm9yIHJ1bm5pbmcgSVAgb3ZlciBBVE0uDQojDQojIEF0IGxlYXN0IG9uZSAo
YW5kIHVzdWFsbHkgb25seSBvbmUpIG9mIHRoZSBmb2xsb3dpbmcgc2lnbmFs
bGluZyBtYW5hZ2Vycw0KIyBtdXN0IGJlIGluY2x1ZGVkIChub3RlIHRoYXQg
YWxsIHNpZ25hbGxpbmcgbWFuYWdlcnMgaW5jbHVkZSBQVkMgc3VwcG9ydCk6
DQojIEFUTV9TSUdQVkMgaW5jbHVkZXMgc3VwcG9ydCBmb3IgdGhlIFBWQy1v
bmx5IHNpZ25hbGxpbmcgbWFuYWdlciBgc2lncHZjJy4NCiMgQVRNX1NQQU5T
IGluY2x1ZGVzIHN1cHBvcnQgZm9yIHRoZSBgc3BhbnMnIHNpZ25hbGxpbmcg
bWFuYWdlciwgd2hpY2ggcnVucw0KIwl0aGUgRk9SRSBTeXN0ZW1zJ3MgcHJv
cHJpZXRhcnkgU1BBTlMgc2lnbmFsbGluZyBwcm90b2NvbC4NCiMgQVRNX1VO
SSBpbmNsdWRlcyBzdXBwb3J0IGZvciB0aGUgYHVuaTMwJyBhbmQgYHVuaTMx
JyBzaWduYWxsaW5nIG1hbmFnZXJzLA0KIwl3aGljaCBydW4gdGhlIEFUTSBG
b3J1bSBVTkkgMy54IHNpZ25hbGxpbmcgcHJvdG9jb2xzLg0KIw0KIyBUaGUg
YGhlYScgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBFZmZpY2ll
bnQgTmV0d29ya3MsIEluYy4NCiMgRU5JLTE1NXAgQVRNIFBDSSBBZGFwdGVy
Lg0KIw0KIyBUaGUgYGhmYScgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9y
IHRoZSBGT1JFIFN5c3RlbXMsIEluYy4NCiMgUENBLTIwMEUgQVRNIFBDSSBB
ZGFwdGVyLg0KIw0KI29wdGlvbnMgCUFUTV9DT1JFCQkjY29yZSBBVE0gcHJv
dG9jb2wgZmFtaWx5DQojb3B0aW9ucyAJQVRNX0lQCQkJI0lQIG92ZXIgQVRN
IHN1cHBvcnQNCiNvcHRpb25zIAlBVE1fU0lHUFZDCQkjU0lHUFZDIHNpZ25h
bGxpbmcgbWFuYWdlcg0KI29wdGlvbnMgCUFUTV9TUEFOUwkJI1NQQU5TIHNp
Z25hbGxpbmcgbWFuYWdlcg0KI29wdGlvbnMgCUFUTV9VTkkJCQkjVU5JIHNp
Z25hbGxpbmcgbWFuYWdlcg0KI2RldmljZQkJaGVhCQkJI0VmZmljaWVudCBF
TkktMTU1cCBBVE0gUENJDQojZGV2aWNlCQloZmEJCQkjRk9SRSBQQ0EtMjAw
RSBBVE0gUENJDQoNCiMgREVWSUNFX1BPTExJTkcgYWRkcyBzdXBwb3J0IGZv
ciBtaXhlZCBpbnRlcnJ1cHQtcG9sbGluZyBoYW5kbGluZw0KIyBvZiBuZXR3
b3JrIGRldmljZSBkcml2ZXJzLCB3aGljaCBoYXMgc2lnbmlmaWNhbnQgYmVu
ZWZpdHMgaW4gdGVybXMNCiMgb2Ygcm9idXN0bmVzcyB0byBvdmVybG9hZHMg
YW5kIHJlc3BvbnNpdml0eSwgYXMgd2VsbCBhcyBwZXJtaXR0aW5nDQojIGFj
Y3VyYXRlIHNjaGVkdWxpbmcgb2YgdGhlIENQVSB0aW1lIGJldHdlZW4ga2Vy
bmVsIG5ldHdvcmsgcHJvY2Vzc2luZw0KIyBhbmQgb3RoZXIgYWN0aXZpdGll
cy4gVGhlIGRyYXdiYWNrIGlzIGEgbW9kZXJhdGUgKHVwIHRvIDEvSFogc2Vj
b25kcykNCiMgcG90ZW50aWFsIGluY3JlYXNlIGluIHJlc3BvbnNlIHRpbWVz
Lg0KIyBJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgSFo9MTAw
MCBvciAyMDAwIHdpdGggREVWSUNFX1BPTExJTkcNCiMgdG8gYWNoaWV2ZSBz
bW9vdGhlciBiZWhhdmlvdXIuDQojIEFkZGl0aW9uYWxseSwgeW91IGNhbiBl
bmFibGUvZGlzYWJsZSBwb2xsaW5nIGF0IHJ1bnRpbWUgd2l0aCB0aGUNCiMg
c3lzY3RsIHZhcmlhYmxlIGtlcm4ucG9sbGluZy5lbmFibGUgKGRlZmF1bHRz
IG9mZiksIGFuZCBzZWxlY3QNCiMgdGhlIENQVSBmcmFjdGlvbiByZXNlcnZl
ZCB0byB1c2VybGFuZCB3aXRoIHRoZSBzeXNjdGwgdmFyaWFibGUNCiMga2Vy
bi5wb2xsaW5nLnVzZXJfZnJhYyAoZGVmYXVsdCA1MCwgcmFuZ2UgMC4uMTAw
KS4NCiMNCiMgT25seSB0aGUgImRjIiAiZnhwIiBhbmQgInNpcyIgZGV2aWNl
cyBzdXBwb3J0IHRoaXMgbW9kZSBvZiBvcGVyYXRpb24gYXQNCiMgdGhlIHRp
bWUgb2YgdGhpcyB3cml0aW5nLg0KIA0KI29wdGlvbnMgICAgICAgICBERVZJ
Q0VfUE9MTElORw0KDQoMDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMg
RklMRVNZU1RFTSBPUFRJT05TDQoNCiMNCiMgT25seSB0aGUgcm9vdCwgL3Vz
ciwgYW5kIC90bXAgZmlsZXN5c3RlbXMgbmVlZCBiZSBzdGF0aWNhbGx5DQoj
IGNvbXBpbGVkOyBldmVyeXRoaW5nIGVsc2Ugd2lsbCBiZSBhdXRvbWF0aWNh
bGx5IGxvYWRlZCBhdCBtb3VudA0KIyB0aW1lLiAgKEV4Y2VwdGlvbjogdGhl
IFVGUyBmYW1pbHktLS1GRlMsIGFuZCBNRlMgLS0tIGNhbm5vdA0KIyBjdXJy
ZW50bHkgYmUgZGVtYW5kLWxvYWRlZC4pICBTb21lIHBlb3BsZSBzdGlsbCBw
cmVmZXIgdG8gc3RhdGljYWxseQ0KIyBjb21waWxlIG90aGVyIGZpbGVzeXN0
ZW1zIGFzIHdlbGwuDQojDQojIE5COiBUaGUgTlVMTCwgUE9SVEFMLCBVTUFQ
IGFuZCBVTklPTiBmaWxlc3lzdGVtcyBhcmUga25vd24gdG8gYmUNCiMgYnVn
Z3ksIGFuZCBXSUxMIHBhbmljIHlvdXIgc3lzdGVtIGlmIHlvdSBhdHRlbXB0
IHRvIGRvIGFueXRoaW5nIHdpdGgNCiMgdGhlbS4gIFRoZXkgYXJlIGluY2x1
ZGVkIGhlcmUgYXMgYW4gaW5jZW50aXZlIGZvciBzb21lIGVudGVycHJpc2lu
Zw0KIyBzb3VsIHRvIHNpdCBkb3duIGFuZCBmaXggdGhlbS4NCiMNCg0KIyBP
bmUgb2YgdGhlc2UgaXMgbWFuZGF0b3J5Og0Kb3B0aW9ucyAJRkZTCQkJI0Zh
c3QgZmlsZXN5c3RlbQ0KI29wdGlvbnMgCU1GUwkJCSNNZW1vcnkgRmlsZSBT
eXN0ZW0NCiNvcHRpb25zIAlORlMJCQkjTmV0d29yayBGaWxlIFN5c3RlbQ0K
DQojIFRoZSByZXN0IGFyZSBvcHRpb25hbDoNCiNvcHRpb25zIAlORlNfTk9T
RVJWRVIJCSNEaXNhYmxlIHRoZSBORlMtc2VydmVyIGNvZGUuDQojb3B0aW9u
cyAJQ0Q5NjYwCQkJI0lTTyA5NjYwIGZpbGVzeXN0ZW0NCiNvcHRpb25zIAlG
REVTQwkJCSNGaWxlIGRlc2NyaXB0b3IgZmlsZXN5c3RlbQ0KI29wdGlvbnMg
CUtFUk5GUwkJCSNLZXJuZWwgZmlsZXN5c3RlbQ0KI29wdGlvbnMgCU1TRE9T
RlMJCQkjTVMgRE9TIEZpbGUgU3lzdGVtDQojb3B0aW9ucyAJTlRGUwkJCSNO
VCBGaWxlIFN5c3RlbQ0KI29wdGlvbnMgCU5VTExGUwkJCSNOVUxMIGZpbGVz
eXN0ZW0NCiNvcHRpb25zIAlOV0ZTCQkJI05ldFdhcmUgZmlsZXN5c3RlbQ0K
I29wdGlvbnMgCVBPUlRBTAkJCSNQb3J0YWwgZmlsZXN5c3RlbQ0KI29wdGlv
bnMgCVBST0NGUwkJCSNQcm9jZXNzIGZpbGVzeXN0ZW0NCiNvcHRpb25zCQlT
TUJGUwkJCSNTTUIvQ0lGUyBmaWxlc3lzdGVtDQojb3B0aW9ucyAJVU1BUEZT
CQkJI1VJRCBtYXAgZmlsZXN5c3RlbQ0KI29wdGlvbnMgCVVOSU9OCQkJI1Vu
aW9uIGZpbGVzeXN0ZW0NCiMgVGhlIHhGU19ST09UIG9wdGlvbnMgUkVRVUlS
RSB0aGUgYXNzb2NpYXRlZCBgYG9wdGlvbnMgeEZTJycNCiNvcHRpb25zIAlD
RDk2NjBfUk9PVAkJI0NELVJPTSB1c2FibGUgYXMgcm9vdCBkZXZpY2UNCm9w
dGlvbnMgCUZGU19ST09UCQkjRkZTIHVzYWJsZSBhcyByb290IGRldmljZQ0K
I29wdGlvbnMgCU5GU19ST09UCQkjTkZTIHVzYWJsZSBhcyByb290IGRldmlj
ZQ0KDQojIFNvZnQgdXBkYXRlcyBpcyB0ZWNobmlxdWUgZm9yIGltcHJvdmlu
ZyBmaWxlIHN5c3RlbSBzcGVlZCBhbmQNCiMgbWFraW5nIGFicnVwdCBzaHV0
ZG93biBsZXNzIHJpc2t5Lg0Kb3B0aW9ucyAJU09GVFVQREFURVMNCg0KIyBE
aXJlY3RvcnkgaGFzaGluZyBpbXByb3ZlcyB0aGUgc3BlZWQgb2Ygb3BlcmF0
aW9ucyBvbiB2ZXJ5IGxhcmdlDQojIGRpcmVjdG9yaWVzIGF0IHRoZSBleHBl
bnNlIG9mIHNvbWUgbWVtb3J5Lg0Kb3B0aW9ucwkJVUZTX0RJUkhBU0gNCg0K
IyBNYWtlIHNwYWNlIGluIHRoZSBrZXJuZWwgZm9yIGEgcm9vdCBmaWxlc3lz
dGVtIG9uIGEgbWQgZGV2aWNlLg0KIyBEZWZpbmUgdG8gdGhlIG51bWJlciBv
ZiBraWxvYnl0ZXMgdG8gcmVzZXJ2ZSBmb3IgdGhlIGZpbGVzeXN0ZW0uDQoj
b3B0aW9ucyAJTURfUk9PVF9TSVpFPTEwDQoNCiMgTWFrZSB0aGUgbWQgZGV2
aWNlIGEgcG90ZW50aWFsIHJvb3QgZGV2aWNlLCBlaXRoZXIgd2l0aCBwcmVs
b2FkZWQNCiMgaW1hZ2VzIG9mIHR5cGUgbWZzX3Jvb3Qgb3IgbWRfcm9vdC4N
CiNvcHRpb25zIAlNRF9ST09UDQoNCiMgU3BlY2lmeSBkb3VibGUgdGhlIGRl
ZmF1bHQgbWF4aW11bSBzaXplIGZvciBtYWxsb2MoOSktYmFja2VkIG1kIGRl
dmljZXMuDQojb3B0aW9ucyAJTURfTlNFQ1Q9NDAwMDANCg0KIyBBbGxvdyB0
aGlzIG1hbnkgc3dhcC1kZXZpY2VzLg0KIw0KIyBJbiBvcmRlciB0byBtYW5h
Z2Ugc3dhcCwgdGhlIHN5c3RlbSBtdXN0IHJlc2VydmUgYml0bWFwIHNwYWNl
IHRoYXQNCiMgc2NhbGVzIHdpdGggdGhlIGxhcmdlc3QgbW91bnRlZCBzd2Fw
IGRldmljZSBtdWx0aXBsaWVkIGJ5IE5TV0FQREVWLCANCiMgaXJyZWdhcmRs
ZXNzIG9mIHdoZXRoZXIgb3RoZXIgc3dhcCBkZXZpY2VzIGV4aXN0IG9yIG5v
dC4gIFNvIGl0DQojIGlzIG5vdCBhIGdvb2QgaWRlYSB0byBtYWtlIHRoaXMg
dmFsdWUgdG9vIGxhcmdlLg0KI29wdGlvbnMgCU5TV0FQREVWPTUNCg0KIyBE
aXNrIHF1b3RhcyBhcmUgc3VwcG9ydGVkIHdoZW4gdGhpcyBvcHRpb24gaXMg
ZW5hYmxlZC4NCiNvcHRpb25zIAlRVU9UQQkJCSNlbmFibGUgZGlzayBxdW90
YXMNCg0KIyBJZiB5b3UgYXJlIHJ1bm5pbmcgYSBtYWNoaW5lIGp1c3QgYXMg
YSBmaWxlc2VydmVyIGZvciBQQyBhbmQgTUFDDQojIHVzZXJzLCB1c2luZyBT
QU1CQSBvciBOZXRhdGFsaywgeW91IG1heSBjb25zaWRlciBzZXR0aW5nIHRo
aXMgb3B0aW9uDQojIGFuZCBrZWVwaW5nIGFsbCB0aG9zZSB1c2VycycgZGly
ZWN0b3JpZXMgb24gYSBmaWxlc3lzdGVtIHRoYXQgaXMNCiMgbW91bnRlZCB3
aXRoIHRoZSBzdWlkZGlyIG9wdGlvbi4gVGhpcyBnaXZlcyBuZXcgZmlsZXMg
dGhlIHNhbWUNCiMgb3duZXJzaGlwIGFzIHRoZSBkaXJlY3RvcnkgKHNpbWls
YXIgdG8gZ3JvdXApLiBJdCdzIGEgc2VjdXJpdHkgaG9sZQ0KIyBpZiB5b3Ug
bGV0IHRoZXNlIHVzZXJzIHJ1biBwcm9ncmFtcywgc28gY29uZmluZSBpdCB0
byBmaWxlLXNlcnZlcnMNCiMgKGJ1dCBpdCdsbCBzYXZlIHlvdSBsb3RzIG9m
IGhlYWRhY2hlcyBpbiB0aG9zZSBjYXNlcykuIFJvb3Qgb3duZWQNCiMgZGly
ZWN0b3JpZXMgYXJlIGV4ZW1wdCBhbmQgWCBiaXRzIGFyZSBjbGVhcmVkLiBU
aGUgc3VpZCBiaXQgbXVzdCBiZQ0KIyBzZXQgb24gdGhlIGRpcmVjdG9yeSBh
cyB3ZWxsOyBzZWUgY2htb2QoMSkgUEMgb3duZXJzIGNhbid0IHNlZS9zZXQN
CiMgb3duZXJzaGlwcyBzbyB0aGV5IGtlZXAgZ2V0dGluZyB0aGVpciB0b2Vz
IHRyb2RkZW4gb24uIFRoaXMgc2F2ZXMNCiMgeW91IGFsbCB0aGUgc3VwcG9y
dCBjYWxscyBhcyB0aGUgZmlsZXN5c3RlbSBpdCdzIHVzZWQgb24gd2lsbCBh
Y3QgYXMNCiMgdGhleSBleHBlY3Q6ICJJdCdzIG15IGRpciBzbyBpdCBtdXN0
IGJlIG15IGZpbGUiLg0KIw0KI29wdGlvbnMgCVNVSURESVINCg0KIyBORlMg
b3B0aW9uczoNCiNvcHRpb25zIAlORlNfTUlOQVRUUlRJTU89MwkjIFZSRUcg
YXR0cmliIGNhY2hlIHRpbWVvdXQgaW4gc2VjDQojb3B0aW9ucyAJTkZTX01B
WEFUVFJUSU1PPTYwDQojb3B0aW9ucyAJTkZTX01JTkRJUkFUVFJUSU1PPTMw
CSMgVkRJUiBhdHRyaWIgY2FjaGUgdGltZW91dCBpbiBzZWMNCiNvcHRpb25z
IAlORlNfTUFYRElSQVRUUlRJTU89NjANCiNvcHRpb25zIAlORlNfR0FUSEVS
REVMQVk9MTAJIyBEZWZhdWx0IHdyaXRlIGdhdGhlciBkZWxheSAobXNlYykN
CiNvcHRpb25zIAlORlNfVUlESEFTSFNJWj0yOQkjIFR1bmUgdGhlIHNpemUg
b2YgbmZzc3ZjX3NvY2sgd2l0aCB0aGlzDQojb3B0aW9ucyAJTkZTX1dERUxB
WUhBU0hTSVo9MTYJIyBhbmQgd2l0aCB0aGlzDQojb3B0aW9ucyAJTkZTX01V
SURIQVNIU0laPTYzCSMgVHVuZSB0aGUgc2l6ZSBvZiBuZnNtb3VudCB3aXRo
IHRoaXMNCiNvcHRpb25zIAlORlNfREVCVUcJCSMgRW5hYmxlIE5GUyBEZWJ1
Z2dpbmcNCg0KIyBDb2RhIHN0dWZmOg0KI29wdGlvbnMgCUNPREEJCQkjQ09E
QSBmaWxlc3lzdGVtLg0KI3BzZXVkby1kZXZpY2UJdmNvZGEJNAkJI2NvZGEg
bWluaWNhY2hlIDwtPiB2ZW51cyBjb21tLg0KDQojDQojIEFkZCBzdXBwb3J0
IGZvciB0aGUgRVhUMkZTIGZpbGVzeXN0ZW0gb2YgTGludXggZmFtZS4gIEJl
IGEgYml0DQojIGNhcmVmdWwgd2l0aCB0aGlzIC0gdGhlIGV4dDJmcyBjb2Rl
IGhhcyBhIHRlbmRlbmN5IHRvIGxhZyBiZWhpbmQNCiMgY2hhbmdlcyBhbmQg
bm90IGJlIGV4ZXJjaXNlZCB2ZXJ5IG11Y2gsIHNvIG1vdW50aW5nIHJlYWQv
d3JpdGUgY291bGQNCiMgYmUgZGFuZ2Vyb3VzIChhbmQgZXZlbiBtb3VudGlu
ZyByZWFkIG9ubHkgY291bGQgcmVzdWx0IGluIHBhbmljcy4pDQojDQojb3B0
aW9ucyAJRVhUMkZTDQoNCiMgVXNlIHJlYWwgaW1wbGVtZW50YXRpb25zIG9m
IHRoZSBhaW9fKiBzeXN0ZW0gY2FsbHMuICBUaGVyZSBhcmUgbnVtZXJvdXMN
CiMgc3RhYmlsaXR5IGFuZCBzZWN1cml0eSBpc3N1ZXMgaW4gdGhlIGN1cnJl
bnQgYWlvIGNvZGUgdGhhdCBtYWtlIGl0DQojIHVuc3VpdGFibGUgZm9yIGlu
Y2x1c2lvbiBvbiBtYWNoaW5lcyB3aXRoIHVudHJ1c3RlZCBsb2NhbCB1c2Vy
cy4NCiNvcHRpb25zIAlWRlNfQUlPDQoNCgwNCiMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIw0KIyBQT1NJWCBQMTAwMy4xQg0KDQojIFJlYWwgdGltZSBleHRl
bnNpb25zIGFkZGVkIGluIHRoZSAxOTkzIFBvc2l4DQojIFAxMDAzXzFCOiBJ
bmZyYXN0cnVjdHVyZQ0KIyBfS1BPU0lYX1BSSU9SSVRZX1NDSEVEVUxJTkc6
IEJ1aWxkIGluIF9QT1NJWF9QUklPUklUWV9TQ0hFRFVMSU5HDQojIF9LUE9T
SVhfVkVSU0lPTjogICAgICAgICAgICAgVmVyc2lvbiBrZXJuZWwgaXMgYnVp
bHQgZm9yDQoNCm9wdGlvbnMgCVAxMDAzXzFCDQpvcHRpb25zIAlfS1BPU0lY
X1BSSU9SSVRZX1NDSEVEVUxJTkcNCm9wdGlvbnMgCV9LUE9TSVhfVkVSU0lP
Tj0xOTkzMDlMDQoNCgwNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBD
TE9DSyBPUFRJT05TDQoNCiMgVGhlIGdyYW51bGFyaXR5IG9mIG9wZXJhdGlv
biBpcyBjb250cm9sbGVkIGJ5IHRoZSBrZXJuZWwgb3B0aW9uIEhaIHdob3Nl
DQojIGRlZmF1bHQgdmFsdWUgKDEwMCkgbWVhbnMgYSBncmFudWxhcml0eSBv
ZiAxMG1zICgxcy9IWikuDQojIFNvbWUgc3Vic3lzdGVtcywgc3VjaCBhcyBE
VU1NWU5FVCBvciBERVZJQ0VfUE9MTElORywgbWlnaHQgYmVuZWZpdCBmcm9t
DQojIGEgc21hbGxlciBncmFudWxhcml0eSBzdWNoIGFzIDFtcyBvciBsZXNz
Lg0KIyBDb25zaWRlciwgaG93ZXZlciwgdGhhdCByZWR1Y2luZyB0aGUgZ3Jh
bnVsYXJpdHkgdG9vIG11Y2ggbWlnaHQNCiMgY2F1c2UgZXhjZXNzaXZlIG92
ZXJoZWFkIGluIGNsb2NrIGludGVycnVwdCBwcm9jZXNzaW5nLA0KIyBwb3Rl
bnRpYWxseSBjYXVzaW5nIHRpY2tzIHRvIGJlIG1pc3NlZCBhbmQgdGh1cyBh
Y3R1YWxseSByZWR1Y2luZw0KIyB0aGUgYWNjdXJhY3kgb2Ygb3BlcmF0aW9u
Lg0KDQpvcHRpb25zIAlIWj0xMDAwDQoNCiMgVGhlIGZvbGxvd2luZyBvcHRp
b25zIGFyZSB1c2VkIGZvciBkZWJ1Z2dpbmcgY2xvY2sgYmVoYXZpb3Igb25s
eSwgYW5kDQojIHNob3VsZCBub3QgYmUgdXNlZCBmb3IgcHJvZHVjdGlvbiBz
eXN0ZW1zLg0KIyANCiMgQ0xLX0NBTElCUkFUSU9OX0xPT1Agd2lsbCBydW4g
dGhlIGNsb2NrIGNhbGlicmF0aW9uIGxvb3AgYXQgc3RhcnR1cA0KIyB1bnRp
bCB0aGUgdXNlciBwcmVzc2VzIGEga2V5Lg0KDQojb3B0aW9ucyAJQ0xLX0NB
TElCUkFUSU9OX0xPT1ANCg0KIyBUaGUgZm9sbG93aW5nIHR3byBvcHRpb25z
IG1lYXN1cmUgdGhlIGZyZXF1ZW5jeSBvZiB0aGUgY29ycmVzcG9uZGluZw0K
IyBjbG9jayByZWxhdGl2ZSB0byB0aGUgUlRDIChvbmJvYXJkIG1jMTQ2ODE4
YSkuDQoNCiNvcHRpb25zIAlDTEtfVVNFX0k4MjU0X0NBTElCUkFUSU9ODQoj
b3B0aW9ucyAJQ0xLX1VTRV9UU0NfQ0FMSUJSQVRJT04NCg0KDA0KIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjDQojIFNDU0kgREVWSUNFUw0KDQojIFNDU0kg
REVWSUNFIENPTkZJR1VSQVRJT04NCg0KIyBUaGUgU0NTSSBzdWJzeXN0ZW0g
Y29uc2lzdHMgb2YgdGhlIGBiYXNlJyBTQ1NJIGNvZGUsIGEgbnVtYmVyIG9m
DQojIGhpZ2gtbGV2ZWwgU0NTSSBkZXZpY2UgYHR5cGUnIGRyaXZlcnMsIGFu
ZCB0aGUgbG93LWxldmVsIGhvc3QtYWRhcHRlcg0KIyBkZXZpY2UgZHJpdmVy
cy4gIFRoZSBob3N0IGFkYXB0ZXJzIGFyZSBsaXN0ZWQgaW4gdGhlIElTQSBh
bmQgUENJDQojIGRldmljZSBjb25maWd1cmF0aW9uIHNlY3Rpb25zIGJlbG93
Lg0KIw0KIyBCZWdpbm5pbmcgd2l0aCBGcmVlQlNEIDIuMC41IHlvdSBjYW4g
d2lyZSBkb3duIHlvdXIgU0NTSSBkZXZpY2VzIHNvDQojIHRoYXQgYSBnaXZl
biBidXMsIHRhcmdldCwgYW5kIExVTiBhbHdheXMgY29tZSBvbiBsaW5lIGFz
IHRoZSBzYW1lDQojIGRldmljZSB1bml0LiAgSW4gZWFybGllciB2ZXJzaW9u
cyB0aGUgdW5pdCBudW1iZXJzIHdlcmUgYXNzaWduZWQNCiMgaW4gdGhlIG9y
ZGVyIHRoYXQgdGhlIGRldmljZXMgd2VyZSBwcm9iZWQgb24gdGhlIFNDU0kg
YnVzLiAgVGhpcw0KIyBtZWFucyB0aGF0IGlmIHlvdSByZW1vdmVkIGEgZGlz
ayBkcml2ZSwgeW91IG1heSBoYXZlIGhhZCB0byByZXdyaXRlDQojIHlvdXIg
L2V0Yy9mc3RhYiBmaWxlLCBhbmQgYWxzbyB0aGF0IHlvdSBoYWQgdG8gYmUg
Y2FyZWZ1bCB3aGVuIGFkZGluZw0KIyBhIG5ldyBkaXNrIGFzIGl0IG1heSBo
YXZlIGJlZW4gcHJvYmVkIGVhcmxpZXIgYW5kIG1vdmVkIHlvdXIgZGV2aWNl
DQojIGNvbmZpZ3VyYXRpb24gYXJvdW5kLg0KDQojIFRoaXMgb2xkIGJlaGF2
aW9yIGlzIG1haW50YWluZWQgYXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IuICBU
aGUgdW5pdA0KIyBhc3NpZ25tZW50IGJlZ2lucyB3aXRoIHRoZSBmaXJzdCBu
b24td2lyZWQgZG93biB1bml0IGZvciBhIGRldmljZQ0KIyB0eXBlLiAgRm9y
IGV4YW1wbGUsIGlmIHlvdSB3aXJlIGEgZGlzayBhcyAiZGEzIiB0aGVuIHRo
ZSBmaXJzdA0KIyBub24td2lyZWQgZGlzayB3aWxsIGJlIGFzc2lnbmVkIGRh
NC4NCg0KIyBUaGUgc3ludGF4IGZvciB3aXJpbmcgZG93biBkZXZpY2VzIGlz
Og0KDQojIGRldmljZQlzY2J1czAgYXQgYWhjMAkJIyBTaW5nbGUgYnVzIGRl
dmljZQ0KIyBkZXZpY2UJc2NidXMxIGF0IGFoYzEgYnVzIDAJIyBTaW5nbGUg
YnVzIGRldmljZQ0KIyBkZXZpY2UJc2NidXMzIGF0IGFoYzIgYnVzIDAJIyBU
d2luIGJ1cyBkZXZpY2UNCiMgZGV2aWNlCXNjYnVzMiBhdCBhaGMyIGJ1cyAx
CSMgVHdpbiBidXMgZGV2aWNlDQojIGRldmljZSAJZGEwIGF0IHNjYnVzMCB0
YXJnZXQgMCB1bml0IDANCiMgZGV2aWNlCWRhMSBhdCBzY2J1czMgdGFyZ2V0
IDENCiMgZGV2aWNlCWRhMiBhdCBzY2J1czIgdGFyZ2V0IDMNCiMgZGV2aWNl
CXNhMSBhdCBzY2J1czEgdGFyZ2V0IDYNCiMgZGV2aWNlCWNkDQoNCiMgInVu
aXRzIiAoU0NTSSBsb2dpY2FsIHVuaXQgbnVtYmVyKSB0aGF0IGFyZSBub3Qg
c3BlY2lmaWVkIGFyZQ0KIyB0cmVhdGVkIGFzIGlmIHNwZWNpZmllZCBhcyBM
VU4gMC4NCg0KIyBBbGwgU0NTSSBkZXZpY2VzIGFsbG9jYXRlIGFzIG1hbnkg
dW5pdHMgYXMgYXJlIHJlcXVpcmVkLg0KDQojIFRoZSAidW5rbm93biIgZGV2
aWNlICh1az8gaW4gcHJlLTIuMC41KSBpcyBub3cgcGFydCBvZiB0aGUgYmFz
ZSBTQ1NJDQojIGNvbmZpZ3VyYXRpb24gYW5kIGRvZXNuJ3QgaGF2ZSB0byBi
ZSBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuDQoNCmRldmljZQkJc2NidXMJCQkj
YmFzZSBTQ1NJIGNvZGUNCiNkZXZpY2UJCWNoCQkJI1NDU0kgbWVkaWEgY2hh
bmdlcnMNCmRldmljZQkJZGEJCQkjU0NTSSBkaXJlY3QgYWNjZXNzIGRldmlj
ZXMgKGFrYSBkaXNrcykNCiNkZXZpY2UJCXNhCQkJI1NDU0kgdGFwZXMNCiNk
ZXZpY2UJCWNkCQkJI1NDU0kgQ0QtUk9Ncw0KI2RldmljZQkJcGFzcwkJCSND
QU0gcGFzc3Rocm91Z2ggZHJpdmVyDQojZGV2aWNlCQlwdAkJCSNTQ1NJIHBy
b2Nlc3NvciB0eXBlDQojZGV2aWNlCQlzZXMJCQkjU0NTSSBTRVMvU0FGLVRF
IGRyaXZlcg0KDQojIENBTSBPUFRJT05TOg0KIyBkZWJ1Z2dpbmcgb3B0aW9u
czoNCiMgLS0gTk9URSAtLSAgSWYgeW91IHNwZWNpZnkgb25lIG9mIHRoZSBi
dXMvdGFyZ2V0L2x1biBvcHRpb25zLCB5b3UgbXVzdA0KIyAgICAgICAgICAg
ICBzcGVjaWZ5IHRoZW0gYWxsIQ0KIyBDQU1ERUJVRzogV2hlbiBkZWZpbmVk
IGVuYWJsZXMgZGVidWdnaW5nIG1hY3Jvcw0KIyBDQU1fREVCVUdfQlVTOiAg
RGVidWcgdGhlIGdpdmVuIGJ1cy4gIFVzZSAtMSB0byBkZWJ1ZyBhbGwgYnVz
c2VzLg0KIyBDQU1fREVCVUdfVEFSR0VUOiAgRGVidWcgdGhlIGdpdmVuIHRh
cmdldC4gIFVzZSAtMSB0byBkZWJ1ZyBhbGwgdGFyZ2V0cy4NCiMgQ0FNX0RF
QlVHX0xVTjogIERlYnVnIHRoZSBnaXZlbiBsdW4uICBVc2UgLTEgdG8gZGVi
dWcgYWxsIGx1bnMuDQojIENBTV9ERUJVR19GTEFHUzogIE9SIHRvZ2V0aGVy
IENBTV9ERUJVR19JTkZPLCBDQU1fREVCVUdfVFJBQ0UsDQojICAgICAgICAg
ICAgICAgICAgIENBTV9ERUJVR19TVUJUUkFDRSwgYW5kIENBTV9ERUJVR19D
REINCiMNCiMgQ0FNX01BWF9ISUdIUE9XRVI6IE1heGltdW0gbnVtYmVyIG9m
IGNvbmN1cnJlbnQgaGlnaCBwb3dlciAoc3RhcnQgdW5pdCkgY21kcw0KIyBT
Q1NJX05PX1NFTlNFX1NUUklOR1M6IFdoZW4gZGVmaW5lZCBkaXNhYmxlcyBz
ZW5zZSBkZXNjcmlwdGlvbnMNCiMgU0NTSV9OT19PUF9TVFJJTkdTOiBXaGVu
IGRlZmluZWQgZGlzYWJsZXMgb3Bjb2RlIGRlc2NyaXB0aW9ucw0KIyBTQ1NJ
X0RFTEFZOiBUaGUgbnVtYmVyIG9mIE1JTExJU0VDT05EUyB0byBmcmVlemUg
dGhlIFNJTSAoc2NzaSBhZGFwdGVyKQ0KIyAgICAgICAgICAgICBxdWV1ZSBh
ZnRlciBhIGJ1cyByZXNldCwgYW5kIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNv
bmRzIHRvDQojICAgICAgICAgICAgIGZyZWV6ZSB0aGUgZGV2aWNlIHF1ZXVl
IGFmdGVyIGEgYnVzIGRldmljZSByZXNldC4NCiNvcHRpb25zIAlDQU1ERUJV
Rw0KI29wdGlvbnMgCUNBTV9ERUJVR19CVVM9LTENCiNvcHRpb25zIAlDQU1f
REVCVUdfVEFSR0VUPS0xDQojb3B0aW9ucyAJQ0FNX0RFQlVHX0xVTj0tMQ0K
I29wdGlvbnMgCUNBTV9ERUJVR19GTEFHUz0iQ0FNX0RFQlVHX0lORk98Q0FN
X0RFQlVHX1RSQUNFfENBTV9ERUJVR19DREIiDQojb3B0aW9ucyAJQ0FNX01B
WF9ISUdIUE9XRVI9NA0KI29wdGlvbnMgCVNDU0lfTk9fU0VOU0VfU1RSSU5H
Uw0KI29wdGlvbnMgCVNDU0lfTk9fT1BfU1RSSU5HUw0KI29wdGlvbnMgCVND
U0lfREVMQVk9ODAwMAkjIEJlIHBlc3NpbWlzdGljIGFib3V0IEpvZSBTQ1NJ
IGRldmljZQ0KDQojIE9wdGlvbnMgZm9yIHRoZSBDQU0gQ0RST00gZHJpdmVy
Og0KIyBDSEFOR0VSX01JTl9CVVNZX1NFQ09ORFM6IEd1YXJhbnRlZWQgbWlu
aW11bSB0aW1lIHF1YW50dW0gZm9yIGEgY2hhbmdlciBMVU4NCiMgQ0hBTkdF
Ul9NQVhfQlVTWV9TRUNPTkRTOiBNYXhpbXVtIHRpbWUgcXVhbnR1bSBwZXIg
Y2hhbmdlciBMVU4sIG9ubHkNCiMgICAgICAgICAgICAgICAgICAgICAgICAg
ICBlbmZvcmNlZCBpZiB0aGVyZSBpcyBJL08gd2FpdGluZyBmb3IgYW5vdGhl
ciBMVU4NCiMgVGhlIGNvbXBpbGVkIGluIGRlZmF1bHRzIGZvciB0aGVzZSB2
YXJpYWJsZXMgYXJlIDIgYW5kIDEwIHNlY29uZHMsDQojIHJlc3BlY3RpdmVs
eS4NCiMNCiMgVGhlc2UgY2FuIGFsc28gYmUgY2hhbmdlZCBvbiB0aGUgZmx5
IHdpdGggdGhlIGZvbGxvd2luZyBzeXNjdGwgdmFyaWFibGVzOg0KIyBrZXJu
LmNhbS5jZC5jaGFuZ2VyLm1pbl9idXN5X3NlY29uZHMNCiMga2Vybi5jYW0u
Y2QuY2hhbmdlci5tYXhfYnVzeV9zZWNvbmRzDQojDQojb3B0aW9ucyAJQ0hB
TkdFUl9NSU5fQlVTWV9TRUNPTkRTPTINCiNvcHRpb25zIAlDSEFOR0VSX01B
WF9CVVNZX1NFQ09ORFM9MTANCg0KIyBPcHRpb25zIGZvciB0aGUgQ0FNIHNl
cXVlbnRpYWwgYWNjZXNzIGRyaXZlcjoNCiMgU0FfSU9fVElNRU9VVDogVGlt
ZW91dCBmb3IgcmVhZC93cml0ZS93Zm0gIG9wZXJhdGlvbnMsIGluIG1pbnV0
ZXMNCiMgU0FfU1BBQ0VfVElNRU9VVDogVGltZW91dCBmb3Igc3BhY2Ugb3Bl
cmF0aW9ucywgaW4gbWludXRlcw0KIyBTQV9SRVdJTkRfVElNRU9VVDogVGlt
ZW91dCBmb3IgcmV3aW5kIG9wZXJhdGlvbnMsIGluIG1pbnV0ZXMNCiMgU0Ff
RVJBU0VfVElNRU9VVDogVGltZW91dCBmb3IgZXJhc2Ugb3BlcmF0aW9ucywg
aW4gbWludXRlcw0KIyBTQV8xRk1fQVRfRU9EOiBEZWZhdWx0IHRvIG1vZGVs
IHdoaWNoIG9ubHkgaGFzIGEgZGVmYXVsdCBvbmUgZmlsZW1hcmsgYXQgRU9U
Lg0KI29wdGlvbnMgCVNBX0lPX1RJTUVPVVQ9Iig0KSINCiNvcHRpb25zIAlT
QV9TUEFDRV9USU1FT1VUPSIoNjApIg0KI29wdGlvbnMgCVNBX1JFV0lORF9U
SU1FT1VUPSIoMio2MCkiDQojb3B0aW9ucyAJU0FfRVJBU0VfVElNRU9VVD0i
KDQqNjApIg0KI29wdGlvbnMgCVNBXzFGTV9BVF9FT0QNCg0KIyBPcHRpb25h
bCB0aW1lb3V0IGZvciB0aGUgQ0FNIHByb2Nlc3NvciB0YXJnZXQgKHB0KSBk
ZXZpY2UNCiMgVGhpcyBpcyBzcGVjaWZpZWQgaW4gc2Vjb25kcy4gIFRoZSBk
ZWZhdWx0IGlzIDYwIHNlY29uZHMuDQojb3B0aW9ucyAJU0NTSV9QVF9ERUZB
VUxUX1RJTUVPVVQ9IjYwIg0KDQojIE9wdGlvbmFsIGVuYWJsZSBvZiBkb2lu
ZyBTRVMgcGFzc3Rocm91Z2ggb24gb3RoZXIgZGV2aWNlcyAoZS5nLiwgZGlz
a3MpDQojDQojIE5vcm1hbGx5IGRpc2FibGVkIGJlY2F1c2UgYSBsb3Qgb2Yg
bmV3ZXIgU0NTSSBkaXNrcyByZXBvcnQgdGhlbXNlbHZlcw0KIyBhcyBoYXZp
bmcgU0VTIGNhcGFiaWxpdGllcywgYnV0IHRoaXMgY2FuIHRoZW4gY2xvdCB1
cCBhdHRlbXB0cyB0byBidWlsZA0KIyBidWlsZCBhIHRvcG9sb2d5IHdpdGgg
dGhlIFNFUyBkZXZpY2UgdGhhdCdzIG9uIHRoZSBib3ggdGhlc2UgZHJpdmVz
DQojIGFyZSBpbi4uLi4NCiNvcHRpb25zCQlTRVNfRU5BQkxFX1BBU1NUSFJP
VUdIDQoNCgwNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBNSVNDRUxM
QU5FT1VTIERFVklDRVMgQU5EIE9QVElPTlMNCg0KIyBUaGUgYHB0eScgZGV2
aWNlIHVzdWFsbHkgdHVybnMgb3V0IHRvIGJlIGBgZWZmZWN0aXZlbHkgbWFu
ZGF0b3J5JycsDQojIGFzIGl0IGlzIHJlcXVpcmVkIGZvciBgdGVsbmV0ZCcs
IGBybG9naW5kJywgYHNjcmVlbicsIGBlbWFjcycsIGFuZA0KIyBgeHRlcm0n
LCBhbW9uZyBvdGhlcnMuDQoNCnBzZXVkby1kZXZpY2UJcHR5CQkjUHNldWRv
IHR0eXMNCnBzZXVkby1kZXZpY2UJc3BlYWtlcgkJI1BsYXkgSUJNIEJBU0lD
LXN0eWxlIG5vaXNlcyBvdXQgeW91ciBzcGVha2VyDQojcHNldWRvLWRldmlj
ZQlnemlwCQkjRXhlYyBnemlwcGVkIGEub3V0J3MNCiNwc2V1ZG8tZGV2aWNl
CXZuCQkjVm5vZGUgZHJpdmVyICh0dXJucyBhIGZpbGUgaW50byBhIGRldmlj
ZSkNCiNwc2V1ZG8tZGV2aWNlCW1kCQkjTWVtb3J5L21hbGxvYyBkaXNrDQoj
cHNldWRvLWRldmljZQlzbnAJCSNTbm9vcCBkZXZpY2UgLSB0byBsb29rIGF0
IHB0eS92dHkvZXRjLi4NCiNwc2V1ZG8tZGV2aWNlCWNjZAk0CSNDb25jYXRl
bmF0ZWQgZGlzayBkcml2ZXINCg0KIyBDb25maWd1cmluZyBWaW51bSBpbnRv
IHRoZSBrZXJuZWwgaXMgbm90IG5lY2Vzc2FyeSwgc2luY2UgdGhlIGtsZA0K
IyBtb2R1bGUgZ2V0cyBzdGFydGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB2aW51
bSg4KSBzdGFydHMuICBUaGlzDQojIGRldmljZSBpcyBhbHNvIHVudGVzdGVk
LiAgVXNlIGF0IHlvdXIgb3duIHJpc2suDQojDQojIFRoZSBvcHRpb24gVklO
VU1ERUJVRyBtdXN0IG1hdGNoIHRoZSB2YWx1ZSBzZXQgaW4gQ0ZMQUdTDQoj
IGluIHNyYy9zYmluL3ZpbnVtL01ha2VmaWxlLiAgRmFpbHVyZSB0byBkbyBz
byB3aWxsIHJlc3VsdCBpbg0KIyB0aGUgZm9sbG93aW5nIG1lc3NhZ2UgZnJv
bSB2aW51bSg4KToNCiMNCiMgQ2FuJ3QgZ2V0IHZpbnVtIGNvbmZpZzogSW52
YWxpZCBhcmd1bWVudA0KIw0KIyBzZWUgdmludW0oNCkgZm9yIG1vcmUgcmVh
c29ucyBub3QgdG8gdXNlIHRoZXNlIG9wdGlvbnMuDQojcHNldWRvLWRldmlj
ZQl2aW51bQkJI1ZpbnVtIGNvbmNhdC9taXJyb3IvcmFpZCBkcml2ZXINCiNv
cHRpb25zIAlWSU5VTURFQlVHCSNlbmFibGUgVmludW0gZGVidWdnaW5nIGhv
b2tzDQoNCiMgS2VybmVsIHNpZGUgaWNvbnYgbGlicmFyeQ0KI29wdGlvbnMg
CUxJQklDT05WDQoNCiMgU2l6ZSBvZiB0aGUga2VybmVsIG1lc3NhZ2UgYnVm
ZmVyLiAgU2hvdWxkIGJlIE4gKiBwYWdlc2l6ZS4NCiNvcHRpb25zIAlNU0dC
VUZfU0laRT00MDk2MA0KDQoMDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN
CiMgSEFSRFdBUkUgREVWSUNFIENPTkZJR1VSQVRJT04NCg0KIyBJU0EgYW5k
IEVJU0EgZGV2aWNlczoNCiMgRUlTQSBzdXBwb3J0IGlzIGF2YWlsYWJsZSBm
b3Igc29tZSBkZXZpY2UsIHNvIHRoZXkgY2FuIGJlIGF1dG8tcHJvYmVkLg0K
IyBNaWNyb0NoYW5uZWwgKE1DQSkgc3VwcG9ydCBpcyBhdmFpbGFibGUgZm9y
IHNvbWUgZGV2aWNlcy4NCg0KIw0KIyBNYW5kYXRvcnkgSVNBIGRldmljZXM6
IGlzYSwgbnB4DQojDQpkZXZpY2UJCWlzYQ0KDQojDQojIE9wdGlvbnMgZm9y
IGBpc2EnOg0KIw0KIyBBVVRPX0VPSV8xIGVuYWJsZXMgdGhlIGBhdXRvbWF0
aWMgRU9JJyBmZWF0dXJlIGZvciB0aGUgbWFzdGVyIDgyNTlBDQojIGludGVy
cnVwdCBjb250cm9sbGVyLiAgVGhpcyBzYXZlcyBhYm91dCAwLjctMS4yNSB1
c2VjIGZvciBlYWNoIGludGVycnVwdC4NCiMgVGhpcyBvcHRpb24gYnJlYWtz
IHN1c3BlbmQvcmVzdW1lIG9uIHNvbWUgcG9ydGFibGVzLg0KIw0KIyBBVVRP
X0VPSV8yIGVuYWJsZXMgdGhlIGBhdXRvbWF0aWMgRU9JJyBmZWF0dXJlIGZv
ciB0aGUgc2xhdmUgODI1OUENCiMgaW50ZXJydXB0IGNvbnRyb2xsZXIuICBU
aGlzIHNhdmVzIGFib3V0IDAuNy0xLjI1IHVzZWMgZm9yIGVhY2ggaW50ZXJy
dXB0Lg0KIyBBdXRvbWF0aWMgRU9JIGlzIGRvY3VtZW50ZWQgbm90IHRvIHdv
cmsgZm9yIGZvciB0aGUgc2xhdmUgd2l0aCB0aGUNCiMgb3JpZ2luYWwgaTgy
NTlBLCBidXQgaXQgd29ya3MgZm9yIHNvbWUgY2xvbmVzIGFuZCBzb21lIGlu
dGVncmF0ZWQNCiMgdmVyc2lvbnMuDQojDQojIE1BWE1FTSBzcGVjaWZpZXMg
dGhlIGFtb3VudCBvZiBSQU0gb24gdGhlIG1hY2hpbmU7IGlmIHRoaXMgaXMg
bm90DQojIHNwZWNpZmllZCwgRnJlZUJTRCB3aWxsIGZpcnN0IHJlYWQgdGhl
IGFtb3VudCBvZiBtZW1vcnkgZnJvbSB0aGUgQ01PUw0KIyBSQU0sIHNvIHRo
ZSBhbW91bnQgb2YgbWVtb3J5IHdpbGwgaW5pdGlhbGx5IGJlIGxpbWl0ZWQg
dG8gNjRNQiBvciAxNk1CDQojIGRlcGVuZGluZyBvbiB0aGUgQklPUy4gIElm
IHRoZSBCSU9TIHJlcG9ydHMgNjRNQiwgYSBtZW1vcnkgcHJvYmUgd2lsbA0K
IyB0aGVuIGF0dGVtcHQgdG8gZGV0ZWN0IHRoZSBpbnN0YWxsZWQgYW1vdW50
IG9mIFJBTS4gIElmIHRoaXMgcHJvYmUNCiMgZmFpbHMgdG8gZGV0ZWN0ID42
NE1CIFJBTSB5b3Ugd2lsbCBoYXZlIHRvIHVzZSB0aGUgTUFYTUVNIG9wdGlv
bi4NCiMgVGhlIGFtb3VudCBpcyBpbiBraWxvYnl0ZXMsIHNvIGZvciBhIG1h
Y2hpbmUgd2l0aCAxMjhNQiBvZiBSQU0sIGl0IHdvdWxkDQojIGJlIDEzMTA3
MiAoMTI4ICogMTAyNCkuDQojDQojIEJST0tFTl9LRVlCT0FSRF9SRVNFVCBk
aXNhYmxlcyB0aGUgdXNlIG9mIHRoZSBrZXlib2FyZCBjb250cm9sbGVyIHRv
DQojIHJlc2V0IHRoZSBDUFUgZm9yIHJlYm9vdC4gIFRoaXMgaXMgbmVlZGVk
IG9uIHNvbWUgc3lzdGVtcyB3aXRoIGJyb2tlbg0KIyBrZXlib2FyZCBjb250
cm9sbGVycy4NCiMNCiMgUEFTX0pPWVNUSUNLX0VOQUJMRSBlbmFibGVzIHRo
ZSBnYW1lcG9ydCBvbiB0aGUgUHJvQXVkaW8gU3BlY3RydW0NCg0KI29wdGlv
bnMgCUFVVE9fRU9JXzENCiNvcHRpb25zIAlBVVRPX0VPSV8yDQojb3B0aW9u
cyAJTUFYTUVNPSIoMTI4KjEwMjQpIg0KI29wdGlvbnMgCUJST0tFTl9LRVlC
T0FSRF9SRVNFVA0KI29wdGlvbnMgCVBBU19KT1lTVElDS19FTkFCTEUNCg0K
IyBFbmFibGUgc3VwcG9ydCBmb3IgdGhlIGtlcm5lbCBQTEwgdG8gdXNlIGFu
IGV4dGVybmFsIFBQUyBzaWduYWwsDQojIHVuZGVyIHN1cGVydmlzaW9uIG9m
IFt4XW50cGQoOCkNCiMgTW9yZSBpbmZvIGluIG50cGQgZG9jdW1lbnRhdGlv
bjogaHR0cDovL3d3dy5lZWNpcy51ZGVsLmVkdS9+bnRwDQoNCiNvcHRpb25z
IAlQUFNfU1lOQw0KDQojIElmIHlvdSBzZWUgdGhlICJjYWxjcnU6IG5lZ2F0
aXZlIHRpbWUgb2YgJWxkIHVzZWMgZm9yIHBpZCAlZCAoJXMpXG4iDQojIG1l
c3NhZ2UgeW91IHByb2JhYmx5IGhhdmUgc29tZSBicm9rZW4gc3cvaHcgd2hp
Y2ggZGlzYWJsZXMgaW50ZXJydXB0cw0KIyBmb3IgdG9vIGxvbmcuICBZb3Ug
Y2FuIG1ha2UgdGhlIHN5c3RlbSBtb3JlIHJlc2lzdGFudCB0byB0aGlzIGJ5
DQojIGNob29zaW5nIGEgaGlnaCB2YWx1ZSBmb3IgTlRJTUVDT1VOVEVSLiAg
VGhlIGRlZmF1bHQgaXMgNSwgdGhlcmUNCiMgaXMgbm8gdXBwZXIgbGltaXQg
YnV0IG1vcmUgdGhhbiBhIGNvdXBsZSBvZiBodW5kcmVkIGFyZSBub3QgcHJv
ZHVjdGl2ZS4NCiMgQSBiZXR0ZXIgc3RyYXRlZ3kgbWF5IGJlIHRvIHN5c2N0
bCAtdyBrZXJuLnRpbWVjb3VudGVyLm1ldGhvZD0xDQoNCiNvcHRpb25zIAlO
VElNRUNPVU5URVI9MjANCg0KIyBUaGUga2V5Ym9hcmQgY29udHJvbGxlcjsg
aXQgY29udHJvbHMgdGhlIGtleWJvYXJkIGFuZCB0aGUgUFMvMiBtb3VzZS4N
CmRldmljZQkJYXRrYmRjMAlhdCBpc2E/IHBvcnQgSU9fS0JEDQoNCiMgVGhl
IEFUIGtleWJvYXJkDQpkZXZpY2UJCWF0a2JkMAlhdCBhdGtiZGM/IGlycSAx
DQoNCiMgT3B0aW9ucyBmb3IgYXRrYmQ6DQojb3B0aW9ucyAJQVRLQkRfREZM
VF9LRVlNQVAJIyBzcGVjaWZ5IHRoZSBidWlsdC1pbiBrZXltYXANCiNtYWtl
b3B0aW9ucwlBVEtCRF9ERkxUX0tFWU1BUD0ianAuMTA2Ig0KDQojIFRoZXNl
IG9wdGlvbnMgYXJlIHZhbGlkIGZvciBvdGhlciBrZXlib2FyZCBkcml2ZXJz
IGFzIHdlbGwuDQojb3B0aW9ucyAJS0JEX0RJU0FCTEVfS0VZTUFQX0xPQUQJ
IyByZWZ1c2UgdG8gbG9hZCBhIGtleW1hcA0KI29wdGlvbnMgCUtCRF9JTlNU
QUxMX0NERVYJIyBpbnN0YWxsIGEgQ0RFViBlbnRyeSBpbiAvZGV2DQoNCiMg
YGZsYWdzJyBmb3IgYXRrYmQ6DQojICAgICAgIDB4MDEgICAgRm9yY2UgZGV0
ZWN0aW9uIG9mIGtleWJvYXJkLCBlbHNlIHdlIGFsd2F5cyBhc3N1bWUgYSBr
ZXlib2FyZA0KIyAgICAgICAweDAyICAgIERvbid0IHJlc2V0IGtleWJvYXJk
LCB1c2VmdWwgZm9yIHNvbWUgbmV3ZXIgVGhpbmtQYWRzDQojCTB4MDMJRm9y
Y2UgZGV0ZWN0aW9uIGFuZCBhdm9pZCByZXNldCwgbWlnaHQgaGVscCB3aXRo
IGNlcnRhaW4NCiMJCWRvY2tpbmdzdGF0aW9ucw0KIyAgICAgICAweDA0ICAg
IE9sZC1zdHlsZSAoWFQpIGtleWJvYXJkIHN1cHBvcnQsIHVzZWZ1bCBmb3Ig
b2xkZXIgVGhpbmtQYWRzDQoNCiMgUFMvMiBtb3VzZQ0KZGV2aWNlCQlwc20w
CWF0IGF0a2JkYz8gaXJxIDEyDQoNCiMgT3B0aW9ucyBmb3IgcHNtOg0KI29w
dGlvbnMgCVBTTV9IT09LUkVTVU1FCQkjaG9vayB0aGUgc3lzdGVtIHJlc3Vt
ZSBldmVudCwgdXNlZnVsDQoJCQkJCSNmb3Igc29tZSBsYXB0b3BzDQojb3B0
aW9ucyAJUFNNX1JFU0VUQUZURVJTVVNQRU5ECSNyZXNldCB0aGUgZGV2aWNl
IGF0IHRoZSByZXN1bWUgZXZlbnQNCg0KIyBUaGUgdmlkZW8gY2FyZCBkcml2
ZXIuDQpkZXZpY2UJCXZnYTAJYXQgaXNhPw0KDQojIE9wdGlvbnMgZm9yIHZn
YToNCiMgVHJ5IHRoZSBmb2xsb3dpbmcgb3B0aW9uIGlmIHRoZSBtb3VzZSBw
b2ludGVyIGlzIG5vdCBkcmF3biBjb3JyZWN0bHkNCiMgb3IgZm9udCBkb2Vz
IG5vdCBzZWVtIHRvIGJlIGxvYWRlZCBwcm9wZXJseS4gIE1heSBjYXVzZSBm
bGlja2VyIG9uDQojIHNvbWUgc3lzdGVtcy4NCiNvcHRpb25zIAlWR0FfQUxU
X1NFUUFDQ0VTUw0KDQojIElmIHlvdSBjYW4gZGlzcGVuc2Ugd2l0aCBzb21l
IHZnYSBkcml2ZXIgZmVhdHVyZXMsIHlvdSBtYXkgd2FudCB0bw0KIyB1c2Ug
dGhlIGZvbGxvd2luZyBvcHRpb25zIHRvIHNhdmUgc29tZSBtZW1vcnkuDQoj
b3B0aW9ucyAJVkdBX05PX0ZPTlRfTE9BRElORwkjIGRvbid0IHNhdmUvbG9h
ZCBmb250DQojb3B0aW9ucyAJVkdBX05PX01PREVfQ0hBTkdFCSMgZG9uJ3Qg
Y2hhbmdlIHZpZGVvIG1vZGVzDQoNCiMgT2xkZXIgdmlkZW8gY2FyZHMgbWF5
IHJlcXVpcmUgdGhpcyBvcHRpb24gZm9yIHByb3BlciBvcGVyYXRpb24uDQoj
b3B0aW9ucyAJVkdBX1NMT1dfSU9BQ0NFU1MJIyBkbyBieXRlLXdpZGUgaS9v
J3MgdG8gVFMgYW5kIEdEQyByZWdzDQoNCiMgVGhlIGZvbGxvd2luZyBvcHRp
b24gcHJvYmFibHkgd29uJ3Qgd29yayB3aXRoIHRoZSBMQ0QgZGlzcGxheXMu
DQpvcHRpb25zIAlWR0FfV0lEVEg5MAkJIyBzdXBwb3J0IDkwIGNvbHVtbiBt
b2Rlcw0KDQojIFRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgVkVTQSB2aWRlbyBt
b2Rlcw0KI29wdGlvbnMgCVZFU0ENCg0KIyBTcGxhc2ggc2NyZWVuIGF0IHN0
YXJ0IHVwISAgU2NyZWVuIHNhdmVycyByZXF1aXJlIHRoaXMgdG9vLg0KI3Bz
ZXVkby1kZXZpY2UJc3BsYXNoDQoNCiMgVGhlIHBjdnQgY29uc29sZSBkcml2
ZXIgKHZ0MjIwIGNvbXBhdGlibGUpLg0KI2RldmljZQkJdnQwCWF0IGlzYT8N
CiNvcHRpb25zIAlYU0VSVkVSCQkJIyBzdXBwb3J0IGZvciBydW5uaW5nIGFu
IFggc2VydmVyIG9uIHZ0DQojb3B0aW9ucyAJRkFUX0NVUlNPUgkJIyBzdGFy
dCB3aXRoIGJsb2NrIGN1cnNvcg0KIyBUaGlzIFBDVlQgb3B0aW9uIGlzIGZv
ciBrZXlib2FyZHMgc3VjaCBhcyB0aG9zZSB1c2VkIG9uIElCTSBUaGlua1Bh
ZCBsYXB0b3BzDQojb3B0aW9ucyAJUENWVF9TQ0FOU0VUPTIgCQkjIElCTSBr
ZXlib2FyZHMgYXJlIG5vbi1zdGQNCiMgT3RoZXIgUENWVCBvcHRpb25zIGFy
ZSBkb2N1bWVudGVkIGluIHBjdnQoNCkuDQojb3B0aW9ucyAJUENWVF8yNExJ
TkVTREVGDQojb3B0aW9ucyAJUENWVF9DVFJMX0FMVF9ERUwNCiNvcHRpb25z
IAlQQ1ZUX0VNVV9NT1VTRQ0KI29wdGlvbnMgCVBDVlRfRlJFRUJTRD0yMTEN
CiNvcHRpb25zIAlQQ1ZUX01FVEFfRVNDDQojb3B0aW9ucyAJUENWVF9OU0NS
RUVOUz05DQojb3B0aW9ucyAJUENWVF9QUkVUVFlTQ1JOUw0KI29wdGlvbnMg
CVBDVlRfU0NSRUVOU0FWRVINCiNvcHRpb25zIAlQQ1ZUX1VTRUtCRFNFQw0K
I29wdGlvbnMgCVBDVlRfVlQyMjBLRVlCDQoNCiMgVGhlIHN5c2NvbnMgY29u
c29sZSBkcml2ZXIgKHNjbyBjb2xvciBjb25zb2xlIGNvbXBhdGlibGUpLg0K
ZGV2aWNlCQlzYzAJYXQgaXNhPw0Kb3B0aW9ucyAJTUFYQ09OUz0xNgkJIyBu
dW1iZXIgb2YgdmlydHVhbCBjb25zb2xlcw0Kb3B0aW9ucyAJU0NfQUxUX01P
VVNFX0lNQUdFCSMgc2ltcGxpZmllZCBtb3VzZSBjdXJzb3IgaW4gdGV4dCBt
b2RlDQojb3B0aW9ucyAJU0NfREZMVF9GT05UCQkjIGNvbXBpbGUgZm9udCBp
bg0KI21ha2VvcHRpb25zCVNDX0RGTFRfRk9OVD1jcDg1MA0KI29wdGlvbnMg
CVNDX0RJU0FCTEVfRERCS0VZCSMgZGlzYWJsZSBgZGVidWcnIGtleQ0KI29w
dGlvbnMgCVNDX0RJU0FCTEVfUkVCT09UCSMgZGlzYWJsZSByZWJvb3Qga2V5
IHNlcXVlbmNlDQpvcHRpb25zIAlTQ19ISVNUT1JZX1NJWkU9NTAwCSMgbnVt
YmVyIG9mIGhpc3RvcnkgYnVmZmVyIGxpbmVzDQpvcHRpb25zIAlTQ19NT1VT
RV9DSEFSPTB4MwkjIGNoYXIgY29kZSBmb3IgdGV4dCBtb2RlIG1vdXNlIGN1
cnNvcg0Kb3B0aW9ucyAJU0NfUElYRUxfTU9ERQkJIyBhZGQgc3VwcG9ydCBm
b3IgdGhlIHJhc3RlciB0ZXh0IG1vZGUNCg0KIyBUaGUgZm9sbG93aW5nIG9w
dGlvbnMgd2lsbCBsZXQgeW91IGNoYW5nZSB0aGUgZGVmYXVsdCBjb2xvcnMg
b2Ygc3lzY29ucy4NCiNvcHRpb25zIAlTQ19OT1JNX0FUVFI9IihGR19HUkVF
TnxCR19CTEFDSykiDQojb3B0aW9ucyAJU0NfTk9STV9SRVZfQVRUUj0iKEZH
X1lFTExPV3xCR19HUkVFTikiDQojb3B0aW9ucyAJU0NfS0VSTkVMX0NPTlNf
QVRUUj0iKEZHX1JFRHxCR19CTEFDSykiDQojb3B0aW9ucyAJU0NfS0VSTkVM
X0NPTlNfUkVWX0FUVFI9IihGR19CTEFDS3xCR19SRUQpIg0KDQojIElmIHlv
dSBoYXZlIGEgdHdvIGJ1dHRvbiBtb3VzZSwgeW91IG1heSB3YW50IHRvIGFk
ZCB0aGUgZm9sbG93aW5nIG9wdGlvbg0KIyB0byB1c2UgdGhlIHJpZ2h0IGJ1
dHRvbiBvZiB0aGUgbW91c2UgdG8gcGFzdGUgdGV4dC4NCiNvcHRpb25zIAlT
Q19UV09CVVRUT05fTU9VU0UNCg0KIyBZb3UgY2FuIHNlbGVjdGl2ZWx5IGRp
c2FibGUgZmVhdHVyZXMgaW4gc3lzY29ucy4NCiNvcHRpb25zIAlTQ19OT19D
VVRQQVNURQ0KI29wdGlvbnMgCVNDX05PX0ZPTlRfTE9BRElORw0KI29wdGlv
bnMgCVNDX05PX0hJU1RPUlkNCiNvcHRpb25zIAlTQ19OT19TWVNNT1VTRQ0K
DQojDQojIFRoZSBOdW1lcmljIFByb2Nlc3NpbmcgZVh0ZW5zaW9uIGRyaXZl
ci4gIEluIGFkZGl0aW9uIHRvIHRoaXMsIHlvdQ0KIyBtYXkgY29uZmlndXJl
IGEgbWF0aCBlbXVsYXRvciAoc2VlIGFib3ZlKS4gIElmIHlvdXIgbWFjaGlu
ZSBoYXMgYQ0KIyBoYXJkd2FyZSBGUFUgYW5kIHRoZSBrZXJuZWwgY29uZmln
dXJhdGlvbiBpbmNsdWRlcyB0aGUgbnB4IGRldmljZQ0KIyAqYW5kKiBhIG1h
dGggZW11bGF0b3IgY29tcGlsZWQgaW50byB0aGUga2VybmVsLCB0aGUgaGFy
ZHdhcmUgRlBVDQojIHdpbGwgYmUgdXNlZCwgdW5sZXNzIGl0IGlzIGZvdW5k
IHRvIGJlIGJyb2tlbiBvciB1bmxlc3MgImZsYWdzIiB0bw0KIyBucHgwIGlu
Y2x1ZGVzICIweDA4Iiwgd2hpY2ggcmVxdWVzdHMgcHJlZmVyZW5jZSBmb3Ig
dGhlIGVtdWxhdG9yLg0KZGV2aWNlCQlucHgwCWF0IG5leHVzPyBwb3J0IElP
X05QWCBmbGFncyAweDAgaXJxIDEzDQoNCiMNCiMgYGZsYWdzJyBmb3IgbnB4
MDoNCiMJMHgwMQlkb24ndCB1c2UgdGhlIG5weCByZWdpc3RlcnMgdG8gb3B0
aW1pemUgYmNvcHkuDQojCTB4MDIJZG9uJ3QgdXNlIHRoZSBucHggcmVnaXN0
ZXJzIHRvIG9wdGltaXplIGJ6ZXJvLg0KIwkweDA0CWRvbid0IHVzZSB0aGUg
bnB4IHJlZ2lzdGVycyB0byBvcHRpbWl6ZSBjb3B5aW4gb3IgY29weW91dC4N
CiMJMHgwOAl1c2UgZW11bGF0b3IgZXZlbiBpZiBoYXJkd2FyZSBGUFUgaXMg
YXZhaWxhYmxlLg0KIyBUaGUgbnB4IHJlZ2lzdGVycyBhcmUgbm9ybWFsbHkg
dXNlZCB0byBvcHRpbWl6ZSBjb3B5aW5nIGFuZCB6ZXJvaW5nIHdoZW4NCiMg
YWxsIG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgc2F0aXNmaWVk
Og0KIwlJNTg2X0NQVSBpcyBhbiBvcHRpb24NCiMJdGhlIGNwdSBpcyBhbiBp
NTg2IChwZXJoYXBzIG5vdCBhIFBlbnRpdW0pDQojCXRoZSBwcm9iZSBmb3Ig
bnB4MCBzdWNjZWVkcw0KIwlJTlQgMTYgZXhjZXB0aW9uIGhhbmRsaW5nIHdv
cmtzLg0KIyBUaGVuIGNvcHlpbmcgYW5kIHplcm9pbmcgdXNpbmcgdGhlIG5w
eCByZWdpc3RlcnMgaXMgbm9ybWFsbHkgMzAtMTAwJSBmYXN0ZXIuDQojIFRo
ZSBmbGFncyBjYW4gYmUgdXNlZCB0byBjb250cm9sIGNhc2VzIHdoZXJlIGl0
IGRvZXNuJ3Qgd29yayBvciBpcyBzbG93ZXIuDQojIFNldHRpbmcgdGhlbSBh
dCBib290IHRpbWUgdXNpbmcgdXNlcmNvbmZpZyB3b3JrcyByaWdodCAodGhl
IG9wdGltaXphdGlvbnMNCiMgYXJlIG5vdCB1c2VkIHVudGlsIGxhdGVyIGlu
IHRoZSBib290c3RyYXAgd2hlbiBucHgwIGlzIGF0dGFjaGVkKS4NCiMgRmxh
ZyAweDA4IGF1dG9tYXRpY2FsbHkgZGlzYWJsZXMgdGhlIGk1ODYgb3B0aW1p
emVkIHJvdXRpbmVzLg0KIw0KDQojDQojIE9wdGlvbmFsIElTQSBhbmQgRUlT
QSBkZXZpY2VzOg0KIw0KDQojDQojIFNDU0kgaG9zdCBhZGFwdGVyczogYGFo
YScsIGBhaWMnLCBgYnQnDQojDQojIGFkdjogQWxsIE5hcnJvdyBTQ1NJIGJ1
cyBBZHZhblN5cyBjb250cm9sbGVycy4NCiMgYWR3OiBTZWNvbmQgR2VuZXJh
dGlvbiBBZHZhblN5cyBjb250cm9sbGVycyBpbmNsdWRpbmcgdGhlIEFEVjk0
MFVXLg0KIyBhaGE6IEFkYXB0ZWMgMTU0eA0KIyBhaGM6IEFkYXB0ZWMgMjc0
eC8yODR4LzI5NHgNCiMgYWljOiBBZGFwdGVjIDE1MngNCiMgYnQ6IE1vc3Qg
QnVzbG9naWMgY29udHJvbGxlcnMNCiMgbmN2OiBOQ1IgNTNDNTAwIGJhc2Vk
IFNDU0kgaG9zdCBhZGFwdGVycy4NCiMgbnNwOiBXb3JrYml0IE5pbmphIFND
U0ktMyBiYXNlZCBQQyBDYXJkIFNDU0kgaG9zdCBhZGFwdGVycy4NCiMgc3Rn
OiBUTUMgMThDMzAsIDE4QzUwIGJhc2VkIElTQS9QQyBDYXJkIFNDU0kgaG9z
dCBhZGFwdGVycy4NCiMNCiMgTm90ZSB0aGF0IHRoZSBvcmRlciBpcyBpbXBv
cnRhbnQgaW4gb3JkZXIgZm9yIEJ1c2xvZ2ljIGNhcmRzIHRvIGJlDQojIHBy
b2JlZCBjb3JyZWN0bHkuDQojDQoNCiNkZXZpY2UJCWJ0MAlhdCBpc2E/IHBv
cnQgSU9fQlQwDQojZGV2aWNlCQlhZHYwCWF0IGlzYT8NCiNkZXZpY2UJCWFk
dw0KI2RldmljZQkJYWhhMAlhdCBpc2E/DQojZGV2aWNlCQlhaWMwCWF0IGlz
YT8NCiNkZXZpY2UJCW5jdg0KI2RldmljZQkJbnNwDQojZGV2aWNlCQlzdGcw
CWF0IGlzYT8gcG9ydCAweDE0MCBpcnEgMTENCg0KIw0KIyBBZGFwdGVjIEZT
QSBSQUlEIGNvbnRyb2xsZXJzLCBpbmNsdWRpbmcgaW50ZWdyYXRlZCBERUxM
IGNvbnRyb2xsZXIsDQojIHRoZSBEZWxsIFBFUkMgMi9RQyBhbmQgdGhlIEhQ
IE5ldFJBSUQtNE0NCiMNCiMgQUFDX0NPTVBBVF9MSU5VWAlJbmNsdWRlIGNv
ZGUgdG8gc3VwcG9ydCBMaW51eC1iaW5hcnkgbWFuYWdlbWVudA0KIwkJCXV0
aWxpdGllcyAocmVxdWlyZXMgTGludXggY29tcGF0aWJpbGl0eQ0KIwkJCXN1
cHBvcnQpLg0KIw0KI2RldmljZQkJYWFjDQoNCiMNCiMgQ29tcGFxIFNtYXJ0
IFJBSUQsIE15bGV4IERBQzk2MCBhbmQgQU1JIE1lZ2FSQUlEIGNvbnRyb2xs
ZXJzLiAgT25seQ0KIyBvbmUgZW50cnkgaXMgbmVlZGVkOyB0aGUgY29kZSB3
aWxsIGZpbmQgYW5kIGNvbmZpZ3VyZSBhbGwgc3VwcG9ydGVkDQojIGNvbnRy
b2xsZXJzLg0KIw0KI2RldmljZQkJaWRhCQkjIENvbXBhcSBTbWFydCBSQUlE
DQojZGV2aWNlCQltbHgJCSMgTXlsZXggREFDOTYwDQojZGV2aWNlCQlhbXIJ
CSMgQU1JIE1lZ2FSQUlEDQoNCiMNCiMgM3dhcmUgQVRBIFJBSUQNCiMNCiNk
ZXZpY2UJCXR3ZQkJIyAzd2FyZSBBVEEgUkFJRA0KDQojDQojIFRoZSAnQVRB
JyBkcml2ZXIgc3VwcG9ydHMgYWxsIEFUQSBhbmQgQVRBUEkgZGV2aWNlcy4N
CiMgSXQgY2FuIHJldXNlIHRoZSBtYWpvcnMgb2Ygd2QuYyBmb3IgYm9vdGlu
ZyBwdXJwb3Nlcy4NCiMgWW91IG9ubHkgbmVlZCBvbmUgImRldmljZSBhdGEi
IGZvciBpdCB0byBmaW5kIGFsbA0KIyBQQ0kgQVRBL0FUQVBJIGRldmljZXMg
b24gbW9kZXJuIG1hY2hpbmVzLg0KZGV2aWNlCQlhdGENCmRldmljZQkJYXRh
ZGlzawkJIyBBVEEgZGlzayBkcml2ZXMNCmRldmljZQkJYXRhcGljZAkJIyBB
VEFQSSBDRFJPTSBkcml2ZXMNCiNkZXZpY2UJCWF0YXBpZmQJCSMgQVRBUEkg
ZmxvcHB5IGRyaXZlcw0KI2RldmljZQkJYXRhcGlzdAkJIyBBVEFQSSB0YXBl
IGRyaXZlcw0KDQojVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSB2YWxpZCBv
biB0aGUgQVRBIGRyaXZlcjoNCiMNCiMgQVRBX1NUQVRJQ19JRDoJY29udHJv
bGxlciBudW1iZXJpbmcgaXMgc3RhdGljIChsaWtlIHRoZSBvbGQgZHJpdmVy
KQ0KIwkJCWVsc2UgdGhlIGRldmljZSBudW1iZXJzIGFyZSBkeW5hbWljYWxs
eSBhbGxvY2F0ZWQuDQojb3B0aW9ucyAJQVRBX1NUQVRJQ19JRA0KDQojDQoj
IEZvciBvbGRlciBub24tUENJIHN5c3RlbXMsIHRoZXNlIGFyZSB0aGUgbGlu
ZXMgdG8gdXNlOg0KI2RldmljZQkJYXRhMAlhdCBpc2E/IHBvcnQgSU9fV0Qx
IGlycSAxNA0KI2RldmljZQkJYXRhMQlhdCBpc2E/IHBvcnQgSU9fV0QyIGly
cSAxNQ0KDQojDQojIFNULTUwNiwgRVNESSwgYW5kIElERSBoYXJkIGRpc2tz
OiBgd2RjJyBhbmQgYHdkJw0KIw0KIyBUaGUgZmxhZ3MgZmllbGRzIGFyZSB1
c2VkIHRvIGVuYWJsZSB0aGUgbXVsdGktc2VjdG9yIEkvTyBhbmQNCiMgdGhl
IDMyQklUIEkvTyBtb2Rlcy4gIFRoZSBmbGFncyBtYXkgYmUgdXNlZCBpbiBl
aXRoZXIgdGhlIGNvbnRyb2xsZXINCiMgZGVmaW5pdGlvbiBvciBpbiB0aGUg
aW5kaXZpZHVhbCBkaXNrIGRlZmluaXRpb25zLiAgVGhlIGNvbnRyb2xsZXIN
CiMgZGVmaW5pdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIHRoZSBib290IGNvbmZp
Z3VyYXRpb24gc3R1ZmYuDQojDQojIEVhY2ggZHJpdmUgaGFzIGEgMTYgYml0
IGZsYWdzIHZhbHVlIGRlZmluZWQ6DQojCVRoZSBsb3cgOCBiaXRzIGFyZSB0
aGUgbWF4aW11bSB2YWx1ZSBmb3IgdGhlIG11bHRpLXNlY3RvciBJL08sDQoj
CXdoZXJlIDB4ZmYgZGVmYXVsdHMgdG8gdGhlIG1heGltdW0gdGhhdCB0aGUg
ZHJpdmUgY2FuIGhhbmRsZS4NCiMJVGhlIGhpZ2ggYml0IG9mIHRoZSAxNiBi
aXQgZmxhZ3MgKDB4ODAwMCkgYWxsb3dzIHByb2JpbmcgZm9yDQojCTMyIGJp
dCB0cmFuc2ZlcnMuICBCaXQgMTQgKDB4NDAwMCkgZW5hYmxlcyBhIGhhY2sg
dG8gd2FrZQ0KIwl1cCBwb3dlcmVkLWRvd24gbGFwdG9wIGRyaXZlcy4gIEJp
dCAxMyAoMHgyMDAwKSBhbGxvd3MNCiMJcHJvYmluZyBmb3IgUENJIElERSBE
TUEgY29udHJvbGxlcnMsIHN1Y2ggYXMgSW50ZWwncyBQSUlYDQojCXNvdXRo
IGJyaWRnZXMuIEJpdCAxMiAoMHgxMDAwKSBzZXRzIExCQSBtb2RlIGluc3Rl
YWQgb2YgdGhlDQojCWRlZmF1bHQgQ0hTIG1vZGUgZm9yIGFjY2Vzc2luZyB0
aGUgZHJpdmUuIFNlZSB0aGUgd2QuNCBtYW4gcGFnZS4NCiMNCiMgVGhlIGZs
YWdzIGZpZWxkIGZvciB0aGUgZHJpdmVzIGNhbiBiZSBzcGVjaWZpZWQgaW4g
dGhlIGNvbnRyb2xsZXINCiMgc3BlY2lmaWNhdGlvbiB3aXRoIHRoZSBsb3cg
MTYgYml0cyBmb3IgZHJpdmUgMCwgYW5kIHRoZSBoaWdoIDE2IGJpdHMNCiMg
Zm9yIGRyaXZlIDEuDQojIGUuZy46DQojZGV2aWNlCQl3ZGMwCWF0IGlzYT8g
cG9ydCBJT19XRDEgaXJxIDE0IGZsYWdzIDB4MDBmZjgwMDQNCiMNCiMgc3Bl
Y2lmaWVzIHRoYXQgZHJpdmUgMCB3aWxsIGJlIGFsbG93ZWQgdG8gcHJvYmUg
Zm9yIDMyIGJpdCB0cmFuc2ZlcnMgYW5kDQojIGEgbWF4aW11bSBtdWx0aS1z
ZWN0b3IgdHJhbnNmZXIgb2YgNCBzZWN0b3JzLCBhbmQgZHJpdmUgMSB3aWxs
IG5vdCBiZQ0KIyBhbGxvd2VkIHRvIHByb2JlIGZvciAzMiBiaXQgdHJhbnNm
ZXJzLCBidXQgd2lsbCBhbGxvdyBtdWx0aS1zZWN0b3INCiMgdHJhbnNmZXJz
IHVwIHRvIHRoZSBtYXhpbXVtIHRoYXQgdGhlIGRyaXZlIHN1cHBvcnRzLg0K
Iw0KIyBJZiB5b3UgYXJlIHVzaW5nIGEgUENJIGNvbnRyb2xsZXIgdGhhdCBp
cyBub3QgcnVubmluZyBpbiBjb21wYXRpYmlsaXR5DQojIG1vZGUgKGZvciBl
eGFtcGxlLCBpdCBpcyBhIDJuZCBJREUgUENJIGludGVyZmFjZSksIHRoZW4g
dXNlIGNvbmZpZyBsaW5lKHMpDQojIHN1Y2ggYXM6DQojDQojZGV2aWNlCQl3
ZGMyCWF0IGlzYT8gcG9ydCAwIGZsYWdzIDB4YTBmZmEwZmYNCiNkZXZpY2UJ
CXdkNAlhdCB3ZGMyIGRyaXZlIDANCiNkZXZpY2UJCXdkNQlhdCB3ZGMyIGRy
aXZlIDENCiMNCiNkZXZpY2UJCXdkYzMJYXQgaXNhPyBwb3J0IDAgZmxhZ3Mg
MHhhMGZmYTBmZg0KI2RldmljZQkJd2Q2CWF0IHdkYzMgZHJpdmUgMA0KI2Rl
dmljZQkJd2Q3CWF0IHdkYzMgZHJpdmUgMQ0KIw0KIyBOb3RlIHRoYXQgdGhl
IGFib3ZlIGNvbmZpZyB3b3VsZCBiZSB1c2VmdWwgZm9yIGEgUHJvbWlzZSBj
YXJkLCB3aGVuIHVzZWQNCiMgb24gYSBNQiB0aGF0IGFscmVhZHkgaGFzIGEg
UElJWCBjb250cm9sbGVyLiAgTm90ZSB0aGUgYm9ndXMgaXJxIGFuZCBwb3J0
DQojIGVudHJpZXMuICBUaGVzZSBhcmUgYXV0b21hdGljYWxseSBmaWxsZWQg
aW4gYnkgdGhlIElERS9QQ0kgc3VwcG9ydC4NCiMNCiMgVGhpcyBkcml2ZXIg
bXVzdCBiZSBjb21tZW50ZWQgb3V0IGJlY2F1c2UgaXQgaXMgbXV0dWFsbHkg
ZXhjbHVzaXZlIHdpdGgNCiMgdGhlIGF0YSg0KSBkcml2ZXIuDQojDQojZGV2
aWNlCQl3ZGMwCWF0IGlzYT8gcG9ydCBJT19XRDEgaXJxIDE0DQojZGV2aWNl
CQl3ZDAJYXQgd2RjMCBkcml2ZSAwDQojZGV2aWNlCQl3ZDEJYXQgd2RjMCBk
cml2ZSAxDQojZGV2aWNlCQl3ZGMxCWF0IGlzYT8gcG9ydCBJT19XRDIgaXJx
IDE1DQojZGV2aWNlCQl3ZDIJYXQgd2RjMSBkcml2ZSAwDQojZGV2aWNlCQl3
ZDMJYXQgd2RjMSBkcml2ZSAxDQoNCiMNCiMgVGhpcyBvcHRpb24gYWxsb3cg
eW91IHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb2JlIHRpbWUgZm9yIElE
RQ0KIyBkZXZpY2VzLCB0byBnZXQgYSBmYXN0ZXIgcHJvYmUuICBTZXR0aW5n
IHRoaXMgYmVsb3cgMTAwMDAgdmlvbGF0ZQ0KIyB0aGUgSURFIHNwZWNzLCBi
dXQgbWF5IHN0aWxsIHdvcmsgZm9yIHlvdSAoaXQgd2lsbCB3b3JrIGZvciBt
b3N0DQojIHBlb3BsZSkuDQojDQojb3B0aW9ucyAJSURFX0RFTEFZPTgwMDAJ
IyBCZSBvcHRpbWlzdGljIGFib3V0IEpvZSBJREUgZGV2aWNlDQoNCiMgSURF
IENELVJPTSAmIENELVIvUlcgIGRyaXZlciAtIHJlcXVpcmVzIHdkYyBjb250
cm9sbGVyDQojZGV2aWNlCQl3Y2QNCg0KIyBJREUgZmxvcHB5IGRyaXZlciAt
IHJlcXVpcmVzIHdkYyBjb250cm9sbGVyDQojZGV2aWNlCQl3ZmQNCg0KIyBJ
REUgdGFwZSBkcml2ZXIgLSByZXF1aXJlcyB3ZGMgY29udHJvbGxlcg0KI2Rl
dmljZQkJd3N0DQoNCg0KIw0KIyBTdGFuZGFyZCBmbG9wcHkgZGlzayBjb250
cm9sbGVyczogYGZkYycgYW5kIGBmZCcNCiMNCmRldmljZQkJZmRjMAlhdCBp
c2E/IHBvcnQgSU9fRkQxIGlycSA2IGRycSAyDQojDQojIEZEQ19ERUJVRyBl
bmFibGVzIGZsb3BweSBkZWJ1Z2dpbmcuICBTaW5jZSB0aGUgZGVidWcgb3V0
cHV0IGlzIGh1Z2UsIHlvdQ0KIyBnb3R0YSB0dXJuIGl0IGFjdHVhbGx5IG9u
IGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlIGZkX2RlYnVnIHdpdGggRERCLA0K
IyBob3dldmVyLg0KI29wdGlvbnMgCUZEQ19ERUJVRw0KDQpkZXZpY2UJCWZk
MAlhdCBmZGMwIGRyaXZlIDANCiNkZXZpY2UJCWZkMQlhdCBmZGMwIGRyaXZl
IDENCg0KIyBNLXN5c3RlbXMgRGlza09uY2hpcCBwcm9kdWN0cyBzZWUgc3Jj
L3N5cy9jb250cmliL2Rldi9mbGEvUkVBRE1FDQojZGV2aWNlCQlmbGEwCWF0
IGlzYT8NCg0KIw0KIyBPdGhlciBzdGFuZGFyZCBQQyBoYXJkd2FyZTogYG1z
ZScsIGBzaW8nLCBldGMuDQojDQojIG1zZTogTG9naXRlY2ggYW5kIEFUSSBJ
blBvcnQgYnVzIG1vdXNlIHBvcnRzDQojIHNpbzogc2VyaWFsIHBvcnRzIChz
ZWUgc2lvKDQpKQ0KDQojZGV2aWNlCQltc2UwCWF0IGlzYT8gcG9ydCAweDIz
YyBpcnEgNQ0KDQpkZXZpY2UJCXNpbzAJYXQgaXNhPyBwb3J0IElPX0NPTTEg
ZmxhZ3MgMHgxMCBpcnEgNA0KDQojDQojIGBmbGFncycgZm9yIHNlcmlhbCBk
cml2ZXJzIHRoYXQgc3VwcG9ydCBjb25zb2xlcyAob25seSBmb3Igc2lvIG5v
dyk6DQojCTB4MTAJZW5hYmxlIGNvbnNvbGUgc3VwcG9ydCBmb3IgdGhpcyB1
bml0LiAgVGhlIG90aGVyIGNvbnNvbGUgZmxhZ3MNCiMJCWFyZSBpZ25vcmVk
IHVubGVzcyB0aGlzIGlzIHNldC4gIEVuYWJsaW5nIGNvbnNvbGUgc3VwcG9y
dCBkb2VzDQojCQlub3QgbWFrZSB0aGUgdW5pdCB0aGUgcHJlZmVycmVkIGNv
bnNvbGUgLSBib290IHdpdGggLWggb3Igc2V0DQojCQl0aGUgMHgyMCBmbGFn
IGZvciB0aGF0LiAgQ3VycmVudGx5LCBhdCBtb3N0IG9uZSB1bml0IGNhbiBo
YXZlDQojCQljb25zb2xlIHN1cHBvcnQ7IHRoZSBmaXJzdCBvbmUgKGluIGNv
bmZpZyBmaWxlIG9yZGVyKSB3aXRoDQojCQl0aGlzIGZsYWcgc2V0IGlzIHBy
ZWZlcnJlZC4gIFNldHRpbmcgdGhpcyBmbGFnIGZvciBzaW8wIGdpdmVzDQoj
CQl0aGUgb2xkIGJlaGF2aW91ci4NCiMJMHgyMAlmb3JjZSB0aGlzIHVuaXQg
dG8gYmUgdGhlIGNvbnNvbGUgKHVubGVzcyB0aGVyZSBpcyBhbm90aGVyDQoj
CQloaWdoZXIgcHJpb3JpdHkgY29uc29sZSkuICBUaGlzIHJlcGxhY2VzIHRo
ZSBDT01DT05TT0xFIG9wdGlvbi4NCiMJMHg0MAlyZXNlcnZlIHRoaXMgdW5p
dCBmb3IgbG93IGxldmVsIGNvbnNvbGUgb3BlcmF0aW9ucy4gIERvIG5vdA0K
IwkJYWNjZXNzIHRoZSBkZXZpY2UgaW4gYW55IG5vcm1hbCB3YXkuDQojCTB4
ODAJdXNlIHRoaXMgcG9ydCBmb3Igc2VyaWFsIGxpbmUgZ2RiIHN1cHBvcnQg
aW4gZGRiLg0KIw0KIyBQblAgYGZsYWdzJyAoc2V0IHZpYSB1c2VyY29uZmln
IHVzaW5nIHBucCB4IGZsYWdzIHkpDQojCTB4MQlkaXNhYmxlIHByb2Jpbmcg
b2YgdGhpcyBkZXZpY2UuICBVc2VkIHRvIHByZXZlbnQgeW91ciBtb2RlbQ0K
IwkJZnJvbSBiZWluZyBhdHRhY2hlZCBhcyBhIFBuUCBtb2RlbS4NCiMNCg0K
IyBPcHRpb25zIGZvciBzZXJpYWwgZHJpdmVycyB0aGF0IHN1cHBvcnQgY29u
c29sZXMgKG9ubHkgZm9yIHNpbyBub3cpOg0KI29wdGlvbnMgCUJSRUFLX1RP
X0RFQlVHR0VSCSNhIEJSRUFLIG9uIGEgY29tY29uc29sZSBnb2VzIHRvDQoJ
CQkJCSNEREIsIGlmIGF2YWlsYWJsZS4NCiNvcHRpb25zIAlDT05TUEVFRD0x
MTUyMDAJCSMgc3BlZWQgZm9yIHNlcmlhbCBjb25zb2xlDQoJCQkJCSMgKGRl
ZmF1bHQgOTYwMCkNCg0KIyBTb2xhcmlzIGltcGxlbWVudHMgYSBuZXcgQlJF
QUsgd2hpY2ggaXMgaW5pdGlhdGVkIGJ5IGEgY2hhcmFjdGVyDQojIHNlcXVl
bmNlIENSIH4gXmIgd2hpY2ggaXMgc2ltaWxhciB0byBhIGZhbWlsaWFyIHBh
dHRlcm4gdXNlZCBvbg0KIyBTdW4gc2VydmVycyBieSB0aGUgUmVtb3RlIENv
bnNvbGUuDQojb3B0aW9ucyAJQUxUX0JSRUFLX1RPX0RFQlVHR0VSDQoNCiMg
T3B0aW9ucyBmb3Igc2lvOg0KI29wdGlvbnMgCUNPTV9FU1AJCQkjY29kZSBm
b3IgSGF5ZXMgRVNQDQojb3B0aW9ucyAJQ09NX01VTFRJUE9SVAkJI2NvZGUg
Zm9yIHNvbWUgY2FyZHMgd2l0aCBzaGFyZWQgSVJRcw0KDQojIE90aGVyIGZs
YWdzIGZvciBzaW8gdGhhdCBhcmVuJ3QgZG9jdW1lbnRlZCBpbiB0aGUgbWFu
IHBhZ2UuDQojCTB4MjAwMDAJZW5hYmxlIGhhcmR3YXJlIFJUUy9DVFMgYW5k
IGxhcmdlciBGSUZPcy4gIE9ubHkgd29ya3MgZm9yDQojCQlTVDE2NjUwQS1j
b21wYXRpYmxlIFVBUlRzLg0KDQojIFBDSSBVbml2ZXJzYWwgQ29tbXVuaWNh
dGlvbnMgZHJpdmVyDQojIFN1cHBvcnRzIHZhcmlvdXMgc2luZ2xlIGFuZCBt
dWx0aSBwb3J0IFBDSSBzZXJpYWwgY2FyZHMuIE1heWJlIGxhdGVyDQojIGFs
c28gdGhlIHBhcmFsbGVsIHBvcnRzIG9uIGNvbWJpbmF0aW9uIHNlcmlhbC9w
YXJhbGxlbCBjYXJkcy4gTmV3IGNhcmRzDQojIGNhbiBiZSBhZGRlZCBpbiBz
cmMvc3lzL2Rldi9wdWMvcHVjZGF0YS5jLg0KIw0KIyBJZiB0aGUgUFVDX0ZB
U1RJTlRSIG9wdGlvbiBpcyB1c2VkIHRoZSBkcml2ZXIgd2lsbCB0cnkgdG8g
dXNlIGZhc3QNCiMgaW50ZXJydXB0cy4gVGhlIGNhcmQgbXVzdCB0aGVuIGJl
IHRoZSBvbmx5IHVzZXIgb2YgdGhhdCBpbnRlcnJ1cHQuDQojIEludGVycnVw
dHMgY2Fubm90IGJlIHNoYXJlZCB3aGVuIHVzaW5nIFBVQ19GQVNUSU5UUi4N
CiNkZXZpY2UJCXB1Yw0KI29wdGlvbnMgCVBVQ19GQVNUSU5UUg0KDQojDQoj
IE5ldHdvcmsgaW50ZXJmYWNlczogYGN4JywgYGVkJywgYGVsJywgYGVwJywg
YGllJywgYGlzJywgYGxlJywgYGxuYycNCiMNCiMgYXI6IEFybmV0IFNZTkMv
NTcwaSBoZGxjIHN5bmMgMi80IHBvcnQgVi4zNS9YLjIxIHNlcmlhbCBkcml2
ZXIgKHJlcXVpcmVzIHNwcHApDQojIGNtOiBBcmNuZXQgU01DIENPTTkwYzI2
IC8gU01DIENPTTkwYzU2DQojICAgICAoYW5kIFNNQyBDT005MGM2NiBpbiAn
NTYgY29tcGF0aWJpbGl0eSBtb2RlKSBhZGFwdGVycy4NCiMgY3M6IElCTSBF
dGhlcmpldCBhbmQgb3RoZXIgQ3J5c3RhbCBTZW1pIENTODl4MC1iYXNlZCBh
ZGFwdGVycw0KIyBjeDogQ3Jvbnl4L1NpZ21hIG11bHRpcG9ydCBzeW5jL2Fz
eW5jICh3aXRoIENpc2NvIG9yIFBQUCBmcmFtaW5nKQ0KIyBlZDogV2VzdGVy
biBEaWdpdGFsIGFuZCBTTUMgODB4eDsgTm92ZWxsIE5FMTAwMCBhbmQgTkUy
MDAwOyAzQ29tIDNDNTAzDQojIGVsOiAzQ29tIDNDNTAxIChzbG93ISkNCiMg
ZXA6IDNDb20gM0M1MDkNCiMgZXg6IEludGVsIEV0aGVyRXhwcmVzcyBQcm8v
MTAgYW5kIG90aGVyIGk4MjU5NS1iYXNlZCBhZGFwdGVycw0KIyBmZTogRnVq
aXRzdSBNQjg2OTYwQS9NQjg2OTY1QSBFdGhlcm5ldA0KIyBpZTogQVQmVCBT
dGFyTEFOIDEwIGFuZCBFTjEwMDsgM0NvbSAzQzUwNzsgdW5rbm93biBOSTUy
MTA7IEludGVsIEV0aGVyRXhwcmVzcw0KIyBsZTogRGlnaXRhbCBFcXVpcG1l
bnQgRXRoZXJXb3JrcyAyIGFuZCBFdGhlcldvcmtzIDMgKERFUENBLCBERTEw
MCwNCiMgICAgIERFMTAxLCBERTIwMCwgREUyMDEsIERFMjAyLCBERTIwMywg
REUyMDQsIERFMjA1LCBERTQyMikNCiMgbG5jOiBMYW5jZS9QQ25ldCBjYXJk
cyAoSXNvbGFuLCBOb3ZlbGwgTkUyMTAwLCBORTMyLVZMLCBBTUQgQW03OTkw
ICYgQW03OUM5NjApDQojIHJkcDogUmVhbFRlayBSVEwgODAwMi1iYXNlZCBw
b2NrZXQgZXRoZXJuZXQgYWRhcHRlcnMNCiMgc2JuaTogR3JhbmNoIFNCTkkx
Mi14eCBhZGFwdGVycw0KIyBzcjogUklTQ29tL04yIGhkbGMgc3luYyAxLzIg
cG9ydCBWLjM1L1guMjEgc2VyaWFsIGRyaXZlciAocmVxdWlyZXMgc3BwcCkN
CiMgd2w6IEx1Y2VudCBXYXZlbGFuIChJU0EgY2FyZCBvbmx5KS4NCiMgYXdp
OiBJRUVFIDgwMi4xMWIgUFJJU00gSSBjYXJkcy4NCiMgd2k6IEx1Y2VudCBX
YXZlTEFOL0lFRUUgODAyLjExIFBDTUNJQSBhZGFwdGVycy4gTm90ZTogdGhp
cyBzdXBwb3J0cyBib3RoDQojICAgICB0aGUgUENNQ0lBIGFuZCBJU0EgY2Fy
ZHM6IHRoZSBJU0EgY2FyZCBpcyByZWFsbHkgYSBQQ01DSUEgdG8gSVNBDQoj
ICAgICBicmlkZ2Ugd2l0aCBhIFBDTUNJQSBhZGFwdGVyIHBsdWdnZWQgaW50
byBpdC4NCiMgYW46IEFpcm9uZXQgNDUwMC80ODAwIDgwMi4xMSB3aXJlbGVz
cyBhZGFwdGVycy4gU3VwcG9ydHMgdGhlIFBDTUNJQSwNCiMgICAgIFBDSSBh
bmQgSVNBIHZhcmlldGllcy4NCiMgeGU6IFhpcmNvbS9JbnRlbCBFdGhlckV4
cHJlc3MgUHJvMTAwLzE2IFBDIENhcmQgZXRoZXJuZXQgY29udHJvbGxlci4N
CiMgcmF5OiBSYXl0aGVvbiBSYXlsaW5rIDgwMi4xMSB3aXJlbGVzcyBOSUNz
LCBPRU0gYXMgV2ViZ2VhciBBdmlhdG9yIDIuNEdIeg0KIyBvbHRyOiBPbGlj
b20gSVNBIHRva2VuLXJpbmcgYWRhcHRlcnMgT0MtMzExNSwgT0MtMzExNywg
T0MtMzExOCBhbmQgT0MtMzEzMw0KIyAgICAgICAobm8gb3B0aW9ucyBuZWVk
ZWQpDQojDQojZGV2aWNlIGFyMCBhdCBpc2E/IHBvcnQgMHgzMDAgaXJxIDEw
IGlvbWVtIDB4ZDAwMDANCiNkZXZpY2UgY20wIGF0IGlzYT8gcG9ydCAweDJl
MCBpcnEgOSBpb21lbSAweGRjMDAwDQojZGV2aWNlIGNzMCBhdCBpc2E/IHBv
cnQgMHgzMDANCiNkZXZpY2UgY3gwIGF0IGlzYT8gcG9ydCAweDI0MCBpcnEg
MTUgZHJxIDcNCmRldmljZSBlZDANCiMgYXQgaXNhPyBwb3J0IDB4MjgwIGly
cSA1IGlvbWVtIDB4ZDgwMDANCiNkZXZpY2UgZWwwIGF0IGlzYT8gcG9ydCAw
eDMwMCBpcnEgOQ0KI2RldmljZSBlcA0KI2RldmljZSBleA0KI2RldmljZSBm
ZTAgYXQgaXNhPyBwb3J0IDB4MzAwDQojZGV2aWNlIGllMCBhdCBpc2E/IHBv
cnQgMHgzMDAgaXJxIDUgaW9tZW0gMHhkMDAwMA0KI2RldmljZSBpZTEgYXQg
aXNhPyBwb3J0IDB4MzYwIGlycSA3IGlvbWVtIDB4ZDAwMDANCiNkZXZpY2Ug
bGUwIGF0IGlzYT8gcG9ydCAweDMwMCBpcnEgNSBpb21lbSAweGQwMDAwDQoj
ZGV2aWNlIGxuYzAgYXQgaXNhPyBwb3J0IDB4MjgwIGlycSAxMCBkcnEgMA0K
I2RldmljZSByZHAwIGF0IGlzYT8gcG9ydCAweDM3OCBpcnEgNyBmbGFncyAy
DQojZGV2aWNlIHNibmkwIGF0IGlzYT8gcG9ydCAweDIxMCBpcnEgNSBmbGFn
cyAweGVmZGVhZA0KI2RldmljZSBzcjAgYXQgaXNhPyBwb3J0IDB4MzAwIGly
cSA1IGlvbWVtIDB4ZDAwMDANCiNkZXZpY2Ugc24wIGF0IGlzYT8gcG9ydCAw
eDMwMCBpcnEgMTANCiNkZXZpY2UgYXdpDQojZGV2aWNlIHdpDQojZGV2aWNl
IGFuDQojb3B0aW9ucyAJV0xDQUNIRQkJIyBlbmFibGVzIHRoZSBzaWduYWwt
c3RyZW5ndGggY2FjaGUNCiNvcHRpb25zIAlXTERFQlVHCQkjIGVuYWJsZXMg
dmVyYm9zZSBkZWJ1Z2dpbmcgb3V0cHV0DQojZGV2aWNlIHdsMCBhdCBpc2E/
IHBvcnQgMHgzMDANCiNkZXZpY2UgeGUNCiNkZXZpY2UgcmF5DQoNCiNkZXZp
Y2Ugb2x0cjAgYXQgaXNhPw0KDQojDQojIEFUTSByZWxhdGVkIG9wdGlvbnMN
CiMNCiMgVGhlIGBlbicgZGV2aWNlIHByb3ZpZGVzIHN1cHBvcnQgZm9yIEVm
ZmljaWVudCBOZXR3b3JrcyAoRU5JKQ0KIyBFTkktMTU1IFBDSSBtaWR3YXkg
Y2FyZHMsIGFuZCB0aGUgQWRhcHRlYyAxNTVNYnBzIFBDSSBBVE0gY2FyZHMg
KEFOQS01OXgwKS4NCiMNCiMgYXRtIHBzZXVkby1kZXZpY2UgcHJvdmlkZXMg
Z2VuZXJpYyBhdG0gZnVuY3Rpb25zIGFuZCBpcyByZXF1aXJlZCBmb3INCiMg
YXRtIGRldmljZXMuDQojIE5BVE0gZW5hYmxlcyB0aGUgbmV0bmF0bSBwcm90
b2NvbCBmYW1pbHkgdGhhdCBjYW4gYmUgdXNlZCB0bw0KIyBieXBhc3MgVENQ
L0lQLg0KIw0KIyB0aGUgY3VycmVudCBkcml2ZXIgc3VwcG9ydHMgb25seSBQ
VkMgb3BlcmF0aW9ucyAobm8gYXRtLWFycCwgbm8gbXVsdGljYXN0KS4NCiMg
Zm9yIG1vcmUgZGV0YWlscywgcGxlYXNlIHJlYWQgdGhlIG9yaWdpbmFsIGRv
Y3VtZW50cyBhdA0KIyBodHRwOi8vd3d3LmNjcmMud3VzdGwuZWR1L3B1Yi9j
aHVjay90ZWNoL2JzZGF0bS9ic2RhdG0uaHRtbA0KIw0KI3BzZXVkby1kZXZp
Y2UJYXRtDQojZGV2aWNlCQllbg0KI29wdGlvbnMgCU5BVE0JCQkjbmF0aXZl
IEFUTQ0KDQojDQojIEF1ZGlvIGRyaXZlcnM6IGBzbmQnLCBgc2InLCBgcGFz
JywgYGd1cycsIGBwY2EnDQojDQojIHNuZDogVm94d2FyZSBzb3VuZCBzdXBw
b3J0IGNvZGUNCiMgc2I6IFNvdW5kQmxhc3RlciBQQ00gLSBTb3VuZEJsYXN0
ZXIsIFNCIFBybywgU0IxNiwgUHJvQXVkaW9TcGVjdHJ1bQ0KIyBzYnh2aTog
U291bmRCbGFzdGVyIDE2DQojIHNibWlkaTogU291bmRCbGFzdGVyIDE2IE1J
REkgaW50ZXJmYWNlDQojIHBhczogUHJvQXVkaW9TcGVjdHJ1bSBQQ00gYW5k
IE1JREkNCiMgZ3VzOiBHcmF2aXMgVWx0cmFzb3VuZCAtIFVsdHJhc291bmQs
IFVsdHJhc291bmQgMTYsIFVsdHJhc291bmQgTUFYDQojIGd1c3h2aTogR3Jh
dmlzIFVsdHJhc291bmQgMTYtYml0IFBDTQkoZG8gbm90IHVzZSkNCiMgbXNz
OiBNaWNyb3NvZnQgU291bmQgU3lzdGVtDQojIGNzczogQ3J5c3RhbCBTb3Vu
ZCBTeXN0ZW0gKENTUyA0MjN4IFBuUCkNCiMgc3NjYXBlOiBFbnNvbmlxIFNv
dW5kc2NhcGUgTUlESSBpbnRlcmZhY2UNCiMgc3NjYXBlX21zczogRW5zb25p
cSBTb3VuZHNjYXBlIFBDTSAocmVxdWlyZXMgc3NjYXBlKQ0KIyBvcGw6IFlh
bWFoYSBPUEwtMiBhbmQgT1BMLTMgRk0gLSBTQiwgU0IgUHJvLCBTQiAxNiwg
UHJvQXVkaW9TcGVjdHJ1bQ0KIyB1YXJ0OiBzdGFuZC1hbG9uZSA2ODUwIFVB
UlQgZm9yIE1JREkNCiMgbXB1OiBSb2xhbmQgTVBVLTQwMSBzdGFuZC1hbG9u
ZSBjYXJkDQojDQojIE5vdGU6IEl0IGhhcyBiZWVuIHJlcG9ydGVkIHRoYXQg
SVNBIERNQSB3aXRoIHRoZSBTb3VuZEJsYXN0ZXIgd2lsbA0KIyBsb2NrIHVw
IHRoZSBtYWNoaW5lIChQUiBkb2NzLzUzNTgpLiAgSWYgdGhpcyBoYXBwZW5z
IHRvIHlvdSwNCiMgdHVybmluZyBvZmYgVVNXQyB3cml0ZSBwb3N0aW5nIGlu
IHlvdXIgbWFjaGluZSdzIEJJT1MgbWF5IGZpeA0KIyB0aGUgcHJvYmxlbS4N
CiMNCiMgQmV3YXJlISAgVGhlIGFkZHJlc3NlcyBzcGVjaWZpZWQgYmVsb3cg
YXJlIGFsc28gaGFyZC1jb2RlZCBpbg0KIyBzcmMvc3lzL2kzODYvaXNhL3Nv
dW5kL3NvdW5kX2NvbmZpZy5oLiAgSWYgeW91IGNoYW5nZSB0aGUgdmFsdWVz
IGhlcmUsIHlvdQ0KIyBtdXN0IGFsc28gY2hhbmdlIHRoZSB2YWx1ZXMgaW4g
dGhlIGluY2x1ZGUgZmlsZS4NCiMNCiMgcGNtOiBQQ00gYXVkaW8gdGhyb3Vn
aCB2YXJpb3VzIHNvdW5kIGNhcmRzLg0KIw0KIyBUaGlzIGhhcyBzdXBwb3J0
IGZvciBhIGxhcmdlIG51bWJlciBvZiBuZXcgYXVkaW8gY2FyZHMsIGJhc2Vk
IG9uDQojIENTNDIzeCwgT1BUaTkzMSwgWWFtYWhhIE9QTC1TQXgsIGFuZCBh
bHNvIGZvciBTQjE2LCBHdXNQblAuDQojIEZvciBtb3JlIGluZm9ybWF0aW9u
IGFib3V0IHRoaXMgZHJpdmVyIGFuZCBzdXBwb3J0ZWQgY2FyZHMsDQojIHNl
ZSB0aGUgcGNtLjQgbWFuIHBhZ2UuDQojDQojIFRoZSBmbGFncyBvZiB0aGUg
ZGV2aWNlIHRlbGxzIHRoZSBkZXZpY2UgYSBiaXQgbW9yZSBpbmZvIGFib3V0
IHRoZQ0KIyBkZXZpY2UgdGhhdCBub3JtYWxseSBpcyBvYnRhaW5lZCB0aHJv
dWdoIHRoZSBQblAgaW50ZXJmYWNlLg0KIwliaXQgIDIuLjAgICBzZWNvbmRh
cnkgRE1BIGNoYW5uZWw7DQojCWJpdCAgNCAgICAgIHNldCBpZiB0aGUgYm9h
cmQgdXNlcyB0d28gZG1hIGNoYW5uZWxzOw0KIwliaXQgMTUuLjggICBib2Fy
ZCB0eXBlLCBvdmVycmlkZXMgYXV0b2RldGVjdGlvbjsgbGVhdmUgaXQNCiMJ
CSAgICB6ZXJvIGlmIGRvbid0IGtub3cgd2hhdCB0byBwdXQgaW4gKGFuZCB5
b3UgZG9uJ3QsDQojCQkgICAgc2luY2UgdGhpcyBpcyB1bnN1cHBvcnRlZCBh
dCB0aGUgbW9tZW50Li4uKS4NCiMNCiMgVGhpcyBkcml2ZXIgd2lsbCB1c2Ug
dGhlIG5ldyBQblAgY29kZSBpZiBpdCdzIGF2YWlsYWJsZS4NCiMNCiMgcGNh
OiBQQ00gYXVkaW8gdGhyb3VnaCB5b3VyIFBDIHNwZWFrZXINCiMNCiMgSWYg
eW91IGhhdmUgYSBHVVMtTUFYIGNhcmQgYW5kIHdhbnQgdG8gdXNlIHRoZSBD
UzQyMzEgY29kZWMgb24gdGhlDQojIGNhcmQgdGhlIGRycXMgZm9yIHRoZSBn
dXMgbWF4IG11c3QgYmUgOCBiaXQgKDEsIDIsIG9yIDMpLg0KIw0KIyBJZiB5
b3Ugd291bGQgbGlrZSB0byB1c2UgdGhlIGZ1bGwgZHVwbGV4IG9wdGlvbiBv
biB0aGUgZ3VzLCB0aGVuIGRlZmluZQ0KIyBmbGFncyB0byBiZSB0aGUgYGBy
ZWFkIGRtYSBjaGFubmVsJycuDQojDQojIG9wdGlvbnMgQlJPS0VOX0JVU19D
TE9DSwkjUEFTLTE2IGlzbid0IHdvcmtpbmcgYW5kIE9QVEkgY2hpcHNldA0K
IyBvcHRpb25zIFNZTVBIT05ZX1BBUwkJI1BBUy0xNiBpc24ndCB3b3JraW5n
IGFuZCBTWU1QSE9OWSBjaGlwc2V0DQojIG9wdGlvbnMgRVhDTFVERV9TQlBS
TwkJI1BBUy0xNg0KIyBvcHRpb25zIFNCQ19JUlE9NQkJI1BBUy0xNi4gTXVz
dCBtYXRjaCBpcnEgb24gc2IwIGxpbmUuDQojIFBBUzE2OiBUaGUgb3JkZXIg
b2YgdGhlIHBhczAvc2IwL29wbDAgaXMgaW1wb3J0YW50IHNpbmNlIHRoZQ0K
IwlzYiBlbXVsYXRpb24gaXMgZW5hYmxlZCBpbiB0aGUgcGFzLTE2IGF0dGFj
aC4NCiMNCiMgVG8gb3ZlcnJpZGUgdGhlIEdVUyBkZWZhdWx0cyB1c2U6DQoj
IG9wdGlvbnMgR1VTX0RNQTINCiMgb3B0aW9ucyBHVVNfRE1BDQojIG9wdGlv
bnMgR1VTX0lSUQ0KIw0KIyBUaGUgc3JjL3N5cy9pMzg2L2lzYS9zb3VuZC9z
b3VuZC5kb2MgaGFzIG1vcmUgaW5mb3JtYXRpb24uDQoNCiMgQ29udHJvbHMg
YWxsICJWT1hXQVJFIiBkcml2ZXIgc291bmQgZGV2aWNlcy4gIFNlZSBMdWln
aSdzIGRyaXZlcg0KIyBiZWxvdyBmb3IgYW4gYWx0ZXJuYXRlIHdoaWNoIG1h
eSB3b3JrIGJldHRlciBmb3Igc29tZSBjYXJkcy4NCiMNCiNkZXZpY2UJCXNu
ZA0KI2RldmljZSBwYXMwCWF0IGlzYT8gcG9ydCAweDM4OCBpcnEgMTAgZHJx
IDYNCiNkZXZpY2Ugc2IwCWF0IGlzYT8gcG9ydCAweDIyMCBpcnEgNSBkcnEg
MQ0KI2RldmljZSBzYnh2aTAJYXQgaXNhPyBkcnEgNQ0KI2RldmljZSBzYm1p
ZGkwCWF0IGlzYT8gcG9ydCAweDMzMA0KI2RldmljZSBhd2UwCWF0IGlzYT8g
cG9ydCAweDYyMA0KI2RldmljZSBndXMwCWF0IGlzYT8gcG9ydCAweDIyMCBp
cnEgMTIgZHJxIDENCiMjZGV2aWNlIGd1czAJYXQgaXNhPyBwb3J0IDB4MjIw
IGlycSAxMiBkcnEgMSBmbGFncyAweDMNCiNkZXZpY2UgbXNzMAlhdCBpc2E/
IHBvcnQgMHg1MzAgaXJxIDEwIGRycSAxDQojZGV2aWNlIGNzczAJYXQgaXNh
PyBwb3J0IDB4NTM0IGlycSA1IGRycSAxIGZsYWdzIDB4MDgNCiNkZXZpY2Ug
c3NjYXBlMAlhdCBpc2E/IHBvcnQgMHgzMzAgaXJxIDkgZHJxIDANCiNkZXZp
Y2UgdHJpeDAJYXQgaXNhPyBwb3J0IDB4MzMwIGlycSA2IGRycSAwDQojZGV2
aWNlIHNzY2FwZV9tc3MwIGF0IGlzYT8gcG9ydCAweDUzNCBpcnEgNSBkcnEg
MQ0KI2RldmljZSBvcGwwCWF0IGlzYT8gcG9ydCAweDM4OA0KI2RldmljZSBt
cHUwCWF0IGlzYT8gcG9ydCAweDMzMCBpcnEgNiBkcnEgMA0KI2RldmljZSB1
YXJ0MAlhdCBpc2E/IHBvcnQgMHgzMzAgaXJxIDUNCg0KIyBUaGUgbmV3cGNt
IGRyaXZlciAodXNlIElOU1RFQUQgb2Ygc25kMCBhbmQgYWxsIFZPWFdBUkUg
ZHJpdmVycyEpLg0KIyBOb3RlIHRoYXQgbW90aGVyYm9hcmQgc291bmQgZGV2
aWNlcyBtYXkgcmVxdWlyZSBvcHRpb25zIFBOUEJJT1MuDQojDQojIFN1cHBv
cnRlZCBjYXJkcyBpbmNsdWRlOg0KIyBDcmVhdGl2ZSBTb3VuZEJsYXN0ZXIg
SVNBIFBuUC9ub24tUG5QDQojIFN1cHBvcnRzIEVTUyBhbmQgQXZhbmNlIElT
QSBjaGlwcyBhcyB3ZWxsLg0KIyBHcmF2aXMgVWx0cmFTb3VuZCBJU0EgUG5Q
L25vbi1QblANCiMgQ3J5c3RhbCBTZW1pY29uZHVjdG9yIENTNDYxeC80Mjh4
IFBDSQ0KIyBOZW9tYWdpYyAyNTZBViAoYWM5NykNCiMgTW9zdCBvZiB0aGUg
bW9yZSBjb21tb24gSVNBL1BuUCBzYi9tc3MvZXNzIGNvbXBhdGFibGUgY2Fy
ZHMuDQoNCiMgRm9yIG5vbi1wbnAgc291bmQgY2FyZHMgd2l0aCBubyBicmlk
Z2UgZHJpdmVycyBvbmx5Og0KI2RldmljZQkJcGNtMCBhdCBpc2E/IGlycSAx
MCBkcnEgMSBmbGFncyAweDANCiMNCiMgRm9yIFBuUC9QQ0kgc291bmQgY2Fy
ZHMNCiNkZXZpY2UJCXBjbQ0KDQojIFRoZSBicmlkZ2UgZHJpdmVycyBmb3Ig
c291bmQgY2FyZHMuICBUaGVzZSBjYW4gYmUgc2VwZXJhdGVseSBjb25maWd1
cmVkDQojIGZvciBwcm92aWRpbmcgc2VydmljZXMgdG8gdGhlIGxpa2VzIG9m
IG5ldy1taWRpIChub3QgaW4gdGhlIHRyZWUgeWV0KS4NCiMgV2hlbiB1c2Vk
IHdpdGggJ2RldmljZSBwY20nIHRoZXkgYWxzbyBwcm92aWRlIHBjbSBzb3Vu
ZCBzZXJ2aWNlcy4NCiMNCiMgc2JjOiAgQ3JlYXRpdmUgU291bmRCbGFzdGVy
IElTQSBQblAvbm9uLVBuUA0KIwlTdXBwb3J0cyBFU1MgYW5kIEF2YW5jZSBJ
U0EgY2hpcHMgYXMgd2VsbC4NCiMgZ3VzYzogR3JhdmlzIFVsdHJhU291bmQg
SVNBIFBuUC9ub24tUG5QDQojIGNzYTogIENyeXN0YWwgU2VtaWNvbmR1Y3Rv
ciBDUzQ2MXgvNDI4eCBQQ0kNCg0KIyBGb3Igbm9uLVBuUCBjYXJkczoNCiNk
ZXZpY2UJCXNiYzAJYXQgaXNhPyBwb3J0IDB4MjIwIGlycSA1IGRycSAxIGZs
YWdzIDB4MTUNCiNkZXZpY2UJCWd1c2MwCWF0IGlzYT8gcG9ydCAweDIyMCBp
cnEgNSBkcnEgMSBmbGFncyAweDEzDQoNCiMgTm90IGNvbnRyb2xsZWQgYnkg
YHNuZCcNCiNkZXZpY2UJCXBjYTAgYXQgaXNhPyBwb3J0IElPX1RJTUVSMQ0K
DQojDQojIE1pc2NlbGxhbmVvdXMgaGFyZHdhcmU6DQojDQojIG1jZDogTWl0
c3VtaSBDRC1ST00gdXNpbmcgcHJvcHJpZXRhcnkgKG5vbi1BVEFQSSkgaW50
ZXJmYWNlDQojIHNjZDogU29ueSBDRC1ST00gdXNpbmcgcHJvcHJpZXRhcnkg
KG5vbi1BVEFQSSkgaW50ZXJmYWNlDQojIG1hdGNkOiBNYXRzdXNoaXRhL1Bh
bmFzb25pYyBDRC1ST00gdXNpbmcgcHJvcHJpZXRhcnkgKG5vbi1BVEFQSSkg
aW50ZXJmYWNlDQojIHd0OiBXYW5ndGVrIGFuZCBBcmNoaXZlIFFJQy0wMi9R
SUMtMzYgdGFwZSBkcml2ZXMNCiMgY3R4OiBDb3J0ZXgtSSBmcmFtZSBncmFi
YmVyDQojIGFwbTogTGFwdG9wIEFkdmFuY2VkIFBvd2VyIE1hbmFnZW1lbnQg
KGV4cGVyaW1lbnRhbCkNCiMgc3BpZ290OiBUaGUgQ3JlYXRpdmUgTGFicyBW
aWRlbyBTcGlnb3QgdmlkZW8tYWNxdWlzaXRpb24gYm9hcmQNCiMgbWV0ZW9y
OiBNYXRyb3ggTWV0ZW9yIHZpZGVvIGNhcHR1cmUgYm9hcmQNCiMgYmt0cjog
QnJvb2t0cmVlIGJ0ODQ4Lzg0OGEvODQ5YS84NzgvODc5IHZpZGVvIGNhcHR1
cmUgYW5kIFRWIFR1bmVyIGJvYXJkDQojIGN5OiBDeWNsYWRlcyBzZXJpYWwg
ZHJpdmVyDQojIGRnYjogRGlnaWJvYXJkIFBDL1hpIGFuZCBQQy9YZSBzZXJp
ZXMgZHJpdmVyIChBTFBIQSBRVUFMSVRZISkNCiMgZGdtOiBEaWdpYm9hcmQg
UEMvWGVtIGRyaXZlcg0KIyBncDogIE5hdGlvbmFsIEluc3RydW1lbnRzIEFU
LUdQSUIgYW5kIEFULUdQSUIvVE5UIGJvYXJkDQojIGFzYzogR0kxOTA0LWJh
c2VkIGhhbmQgc2Nhbm5lcnMsIGUuZy4gdGhlIFRydXN0IEFtaXNjYW4gR3Jl
eQ0KIyBnc2M6IEdlbml1cyBHUy00NTAwIGhhbmQgc2Nhbm5lci4NCiMgam95
OiBqb3lzdGljaw0KIyBsYWJwYzogTmF0aW9uYWwgSW5zdHJ1bWVudCdzIExh
Yi1QQyBhbmQgTGFiLVBDKw0KIyByYzogUklTQ29tLzggbXVsdGlwb3J0IGNh
cmQNCiMgcnA6IENvbXRyb2wgUm9ja2V0cG9ydChJU0EpIC0gc2luZ2xlIGNh
cmQNCiMgdHc6IFRXLTUyMyBwb3dlciBsaW5lIGludGVyZmFjZSBmb3IgdXNl
IHdpdGggWC0xMCBob21lIGNvbnRyb2wgcHJvZHVjdHMNCiMgc2k6IFNwZWNp
YWxpeCBTSS9YSU8gNC0zMiBwb3J0IHRlcm1pbmFsIG11bHRpcGxleG9yDQoj
IHN0bDogU3RhbGxpb24gRWFzeUlPIGFuZCBFYXN5Q29ubmVjdGlvbiA4LzMy
IChJU0EgYW5kIFBDSSksIEVhc3lDb25uZWN0aW9uIDgvNjQgUENJDQojIHN0
bGk6IFN0YWxsaW9uIEVhc3lDb25uZWN0aW9uIDgvNjQgSVNBL0VJU0EsIE9O
Ym9hcmQsIEJydW1ieSAoaW50ZWxsaWdlbnQpDQojIG5tZG06IG51bGxtb2Rl
bSB0ZXJtaW5hbCBkcml2ZXIgKHNlZSBubWRtKDQpKQ0KDQojIE5vdGVzIG9u
IEFQTQ0KIyAgVGhlIGZsYWdzIHRha2VzIHRoZSBmb2xsb3dpbmcgbWVhbmlu
ZyBmb3IgYXBtMDoNCiMgICAgMHgwMDIwICBTdGF0Y2xvY2sgaXMgYnJva2Vu
Lg0KIyAgSWYgYXBtIGlzIG9taXR0ZWQsIHNvbWUgc3lzdGVtcyByZXF1aXJl
IHN5c2N0bCAtdyBrZXJuLnRpbWVjb3VudGVyLm1ldGhvZD0xDQojICBmb3Ig
Y29ycmVjdCB0aW1la2VlcGluZy4NCg0KIyBOb3RlcyBvbiB0aGUgc3BpZ290
Og0KIyAgVGhlIHZpZGVvIHNwaWdvdCBpcyBhdCAweGFkNi4gIFRoaXMgcG9y
dCBhZGRyZXNzIGNhbiBub3QgYmUgY2hhbmdlZC4NCiMgIFRoZSBpcnEgdmFs
dWVzIG1heSBvbmx5IGJlIDEwLCAxMSwgb3IgMTUNCiMgIEkvTyBtZW1vcnkg
aXMgYW4gOGtiIHJlZ2lvbi4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQojICAg
IDBhMDAwMCwgMGEyMDAwLCAuLi4sIDBmZmZmZiwgZjAwMDAwLCBmMDIwMDAs
IC4uLiwgZmZmZmZmDQojICAgIFRoZSBzdGFydCBhZGRyZXNzIG11c3QgYmUg
b24gYW4gZXZlbiBib3VuZGFyeS4NCiMgIEFkZCB0aGUgZm9sbG93aW5nIG9w
dGlvbiBpZiB5b3Ugd2FudCB0byBhbGxvdyBub24tcm9vdCB1c2VycyB0byBi
ZSBhYmxlDQojICB0byBhY2Nlc3MgdGhlIHNwaWdvdC4gIFRoaXMgb3B0aW9u
IGlzIG5vdCBzZWN1cmUgYmVjYXVzZSBpdCBhbGxvd3MgdXNlcnMNCiMgIGRp
cmVjdCBhY2Nlc3MgdG8gdGhlIEkvTyBwYWdlLg0KIyAgCW9wdGlvbnMgU1BJ
R09UX1VOU0VDVVJFDQoNCiMgTm90ZXMgb24gdGhlIENvbXRyb2wgUm9ja2V0
cG9ydCBkcml2ZXI6DQojDQojIFRoZSBleGFjdCB2YWx1ZXMgdXNlZCBmb3Ig
cnAwIGRlcGVuZCBvbiBob3cgbWFueSBib2FyZHMgeW91IGhhdmUNCiMgaW4g
dGhlIHN5c3RlbS4gIFRoZSBtYW51ZmFjdHVyZXIncyBzYW1wbGUgY29uZmln
cyBhcmUgbGlzdGVkIGFzOg0KIw0KIyAgIENvbXRyb2wgUm9ja2V0cG9ydCBJ
U0Egc2luZ2xlIGNhcmQNCiMgICAgICAgICAgICAgICBkZXZpY2UgIHJwMCAg
ICAgYXQgaXNhPyBwb3J0IDB4MjgwDQojDQojICAgSWYgaW5zdGVhZCB5b3Ug
aGF2ZSB0d28gSVNBIGNhcmRzLCBvbmUgaW5zdGFsbGVkIGF0IDB4MTAwIGFu
ZCB0aGUNCiMgICBzZWNvbmQgaW5zdGFsbGVkIGF0IDB4MTgwLCB0aGVuIHlv
dSBzaG91bGQgYWRkIHRoZSBmb2xsb3dpbmcgdG8NCiMgICB5b3VyIGtlcm5l
bCBjb25maWd1cmF0aW9uIGZpbGU6DQojDQojICAgICAgICAgICAgICAgZGV2
aWNlICBycDAgICAgIGF0IGlzYT8gcG9ydCAweDEwMA0KIyAgICAgICAgICAg
ICAgIGRldmljZSAgcnAxICAgICBhdCBpc2E/IHBvcnQgMHgxODANCiMNCiMg
ICBGb3IgNCBJU0EgY2FyZHMsIGl0IG1pZ2h0IGJlIHNvbWV0aGluZyBsaWtl
IHRoaXM6DQojDQojICAgICAgICAgICAgICAgZGV2aWNlICBycDAgICAgIGF0
IGlzYT8gcG9ydCAweDE4MA0KIyAgICAgICAgICAgICAgIGRldmljZSAgcnAx
ICAgICBhdCBpc2E/IHBvcnQgMHgxMDANCiMgICAgICAgICAgICAgICBkZXZp
Y2UgIHJwMiAgICAgYXQgaXNhPyBwb3J0IDB4MzQwDQojICAgICAgICAgICAg
ICAgZGV2aWNlICBycDMgICAgIGF0IGlzYT8gcG9ydCAweDI0MA0KIw0KIyAg
IEFuZCBmb3IgUENJIGNhcmRzLCB5b3Ugb25seSBuZWVkIHNheToNCiMNCiMg
ICAgICAgICAgICAgICBkZXZpY2UgcnANCg0KIyBOb3RlcyBvbiB0aGUgRGln
aWJvYXJkIGRyaXZlcjoNCiMNCiMgVGhlIGZvbGxvd2luZyBmbGFnIHZhbHVl
cyBoYXZlIHNwZWNpYWwgbWVhbmluZ3M6DQojCTB4MDEgLSBhbHRlcm5hdGUg
bGF5b3V0IG9mIHBpbnMgKGRnYiAmIGRnbSkNCiMJMHgwMiAtIHVzZSB0aGUg
d2luZG93ZWQgUEMvWGUgaW4gNjRLIG1vZGUgKGRnYiBvbmx5KQ0KDQojIE5v
dGVzIG9uIHRoZSBTcGVjaWFsaXggU0kvWElPIGRyaXZlcjoNCiMgICoqVGhp
cyBpcyBOT1QgYSBTcGVjaWFsaXggc3VwcG9ydGVkIERyaXZlciEqKg0KIyAg
VGhlIGhvc3QgY2FyZCBpcyBtZW1vcnksIG5vdCBJTyBtYXBwZWQuDQojICBU
aGUgUmV2IDEgaG9zdCBjYXJkcyB1c2UgYSA2NEsgY2h1bmssIG9uIGEgMzJL
IGJvdW5kYXJ5Lg0KIyAgVGhlIFJldiAyIGhvc3QgY2FyZHMgdXNlIGEgMzJL
IGNodW5rLCBvbiBhIDMySyBib3VuZGFyeS4NCiMgIFRoZSBjYXJkcyBjYW4g
dXNlIGFuIElSUSBvZiAxMSwgMTIgb3IgMTUuDQoNCiMgTm90ZXMgb24gdGhl
IFN0YWxsaW9uIHN0bCBhbmQgc3RsaSBkcml2ZXJzOg0KIyAgU2VlIHNyYy9p
Mzg2L2lzYS9SRUFETUUuc3RsIGZvciBjb21wbGV0ZSBpbnN0cnVjdGlvbnMu
DQojICBUaGlzIGlzIHZlcnNpb24gMi4wLjAsIHVuc3VwcG9ydGVkIGJ5IFN0
YWxsaW9uLg0KIyAgVGhlIHN0bCBkcml2ZXIgaGFzIGEgc2Vjb25kYXJ5IElP
IHBvcnQgaGFyZCBjb2RlZCBhdCAweDI4MC4gIFlvdSBuZWVkDQojICAgICB0
byBjaGFuZ2Ugc3JjL2kzODYvaXNhL3N0YWxsaW9uLmMgaWYgeW91IHJlY29u
ZmlndXJlIHRoaXMgb24gdGhlIGJvYXJkcy4NCiMgIFRoZSAiZmxhZ3MiIGFu
ZCAiaW9zaXoiIHNldHRpbmdzIG9uIHRoZSBzdGxpIGRyaXZlciBkZXBlbmQg
b24gdGhlIGJvYXJkOg0KIwlFYXN5Q29ubmVjdGlvbiA4LzY0IElTQTogICAg
IGZsYWdzIDIzICAgICAgICAgaW9zaXogMHgxMDAwDQojCUVhc3lDb25uZWN0
aW9uIDgvNjQgRUlTQTogICAgZmxhZ3MgMjQgICAgICAgICBpb3NpeiAweDEw
MDAwDQojCUVhc3lDb25uZWN0aW9uIDgvNjQgTUNBOiAgICAgZmxhZ3MgMjUg
ICAgICAgICBpb3NpeiAweDEwMDANCiMJT05ib2FyZCBJU0E6ICAgICAgICAg
ICAgICAgICBmbGFncyA0ICAgICAgICAgIGlvc2l6IDB4MTAwMDANCiMJT05i
b2FyZCBFSVNBOiAgICAgICAgICAgICAgICBmbGFncyA3ICAgICAgICAgIGlv
c2l6IDB4MTAwMDANCiMJT05ib2FyZCBNQ0E6ICAgICAgICAgICAgICAgICBm
bGFncyAzICAgICAgICAgIGlvc2l6IDB4MTAwMDANCiMJQnJ1bWJ5OiAgICAg
ICAgICAgICAgICAgICAgICBmbGFncyAyICAgICAgICAgIGlvc2l6IDB4NDAw
MA0KIwlTdGFsbGlvbjogICAgICAgICAgICAgICAgICAgIGZsYWdzIDEgICAg
ICAgICAgaW9zaXogMHgxMDAwMA0KIyAgRm9yIHRoZSBQQ0kgY2FyZHMsICJk
ZXZpY2Ugc3RsIiB3aWxsIHN1ZmZpY2UuDQoNCiNkZXZpY2UJCW1jZDAJYXQg
aXNhPyBwb3J0IDB4MzAwIGlycSAxMA0KIyBmb3IgdGhlIFNvbnkgQ0RVMzEv
MzNBIENEUk9NDQojZGV2aWNlCQlzY2QwCWF0IGlzYT8gcG9ydCAweDIzMA0K
IyBmb3IgdGhlIFNvdW5kQmxhc3RlciAxNiBtdWx0aWNkIC0gdXAgdG8gNCBk
ZXZpY2VzDQojZGV2aWNlCQltYXRjZDAgIGF0IGlzYT8gcG9ydCAweDIzMA0K
I2RldmljZQkJd3QwCWF0IGlzYT8gcG9ydCAweDMwMCBpcnEgNSBkcnEgMQ0K
I2RldmljZQkJY3R4MAlhdCBpc2E/IHBvcnQgMHgyMzAgaW9tZW0gMHhkMDAw
MA0KI2RldmljZQkJc3BpZ290MCBhdCBpc2E/IHBvcnQgMHhhZDYgaXJxIDE1
IGlvbWVtIDB4ZWUwMDANCiNkZXZpY2UJCWFwbTANCiNkZXZpY2UJCWdwMAlh
dCBpc2E/IHBvcnQgMHgyYzANCiNkZXZpY2UJCWdzYzAJYXQgaXNhPyBwb3J0
IElPX0dTQzEgZHJxIDMNCiNkZXZpY2UJCWpveTAJYXQgaXNhPyBwb3J0IElP
X0dBTUUNCiNkZXZpY2UJCWN5MAlhdCBpc2E/IGlycSAxMCBpb21lbSAweGQ0
MDAwIGlvc2l6IDB4MjAwMA0KI29wdGlvbnMgCUNZX1BDSV9GQVNUSU5UUgkJ
IyBVc2Ugd2l0aCBjeV9wY2kgdW5sZXNzIGlycSBpcyBzaGFyZWQNCiNkZXZp
Y2UJCWRnYjAJYXQgaXNhPyBwb3J0IDB4MjIwIGlvbWVtIDB4ZmMwMDANCiNv
cHRpb25zIAlOREdCUE9SVFM9MTYJCSMgRGVmYXVsdHMgdG8gMTYqTkRHQg0K
I2RldmljZQkJZGdtMAlhdCBpc2E/IHBvcnQgMHgxMDQgaW9tZW0gMHhkMDAw
MA0KI2RldmljZQkJbGFicGMwCWF0IGlzYT8gcG9ydCAweDI2MCBpcnEgNQ0K
I2RldmljZQkJcmMwCWF0IGlzYT8gcG9ydCAweDIyMCBpcnEgMTINCiNkZXZp
Y2UJCXJwMAlhdCBpc2E/IHBvcnQgMHgyODANCiMgdGhlIHBvcnQgYW5kIGly
cSBmb3IgdHcwIGFyZSBmaWN0aXRpb3VzDQojZGV2aWNlCQl0dzAJYXQgaXNh
PyBwb3J0IDB4MzgwIGlycSAxMQ0KI2RldmljZQkJc2kwCWF0IGlzYT8gaW9t
ZW0gMHhkMDAwMCBpcnEgMTINCiNkZXZpY2UJCWFzYzAJYXQgaXNhPyBwb3J0
IElPX0FTQzEgZHJxIDMgaXJxIDEwDQojZGV2aWNlCQlzdGwwCWF0IGlzYT8g
cG9ydCAweDJhMCBpcnEgMTANCiNkZXZpY2UJCXN0bGkwCWF0IGlzYT8gcG9y
dCAweDJhMCBpb21lbSAweGNjMDAwIGZsYWdzIDIzIGlvc2l6IDB4MTAwMA0K
IyBZb3UgYXJlIHVubGlrZWx5IHRvIGhhdmUgdGhlIGhhcmR3YXJlIGZvciBs
b3JhbjAgPHBoa0BGcmVlQlNELm9yZz4NCiNkZXZpY2UJCWxvcmFuMAlhdCBp
c2E/IGlycSA1DQojIEhPVDEgWGlsaW54IDYyMDAgY2FyZCAoaHR0cDovL3d3
dy52Y2MuY29tLykNCiNkZXZpY2UJCXhycHUNCiMgbnVsbG1vZGVtIHRlcm1p
bmFsIGRyaXZlcg0KI2RldmljZQkJbm1kbQ0KDQojDQojIE1DQSBkZXZpY2Vz
Og0KIw0KIyBUaGUgTUNBIGJ1cyBkZXZpY2UgaXMgYG1jYScuICBJdCBwcm92
aWRlcyBhdXRvLWRldGVjdGlvbiBhbmQNCiMgY29uZmlndXJhdGlvbiBzdXBw
b3J0IGZvciBhbGwgZGV2aWNlcyBvbiB0aGUgTUNBIGJ1cy4NCiMNCiMgVGhl
ICdhaGEnIGRldmljZSBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgQWRhcHRl
YyAxNjQwDQojDQojIFRoZSAnYnQnIGRldmljZSBwcm92aWRlcyBzdXBwb3J0
IGZvciB2YXJpb3VzIEJ1c2xvZ2ljL0J1c3Rlaw0KIyBhbmQgU3RvcmFnZSBE
aW1lbnNpb25zIFNDU0kgYWRhcHRlcnMuDQojDQojIFRoZSAnZXAnIGRldmlj
ZSBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgM0NvbSAzQzUyOSBldGhlcm5l
dCBjYXJkLg0KIw0KZGV2aWNlCQltY2ENCg0KIw0KIyBFSVNBIGRldmljZXM6
DQojDQojIFRoZSBFSVNBIGJ1cyBkZXZpY2UgaXMgYGVpc2EnLiAgSXQgcHJv
dmlkZXMgYXV0by1kZXRlY3Rpb24gYW5kDQojIGNvbmZpZ3VyYXRpb24gc3Vw
cG9ydCBmb3IgYWxsIGRldmljZXMgb24gdGhlIEVJU0EgYnVzLg0KIw0KIyBU
aGUgYGFoYicgZGV2aWNlIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBBZGFw
dGVjIDE3NFggYWRhcHRlci4NCiMNCiMgVGhlIGBhaGMnIGRldmljZSBwcm92
aWRlcyBzdXBwb3J0IGZvciB0aGUgQWRhcHRlYyAyNzRYIGFuZCAyODRYDQoj
IGFkYXB0ZXJzLiAgVGhlIDI4NFgsIGFsdGhvdWdoIGEgVkxCIGNhcmQsIHJl
c3BvbmRzIHRvIEVJU0EgcHJvYmVzLg0KIw0KIyBmZWE6IERFQyBERUZFQSBF
SVNBIEZEREkgYWRhcHRlcg0KIw0KI2RldmljZQkJZWlzYQ0KI2RldmljZQkJ
YWhiDQojZGV2aWNlCQlhaGMNCiNkZXZpY2UJCWZlYQ0KDQojIFRoZSBhaWM3
eHh4IGRyaXZlciB3aWxsIGF0dGVtcHQgdG8gdXNlIG1lbW9yeSBtYXBwZWQg
SS9PIGZvciBhbGwgUENJDQojIGNvbnRyb2xsZXJzIHRoYXQgaGF2ZSBpdCBj
b25maWd1cmVkIG9ubHkgaWYgdGhpcyBvcHRpb24gaXMgc2V0LiBVbmZvcnR1
bmF0ZWx5LA0KIyB0aGlzIGRvZXNuJ3Qgd29yayBvbiBzb21lIG1vdGhlcmJv
YXJkcywgd2hpY2ggcHJldmVudHMgaXQgZnJvbSBiZWluZyB0aGUNCiMgZGVm
YXVsdC4NCiNvcHRpb25zIAlBSENfQUxMT1dfTUVNSU8NCg0KIyBUaGUgYWR3
IGRyaXZlciB3aWxsIGF0dGVtcHQgdG8gdXNlIG1lbW9yeSBtYXBwZWQgSS9P
IGZvciBhbGwgUENJDQojIGNvbnRyb2xsZXJzIHRoYXQgaGF2ZSBpdCBjb25m
aWd1cmVkIG9ubHkgaWYgdGhpcyBvcHRpb24gaXMgc2V0Lg0KI29wdGlvbnMg
CUFEV19BTExPV19NRU1JTw0KDQojIEJ5IGRlZmF1bHQsIG9ubHkgMTAgRUlT
QSBzbG90cyBhcmUgcHJvYmVkLCBzaW5jZSB0aGUgc2xvdCBudW1iZXJzDQoj
IGFib3ZlIGNsYXNoIHdpdGggdGhlIGNvbmZpZ3VyYXRpb24gYWRkcmVzcyBz
cGFjZSBvZiB0aGUgUENJIHN1YnN5c3RlbSwNCiMgYW5kIHRoZSBFSVNBIHBy
b2JlIGlzIG5vdCB2ZXJ5IHNtYXJ0IGFib3V0IHRoaXMuICBUaGlzIGlzIHN1
ZmZpY2llbnQNCiMgZm9yIG1vc3QgbWFjaGluZXMsIGJ1dCBpbiBwYXJ0aWN1
bGFyIHRoZSBIUCBOZXRTZXJ2ZXIgTEMgc2VyaWVzIGNvbWVzDQojIHdpdGgg
YW4gb25ib2FyZCBBSUM3NzcwIGR1YWwtY2hhbm5lbCBTQ1NJIGNvbnRyb2xs
ZXIgb24gRUlTQSBzbG90ICMxMSwNCiMgdGh1cyB5b3UgbmVlZCB0byBidW1w
IHRoaXMgZmlndXJlIHRvIDEyIGZvciB0aGVtLg0KI29wdGlvbnMgCUVJU0Ff
U0xPVFM9MTINCg0KIw0KIyBQQ0kgZGV2aWNlcyAmIFBDSSBvcHRpb25zOg0K
Iw0KIyBUaGUgbWFpbiBQQ0kgYnVzIGRldmljZSBpcyBgcGNpJy4gIEl0IHBy
b3ZpZGVzIGF1dG8tZGV0ZWN0aW9uIGFuZA0KIyBjb25maWd1cmF0aW9uIHN1
cHBvcnQgZm9yIGFsbCBkZXZpY2VzIG9uIHRoZSBQQ0kgYnVzLCB1c2luZyBl
aXRoZXINCiMgY29uZmlndXJhdGlvbiBtb2RlIGRlZmluZWQgaW4gdGhlIFBD
SSBzcGVjaWZpY2F0aW9uLg0KDQpkZXZpY2UJCXBjaQ0KDQojIFBDSSBvcHRp
b25zDQojDQpvcHRpb25zIAlQQ0lfUVVJRVQJI3F1aWV0cyBQQ0kgY29kZSBv
biBjaGlwc2V0IHNldHRpbmdzDQoNCg0KIyBUaGUgYGFoYycgZGV2aWNlIHBy
b3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBBZGFwdGVjIDI5LzM5NDAoVSkoVykN
CiMgYW5kIG1vdGhlcmJvYXJkIGJhc2VkIEFJQzc4NzAvQUlDNzg4MCBhZGFw
dGVycy4NCiMNCiMgVGhlIGBhbWQnIGRldmljZSBwcm92aWRlcyBzdXBwb3J0
IGZvciB0aGUgQU1EIDUzQzk3NCBTQ1NJIGhvc3QNCiMgYWRhcHRlciBjaGlw
IGFzIGZvdW5kIG9uIGRldmljZXMgc3VjaCBhcyB0aGUgVGVrcmFtIERDLTM5
MChUKS4NCiMNCiMgVGhlIGBiZ2UnIGRldmljZSBwcm92aWRlcyBzdXBwb3J0
IGZvciBnaWdhYml0IGV0aGVybmV0IGFkYXB0ZXJzDQojIGJhc2VkIG9uIHRo
ZSBCcm9hZGNvbSBCQ001NzB4IGZhbWlsaXkgb2YgY29udHJvbGxlcnMsIGlu
Y2x1ZGluZyB0aGUNCiMgM0NvbSAzYzk5Ni1ULCB0aGUgTmV0Z2VhciBHQTMw
MlQsIHRoZSBTeXNLb25uZWN0IFNLLTlEMjEgYW5kIFNLLTlENDEsDQojIGFu
ZCB0aGUgZW1iZWRkZWQgZ2lnRSBOSUNzIG9uIERlbGwgUG93ZXJFZGdlIDI1
NTAgc2VydmVycy4NCiMNCiMgVGhlIGBuY3InIGRldmljZSBwcm92aWRlcyBz
dXBwb3J0IGZvciB0aGUgTkNSIDUzQzgxMCBhbmQgNTNDODI1DQojIHNlbGYt
Y29udGFpbmVkIFNDU0kgaG9zdCBhZGFwdGVycy4NCiMNCiMgVGhlIGBpc3An
IGRldmljZSBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgUWxvZ2ljIElTUCAx
MDIwLCAxMDQwDQojIG5kIDEwNDBCIFBDSSBTQ1NJIGhvc3QgYWRhcHRlcnMs
IElTUCAxMjQwIER1YWwgVWx0cmEgU0NTSSwNCiMgSVNQIDEwODAgYW5kIDEy
ODAgKER1YWwpIFVsdHJhMiwgSVNQIDEyMTYwIFVsdHJhMyBTQ1NJLCBhcyB3
ZWxsIGFzDQojIHRoZSBRbG9naWMgSVNQIDIxMDAgYW5kIElTUCAyMjAwIEZp
YnJlIENoYW5uZWwgSG9zdCBBZGFwdGVycy4NCiMNCiMgVGhlIGBkYycgZGV2
aWNlIHByb3ZpZGVzIHN1cHBvcnQgZm9yIFBDSSBmYXN0IGV0aGVybmV0IGFk
YXB0ZXJzDQojIGJhc2VkIG9uIHRoZSBERUMvSW50ZWwgMjExNDMgYW5kIHZh
cmlvdXMgd29ya2FsaWtlcyBpbmNsdWRpbmc6DQojIHRoZSBBRE10ZWsgQUw5
ODEgQ29tZXQgYW5kIEFOOTg1IENlbnRhdXIsIHRoZSBBU0lYIEVsZWN0cm9u
aWNzDQojIEFYODgxNDBBIGFuZCBBWDg4MTQxLCB0aGUgRGF2aWNvbSBETTkx
MDAgYW5kIERNOTEwMiwgdGhlIExpdGUtT24NCiMgODJjMTY4IGFuZCA4MmMx
NjkgUE5JQywgdGhlIExpdGUtT24vTWFjcm9uaXggTEM4MkMxMTUgUE5JQyBJ
SQ0KIyBhbmQgdGhlIE1hY3Jvbml4IDk4NzEzLzk4NzEzQS85ODcxNS85ODcx
NUEvOTg3MjUgUE1BQy4gVGhpcyBkcml2ZXINCiMgcmVwbGFjZXMgdGhlIG9s
ZCBhbCwgYXgsIGRtLCBwbiBhbmQgbXggZHJpdmVycy4gIExpc3Qgb2YgYnJh
bmRzOg0KIyBEaWdpdGFsIERFNTAwLUJBLCBLaW5nc3RvbiBLTkUxMDBUWCwg
RC1MaW5rIERGRS01NzBUWCwgU09IT3dhcmUgU0ZBMTEwLCANCiMgU1ZFQyBQ
TjEwMi1UWCwgQ05ldCBQcm8xMTBCLCAxMjBBLCBhbmQgMTIwQiwgQ29tcGV4
IFJMMTAwLVRYLCANCiMgTGlua1N5cyBMTkUxMDBUWCwgTE5FMTAwVFggVjIu
MCwgSmF0b24gWHByZXNzTmV0LCBBbGZhIEluYyBHRkMyMjA0LA0KIyBLTkUx
MTBUWC4NCiMNCiMgVGhlIGBkZScgZGV2aWNlIHByb3ZpZGVzIHN1cHBvcnQg
Zm9yIHRoZSBEaWdpdGFsIEVxdWlwbWVudCBEQzIxMDQwDQojIHNlbGYtY29u
dGFpbmVkIEV0aGVybmV0IGFkYXB0ZXIuDQojDQojIFRoZSBgZnhwJyBkZXZp
Y2UgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlIEludGVsIEV0aGVyRXhwcmVz
cyBQcm8vMTAwQg0KIyBQQ0kgRmFzdCBFdGhlcm5ldCBhZGFwdGVycy4NCiMN
CiMgVGhlIGBneCcgZGV2aWNlIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBJ
bnRlbCBQcm8vMTAwMCBHaWdhYml0IEV0aGVybmV0DQojIFBDSSBhZGFwdGVy
cyAoODI1NDIsIDgyNTQzLUYsIDgyNTQzLVQpLg0KIw0KIyBUaGUgJ2xnZScg
ZGV2aWNlIHByb3ZpZGVzIHN1cHBvcnQgZm9yIFBDSSBnaWdhYml0IGV0aGVy
bmV0IGFkYXB0ZXJzDQojIGJhc2VkIG9uIHRoZSBMZXZlbCAxIExYVDEwMDEg
TmV0Q2VsbGVyYXRvciBjaGlwc2V0LiBUaGlzIGluY2x1ZGVzIHRoZQ0KIyBE
LUxpbmsgREdFLTUwMFNYLCBTTUMgVGlnZXJDYXJkIDEwMDAgKFNNQzk0NjJT
WCksIGFuZCBzb21lIEFkZHRyb24gY2FyZHMuDQojDQojIFRoZSAnbmdlJyBk
ZXZpY2UgcHJvdmlkZXMgc3VwcG9ydCBmb3IgUENJIGdpZ2FiaXQgZXRoZXJu
ZXQgYWRhcHRlcnMNCiMgYmFzZWQgb24gdGhlIE5hdGlvbmFsIFNlbWljb25k
dWN0b3IgRFA4MzgyMCBhbmQgRFA4MzgyMSBjaGlwc2V0LiBUaGlzDQojIGlu
Y2x1ZGVzIHRoZSBTTUMgRVogQ2FyZCAxMDAwIChTTUM5NDYyVFgpLCBELUxp
bmsgREdFLTUwMFQsIEFzYW50ZQ0KIyBGcmllbmRseU5ldCBHaWdhTklYIDEw
MDBUQSBhbmQgMTAwMFRQQywgdGhlIEFkZHRyb24gQUVHMzIwVCwgdGhlDQoj
IExpbmtTeXMgRUcxMDMyIGFuZCBFRzEwNjQsIHRoZSBTdXJlY29tIEVQLTMy
MEctVFggYW5kIHRoZSBOZXRnZWFyIEdBNjIyVC4NCiMNCiMgVGhlICdwY24n
IGRldmljZSBwcm92aWRlcyBzdXBwb3J0IGZvciBQQ0kgZmFzdCBldGhlcm5l
dCBhZGFwdGVycyBiYXNlZA0KIyBvbiB0aGUgQU1EIEFtNzljOTd4IGNoaXBz
ZXRzLCBpbmNsdWRpbmcgdGhlIFBDbmV0L0ZBU1QsIFBDbmV0L0ZBU1QrLA0K
IyBQQ25ldC9QUk8gYW5kIFBDbmV0L0hvbWUuIFRoZXNlIHdlcmUgcHJldmlv
dXNseSBoYW5kbGVkIGJ5IHRoZSBsbmMNCiMgZHJpdmVyIChhbmQgc3RpbGwg
d2lsbCBiZSBpZiB5b3UgbGVhdmUgdGhpcyBkcml2ZXIgb3V0IG9mIHRoZSBr
ZXJuZWwpLg0KIw0KIyBUaGUgJ3JsJyBkZXZpY2UgcHJvdmlkZXMgc3VwcG9y
dCBmb3IgUENJIGZhc3QgZXRoZXJuZXQgYWRhcHRlcnMgYmFzZWQNCiMgb24g
dGhlIFJlYWxUZWsgODEyOS84MTM5IGNoaXBzZXQuIE5vdGUgdGhhdCB0aGUg
UmVhbFRlayBkcml2ZXIgZGVmYXVsdHMNCiMgdG8gdXNpbmcgcHJvZ3JhbW1l
ZCBJL08gdG8gZG8gcmVnaXN0ZXIgYWNjZXNzZXMgYmVjYXVzZSBtZW1vcnkg
bWFwcGVkDQojIG1vZGUgc2VlbXMgdG8gY2F1c2Ugc2V2ZXJlIGxvY2t1cHMg
b24gU01QIGhhcmR3YXJlLiBUaGlzIGRyaXZlciBhbHNvDQojIHN1cHBvcnRz
IHRoZSBBY2N0b24gRU4xMjA3RCBgQ2hlZXRhaCcgYWRhcHRlciwgd2hpY2gg
dXNlcyBhIGNoaXAgY2FsbGVkDQojIHRoZSBNUFggNTAzMC81MDM4LCB3aGlj
aCBpcyBlaXRoZXIgYSBSZWFsVGVrIGluIGRpc2d1aXNlIG9yIGEgUmVhbFRl
aw0KIyB3b3JrYWxpa2UuICBOb3RlIHRoYXQgdGhlIEQtTGluayBERkUtNTMw
VFgrIHVzZXMgdGhlIFJlYWxUZWsgY2hpcHNldA0KIyBhbmQgaXMgc3VwcG9y
dGVkIGJ5IHRoaXMgZHJpdmVyLCBub3QgdGhlICd2cicgZHJpdmVyLg0KIw0K
IyBUaGUgJ3NmJyBkZXZpY2UgcHJvdmlkZXMgc3VwcG9ydCBmb3IgQWRhcHRl
YyBEdXJhbGluayBQQ0kgZmFzdA0KIyBldGhlcm5ldCBhZGFwdGVycyBiYXNl
ZCBvbiB0aGUgQWRhcHRlYyBBSUMtNjkxNSAic3RhcmZpcmUiIGNvbnRyb2xs
ZXIuDQojIFRoaXMgaW5jbHVkZXMgZHVhbCBhbmQgcXVhZCBwb3J0IGNhcmRz
LCBhcyB3ZWxsIGFzIG9uZSAxMDBiYXNlRlggY2FyZC4NCiMgTW9zdCBvZiB0
aGVzZSBhcmUgNjQtYml0IFBDSSBkZXZpY2VzLCBleGNlcHQgZm9yIG9uZSBz
aW5nbGUgcG9ydA0KIyBjYXJkIHdoaWNoIGlzIDMyLWJpdC4NCiMNCiMgVGhl
ICdzdGUnIGRldmljZSBwcm92aWRlcyBzdXBwb3J0IGZvciBhZGFwdGVycyBi
YXNlZCBvbiB0aGUgU3VuZGFuY2UNCiMgVGVjaG5vbG9naWVzIFNUMjAxIFBD
SSBmYXN0IGV0aGVybmV0IGNvbnRyb2xsZXIuIFRoaXMgaW5jbHVkZXMgdGhl
DQojIEQtTGluayBERkUtNTUwVFguDQojDQojIFRoZSAnc2lzJyBkZXZpY2Ug
cHJvdmlkZXMgc3VwcG9ydCBmb3IgYWRhcHRlcnMgYmFzZWQgb24gdGhlIFNp
bGljb24NCiMgSW50ZWdyYXRlZCBTeXN0ZW1zIFNpUyA5MDAgYW5kIFNpUyA3
MDE2IFBDSSBmYXN0IGV0aGVybmV0IGNvbnRyb2xsZXINCiMgY2hpcHMuDQoj
DQojIFRoZSAnc2snIGRldmljZSBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUg
U3lzS29ubmVjdCBTSy05ODR4IHNlcmllcw0KIyBQQ0kgZ2lnYWJpdCBldGhl
cm5ldCBOSUNzLiBUaGlzIGluY2x1ZGVzIHRoZSBTSy05ODQxIGFuZCBTSy05
ODQyDQojIHNpbmdsZSBwb3J0IGNhcmRzIChzaW5nbGUgbW9kZSBhbmQgbXVs
dGltb2RlIGZpYmVyKSBhbmQgdGhlDQojIFNLLTk4NDMgYW5kIFNLLTk4NDQg
ZHVhbCBwb3J0IGNhcmRzIChhbHNvIHNpbmdsZSBtb2RlIGFuZCBtdWx0aW1v
ZGUpLg0KIyBUaGUgZHJpdmVyIHdpbGwgYXV0b2RldGVjdCB0aGUgbnVtYmVy
IG9mIHBvcnRzIG9uIHRoZSBjYXJkIGFuZA0KIyBhdHRhY2ggZWFjaCBvbmUg
YXMgYSBzZXBhcmF0ZSBuZXR3b3JrIGludGVyZmFjZS4NCiMNCiMgVGhlICd0
aScgZGV2aWNlIHByb3ZpZGVzIHN1cHBvcnQgZm9yIFBDSSBnaWdhYml0IGV0
aGVybmV0IE5JQ3MgYmFzZWQNCiMgb24gdGhlIEFsdGVvbiBOZXR3b3JrcyBU
aWdvbiAxIGFuZCBUaWdvbiAyIGNoaXBzZXRzLiBUaGlzIGluY2x1ZGVzIHRo
ZQ0KIyBBbHRlb24gQWNlTklDLCB0aGUgM0NvbSAzYzk4NSwgdGhlIE5ldGdl
YXIgR0E2MjAgYW5kIHZhcmlvdXMgb3RoZXJzLg0KIyBOb3RlIHRoYXQgeW91
IHdpbGwgcHJvYmFibHkgd2FudCB0byBidW1wIHVwIE5NQkNMVVNURVJTIGEg
bG90IHRvIHVzZQ0KIyB0aGlzIGRyaXZlci4NCiMNCiMgVGhlICd0bCcgZGV2
aWNlIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBUZXhhcyBJbnN0cnVtZW50
cyBUTkVURTEwMA0KIyBzZXJpZXMgJ1RodW5kZXJMQU4nIGNhcmRzIGFuZCBp
bnRlZ3JhdGVkIGV0aGVybmV0IGNvbnRyb2xsZXJzLiBUaGlzDQojIGluY2x1
ZGVzIHNldmVyYWwgQ29tcGFxIE5ldGVsbGlnZW50IDEwLzEwMCBjYXJkcyBh
bmQgdGhlIGJ1aWx0LWluDQojIGV0aGVybmV0IGNvbnRyb2xsZXJzIGluIHNl
dmVyYWwgQ29tcGFxIFByb3NpZ25pYSwgUHJvbGlhbnQgYW5kDQojIERlc2tw
cm8gc3lzdGVtcy4gSXQgYWxzbyBzdXBwb3J0cyBzZXZlcmFsIE9saWNvbSAx
ME1icHMgYW5kIDEwLzEwMA0KIyBib2FyZHMuDQojDQojIFRoZSBgdHgnIGRl
dmljZSBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgU01DIDk0MzIgVFgsIEJU
WCBhbmQgRlRYIGNhcmRzLg0KIw0KIyBUaGUgYHR4cCcgZGV2aWNlIHByb3Zp
ZGVzIHN1cHBvcnQgZm9yIHRoZSAzQ29tIDNjUjk5MCAiVHlwaG9vbiINCiMg
MTAvMTAwIGFkYXB0ZXJzLg0KIw0KIyBUaGUgYHZyJyBkZXZpY2UgcHJvdmlk
ZXMgc3VwcG9ydCBmb3IgdmFyaW91cyBmYXN0IGV0aGVybmV0IGFkYXB0ZXJz
DQojIGJhc2VkIG9uIHRoZSBWSUEgVGVjaG5vbG9naWVzIFZUMzA0MyBgUmhp
bmUgSScgYW5kIFZUODZDMTAwQSBgUmhpbmUgSUknDQojIGNoaXBzLCBpbmNs
dWRpbmcgdGhlIEQtTGluayBERkU1MzBUWCAoc2VlICdybCcgZm9yIERGRTUz
MFRYKyksIHRoZSBIYXdraW5nIA0KIyBUZWNobm9sb2dpZXMgUE4xMDJUWCwg
YW5kIHRoZSBBT3Blbi9BY2VyIEFMTi0zMjAuDQojDQojIFRoZSBgdngnIGRl
dmljZSBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgM0NvbSAzQzU5MCBhbmQg
M0M1OTUNCiMgZWFybHkgc3VwcG9ydA0KIw0KIyBUaGUgYHdiJyBkZXZpY2Ug
cHJvdmlkZXMgc3VwcG9ydCBmb3IgdmFyaW91cyBmYXN0IGV0aGVybmV0IGFk
YXB0ZXJzDQojIGJhc2VkIG9uIHRoZSBXaW5ib25kIFc4OUM4NDBGIGNoaXAu
IE5vdGU6IHRoaXMgaXMgbm90IHRoZSBzYW1lIGFzDQojIHRoZSBXaW5ib25k
IFc4OUM5NDBGLCB3aGljaCBpcyBhbiBORTIwMDAgY2xvbmUuDQojDQojIFRo
ZSBgd3gnIGRldmljZSBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgSW50ZWwg
R2lnYWJpdCBFdGhlcm5ldA0KIyBQQ0kgY2FyZCAoYFdpc2VtYW4nKS4NCiMN
CiMgVGhlIGB4bCcgZGV2aWNlIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSAz
Q29tIDNjOTAwLCAzYzkwNSBhbmQNCiMgM2M5MDVCIChGYXN0KSBFdGhlcmxp
bmsgWEwgY2FyZHMgYW5kIGludGVncmF0ZWQgY29udHJvbGxlcnMuIFRoaXMN
CiMgaW5jbHVkZXMgdGhlIGludGVncmF0ZWQgM2M5MDVCLVRYIGNoaXBzIGlu
IGNlcnRhaW4gRGVsbCBPcHRpcGxleCBhbmQNCiMgRGVsbCBQcmVjaXNpb24g
ZGVza3RvcCBtYWNoaW5lcyBhbmQgdGhlIGludGVncmF0ZWQgM2M5MDUtVFgg
Y2hpcHMNCiMgaW4gRGVsbCBMYXRpdHVkZSBsYXB0b3AgZG9ja2luZyBzdGF0
aW9ucy4NCiMNCiMgVGhlIGBmcGEnIGRldmljZSBwcm92aWRlcyBzdXBwb3J0
IGZvciB0aGUgRGlnaXRhbCBERUZQQSBQQ0kgRkRESQ0KIyBhZGFwdGVyLiBw
c2V1ZG8tZGV2aWNlIGZkZGkgaXMgYWxzbyBuZWVkZWQuDQojDQojIFRoZSBg
bWV0ZW9yJyBkZXZpY2UgaXMgYSBQQ0kgdmlkZW8gY2FwdHVyZSBib2FyZC4g
SXQgY2FuIGFsc28gaGF2ZSB0aGUNCiMgZm9sbG93aW5nIG9wdGlvbnM6DQoj
ICAgb3B0aW9ucyBNRVRFT1JfQUxMT0NfUEFHRVM9eHh4CXByZWFsbG9jYXRl
IGtlcm5lbCBwYWdlcyBmb3IgZGF0YSBlbnRyeQ0KIwlmaWd1cmUgKFJPV1Mq
Q09MVU1OKkJZVEVTX1BFUl9QSVhFTCpGUkFNRStQQUdFX1NJWkUtMSkvUEFH
RV9TSVpFDQojICAgb3B0aW9ucyBNRVRFT1JfREVBTExPQ19QQUdFUwlyZW1v
dmUgYWxsIGFsbG9jYXRlZCBwYWdlcyBvbiBjbG9zZSgyKQ0KIyAgIG9wdGlv
bnMgTUVURU9SX0RFQUxMT0NfQUJPVkU9eHh4CXJlbW92ZSBhbGwgYWxsb2Nh
dGVkIHBhZ2VzIGFib3ZlIHRoZQ0KIwlzcGVjaWZpZWQgYW1vdW50LiBJZiB0
aGlzIHZhbHVlIGlzIGJlbG93IHRoZSBhbGxvY2F0ZWQgYW1vdW50IG5vIGFj
dGlvbg0KIwl0YWtlbg0KIyAgIG9wdGlvbnMgTUVURU9SX1NZU1RFTV9ERUZB
VUxUPXtNRVRFT1JfUEFMfE1FVEVPUl9OVFNDfE1FVEVPUl9TRUNBTX0sIHVz
ZWQNCiMJZm9yIGluaXRpYWxpemF0aW9uIG9mIGZwcyByb3V0aW5lIHdoZW4g
YSBzaWduYWwgaXMgbm90IHByZXNlbnQuDQojDQojIFRoZSAnYmt0cicgZGV2
aWNlIGlzIGEgUENJIHZpZGVvIGNhcHR1cmUgZGV2aWNlIHVzaW5nIHRoZSBC
cm9va3RyZWUNCiMgYnQ4NDgvYnQ4NDhhL2J0ODQ5YS9idDg3OC9idDg3OSBj
aGlwc2V0LiBXaGVuIHVzZWQgd2l0aCBhIFRWIFR1bmVyIGl0IGZvcm1zIGEN
CiMgVFYgY2FyZCwgZWcgTWlybyBQQy9UViwgSGF1cHBhdWdlIFdpbkNhc3Qv
VFYgV2luVFYsIFZpZGVvTG9naWMgQ2FwdGl2YXRvciwNCiMgSW50ZWwgU21h
cnQgVmlkZW8gSUlJLCBBdmVyTWVkaWEsIElNUyBUdXJibywgRmx5VmlkZW8u
DQojDQojIG9wdGlvbnMgCU9WRVJSSURFX0NBUkQ9eHh4DQojIG9wdGlvbnMg
CU9WRVJSSURFX1RVTkVSPXh4eA0KIyBvcHRpb25zIAlPVkVSUklERV9NU1A9
MQ0KIyBvcHRpb25zIAlPVkVSUklERV9EQlg9MQ0KIyBUaGVzZSBvcHRpb25z
IGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBhdXRvIGRldGVjdGlvbg0K
IyBUaGUgY3VycmVudCB2YWx1ZXMgZm9yIHh4eCBhcmUgZm91bmQgaW4gc3Jj
L3N5cy9kZXYvYmt0ci9ia3RyX2NhcmQuaA0KIyBVc2luZyBzeXNjdGwoOCkg
cnVuLXRpbWUgb3ZlcnJpZGVzIG9uIGEgcGVyLWNhcmQgYmFzaXMgY2FuIGJl
IG1hZGUNCiMNCiMgb3B0aW9ucyAJQlJPT0tUUkVFX1NZU1RFTV9ERUZBVUxU
PUJST09LVFJFRV9QQUwNCiMgb3INCiMgb3B0aW9ucyAJQlJPT0tUUkVFX1NZ
U1RFTV9ERUZBVUxUPUJST09LVFJFRV9OVFNDDQojIFNwZWNpZmVzIHRoZSBk
ZWZhdWx0IHZpZGVvIGNhcHR1cmUgbW9kZS4NCiMgVGhpcyBpcyByZXF1aXJl
ZCBmb3IgRHVhbCBDcnlzdGFsICgyOCYzNU1oeikgYm9hcmRzIHdoZXJlIFBB
TCBpcyB1c2VkDQojIHRvIHByZXZlbnQgaGFuZ3MgZHVyaW5nIGluaXRpYWxp
c2F0aW9uLiAgZWcgVmlkZW9Mb2dpYyBDYXB0aXZhdG9yIFBDSS4NCiMNCiMg
b3B0aW9ucyAJQktUUl9VU0VfUExMDQojIFBBTCBvciBTRUNBTSB1c2VycyB3
aG8gaGF2ZSBhIDI4TWh6IGNyeXN0YWwgKGFuZCBubyAzNU1oeiBjcnlzdGFs
KQ0KIyBtdXN0IGVuYWJsZSBQTEwgbW9kZSB3aXRoIHRoaXMgb3B0aW9uLiBl
ZyBzb21lIG5ldyBCdDg3OCBjYXJkcy4NCiMNCiMgb3B0aW9ucyAJQktUUl9H
UElPX0FDQ0VTUw0KIyBUaGlzIGVuYWJsZSBJT0NUTHMgd2hpY2ggZ2l2ZSB1
c2VyIGxldmVsIGFjY2VzcyB0byB0aGUgR1BJTyBwb3J0Lg0KIw0KIyBvcHRp
b25zIAlCS1RSX05PX01TUF9SRVNFVA0KIyBQcmV2ZW50cyB0aGUgTVNQMzR4
eCByZXNldC4gR29vZCBpZiB5b3UgaW5pdGlhbGlzZSB0aGUgTVNQIGluIGFu
b3RoZXIgT1MgZmlyc3QNCiMNCiMgb3B0aW9ucyAJQktUUl80MzBfRlhfTU9E
RQ0KIyBTd2l0Y2ggQnQ4NzgvODc5IGNhcmRzIGludG8gSW50ZWwgNDMwRlgg
Y2hpcHNldCBjb21wYXRpYmlsaXR5IG1vZGUuDQojDQojIG9wdGlvbnMgCUJL
VFJfU0lTX1ZJQV9NT0RFDQojIFN3aXRjaCBCdDg3OC84NzkgY2FyZHMgaW50
byBTSVMvVklBIGNoaXBzZXQgY29tcGF0aWJpbGl0eSBtb2RlIHdoaWNoIGlz
DQojIG5lZWRlZCBmb3Igc29tZSBvbGQgU2lTIGFuZCBWSUEgY2hpcHNldCBt
b3RoZXJib2FyZHMuDQojIFRoaXMgYWxzbyBhbGxvd3MgQnQ4NzgvODc5IGNo
aXBzIHRvIHdvcmsgb24gb2xkIE9QVGkgKDwxOTk3KSBjaGlwc2V0DQojIG1v
dGhlcmJvYXJkcyBhbmQgbW90aGVyYm9hcmRzIHdpdGggYmFkIG9yIGluY29t
cGxldGUgUENJIDIuMSBzdXBwb3J0Lg0KIyBBcyBhIHJvdWdoIGd1ZXNzLCBv
bGQgPSBiZWZvcmUgMTk5OA0KIw0KIw0KIyBUaGUgb2x0ciBkcml2ZXIgc3Vw
cG9ydHMgdGhlIGZvbGxvd2luZyBPbGljb20gUENJIHRva2VuLXJpbmcgYWRh
cHRlcnMNCiMgT0MtMzEzNiwgT0MtMzEzNywgT0MtMzEzOSwgT0MtMzE0MCwg
T0MtMzE0MSwgT0MtMzU0MCwgT0MtMzI1MA0KIw0KZGV2aWNlCQlhaGMJCSMg
QUhBMjk0MCBhbmQgb25ib2FyZCBBSUM3eHh4IGRldmljZXMNCiNkZXZpY2UJ
CWFtZAkJIyBBTUQgNTNDOTc0IChUZWNrcmFtIERDLTM5MChUKSkNCiNkZXZp
Y2UJCWlzcAkJIyBRbG9naWMgZmFtaWx5DQojZGV2aWNlCQlpc3BmdwkJIyBG
aXJtd2FyZSBmb3IgUUxvZ2ljIEhCQXMNCiNkZXZpY2UJCW5jcgkJIyBOQ1Iv
U3ltYmlvcyBMb2dpYw0KI2RldmljZQkJc3ltCQkjIE5DUi9TeW1iaW9zIExv
Z2ljIChuZXdlciBjaGlwc2V0cykNCiMNCiMgT3B0aW9ucyBmb3IgSVNQDQoj
DQojCUlTUF9UQVJHRVRfTU9ERQkJLQllbmFibGUgdGFyZ2V0IG1vZGUgb3Bl
cmF0aW9uDQojb3B0aW9ucyAJSVNQX1RBUkdFVF9NT0RFPTENCg0KIyBPcHRp
b25zIHVzZWQgaW4gZGV2L3N5bS8gKFN5bWJpb3MgU0NTSSBkcml2ZXIpLg0K
I29wdGlvbnMgCVNZTV9TRVRVUF9MUF9QUk9CRV9NQVAJIy1Mb3cgUHJpb3Jp
dHkgUHJvYmUgTWFwIChiaXRzKQ0KCQkJCQkjIEFsbG93cyB0aGUgbmNyIHRv
IHRha2UgcHJlY2VkZW5jZQ0KCQkJCQkjIDEgKDE8PDApIC0+IDgxMGEsIDg2
MA0KCQkJCQkjIDIgKDE8PDEpIC0+IDgyNWEsIDg3NSwgODg1LCA4OTUNCgkJ
CQkJIyA0ICgxPDwyKSAtPiA4OTVhLCA4OTYsIDE1MTBkIA0KI29wdGlvbnMg
CVNZTV9TRVRVUF9TQ1NJX0RJRkYJIy1IVkQgc3VwcG9ydCBmb3IgODI1YSwg
ODc1LCA4ODUNCgkJCQkJIyBkaXNhYmxlZDowIChkZWZhdWx0KSwgZW5hYmxl
ZDoxDQojb3B0aW9ucyAJU1lNX1NFVFVQX1BDSV9QQVJJVFkJIy1QQ0kgcGFy
aXR5IGNoZWNraW5nDQoJCQkJCSMgZGlzYWJsZWQ6MCwgZW5hYmxlZDoxIChk
ZWZhdWx0KQ0KI29wdGlvbnMgCVNZTV9TRVRVUF9NQVhfTFVOCSMtTnVtYmVy
IG9mIExVTnMgc3VwcG9ydGVkDQoJCQkJCSMgZGVmYXVsdDo4LCByYW5nZTpb
MS4uNjRdDQoNCg0KIyBNSUkgYnVzIHN1cHBvcnQgaXMgcmVxdWlyZWQgZm9y
IHNvbWUgUENJIDEwLzEwMCBldGhlcm5ldCBOSUNzLA0KIyBuYW1lbHkgdGhv
c2Ugd2hpY2ggdXNlIE1JSS1jb21wbGlhbnQgdHJhbnNjZWl2ZXJzIG9yIGlt
cGxlbWVudA0KIyB0cmFuY2VpdmVyIGNvbnRyb2wgaW50ZXJmYWNlcyB0aGF0
IG9wZXJhdGUgbGlrZSBhbiBNSUkuIEFkZGluZw0KIyAiZGV2aWNlIG1paWJ1
czAiIHRvIHRoZSBrZXJuZWwgY29uZmlnIHB1bGxzIGluIHN1cHBvcnQgZm9y
DQojIHRoZSBnZW5lcmljIG1paWJ1cyBBUEkgYW5kIGFsbCBvZiB0aGUgUEhZ
IGRyaXZlcnMsIGluY2x1ZGluZyBhDQojIGdlbmVyaWMgb25lIGZvciBQSFlz
IHRoYXQgYXJlbid0IHNwZWNpZmljYWxseSBoYW5kbGVkIGJ5IGFuDQojIGlu
ZGl2aWR1YWwgZHJpdmVyLg0KZGV2aWNlCQltaWlidXMNCg0KIyBQQ0kgRXRo
ZXJuZXQgTklDcyB0aGF0IHVzZSB0aGUgY29tbW9uIE1JSSBidXMgY29udHJv
bGxlciBjb2RlLg0KI2RldmljZQkJZGMJCSMgREVDL0ludGVsIDIxMTQzIGFu
ZCB2YXJpb3VzIHdvcmthbGlrZXMNCmRldmljZQkJZnhwCQkjIEludGVsIEV0
aGVyRXhwcmVzcyBQUk8vMTAwQiAoODI1NTcsIDgyNTU4KQ0KI2RldmljZQkJ
cGNuCQkjIEFNRCBBbTc5Qzk3eCBQQ0kgMTAvMTAwIE5JQ3MNCiNkZXZpY2UJ
CXJsCQkjIFJlYWxUZWsgODEyOS84MTM5DQojZGV2aWNlCQlzZgkJIyBBZGFw
dGVjIEFJQy02OTE1IChgYFN0YXJmaXJlJycpDQojZGV2aWNlCQlzaXMJCSMg
U2lsaWNvbiBJbnRlZ3JhdGVkIFN5c3RlbXMgU2lTIDkwMC9TaVMgNzAxNg0K
I2RldmljZQkJc3RlCQkjIFN1bmRhbmNlIFNUMjAxIChELUxpbmsgREZFLTU1
MFRYKQ0KI2RldmljZQkJdGwJCSMgVGV4YXMgSW5zdHJ1bWVudHMgVGh1bmRl
ckxBTg0KI2RldmljZQkJdHgJCSMgU01DIEV0aGVyUG93ZXIgSUkgKDgzYzE3
eCBgYEVQSUMnJykNCiNkZXZpY2UJCXZyCQkjIFZJQSBSaGluZSwgUmhpbmUg
SUkNCiNkZXZpY2UJCXdiCQkjIFdpbmJvbmQgVzg5Qzg0MEYNCiNkZXZpY2UJ
CXhsCQkjIDNDb20gM2M5MHggKGBgQm9vbWVyYW5nJycsIGBgQ3ljbG9uZScn
KQ0KDQojIFBDSSBFdGhlcm5ldCBOSUNzLg0KI2RldmljZQkJZGUJCSMgREVD
L0ludGVsIERDMjF4NHggKGBgVHVsaXAnJykNCiNkZXZpY2UJCXR4cAkJIyAz
Q29tIDNjUjk5MCAoYGBUeXBob29uJycpDQojZGV2aWNlCQl2eAkJIyAzQ29t
IDNjNTkwLCAzYzU5NSAoYGBWb3J0ZXgnJykNCg0KIyBHaWdhYml0IEV0aGVy
bmV0IE5JQ3MuDQojZGV2aWNlCQliZ2UJCSMgQnJvYWRjb20gQkNNNTcweCAo
YGBUaWdvbiBJSUknJykNCiNkZXZpY2UJCWd4CQkjIEludGVsIFByby8xMDAw
ICg4MjU0MiwgODI1NDMpDQojZGV2aWNlCQlsZ2UJCSMgTGV2ZWwgMSBMWFQx
MDAxIChgYE1lcmN1cnknJykNCiNkZXZpY2UJCW5nZQkJIyBOYXRTZW1pIERQ
ODM4MjAgYW5kIERQODM4MjENCiNkZXZpY2UJCXNrCQkjIFN5c0tvbm5lY3Qg
R0VuZXNpcw0KI2RldmljZQkJdGkJCSMgQWx0ZW9uIChgYFRpZ29uIEknJywg
YGBUaWdvbiBJSScnKQ0KI2RldmljZQkJd3gNCg0KDQojZGV2aWNlCQlmcGEN
CiNkZXZpY2UJCW1ldGVvcg0KI1RoZSBvbHRyIGRyaXZlciBpbiB0aGUgSVNB
IHNlY3Rpb24gd2lsbCBhbHNvIGZpbmQgUENJIGNhcmRzLg0KI2RldmljZQkJ
b2x0cjANCg0KDQojIEJyb29rdHJlZSBkcml2ZXIgaGFzIGJlZW4gcG9ydGVk
IHRvIHRoZSBuZXcgSTJDIGZyYW1ld29yay4gVGh1cywNCiMgeW91J2xsIG5l
ZWQgdG8gaGF2ZSB0aGUgZm9sbG93aW5nIDMgbGluZXMgaW4gdGhlIGtlcm5l
bCBjb25maWcuDQojICAgICBkZXZpY2Ugc21idXMNCiMgICAgIGRldmljZSBp
aWNidXMNCiMgICAgIGRldmljZSBpaWNiYg0KIyBUaGUgaWljIGFuZCBzbWIg
ZGV2aWNlcyBhcmUgb25seSBuZWVkZWQgaWYgeW91IHdhbnQgdG8gY29udHJv
bCBvdGhlcg0KIyBJMkMgc2xhdmVzIGNvbm5lY3RlZCB0byB0aGUgZXh0ZXJu
YWwgY29ubmVjdG9yIG9mIHNvbWUgY2FyZHMuDQojDQojZGV2aWNlCQlia3Ry
DQoNCiMNCiMgUENDQVJEL1BDTUNJQQ0KIw0KIyBjYXJkOiBwY2NhcmQgc2xv
dHMNCiMgcGNpYzogaXNhL3BjY2FyZCBicmlkZ2UNCiNkZXZpY2UJCXBjaWMw
IGF0IGlzYT8NCiNkZXZpY2UJCXBjaWMxIGF0IGlzYT8NCiNkZXZpY2UJCWNh
cmQNCg0KIyBZb3UgbWF5IG5lZWQgdG8gcmVzZXQgYWxsIHBjY2FyZHMgYWZ0
ZXIgcmVzdW1pbmcNCiNvcHRpb25zIAlQQ0lDX1JFU1VNRV9SRVNFVAkjIHJl
c2V0IGFmdGVyIHJlc3VtZQ0KDQojDQojIExhcHRvcC9Ob3RlYm9vayBvcHRp
b25zOg0KIw0KIyBTZWUgYWxzbzoNCiMgIGFwbSB1bmRlciBgTWlzY2VsbGFu
ZW91cyBoYXJkd2FyZScNCiMgYWJvdmUuDQoNCiMgRm9yIG9sZGVyIG5vdGVi
b29rcyB0aGF0IHNpZ25hbCBhIHBvd2VyZmFpbCBjb25kaXRpb24gKGV4dGVy
bmFsDQojIHBvd2VyIHN1cHBseSBkcm9wcGVkLCBvciBiYXR0ZXJ5IHN0YXRl
IGxvdykgYnkgaXNzdWluZyBhbiBOTUk6DQoNCiNvcHRpb25zIAlQT1dFUkZB
SUxfTk1JCSMgbWFrZSBpdCBiZWVwIGluc3RlYWQgb2YgcGFuaWNpbmcNCg0K
Iw0KIyBTTUIgYnVzDQojDQojIFN5c3RlbSBNYW5hZ2VtZW50IEJ1cyBzdXBw
b3J0IGlzIHByb3ZpZGVkIGJ5IHRoZSAnc21idXMnIGRldmljZS4NCiMgQWNj
ZXNzIHRvIHRoZSBTTUJ1cyBkZXZpY2UgaXMgdmlhIHRoZSAnc21iJyBkZXZp
Y2UgKC9kZXYvc21iKiksDQojIHdoaWNoIGlzIGEgY2hpbGQgb2YgdGhlICdz
bWJ1cycgZGV2aWNlLg0KIw0KIyBTdXBwb3J0ZWQgZGV2aWNlczoNCiMgc21i
CQlzdGFuZGFyZCBpbyB0aHJvdWdoIC9kZXYvc21iKg0KIw0KIyBTdXBwb3J0
ZWQgU01CIGludGVyZmFjZXM6DQojIGlpY3NtYglJMkMgdG8gU01CIGJyaWRn
ZSB3aXRoIGFueSBpaWNidXMgaW50ZXJmYWNlDQojIGJrdHIJCWJyb29rdHJl
ZTg0OCBJMkMgaGFyZHdhcmUgaW50ZXJmYWNlDQojIGludHBtCQlJbnRlbCBQ
SUlYNCAoODIzNzFBQiwgODI0NDNNWCkgUG93ZXIgTWFuYWdlbWVudCBVbml0
DQojIGFscG0JCUFjZXIgQWxhZGRpbi1JVi9WL1BybzIgUG93ZXIgTWFuYWdl
bWVudCBVbml0DQojIGljaHNtYglJbnRlbCBJQ0ggU01CdXMgY29udHJvbGxl
ciBjaGlwcyAoODI4MDFBQSwgODI4MDFBQiwgODI4MDFCQSkNCiMNCmRldmlj
ZQkJc21idXMJCSMgQnVzIHN1cHBvcnQsIHJlcXVpcmVkIGZvciBzbWIgYmVs
b3cuDQoNCmRldmljZQkJaW50cG0NCiNkZXZpY2UJCWFscG0NCiNkZXZpY2UJ
CWljaHNtYg0KDQpkZXZpY2UJCXNtYg0KDQojDQojIEkyQyBCdXMNCiMNCiMg
UGhpbGlwcyBpMmMgYnVzIHN1cHBvcnQgaXMgcHJvdmlkZWQgYnkgdGhlIGBp
aWNidXMnIGRldmljZS4NCiMNCiMgU3VwcG9ydGVkIGRldmljZXM6DQojIGlj
CWkyYyBuZXR3b3JrIGludGVyZmFjZQ0KIyBpaWMJaTJjIHN0YW5kYXJkIGlv
DQojIGlpY3NtYiBpMmMgdG8gc21iIGJyaWRnZS4gQWxsb3cgaTJjIGkvbyB3
aXRoIHNtYiBjb21tYW5kcy4NCiMNCiMgU3VwcG9ydGVkIGludGVyZmFjZXM6
DQojIHBjZglQaGlsaXBzIFBDRjg1ODQgSVNBLWJ1cyBjb250cm9sbGVyDQoj
IGJrdHIJYnJvb2t0cmVlODQ4IEkyQyBzb2Z0d2FyZSBpbnRlcmZhY2UNCiMN
CiMgT3RoZXI6DQojIGlpY2JiCWdlbmVyaWMgSTJDIGJpdC1iYW5naW5nIGNv
ZGUgKG5lZWRlZCBieSBscGJiLCBia3RyKQ0KIw0KZGV2aWNlCQlpaWNidXMJ
CSMgQnVzIHN1cHBvcnQsIHJlcXVpcmVkIGZvciBpYy9paWMvaWljc21iIGJl
bG93Lg0KZGV2aWNlCQlpaWNiYg0KDQpkZXZpY2UJCWljDQpkZXZpY2UJCWlp
Yw0KZGV2aWNlCQlpaWNzbWIJCSMgc21iIG92ZXIgaTJjIGJyaWRnZQ0KDQoj
ZGV2aWNlCQlwY2YwCWF0IGlzYT8gcG9ydCAweDMyMCBpcnEgNQ0KDQojLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIElTRE40QlNEDQojDQoj
IFNlZSAvdXNyL3NoYXJlL2V4YW1wbGVzL2lzZG4vUk9BRE1BUCBmb3IgYW4g
aW50cm9kdWN0aW9uIHRvIGlzZG40YnNkLg0KIw0KIyBpNGIgcGFzc2l2ZSBJ
U0ROIGNhcmRzIHN1cHBvcnQgY29udGFpbnMgdGhlIGZvbGxvd2luZyBoYXJk
d2FyZSBkcml2ZXJzOg0KIw0KIyAgICAgICBpc2ljICAtIFNpZW1lbnMvSW5m
aW5lb24gSVNETiBJU0FDL0hTQ1gvSVBBQyBjaGlwc2V0IGRyaXZlcg0KIyAg
ICAgICBpd2ljICAtIFdpbmJvbmQgVzY2OTIgUENJIGJ1cyBJU0ROIFMvVCBp
bnRlcmZhY2UgY29udHJvbGxlcg0KIyAgICAgICBpZnBpICAtIEFWTSBGcml0
eiFDYXJkIFBDSSBkcml2ZXINCiMgICAgICAgaWhmYyAgLSBDb2xvZ25lIENo
aXAgSEZDIElTQS9JU0EtUG5QIGNoaXBzZXQgZHJpdmVyDQojICAgICAgIGlm
cG5wIC0gQVZNIEZyaXR6IUNhcmQgUG5QIGRyaXZlciANCiMgICAgICAgaXRq
YyAgLSBTaWVtZW5zIElTQUMgLyBUSk5ldCBUaWdlcjMwMC8zMjAgY2hpcHNl
dA0KIw0KIyBpNGIgYWN0aXZlIElTRE4gY2FyZHMgc3VwcG9ydCBjb250YWlu
cyB0aGUgZm9sbG93aW5nIGhhcmR3YXJlIGRyaXZlcnM6DQojDQojICAgICAg
IGlhdmMgIC0gQVZNIEIxIFBDSSwgQVZNIEIxIElTQSwgQVZNIFQxDQojDQoj
IE5vdGUgdGhhdCB0aGUgYGBvcHRpb25zJycgKGlmIGdpdmVuKSBhbmQgYGBk
ZXZpY2UnJyBsaW5lcyBtdXN0IEJPVEgNCiMgYmUgdW5jb21tZW50ZWQgdG8g
ZW5hYmxlIHN1cHBvcnQgZm9yIGEgZ2l2ZW4gY2FyZCAhDQojDQojIEluIGFk
ZGl0aW9uIHRvIGEgaGFyZHdhcmUgZHJpdmVyIChhbmQgcHJvYmFibHkgYW4g
b3B0aW9uKSB0aGUgbWFuZGF0b3J5DQojIElTRE4gcHJvdG9jb2wgc3RhY2sg
ZGV2aWNlcyBhbmQgdGhlIG1hbmRhdG9yeSBzdXBwb3J0IGRldmljZSBtdXN0
IGJlIA0KIyBlbmFibGVkIGFzIHdlbGwgYXMgb25lIG9yIG1vcmUgZGV2aWNl
cyBmcm9tIHRoZSBvcHRpb25hbCBkZXZpY2VzIHNlY3Rpb24uDQojDQojLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIGlzaWMgZHJpdmVyIChT
aWVtZW5zL0luZmluZW9uIGNoaXBzZXRzKQ0KIy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQ0KIw0KIyBJU0EgYnVzIG5vbi1QblAgQ2FyZHM6DQoj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGVsZXMgUzAvOCBvciBO
aWNjeSAxMDA4DQojb3B0aW9ucyAJVEVMX1MwXzgNCiNkZXZpY2UJCWlzaWMw
CWF0IGlzYT8gaW9tZW0gMHhkMDAwMCBpcnEgNSBmbGFncyAxDQojDQojIFRl
bGVzIFMwLzE2IG9yIENyZWF0aXggSVNETi1TMCBvciBOaWNjeSAxMDE2DQoj
b3B0aW9ucyAJVEVMX1MwXzE2DQojZGV2aWNlCQlpc2ljMAlhdCBpc2E/IHBv
cnQgMHhkODAgaW9tZW0gMHhkMDAwMCBpcnEgNSBmbGFncyAyDQojDQojIFRl
bGVzIFMwLzE2LjMNCiNvcHRpb25zIAlURUxfUzBfMTZfMw0KI2RldmljZQkJ
aXNpYzAJYXQgaXNhPyBwb3J0IDB4ZDgwIGlycSA1IGZsYWdzIDMNCiMNCiMg
QVZNIEExIG9yIEFWTSBGcml0eiFDYXJkDQojb3B0aW9ucyAJQVZNX0ExDQoj
ZGV2aWNlCQlpc2ljMAlhdCBpc2E/IHBvcnQgMHgzNDAgaXJxIDUgZmxhZ3Mg
NA0KIw0KIyBVU1JvYm90aWNzIFNwb3J0c3RlciBJU0ROIFRBIGludGVybg0K
I29wdGlvbnMgCVVTUl9TVEkNCiNkZXZpY2UJCWlzaWMwCWF0IGlzYT8gcG9y
dCAweDI2OCBpcnEgNSBmbGFncyA3DQojDQojIElUSyBpeDEgTWljcm8gKCA8
IFYuMywgbm9uLVBuUCB2ZXJzaW9uICkNCiNvcHRpb25zIAlJVEtJWDENCiNk
ZXZpY2UJCWlzaWMwCWF0IGlzYT8gcG9ydCAweDM5OCBpcnEgMTAgZmxhZ3Mg
MTgNCiMNCiMgRUxTQSBQQ0MtMTYNCiNvcHRpb25zIAlFTFNBX1BDQzE2DQoj
ZGV2aWNlCQlpc2ljMAlhdCBpc2E/IHBvcnQgMHgzNjAgaXJxIDEwIGZsYWdz
IDIwDQojDQojIElTQSBidXMgUG5QIENhcmRzOg0KIyAtLS0tLS0tLS0tLS0t
LS0tLS0NCiMNCiMgVGVsZXMgUzAvMTYuMyBQblANCiNvcHRpb25zIAlURUxf
UzBfMTZfM19QDQojZGV2aWNlCQlpc2ljDQojDQojIENyZWF0aXggSVNETi1T
MCBQJlANCiNvcHRpb25zIAlDUlRYX1MwX1ANCiNkZXZpY2UJCWlzaWMNCiMN
CiMgRHIuIE5ldWhhdXMgTmljY3kgR29ADQojb3B0aW9ucyAJRFJOX05HTw0K
I2RldmljZQkJaXNpYw0KIw0KIyBTZWRsYmF1ZXIgV2luIFNwZWVkDQojb3B0
aW9ucyAJU0VETEJBVUVSDQojZGV2aWNlCQlpc2ljDQojDQojIER5bmFsaW5r
IElTNjRQSA0KI29wdGlvbnMgCURZTkFMSU5LIA0KI2RldmljZQkJaXNpYw0K
Iw0KIyBFTFNBIFF1aWNrU3RlcCAxMDAwcHJvIElTQQ0KI29wdGlvbnMgCUVM
U0FfUVMxSVNBDQojZGV2aWNlCQlpc2ljDQojDQojIElUSyBpeDEgTWljcm8g
KCBWLjMsIFBuUCB2ZXJzaW9uICkNCiNvcHRpb25zIAlJVEtJWDENCiNkZXZp
Y2UJCWlzaWMNCiMNCiMgU2llbWVucyBJLVN1cmYgMi4wDQojb3B0aW9ucyAJ
U0lFTUVOU19JU1VSRjINCiNkZXZpY2UJCWlzaWMNCiMNCiMgQXN1c2NvbSBJ
U0RObGluayAxMjhLIElTQUMNCiNvcHRpb25zIAlBU1VTQ09NX0lQQUMNCiNk
ZXZpY2UgCWlzaWMNCiMNCiMgRWljb24gRGllaGwgRElWQSAyLjAgYW5kIDIu
MDINCiNvcHRpb25zICAgICAgIEVJQ09OX0RJVkENCiNkZXZpY2UgCWlzaWMN
CiMNCiMgUENJIGJ1cyBDYXJkczoNCiMgLS0tLS0tLS0tLS0tLS0NCiMNCiMg
RUxTQSBNaWNyb0xpbmsgSVNETi9QQ0kgKHNhbWUgYXMgRUxTQSBRdWlja1N0
ZXAgMTAwMHBybyBQQ0kpDQojb3B0aW9ucyAJRUxTQV9RUzFQQ0kNCiNkZXZp
Y2UJCWlzaWMNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
CiMgICAgICAgaWZwbnAgZHJpdmVyIGZvciBBVk0gRnJpdHohQ2FyZCBJU0Eg
UG5QDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEFW
TSBGcml0eiFDYXJkIElTQSBQblANCiNkZXZpY2UgaWZwbnANCiMNCiMtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMgICAgICAgaWhmYyBkcml2
ZXIgZm9yIENvbG9nbmUgQ2hpcCBJU0EgY2hpcHNldHMgKGV4cGVyaW1lbnRh
bCEpDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIFRl
bGVzIDE2LjNjIElTQSBQblANCiMgQWNlcklTRE4gUDEwIElTQSBQblANCiMg
VEVMRUlOVCBJU0ROIFNQRUVEIE5vLjENCiNkZXZpY2UgaWhmYw0KIw0KIy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyAgICAgICBpZnBpIGRy
aXZlciBmb3IgQVZNIEZyaXR6IUNhcmQgUENJIDEuMCAoMi4wIHVuc3VwcG9y
dGVkISkNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMg
QVZNIEZyaXR6IUNhcmQgUENJIDEuMA0KI2RldmljZSAgaWZwaQ0KIw0KIy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyAgICAgICBpd2ljIGRy
aXZlciBmb3IgV2luYm9uZCBXNjY5MiBjaGlwc2V0DQojLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIEFTVVNDT00gUC1JTjEwMC1TVC1E
IChhbmQgb3RoZXIgV2luYm9uZCBXNjY5MiBiYXNlZCBjYXJkcykNCiNkZXZp
Y2UgIGl3aWMNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
CiMgICAgICAgaXRqYyBkcml2ZXIgZm9yIFNpbWVucyBJU0FDIC8gVEpOZXQg
VGlnZXIzMDAvMzIwIGNoaXBzZXQNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCiMNCiMgVHJhdmVyc2UgVGVjaG5vbG9naWVzIE5FVGpldC1T
DQojIFRlbGVzIFBDSS1USg0KI2RldmljZSAgaXRqYw0KIw0KIy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyAgICAgICBpYXZjIGRyaXZlciAo
QVZNIGFjdGl2ZSBjYXJkcywgbmVlZHMgaTRiY2FwaSBkcml2ZXIhKQ0KIy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIw0KI3BzZXVkby1kZXZp
Y2UgICAiaTRiY2FwaSIJMg0KIw0KIyBBVk0gQjEgUENJDQojZGV2aWNlICAg
ICAgICAgIGlhdmMwDQojDQojIEFWTSBCMSBJU0EgYnVzIChQblAgbW9kZSBu
b3Qgc3VwcG9ydGVkISkNCiNkZXZpY2UgIGlhdmMwIGF0IGlzYT8gcG9ydCAw
eDE1MCBpcnEgNQ0KIw0KIw0KIyBJU0ROIFByb3RvY29sIFN0YWNrIChtYW5k
YXRvcnkpDQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMN
CiMgUS45MjEgLyBsYXllciAyIC0gaTRiIHBhc3NpdmUgY2FyZHMgRCBjaGFu
bmVsIGhhbmRsaW5nDQojcHNldWRvLWRldmljZQkiaTRicTkyMSINCiMNCiMg
US45MzEgLyBsYXllciAzIC0gaTRiIHBhc3NpdmUgY2FyZHMgRCBjaGFubmVs
IGhhbmRsaW5nDQojcHNldWRvLWRldmljZQkiaTRicTkzMSINCiMNCiMgbGF5
ZXIgNCAtIGk0YiBjb21tb24gcGFzc2l2ZSBhbmQgYWN0aXZlIGNhcmQgaGFu
ZGxpbmcNCiNwc2V1ZG8tZGV2aWNlCSJpNGIiDQojDQojIElTRE4gZGV2aWNl
cw0KIyAtLS0tLS0tLS0tLS0NCiMNCiMgdXNlcmxhbmQgZHJpdmVyIHRvIGRv
IElTRE4gdHJhY2luZyAoZm9yIHBhc3NpdmUgY2FyZHMgb25seSkNCiNwc2V1
ZG8tZGV2aWNlCSJpNGJ0cmMiCTQNCiMNCiMgdXNlcmxhbmQgZHJpdmVyIHRv
IGNvbnRyb2wgdGhlIHdob2xlIHRoaW5nIChtYW5kYXRvcnkpDQojcHNldWRv
LWRldmljZQkiaTRiY3RsIg0KIw0KIyB1c2VybGFuZCBkcml2ZXIgZm9yIGFj
Y2VzcyB0byByYXcgQiBjaGFubmVsDQojcHNldWRvLWRldmljZQkiaTRicmJj
aCIJNA0KIw0KIyB1c2VybGFuZCBkcml2ZXIgZm9yIHRlbGVwaG9ueQ0KI3Bz
ZXVkby1kZXZpY2UJImk0YnRlbCIJMg0KIw0KIyBuZXR3b3JrIGRyaXZlciBm
b3IgSVAgb3ZlciByYXcgSERMQyBJU0RODQojcHNldWRvLWRldmljZQkiaTRi
aXByIgk0DQojIGVuYWJsZSBWSiBoZWFkZXIgY29tcHJlc3Npb24gZGV0ZWN0
aW9uIGZvciBpcHIgaS9mDQojb3B0aW9ucyAJSVBSX1ZKDQojIGVuYWJsZSBs
b2dnaW5nIG9mIHRoZSBmaXJzdCBuIElQIHBhY2tldHMgdG8gaXNkbmQgKG49
MzIgaGVyZSkNCiNvcHRpb25zCUlQUl9MT0c9MzINCiMNCiMgbmV0d29yayBk
cml2ZXIgZm9yIHN5bmMgUFBQIG92ZXIgSVNETg0KI3BzZXVkby1kZXZpY2UJ
Imk0YmlzcHBwIgk0DQoNCg0KIyBQYXJhbGxlbC1Qb3J0IEJ1cw0KIw0KIyBQ
YXJhbGxlbCBwb3J0IGJ1cyBzdXBwb3J0IGlzIHByb3ZpZGVkIGJ5IHRoZSBg
cHBidXMnIGRldmljZS4NCiMgTXVsdGlwbGUgZGV2aWNlcyBtYXkgYmUgYXR0
YWNoZWQgdG8gdGhlIHBhcmFsbGVsIHBvcnQsIGRldmljZXMNCiMgYXJlIGF1
dG9tYXRpY2FsbHkgcHJvYmVkIGFuZCBhdHRhY2hlZCB3aGVuIGZvdW5kLg0K
Iw0KIyBTdXBwb3J0ZWQgZGV2aWNlczoNCiMgdnBvCUlvbWVnYSBaaXAgRHJp
dmUNCiMJUmVxdWlyZXMgU0NTSSBkaXNrIHN1cHBvcnQgKCdzY2J1cycgYW5k
ICdkYScpLCBiZXN0DQojCXBlcmZvcm1hbmNlIGlzIGFjaGlldmVkIHdpdGgg
cG9ydHMgaW4gRVBQIDEuOSBtb2RlLg0KIyBscHQJUGFyYWxsZWwgUHJpbnRl
cg0KIyBwbGlwCVBhcmFsbGVsIG5ldHdvcmsgaW50ZXJmYWNlDQojIHBwaQlH
ZW5lcmFsLXB1cnBvc2UgSS9PICgiR2VlayBQb3J0IikgKyBJRUVFMTI4NCBJ
L08NCiMgcHBzCVB1bHNlIHBlciBzZWNvbmQgVGltaW5nIEludGVyZmFjZQ0K
IyBscGJiCVBoaWxpcHMgb2ZmaWNpYWwgcGFyYWxsZWwgcG9ydCBJMkMgYml0
LWJhbmdpbmcgaW50ZXJmYWNlDQojDQojIFN1cHBvcnRlZCBpbnRlcmZhY2Vz
Og0KIyBwcGMJSVNBLWJ1cyBwYXJhbGxlbCBwb3J0IGludGVyZmFjZXMuDQoj
DQoNCiNvcHRpb25zCQlQUENfUFJPQkVfQ0hJUFNFVCAjIEVuYWJsZSBjaGlw
c2V0IHNwZWNpZmljIGRldGVjdGlvbg0KCQkJCSAgIyAoc2VlIGZsYWdzIGlu
IHBwYyg0KSkNCiNvcHRpb25zIAlERUJVR18xMjg0CSMgSUVFRTEyODQgc2ln
bmFsaW5nIHByb3RvY29sIGRlYnVnDQojb3B0aW9ucyAJUEVSSVBIXzEyODQJ
IyBNYWtlcyB5b3VyIGNvbXB1dGVyIGFjdCBhcyBhIElFRUUxMjg0DQoJCQkJ
IyBjb21wbGlhbnQgcGVyaXBoZXJhbA0KI29wdGlvbnMgCURPTlRQUk9CRV8x
Mjg0CSMgQXZvaWQgYm9vdCBkZXRlY3Rpb24gb2YgUG5QIHBhcmFsbGVsIGRl
dmljZXMNCiNvcHRpb25zIAlWUDBfREVCVUcJIyBaSVAvWklQKyBkZWJ1Zw0K
I29wdGlvbnMgCUxQVF9ERUJVRwkjIFByaW50ZXIgZHJpdmVyIGRlYnVnDQoj
b3B0aW9ucyAJUFBDX0RFQlVHCSMgUGFyYWxsZWwgY2hpcHNldCBsZXZlbCBk
ZWJ1Zw0KI29wdGlvbnMgCVBMSVBfREVCVUcJIyBQYXJhbGxlbCBuZXR3b3Jr
IElQIGludGVyZmFjZSBkZWJ1Zw0KI29wdGlvbnMJCVBDRkNMT0NLX1ZFUkJP
U0UgICAgICAgICAjIFZlcmJvc2UgcGNmY2xvY2sgZHJpdmVyDQojb3B0aW9u
cwkJUENGQ0xPQ0tfTUFYX1JFVFJJRVM9NSAgICMgTWF4aW11bSByZWFkIHRy
aWVzIChkZWZhdWx0IDEwKQ0KDQpkZXZpY2UJCXBwYzAJYXQgaXNhPyBpcnEg
Nw0KZGV2aWNlCQlwcGJ1cw0KI2RldmljZQkJdnBvDQpkZXZpY2UJCWxwdA0K
ZGV2aWNlCQlwbGlwDQojZGV2aWNlCQlwcGkNCiNkZXZpY2UJCXBwcw0KI2Rl
dmljZQkJbHBiYg0KI2RldmljZQkJcGNmY2xvY2sNCg0KIyBLZXJuZWwgQk9P
VFAgc3VwcG9ydA0KDQojb3B0aW9ucyAJQk9PVFAJCSMgVXNlIEJPT1RQIHRv
IG9idGFpbiBJUCBhZGRyZXNzL2hvc3RuYW1lDQojb3B0aW9ucyAJQk9PVFBf
TkZTUk9PVAkjIE5GUyBtb3VudCByb290IGZpbGVzeXN0ZW0gdXNpbmcgQk9P
VFAgaW5mbw0KI29wdGlvbnMgCUJPT1RQX05GU1YzCSMgVXNlIE5GUyB2MyB0
byBORlMgbW91bnQgcm9vdA0KI29wdGlvbnMgCUJPT1RQX0NPTVBBVAkjIFdv
cmthcm91bmQgZm9yIGJyb2tlbiBib290cCBkYWVtb25zLg0KI29wdGlvbnMg
CUJPT1RQX1dJUkVEX1RPPWZ4cDAgIyBVc2UgaW50ZXJmYWNlIGZ4cDAgZm9y
IEJPT1RQDQoNCiMNCiMgQWRkIHRpZS1pbnMgZm9yIGEgaGFyZHdhcmUgd2F0
Y2hkb2cuICBUaGlzIG9ubHkgZW5hYmxlIHRoZSBob29rczsNCiMgdGhlIHVz
ZXIgbXVzdCBzdGlsbCBzdXBwbHkgdGhlIGFjdHVhbCBkcml2ZXIuDQojDQoj
b3B0aW9ucyAJSFdfV0RPRw0KDQojDQojIFNldCB0aGUgbnVtYmVyIG9mIFBW
IGVudHJpZXMgcGVyIHByb2Nlc3MuICBJbmNyZWFzaW5nIHRoaXMgY2FuDQoj
IHN0b3AgcGFuaWNzIHJlbGF0ZWQgdG8gaGVhdnkgdXNlIG9mIHNoYXJlZCBt
ZW1vcnkuIEhvd2V2ZXIsIHRoYXQgY2FuDQojIChjb21iaW5lZCB3aXRoIGxh
cmdlIGFtb3VudHMgb2YgcGh5c2ljYWwgbWVtb3J5KSBjYXVzZSBwYW5pY3Mg
YXQNCiMgYm9vdCB0aW1lIGR1ZSB0aGUga2VybmVsIHJ1bm5pbmcgb3V0IG9m
IFZNIHNwYWNlLg0KIw0KIyBJZiB5b3UncmUgdHdlYWtpbmcgdGhpcywgeW91
IG1pZ2h0IGFsc28gd2FudCB0byBpbmNyZWFzZSB0aGUgc3lzY3Rscw0KIyAi
dm0udl9mcmVlX21pbiIsICJ2bS52X2ZyZWVfcmVzZXJ2ZWQiLCBhbmQgInZt
LnZfZnJlZV90YXJnZXQiLg0KIw0KIyBUaGUgdmFsdWUgYmVsb3cgaXMgdGhl
IG9uZSBtb3JlIHRoYW4gdGhlIGRlZmF1bHQuDQojDQojb3B0aW9ucyAJUE1B
UF9TSFBHUEVSUFJPQz0yMDENCg0KIw0KIyBDaGFuZ2UgdGhlIHNpemUgb2Yg
dGhlIGtlcm5lbCB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UuICBEdWUgdG8NCiMg
Y29uc3RyYWludHMgaW4gbG9hZGVyKDgpIG9uIGkzODYsIHRoaXMgbXVzdCBi
ZSBhIG11bHRpcGxlIG9mIDQuDQojIDI1NiA9IDEgR0Igb2Yga2VybmVsIGFk
ZHJlc3Mgc3BhY2UuICBJbmNyZWFzaW5nIHRoaXMgYWxzbyBjYXVzZXMNCiMg
YSByZWR1Y3Rpb24gb2YgdGhlIGFkZHJlc3Mgc3BhY2UgaW4gdXNlciBwcm9j
ZXNzZXMuICA1MTIgc3BsaXRzDQojIHRoZSA0R0IgY3B1IGFkZHJlc3Mgc3Bh
Y2UgaW4gaGFsZiAoMkdCIHVzZXIsIDJHQiBrZXJuZWwpLg0KIw0KI29wdGlv
bnMgCUtWQV9QQUdFUz0yNjANCg0KIw0KIyBEaXNhYmxlIHN3YXBwaW5nLiBU
aGlzIG9wdGlvbiByZW1vdmVzIGFsbCBjb2RlIHdoaWNoIGFjdHVhbGx5IHBl
cmZvcm1zDQojIHN3YXBwaW5nLCBzbyBpdCdzIG5vdCBwb3NzaWJsZSB0byB0
dXJuIGl0IGJhY2sgb24gYXQgcnVuLXRpbWUuDQojDQojIFRoaXMgaXMgc29t
ZXRpbWVzIHVzYWJsZSBmb3Igc3lzdGVtcyB3aGljaCBkb24ndCBoYXZlIGFu
eSBzd2FwIHNwYWNlDQojIChzZWUgYWxzbyBzeXNjdGxzICJ2bS5kZWZlcl9z
d2Fwc3BhY2VfcGFnZW91dHMiIGFuZA0KIyAidm0uZGlzYWJsZV9zd2Fwc3Bh
Y2VfcGFnZW91dHMiKQ0KIw0KI29wdGlvbnMgCU5PX1NXQVBQSU5HDQoNCiMg
U2V0IHRoZSBudW1iZXIgb2Ygc2ZfYnVmcyB0byBhbGxvY2F0ZS4gc2ZfYnVm
cyBhcmUgdmlydHVhbCBidWZmZXJzDQojIGZvciBzZW5kZmlsZSgyKSB0aGF0
IGFyZSB1c2VkIHRvIG1hcCBmaWxlIFZNIHBhZ2VzLCBhbmQgbm9ybWFsbHkN
CiMgZGVmYXVsdCB0byBhIHF1YW50aXR5IHRoYXQgaXMgcm91Z2hseSAxNipN
QVhVU0VSUys1MTIuIFlvdSB3b3VsZA0KIyB0eXBpY2FsbHkgd2FudCBhYm91
dCA0IG9mIHRoZXNlIGZvciBlYWNoIHNpbXVsdGFuZW91cyBmaWxlIHNlbmQu
DQojDQojb3B0aW9ucyAJTlNGQlVGUz0xMDI0DQoNCiMgU2V0IHRoZSBzaXpl
IG9mIHRoZSBidWZmZXIgY2FjaGUgS1ZNIHJlc2VydmF0aW9uLCBpbiBidWZm
ZXJzLiAgVGhpcyBpcw0KIyBzY2FsZWQgYnkgYXBwcm94aW1hdGVseSAxNjM4
NCBieXRlcy4gIFRoZSBzeXN0ZW0gd2lsbCBhdXRvLXNpemUgdGhlIGJ1ZmZl
cg0KIyBjYWNoZSBpZiB0aGlzIG9wdGlvbiBpcyBub3Qgc3BlY2lmaWVkLg0K
Iw0KI29wdGlvbnMgCU5CVUY9NTEyDQoNCiMgU2V0IHRoZSBzaXplIG9mIHRo
ZSBtYnVmIEtWTSByZXNlcnZhdGlvbiwgaW4gY2x1c3RlcnMuICBUaGlzIGlz
IHNjYWxlZA0KIyBieSBhcHByb3hpbWF0ZWx5IDIwNDggYnl0ZXMuICBUaGUg
c3lzdGVtIHdpbGwgYXV0by1zaXplIHRoZSBtYnVmIGFyZWENCiMgdG8gKDUx
MiArIG1heHVzZXJzKjE2KSBpZiB0aGlzIG9wdGlvbiBpcyBub3Qgc3BlY2lm
aWVkLg0KIyBtYXh1c2VycyBpcyBpbiB0dXJuIGNvbXB1dGVkIGF0IGJvb3Qg
dGltZSBkZXBlbmRpbmcgb24gYXZhaWxhYmxlIG1lbW9yeQ0KIyBvciBzZXQg
dG8gdGhlIHZhbHVlIHNwZWNpZmllZCBieSAib3B0aW9ucyBNQVhVU0VSUz14
IiAoeD0wIG1lYW5zDQojIGF1dG9zY2FsaW5nKS4NCiMgU28sIHRvIHRha2Ug
YWR2YW50YWdlIG9mIGF1dG9zY2FsaW5nLCB5b3UgaGF2ZSB0byByZW1vdmUg
Ym90aA0KIyBOTUJDTFVTVEVSUyBhbmQgTUFYVVNFUlMgKGFuZCBOTUJVRlMp
IGZyb20geW91ciBrZXJuZWwgY29uZmlnLg0KIw0KI29wdGlvbnMgCU5NQkNM
VVNURVJTPTEwMjQNCg0KIyBTZXQgdGhlIG51bWJlciBvZiBtYnVmcyBhdmFp
bGFibGUgaW4gdGhlIHN5c3RlbS4gRWFjaCBtYnVmDQojIGNvbnN1bWVzIDI1
NiBieXRlcy4gVGhlIHN5c3RlbSB3aWxsIGF1dG9zaXplIHRoaXMgKHRvIDQg
dGltZXMNCiMgdGhlIG51bWJlciBvZiBOTUJDTFVTVEVSUywgZGVwZW5kaW5n
IG9uIG90aGVyIGNvbnN0cmFpbnRzKQ0KIyBpZiB0aGlzIG9wdGlvbiBpcyBu
b3Qgc3BlY2lmaWVkLg0KIw0KI29wdGlvbnMJCU5NQlVGUz00MDk2DQoNCiMg
VHVuZSB0aGUga2VybmVsIG1hbGxvYyBhcmVhIHBhcmFtZXRlcnMuICBWTV9L
TUVNX1NJWkUgcmVwcmVzZW50cyB0aGUgDQojIG1pbmltdW0sIGluIGJ5dGVz
LCBhbmQgaXMgdHlwaWNhbGx5ICgxMioxMDI0KjEwMjQpICgxMk1CKS4gDQoj
IFZNX0tNRU1fU0laRV9NQVggcmVwcmVzZW50cyB0aGUgbWF4aW11bSwgdHlw
aWNhbGx5IDIwMCBtZWdhYnl0ZXMuDQojIFZNX0tNRU1fU0laRV9TQ0FMRSBj
YW4gYmUgc2V0IHRvIGFkanVzdCB0aGUgYXV0by10dW5pbmcgZmFjdG9yLCB3
aGljaA0KIyB0eXBpY2FsbHkgZGVmYXVsdHMgdG8gNCAoa2VybmVsIG1hbGxv
YyBhcmVhIHNpemUgaXMgcGh5c2ljYWwgbWVtb3J5IA0KIyBkaXZpZGVkIGJ5
IHRoZSBzY2FsZSBmYWN0b3IpLg0KIw0KI29wdGlvbnMgCVZNX0tNRU1fU0la
RT0iKDEwKjEwMjQqMTAyNCkiDQojb3B0aW9ucyAJVk1fS01FTV9TSVpFX01B
WD0iKDEwMCoxMDI0KjEwMjQpIg0KI29wdGlvbnMgCVZNX0tNRU1fU0laRV9T
Q0FMRT0iNCINCg0KIyBUdW5lIHRoZSBidWZmZXIgY2FjaGUgbWF4aW11bSBL
VkEgcmVzZXJ2YXRpb24sIGluIGJ5dGVzLiAgVGhlIG1heGltdW0gaXMNCiMg
dXN1YWxseSBjYXBwZWQgYXQgMjAwIE1CLCBlZmZlY3RpbmcgbWFjaGluZXMg
d2l0aCA+IDFHQiBvZiByYW0uICBOb3RlDQojIHRoYXQgdGhlIGJ1ZmZlciBj
YWNoZSBvbmx5IHJlYWxseSBnb3Zlcm5zIHdyaXRlIGJ1ZmZlcmluZyBhbmQg
ZGlzayBibG9jaw0KIyB0cmFuc2xhdGlvbnMuICBUaGUgVk0gcGFnZSBjYWNo
ZSBpcyBvdXIgcHJpbWFyeSBkaXNrIGNhY2hlIGFuZCBpcyBub3QNCiMgZWZm
ZWN0ZWQgYnkgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciBjYWNoZS4NCiMNCiNv
cHRpb25zCQlWTV9CQ0FDSEVfU0laRV9NQVg9IigxMDAqMTAyNCoxMDI0KSIN
Cg0KIyBUdW5lIHRoZSBzd2FwIHpvbmUgS1ZBIHJlc2VydmF0aW9uLCBpbiBi
eXRlcy4gIFRoZSBkZWZhdWx0IGlzIHR5cGljYWxseQ0KIyA3MCBNQiwgZ2l2
aW5nIHRoZSBzeXN0ZW0gdGhlIGFiaWxpdHkgdG8gbWFuYWdlIGEgbWF4aW11
bSBvZiAyOEdCIHdvcnRoDQojIG9mIHN3YXBwZWQgb3V0IGRhdGEuICANCiMN
CiNvcHRpb25zCQlWTV9TV1pPTkVfU0laRV9NQVg9Iig1MCoxMDI0KjEwMjQp
Ig0KDQojDQojIEVuYWJsZSBleHRyYSBkZWJ1Z2dpbmcgY29kZSBmb3IgbG9j
a3MuICBUaGlzIHN0b3JlcyB0aGUgZmlsZW5hbWUgYW5kDQojIGxpbmUgb2Yg
d2hhdGV2ZXIgYWNxdWlyZWQgdGhlIGxvY2sgaW4gdGhlIGxvY2sgaXRzZWxm
LCBhbmQgY2hhbmdlIGENCiMgbnVtYmVyIG9mIGZ1bmN0aW9uIGNhbGxzIHRv
IHBhc3MgYXJvdW5kIHRoZSByZWxldmFudCBkYXRhLiAgVGhpcyBpcw0KIyBu
b3QgYXQgYWxsIHVzZWZ1bCB1bmxlc3MgeW91IGFyZSBkZWJ1Z2dpbmcgbG9j
ayBjb2RlLiAgQWxzbyBub3RlDQojIHRoYXQgaXQgaXMgbGlrZWx5IHRvIGJy
ZWFrIGUuZy4gZnN0YXQoMSkgdW5sZXNzIHlvdSByZWNvbXBpbGUgeW91cg0K
IyB1c2VybGFuZCB3aXRoIC1EREVCVUdfTE9DS1MgYXMgd2VsbC4NCiMNCiNv
cHRpb25zIAlERUJVR19MT0NLUw0KDQojIFNldCB0aGUgYW1vdW50IG9mIHRp
bWUgKGluIHNlY29uZHMpIHRoZSBzeXN0ZW0gd2lsbCB3YWl0IGJlZm9yZQ0K
IyByZWJvb3RpbmcgYXV0b21hdGljYWxseSB3aGVuIGEga2VybmVsIHBhbmlj
IG9jY3Vycy4gIElmIHNldCB0byAoLTEpLA0KIyB0aGUgc3lzdGVtIHdpbGwg
d2FpdCBpbmRlZmluaXRlbHkgdW50aWwgYSBrZXkgaXMgcHJlc3NlZCBvbiB0
aGUNCiMgY29uc29sZS4NCiNvcHRpb25zIAlQQU5JQ19SRUJPT1RfV0FJVF9U
SU1FPTE2DQoNCiMNCiMgU3lzVlI0IEFCSSBlbXVsYXRpb24NCiMNCiMgVGhl
IHN2cjQgQUJJIGVtdWxhdG9yIGNhbiBiZSBzdGF0aWNhbGx5IGNvbXBpbGVk
IGludG8gdGhlIGtlcm5lbCBvciBsb2FkZWQgYXMNCiMgYSBLTEQgbW9kdWxl
LiAgDQojIFRoZSBTVFJFQU1TIG5ldHdvcmsgZW11bGF0aW9uIGNvZGUgY2Fu
IGFsc28gYmUgY29tcGlsZWQgc3RhdGljYWxseSBvciBhcyBhIA0KIyBtb2R1
bGUuICBJZiBsb2FkZWQgYXMgYSBtb2R1bGUsIGl0IG11c3QgYmUgbG9hZGVk
IGJlZm9yZSB0aGUgc3ZyNCBtb2R1bGUNCiMgKHRoZSAvdXNyL3NiaW4vc3Zy
NCBzY3JpcHQgZG9lcyB0aGlzIGZvciB5b3UpLiAgSWYgY29tcGlsaW5nIHN0
YXRpY2FsbHksDQojIHRoZSBgc3RyZWFtcycgcHNldWRvLWRldmljZSBtdXN0
IGJlIGNvbmZpZ3VyZWQgaW50byBhbnkga2VybmVsIHdoaWNoIGFsc28NCiMg
c3BlY2lmaWVzIENPTVBBVF9TVlI0LiAgSXQgaXMgcG9zc2libGUgdG8gaGF2
ZSBhIHN0YXRpY2FsbHktY29uZmlndXJlZCANCiMgU1RSRUFNUyBkZXZpY2Ug
YW5kIGEgZHluYW1pY2FsbHkgbG9hZGFibGUgc3ZyNCBlbXVsYXRvcjsgIHRo
ZSAvdXNyL3NiaW4vc3ZyNA0KIyBzY3JpcHQgdW5kZXJzdGFuZHMgdGhhdCBp
dCBkb2Vzbid0IG5lZWQgdG8gbG9hZCB0aGUgYHN0cmVhbXMnIG1vZHVsZSB1
bmRlcg0KIyB0aG9zZSBjaXJjdW1zdGFuY2VzLg0KIyBDYXZlYXQ6ICBBdCB0
aGlzIHRpbWUsIGBvcHRpb25zIEtUUkFDRScgaXMgcmVxdWlyZWQgZm9yIHRo
ZSBzdnI0IGVtdWxhdG9yDQojICh3aGV0aGVyIHN0YXRpYyBvciBkeW5hbWlj
KS4gIA0KIyANCiNvcHRpb25zCQlDT01QQVRfU1ZSNAkjIGJ1aWxkIGVtdWxh
dG9yIHN0YXRpY2FsbHkNCiNvcHRpb25zCQlERUJVR19TVlI0CSMgZW5hYmxl
IHZlcmJvc2UgZGVidWdnaW5nDQojcHNldWRvLWRldmljZQlzdHJlYW1zCQkj
IFNUUkVBTVMgbmV0d29yayBkcml2ZXIgKHJlcXVpcmVkIGZvciBzdnI0KS4N
Cg0KIyBUaGUgJ2FzcicgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIGN1
cnJlbnQgRFBUL0FkYXB0ZWMgU0NTSSBSQUlEDQojIGNvbnRyb2xsZXJzIChT
bWFydFJBSUQgViBhbmQgVkkgYW5kIGxhdGVyKS4NCiMgVGhlc2UgY29udHJv
bGxlcnMgcmVxdWlyZSB0aGUgQ0FNIGluZnJhc3RydWN0dXJlLg0KIw0KI2Rl
dmljZQkJYXNyDQoNCiMgVGhlICdkcHQnIGRyaXZlciBwcm92aWRlcyBzdXBw
b3J0IGZvciBEUFQgY29udHJvbGxlcnMgKGh0dHA6Ly93d3cuZHB0LmNvbS8p
Lg0KIyBUaGVzZSBoYXZlIGhhcmR3YXJlIFJBSUQtezAsMSw1fSBzdXBwb3J0
LCBhbmQgZG8gbXVsdGktaW5pdGlhdG9yIEkvTy4NCiMgVGhlIERQVCBjb250
cm9sbGVycyBhcmUgY29tbW9ubHkgcmUtbGljZW5zZWQgdW5kZXIgb3RoZXIg
YnJhbmQtbmFtZXMgLQ0KIyBzb21lIGNvbnRyb2xsZXJzIGJ5IE9saXZldHRp
LCBEZWMsIEhQLCBBVCZULCBTTkksIEFTVCwgQWxwaGF0cm9uaWMsIE5FQyBh
bmQNCiMgQ29tcGFxIGFyZSBhY3R1YWxseSBEUFQgY29udHJvbGxlcnMuDQoj
DQojIFNlZSBzcmMvc3lzL2Rldi9kcHQgZm9yIGRlYnVnZ2luZyBhbmQgb3Ro
ZXIgc3VidGxlIG9wdGlvbnMuDQojICAgRFBUX01FQVNVUkVfUEVSRk9STUFO
Q0UgRW5hYmxlcyBhIHNldCBvZiAoc2VtaSlpbnZhc2l2ZSBtZXRyaWNzLiBW
YXJpb3VzDQojICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdHJ1bWVu
dHMgYXJlIGVuYWJsZWQuICBUaGUgdG9vbHMgaW4NCiMgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvdXNyL3NiaW4vZHB0XyogYXNzdW1lIHRoZXNlIHRv
IGJlIGVuYWJsZWQuDQojICAgRFBUX0hBTkRMRV9USU1FT1VUUyAgICAgTm9y
bWFsbHkgZGV2aWNlIHRpbWVvdXRzIGFyZSBoYW5kbGVkIGJ5IHRoZSBEUFQu
DQojICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgeW91IGFudCB0aGUg
ZHJpdmVyIHRvIGhhbmRsZSB0aW1lb3V0cywgZW5hYmxlDQojICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24uICBJZiB5b3VyIHN5c3Rl
bSBpcyB2ZXJ5IGJ1c3ksIHRoaXMNCiMgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvcHRpb24gd2lsbCBjcmVhdGUgbW9yZSB0cm91YmxlIHRoYW4gc29s
dmUuDQojICAgRFBUX1RJTUVPVVRfRkFDVE9SICAgICAgVXNlZCB0byBjb21w
dXRlIHRoZSBleGNlc3NpdmUgYW1vdW50IG9mIHRpbWUgdG8NCiMgICAgICAg
ICAgICAgICAgICAgICAgICAgICB3YWl0IHdoZW4gdGltaW5nIG91dCB3aXRo
IHRoZSBhYm92ZSBvcHRpb24uDQojICBEUFRfREVCVUdfeHh4eCAgICAgICAg
ICAgVGhlc2UgYXJlIGNvbnRyb2xsYWJsZSBmcm9tIHN5cy9kZXYvZHB0L2Rw
dC5oDQojICBEUFRfTE9TVF9JUlEgICAgICAgICAgICAgV2hlbiBlbmFibGVk
LCB3aWxsIHRyeSwgb25jZSBwZXIgc2Vjb25kLCB0byBjYXRjaA0KIyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFueSBpbnRlcnJ1cHQgdGhhdCBnb3Qg
bG9zdC4gIFNlZW1zIHRvIGhlbHAgaW4gc29tZQ0KIyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIERQVC1maXJtd2FyZS9Nb3RoZXJib2FyZCBjb21iaW5h
dGlvbnMuICBNaW5pbWFsDQojICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29zdCwgZ3JlYXQgYmVuZWZpdC4NCiMgIERQVF9SRVNFVF9IQkEgICAgICAg
ICAgICBNYWtlICJyZXNldCIgYWN0dWFsbHkgcmVzZXQgdGhlIGNvbnRyb2xs
ZXINCiMgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mIGZ1
ZGdpbmcgaXQuICBPbmx5IGVuYWJsZSB0aGlzIGlmIHlvdQ0KIwkJCSAgICBh
cmUgMTAwJSBjZXJ0YWluIHlvdSBuZWVkIGl0Lg0KDQojZGV2aWNlCQlkcHQN
Cg0KIyBEUFQgb3B0aW9ucw0KIyFDQU0jIG9wdGlvbnMgCURQVF9NRUFTVVJF
X1BFUkZPUk1BTkNFDQojIUNBTSMgb3B0aW9ucyAJRFBUX0hBTkRMRV9USU1F
T1VUUw0KI29wdGlvbnMgCURQVF9USU1FT1VUX0ZBQ1RPUj00DQojb3B0aW9u
cyAJRFBUX0xPU1RfSVJRDQojb3B0aW9ucyAJRFBUX1JFU0VUX0hCQQ0KI29w
dGlvbnMgCURQVF9BTExPV19NRU1JTw0KDQojDQojIENvbXBhcSAiQ0lTUyIg
UkFJRCBjb250cm9sbGVycyAoU21hcnRSQUlEIDUqIHNlcmllcykNCiMgVGhl
c2UgY29udHJvbGxlcnMgaGF2ZSBhIFNDU0ktbGlrZSBpbnRlcmZhY2UsIGFu
ZCByZXF1aXJlIHRoZQ0KIyBDQU0gaW5mcmFzdHJ1Y3R1cmUuDQojDQojZGV2
aWNlCQljaXNzDQoNCiMNCiMgTXlsZXggQWNjZWxlUkFJRCBhbmQgZVh0cmVt
ZVJBSUQgY29udHJvbGxlcnMgd2l0aCB2NiBhbmQgbGF0ZXINCiMgZmlybXdh
cmUuICBUaGVzZSBjb250cm9sbGVycyBoYXZlIGEgU0NTSS1saWtlIGludGVy
ZmFjZSwgYW5kIHJlcXVpcmUNCiMgdGhlIENBTSBpbmZyYXN0cnVjdHVyZS4N
CiMNCiNkZXZpY2UgICAgICAgICAgbWx5DQoNCiMgVVNCIHN1cHBvcnQNCiMg
VUhDSSBjb250cm9sbGVyDQojZGV2aWNlCQl1aGNpDQojIE9IQ0kgY29udHJv
bGxlcg0KI2RldmljZQkJb2hjaQ0KIyBHZW5lcmFsIFVTQiBjb2RlIChtYW5k
YXRvcnkgZm9yIFVTQikNCiNkZXZpY2UJCXVzYg0KIw0KIyBGbSBSYWRpbw0K
I2RldmljZQkJdWZtDQojIEdlbmVyaWMgVVNCIGRldmljZSBkcml2ZXINCiNk
ZXZpY2UJCXVnZW4NCiMgSHVtYW4gSW50ZXJmYWNlIERldmljZSAoYW55dGhp
bmcgd2l0aCBidXR0b25zIGFuZCBkaWFscykNCiNkZXZpY2UJCXVoaWQNCiMg
VVNCIGtleWJvYXJkDQojZGV2aWNlCQl1a2JkDQojIFVTQiBwcmludGVyDQoj
ZGV2aWNlCQl1bHB0DQojIFVTQiBJb21lZ2EgWmlwIDEwMCBEcml2ZSAoUmVx
dWlyZXMgc2NidXMgYW5kIGRhKQ0KI2RldmljZQkJdW1hc3MNCiMgVVNCIG1v
ZGVtIHN1cHBvcnQNCiNkZXZpY2UJCXVtb2RlbQ0KIyBVU0IgbW91c2UNCiNk
ZXZpY2UJCXVtcw0KIyBVU0IgUmlvIChNUDMgUGxheWVyKQ0KI2RldmljZQkJ
dXJpbw0KIyBVU0Igc2Nhbm5lcnMNCiNkZXZpY2UJCXVzY2FubmVyDQojDQoj
IEFETXRlayBVU0IgZXRoZXJuZXQuIFN1cHBvcnRzIHRoZSBMaW5rU3lzIFVT
QjEwMFRYLA0KIyB0aGUgQmlsbGlvbnRvbiBVU0IxMDAsIHRoZSBNZWxjbyBM
VS1BVFgsIHRoZSBELUxpbmsgRFNCLTY1MFRYDQojIGFuZCB0aGUgU01DIDIy
MDJVU0IuIEFsc28gd29ya3Mgd2l0aCB0aGUgQURNdGVrIEFOOTg2IFBlZ2Fz
dXMNCiMgZXZhbCBib2FyZC4NCiNkZXZpY2UJCWF1ZQ0KIw0KIyBDQVRDIFVT
Qi1FTDEyMDFBIFVTQiBldGhlcm5ldC4gU3VwcG9ydHMgdGhlIENBVEMgTmV0
bWF0ZQ0KIyBhbmQgTmV0bWF0ZSBJSSwgYW5kIHRoZSBCZWxraW4gRjVVMTEx
Lg0KI2RldmljZQkJY3VlDQojDQojIEthd2FzYWtpIExTSSBldGhlcm5ldC4g
U3VwcG9ydHMgdGhlIExpbmtTeXMgVVNCMTBULA0KIyBFbnRyZWdhIFVTQi1O
RVQtRTQ1LCBQZXJhY29tIEV0aGVybmV0IEFkYXB0ZXIsIHRoZQ0KIyAzQ29t
IDNjMTkyNTAsIHRoZSBBRFMgVGVjaG5vbG9naWVzIFVTQi0xMEJULCB0aGUg
QVRlbiBVQzEwVCwNCiMgdGhlIE5ldGdlYXIgRUExMDEsIHRoZSBELUxpbmsg
RFNCLTY1MCwgdGhlIFNNQyAyMTAyVVNCDQojIGFuZCAyMTA0VVNCLCBhbmQg
dGhlIENvcmVnYSBVU0ItVC4NCiNkZXZpY2UJCWt1ZQ0KDQojIGRlYnVnZ2lu
ZyBvcHRpb25zIGZvciB0aGUgVVNCIHN1YnN5c3RlbQ0KIw0KI29wdGlvbnMg
CVVIQ0lfREVCVUcNCiNvcHRpb25zIAlPSENJX0RFQlVHDQojb3B0aW9ucyAJ
VVNCX0RFQlVHDQoNCiNvcHRpb25zIAlVR0VOX0RFQlVHDQojb3B0aW9ucyAJ
VUhJRF9ERUJVRw0KI29wdGlvbnMgCVVIVUJfREVCVUcNCiNvcHRpb25zIAlV
S0JEX0RFQlVHDQojb3B0aW9ucyAJVUxQVF9ERUJVRw0KI29wdGlvbnMgCVVN
QVNTX0RFQlVHDQojb3B0aW9ucyAJVU1TX0RFQlVHDQoNCiMgb3B0aW9ucyBm
b3IgdWtiZDoNCiNvcHRpb25zIAlVS0JEX0RGTFRfS0VZTUFQCSMgc3BlY2lm
eSB0aGUgYnVpbHQtaW4ga2V5bWFwDQojbWFrZW9wdGlvbnMJVUtCRF9ERkxU
X0tFWU1BUD1pdC5pc28NCg0KIw0KIyBFbWJlZGRlZCBzeXN0ZW0gb3B0aW9u
czoNCiMNCiMgQW4gZW1iZWRkZWQgc3lzdGVtIG1pZ2h0IHdhbnQgdG8gcnVu
IHNvbWV0aGluZyBvdGhlciB0aGFuIGluaXQuDQojb3B0aW9ucyAJSU5JVF9Q
QVRIPSIvc2Jpbi9pbml0Oi9zdGFuZC9zeXNpbnN0YWxsIg0KDQojIERlYnVn
IG9wdGlvbnMNCiNvcHRpb25zIAlCVVNfREVCVUcgICAgICAgIyBlbmFibGUg
bmV3YnVzIGRlYnVnZ2luZw0KI29wdGlvbnMgCURFQlVHX1ZGU19MT0NLUyAj
IGVuYWJsZSB2ZnMgbG9jayBkZWJ1Z2dpbmcNCiNvcHRpb25zIAlOUFhfREVC
VUcgICAgICAgIyBlbmFibGUgbnB4IGRlYnVnZ2luZyAoRlBVL21hdGggZW11
KQ0KDQojIE1vcmUgdW5kb2N1bWVudGVkIG9wdGlvbnMgZm9yIGxpbnRpbmcu
DQojIE5vdGUgdGhhdCBkb2N1bWVudGluZyB0aGVzZSBhcmUgbm90IGNvbnNp
ZGVyZWQgYW4gYWZmcm9udC4NCg0Kb3B0aW9ucyAJQUhDX0RVTVBfRUVQUk9N
DQpvcHRpb25zIAlBSENfVE1PREVfRU5BQkxFDQojb3B0aW9ucyAJQ0FNX0RF
QlVHX0RFTEFZDQojb3B0aW9ucyAJQ0xVU1RFUkRFQlVHDQojb3B0aW9ucyAJ
Q09NUEFUX0xJTlVYDQpvcHRpb25zIAlDUFVfVVBHUkFERV9IV19DQUNIRQ0K
I29wdGlvbnMgCURFQlVHDQojb3B0aW9ucyAJREVCVUdfTElOVVgNCiNvcHRp
b25zIAlESVNBQkxFX1BTRQ0KI29wdGlvbnMgCUVOQUJMRV9BTEFSVA0KI29w
dGlvbnMgCUVOQUJMRV9WRlNfSU9PUFQNCiNvcHRpb25zIAlGQl9ERUJVRw0K
I29wdGlvbnMgCUZCX0lOU1RBTExfQ0RFVg0KI29wdGlvbnMgCUZFXzhCSVRf
U1VQUE9SVA0KI29wdGlvbnMgCUk0Ql9TTVBfV09SS0FST1VORA0KI29wdGlv
bnMgCUk1ODZfUE1DX0dVUFJPRj0weDcwMDAwDQojb3B0aW9ucyAJSUJDUzIN
CiNvcHRpb25zIAlLQkRJT19ERUJVRz0yDQojb3B0aW9ucyAJS0JEX01BWFJF
VFJZPTQNCiNvcHRpb25zIAlLQkRfTUFYV0FJVD02DQojb3B0aW9ucyAJS0JE
X1JFU0VUREVMQVk9MjAxDQojb3B0aW9ucyAJS0VZDQojb3B0aW9ucyAJTE9D
S0ZfREVCVUcNCiNvcHRpb25zIAlMT1VUQg0KI29wdGlvbnMgCU5FVEFUQUxL
REVCVUcNCiNvcHRpb25zIAlPTFRSX05PX0JVTExTRVlFX01BQw0KI29wdGlv
bnMgCU9MVFJfTk9fSEFXS0VZRV9NQUMNCiNvcHRpb25zIAlPTFRSX05PX1RN
U19NQUMNCiNvcHRpb25zIAlQTlBCSU9TDQojb3B0aW9ucyAJUFNNX0RFQlVH
PTENCiNvcHRpb25zIAlTQ1NJX05DUl9ERUJVRw0KI29wdGlvbnMgCVNDU0lf
TkNSX01BWF9TWU5DPTEwMDAwDQojb3B0aW9ucyAJU0NTSV9OQ1JfTUFYX1dJ
REU9MQ0KI29wdGlvbnMgCVNDU0lfTkNSX01ZQUREUj03DQojb3B0aW9ucyAJ
U0NfREVCVUdfTEVWRUwNCiNvcHRpb25zIAlTQ19SRU5ERVJfREVCVUcNCiNv
cHRpb25zIAlTSE9XX0JVU1lCVUZTCSMgTGlzdCBidWZmZXJzIHRoYXQgcHJl
dmVudCByb290IHVubW91bnQNCiNvcHRpb25zIAlTSU1QTEVMT0NLX0RFQlVH
DQojb3B0aW9ucyAJU0lfREVCVUcNCiNvcHRpb25zIAlTTElQX0lGRl9PUFRT
DQojb3B0aW9ucyAJU1BYX0hBQ0sNCiNvcHRpb25zIAlUSU1FUl9GUkVRPSIo
KDE0MzE4MTgyKzYpLzEyKSINCiNvcHRpb25zIAlWRlNfQklPX0RFQlVHDQoj
b3B0aW9ucwkJWEJPTkVIQUNLDQoNCg==
--0-891055018-1023483568=:37924--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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