Re: [LINUX:254] Re: DHCP Server

Serkan Hamarat (bbuyuk@ceng.marun.edu.tr)
Mon, 17 Aug 1998 19:23:40 +0300 (EET DST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-1804928587-903371020=:2081
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Mon, 17 Aug 1998, Emre Pars wrote:

> squid'i kurup dogru durust calistiran kimse var mi??
> varsa config dosyasini yollayabilir mi??
>
> Sevgiler & Saygilar
> EmRe

Squid.conf dosyasini attach edilmis olarak gonderiyorum. Ne kadar
dogru konfigure ettim bilmiyorum ama en azindan calisiyor...
Selamlar,
BETUL

>
> -----Original Message-----
> From: <using "Betul Buyukkurt"> <bbuyuk@ceng.marun.edu.tr>
> To: Multiple recipients of list <linux@bilkent.edu.tr>
> Date: Monday, August 17, 1998 3:05 PM
> Subject: [LINUX:249] DHCP Server
>
>
> >
> > Selam,
> >
> > "Squid kurulum sorunlari" konulu mailimde bahsettigim sorunlarimi
> >hallettim. Sorun error tanimlarina iliskin dosyalarin errors dizini
> >altinda olusamamasindanmis (Niye olusmadigini hala anlayabilmis degilim).
> >Compile ettigim dizinin altindan, bulunmasi gereken dizinin altina
> >kopyalayinca duzgun olarak calismaya basladi. Yardimci olan arkadaslara
> >tekrar tesekkur ediyorum.
> >
> > Ayrica yeni bir sorunum daha var: RedHat 5.0 yuklu makineme
> >dhcpd-5.16-5.i386.rpm DHCP server ini kurmaya calistim. Ama dhcpd.conf
> >dosyasini /etc dizini altinda olusturmadi. Ayrica find komutu ile de
> >tum dizinlerin altinda arattim. Hic bir dizin altinda boyle bir dosya
> >olusturmamis. Iki defa uninstall edip tekrar yukledigim halde sonuc yine
> >ayni.
> > Yardimci olacaklara simdiden tesekkurler....
> >
> > BETUL
> >
> >
> > BETUL BUYUKKURT
> > =================
> > email: bbuyuk@ceng.marun.edu.tr
> > bbuyukkurt@hotmail.com
> >
> > MARMARA UNIVERSITY
> > Engineering Faculty
> > Computer Engineering Department
> > Senior Student
> >
>
>
BETUL BUYUKKURT
=================
email: bbuyuk@ceng.marun.edu.tr
bbuyukkurt@hotmail.com

MARMARA UNIVERSITY
Engineering Faculty
Computer Engineering Department
Senior Student

---559023410-1804928587-903371020=:2081
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="squid.conf"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.GSO.3.96.980817192340.2081D@titan.ceng.marun.edu.tr>
Content-Description: squid.conf

DQojIFdFTENPTUUgVE8gU1FVSUQgMS4yIA0KIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLSANCiMgDQojIFRoaXMgaXMgdGhlIGRlZmF1bHQgU3F1aWQgY29uZmln
dXJhdGlvbiBmaWxlLiBZb3UgbWF5IHdpc2ggDQojIHRvIGxvb2sgYXQgaHR0
cDovL2NhY2hlLmlzLmNvLnphL3NxdWlkLyBmb3IgZG9jdW1lbnRhdGlvbiwg
DQojIG9yIHRoZSBTcXVpZCBob21lIHBhZ2UgKGh0dHA6Ly9zcXVpZC5ubGFu
ci5uZXQvKSBmb3IgdGhlIEZBUS4gIA0KIw0KDQojIE5FVFdPUksgT1BUSU9O
Uw0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojICBU
QUc6IGh0dHBfcG9ydA0KIwlUaGUgcG9ydCBudW1iZXIgd2hlcmUgU3F1aWQg
d2lsbCBsaXN0ZW4gZm9yIEhUVFAgY2xpZW50DQojCXJlcXVlc3RzLiAgRGVm
YXVsdCBpcyAzMTI4LCBmb3IgaHR0cGQtYWNjZWwgbW9kZSB1c2UgcG9ydCA4
MC4NCiMJTWF5IGJlIG92ZXJyaWRkZW4gd2l0aCAtYSBvbiB0aGUgY29tbWFu
ZCBsaW5lLg0KIw0KIwlZb3UgbWF5IHNwZWNpZnkgbXVsdGlwbGUgcG9ydHMg
aGVyZSwgYnV0IHRoZXkgTVVTVCBhbGwgYmUgb24NCiMJYSBzaW5nbGUgbGlu
ZS4NCiMNCiNodHRwX3BvcnQgMzEyOA0KDQojICBUQUc6IGljcF9wb3J0DQoj
CVRoZSBwb3J0IG51bWJlciB3aGVyZSBTcXVpZCBzZW5kcyBhbmQgcmVjZWl2
ZXMgSUNQIHJlcXVlc3RzIHRvDQojCWFuZCBmcm9tIG5laWdoYm9yIGNhY2hl
cy4gIERlZmF1bHQgaXMgMzEzMC4gIFRvIGRpc2FibGUgdXNlDQojCSIwIi4g
IE1heSBiZSBvdmVycmlkZGVuIHdpdGggLXUgb24gdGhlIGNvbW1hbmQgbGlu
ZS4NCiMNCiNpY3BfcG9ydCAzMTMwDQoNCiMgIFRBRzogaHRjcF9wb3J0DQoj
CVRoZSBwb3J0IG51bWJlciB3aGVyZSBTcXVpZCBzZW5kcyBhbmQgcmVjZWl2
ZXMgSUNQIHJlcXVlc3RzIHRvDQojCWFuZCBmcm9tIG5laWdoYm9yIGNhY2hl
cy4gIERlZmF1bHQgaXMgNDgyNy4gIFRvIGRpc2FibGUgdXNlDQojCSIwIi4N
CiMNCiNodGNwX3BvcnQgNDgyNw0KDQojICBUQUc6IG1jYXN0X2dyb3Vwcw0K
IwlUaGlzIHRhZyBzcGVjaWZpZXMgYSBsaXN0IG9mIG11bHRpY2FzdCBncm91
cHMgd2hpY2ggeW91ciBzZXJ2ZXINCiMJc2hvdWxkIGpvaW4gdG8gcmVjZWl2
ZSBtdWx0aWNhc3RlZCBJQ1AgcmVxdWVzdHMuDQojDQojCU5PVEUhICBCZSB2
ZXJ5IGNhcmVmdWwgd2hhdCB5b3UgcHV0IGhlcmUhICBCZSBzdXJlIHlvdQ0K
Iwl1bmRlcnN0YW5kIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYW4gSUNQIF9x
dWVyeV8gYW5kIGFuIElDUA0KIwlfcmVwbHlfLiAgVGhpcyBvcHRpb24gaXMg
dG8gYmUgc2V0IG9ubHkgaWYgeW91IHdhbnQgdG8gUkVDRUlWRQ0KIwltdWx0
aWNhc3QgcXVlcmllcy4gIERvIE5PVCBzZXQgdGhpcyBvcHRpb24gdG8gU0VO
RCBtdWx0aWNhc3QNCiMJSUNQICh1c2UgY2FjaGVfcGVlciBmb3IgdGhhdCku
ICBJQ1AgcmVwbGllcyBhcmUgYWx3YXlzIHNlbnQgdmlhDQojCXVuaWNhc3Qs
IHNvIHRoaXMgb3B0aW9uIGRvZXMgbm90IGFmZmVjdCB3aGV0aGVyIG9yIG5v
dCB5b3Ugd2lsbA0KIwlyZWNlaXZlIHJlcGxpZXMgZnJvbSBtdWx0aWNhc3Qg
Z3JvdXAgbWVtYmVycy4NCiMNCiMJWW91IG11c3QgYmUgdmVyeSBjYXJlZnVs
IHRvIE5PVCB1c2UgYSBtdWx0aWNhc3QgYWRkcmVzcyB3aGljaA0KIwlpcyBh
bHJlYWR5IGluIHVzZSBieSBhbm90aGVyIGdyb3VwIG9mIGNhY2hlcy4gIE5M
QU5SIGhhcyBiZWVuDQojCWFzc2lnbmVkIGEgYmxvY2sgb2YgbXVsdGljYXN0
IGFkZHJlc3Mgc3BhY2UgZm9yIHVzZSBpbiBXZWINCiMJQ2FjaGluZy4gIFBs
ZXNlIHdyaXRlIHRvIHVzIGF0IG5sYW5yLWNhY2hlQG5sYW5yLm5ldCB0byBy
ZWNlaXZlDQojCWFuIGFkZHJlc3MgZm9yIHlvdXIgb3duIHVzZS4NCiMNCiMJ
SWYgeW91IGFyZSB1bnN1cmUgYWJvdXQgbXVsdGljYXN0LCBwbGVhc2UgcmVh
ZCB0aGUgTXVsdGljYXN0DQojCWNoYXB0ZXIgaW4gdGhlIFNxdWlkIEZBUSAo
aHR0cDovL3NxdWlkLm5sYW5yLm5ldC9TcXVpZC9GQVEvKS4NCiMNCiMJVXNh
Z2U6IG1jYXN0X2dyb3VwcyAyMzkuMTI4LjE2LjEyOCAyMjQuMC4xLjIwDQoj
DQojCUJ5IGRlZmF1bHQsIFNxdWlkIGRvZXNuJ3QgbGlzdGVuIG9uIGFueSBt
dWx0aWNhc3QgZ3JvdXBzLg0KIw0KI21jYXN0X2dyb3VwcyAyMzkuMTI4LjE2
LjEyOA0KDQojICBUQUc6IHRjcF9pbmNvbWluZ19hZGRyZXNzDQojICBUQUc6
IHRjcF9vdXRnb2luZ19hZGRyZXNzDQojICBUQUc6IHVkcF9pbmNvbWluZ19h
ZGRyZXNzDQojICBUQUc6IHVkcF9vdXRnb2luZ19hZGRyZXNzDQojCVVzYWdl
OiB0Y3BfaW5jb21pbmdfYWRkcmVzcyAxMC4yMC4zMC40MA0KIwkgICAgICAg
dWRwX291dGdvaW5nX2FkZHJlc3MgZnVsbHkucXVhbGlmaWVkLmRvbWFpbi5u
YW1lDQojDQojCXRjcF9pbmNvbWluZ19hZGRyZXNzCWlzIHVzZWQgZm9yIHRo
ZSBIVFRQIHNvY2tldCB3aGljaCBhY2NlcHRzDQojCQkJCWNvbm5lY3Rpb25z
IGZyb20gY2xpZW50cyBhbmQgb3RoZXIgY2FjaGVzLg0KIwl0Y3Bfb3V0Z29p
bmdfYWRkcmVzcwlpcyB1c2VkIGZvciBjb25uZWN0aW9ucyBtYWRlIHRvIHJl
bW90ZQ0KIwkJCQlzZXJ2ZXJzIGFuZCBvdGhlciBjYWNoZXMuDQojCXVkcF9p
bmNvbWluZ19hZGRyZXNzCWlzIHVzZWQgZm9yIHRoZSBJQ1Agc29ja2V0IHJl
Y2VpdmluZyBwYWNrZXRzDQojCQkJCWZyb20gb3RoZXIgY2FjaGVzLg0KIwl1
ZHBfb3V0Z29pbmdfYWRkcmVzcwlpcyB1c2VkIGZvciBJQ1AgcGFja2V0cyBz
ZW50IG91dCB0byBvdGhlcg0KIwkJCQljYWNoZXMuDQojDQojCVRoZSBkZWZh
dWx0cyBiZWhhdmlvdXIgaXMgdG8gbm90IGJpbmQgdG8gYW55IHNwZWNpZmlj
IGFkZHJlc3MuDQojDQojCU5PVEUsIHVkcF9pbmNvbWluZ19hZGRyZXNzIGFu
ZCB1ZHBfb3V0Z29pbmdfYWRkcmVzcyBjYW4gbm90IGhhdmUNCiMJdGhlIHNh
bWUgdmFsdWUgc2luY2UgdGhleSBib3RoIHVzZSBwb3J0IDMxMzAuDQojDQp0
Y3BfaW5jb21pbmdfYWRkcmVzcyAxOTQuMjcuNTQuMTUNCnRjcF9vdXRnb2lu
Z19hZGRyZXNzIDE5NC4yNy41NC4xNQ0KdWRwX2luY29taW5nX2FkZHJlc3Mg
dGVzdC5jZW5nLm1hcnVuLmVkdS50cg0KdWRwX291dGdvaW5nX2FkZHJlc3Mg
dGVzdC5jZW5nLm1hcnVuLmVkdS50cg0KDQoNCiMgT1BUSU9OUyBXSElDSCBB
RkZFQ1QgVEhFIE5FSUdIQk9SIFNFTEVDVElPTiBBTEdPUklUSE0NCiMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyAgVEFHOiBjYWNo
ZV9wZWVyDQojCVRvIHNwZWNpZnkgb3RoZXIgY2FjaGVzIGluIGEgaGllcmFy
Y2h5LCB1c2UgdGhlIGZvcm1hdDoNCiMNCiMJCWhvc3RuYW1lIHR5cGUgaHR0
cF9wb3J0IGljcF9wb3J0DQojDQojCUZvciBleGFtcGxlLA0KIw0KIwkjICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3h5ICBp
Y3ANCiMJIyAgICAgICAgICBob3N0bmFtZSAgICAgICAgICAgICB0eXBlICAg
ICBwb3J0ICAgcG9ydCAgb3B0aW9ucw0KIwkjICAgICAgICAgIC0tLS0tLS0t
LS0tLS0tLS0tLS0tIC0tLS0tLS0tIC0tLS0tIC0tLS0tICAtLS0tLS0tLS0t
LQ0KIwljYWNoZV9wZWVyIHBhcmVudC5mb28ubmV0ICAgICAgIHBhcmVudCAg
ICAzMTI4ICAzMTMwICBbcHJveHktb25seV0NCiMJY2FjaGVfcGVlciBzaWIx
LmZvby5uZXQgICAgICAgICBzaWJsaW5nICAgMzEyOCAgMzEzMCAgW3Byb3h5
LW9ubHldDQojCWNhY2hlX3BlZXIgc2liMi5mb28ubmV0ICAgICAgICAgc2li
bGluZyAgIDMxMjggIDMxMzAgIFtwcm94eS1vbmx5XQ0KIw0KIwkgICAgICB0
eXBlOiAgZWl0aGVyICdwYXJlbnQnLCAnc2libGluZycsIG9yICdtdWx0aWNh
c3QnLg0KIw0KIwlwcm94eV9wb3J0OiAgVGhlIHBvcnQgbnVtYmVyIHdoZXJl
IHRoZSBjYWNoZSBsaXN0ZW5zIGZvciBwcm94eQ0KIwkJICAgICByZXF1ZXN0
cy4NCiMNCiMJICBpY3BfcG9ydDogIFVzZWQgZm9yIHF1ZXJ5aW5nIG5laWdo
Ym9yIGNhY2hlcyBhYm91dA0KIwkJICAgICBvYmplY3RzLiAgVG8gaGF2ZSBh
IG5vbi1JQ1AgbmVpZ2hib3INCiMJCSAgICAgc3BlY2lmeSAnNycgZm9yIHRo
ZSBJQ1AgcG9ydCBhbmQgbWFrZSBzdXJlIHRoZQ0KIwkJICAgICBuZWlnaGJv
ciBtYWNoaW5lIGhhcyB0aGUgVURQIGVjaG8gcG9ydA0KIwkJICAgICBlbmFi
bGVkIGluIGl0cyAvZXRjL2luZXRkLmNvbmYgZmlsZS4NCiMNCiMJICAgIG9w
dGlvbnM6IHByb3h5LW9ubHkNCiMJCSAgICAgd2VpZ2h0PW4NCiMJCSAgICAg
dHRsPW4NCiMJCSAgICAgbm8tcXVlcnkNCiMJCSAgICAgZGVmYXVsdA0KIwkJ
ICAgICByb3VuZC1yb2Jpbg0KIwkJICAgICBtdWx0aWNhc3QtcmVzcG9uZGVy
DQojCQkgICAgIGNsb3Nlc3Qtb25seQ0KIwkJICAgICBuby1uZXRkYi1leGNo
YW5nZQ0KIw0KIwkJICAgICB1c2UgJ3Byb3h5LW9ubHknIHRvIHNwZWNpZnkg
dGhhdCBvYmplY3RzIGZldGNoZWQNCiMJCSAgICAgZnJvbSB0aGlzIGNhY2hl
IHNob3VsZCBub3QgYmUgc2F2ZWQgbG9jYWxseS4NCiMNCiMJCSAgICAgdXNl
ICd3ZWlnaHQ9bicgdG8gc3BlY2lmeSBhIHdlaWdodGVkIHBhcmVudC4NCiMJ
CSAgICAgVGhlIHdlaWdodCBtdXN0IGJlIGFuIGludGVnZXIuICBUaGUgZGVm
YXVsdCB3ZWlnaHQNCiMJCSAgICAgaXMgMSwgbGFyZ2VyIHdlaWdodHMgYXJl
IGZhdm9yZWQgbW9yZS4NCiMNCiMJCSAgICAgdXNlICd0dGw9bicgdG8gc3Bl
Y2lmeSBhIElQIG11bHRpY2FzdCBUVEwgdG8gdXNlDQojCQkgICAgIHdoZW4g
c2VuZGluZyBhbiBJQ1AgcmVxdWVzdCB0byB0aGlzIGFkZHJlc3MuDQojCQkg
ICAgIE9ubHkgdXNlZnVsIHdoZW4gc2VuZGluZyB0byBhIG11bHRpY2FzdCBn
cm91cC4NCiMJCSAgICAgQmVjYXVzZSB3ZSBkb24ndCBhY2NlcHQgSUNQIHJl
cGxpZXMgZnJvbSByYW5kb20NCiMJCSAgICAgaG9zdHMsIHlvdSBtdXN0IGNv
bmZpZ3VyZSBvdGhlciBncm91cCBtZW1iZXJzIGFzDQojCQkgICAgIHBlZXJz
IHdpdGggdGhlICdtdWx0aWNhc3QtcmVzcG9uZGVyJyBvcHRpb24gYmVsb3cu
DQojDQojCQkgICAgIHVzZSAnbm8tcXVlcnknIHRvIE5PVCBzZW5kIElDUCBx
dWVyaWVzIHRvIHRoaXMNCiMJCSAgICAgbmVpZ2hib3IuDQojDQojCQkgICAg
IHVzZSAnZGVmYXVsdCcgaWYgdGhpcyBpcyBhIHBhcmVudCBjYWNoZSB3aGlj
aCBjYW4NCiMJCSAgICAgYmUgdXNlZCBhcyBhICJsYXN0LXJlc29ydC4iIFlv
dSBzaG91bGQgcHJvYmFibHkNCiMJCSAgICAgb25seSB1c2UgJ2RlZmF1bHQn
IGluIHNpdHVhdGlvbnMgd2hlcmUgeW91IGNhbm5vdA0KIwkJICAgICB1c2Ug
SUNQIHdpdGggeW91ciBwYXJlbnQgY2FjaGUocykuDQojDQojCQkgICAgIHVz
ZSAncm91bmQtcm9iaW4nIHRvIGRlZmluZSBhIHNldCBvZiBwYXJlbnRzIHdo
aWNoDQojCQkgICAgIHNob3VsZCBiZSB1c2VkIGluIGEgcm91bmQtcm9iaW4g
ZmFzaGlvbiBpbiB0aGUNCiMJCSAgICAgYWJzZW5jZSBvZiBhbnkgSUNQIHF1
ZXJpZXMuDQojDQojCQkgICAgICdtdWx0aWNhc3QtcmVzcG9uZGVyJyBpbmRp
Y2F0ZXMgdGhhdCB0aGUgbmFtZWQgcGVlcg0KIwkJICAgICBpcyBhIG1lbWJl
ciBvZiBhIG11bHRpY2FzdCBncm91cC4gIElDUCBxdWVyaWVzIHdpbGwNCiMJ
CSAgICAgbm90IGJlIHNlbnQgZGlyZWN0bHkgdG8gdGhlIHBlZXIsIGJ1dCBJ
Q1AgcmVwbGllcw0KIwkJICAgICB3aWxsIGJlIGFjY2VwdGVkIGZyb20gaXQu
DQojDQojCQkgICAgICdjbG9zZXN0LW9ubHknIGluZGljYXRlcyB0aGF0LCBm
b3IgSUNQX09QX01JU1MNCiMJCSAgICAgcmVwbGllcywgd2UnbGwgb25seSBm
b3J3YXJkIENMT1NFU1RfUEFSRU5UX01JU1Nlcw0KIwkJICAgICBhbmQgbmV2
ZXIgRklSU1RfUEFSRU5UX01JU1Nlcy4NCiMNCiMJCSAgICAgJ25vLW5ldGRi
LWV4Y2hhbmdlJyBkaXNhYmxlcyByZXF1ZXN0aW5nIElDTVANCiMJCSAgICAg
UlRUIGRhdGFiYXNlIChOZXREQikgZnJvbSB0aGUgbmVpZ2hib3IuDQojDQoj
CU5PVEU6IG5vbi1JQ1AgbmVpZ2hib3JzIG11c3QgYmUgc3BlY2lmaWVkIGFz
ICdwYXJlbnQnLg0KIw0KI2NhY2hlX3BlZXIgaG9zdG5hbWUgdHlwZSAzMTI4
IDMxMzANCg0KIyAgVEFHOiBjYWNoZV9wZWVyX2RvbWFpbg0KIwlVc2UgdG8g
bGltaXQgdGhlIGRvbWFpbnMgZm9yIHdoaWNoIGEgbmVpZ2hib3IgY2FjaGUg
d2lsbCBiZQ0KIwlxdWVyaWVkLiAgVXNhZ2U6DQojDQojCWNhY2hlX3BlZXJf
ZG9tYWluIGNhY2hlLWhvc3QgZG9tYWluIFtkb21haW4gLi4uXQ0KIwljYWNo
ZV9wZWVyX2RvbWFpbiBjYWNoZS1ob3N0ICFkb21haW4NCiMNCiMJRm9yIGV4
YW1wbGUsIHNwZWNpZnlpbmcNCiMNCiMJCWNhY2hlX3BlZXJfZG9tYWluIHBh
cmVudC5mb28ubmV0CS5lZHUNCiMNCiMJaGFzIHRoZSBlZmZlY3Qgc3VjaCB0
aGF0IFVEUCBxdWVyeSBwYWNrZXRzIGFyZSBzZW50IHRvDQojCSdiaWdzZXJ2
ZXInIG9ubHkgd2hlbiB0aGUgcmVxdWVzdGVkIG9iamVjdCBleGlzdHMgb24g
YQ0KIwlzZXJ2ZXIgaW4gdGhlIC5lZHUgZG9tYWluLiAgUHJlZml4aW5nIHRo
ZSBkb21haW5uYW1lDQojCXdpdGggJyEnIG1lYW5zIHRoYXQgdGhlIGNhY2hl
IHdpbGwgYmUgcXVlcmllZCBmb3Igb2JqZWN0cw0KIwlOT1QgaW4gdGhhdCBk
b21haW4uDQojDQojCU5PVEU6CSogQW55IG51bWJlciBvZiBkb21haW5zIG1h
eSBiZSBnaXZlbiBmb3IgYSBjYWNoZS1ob3N0LA0KIwkJICBlaXRoZXIgb24g
dGhlIHNhbWUgb3Igc2VwYXJhdGUgbGluZXMuDQojCQkqIFdoZW4gbXVsdGlw
bGUgZG9tYWlucyBhcmUgZ2l2ZW4gZm9yIGEgcGFydGljdWxhcg0KIwkJICBj
YWNoZS1ob3N0LCB0aGUgZmlyc3QgbWF0Y2hlZCBkb21haW4gaXMgYXBwbGll
ZC4NCiMJCSogQ2FjaGUgaG9zdHMgd2l0aCBubyBkb21haW4gcmVzdHJpY3Rp
b25zIGFyZSBxdWVyaWVkDQojCQkgIGZvciBhbGwgcmVxdWVzdHMuDQojCQkq
IFRoZXJlIGFyZSBubyBkZWZhdWx0cy4NCiMJCSogVGhlcmUgaXMgYWxzbyBh
ICdjYWNoZV9wZWVyX2FjbCcgdGFnIGluIHRoZSBBQ0wNCiMJCSAgc2VjdGlv
bi4NCg0KIyAgVEFHOiBuZWlnaGJvcl90eXBlX2RvbWFpbg0KIwl1c2FnZTog
bmVpZ2hib3JfdHlwZV9kb21haW4gcGFyZW50fHNpYmxpbmcgZG9tYWluIGRv
bWFpbiAuLi4NCiMNCiMJTW9kaWZ5aW5nIHRoZSBuZWlnaGJvciB0eXBlIGZv
ciBzcGVjaWZpYyBkb21haW5zIGlzIG5vdw0KIwlwb3NzaWJsZS4gIFlvdSBj
YW4gdHJlYXQgc29tZSBkb21haW5zIGRpZmZlcmVudGx5IHRoYW4gdGhlIHRo
ZQ0KIwlkZWZhdWx0IG5laWdoYm9yIHR5cGUgc3BlY2lmaWVkIG9uIHRoZSAn
Y2FjaGVfcGVlcicgbGluZS4NCiMJTm9ybWFsbHkgaXQgc2hvdWxkIG9ubHkg
YmUgbmVjZXNzYXJ5IHRvIGxpc3QgZG9tYWlucyB3aGljaA0KIwlzaG91bGQg
YmUgdHJlYXRlZCBkaWZmZXJlbnRseSBiZWNhdXNlIHRoZSBkZWZhdWx0IG5l
aWdoYm9yIHR5cGUNCiMJYXBwbGllcyBmb3IgaG9zdG5hbWVzIHdoaWNoIGRv
IG5vdCBtYXRjaCBkb21haW5zIGxpc3RlZCBoZXJlLg0KIw0KI0VYQU1QTEU6
DQojCWNhY2hlX3BlZXIgIHBhcmVudCBjYWNoZS5mb28ub3JnIDMxMjggMzEz
MA0KIwluZWlnaGJvcl90eXBlX2RvbWFpbiBjYWNoZS5mb28ub3JnIHNpYmxp
bmcgLmNvbSAubmV0DQojCW5laWdoYm9yX3R5cGVfZG9tYWluIGNhY2hlLmZv
by5vcmcgc2libGluZyAuYXUgLmRlDQoNCiMgIFRBRzogaWNwX3F1ZXJ5X3Rp
bWVvdXQJKG1zZWMpDQojCU5vcm1hbGx5IFNxdWlkIHdpbGwgYXV0b21hdGlj
YWxseSBkZXRlcm1pbmUgYW4gb3B0aW1hbCBJQ1ANCiMJcXVlcnkgdGltZW91
dCB2YWx1ZSBiYXNlZCBvbiB0aGUgcm91bmQtdHJpcC10aW1lIG9mIHJlY2Vu
dCBJQ1ANCiMJcXVlcmllcy4gIElmIHlvdSB3YW50IHRvIG92ZXJyaWRlIHRo
ZSB2YWx1ZSBkZXRlcm1pbmVkIGJ5DQojCVNxdWlkLCBzZXQgdGhpcyAnaWNw
X3F1ZXJ5X3RpbWVvdXQnIHRvIGEgbm9uLXplcm8gdmFsdWUuICBUaGlzDQoj
CXZhbHVlIGlzIHNwZWNpZmllZCBpbiBNSUxMSVNFQ09ORFMsIHNvLCB0byB1
c2UgYSAyLXNlY29uZA0KIwl0aW1lb3V0ICh0aGUgb2xkIGRlZmF1bHQpLCB5
b3Ugd291bGQgd3JpdGU6DQojDQojCQlpY3BfcXVlcnlfdGltZW91dCAyMDAw
DQojDQojaWNwX3F1ZXJ5X3RpbWVvdXQgMA0KDQojICBUQUc6IG1jYXN0X2lj
cF9xdWVyeV90aW1lb3V0CShtc2VjKQ0KIwlGb3IgTXVsdGljYXN0IHBlZXJz
LCBTcXVpZCByZWd1bGFybHkgc2VuZHMgb3V0IElDUCAicHJvYmVzIiB0bw0K
Iwljb3VudCBob3cgbWFueSBvdGhlciBwZWVycyBhcmUgbGlzdGVuaW5nIG9u
IHRoZSBnaXZlbiBtdWx0aWNhc3QNCiMJYWRkcmVzcy4gIFRoaXMgdmFsdWUg
c3BlY2lmaWVzIGhvdyBsb25nIFNxdWlkIHNob3VsZCB3YWl0IHRvDQojCWNv
dW50IGFsbCB0aGUgcmVwbGllcy4gIFRoZSBkZWZhdWx0IGlzIDIwMDAgbXNl
Yywgb3IgMg0KIwlzZWNvbmRzLg0KIw0KI21jYXN0X2ljcF9xdWVyeV90aW1l
b3V0IDIwMDANCg0KIyAgVEFHOiBkZWFkX3BlZXJfdGltZW91dAkoc2Vjb25k
cykNCiMJVGhpcyBjb250cm9scyBob3cgbG9uZyBTcXVpZCB3YWl0cyB0byBk
ZWNsYXJlIGEgcGVlciBjYWNoZQ0KIwlhcyAiZGVhZC4iICBJZiB0aGVyZSBh
cmUgbm8gSUNQIHJlcGxpZXMgcmVjZWl2ZWQgaW4gdGhpcw0KIwlhbW91bnQg
b2YgdGltZSwgU3F1aWQgd2lsbCBkZWNsYXJlIHRoZSBwZWVyIGRlYWQgYW5k
IG5vdA0KIwlleHBlY3QgdG8gcmVjZWl2ZSBhbnkgZnVydGhlciBJQ1AgcmVw
bGllcy4gIEhvd2V2ZXIsIGl0DQojCWNvbnRpbnVlcyB0byBzZW5kIElDUCBx
dWVyaWVzLCBhbmQgd2lsbCBtYXJrIHRoZSBwZWVyIGFzDQojCWFsaXZlIHVw
b24gcmVjZWlwdCBvZiB0aGUgZmlyc3Qgc3Vic2VxdWVudCBJQ1AgcmVwbHku
DQojDQojZGVhZF9wZWVyX3RpbWVvdXQgMTAgc2Vjb25kcw0KDQojICBUQUc6
IGhpZXJhcmNoeV9zdG9wbGlzdA0KIwlBIGxpc3Qgb2Ygd29yZHMgd2hpY2gs
IGlmIGZvdW5kIGluIGEgVVJMLCBjYXVzZSB0aGUgb2JqZWN0IHRvDQojCWJl
IGhhbmRsZWQgZGlyZWN0bHkgYnkgdGhpcyBjYWNoZS4gIEluIG90aGVyIHdv
cmRzLCB1c2UgdGhpcw0KIwl0byBub3QgcXVlcnkgbmVpZ2hib3IgY2FjaGVz
IGZvciBjZXJ0YWluIG9iamVjdHMuICBZb3UgbWF5DQojCWxpc3QgdGhpcyBv
cHRpb24gbXVsdGlwbGUgdGltZXMuDQojDQojCVRoZSBkZWZhdWx0IGlzIHRv
IGRpcmVjdGx5IGZldGNoIFVSTHMgY29udGFpbmluZyAnY2dpLWJpbicgb3Ig
Jz8nLg0KIw0KI2hpZXJhcmNoeV9zdG9wbGlzdCBjZ2ktYmluID8NCg0KIyAg
VEFHOiBub19jYWNoZQ0KIwlBIGxpc3Qgb2YgQUNMIGVsZW1lbnRzIHdoaWNo
LCBpZiBtYXRjaGVkLCBjYXVzZSB0aGUgcmVwbHkgdG8NCiMJaW1tZWRpYXRl
bHkgcmVtb3ZlZCBmcm9tIHRoZSBjYWNoZS4gIEluIG90aGVyIHdvcmRzLCB1
c2UgdGhpcw0KIwl0byBmb3JjZSBjZXJ0YWluIG9iamVjdHMgdG8gbmV2ZXIg
YmUgY2FjaGVkLg0KIw0KIwlZb3UgbXVzdCB1c2UgdGhlIHdvcmQgJ0RFTlkn
IHRvIGluZGljYXRlIHRoZSBBQ0wgbmFtZXMgd2hpY2ggc2hvdWxkDQojCU5P
VCBiZSBjYWNoZWQuDQojDQojCVRoZXJlIGlzIG5vIGRlZmF1bHQuICBXZSBy
ZWNvbW1lbmQgeW91IHVuY29tbWVudCB0aGUgZm9sbG93aW5nDQojCXR3byBs
aW5lcy4NCiMNCiNhY2wgUVVFUlkgdXJscGF0aF9yZWdleCBjZ2ktYmluIFw/
DQojbm9fY2FjaGUgZGVueSBRVUVSWQ0KDQoNCiMgT1BUSU9OUyBXSElDSCBB
RkZFQ1QgVEhFIENBQ0hFIFNJWkUNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCg0KIyAgVEFHOiBjYWNoZV9tZW0JKGJ5dGVzKQ0KIwlO
T1RFOiBUSElTIFBBUkFNRVRFUiBET0VTIE5PVCBTUEVDSUZZIFRIRSBNQVhJ
TVVNIFBST0NFU1MNCiMJU0laRS4gIElUIFBMQUNFUyBBIExJTUlUIE9OIE9O
RSBBU1BFQ1QgT0YgU1FVSUQnUyBNRU1PUlkNCiMJVVNBR0UuICBTUVVJRCBV
U0VTIE1FTU9SWSBGT1IgT1RIRVIgVEhJTkdTIEFTIFdFTEwuDQojCVlPVVIg
UFJPQ0VTUyBXSUxMIFBST0JBQkxZIEJFQ09NRSBUV0lDRSBPUiBUSFJFRSBU
SU1FUw0KIwlCSUdHRVIgVEhBTiBUSEUgVkFMVUUgWU9VIFBVVCBIRVJFIA0K
Iw0KIwknY2FjaGVfbWVtJyBzcGVjaWZpZXMgdGhlIGlkZWFsIGFtb3VudCBv
ZiBtZW1vcnkgdG8gYmUgdXNlZA0KIwlmb3I6DQojCQkqIEluLVRyYW5zaXQg
b2JqZWN0cw0KIwkJKiBIb3QgT2JqZWN0cw0KIwkJKiBOZWdhdGl2ZS1DYWNo
ZWQgb2JqZWN0cw0KIw0KIwlEYXRhIGZvciB0aGVzZSBvYmplY3RzIGFyZSBz
dG9yZWQgaW4gNCBLQiBibG9ja3MuICBUaGlzDQojCXBhcmFtZXRlciBzcGVj
aWZpZXMgdGhlIGlkZWFsIHVwcGVyIGxpbWl0IG9uIHRoZSB0b3RhbCBzaXpl
IG9mDQojCTQgS0IgYmxvY2tzIGFsbG9jYXRlZC4gIEluLVRyYW5zaXQgb2Jq
ZWN0cyB0YWtlIHRoZSBoaWdoZXN0DQojCXByaW9yaXR5Lg0KIw0KIwlJbi10
cmFuc2l0IG9iamVjdHMgaGF2ZSBwcmlvcml0eSBvdmVyIHRoZSBvdGhlcnMu
ICBXaGVuDQojCWFkZGl0aW9uYWwgc3BhY2UgaXMgbmVlZGVkIGZvciBpbmNv
bWluZyBkYXRhLCBuZWdhdGl2ZS1jYWNoZWQNCiMJYW5kIGhvdCBvYmplY3Rz
IHdpbGwgYmUgcmVsZWFzZWQuICBJbiBvdGhlciB3b3JkcywgdGhlDQojCW5l
Z2F0aXZlLWNhY2hlZCBhbmQgaG90IG9iamVjdHMgd2lsbCBmaWxsIHVwIGFu
eSB1bnVzZWQgc3BhY2UNCiMJbm90IG5lZWRlZCBmb3IgaW4tdHJhbnNpdCBv
YmplY3RzLg0KIw0KIwlJZiBjaXJjdW1zdGFuY2VzIHJlcXVpcmUsIHRoaXMg
bGltaXQgd2lsbCBiZSBleGNlZWRlZC4NCiMJU3BlY2lmaWNhbGx5LCBpZiB5
b3VyIGluY29taW5nIHJlcXVlc3QgcmF0ZSByZXF1aXJlcyBtb3JlIHRoYW4N
CiMJJ2NhY2hlX21lbScgb2YgbWVtb3J5IHRvIGhvbGQgaW4tdHJhbnNpdCBv
YmplY3RzLCBTcXVpZCB3aWxsDQojCWV4Y2VlZCB0aGlzIGxpbWl0IHRvIHNh
dGlzZnkgdGhlIG5ldyByZXF1ZXN0cy4gIFdoZW4gdGhlIGxvYWQNCiMJZGVj
cmVhc2VzLCBibG9ja3Mgd2lsbCBiZSBmcmVlZCB1bnRpbCB0aGUgaGlnaC13
YXRlciBtYXJrIGlzDQojCXJlYWNoZWQuICBUaGVyZWFmdGVyLCBibG9ja3Mg
d2lsbCBiZSB1c2VkIHRvIHN0b3JlIGhvdA0KIwlvYmplY3RzLg0KIw0KIwlU
aGUgdmFsdWVzIG9mIGNhY2hlX21lbV9sb3cgYW5kIGNhY2hlX21lbV9oaWdo
IChiZWxvdykgY2FuIGJlDQojCXVzZWQgdG8gdHVuZSB0aGUgdXNlIG9mIHRo
ZSBtZW1vcnkgcG9vbC4gIFdoZW4gdGhlIGhpZ2ggbWFyayBpcw0KIwlyZWFj
aGVkLCBpbi10cmFuc2l0IGFuZCBob3Qgb2JqZWN0cyB3aWxsIGJlIHJlbGVh
c2VkIHRvIGNsZWFyDQojCXNwYWNlLiAgV2hlbiBhbiBvYmplY3QgdHJhbnNm
ZXIgaXMgY29tcGxldGVkLCBpdCB3aWxsIHJlbWFpbiBpbg0KIwltZW1vcnkg
b25seSBpZiB0aGUgY3VycmVudCBtZW1vcnkgdXNhZ2UgaXMgYmVsb3cgdGhl
IGxvdyB3YXRlcg0KIwltYXJrLg0KIw0KIwlUaGUgZGVmYXVsdCBpcyA4IE1l
Z2FieXRlcy4NCiMNCiNjYWNoZV9tZW0gIDggTUINCg0KIyAgVEFHOiBjYWNo
ZV9zd2FwX2xvdwkocGVyY2VudCwgMC0xMDApDQojICBUQUc6IGNhY2hlX3N3
YXBfaGlnaAkocGVyY2VudCwgMC0xMDApDQojCVRoZSBsb3ctIGFuZCBoaWdo
LXdhdGVyIG1hcmtzIGZvciBjYWNoZSBMUlUgcmVwbGFjZW1lbnQuICBMUlUN
CiMJcmVwbGFjZW1lbnQgYmVnaW5zIHdoZW4gdGhlIGhpZ2gtd2F0ZXIgbWFy
ayBpcyByZWFjaGVkIGFuZCBlbmRzDQojCXdoZW4gZW5vdWdoIG9iamVjdHMg
aGF2ZSBiZWVuIHJlbW92ZWQgYW5kIHRoZSBsb3ctd2F0ZXIgbWFyayBpcw0K
IwlyZWFjaGVkLiBEZWZhdWx0cyBhcmUgOTAlIGFuZCA5NSUuIElmIHlvdSBo
YXZlIGEgbGFyZ2UgY2FjaGUsIDUlDQojCWNvdWxkIGJlIGh1bmRyZWRzIG9m
IE1CLiBJZiB0aGlzIGlzIHRoZSBjYXNlIHlvdSBtYXkgd2lzaCB0bw0KIwlz
ZXQgdGhlc2UgbnVtYmVycyBjbG9zZXIgdG9nZXRoZXIuDQojDQojY2FjaGVf
c3dhcF9sb3cgIDkwDQojY2FjaGVfc3dhcF9oaWdoIDk1DQoNCiMgIFRBRzog
Y2FjaGVfbWVtX2xvdwkoaW4gcGVyY2VudCwgMC0xMDApDQojICBUQUc6IGNh
Y2hlX21lbV9oaWdoCShpbiBwZXJjZW50LCAwLTEwMCkNCiMJVGhlIGxvdy0g
YW5kIGhpZ2gtd2F0ZXIgbWFyayBmb3IgY2FjaGUgbWVtb3J5IHN0b3JhZ2Uu
ICBXaGVuDQojCXRoZSBhbW91bnQgb2YgUkFNIHVzZWQgYnkgdGhlIGhvdC1v
YmplY3QgUkFNIGNhY2hlIHJlYWNoZXMgdGhpcw0KIwlwb2ludCwgdGhlIGNh
Y2hlIHN0YXJ0cyB0aHJvd2luZyBvYmplY3RzIG91dCBvZiB0aGUgUkFNIGNh
Y2hlDQojCShidXQgdGhleSByZW1haW4gb24gZGlzaykuICBEZWZhdWx0cyBh
cmUgNzUlIGFuZCA5MCUuDQojDQojY2FjaGVfbWVtX2xvdyAgNzUNCiNjYWNo
ZV9tZW1faGlnaCA5MA0KDQojICBUQUc6IG1heGltdW1fb2JqZWN0X3NpemUJ
KGJ5dGVzKQ0KIwlPYmplY3RzIGxhcmdlciB0aGFuIHRoaXMgc2l6ZSB3aWxs
IE5PVCBiZSBzYXZlZCBvbiBkaXNrLiAgVGhlDQojCXZhbHVlIGlzIHNwZWNp
ZmllZCBpbiBraWxvYnl0ZXMsIGFuZCB0aGUgZGVmYXVsdCBpcyA0TUIuICBJ
Zg0KIwl5b3Ugd2lzaCB0byBnZXQgYSBoaWdoIEJZVEVTIGhpdCByYXRpbywg
eW91IHNob3VsZCBwcm9iYWJseQ0KIwlpbmNyZWFzZSB0aGlzIChvbmUgMzIg
TUIgb2JqZWN0IGhpdCBjb3VudHMgZm9yIDMyMDAgMTBLQg0KIwloaXRzKS4g
IElmIHlvdSB3aXNoIHRvIGluY3JlYXNlIHNwZWVkIG1vcmUgdGhhbiB5b3Vy
IHdhbnQgdG8NCiMJc2F2ZSBiYW5kd2lkdGggeW91IHNob3VsZCBsZWF2ZSB0
aGlzIGxvdy4NCiMNCiNtYXhpbXVtX29iamVjdF9zaXplIDQwOTYgS0INCg0K
IyAgVEFHOiBpcGNhY2hlX3NpemUJKG51bWJlciBvZiBlbnRyaWVzKQ0KIyAg
VEFHOiBpcGNhY2hlX2xvdwkocGVyY2VudCkNCiMgIFRBRzogaXBjYWNoZV9o
aWdoCShwZXJjZW50KQ0KIwlUaGUgc2l6ZSwgbG93LSwgYW5kIGhpZ2gtd2F0
ZXIgbWFya3MgZm9yIHRoZSBJUCBjYWNoZS4NCiMNCiNpcGNhY2hlX3NpemUg
MTAyNA0KI2lwY2FjaGVfbG93ICA5MA0KI2lwY2FjaGVfaGlnaCA5NQ0KDQoN
CiMgTE9HRklMRSBQQVRITkFNRVMgQU5EIENBQ0hFIERJUkVDVE9SSUVTDQoj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiMgIFRBRzog
Y2FjaGVfZGlyDQojCVVzYWdlOg0KIwkNCiMJY2FjaGVfZGlyIERpcmVjdG9y
eS1OYW1lIE1ieXRlcyBMZXZlbC0xIExldmVsMg0KIw0KIwlZb3UgY2FuIHNw
ZWNpZnkgbXVsdGlwbGUgY2FjaGVfZGlyIGxpbmVzIHRvIHNwcmVhZCB0aGUN
CiMJY2FjaGUgYW1vbmcgZGlmZmVyZW50IGRpc2sgcGFydGl0aW9ucy4NCiMN
CiMJJ0RpcmVjdG9yeScgaXMgYSB0b3AtbGV2ZWwgZGlyZWN0b3J5IHdoZXJl
IGNhY2hlIHN3YXANCiMJZmlsZXMgd2lsbCBiZSBzdG9yZWQuICBJZiB5b3Ug
d2FudCB0byB1c2UgYW4gZW50aXJlIGRpc2sNCiMJZm9yIGNhY2hpbmcsIHRo
ZW4gdGhpcyBjYW4gYmUgdGhlIG1vdW50LXBvaW50IGRpcmVjdG9yeS4NCiMJ
VGhlIGRpcmVjdG9yeSBtdXN0IGV4aXN0IGFuZCBiZSB3cml0YWJsZSBieSB0
aGUgU3F1aWQNCiMJcHJvY2Vzcy4gIFNxdWlkIHdpbGwgTk9UIGNyZWF0ZSB0
aGlzIGRpcmVjdG9yeSBmb3IgeW91Lg0KIw0KIwlJZiBubyAnY2FjaGVfZGly
JyBsaW5lcyBhcmUgc3BlY2lmaWVkLCB0aGUgZm9sbG93aW5nDQojCWRlZmF1
bHQgd2lsbCBiZSB1c2VkOiAvdXNyL2xvY2FsL3NxdWlkL2NhY2hlLg0KIw0K
IwknTWJ5dGVzJyBpcyB0aGUgYW1vdW50IG9mIGRpc2sgc3BhY2UgKE1CKSB0
byB1c2UgdW5kZXIgdGhpcw0KIwlkaXJlY3RvcnkuICBUaGUgZGVmYXVsdCBp
cyAxMDAgTUIuICBDaGFuZ2UgdGhpcyB0byBzdWl0IHlvdXINCiMJY29uZmln
dXJhdGlvbi4NCiMNCiMJJ0xldmVsLTEnIGlzIHRoZSBudW1iZXIgb2YgZmly
c3QtbGV2ZWwgc3ViZGlyZWN0b3JpZXMgd2hpY2gNCiMJd2lsbCBiZSBjcmVh
dGVkIHVuZGVyIHRoZSAnRGlyZWN0b3J5Jy4gIFRoZSBkZWZhdWx0IGlzIDE2
Lg0KIw0KIwknTGV2ZWwtMicgaXMgdGhlIG51bWJlciBvZiBzZWNvbmQtbGV2
ZWwgc3ViZGlyZWN0b3JpZXMgd2hpY2gNCiMJd2lsbCBiZSBjcmVhdGVkIHVu
ZGVyIGVhY2ggZmlyc3QtbGV2ZWwgZGlyZWN0b3J5LiAgVGhlIGRlZmF1bHQN
CiMJaXMgMjU2Lg0KIw0KY2FjaGVfZGlyIC91c3IvbG9jYWwvc3F1aWQvY2Fj
aGUgMjAwIDE2IDI1Ng0KDQojICBUQUc6IGNhY2hlX2FjY2Vzc19sb2cNCiMJ
TG9ncyB0aGUgY2xpZW50IHJlcXVlc3QgYWN0aXZpdHkuICBDb250YWlucyBh
biBlbnRyeSBmb3INCiMJZXZlcnkgSFRUUCBhbmQgSUNQIHJlcXVlc3QgcmVj
ZWl2ZWQuDQojDQpjYWNoZV9hY2Nlc3NfbG9nIC91c3IvbG9jYWwvc3F1aWQv
bG9ncy9hY2Nlc3MubG9nDQoNCiMgIFRBRzogY2FjaGVfbG9nDQojCUNhY2hl
IGxvZ2dpbmcgZmlsZS4gVGhpcyBpcyB3aGVyZSBnZW5lcmFsIGluZm9ybWF0
aW9uIGFib3V0DQojCXlvdXIgY2FjaGUncyBiZWhhdmlvdXIgZ29lcy4gWW91
IGNhbiBpbmNyZWFzZSB0aGUgYW1vdW50IG9mIGRhdGENCiMJbG9nZ2VkIHRv
IHRoaXMgZmlsZSB3aXRoIHRoZSAiZGVidWdfb3B0aW9ucyIgdGFnIGJlbG93
Lg0KIw0KY2FjaGVfbG9nIC91c3IvbG9jYWwvc3F1aWQvbG9ncy9jYWNoZS5s
b2cNCg0KIyAgVEFHOiBjYWNoZV9zdG9yZV9sb2cNCiMJTG9ncyB0aGUgYWN0
aXZpdGllcyBvZiB0aGUgc3RvcmFnZSBtYW5hZ2VyLiAgU2hvd3Mgd2hpY2gN
CiMJb2JqZWN0cyBhcmUgZWplY3RlZCBmcm9tIHRoZSBjYWNoZSwgYW5kIHdo
aWNoIG9iamVjdHMgYXJlDQojCXNhdmVkIGFuZCBmb3IgaG93IGxvbmcuICBU
byBkaXNhYmxlLCBlbnRlciAibm9uZSIuIFRoZXJlIGFyZQ0KIwlub3QgcmVh
bGx5IHV0aWxpdGllcyB0byBhbmFseXNlIHRoaXMgZGF0YSwgc28geW91IGNh
biBzYWZlbHkNCiMJZGlzYWJsZSBpdC4NCiMNCmNhY2hlX3N0b3JlX2xvZyAv
dXNyL2xvY2Fsc3F1aWQvbG9ncy9zdG9yZS5sb2cNCg0KIyAgVEFHOiBjYWNo
ZV9zd2FwX2xvZw0KIwlMb2NhdGlvbiBmb3IgdGhlIGNhY2hlICJzd2FwLmxv
Zy4iICBUaGlzIGxvZyBmaWxlIGhvbGRzIHRoZQ0KIwltZXRhZGF0YSBvZiBv
YmplY3RzIHNhdmVkIG9uIGRpc2suICBJdCBpcyB1c2VkIHRvIHJlYnVpbGQg
dGhlDQojCWNhY2hlIGR1cmluZyBzdGFydHVwLiAgTm9ybWFsbHkgdGhpcyBm
aWxlIHJlc2lkZXMgaW4gdGhlIGZpcnN0DQojCSdjYWNoZV9kaXInIGRpcmVj
dG9yeSwgYnV0IHlvdSBtYXkgc3BlY2lmeSBhbiBhbHRlcm5hdGUNCiMJcGF0
aG5hbWUgaGVyZS4gIE5vdGUgeW91IG11c3QgZ2l2ZSBhIGZ1bGwgZmlsZW5h
bWUsIG5vdCBqdXN0DQojCWEgZGlyZWN0b3J5LiBTaW5jZSB0aGlzIGlzIHRo
ZSBpbmRleCBmb3IgdGhlIHdob2xlIG9iamVjdA0KIwlsaXN0IHlvdSBDQU5O
T1QgcGVyaW9kaWNhbGx5IHJvdGF0ZSBpdCENCiMNCiNjYWNoZV9zd2FwX2xv
Zw0KDQojICBUQUc6IGVtdWxhdGVfaHR0cGRfbG9nCW9ufG9mZg0KIwlUaGUg
Q2FjaGUgY2FuIGVtdWxhdGUgdGhlIGxvZyBmaWxlIGZvcm1hdCB3aGljaCBt
YW55ICdodHRwZCcNCiMJcHJvZ3JhbXMgdXNlLiAgVG8gZGlzYWJsZS9lbmFi
bGUgdGhpcyBlbXVsYXRpb24sIHNldA0KIwllbXVsYXRlX2h0dHBkX2xvZyB0
byAnb2ZmJyBvciAnb24nLiAgVGhlIGRlZmF1bHQNCiMJaXMgdG8gdXNlIHRo
ZSBuYXRpdmUgbG9nIGZvcm1hdCBzaW5jZSBpdCBpbmNsdWRlcyB1c2VmdWwN
CiMJaW5mb3JtYXRpb24gdGhhdCBTcXVpZC1zcGVjaWZpYyBsb2cgYW5hbHlz
ZXJzIHVzZS4NCiMNCiNlbXVsYXRlX2h0dHBkX2xvZyBvZmYNCg0KIyAgVEFH
OiBtaW1lX3RhYmxlDQojCVBhdGhuYW1lIHRvIFNxdWlkJ3MgTUlNRSB0YWJs
ZS4gWW91IHNob3VsZG4ndCBuZWVkIHRvIGNoYW5nZQ0KIwl0aGlzLCBidXQg
dGhlIGRlZmF1bHQgZmlsZSBjb250YWlucyBleGFtcGxlcyBhbmQgZm9ybWF0
dGluZw0KIwlpbmZvcm1hdGlvbiBpZiB5b3UgZG8uDQojDQojbWltZV90YWJs
ZSAvdXNyL2xvY2FsL3NxdWlkL2V0Yy9taW1lLmNvbmYNCg0KIyAgVEFHOiBs
b2dfbWltZV9oZHJzCW9ufG9mZg0KIwlUaGUgQ2FjaGUgY2FuIHJlY29yZCBi
b3RoIHRoZSByZXF1ZXN0IGFuZCB0aGUgcmVzcG9uc2UgTUlNRQ0KIwloZWFk
ZXJzIGZvciBlYWNoIEhUVFAgdHJhbnNhY3Rpb24uICBUaGUgaGVhZGVycyBh
cmUgZW5jb2RlZA0KIwlzYWZlbHkgYW5kIHdpbGwgYXBwZWFyIGFzIHR3byBi
cmFja2V0ZWQgZmllbGRzIGF0IHRoZSBlbmQgb2YNCiMJdGhlIGFjY2VzcyBs
b2cgKGZvciBlaXRoZXIgdGhlIG5hdGl2ZSBvciBodHRwZC1lbXVsYXRlZCBs
b2cNCiMJZm9ybWF0cykuICBUbyBlbmFibGUgdGhpcyBsb2dnaW5nIHNldCBs
b2dfbWltZV9oZHJzIHRvICdvbicuDQojDQojbG9nX21pbWVfaGRycyBvZmYN
Cg0KIyAgVEFHOiB1c2VyYWdlbnRfbG9nDQojCUlmIGNvbmZpZ3VyZWQgd2l0
aCB0aGUgIi0tZW5hYmxlLXVzZXJhZ2VudF9sb2ciIGNvbmZpZ3VyZQ0KIwlv
cHRpb24sIFNxdWlkIHdpbGwgd3JpdGUgdGhlIFVzZXItQWdlbnQgZmllbGQg
ZnJvbSBIVFRQDQojCXJlcXVlc3RzIHRvIHRoZSBmaWxlbmFtZSBzcGVjaWZp
ZWQgaGVyZS4gIEJ5IGRlZmF1bHQNCiMJdXNlcmFnZW50X2xvZyBpcyBkaXNh
YmxlZC4NCiMNCiN1c2VyYWdlbnRfbG9nIG5vbmUNCg0KIyAgVEFHOiBwaWRf
ZmlsZW5hbWUNCiMJQSBmaWxlbmFtZSB0byB3cml0ZSB0aGUgcHJvY2Vzcy1p
ZCB0by4gIFRvIGRpc2FibGUsIGVudGVyICJub25lIi4NCiMNCiNwaWRfZmls
ZW5hbWUgL3Vzci9sb2NhbC9zcXVpZC9sb2dzL3NxdWlkLnBpZA0KDQojICBU
QUc6IGRlYnVnX29wdGlvbnMNCiMJTG9nZ2luZyBvcHRpb25zIGFyZSBzZXQg
YXMgc2VjdGlvbixsZXZlbCB3aGVyZSBlYWNoIHNvdXJjZSBmaWxlDQojCWlz
IGFzc2lnbmVkIGEgdW5pcXVlIHNlY3Rpb24uICBMb3dlciBsZXZlbHMgcmVz
dWx0IGluIGxlc3MNCiMJb3V0cHV0LCAgRnVsbCBkZWJ1Z2dpbmcgKGxldmVs
IDkpIGNhbiByZXN1bHQgaW4gYSB2ZXJ5IGxhcmdlDQojCWxvZyBmaWxlLCBz
byBiZSBjYXJlZnVsLiAgVGhlIG1hZ2ljIHdvcmQgIkFMTCIgc2V0cyBkZWJ1
Z2dpbmcNCiMJbGV2ZWxzIGZvciBhbGwgc2VjdGlvbnMuICBXZSByZWNvbW1l
bmQgbm9ybWFsbHkgcnVubmluZyB3aXRoDQojCSJBTEwsMSIuDQojDQojZGVi
dWdfb3B0aW9ucyBBTEwsMQ0KDQojICBUQUc6IGlkZW50X2xvb2t1cAlvbnxv
ZmYNCiMJSWYgeW91IHdpc2ggdG8gbWFrZSBhbiBSRkM5MzEvaWRlbnQgbG9v
a3VwIG9mIHRoZSBjbGllbnQNCiMJdXNlcm5hbWUgZm9yIGVhY2ggY29ubmVj
dGlvbiwgZW5hYmxlIHRoaXMuICBJdCBpcyBvZmYgYnkNCiMJZGVmYXVsdC4N
CiMNCmlkZW50X2xvb2t1cCBvbg0KDQojICBUQUc6IGxvZ19mcWRuCW9ufG9m
Zg0KIwlUdXJuIHRoaXMgb24gaWYgeW91IHdpc2ggdG8gbG9nIGZ1bGx5IHF1
YWxpZmllZCBkb21haW4gbmFtZXMNCiMJaW4gdGhlIGFjY2Vzcy5sb2cuIFRv
IGRvIHRoaXMgU3F1aWQgZG9lcyBhIEROUyBsb29rdXAgb2YgYWxsDQojCUlQ
J3MgY29ubmVjdGluZyB0byBpdC4gVGhpcyBjYW4gKGluIHNvbWUgc2l0dWF0
aW9ucykgaW5jcmVhc2UNCiMJbGF0ZW5jeSwgd2hpY2ggbWFrZXMgeW91ciBj
YWNoZSBzZWVtIHNsb3dlciBmb3IgaW50ZXJhY3RpdmUNCiMJYnJvd3Npbmcu
IA0KIw0KbG9nX2ZxZG4gb24NCg0KIyAgVEFHOiBjbGllbnRfbmV0bWFzaw0K
IwlBIG5ldG1hc2sgZm9yIGNsaWVudCBhZGRyZXNzZXMgaW4gbG9nZmlsZXMg
YW5kIGNhY2hlbWdyIG91dHB1dC4NCiMJQ2hhbmdlIHRoaXMgdG8gcHJvdGVj
dCB0aGUgcHJpdmFjeSBvZiB5b3VyIGNhY2hlIGNsaWVudHMuDQojCUEgbmV0
bWFzayBvZiAyNTUuMjU1LjI1NS4wIHdpbGwgbG9nIGFsbCBJUCdzIGluIHRo
YXQgcmFuZ2Ugd2l0aA0KIwl0aGUgbGFzdCBkaWdpdCBzZXQgdG8gJzAnLg0K
Iw0KI2NsaWVudF9uZXRtYXNrIDI1NS4yNTUuMjU1LjI1NQ0KDQoNCiMgT1BU
SU9OUyBGT1IgRVhURVJOQUwgU1VQUE9SVCBQUk9HUkFNUw0KIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojICBUQUc6IGZ0cF91c2Vy
DQojCUlmIHlvdSB3YW50IHRoZSBhbm9ueW1vdXMgbG9naW4gcGFzc3dvcmQg
dG8gYmUgbW9yZSBpbmZvcm1hdGl2ZQ0KIwkoYW5kIGVuYWJsZSB0aGUgdXNl
IG9mIHBpY2t5IGZ0cCBzZXJ2ZXJzKSwgc2V0IHRoaXMgdG8gc29tZXRoaW5n
DQojCXJlc29uYWJsZSBmb3IgeW91ciBkb21haW4sIGxpa2Ugd3d3dXNlckBz
b21ld2hlcmUubmV0DQojDQojCVRoZSByZWFzb24gd2h5IHRoaXMgaXMgZG9t
YWlubGVzcyBieSBkZWZhdWx0IGlzIHRoYXQgdGhlDQojCXJlcXVlc3QgY2Fu
IGJlIG1hZGUgb24gdGhlIGJlaGFsZiBvZiBhIHVzZXIgaW4gYW55IGRvbWFp
biwNCiMJZGVwZW5kaW5nIG9uIGhvdyB0aGUgY2FjaGUgaXMgdXNlZC4NCiMJ
U29tZSBmdHAgc2VydmVyIGFsc28gdmFsaWRhdGUgdGhhdCB0aGUgZW1haWwg
YWRkcmVzcyBpcyB2YWxpZA0KIwkoZm9yIGV4YW1wbGUgcGVybC5jb20pLg0K
Iw0KI2Z0cF91c2VyIFNxdWlkQA0KDQojICBUQUc6IGZ0cF9saXN0X3dpZHRo
DQojCVNldHMgdGhlIHdpZHRoIG9mIGZ0cCBsaXN0aW5ncy4gVGhpcyBzaG91
bGQgYmUgc2V0IHRvIGZpdCBpbg0KIwl0aGUgd2lkdGggb2YgYSBzdGFuZGFy
ZCBicm93c2VyLiBTZXR0aW5nIHRoaXMgdG9vIHNtYWxsDQojCWNhbiBjdXQg
b2ZmIGxvbmcgZmlsZW5hbWVzIHdoZW4gYnJvd3NpbmcgZnRwIHNpdGVzLg0K
Iw0KI2Z0cF9saXN0X3dpZHRoIDMyDQoNCiMgIFRBRzogY2FjaGVfZG5zX3By
b2dyYW0NCiMJU3BlY2lmeSB0aGUgbG9jYXRpb24gb2YgdGhlIGV4ZWN1dGFi
bGUgZm9yIGRuc2xvb2t1cCBwcm9jZXNzLg0KIw0KI2NhY2hlX2Ruc19wcm9n
cmFtIC91c3IvbG9jYWwvc3F1aWQvYmluL2Ruc3NlcnZlcg0KDQojICBUQUc6
IGRuc19jaGlsZHJlbg0KIwlUaGUgbnVtYmVyIG9mIHByb2Nlc3NlcyBzcGF3
biB0byBzZXJ2aWNlIEROUyBuYW1lIGxvb2t1cHMuDQojCUZvciBoZWF2aWx5
IGxvYWRlZCBjYWNoZXMgb24gbGFyZ2Ugc2VydmVycywgeW91IHNob3VsZA0K
Iwlwcm9iYWJseSBpbmNyZWFzZSB0aGlzIHZhbHVlIHRvIGF0IGxlYXN0IDEw
LiAgVGhlIG1heGltdW0NCiMJaXMgMzIuICBUaGUgZGVmYXVsdCBpcyA1Lg0K
Iw0KIwlUbyBkaXNhYmxlIGRuc3NlcnZlcnMsIHNldCB0aGlzIHRvIDAuICBO
T1RFLCB0aGlzIGlzIHZlcnkNCiMJc3Ryb25nbHkgZGlzY291cmFnZWQuICBJ
ZiB5b3UgZGlzYWJsZSBkbnNzZXJ2ZXJzIHlvdXIgU3F1aWQNCiMJcHJvY2Vz
cyB3aWxsIEJMT0NLIG9uIEROUyBsb29rdXBzIQ0KIw0KI2Ruc19jaGlsZHJl
biA1DQoNCiMgIFRBRzogZG5zX2RlZm5hbWVzCW9ufG9mZg0KIwlOb3JtYWxs
eSB0aGUgJ2Ruc3NlcnZlcicgZGlzYWJsZXMgdGhlIFJFU19ERUZOQU1FUyBy
ZXNvbHZlcg0KIwlvcHRpb24gKHNlZSByZXNfaW5pdCgzKSkuICBUaGlzIHBy
ZXZlbnRzIGNhY2hlcyBpbiBhIGhpZXJhcmNoeQ0KIwlmcm9tIGludGVycHJl
dGluZyBzaW5nbGUtY29tcG9uZW50IGhvc3RuYW1lcyBsb2NhbGx5LiAgVG8g
YWxsb3cNCiMJZG5zc2VydmVyIHRvIGhhbmRsZSBzaW5nbGUtY29tcG9uZW50
IG5hbWVzLCBlbmFibGUgdGhpcw0KIwlvcHRpb24uDQojDQojZG5zX2RlZm5h
bWVzIG9mZg0KDQojICBUQUc6IGRuc19uYW1lc2VydmVycw0KIwlVc2UgdGhp
cyBpZiB5b3Ugd2FudCB0byBzcGVjaWZ5IGEgbGlzdCBvZiBETlMgbmFtZSBz
ZXJ2ZXJzDQojCShJUCBhZGRyZXNzZXMpIHRvIHVzZSBpbnN0ZWFkIG9mIHRo
b3NlIGdpdmVuIGluIHlvdXINCiMJL2V0Yy9yZXNvbHYuY29uZiBmaWxlLg0K
Iw0KIwlFeGFtcGxlOiBkbnNfbmFtZXNlcnZlcnMgMTAuMC4wLjEgMTkyLjE3
Mi4wLjQNCiMNCiNkbnNfbmFtZXNlcnZlcnMgbm9uZQ0KDQojICBUQUc6IHVu
bGlua2RfcHJvZ3JhbQ0KIwlTcGVjaWZ5IHRoZSBsb2NhdGlvbiBvZiB0aGUg
ZXhlY3V0YWJsZSBmb3IgZmlsZSBkZWxldGlvbiBwcm9jZXNzLg0KIwlUaGlz
IGlzbid0IG5lZWRlZCBpZiB5b3UgYXJlIHVzaW5nIGFzeW5jLWlvIHNpbmNl
IGl0J3MgaGFuZGxlZCBieQ0KIwlhIHRocmVhZC4NCiMNCiN1bmxpbmtkX3By
b2dyYW0gL3Vzci9sb2NhbC9zcXVpZC9iaW4vdW5saW5rZA0KDQojICBUQUc6
IHBpbmdlcl9wcm9ncmFtDQojCVNwZWNpZnkgdGhlIGxvY2F0aW9uIG9mIHRo
ZSBleGVjdXRhYmxlIGZvciB0aGUgcGluZ2VyIHByb2Nlc3MuDQojCVRoaXMg
aXMgb25seSB1c2VmdWwgaWYgeW91IGNvbmZpZ3VyZWQgU3F1aWQgKGR1cmlu
ZyBjb21wbGlhdGlvbikNCiMJd2l0aCB0aGUgJy0tZW5hYmxlLWljbXAnIG9w
dGlvbi4NCiMNCiNwaW5nZXJfcHJvZ3JhbSAvdXNyL2xvY2FsL3NxdWlkL2Jp
bi9waW5nZXINCg0KIyAgVEFHOiByZWRpcmVjdF9wcm9ncmFtDQojCVNwZWNp
ZnkgdGhlIGxvY2F0aW9uIG9mIHRoZSBleGVjdXRhYmxlIGZvciB0aGUgVVJM
IHJlZGlyZWN0b3IuDQojCVNpbmNlIHRoZXkgY2FuIHBlcmZvcm0gYWxtb3N0
IGFueSBmdW5jdGlvbiB0aGVyZSBpc24ndCBvbmUgaW5jbHVkZWQuDQojCVNl
ZSB0aGUgUmVsZWFzZS1Ob3RlcyBmb3IgaW5mb3JtYXRpb24gb24gaG93IHRv
IHdyaXRlIG9uZS4NCiMJQnkgZGVmYXVsdCwgYSByZWRpcmVjdG9yIGlzIG5v
dCB1c2VkLg0KIw0KI3JlZGlyZWN0X3Byb2dyYW0gbm9uZQ0KDQojICBUQUc6
IHJlZGlyZWN0X2NoaWxkcmVuDQojCVRoZSBudW1iZXIgb2YgcmVkaXJlY3Rv
ciBwcm9jZXNzZXMgdG8gc3Bhd24uIElmIHlvdSBzdGFydA0KIwl0b28gZmV3
IFNxdWlkIHdpbGwgaGF2ZSB0byB3YWl0IGZvciB0aGVtIHRvIHByb2Nlc3Mg
YSBiYWNrbG9nIG9mDQojCVVSTHMsIHNsb3dpbmcgaXQgZG93bi4gSWYgeW91
IHN0YXJ0IHRvbyBtYW55IHRoZXkgd2lsbCB1c2UgUkFNDQojCWFuZCBvdGhl
ciBzeXN0ZW0gcmVzb3VyY2VzLg0KIw0KI3JlZGlyZWN0X2NoaWxkcmVuIDUN
Cg0KDQojIE9QVElPTlMgRk9SIFRVTklORyBUSEUgQ0FDSEUNCiMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyAgVEFHOiB3YWlzX3Jl
bGF5X2hvc3QNCiMgIFRBRzogd2Fpc19yZWxheV9wb3J0DQojCVJlbGF5IFdB
SVMgcmVxdWVzdCB0byBob3N0ICgxc3QgYXJnKSBhdCBwb3J0ICgyIGFyZyku
DQojDQojd2Fpc19yZWxheV9ob3N0IGxvY2FsaG9zdA0KI3dhaXNfcmVsYXlf
cG9ydCA4MDAwDQoNCiMgIFRBRzogcmVxdWVzdF9zaXplCShLQikNCiMJTWF4
aW11bSBhbGxvd2VkIHJlcXVlc3Qgc2l6ZSBpbiBraWxvYnl0ZXMuICBJZiBw
ZW9wbGUgYXJlIHVzaW5nDQojCVBPU1QgdG8gdXBsb2FkIGZpbGVzLCB0aGVu
IHNldCB0aGlzIHRvIHRoZSBsYXJnZXN0IGFjY2VwdGFibGUNCiMJZmlsZXNp
emUgcGx1cyBhIGZldyBleHRyYSBrYnl0ZXMuDQojDQojcmVxdWVzdF9zaXpl
IDEwMCBLQg0KDQojICBUQUc6IHJlZnJlc2hfcGF0dGVybg0KIwl1c2FnZTog
cmVmcmVzaF9wYXR0ZXJuIHJlZ2V4IG1pbiBwZXJjZW50IG1heA0KIw0KIwlt
aW4gYW5kIG1heCBhcmUgc3BlY2lmaWVkIGluIE1JTlVURVMuDQojCXBlcmNl
bnQgaXMgYW4gaW50ZWdlciBudW1iZXIuDQojDQojCVBsZWFzZSBzZWUgdGhl
IGZpbGUgZG9jL1JlbGVhc2UtTm90ZXMtMS4xLnR4dCBmb3IgYSBmdWxsDQoj
CWRlc2NyaXB0aW9uIG9mIFNxdWlkJ3MgcmVmcmVzaCBhbGdvcml0aG0uICBC
YXNpY2FsbHkgYQ0KIwljYWNoZWQgb2JqZWN0IGlzOg0KIw0KIwkJRlJFU0gg
aWYgYWdlIDwgbWluDQojCQlTVEFMRSBpZiBleHBpcmVzIDwgbm93DQojCQlT
VEFMRSBpZiBhZ2UgPiBtYXgNCiMJCUZSRVNIIGlmIGxtLWZhY3RvciA8IHBl
cmNlbnQNCiMNCiMJVGhlIHJlZnJlc2hfcGF0dGVybiBsaW5lcyBhcmUgY2hl
Y2tlZCBpbiB0aGUgb3JkZXIgbGlzdGVkIGhlcmUuDQojCVRoZSBmaXJzdCBl
bnRyeSB3aGljaCBtYXRjaGVzIGlzIHVzZWQuICBJZiBub25lIG9mIHRoZSBl
bnRyaWVzDQojCW1hdGNoLCB0aGVuIHRoZSBkZWZhdWx0IHdpbGwgYmUgdXNl
ZC4NCiMNCiNEZWZhdWx0Og0KI3JlZnJlc2hfcGF0dGVybiAJLgkwIDIwJSA0
MzIwDQoNCiMgIFRBRzogcmVmZXJlbmNlX2FnZQ0KIwlBcyBhIHBhcnQgb2Yg
bm9ybWFsIG9wZXJhdGlvbiwgU3F1aWQgcGVyZm9ybXMgTGVhc3QgUmVjZW50
bHkNCiMJVXNlZCByZW1vdmFsIG9mIGNhY2hlZCBvYmplY3RzLiAgVGhlIExS
VSBhZ2UgZm9yIHJlbW92YWwgaXMNCiMJY29tcHV0ZWQgZHluYW1pY2FsbHks
IGJhc2VkIG9uIHRoZSBhbW91bnQgb2YgZGlzayBzcGFjZSBpbg0KIwl1c2Uu
ICBUaGUgZHluYW1pYyB2YWx1ZSBjYW4gYmUgc2VlbiBpbiB0aGUgQ2FjaGUg
TWFuYWdlciAnaW5mbycNCiMJb3V0cHV0Lg0KIw0KIwlUaGUgJ3JlZmVyZW5j
ZV9hZ2UnIHBhcmFtZXRlciBkZWZpbmVzIHRoZSBtYXhpbXVtIExSVSBhZ2Uu
ICBGb3INCiMJZXhhbXBsZSwgc2V0dGluZyByZWZlcmVuY2VfYWdlIHRvICcx
IHdlZWsnIHdpbGwgY2F1c2Ugb2JqZWN0cw0KIwl0byBiZSByZW1vdmVkIGlm
IHRoZXkgaGF2ZSBub3QgYmVlbiBhY2Nlc3NlZCBmb3IgYSB3ZWVrIG9yDQoj
CW1vcmUuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBvbmUgbW9udGguDQojDQoj
CVNwZWNpZnkgYSBudW1iZXIgaGVyZSwgZm9sbG93ZWQgYnkgdW5pdHMgb2Yg
dGltZS4gIEZvciBleGFtcGxlOg0KIwkJMSB3ZWVrDQojCQkzLjUgZGF5cw0K
IwkJNCBtb250aHMNCiMJCTIuMiBob3Vycw0KIw0KI3JlZmVyZW5jZV9hZ2Ug
MSBtb250aA0KDQojICBUQUc6IHF1aWNrX2Fib3J0X21pbgkoS0IpDQojICBU
QUc6IHF1aWNrX2Fib3J0X3BjdAkocGVyY2VudCkNCiMgIFRBRzogcXVpY2tf
YWJvcnRfbWF4CShLQikNCiMJVGhlIGNhY2hlIGNhbiBiZSBjb25maWd1cmVk
IHRvIGNvbnRpbnVlIGRvd25sb2FkaW5nIGFib3J0ZWQNCiMJcmVxdWVzdHMu
ICBUaGlzIG1heSBiZSB1bmRlc2lyYWJsZSBvbiBzbG93IChlLmcuIFNMSVAp
IGxpbmtzDQojCWFuZC9vciB2ZXJ5IGJ1c3kgY2FjaGVzLiAgSW1wYXRpZW50
IHVzZXJzIG1heSB0aWUgdXAgZmlsZQ0KIwlkZXNjcmlwdG9ycyBhbmQgYmFu
ZHdpZHRoIGJ5IHJlcGVhdGVkbHkgcmVxdWVzdGluZyBhbmQNCiMJaW1tZWRp
YXRlbHkgYWJvcnRpbmcgZG93bmxvYWRzLg0KIw0KIwlXaGVuIHRoZSB1c2Vy
IGFib3J0cyBhIHJlcXVlc3QsIFNxdWlkIHdpbGwgY2hlY2sgdGhlDQojCXF1
aWNrX2Fib3J0IHZhbHVlcyB0byB0aGUgYW1vdW50IG9mIGRhdGEgdHJhbnNm
ZXJlZCB1bnRpbA0KIwl0aGVuLg0KIw0KIwlJZiB0aGUgdHJhbnNmZXIgaGFz
IGxlc3MgdGhhbiAncXVpY2tfYWJvcnRfbWluJyBLQiByZW1haW5pbmcsDQoj
CWl0IHdpbGwgZmluaXNoIHRoZSByZXRyaWV2YWwuICBTZXR0aW5nICdxdWlj
a19hYm9ydF9taW4nIHRvIC0xDQojCXdpbGwgZGlzYWJsZSB0aGUgcXVpY2tf
YWJvcnQgZmVhdHVyZS4NCiMNCiMJSWYgbW9yZSB0aGFuICdxdWlja19hYm9y
dF9wY3QnIG9mIHRoZSB0cmFuc2ZlciBoYXMgY29tcGxldGVkLA0KIwlpdCB3
aWxsIGZpbmlzaCB0aGUgcmV0cmlldmFsLg0KIw0KIwlJZiB0aGUgdHJhbnNm
ZXIgaGFzIG1vcmUgdGhhbiAncXVpY2tfYWJvcnRfbWF4JyBLQiByZW1haW5p
bmcsDQojCWl0IHdpbGwgYWJvcnQgdGhlIHJldHJpZXZhbC4NCiMNCiNxdWlj
a19hYm9ydF9taW4gLTEgS0INCiNxdWlja19hYm9ydF9wY3QgMA0KI3F1aWNr
X2Fib3J0X21heCAwIEtCDQoNCiMgIFRBRzogbmVnYXRpdmVfdHRsCXRpbWUt
dW5pdHMNCiMJVGltZS10by1MaXZlIChUVEwpIGZvciBmYWlsZWQgcmVxdWVz
dHMuICBDZXJ0YWluIHR5cGVzIG9mDQojCWZhaWx1cmVzIChzdWNoIGFzICJj
b25uZWN0aW9uIHJlZnVzZWQiIGFuZCAiNDA0IE5vdCBGb3VuZCIpIGFyZQ0K
IwluZWdhdGl2ZWx5LWNhY2hlZCBmb3IgYSBjb25maWd1cmFibGUgYW1vdW50
IG9mIHRpbWUuICBUaGUNCiMJZGVmYXVsdCBpcyA1IG1pbnV0ZXMuICBOb3Rl
IHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbQ0KIwluZWdhdGl2ZSBjYWNo
aW5nIG9mIEROUyBsb29rdXBzLg0KIw0KI25lZ2F0aXZlX3R0bCA1IG1pbnV0
ZXMNCg0KIyAgVEFHOiBwb3NpdGl2ZV9kbnNfdHRsCXRpbWUtdW5pdHMNCiMJ
VGltZS10by1MaXZlIChUVEwpIGZvciBwb3NpdGl2ZSBjYWNoaW5nIG9mIHN1
Y2Nlc3NmdWwgRE5TIGxvb2t1cHMuDQojCURlZmF1bHQgaXMgNiBob3VycyAo
MzYwIG1pbnV0ZXMpLiAgSWYgeW91IHdhbnQgdG8gbWluaW1pemUgdGhlDQoj
CXVzZSBvZiBTcXVpZCdzIGlwY2FjaGUsIHNldCB0aGlzIHRvIDEsIG5vdCAw
Lg0KIw0KI3Bvc2l0aXZlX2Ruc190dGwgNiBob3Vycw0KDQojICBUQUc6IG5l
Z2F0aXZlX2Ruc190dGwJdGltZS11bml0cw0KIwlUaW1lLXRvLUxpdmUgKFRU
TCkgZm9yIG5lZ2F0aXZlIGNhY2hpbmcgb2YgZmFpbGVkIEROUyBsb29rdXBz
Lg0KIw0KI25lZ2F0aXZlX2Ruc190dGwgNSBtaW51dGVzDQoNCg0KIyBUSU1F
T1VUUw0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoj
ICBUQUc6IGNvbm5lY3RfdGltZW91dAl0aW1lLXVuaXRzDQojCVNvbWUgc3lz
dGVtcyAobm90YWJseSBMaW51eCkgY2FuIG5vdCBiZSByZWxpZWQgdXBvbiB0
byBwcm9wZXJseQ0KIwl0aW1lIG91dCBjb25uZWN0KDIpIHJlcXVlc3RzLiAg
VGhlcmVmb3JlIHRoZSBTcXVpZCBwcm9jZXNzDQojCWVuZm9yY2VzIGl0cyBv
d24gdGltZW91dCBvbiBzZXJ2ZXIgY29ubmVjdGlvbnMuICBUaGlzIHBhcmFt
ZXRlcg0KIwlzcGVjaWZpZXMgaG93IGxvbmcgdG8gd2FpdCBmb3IgdGhlIGNv
bm5lY3QgdG8gY29tcGxldGUuICBUaGUNCiMJZGVmYXVsdCBpcyB0d28gbWlu
dXRlcyAoMTIwIHNlY29uZHMpLg0KIw0KI2Nvbm5lY3RfdGltZW91dCAxMjAg
c2Vjb25kcw0KDQojICBUQUc6IHNpdGVzZWxlY3RfdGltZW91dAl0aW1lLXVu
aXRzDQojCUZvciBVUk4gdG8gbXVsdGlwbGUgVVJMJ3MgVVJMIHNlbGVjdGlv
bg0KIw0KI3NpdGVzZWxlY3RfdGltZW91dCA0IHNlY29uZHMNCg0KIyAgVEFH
OiByZWFkX3RpbWVvdXQJdGltZS11bml0cw0KIwlUaGUgcmVhZF90aW1lb3V0
IGlzIGFwcGxpZWQgb24gc2VydmVyLXNpZGUgY29ubmVjdGlvbnMuICBBZnRl
cg0KIwllYWNoIHN1Y2Nlc3NmdWwgcmVhZCgpLCB0aGUgdGltZW91dCB3aWxs
IGJlIGV4dGVuZGVkIGJ5IHRoaXMNCiMJYW1vdW50LiAgSWYgbm8gZGF0YSBp
cyByZWFkIGFnYWluIGFmdGVyIHRoaXMgYW1vdW50IG9mIHRpbWUsDQojCXRo
ZSByZXF1ZXN0IGlzIGFib3J0ZWQgYW5kIGxvZ2dlZCB3aXRoIFxFUlJfUkVB
RF9USU1FT1VULiAgVGhlDQojCWRlZmF1bHQgaXMgMTUgbWludXRlcy4NCiMN
CiNyZWFkX3RpbWVvdXQgMTUgbWludXRlcw0KDQojICBUQUc6IHJlcXVlc3Rf
dGltZW91dA0KIwlIb3cgbG9uZyB0byB3YWl0IGZvciBhbiBIVFRQIHJlcXVl
c3QgYWZ0ZXIgY29ubmVjdGlvbg0KIwllc3RhYmxpc2htZW50LiAgRm9yIHBl
cnNpc3RlbnQgY29ubmVjdGlvbnMsIHdhaXQgdGhpcyBsb25nDQojCWFmdGVy
IHRoZSBwcmV2aW91cyByZXF1ZXN0IGNvbXBsZXRlcy4NCiMNCiNyZXF1ZXN0
X3RpbWVvdXQgMzAgc2Vjb25kcw0KDQojICBUQUc6IGNsaWVudF9saWZldGlt
ZQl0aW1lLXVuaXRzDQojCVRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRo
YXQgYSBjbGllbnQgKGJyb3dzZXIpIGlzIGFsbG93ZWQgdG8NCiMJcmVtYWlu
IGNvbm5lY3RlZCB0byB0aGUgY2FjaGUgcHJvY2Vzcy4gIFRoaXMgcHJvdGVj
dHMgdGhlIENhY2hlDQojCWZyb20gaGF2aW5nIGFsb3Qgb2Ygc29ja2V0cyAo
YW5kIGhlbmNlIGZpbGUgZGVzY3JpcHRvcnMpIHRpZWQgdXANCiMJaW4gYSBD
TE9TRV9XQUlUIHN0YXRlIGZyb20gcmVtb3RlIGNsaWVudHMgdGhhdCBnbyBh
d2F5IHdpdGhvdXQNCiMJcHJvcGVybHkgc2h1dHRpbmcgZG93biAoZWl0aGVy
IGJlY2F1c2Ugb2YgYSBuZXR3b3JrIGZhaWx1cmUgb3INCiMJYmVjYXVzZSBv
ZiBhIHBvb3IgY2xpZW50IGltcGxlbWVudGF0aW9uKS4gIFRoZSBkZWZhdWx0
IGlzIG9uZQ0KIwlkYXksIDE0NDAgbWludXRlcy4NCiMNCiMJTk9URTogIFRo
ZSBkZWZhdWx0IHZhbHVlIGlzIGludGVuZGVkIHRvIGJlIG11Y2ggbGFyZ2Vy
IHRoYW4gYW55DQojCWNsaWVudCB3b3VsZCBldmVyIG5lZWQgdG8gYmUgY29u
bmVjdGVkIHRvIHlvdXIgY2FjaGUuICBZb3UNCiMJc2hvdWxkIHByb2JhYmx5
IGNoYW5nZSBjbGllbnRfbGlmZXRpbWUgb25seSBhcyBhIGxhc3QgcmVzb3J0
Lg0KIwlJZiB5b3Ugc2VlbSB0byBoYXZlIG1hbnkgY2xpZW50IGNvbm5lY3Rp
b25zIHR5aW5nIHVwDQojCWZpbGVkZXNjcmlwdG9ycywgd2UgcmVjb21tZW5k
IGZpcnN0IHR1bmluZyB0aGUgcmVhZF90aW1lb3V0LA0KIwlyZXF1ZXN0X3Rp
bWVvdXQsIHBjb25uX3RpbWVvdXQgYW5kIHF1aWNrX2Fib3J0IHZhbHVlcy4N
CiMNCiNjbGllbnRfbGlmZXRpbWUgMSBkYXkNCg0KIyAgVEFHOiBoYWxmX2Ns
b3NlZF9jbGllbnRzDQojCVNvbWUgY2xpZW50cyBtYXkgc2h1dGRvd24gdGhl
IHNlbmRpbmcgc2lkZSBvZiB0aGVpciBUQ1ANCiMJY29ubmVjdGlvbnMsIHdo
aWxlIGxlYXZpbmcgdGhlaXIgcmVjZWl2aW5nIHNpZGVzIG9wZW4uCVNvbWV0
aW1lcywNCiMJU3F1aWQgY2FuIG5vdCB0ZWxsIHRoZSBkaWZmZXJlbmNlIGJl
dHdlZW4gYSBoYWxmLWNsb3NlZCBhbmQgYQ0KIwlmdWxseS1jbG9zZWQgVENQ
IGNvbm5lY3Rpb24uICBCeSBkZWZhdWx0LCBoYWxmLWNsb3NlZCBjbGllbnQN
CiMJY29ubmVjdGlvbnMgYXJlIGtlcHQgb3BlbiB1bnRpbCBhIHJlYWQoMikg
b3Igd3JpdGUoMikgb24gdGhlDQojCXNvY2tldCByZXR1cm5zIGFuIGVycm9y
LiAgQ2hhbmdlIHRoaXMgb3B0aW9uIHRvICdvZmYnIGFuZCBTcXVpZA0KIwl3
aWxsIGltbWVkaWF0ZWx5IGNsb3NlIGNsaWVudCBjb25uZWN0aW9ucyB3aGVu
IHJlYWQoMikgcmV0dXJucw0KIwkibm8gbW9yZSBkYXRhIHRvIHJlYWQuIg0K
Iw0KI2hhbGZfY2xvc2VkX2NsaWVudHMgb24NCg0KIyAgVEFHOiBwY29ubl90
aW1lb3V0DQojCVRpbWVvdXQgZm9yIGlkbGUgcGVyc2lzdGVudCBjb25uZWN0
aW9ucyB0byBzZXJ2ZXJzIGFuZCBvdGhlcg0KIwlwcm94aWVzLg0KI3Bjb25u
X3RpbWVvdXQgMTIwIHNlY29uZHMNCg0KIyAgVEFHOiBzaHV0ZG93bl9saWZl
dGltZQl0aW1lLXVuaXRzDQojCVdoZW4gU0lHVEVSTSBvciBTSUdIVVAgaXMg
cmVjZWl2ZWQsIHRoZSBjYWNoZSBpcyBwdXQgaW50bw0KIwkic2h1dGRvd24g
cGVuZGluZyIgbW9kZSB1bnRpbCBhbGwgYWN0aXZlIHNvY2tldHMgYXJlIGNs
b3NlZC4NCiMJVGhpcyB2YWx1ZSBpcyB0aGUgbGlmZXRpbWUgdG8gc2V0IGZv
ciBhbGwgb3BlbiBkZXNjcmlwdG9ycw0KIwlkdXJpbmcgc2h1dGRvd24gbW9k
ZS4gIEFueSBhY3RpdmUgY2xpZW50cyBhZnRlciB0aGlzIG1hbnkNCiMJc2Vj
b25kcyB3aWxsIHJlY2VpdmUgYSAndGltZW91dCcgbWVzc2FnZS4NCiMNCiNz
aHV0ZG93bl9saWZldGltZSAzMCBzZWNvbmRzDQoNCg0KIyBBQ0NFU1MgQ09O
VFJPTFMNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K
IyAgVEFHOiBhY2wNCiMJRGVmaW5pbmcgYW4gQWNjZXNzIExpc3QNCiMNCiMJ
YWNsIGFjbG5hbWUgYWNsdHlwZSBzdHJpbmcxIC4uLg0KIwlhY2wgYWNsbmFt
ZSBhY2x0eXBlICJmaWxlIiAuLi4NCiMNCiMJd2hlbiB1c2luZyAiZmlsZSIs
IHRoZSBmaWxlIHNob3VsZCBjb250YWluIG9uZSBpdGVtIHBlciBsaW5lDQoj
DQojCWFjbHR5cGUgaXMgb25lIG9mIHNyYyBkc3Qgc3JjZG9tYWluIGRzdGRv
bWFpbiB1cmxfcGF0dGVybg0KIwkJdXJscGF0aF9wYXR0ZXJuIHRpbWUgcG9y
dCBwcm90byBtZXRob2QgYnJvd3NlciB1c2VyDQojDQojCWFjbCBhY2xuYW1l
IHNyYyAgICAgIGlwLWFkZHJlc3MvbmV0bWFzayAuLi4gKGNsaWVudHMgSVAg
YWRkcmVzcykNCiMJYWNsIGFjbG5hbWUgc3JjICAgICAgYWRkcjEtYWRkcjIv
bmV0bWFzayAuLi4gKHJhbmdlIG9mIGFkZHJlc3NlcykNCiMJYWNsIGFjbG5h
bWUgZHN0ICAgICAgaXAtYWRkcmVzcy9uZXRtYXNrIC4uLiAoVVJMIGhvc3Qn
cyBJUCBhZGRyZXNzKQ0KIw0KIwlhY2wgYWNsbmFtZSBzcmNkb21haW4gICBm
b28uY29tIC4uLiAgICAgIyByZXZlcnNlIGxvb2t1cCwgY2xpZW50IElQDQoj
CWFjbCBhY2xuYW1lIGRzdGRvbWFpbiAgIGZvby5jb20gLi4uICAgICAjIERl
c3RpbmF0aW9uIHNlcnZlciBmcm9tIFVSTA0KIwlhY2wgYWNsbmFtZSBzcmNk
b21fcmVnZXggeHh4IC4uLiAgICAgICAgIyByZWdleCBtYXRjaGluZyBjbGll
bnQgbmFtZQ0KIwlhY2wgYWNsbmFtZSBkc3Rkb21fcmVnZXggeHh4IC4uLiAg
ICAgICAgIyByZWdleCBtYXRjaGluZyBzZXJ2ZXINCiMJICAjIEZvciBkc3Rk
b21haW4gYW5kIGRzdGRvbV9yZWdleCAgYSByZXZlcnNlIGxvb2t1cCBpcyB0
cmllZCBpZiBhIElQDQojCSAgIyBiYXNlZCBVUkwgaXMgdXNlZC4gVGhlIG5h
bWUgIm5vbmUiIGlzIHVzZWQgaWYgdGhlIHJldmVyc2UgbG9va3VwDQojCSAg
IyBmYWlscy4NCiMNCiMJYWNsIGFjbG5hbWUgdGltZSAgICAgW2RheS1hYmJy
ZXZzXSAgW2gxOm0xLWgyOm0yXQ0KIwkgICAgZGF5LWFiYnJldnM6DQojCQlT
IC0gU3VuZGF5DQojCQlNIC0gTW9uZGF5DQojCQlUIC0gVHVlc2RheQ0KIwkJ
VyAtIFdlZG5lc2RheQ0KIwkJSCAtIFRodXJzZGF5DQojCQlGIC0gRnJpZGF5
DQojCQlBIC0gU2F0dXJkYXkNCiMJICAgIGgxOm0xIG11c3QgYmUgbGVzcyB0
aGFuIGgyOm0yDQojCWFjbCBhY2xuYW1lIHVybF9yZWdleCAgXmh0dHA6Ly8g
Li4uCSMgcmVnZXggbWF0Y2hpbmcgb24gd2hvbGUgVVJMDQojCWFjbCBhY2xu
YW1lIHVybHBhdGhfcmVnZXggIFwuZ2lmJCAuLi4JIyByZWdleCBtYXRjaGlu
ZyBvbiBVUkwgcGF0aA0KIwlhY2wgYWNsbmFtZSBwb3J0ICAgICA4MCA3MCAy
MSAuLi4NCiMJYWNsIGFjbG5hbWUgcHJvdG8gICAgSFRUUCBGVFAgLi4uDQoj
CWFjbCBhY2xuYW1lIG1ldGhvZCAgIEdFVCBQT1NUIC4uLg0KIwlhY2wgYWNs
bmFtZSBicm93c2VyICByZWdleHANCiMJYWNsIGFjbG5hbWUgdXNlciAgICAg
dXNlcm5hbWUgLi4uCSMgc3RyaW5nIG1hdGNoIG9uIGlkZW50IG91dHB1dC4N
CiMJCQkJCQkjIHVzZSBSRVFVSVJFRCB0byBhY2NlcHQgYW55DQojCQkJCQkJ
IyBub24tbnVsbCBpZGVudC4NCiMJYWNsIGFjbG5hbWUgc3JjX2FzICAgbnVt
YmVyIC4uLiANCiMJYWNsIGFjbG5hbWUgZHN0X2FzICAgbnVtYmVyIC4uLg0K
IwkgICMgRXhjZXB0IGZvciBhY2Nlc3MgY29udHJvbCwgQVMgbnVtYmVycyBj
YW4gYmUgdXNlZCBmb3INCiMJICAjIHJvdXRpbmcgb2YgcmVxdWVzdHMgdG8g
c3BlY2lmaWMgY2FjaGVzLiBIZXJlJ3MgYW4gDQojCSAgIyBleGFtcGxlIGZv
ciByb3V0aW5nIGFsbCByZXF1ZXN0cyBmb3IgQVMjMTI0MSBhbmQgb25seSAN
CiMJICAjIHRob3NlIHRvIG15Y2FjaGUubXlkb21haW4ubmV0Og0KIwkgICMg
YWNsIGFzZXhhbXBsZSBkc3RfYXMgMTI0MQ0KIwkgICMgY2FjaGVfcGVlcl9h
Y2wgbXljYWNoZS5teWRvbWFpbi5uZXQgYXNleGFtcGxlDQojCSAgIyBjYWNo
ZV9wZWVyX2FjbCBteWNhY2hlX215ZG9tYWluLm5ldCAhYWxsDQojDQojCWFj
bCBhY2xuYW1lIHByb3h5X2F1dGggcGFzc3dkX2ZpbGUgWyByZWZyZXNoIF0N
CiMJICAjICdwYXNzd2RfZmlsZScgaXMgYW4gQXBhY2hlLXN0eWxlIGZpbGUg
b2YgcGFzc3dvcmRzIGZvcg0KIwkgICMgYXV0aGVudGljYXRlZCBwcm94eSBh
Y2Nlc3MuIExvb2tzIGxpa2UgdXNlcjpwYXNzd29yZCwgd2l0aA0KIwkgICMg
dGhlIHBhc3N3b3JkIGJlaW5nIHN0YW5kYXJkIGNyeXB0KCkgZm9ybWF0LiAg
J3JlZnJlc2gnIGlzDQojCSAgIyB0aGUgdGltZSBpbiBzZWNvbmRzIHRvIGNo
ZWNrIGZvciBhIGNoYW5nZXMgaW4gdGhlIGZpbGUNCiMJICAjIChkZWZhdWx0
ID0gMzAwIHNlY3MpLiAgV2hlbiB1c2luZyBhIHByb3h5X2F1dGggQUNMIGlu
IGFuDQojCSAgIyBBQ0wgbGlzdCwgbWFrZSBzdXJlIGl0IGlzIHRoZSAqbGFz
dCogaW4gdGhlIGxpc3QgYW5kIHRoZQ0KIwkgICMgb25seSBwcm94eV9hdXRo
IEFDTCBpbiB0aGUgbGlzdC4gIE5PVEU6IHdoZW4gYQ0KIwkgICMgUHJveHkt
QXV0aGVudGljYXRpb24gaGVhZGVyIGlzIHNlbnQgYnV0IGl0IGlzIG5vdCBu
ZWVkZWQNCiMJICAjIGR1cmluZyBBQ0wgY2hlY2tpbmcgdGhlIHVzZXJuYW1l
IGlzIE5PVCBsb2dnZWQgaW4NCiMJICAjIGFjY2Vzcy5sb2cuDQojDQojYWNs
IG1hbmFnZXIgcHJvdG8gY2FjaGVfb2JqZWN0DQphY2wgYWxsIHNyYyAxOTQu
MjcuNTQuMS0xOTQuMjcuNTQuMjU0LzI1NS4yNTUuMjU1LjANCiNhY2wgbXll
eGFtcGxlIGRzdF9hcyAxMjQxDQojYWNsIFNTTF9wb3J0cyBwb3J0IDQ0MyA1
NjMNCiNhY2wgRGFuZ2Vyb3VzX3BvcnRzIHBvcnQgNyA5IDE5DQojYWNsIENP
Tk5FQ1QgbWV0aG9kIENPTk5FQ1QNCg0KIyAgVEFHOiBodHRwX2FjY2Vzcw0K
IwlBbGxvd2luZyBvciBEZW55aW5nIGFjY2VzcyBiYXNlZCBvbiBkZWZpbmVk
IGFjY2VzcyBsaXN0cw0KIw0KIwlBY2Nlc3MgdG8gdGhlIEhUVFAgcG9ydDoN
CiMJaHR0cF9hY2Nlc3MgYWxsb3d8ZGVueSBbIV1hY2xuYW1lIC4uLg0KIw0K
IwlBY2Nlc3MgdG8gdGhlIElDUCBwb3J0Og0KIwlpY3BfYWNjZXNzICBhbGxv
d3xkZW55IFshXWFjbG5hbWUgLi4uDQojDQojCU5PVEUgb24gZGVmYXVsdCB2
YWx1ZXM6DQojDQojCUlmIHRoZXJlIGFyZSBubyAiYWNjZXNzIiBsaW5lcyBw
cmVzZW50LCB0aGUgZGVmYXVsdCBpcyB0byBhbGxvdw0KIwl0aGUgcmVxdWVz
dC4NCiMNCiMJSWYgbm9uZSBvZiB0aGUgImFjY2VzcyIgbGluZXMgY2F1c2Ug
YSBtYXRjaCwgdGhlIGRlZmF1bHQgaXMgdGhlDQojCW9wcG9zaXRlIG9mIHRo
ZSBsYXN0IGxpbmUgaW4gdGhlIGxpc3QuICBJZiB0aGUgbGFzdCBsaW5lIHdh
cw0KIwlkZW55LCB0aGVuIHRoZSBkZWZhdWx0IGlzIGFsbG93LiAgQ29udmVy
c2VseSwgaWYgdGhlIGxhc3QgbGluZQ0KIwlpcyBhbGxvdywgdGhlIGRlZmF1
bHQgd2lsbCBiZSBkZW55LiAgRm9yIHRoZXNlIHJlYXNvbnMsIGl0IGlzIGEN
CiMJZ29vZCBpZGVhIHRvIGhhdmUgYW4gImRlbnkgYWxsIiBvciAiYWxsb3cg
YWxsIiBlbnRyeSBhdCB0aGUgZW5kDQojCW9mIHlvdXIgYWNjZXNzIGxpc3Rz
IHRvIGF2b2lkIHBvdGVudGlhbCBjb25mdXNpb24uDQojDQojDQojCU9ubHkg
YWxsb3cgYWNjZXNzIHRvIHRoZSBjYWNoZSBtYW5hZ2VyIGZ1bmN0aW9ucyBm
cm9tIHRoZSBsb2NhbCBob3N0Lg0KI2h0dHBfYWNjZXNzIGRlbnkgbWFuYWdl
ciAhbG9jYWxob3N0DQojaHR0cF9hY2Nlc3MgZGVueSBDT05ORUNUICFTU0xf
cG9ydHMNCiNodHRwX2FjY2VzcyBkZW55IERhbmdlcm91c19wb3J0cw0KIw0K
IwlBbGxvdyBldmVyeXRoaW5nIGVsc2UNCiNodHRwX2FjY2VzcyBhbGxvdyAg
YWxsDQoNCiMgIFRBRzogaWNwX2FjY2Vzcw0KIwlSZXBseSB0byBhbGwgSUNQ
IHF1ZXJpZXMgd2UgcmVjZWl2ZQ0KIw0KI2ljcF9hY2Nlc3MgIGFsbG93ICBh
bGwNCg0KIyAgVEFHOiBtaXNzX2FjY2Vzcw0KIwlVc2UgdG8gZm9yY2UgeW91
ciBuZWlnaGJvcnMgdG8gdXNlIHlvdSBhcyBhIHNpYmxpbmcgaW5zdGVhZCBv
Zg0KIwlhIHBhcmVudC4gIEZvciBleGFtcGxlOg0KIw0KIwkJYWNsIGxvY2Fs
Y2xpZW50cyBzcmMgMTcyLjE2LjAuMC8xNg0KIwkJbWlzc19hY2Nlc3MgYWxs
b3cgbG9jYWxjbGllbnRzDQojCQltaXNzX2FjY2VzcyBkZW55ICAhbG9jYWxj
bGllbnRzDQojDQojCVRoaXMgbWVhbnMgdGhhdCBvbmx5IHlvdXIgbG9jYWwg
Y2xpZW50cyBhcmUgYWxsb3dlZCB0byBmZXRjaA0KIwlNSVNTRVMgYW5kIGFs
bCBvdGhlciBjbGllbnRzIGNhbiBvbmx5IGZldGNoIEhJVFMuDQojDQojCUJ5
IGRlZmF1bHQsIGFsbG93IGFsbCBjbGllbnRzIHdobyBwYXNzZWQgdGhlIGh0
dHBfYWNjZXNzIHJ1bGVzDQojCXRvIGZldGNoIE1JU1NFUyBmcm9tIHVzLg0K
Iw0KI21pc3NfYWNjZXNzIGFsbG93ICBhbGwNCg0KIyAgVEFHOiBjYWNoZV9w
ZWVyX2FjY2Vzcw0KIwlTaW1pbGFyIHRvICdjYWNoZV9wZWVyX2RvbWFpbicg
YnV0IHByb3ZpZGVzIG1vcmUgZmxleGliaWxpdHkgYnkNCiMJdXNpbmcgQUNM
IGVsZW1lbnRzLg0KIw0KIwljYWNoZV9wZWVyX2FjY2VzcyBjYWNoZS1ob3N0
IGFsbG93fGRlbnkgWyFdYWNsbmFtZSAuLi4NCiMNCiMJVGhlIHN5bnRheCBp
cyBpZGVudGljYWwgdG8gJ2h0dHBfYWNjZXNzJyBhbmQgdGhlIG90aGVyIGxp
c3RzIG9mDQojCUFDTCBlbGVtZW50cy4gIFNlZSB0aGUgY29tbWVudHMgZm9y
ICdodHRwX2FjY2VzcycgYmVsb3csIG9yDQojCXRoZSBTcXVpZCBGQVEgKGh0
dHA6Ly9zcXVpZC5ubGFuci5uZXQvU3F1aWQvRkFRL0ZBUS0xMC5odG1sKS4N
Cg0KDQojIEFETUlOSVNUUkFUSVZFIFBBUkFNRVRFUlMNCiMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyAgVEFHOiBjYWNoZV9tZ3IN
CiMJRW1haWwtYWRkcmVzcyBvZiBsb2NhbCBjYWNoZSBtYW5hZ2VyIHdobyB3
aWxsIHJlY2VpdmUNCiMJbWFpbCBpZiB0aGUgY2FjaGUgZGllcy4gIFRoZSBk
ZWZhdWx0IGlzICJ3ZWJtYXN0ZXIuIg0KIw0KY2FjaGVfbWdyIGJidXl1a0B0
aXRhbi5jZW5nLm1hcnVuLmVkdS50cg0KDQojICBUQUc6IGNhY2hlX2VmZmVj
dGl2ZV91c2VyDQojICBUQUc6IGNhY2hlX2VmZmVjdGl2ZV9ncm91cA0KIwlJ
ZiB0aGUgY2FjaGUgaXMgcnVuIGFzIHJvb3QsIGl0IHdpbGwgY2hhbmdlIGl0
cyBlZmZlY3RpdmUvcmVhbA0KIwlVSUQvR0lEIHRvIHRoZSBVSUQvR0lEIHNw
ZWNpZmllZCBiZWxvdy4gIFRoZSBkZWZhdWx0IGlzIG5vdCB0bw0KIwljaGFu
Z2UgVUlEL0dJRC4NCiMNCmNhY2hlX2VmZmVjdGl2ZV91c2VyIGJldHVsDQpj
YWNoZV9lZmZlY3RpdmVfZ3JvdXAgbm9ncm91cA0KDQojICBUQUc6IHZpc2li
bGVfaG9zdG5hbWUNCiMJSWYgeW91IHdhbnQgdG8gcHJlc2VudCBhIHNwZWNp
YWwgaG9zdG5hbWUgaW4gZXJyb3IgbWVzc2FnZXMsIGV0YywNCiMJdGhlbiBk
ZWZpbmUgdGhpcy4gIE90aGVyd2lzZSwgdGhlIHJldHVybiB2YWx1ZSBvZiBn
ZXRob3N0bmFtZSgpDQojCXdpbGwgYmUgdXNlZC4gSWYgeW91IGhhdmUgbXVs
dGlwbGUgY2FjaGVzIGluIGEgY2x1c3RlciBhbmQNCiMJZ2V0IGVycm9ycyBh
Ym91dCBJUC1mb3J3YXJkaW5nIHlvdSBtdXN0IHNldCB0aGVtIHRvIGhhdmUg
aW5kaXZpZHVhbA0KIwluYW1lcyB3aXRoIHRoaXMgc2V0dGluZy4NCiMNCiN2
aXNpYmxlX2hvc3RuYW1lIHd3dy1jYWNoZS5mb28ub3JnDQoNCiMgIFRBRzog
dW5pcXVlX2hvc3RuYW1lDQojCUlmIHlvdSB3YW50IHRvIGhhdmUgbXVsdGlw
bGUgbWFjaGluZXMgd2l0aCB0aGUgc2FtZQ0KIwkndmlzaWJsZV9ob3N0bmFt
ZScgdGhlbiB5b3UgbXVzdCBnaXZlIGVhY2ggbWFjaGluZSBhIGRpZmZlcmVu
dA0KIwkndW5pcXVlX2hvc3RuYW1lJyBzbyB0aGF0IGZvcndhcmRpbmcgbG9v
cHMgY2FuIGJlIGRldGVjdGVkLg0KIw0KI3VuaXF1ZV9ob3N0bmFtZSB3d3ct
Y2FjaGUxLmZvby5vcmcNCg0KDQojIE9QVElPTlMgRk9SIFRIRSBDQUNIRSBS
RUdJU1RSQVRJT04gU0VSVklDRQ0KIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQ0KIw0KIwlUaGlzIHNlY3Rpb24gY29udGFpbnMgcGFyYW1l
dGVycyBmb3IgdGhlIChvcHRpb25hbCkgY2FjaGUNCiMJYW5ub3VuY2VtZW50
IHNlcnZpY2UuICBUaGlzIHNlcnZpY2UgaXMgcHJvdmlkZWQgdG8gaGVscA0K
IwljYWNoZSBhZG1pbmlzdHJhdG9ycyBsb2NhdGUgb25lIGFub3RoZXIgaW4g
b3JkZXIgdG8gam9pbiBvcg0KIwljcmVhdGUgY2FjaGUgaGllcmFyY2hpZXMu
DQojDQojCUFuICdhbm5vdW5jZW1lbnQnIG1lc3NhZ2UgaXMgc2VudCAodmlh
IFVEUCkgdG8gdGhlIHJlZ2lzdHJhdGlvbg0KIwlzZXJ2aWNlIGJ5IFNxdWlk
LiAgQnkgZGVmYXVsdCwgdGhlIGFubm91Y2VtZW50IG1lc3NhZ2UgaXMgTk9U
DQojCVNFTlQgdW5sZXNzIHlvdSBlbmFibGUgaXQgd2l0aCAnYW5ub3VuY2Vf
cGVyaW9kJyBiZWxvdy4NCiMNCiMJVGhlIGFubm91bmNlbWVudCBtZXNzYWdl
IGluY2x1ZGVzIHlvdXIgaG9zdG5hbWUsIHBsdXMgdGhlDQojCWZvbGxvd2lu
ZyBpbmZvcm1hdGlvbiBmcm9tIHRoaXMgY29uZmlndXJhdGlvbiBmaWxlOg0K
Iw0KIwkJaHR0cF9wb3J0DQojCQlpY3BfcG9ydA0KIwkJY2FjaGVfbWdyDQoj
DQojCUFsbCBjdXJyZW50IGluZm9ybWF0aW9uIGlzIHByb2Nlc3NlZCByZWd1
bGFybHkgYW5kIG1hZGUNCiMJYXZhaWxhYmxlIG9uIHRoZSBXZWIgYXQgaHR0
cDovL2lyY2FjaGUubmxhbnIubmV0L0NhY2hlL1RyYWNrZXIvLg0KDQojICBU
QUc6IGFubm91bmNlX3BlcmlvZA0KIwlUaGlzIGlzIGhvdyBmcmVxdWVudGx5
IHRvIHNlbmQgY2FjaGUgYW5ub3VuY2VtZW50cy4gIFRoZQ0KIwlkZWZhdWx0
IGlzIGAwJyB3aGljaCBkaXNhYmxlcyBzZW5kaW5nIHRoZSBhbm5vdW5jZW1l
bnQNCiMJbWVzc2FnZXMuDQojDQojCVRvIGVuYWJsZSBhbm5vdW5jaW5nIHlv
dXIgY2FjaGUsIGp1c3QgdW5jb21tZW50IHRoZSBsaW5lDQojCWJlbG93Lg0K
Iw0KI2Fubm91bmNlX3BlcmlvZCAxIGRheQ0KDQojICBUQUc6IGFubm91bmNl
X2hvc3QNCiMgIFRBRzogYW5ub3VuY2VfZmlsZQ0KIyAgVEFHOiBhbm5vdW5j
ZV9wb3J0DQojCWFubm91bmNlX2hvc3QgYW5kIGFubm91bmNlX3BvcnQgc2V0
IHRoZSBob3N0bmFtZSBhbmQgcG9ydA0KIwludW1iZXIgd2hlcmUgdGhlIHJl
Z2lzdHJhdGlvbiBtZXNzYWdlIHdpbGwgYmUgc2VudC4NCiMNCiMJSG9zdG5h
bWUgd2lsbCBkZWZhdWx0IHRvICd0cmFja2VyLmlyY2FjaGUubmV0JyBhbmQg
cG9ydCB3aWxsDQojCWRlZmF1bHQgZGVmYXVsdCB0byAzMTMxLiAgSWYgdGhl
ICdmaWxlbmFtZScgYXJndW1lbnQgaXMgZ2l2ZW4sDQojCXRoZSBjb250ZW50
cyBvZiB0aGF0IGZpbGUgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgYW5ub3Vu
Y2UNCiMJbWVzc2FnZS4NCiMNCiNhbm5vdW5jZV9ob3N0IHRyYWNrZXIuaXJj
YWNoZS5uZXQNCiNhbm5vdW5jZV9wb3J0IDMxMzENCg0KDQojIEhUVFBELUFD
Q0VMRVJBVE9SIE9QVElPTlMNCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCg0KIyAgVEFHOiBodHRwZF9hY2NlbF9ob3N0DQojICBUQUc6
IGh0dHBkX2FjY2VsX3BvcnQNCiMJSWYgeW91IHdhbnQgdG8gcnVuIFNxdWlk
IGFzIGFuIGh0dHBkIGFjY2VsZXJhdG9yLCBkZWZpbmUgdGhlDQojCWhvc3Qg
bmFtZSBhbmQgcG9ydCBudW1iZXIgd2hlcmUgdGhlIHJlYWwgSFRUUCBzZXJ2
ZXIgaXMuDQojDQojCUlmIHlvdSB3YW50IHZpcnR1YWwgaG9zdCBzdXBwb3J0
IHRoZW4gc3BlY2lmeSB0aGUgaG9zdG5hbWUNCiMJYXMgInZpcnR1YWwiLg0K
Iw0KI2h0dHBkX2FjY2VsX2hvc3QgaG9zdG5hbWUNCiNodHRwZF9hY2NlbF9w
b3J0IHBvcnQNCg0KIyAgVEFHOiBodHRwZF9hY2NlbF93aXRoX3Byb3h5CW9u
fG9mZg0KIwlJZiB5b3Ugd2FudCB0byB1c2UgU3F1aWQgYXMgYm90aCBhIGxv
Y2FsIGh0dHBkIGFjY2VsZXJhdG9yDQojCWFuZCBhcyBhIHByb3h5LCBjaGFu
Z2UgdGhpcyB0byAnb24nLg0KIw0KI2h0dHBkX2FjY2VsX3dpdGhfcHJveHkg
b2ZmDQoNCiMgIFRBRzogaHR0cGRfYWNjZWxfdXNlc19ob3N0X2hlYWRlcglv
bnxvZmYNCiMJSFRUUC8xLjEgcmVxdWVzdHMgaW5jbHVkZSBhIEhvc3Q6IGhl
YWRlciB3aGljaCBpcyBiYXNpY2FsbHkgdGhlDQojCWhvc3RuYW1lIGZyb20g
dGhlIFVSTC4gIFNxdWlkIGNhbiBiZSBhbiBhY2NlbGVyYXRvciBmb3INCiMJ
ZGlmZmVyZW50IEhUVFAgc2VydmVycyBieSBsb29raW5nIGF0IHRoaXMgaGVh
ZGVyLiAgSG93ZXZlciwNCiMJU3F1aWQgZG9lcyBOT1QgY2hlY2sgdGhlIHZh
bHVlIG9mIHRoZSBIb3N0IGhlYWRlciwgc28gaXQgb3BlbnMNCiMJYSBiaWcg
c2VjdXJpdHkgaG9sZS4gIFdlIHJlY29tbWVuZCB0aGF0IHRoaXMgb3B0aW9u
IHJlbWFpbg0KIwlkaXNhYmxlZCB1bmxlc3MgeW91IGFyZSBzdXJlIG9mIHdo
YXQgeW91IGFyZSBkb2luZy4NCiMNCiMJSG93ZXZlciwgeW91IHdpbGwgbmVl
ZCB0byBlbmFibGUgdGhpcyBvcHRpb24gaWYgeW91IHJ1biBTcXVpZA0KIwlh
cyBhIHRyYW5zcGFyZW50IHByb3h5LiAgT3RoZXJ3aXNlLCB2aXJ0dWFsIHNl
cnZlcnMgd2hpY2gNCiMJcmVxdWlyZSB0aGUgSG9zdDogaGVhZGVyIHdpbGwg
bm90IGJlIHByb3Blcmx5IGNhY2hlZC4NCiNodHRwZF9hY2NlbF91c2VzX2hv
c3RfaGVhZGVyIG9mZg0KDQoNCiMgTUlTQ0VMTEFORU9VUw0KIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojICBUQUc6IGRuc190ZXN0
bmFtZXMNCiMJVGhlIEROUyB0ZXN0cyBleGl0IGFzIHNvb24gYXMgdGhlIGZp
cnN0IHNpdGUgaXMgc3VjY2Vzc2Z1bGx5IGxvb2tlZCB1cA0KIw0KIwlJZiB5
b3Ugd2FudCB0byBkaXNhYmxlIEROUyB0ZXN0cywgZG8gbm90IGNvbW1lbnQg
b3V0IG9yIGRlbGV0ZSB0aGlzDQojCWxpc3QuICBJbnN0ZWFkIHVzZSB0aGUg
LUQgY29tbWFuZCBsaW5lIG9wdGlvbg0KIw0KI2Ruc190ZXN0bmFtZXMgbmV0
c2NhcGUuY29tIGludGVybmljLm5ldCBubGFuci5uZXQgbWljcm9zb2Z0LmNv
bQ0KDQojICBUQUc6IGxvZ2ZpbGVfcm90YXRlDQojCVNwZWNpZmllcyB0aGUg
bnVtYmVyIG9mIGxvZ2ZpbGUgcm90YXRpb25zIHRvIG1ha2UgdXBvbg0KIwly
ZWNlaXZpbmcgYSBVU1IxIHNpZ25hbC4gIFRoZSBkZWZhdWx0IGlzIDEwLCB3
aGljaCB3aWxsIHJvdGF0ZQ0KIwl3aXRoIGV4dGVuc2lvbnMgMCB0aHJvdWdo
IDkuICBTZXR0aW5nIGxvZ2ZpbGVfcm90YXRlIHRvIDAgd2lsbA0KIwlkaXNh
YmxlIHRoZSByb3RhdGlvbiwgYnV0IHRoZSBsb2dmaWxlcyBhcmUgc3RpbGwg
Y2xvc2VkIGFuZA0KIwlyZS1vcGVuZWQuICBUaGlzIHdpbGwgZW5hYmxlIHlv
dSB0byByZW5hbWUgdGhlIGxvZ2ZpbGVzDQojCXlvdXJzZWxmIGp1c3QgYmVm
b3JlIHNlbmRpbmcgYSBVU1IxIHNpZ25hbCB0byB0aGUgU3F1aWQNCiMJcHJv
Y2Vzcy4NCiMNCiNsb2dmaWxlX3JvdGF0ZSAxMA0KDQojICBUQUc6IGFwcGVu
ZF9kb21haW4NCiMJQXBwZW5kcyBsb2NhbCBkb21haW4gbmFtZSB0byBob3N0
bmFtZXMgd2l0aG91dCBhbnkgZG90cyBpbg0KIwl0aGVtLiAgYXBwZW5kX2Rv
bWFpbiBtdXN0IGJlZ2luIHdpdGggYSBwZXJpb2QuDQojDQojYXBwZW5kX2Rv
bWFpbiAueW91cmRvbWFpbi5jb20NCg0KIyAgVEFHOiB0Y3BfcmVjdl9idWZz
aXplCShieXRlcykNCiMJU2l6ZSBvZiByZWNlaXZlIGJ1ZmZlciB0byBzZXQg
Zm9yIFRDUCBzb2NrZXRzLiAgUHJvYmFibHkganVzdA0KIwlhcyBlYXN5IHRv
IGNoYW5nZSB5b3VyIGtlcm5lbCdzIGRlZmF1bHQuICBTZXQgdG8gemVybyB0
byB1c2UNCiMJdGhlIGRlZmF1bHQgYnVmZmVyIHNpemUuDQojDQojdGNwX3Jl
Y3ZfYnVmc2l6ZSAwIGJ5dGVzDQoNCiMgIFRBRzogZXJyX2h0bWxfdGV4dA0K
IwlIVE1MIHRleHQgdG8gaW5jbHVkZSBpbiBlcnJvciBtZXNzYWdlcy4gIE1h
a2UgdGhpcyBhICJtYWlsdG8iDQojCVVSTCB0byB5b3VyIGFkbWluIGFkZHJl
c3MsIG9yIG1heWJlIGp1c3QgYSBsaW5rIHRvIHlvdXINCiMJb3JnYW5pemF0
aW9ucyBXZWIgcGFnZS4NCiMNCiNlcnJfaHRtbF90ZXh0DQoNCiMgIFRBRzog
ZGVueV9pbmZvDQojCVVzYWdlOiAgIGRlbnlfaW5mbyBlcnJfcGFnZV9uYW1l
IGFjbA0KIwlFeGFtcGxlOiBkZW55X2luZm8gRVJSX0NVU1RPTV9BQ0NFU1Nf
REVOSUVEIGJhZF9ndXlzDQojDQojCVRoaXMgY2FuIGJlIHVzZWQgdG8gcmV0
dXJuIGEgRVJSXyBwYWdlIGZvciByZXF1ZXN0cyB3aGljaA0KIwlkbyBub3Qg
cGFzcyB0aGUgJ2h0dHBfYWNjZXNzJyBydWxlcy4gIEEgc2luZ2xlIEFDTCB3
aWxsIGNhdXNlDQojCXRoZSBodHRwX2FjY2VzcyBjaGVjayB0byBmYWlsLiAg
SWYgYSAnZGVueV9pbmZvJyBsaW5lIGV4aXN0cw0KIwlmb3IgdGhhdCBBQ0wg
dGhlbiBTcXVpZCByZXR1cm5zIGEgY29ycmVzcG9uZGluZyBlcnJvciBwYWdl
Lg0KIw0KIwlZb3UgbWF5IHVzZSBFUlJfIHBhZ2VzIHRoYXQgY29tZSB3aXRo
IFNxdWlkIG9yIGNyZWF0ZSB5b3VyIG93biBwYWdlcw0KIwlhbmQgcHV0IHRo
ZW0gaW50byB0aGUgY29uZmlndXJlZCBlcnJvcnMvIGRpcmVjdG9yeS4NCg0K
IyAgVEFHOiBtZW1vcnlfcG9vbHMJb258b2ZmDQojCUlmIHNldCwgU3F1aWQg
d2lsbCBrZWVwIHBvb2xzIG9mIGFsbG9jYXRlZCAoYnV0IHVudXNlZCkgbWVt
b3J5DQojCWF2YWlsYWJsZSBmb3IgZnV0dXJlIHVzZS4gIElmIG1lbW9yeSBp
cyBhIHByZW1pdW0gb24geW91cg0KIwlzeXN0ZW0gYW5kIHlvdSBiZWxpZXZl
IHlvdXIgbWFsbG9jIGxpYnJhcnkgb3V0cGVyZm9ybXMgU3F1aWQgDQojCXJv
dXRpbmVzLCBkaXNhYmxlIHRoaXMuDQojDQptZW1vcnlfcG9vbHMgb2ZmDQoN
CiMgIFRBRzogbWVtb3J5X3Bvb2xzX2xpbWl0CShieXRlcykNCiMJVXNlZCBv
bmx5IHdpdGggbWVtb3J5X3Bvb2xzIG9uOg0KIwltZW1vcnlfcG9vbHNfbGlt
aXQgNTAgTUINCiMNCiMJSWYgc2V0IHRvIGEgbm9uLXplcm8gdmFsdWUsIFNx
dWlkIHdpbGwga2VlcCBhdCBtb3N0IHRoZSBzcGVjaWZpZWQNCiMJbGltaXQg
b2YgYWxsb2NhdGVkIChidXQgdW51c2VkKSBtZW1vcnkgaW4gbWVtb3J5IHBv
b2xzLiBBbGwgZnJlZSgpDQojCXJlcXVlc3RzIHRoYXQgZXhjZWVkIHRoaXMg
bGltaXQgd2lsbCBiZSBoYW5kbGVkIGJ5IHlvdXIgbWFsbG9jDQojCWxpYnJh
cnkuIFNxdWlkIGRvZXMgbm90IHByZS1hbGxvY2F0ZSBhbnkgbWVtb3J5LCBq
dXN0IHNhZmUta2VlcHMNCiMJb2JqZWN0cyB0aGF0IG90aGVyd2lzZSB3b3Vs
ZCBiZSBmcmVlKClkLiBUaHVzLCBpdCBpcyBzYWZlIHRvIHNldA0KIwltZW1v
cnlfcG9vbHNfbGltaXQgdG8gYSByZWFzb25hYmx5IGhpZ2ggdmFsdWUgZXZl
biBpZiB5b3VyDQojCWNvbmZpZ3VyYXRpb24gd2lsbCB1c2UgbGVzcyBtZW1v
cnkuDQojDQojCUlmIG5vdCBzZXQgKGRlZmF1bHQpIG9yIHNldCB0byB6ZXJv
LCBTcXVpZCB3aWxsIGtlZXAgYWxsIG1lbW9yeSBpdA0KIwljYW4uIFRoYXQg
aXMsIHRoZXJlIHdpbGwgYmUgbm8gbGltaXQgb24gdGhlIHRvdGFsIGFtb3Vu
dCBvZiBtZW1vcnkNCiMJdXNlZCBmb3Igc2FmZS1rZWVwaW5nLg0KIw0KIwlU
byBkaXNhYmxlIG1lbW9yeSBhbGxvY2F0aW9uIG9wdGltaXphdGlvbiwgZG8g
bm90IHNldA0KIwltZW1vcnlfcG9vbHNfbGltaXQgdG8gMC4gU2V0IG1lbW9y
eV9wb29scyB0byAib2ZmIiBpbnN0ZWFkLg0KIw0KIwlBbiBvdmVyaGVhZCBm
b3IgbWFpbnRhaW5pbmcgbWVtb3J5IHBvb2xzIGlzIG5vdCB0YWtlbiBpbnRv
IGFjY291bnQNCiMJd2hlbiB0aGUgbGltaXQgaXMgY2hlY2tlZC4gVGhpcyBv
dmVyaGVhZCBpcyBjbG9zZSB0byBmb3VyIGJ5dGVzIHBlcg0KIwlvYmplY3Qg
a2VwdC4gSG93ZXZlciwgcG9vbHMgbWF5IGFjdHVhbGx5IF9zYXZlXyBtZW1v
cnkgYmVjYXVzZSBvZg0KIwlyZWR1Y2VkIG1lbW9yeSB0aHJhc2hpbmcgaW4g
eW91ciBtYWxsb2MgbGlicmFyeS4NCg0KIyAgVEFHOiBmb3J3YXJkZWRfZm9y
CW9ufG9mZg0KIwlJZiBzZXQsIFNxdWlkIHdpbGwgaW5jbHVkZSB5b3VyIHN5
c3RlbSdzIElQIGFkZHJlc3Mgb3IgbmFtZQ0KIwlpbiB0aGUgSFRUUCByZXF1
ZXN0cyBpdCBmb3J3YXJkcy4gIEJ5IGRlZmF1bHQgaXQgbG9va3MgbGlrZQ0K
Iwl0aGlzOg0KIw0KIwkJWC1Gb3J3YXJkZWQtRm9yOiAxOTIuMS4yLjMNCiMN
CiMJSWYgeW91IGRpc2FibGUgdGhpcywgaXQgd2lsbCBhcHBlYXIgYXMNCiMN
CiMJCVgtRm9yd2FyZGVkLUZvcjogdW5rbm93bg0KIw0KI2ZvcndhcmRlZF9m
b3Igb24NCg0KIyAgVEFHOiBsb2dfaWNwX3F1ZXJpZXMJb258b2ZmDQojCUlm
IHNldCwgSUNQIHF1ZXJpZXMgYXJlIGxvZ2dlZCB0byBhY2Nlc3MubG9nLiBZ
b3UgbWF5IHdpc2gNCiMJZG8gZGlzYWJsZSB0aGlzIGlmIHlvdXIgSUNQIGxv
YWQgaXMgVkVSWSBoaWdoIHRvIHNwZWVkIHRoaW5ncw0KIwl1cCBvciB0byBz
aW1wbGlmeSBsb2cgYW5hbHlzaXMuDQojDQojbG9nX2ljcF9xdWVyaWVzIG9u
DQoNCiMgIFRBRzogaWNwX2hpdF9zdGFsZQlvbnxvZmYNCiMJSWYgeW91IHdh
bnQgdG8gcmV0dXJuIElDUF9ISVQgZm9yIHN0YWxlIGNhY2hlIG9iamVjdHMs
IHNldCB0aGlzDQojCW9wdGlvbiB0byAnb24nLiAgSWYgeW91IGhhdmUgc2li
bGluZyByZWxhdGlvbnNoaXBzIHdpdGggY2FjaGVzDQojCWluIG90aGVyIGFk
bWluaXN0cmF0aXZlIGRvbWFpbnMsIHRoaXMgc2hvdWxkIGJlICdvZmYnLiAg
SWYgeW91IG9ubHkNCiMJaGF2ZSBzaWJsaW5nIHJlbGF0aW9uc2hpcHMgd2l0
aCBjYWNoZXMgdW5kZXIgeW91ciBjb250cm9sLCB0aGVuDQojCWl0IGlzIHBy
b2JhYmx5IG9rYXkgdG8gc2V0IHRoaXMgdG8gJ29uJy4NCiMNCiNpY3BfaGl0
X3N0YWxlIG9mZg0KDQojICBUQUc6IG1pbmltdW1fZGlyZWN0X2hvcHMNCiMJ
SWYgdXNpbmcgdGhlIElDTVAgcGluZ2luZyBzdHVmZiwgZG8gZGlyZWN0IGZl
dGNoZXMgZm9yIHNpdGVzDQojCXdoaWNoIGFyZSBubyBtb3JlIHRoYW4gdGhp
cyBtYW55IGhvcHMgYXdheS4NCiMNCiNtaW5pbXVtX2RpcmVjdF9ob3BzIDQN
Cg0KIyAgVEFHOiBjYWNoZW1ncl9wYXNzd2QNCiMJU3BlY2lmeSBwYXNzd29y
ZHMgZm9yIGNhY2hlbWdyIG9wZXJhdGlvbnMuDQojDQojCVVzYWdlOiBjYWNo
ZW1ncl9wYXNzd2QgcGFzc3dvcmQgYWN0aW9uIGFjdGlvbiAuLi4NCiMNCiMJ
dmFsaWQgYWN0aW9ucyBhcmU6DQojCQlzaHV0ZG93biAqDQojCQlpbmZvDQoj
CQlvYmplY3RzDQojCQl2bV9vYmplY3RzDQojCQl1dGlsaXphdGlvbg0KIwkJ
aXBjYWNoZQ0KIwkJZnFkbmNhY2hlDQojCQlkbnMNCiMJCXJlZGlyZWN0b3IN
CiMJCWlvDQojCQlyZXBseV9oZWFkZXJzDQojCQlmaWxlZGVzY3JpcHRvcnMN
CiMJCW5ldGRiDQojCQlzZXJ2ZXJfbGlzdA0KIwkJY2xpZW50X2xpc3QNCiMJ
CWNvbmZpZyAqDQojDQojCSogSW5kaWNhdGVzIGFjdGlvbnMgd2hpY2ggd2ls
bCBub3QgYmUgcGVyZm9ybWVkIHdpdGhvdXQgYQ0KIwkgIHZhbGlkIHBhc3N3
b3JkLCBvdGhlcnMgY2FuIGJlIHBlcmZvcm1lZCBpZiBub3QgbGlzdGVkIGhl
cmUuDQojDQojCVRvIGRpc2FibGUgYW4gYWN0aW9uLCBzZXQgdGhlIHBhc3N3
b3JkIHRvICJkaXNhYmxlIi4NCiMJVG8gYWxsb3cgcGVyZm9ybWluZyBhbiBh
Y3Rpb24gd2l0aG91dCBhIHBhc3N3b3JkLCBzZXQgdGhlDQojCXBhc3N3b3Jk
IHRvICJub25lIi4NCiMNCiMJVXNlIHRoZSBrZXl3b3JkICJhbGwiIHRvIHNl
dCB0aGUgc2FtZSBwYXNzd29yZCBmb3IgYWxsIGFjdGlvbnMuDQojDQojY2Fj
aGVtZ3JfcGFzc3dkIHNlY3JldCBzaHV0ZG93bg0KI2NhY2hlbWdyX3Bhc3N3
ZCBsZXNzc3Nzc3NlY3JldCBpbmZvIHN0YXRzL29iamVjdHMNCiNjYWNoZW1n
cl9wYXNzd2QgZGlzYWJsZSBhbGwNCg0KIyAgVEFHOiBzdG9yZV9hdmdfb2Jq
ZWN0X3NpemUJKGtieXRlcykNCiMJQXZlcmFnZSBvYmplY3Qgc2l6ZSwgdXNl
ZCB0byBlc3RpbWF0ZSBudW1iZXIgb2Ygb2JqZWN0cyB5b3VyDQojCWNhY2hl
IGNhbiBob2xkLiAgU2VlIGRvYy9SZWxlYXNlLU5vdGVzLTEuMS50eHQuICBU
aGUgZGVmYXVsdCBpcw0KIwkxMyBLQi4NCiMNCiNzdG9yZV9hdmdfb2JqZWN0
X3NpemUgMTMgS0INCg0KIyAgVEFHOiBzdG9yZV9vYmplY3RzX3Blcl9idWNr
ZXQNCiMJVGFyZ2V0IG51bWJlciBvZiBvYmplY3RzIHBlciBidWNrZXQgaW4g
dGhlIHN0b3JlIGhhc2ggdGFibGUuDQojCUxvd2VyaW5nIHRoaXMgdmFsdWUg
aW5jcmVhc2VzIHRoZSB0b3RhbCBudW1iZXIgb2YgYnVja2V0cyBhbmQNCiMJ
YWxzbyB0aGUgc3RvcmFnZSBtYWludGVuYW5jZSByYXRlLiAgVGhlIGRlZmF1
bHQgaXMgMjAuDQojDQojc3RvcmVfb2JqZWN0c19wZXJfYnVja2V0IDIwDQoN
CiMgIFRBRzogaHR0cF9hbm9ueW1pemVyDQojCUlmIHlvdSB3YW50IHRvIGZp
bHRlciBvdXQgY2VydGFpbiBIVFRQIHJlcXVlc3QgaGVhZGVycyBmb3INCiMJ
cHJpdmFjeSByZWFzb25zLCBlbmFibGUgdGhpcyBvcHRpb24uICBUaGVyZSBh
cmUgdGhyZWUNCiMJYXBwcm9wcmlhdGUgc2V0dGluZ3M6DQojCQknb2ZmJwkJ
QWxsIEhUVFAgcmVxdWVzdCBoZWFkZXJzIGFyZSBwYXNzZWQuDQojCQknc3Rh
bmRhcmQnCVNwZWNpZmljIGhlYWRlcnMgYXJlIHJlbW92ZWQNCiMJCSdwYXJh
bm9pZCcJT25seSBzcGVjaWZpYyBoZWFkZXJzIGFyZSBhbGxvd2VkLg0KIwlU
byBzZWUgd2hpY2ggaGVhZGVycyBhcmUgYWxsb3dlZCBvciBkZW5pZWQsIHBs
ZWFzZSBzZWUgdGhlDQojCWh0dHAtYW5vbi5jIHNvdXJjZSBmaWxlLg0KIw0K
I2h0dHBfYW5vbnltaXplciBvZmYNCg0KIyAgVEFHOiBjbGllbnRfZGIJb258
b2ZmDQojCUlmIHlvdSB3YW50IHRvIGRpc2FibGUgY29sbGVjdGluZyBwZXIt
Y2xpZW50IHN0YXRpc3RpY3MsIHRoZW4NCiMJdHVybiBvZmYgY2xpZW50X2Ri
IGhlcmUuDQojDQojY2xpZW50X2RiIG9uDQoNCiMgIFRBRzogbmV0ZGJfbG93
DQojICBUQUc6IG5ldGRiX2hpZ2gNCiMJVGhlIGxvdyBhbmQgaGlnaCB3YXRl
ciBtYXJrcyBmb3IgdGhlIElDTVAgbWVhc3VyZW1lbnQNCiMJZGF0YWJhc2Uu
ICBUaGVzZSBhcmUgY291bnRzLCBub3QgcGVyY2VudHMuICBUaGUgZGVmYXVs
dHMgYXJlDQojCTkwMCBhbmQgMTAwMC4gIFdoZW4gdGhlIGhpZ2ggd2F0ZXIg
bWFyayBpcyByZWFjaGVkLCBkYXRhYmFzZQ0KIwllbnRyaWVzIHdpbGwgYmUg
ZGVsZXRlZCB1bnRpbCB0aGUgbG93IG1hcmsgaXMgcmVhY2hlZC4NCiMNCiNu
ZXRkYl9sb3cgOTAwDQojbmV0ZGJfaGlnaCAxMDAwDQoNCiMgIFRBRzogbmV0
ZGJfcGluZ19wZXJpb2QNCiMJVGhlIG1pbmltdW0gcGVyaW9kIGZvciBtZWFz
dXJpbmcgYSBzaXRlLiAgVGhlcmUgd2lsbCBiZSBhdA0KIwlsZWFzdCB0aGlz
IG11Y2ggZGVsYXkgYmV0d2VlbiBzdWNjZXNzaXZlIHBpbmdzIHRvIHRoZSBz
YW1lDQojCW5ldHdvcmsuICBUaGUgZGVmYXVsdCBpcyBmaXZlIG1pbnV0ZXMu
DQojDQojbmV0ZGJfcGluZ19wZXJpb2QgNSBtaW51dGVzDQoNCiMgIFRBRzog
cXVlcnlfaWNtcAlvbnxvZmYNCiMJSWYgeW91IHdhbnQgdG8gYXNrIHlvdXIg
cGVlcnMgdG8gaW5jbHVkZSBJQ01QIGRhdGEgaW4gdGhlaXIgSUNQDQojCXJl
cGxpZXMsIGVuYWJsZSB0aGlzIG9wdGlvbi4NCiMNCiMJSWYgeW91ciBwZWVy
IGhhcyBjb25maWd1cmVkIFNxdWlkIChkdXJpbmcgY29tcGlsYXRpb24pIHdp
dGgNCiMJJy0tZW5hYmxlLWljbXAnIHRoZW4gdGhhdCBwZWVyIHdpbGwgc2Vu
ZCBJQ01QIHBpbmdzIHRvIG9yaWdpbiBzZXJ2ZXINCiMJc2l0ZXMgb2YgdGhl
IFVSTHMgaXQgcmVjZWl2ZXMuICBJZiB5b3UgZW5hYmxlIHRoaXMgb3B0aW9u
IHRoZW4gdGhlDQojCUlDUCByZXBsaWVzIGZyb20gdGhhdCBwZWVyIHdpbGwg
aW5jbHVkZSB0aGUgSUNNUCBkYXRhIChpZiBhdmFpbGFibGUpLg0KIwlUaGVu
LCB3aGVuIGNob29zaW5nIGEgcGFyZW50IGNhY2hlLCBTcXVpZCB3aWxsIGNo
b29zZSB0aGUgcGFyZW50IHdpdGgNCiMJdGhlIG1pbmltYWwgUlRUIHRvIHRo
ZSBvcmlnaW4gc2VydmVyLiAgV2hlbiB0aGlzIGhhcHBlbnMsIHRoZQ0KIwlo
aWVyYXJjaHkgZmllbGQgb2YgdGhlIGFjY2Vzcy5sb2cgd2lsbCBiZQ0KIwki
Q0xPU0VTVF9QQVJFTlRfTUlTUyIuICBUaGlzIG9wdGlvbiBpcyBvZmYgYnkg
ZGVmYXVsdC4NCiMNCiNxdWVyeV9pY21wIG9mZg0KDQojICBUQUc6IHRlc3Rf
cmVhY2hhYmlsaXR5CW9ufG9mZg0KIwlXaGVuIHRoaXMgaXMgJ29uJywgSUNQ
IE1JU1MgcmVwbGllcyB3aWxsIGJlIElDUF9NSVNTX05PRkVUQ0gNCiMJaW5z
dGVhZCBvZiBJQ1BfTUlTUyBpZiB0aGUgdGFyZ2V0IGhvc3QgaXMgTk9UIGlu
IHRoZSBJQ01QDQojCWRhdGFiYXNlLCBvciBoYXMgYSB6ZXJvIFJUVC4NCiMN
CiN0ZXN0X3JlYWNoYWJpbGl0eSBvZmYNCg0KIyAgVEFHOiBidWZmZXJlZF9s
b2dzCW9ufG9mZg0KIwlTb21lIGxvZyBmaWxlcyAoY2FjaGUubG9nLCB1c2Vy
YWdlbnQubG9nKSBhcmUgd3JpdHRlbiB3aXRoDQojCXN0ZGlvIGZ1bmN0aW9u
cywgYW5kIGFzIHN1Y2ggdGhleSBjYW4gYmUgYnVmZmVyZWQgb3INCiMJdW5i
dWZmZXJlZC4gIEJ5IGRlZmF1bHQgdGhleSB3aWxsIGJlIHVuYnVmZmVyZWQu
IEJ1ZmZlcmluZyB0aGVtDQojCWNhbiBzcGVlZCB1cCB0aGUgd3JpdGluZyBz
bGlnaHRseSAodGhvdWdoIHlvdSBhcmUgdW5saWtlbHkgdG8NCiMJbmVlZCB0
byB3b3JyeSkuDQojYnVmZmVyZWRfbG9ncyBvZmYNCg0KIyAgVEFHOiByZWxv
YWRfaW50b19pbXMJb258b2ZmDQojCVdoZW4geW91IGVuYWJsZSB0aGlzIG9w
dGlvbiwgY2xpZW50IG5vLWNhY2hlIG9yIGBgcmVsb2FkJycNCiMJcmVxdWVz
dHMgd2lsbCBiZSBjaGFuZ2VkIHRvIElmLU1vZGlmaWVkLVNpbmNlIHJlcXVl
c3RzLg0KIwlEb2luZyB0aGlzIFZJT0xBVEVTIHRoZSBIVFRQIHN0YW5kYXJk
LiAgRW5hYmxpbmcgdGhpcw0KIwlmZWF0dXJlIGNvdWxkIG1ha2UgeW91IGxp
YWJsZSBmb3IgcHJvYmxlbXMgd2hpY2ggaXQNCiMJY2F1c2VzLg0KI3JlbG9h
ZF9pbnRvX2ltcyBvZmYNCg0KIyAgVEFHOiBhbHdheXNfZGlyZWN0DQojCVVz
YWdlOiBhbHdheXNfZGlyZWN0IGFsbG93fGRlbnkgWyFdYWNsbmFtZSAuLi4N
CiMNCiMJSGVyZSB5b3UgY2FuIHVzZSBBQ0wgZWxlbWVudHMgdG8gc3BlY2lm
eSByZXF1ZXN0cyB3aGljaCBzaG91bGQNCiMJQUxXQVlTIGJlIGZvcndhcmRl
ZCBkaXJlY3RseSB0byBvcmlnaW4gc2VydmVycy4gIFRoaXMgb3B0aW9uDQoj
CXJlcGxhY2VzIHNvbWUgdjEuMSBvcHRpb25zIHN1Y2ggYXMgaW5zaWRlX2Zp
cmV3YWxsLA0KIwlmaXJld2FsbF9pcCwgbG9jYWxfZG9tYWluLCBhbmQgbG9j
YWxfaXAuICBGb3IgZXhhbXBsZSwgdG8NCiMJYWx3YXlzIGRpcmVjdGx5IGZv
cndhcmQgcmVxdWVzdHMgZm9yIGxvY2FsIHNlcnZlcnMgdXNlDQojCXNvbWV0
aGluZyBsaWtlOg0KIw0KIwkJYWNsIGxvY2FsLXNlcnZlcnMgZHN0ZG9tYWlu
IG15LmRvbWFpbi5uZXQNCiMJCWFsd2F5c19kaXJlY3QgYWxsb3cgbG9jYWwt
c2VydmVycw0KIw0KIwlUbyBhbHdheXMgZm9yd2FyZCBGVFAgcmVxdWVzdHMg
ZGlyZWN0bHksIHVzZQ0KIw0KIwkJYWNsIEZUUCBwcm90byBGVFANCiMJCWFs
d2F5c19kaXJlY3QgYWxsb3cgRlRQDQojDQojCU5PVEU6IFRoZXJlIGlzIGEg
c2ltaWxhciwgYnV0IG9wcG9zaXRlIG9wdGlvbiBuYW1lZA0KIwknbmV2ZXJf
ZGlyZWN0Jy4gIFlvdSBuZWVkIHRvIGJlIGF3YXJlIHRoYXQgImFsd2F5c19k
aXJlY3QgZGVueQ0KIwlmb28iIGlzIE5PVCB0aGUgc2FtZSB0aGluZyBhcyAi
bmV2ZXJfZGlyZWN0IGFsbG93IGZvbyIuICBZb3UNCiMJbWF5IG5lZWQgdG8g
dXNlIGEgZGVueSBydWxlIHRvIGV4Y2x1ZGUgYSBtb3JlLXNwZWNpZmljIGNh
c2Ugb2YNCiMJc29tZSBvdGhlciBydWxlLiAgRXhhbXBsZToNCiMNCiMJCWFj
bCBsb2NhbC1leHRlcm5hbCBkc3Rkb21haW4gZXh0ZXJuYWwuZm9vLm5ldA0K
IwkJYWNsIGxvY2FsLXNlcnZlcnMgZHN0ZG9tYWluICBmb28ubmV0DQojCQlh
bHdheXNfZGlyZWN0IGRlbnkgbG9jYWwtZXh0ZXJuYWwNCiMJCWFsd2F5c19k
aXJlY3QgYWxsb3cgbG9jYWwtc2VydmVycw0KDQojICBUQUc6IG5ldmVyX2Rp
cmVjdA0KIwlVc2FnZTogbmV2ZXJfZGlyZWN0IGFsbG93fGRlbnkgWyFdYWNs
bmFtZSAuLi4NCiMNCiMJbmV2ZXJfZGlyZWN0IGlzIHRoZSBvcHBvc2l0ZSBv
ZiBhbHdheXNfZGlyZWN0LiAgUGxlYXNlIHJlYWQNCiMJdGhlIGRlc2NyaXB0
aW9uIGZvciBhbHdheXNfZGlyZWN0IGlmIHlvdSBoYXZlIG5vdCBhbHJlYWR5
Lg0KIw0KIwlXaXRoICduZXZlcl9kaXJlY3QnIHlvdSBjYW4gdXNlIEFDTCBl
bGVtZW50cyB0byBzcGVjaWZ5DQojCXJlcXVlc3RzIHdoaWNoIHNob3VsZCBO
RVZFUiBiZSBmb3J3YXJkZWQgZGlyZWN0bHkgdG8gb3JpZ2luDQojCXNlcnZl
cnMuICBUaGlzIG9wdGlvbiByZXBsYWNlcyBzb21lIHYxLjEgb3B0aW9ucyBz
dWNoIGFzDQojCWluc2lkZV9maXJld2FsbCwgZmlyZXdhbGxfaXAsIGxvY2Fs
X2RvbWFpbiwgYW5kIGxvY2FsX2lwLiAgRm9yDQojCWV4YW1wbGUsIHRvIGZv
cmNlIHRoZSB1c2Ugb2YgYSBwcm94eSBmb3IgYWxsIHJlcXVlc3RzLCBleGNl
cHQNCiMJdGhvc2UgaW4geW91ciBsb2NhbCBkb21haW4sIHVzZSBzb21ldGhp
bmcgbGlrZToNCiMNCiMJCWFjbCBsb2NhbC1zZXJ2ZXJzIGRzdGRvbWFpbiBt
eS5kb21haW4ubmV0DQojCQlhY2wgYWxsIHNyYyAwLjAuMC4wLzAuMC4wLjAN
CiMJCW5ldmVyX2RpcmVjdCBkZW55IGxvY2FsLXNlcnZlcnMNCiMJCW5ldmVy
X2RpcmVjdCBhbGxvdyBhbGwNCg0KIyAgVEFHOiBmYWtlX3VzZXJfYWdlbnQN
CiMJSWYgeW91IHVzZSB0aGUgcGFyYW5vaWQgaHR0cF9hbm9ueW1pemVyIHNl
dHRpbmcsIFNxdWlkIHdpbGwgc3RyaXANCiMJeW91ciBVc2VyLWFnZW50IHN0
cmluZyBmcm9tIHRoZSByZXF1ZXN0LiAgU29tZSBXZWIgc2VydmVycyB3aWxs
DQojCXJlZnVzZSB5b3VyIHJlcXVlc3Qgd2l0aG91dCBhIFVzZXItYWdlbnQg
c3RyaW5nLiAgVXNlIHRoaXMgdG8NCiMJZmFrZSBvbmUgdXAuICBGb3IgZXhh
bXBsZToNCiMNCiMJZmFrZV91c2VyX2FnZW50IE51dHNjcmFwZS8xLjAgKENQ
L007IDgtYml0KQ0KIwkoY3JlZGl0IHRvIFBhdWwgU291dGh3b3J0aCBwYXVs
c0BldGV4dC5vcmcgZm9yIHRoaXMgb25lISkNCiMNCiNmYWtlX3VzZXJfYWdl
bnQgbm9uZQ0KDQojICBUQUc6IGljb25fZGlyZWN0b3J5DQojCVdoZXJlIHRo
ZSBpY29ucyBhcmUgc3RvcmVkLiBUaGVzZSBhcmUgbm9ybWFsbHkga2VwdCBp
bg0KIwkvdXNyL2xvY2FsL3NxdWlkL2V0Yy9pY29ucw0KDQojICBUQUc6IGVy
cm9yX2RpcmVjdG9yeQ0KIwlJZiB5b3Ugd2lzaCB0byBjcmVhdGUgeW91ciBv
d24gdmVyc2lvbnMgb2YgdGhlIGRlZmF1bHQNCiMJKEVuZ2xpc2gpIGVycm9y
IGZpbGVzLCBlaXRoZXIgdG8gY3VzdG9taXNlIHRoZW0gdG8gc3VpdCB5b3Vy
DQojCWxhbmd1YWdlIG9yIGNvbXBhbnkgY29weSB0aGUgdGVtcGxhdGUgZW5n
bGlzaCBmaWxlcyB0byBhbnRoZXINCiMJZGlyZWN0b3J5IGFuZCBwb2ludCB0
aGlzIHRhZyBhdCB0aGVtLg0KDQojICBUQUc6IG1pbmltdW1fcmV0cnlfdGlt
ZW91dAkoc2Vjb25kcykNCiMJVGhpcyBzcGVjaWZpZXMgdGhlIG1pbmltdW0g
Y29ubmVjdCB0aW1lb3V0LCBmb3Igd2hlbiB0aGUNCiMJY29ubmVjdCB0aW1l
b3V0IGlzIHJlZHVjZWQgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIGF2YWlsYWJp
bGl0eQ0KIwlvZiBtdWx0aXBsZSBJUCBhZGRyZXNzZXMuDQojDQojCVdoZW4g
YSBjb25uZWN0aW9uIHRvIGEgaG9zdCBpcyBpbml0aWF0ZWQsIGFuZCB0aGF0
IGhvc3QgaGFzDQojCXNldmVyYWwgSVAgYWRkcmVzc2VzLCB0aGUgZGVmYXVs
dCBjb25uZWN0aW9uIHRpbWVvdXQgaXMgcmVkdWNlZA0KIwlieSBkaXZpZGlu
ZyBpdCBieSB0aGUgbnVtYmVyIG9mIGFkZHJlc3Nlcy4gIFNvLCBhIHNpdGUg
d2l0aCAxNQ0KIwlhZGRyZXNzZXMgd291bGQgdGhlbiBoYXZlIGEgdGltZW91
dCBvZiA4IHNlY29uZHMgZm9yIGVhY2gNCiMJYWRkcmVzcyBhdHRlbXB0ZWQu
ICBUbyBhdm9pZCBoYXZpbmcgdGhlIHRpbWVvdXQgcmVkdWNlZCB0byB0aGUN
CiMJcG9pbnQgd2hlcmUgZXZlbiBhIHdvcmtpbmcgaG9zdCB3b3VsZCBub3Qg
aGF2ZSBhIGNoYW5jZSB0bw0KIwlyZXNwb25kLCB0aGlzIHNldHRpbmcgaXMg
cHJvdmlkZWQuICBUaGUgZGVmYXVsdCwgYW5kIHRoZQ0KIwltaW5pbXVtIHZh
bHVlLCBpcyBmaXZlIHNlY29uZHMsIGFuZCB0aGUgbWF4aW11bSB2YWx1ZSBp
cyBzaXh0eQ0KIwlzZWNvbmRzLCBvciBoYWxmIG9mIGNvbm5lY3RfdGltZW91
dCwgd2hpY2hldmVyIGlzIGdyZWF0ZXIgYW5kDQojCWxlc3MgdGhhbiBjb25u
ZWN0X3RpbWVvdXQuDQojDQojbWluaW11bV9yZXRyeV90aW1lb3V0IDUgc2Vj
b25kcw0KDQojICBUQUc6IG1heGltdW1fc2luZ2xlX2FkZHJfdHJpZXMNCiMJ
VGhpcyBzZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25uZWN0aW9uIGF0
dGVtcHRzIGZvciBhDQojCWhvc3QgdGhhdCBvbmx5IGhhcyBvbmUgYWRkcmVz
cyAoZm9yIG11bHRpcGxlLWFkZHJlc3MgaG9zdHMsDQojCWVhY2ggYWRkcmVz
cyBpcyB0cmllZCBvbmNlKS4NCiMNCiMJVGhlIGRlZmF1bHQgdmFsdWUgaXMg
dGhyZWUgdHJpZXMsIHRoZSAobm90IHJlY29tbWVuZGVkKQ0KIwltYXhpbXVt
IGlzIDI1NSB0cmllcy4gIEEgd2FybmluZyBtZXNzYWdlIHdpbGwgYmUgZ2Vu
ZXJhdGVkDQojCWlmIGl0IGlzIHNldCB0byBhIHZhbHVlIGdyZWF0ZXIgdGhh
biB0ZW4uDQojDQojbWF4aW11bV9zaW5nbGVfYWRkcl90cmllcyAzDQoNCiMg
IFRBRzogc25tcF9wb3J0DQojCVNxdWlkIGNhbiBub3cgc2VydmUgc3RhdGlz
dGljcyBhbmQgc3RhdHVzIGluZm9ybWF0aW9uIHZpYSBTTk1QLg0KIwlCeSBk
ZWZhdWx0IGl0IGxpc3RlbnMgdG8gcG9ydCAzNDAxIG9uIHRoZSBtYWNoaW5l
LiBJZiB5b3UgZG9uJ3QNCiMJd2lzaCB0byB1c2UgU05NUCwgc2V0IHRoaXMg
dG8gJy0xJy4NCiMNCiMJTk9URTogU05NUCBzdXBwb3J0IHJlcXVpcmVzIHVz
ZSB0aGUgLS1lbmFibGUtc25tcCBjb25maWd1cmUNCiMJY29tbWFuZCBsaW5l
IG9wdGlvbi4NCiNzbm1wX3BvcnQgMzQwMQ0KDQojICBUQUc6IHNubXBfZG9f
cXVldWVpbmcNCiMJSWYgZGlzYWJsZWQsIHNubXAgcGFja2V0cyB3aWxsIG5v
dCBiZSBxdWV1ZWQgYnV0IGRlbGl2ZXJlZA0KIwlpbW1lZGlhdGVseS4gVGhp
cyBjb3VsZCBiZSB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byBtb25pdG9yIGEN
CiMJY2FjaGUgaW4gdHJvdWJsZSwgYnV0IHRoaXMgY291bGQgYWxzbyBtYWtl
IFNxdWlkIGJsb2NrLCBzbG93aW5nDQojCWNvbm5lY3Rpb25zIGFuZCBwb3Nz
aWJseSB3b3JzZW5pbmcgdGhlIGNhY2hlIHN0YXR1cy4NCiNzbm1wX2RvX3F1
ZXVlaW5nIG9uDQoNCiMgIFRBRzogZm9yd2FyZF9zbm1wZF9wb3J0DQojCVRo
aXMgY29uZmlndXJlcyB3aGV0aGVyIHdlIHNob3VsZCBiZSBmb3J3YXJkaW5n
IFNOTVAgcmVxdWVzdHMNCiMJdG8gYW5vdGhlciBzbm1wZC4gVGhlIHJlYXNv
biBmb3IgcHV0dGluZyB0aGlzIHBpZWNlIG9mDQojCWZ1bmN0aW9uYWxpdHkg
aW50byBTcXVpZCB3YXMgdG8gZW5hYmxlIGFjY2VzcyB0byB0aGUgc3lzdGVt
J3MNCiMJaW5zdGFsbGVkIHNubXBkIHdpdGggbWluaW1hbCBjaGFuZ2VzLiAg
VGhpcyBvcHRpb24gaXMgdHVybmVkDQojCW9mZiBieSBkZWZhdWx0LCBjaGVj
ayB3aXRoIHlvdXIgL2V0Yy9zZXJ2aWNlcyBmb3IgeW91ciBzeXN0ZW0ncw0K
Iwlzbm1wIHBvcnQgKHVzdWFsbHkgMTYxKS4gIFdlIGRvIG5vdCB1c2UgZ2V0
c2VydmJ5bmFtZSgpIHRvDQojCWFsbG93IHlvdSB0byBzZXQgU3F1aWQgaW50
byBwb3J0IDE2MSBhbmQgeW91ciBzeXN0ZW0ncyBzbm1wZCB0bw0KIwlhbm90
aGVyIHBvcnQgYnkgY2hhbmdpbmcgL2V0Yy9zZXJ2aWNlcy4NCiMNCiMJV0FS
TklORzogQmVjYXVzZSBvZiBTcXVpZCBhY3RpbmcgYXMgYSBwcm94eSBzbm1w
ZCBmb3Igc3lzdGVtDQojCXlvdSBoYXZlIHRvIGRvIHNlY3VyaXR5IGNoZWNr
cyBvbiBUSElTIHNubXBkIGZvciBhbGwgb2JqZWN0cy4NCiMJQ2hlY2sgeW91
ciBzbm1wX2NvbmZpZ19maWxlLg0KI2ZvcndhcmRfc25tcGRfcG9ydCAwDQoN
CiMgIFRBRzogc25tcF9taWJfcGF0aA0KIwlUaGUgbG9jYXRpb24gb2YgU3F1
aWQncyBtaWIuDQojc25tcF9taWJfcGF0aCAvdXNyL2xvY2FsL3NxdWlkL2V0
Yy9taWIudHh0DQoNCiMgIFRBRzogdHJhcF9zaW5rDQojCUhvc3RuYW1lIG9y
IGlwIGFkZHJlc3Mgb2YgdHJhcCBzaW5rIGZvciBzbm1wDQojdHJhcF9zaW5r
IDEyNy4wLjAuMQ0KDQojICBUQUc6IHNubXBfdHJhcF9jb21tdW5pdHkNCiMJ
Q29tbXVuaXR5IG5hbWUgZm9yIHRyYXBzLg0KI3NubXBfdHJhcF9jb21tdW5p
dHkgcHVibGljDQoNCiMgIFRBRzogc25tcF9lbmFibGVfYXV0aGVuX3RyYXBz
DQojCUVuYWJsZSBTTk1QIGF1dGhlbnRpY2F0ZWQgdHJhcHMuIFNldCB0byAn
b2ZmJyBvciAnb24nLg0KI3NubXBfZW5hYmxlX2F1dGhlbl90cmFwcyBvZmYN
Cg0KIyAgVEFHOiBzbm1wX2FnZW50X2NvbmYNCiMJRGVmaW5lIHNubXAgdmll
d3MsIHVzZXJzIGFuZCBjb21tdW5pdGllcyANCiMJRXhhbXBsZToNCiMJCXNu
bXBfYWdlbnRfY29uZiB2aWV3IGFsbCAuMS4zLjYJaW5jbHVkZWQNCiMJCXNu
bXBfYWdlbnRfY29uZiB2aWV3IHNxdWlkIC4xLjMuNiBpbmNsdWRlZA0KIwkJ
c25tcF9hZ2VudF9jb25mIHVzZXIgc3F1aWQgLSBhbGwgYWxsIHB1YmxpYw0K
IwkJc25tcF9hZ2VudF9jb25mIHVzZXIgYWxsIGFsbCBhbGwgYWxsICBzcXVp
ZA0KIwkJc25tcF9hZ2VudF9jb25mIGNvbW11bml0eSBwdWJsaWMgc3F1aWQg
c3F1aWQNCiMJCXNubXBfYWdlbnRfY29uZiBjb21tdW5pdHkgcmVhZHdyaXRl
IGFsbCBhbGwNCg0KIyAgVEFHOiBzbm1wX2FjbA0KIwlEZWZpbmUgYWNjZXNz
IGNvbnRyb2xzIHBlciBjb21tdW5pdHk6DQojCXNubXBfYWNjZXNzIGNvbW11
bml0eW5hbWUgYWxsb3d8ZGVueSBbIV1hY2xuYW1lIC4uLg0KIwlFeGFtcGxl
Og0KIwkJc25tcF9hY2wgcHVibGljIGFsbG93IGFkbWluc3VibmV0DQojCQlz
bm1wX2FjbCBwdWJsaWMgZGVueSBhbGwNCg0KIyAgVEFHOiBhc193aG9pc19z
ZXJ2ZXINCiMJV0hPSVMgc2VydmVyIHRvIHF1ZXJ5IGZvciBBUyBudW1iZXJz
LiAgTk9URTogQVMgbnVtYmVycyBhcmUNCiMJcXVlcmllZCBvbmx5IHdoZW4g
U3F1aWQgc3RhcnRzIHVwLCBub3QgZm9yIGV2ZXJ5IHJlcXVlc3QuDQoNCg==
---559023410-1804928587-903371020=:2081--