From owner-freebsd-ports-bugs@FreeBSD.ORG Thu Aug 9 06:53:24 2007 Return-Path: Delivered-To: freebsd-ports-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 28EE116A46B; Thu, 9 Aug 2007 06:53:24 +0000 (UTC) (envelope-from viper@perm.raid.ru) Received: from smtp.ertelecom.ru (smtp.ertelecom.ru [212.33.232.210]) by mx1.freebsd.org (Postfix) with ESMTP id DDE0513C4CA; Thu, 9 Aug 2007 06:53:22 +0000 (UTC) (envelope-from viper@perm.raid.ru) Received: from mail.raid.ru ([212.33.232.5]:49259 helo=perm.raid.ru) by smtp.ertelecom.ru with esmtp (Exim) id 1IJ1tV-000OAd-3V; Thu, 09 Aug 2007 12:53:21 +0600 From: "viper" To: FreeBSD-gnats-submit@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org Date: Thu, 9 Aug 2007 12:53:17 +0600 Message-Id: <20070809065259.M47152@perm.raid.ru> In-Reply-To: <200708090650.l796o1uB065137@freefall.freebsd.org> References: <200708090644.l796ihh1007389@www.freebsd.org> <200708090650.l796o1uB065137@freefall.freebsd.org> X-OriginatingIP: 212.33.232.121 (viper) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=OPENWEBMAIL_ATT_0.762795227670239" Cc: Subject: Re: ports/115340: [UPDATE] net/asterisk to 1.4.10. fixes remote buffer overflow X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Aug 2007 06:53:24 -0000 This is a multi-part message in MIME format. ------=OPENWEBMAIL_ATT_0.762795227670239 Content-Type: text/plain; charset=koi8-r ------=OPENWEBMAIL_ATT_0.762795227670239 Content-Type: application/octet-stream; name="asterisk_1.4.10" Content-Disposition: attachment; filename="asterisk_1.4.10" Content-Transfer-Encoding: base64 ZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvTWFrZWZpbGUgYXN0ZXJpc2svTWFrZWZpbGUKLS0tIGFz dGVyaXNrLm9yaWcvTWFrZWZpbGUJMjAwNy0wNy0yOCAxODoyNzoyOS4wMDAwMDAwMDAgKzA2MDAK KysrIGFzdGVyaXNrL01ha2VmaWxlCTIwMDctMDgtMDkgMTI6MjM6MDYuMDAwMDAwMDAwICswNjAw CkBAIC0yLDEyICsyLDEyIEBACiAjIERhdGUgY3JlYXRlZDoJCQkJMTcgT2N0b2JlciAyMDAzCiAj IFdob206CQkJCQlNYXhpbSBTb2JvbGV2IDxzb2JvbWF4QHBvcnRhb25lLmNvbT4KICMKLSMgJEZy ZWVCU0Q6IHBvcnRzL25ldC9hc3Rlcmlzay9NYWtlZmlsZSx2IDEuNzggMjAwNy8wNy8yOCAxMjoy NzoyOSBtaXdpIEV4cCAkCisjICRGcmVlQlNEOiBwb3J0cy9uZXQvYXN0ZXJpc2svTWFrZWZpbGUs diAxLjc2IDIwMDcvMDcvMjMgMDk6MzY6MTQgcmFmYW4gRXhwICQKICMKIAogUE9SVE5BTUU9CWFz dGVyaXNrCi1QT1JUVkVSU0lPTj0JMS40LjkKLVBPUlRSRVZJU0lPTj0JMQorUE9SVFZFUlNJT049 CTEuNC4xMAorUE9SVFJFVklTSU9OPSAgIDEKIENBVEVHT1JJRVM9CW5ldAogTUFTVEVSX1NJVEVT PQlodHRwOi8vZnRwLmRpZ2l1bS5jb20vcHViL2FzdGVyaXNrLyBcCiAJCWh0dHA6Ly9mdHAuZGln aXVtLmNvbS9wdWIvYXN0ZXJpc2svb2xkLXJlbGVhc2VzLwpAQCAtNDcsNyArNDcsOSBAQAogCQlI MzIzCQkiRW5hYmxlIEguMzIzIHN1cHBvcnQiIG9uIFwKIAkJRlJFRVREUwkJIkVuYWJsZSBGcmVl VERTIHN1cHBvcnQiIG9uIFwKIAkJSkFCQkVSCQkiRW5hYmxlIEphYmJlciBhbmQgR3RhbGsgc3Vw cG9ydCIgb24gXAotCQlTUUxJVEUgICAgICAgICAgIkVuYWJsZSBTUUxJVEUgc3VwcG9ydCIgb24K KwkJU1FMSVRFICAgICAgICAgICJFbmFibGUgU1FMSVRFIHN1cHBvcnQiIG9uIFwKKwkJSU1BUAkJ IkVuYWJsZSBJTUFQIHN1cHBvcnQiIG9mZiBcCisJCUZBWAkgICAgICAgICJFbmFibGUgRkFYIHN1 cHBvcnQiIG9uCiAKIC5pbmNsdWRlIDxic2QucG9ydC5wcmUubWs+CiAKQEAgLTE0NywxNSArMTQ5 LDYwIEBACiAuZW5kaWYKIAogLmlmIGRlZmluZWQoV0lUSE9VVF9TUUxJVEUpCi1QTElTVF9TVUIr PQlXSVRIX1NRTElURT0iQGNvbW1lbnQgIgotQ09ORklHVVJFX0FSR1MrPQktLXdpdGhvdXQtc3Fs aXRlCitQTElTVF9TVUIrPSAgICBXSVRIX1NRTElURT0iQGNvbW1lbnQgIgorQ09ORklHVVJFX0FS R1MrPSAtLXdpdGhvdXQtc3FsaXRlCiAuZWxzZQotUExJU1RfU1VCKz0JV0lUSF9TUUxJVEU9IiIK K1BMSVNUX1NVQis9ICAgIFdJVEhfU1FMSVRFPSIiCiBDT05GSUdVUkVfQVJHUys9IC0td2l0aC1z cWxpdGUKLUxJQl9ERVBFTkRTKz0Jc3FsaXRlOiR7UE9SVFNESVJ9L2RhdGFiYXNlcy9zcWxpdGUy CitMSUJfREVQRU5EUys9ICBzcWxpdGU6JHtQT1JUU0RJUn0vZGF0YWJhc2VzL3NxbGl0ZTIKKy5l bmRpZgorCisuaWYgZGVmaW5lZChXSVRIT1VUX0ZBWCkKK1BMSVNUX1NVQis9ICAgIFdJVEhfRkFY PSJAY29tbWVudCAiCisuZWxzZQorTUFLRV9FTlYrPSAgICAgV0lUSF9GQVg9eWVzCitDT05GSUdV UkVfQVJHUys9IC0td2l0aC1zcGFuZHNwPXllcworQlVJTERfREVQRU5EUys9CXNwYW5kc3A+PTAu MC4zOiR7UE9SVFNESVJ9L2NvbW1zL3NwYW5kc3AKK0xJQl9ERVBFTkRTKz0gIHNwYW5kc3AuMDok e1BPUlRTRElSfS9jb21tcy9zcGFuZHNwCitQTElTVF9TVUIrPSAgICBXSVRIX0ZBWD0iIgorLmVu ZGlmCisKKy5pZiBkZWZpbmVkKFdJVEhPVVRfSU1BUCkKK1BMSVNUX1NVQis9ICAgIFdJVEhfSU1B UD0iQGNvbW1lbnQgIgorLmVsc2UKK01BS0VfRU5WKz0gICAgIFdJVEhfSU1BUD15ZXMKK0NPTkZJ R1VSRV9BUkdTKz0gLS13aXRoLWltYXA9JHtMT0NBTEJBU0V9CitMSUJfREVQRU5EUys9ICBjLWNs aWVudDQuODoke1BPUlRTRElSfS9tYWlsL2NjbGllbnQKK1BMSVNUX1NVQis9ICAgIFdJVEhfSU1B UAogLmVuZGlmCiAKIHBvc3QtcGF0Y2g6Ci0JJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3wvdmFyL2xp Ynwke1BSRUZJWH0vc2hhcmV8ZycgJHtXUktTUkN9L2NvbmZpZ3MvbXVzaWNvbmhvbGQuY29uZi5z YW1wbGUKKwlAJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3wvdmFyL2xpYnwke1BSRUZJWH0vc2hhcmV8 ZycgJHtXUktTUkN9L2NvbmZpZ3MvbXVzaWNvbmhvbGQuY29uZi5zYW1wbGUKKworcG9zdC1jb25m aWd1cmU6CisKKy5pZiBkZWZpbmVkKFdJVEhfT0RCQykgJiYgZGVmaW5lZChXSVRIX0lNQVApCisJ QCR7RUNIT19NU0d9ICAgICIiCisJQCR7RUNIT19NU0d9ICAgICJXQVJOSU5HISEhIFlvdSBjYW4g Y2hvb3NlIG9ubHkgb25lIG9wdGlvbiBmb3IgYnVpbGQgYXBwX3ZvaWNlbWFpbCIKKwlAJHtFQ0hP X01TR30gICAgIiIKKy5lbmRpZgorLmlmIGRlZmluZWQoV0lUSF9PREJDKQorCUAke0VDSE9fTVNH fSAgICAiIgorCUAke0VDSE9fTVNHfSAgICAiSWYgbmVjZXNzYXJ5LCBidWlsZCAgd2l0aCB0aGUg b3B0aW9uIE9EQkNfU1RPUkFHRSIKKwlAJHtFQ0hPX01TR30gICAgInByZXNzIEN0cmwtQyBhbmQg cnVuIGZvbGxvd2luZyBjb21tYW5kOiIKKwlAJHtFQ0hPX01TR30gICAgIjEuIGNkIHdvcmsvYXN0 ZXJpc2stMS40LngiCisJQCR7RUNIT19NU0d9ICAgICIyLiBnbWFrZSBtZW51c2VsZWN0IgorCUAk e0VDSE9fTVNHfSAgICAiMy4gU2VsZWN0ICdWb2ljZW1haWwgQnVpbGQgT3B0aW9ucy0+T0RCQ19T VE9SQUdFJyIKKy5lbmRpZgorCisuaWYgZGVmaW5lZChXSVRIX0lNQVApCisJQCR7RUNIT19NU0d9 ICAgICIiCisJQCR7RUNIT19NU0d9ICAgICJJZiBuZWNlc3NhcnksIGJ1aWxkICB3aXRoIHRoZSBv cHRpb24gSU1BUF9TVE9SQUdFIgorCUAke0VDSE9fTVNHfSAgICAicHJlc3MgQ3RybC1DIGFuZCBy dW4gZm9sbG93aW5nIGNvbW1hbmQ6IgorCUAke0VDSE9fTVNHfSAgICAiMS4gY2Qgd29yay9hc3Rl cmlzay0xLjQueCIKKwlAJHtFQ0hPX01TR30gICAgIjIuIGdtYWtlIG1lbnVzZWxlY3QiCisJQCR7 RUNIT19NU0d9ICAgICIzLiBTZWxlY3QgJ1ZvaWNlbWFpbCBCdWlsZCBPcHRpb25zLT5JTUFQX1NU T1JBR0UnIgorLmVuZGlmCisKIAogLmluY2x1ZGUgPGJzZC5wb3J0LnBvc3QubWs+CmRpZmYgLXJ1 TiBhc3Rlcmlzay5vcmlnL2Rpc3RpbmZvIGFzdGVyaXNrL2Rpc3RpbmZvCi0tLSBhc3Rlcmlzay5v cmlnL2Rpc3RpbmZvCTIwMDctMDctMjcgMDg6NDE6MDkuMDAwMDAwMDAwICswNjAwCisrKyBhc3Rl cmlzay9kaXN0aW5mbwkyMDA3LTA4LTA5IDExOjM4OjE0LjAwMDAwMDAwMCArMDYwMApAQCAtMSwz ICsxLDMgQEAKLU1ENSAoYXN0ZXJpc2stMS40LjkudGFyLmd6KSA9IGU0N2Y1YjNjYjUzMjMzMThk YzhjNmZiNzMxMWI3NjdlCi1TSEEyNTYgKGFzdGVyaXNrLTEuNC45LnRhci5neikgPSBjMWI0MTUw M2EwYzI5ZmQxZjUxNzJjODM0YTYwYTNjNWFhY2Y0NzJmZDYwYTEyNzJmNzQzNjcyYWYzNjYwMmE2 Ci1TSVpFIChhc3Rlcmlzay0xLjQuOS50YXIuZ3opID0gMTExODIxNDgKK01ENSAoYXN0ZXJpc2st MS40LjEwLnRhci5neikgPSA2OTA1N2UyOTE2Mjg3ZjZlMmExZTM2ZGJhNmQ2ODAwZAorU0hBMjU2 IChhc3Rlcmlzay0xLjQuMTAudGFyLmd6KSA9IDcyYmJiMTllMzVlYzMwNGRmMDZkY2E3MTdiN2Fj MmNhZTBkMzQwOWZlNDdjMTdjMmRjZjc1ODUwZjYxZGRiZTEKK1NJWkUgKGFzdGVyaXNrLTEuNC4x MC50YXIuZ3opID0gMTEyMDgxMjcKZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gt YXBwczo6YXBwX3J4ZmF4LmMgYXN0ZXJpc2svZmlsZXMvcGF0Y2gtYXBwczo6YXBwX3J4ZmF4LmMK LS0tIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtYXBwczo6YXBwX3J4ZmF4LmMJMTk3MC0wMS0w MSAwNTowMDowMC4wMDAwMDAwMDAgKzA1MDAKKysrIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWFwcHM6 OmFwcF9yeGZheC5jCTIwMDctMDctMjMgMTU6MDE6NTcuMDAwMDAwMDAwICswNjAwCkBAIC0wLDAg KzEsMzgzIEBACistLS0gYXBwcy9hcHBfcnhmYXguYy5vcmlnCVR1ZSBKdWwgMTAgMTU6Mjg6MDQg MjAwNworKysrIGFwcHMvYXBwX3J4ZmF4LmMJVHVlIEp1bCAxMCAxNToyNzoyOCAyMDA3CitAQCAt MCwwICsxLDM4MCBAQAorKy8qCisrICogQXN0ZXJpc2sgLS0gQSB0ZWxlcGhvbnkgdG9vbGtpdCBm b3IgTGludXguCisrICoKKysgKiBUcml2aWFsIGFwcGxpY2F0aW9uIHRvIHJlY2VpdmUgYSBUSUZG IEZBWCBmaWxlCisrICogCisrICogQ29weXJpZ2h0IChDKSAyMDAzLCBTdGV2ZSBVbmRlcndvb2QK KysgKgorKyAqIFN0ZXZlIFVuZGVyd29vZCA8c3RldmV1QGNvcHBpY2Uub3JnPgorKyAqCisrICog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUsIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJt cyBvZgorKyAqIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAqLworKworKy8qKiog TU9EVUxFSU5GTworKyAgICAgICAgIDxkZXBlbmQ+c3BhbmRzcDwvZGVwZW5kPgorKyoqKi8KKysg CisrI2luY2x1ZGUgImFzdGVyaXNrLmgiCisrCisrQVNURVJJU0tfRklMRV9WRVJTSU9OKF9fRklM RV9fLCAiJFJldmlzaW9uOiQiKQorKworKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8 c3RkbGliLmg+CisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPGludHR5cGVzLmg+Cisr I2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5jbHVkZSA8dGlm ZmlvLmg+CisrCisrI2luY2x1ZGUgPHNwYW5kc3AuaD4KKysKKysjaW5jbHVkZSAiYXN0ZXJpc2sv bG9jay5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9maWxlLmgiCisrI2luY2x1ZGUgImFzdGVyaXNr L2xvZ2dlci5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9jaGFubmVsLmgiCisrI2luY2x1ZGUgImFz dGVyaXNrL3BieC5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9tb2R1bGUuaCIKKysjaW5jbHVkZSAi YXN0ZXJpc2svbWFuYWdlci5oIgorKworKyNpZm5kZWYgQVNUX01PRFVMRQorKyNkZWZpbmUgQVNU X01PRFVMRSAiYXBwX3J4ZmF4IgorKyNlbmRpZgorKworK3N0YXRpYyBjaGFyICphcHAgPSAiUnhG QVgiOworKworK3N0YXRpYyBjaGFyICpzeW5vcHNpcyA9ICJSZWNlaXZlIGEgRkFYIHRvIGEgZmls ZSI7CisrCisrc3RhdGljIGNoYXIgKmRlc2NyaXAgPSAKKysiICBSeEZBWChmaWxlbmFtZVt8Y2Fs bGVyXVt8ZGVidWddKTogUmVjZWl2ZXMgYSBGQVggZnJvbSB0aGUgY2hhbm5lbCBpbnRvIHRoZVxu IgorKyJnaXZlbiBmaWxlbmFtZS4gSWYgdGhlIGZpbGUgZXhpc3RzIGl0IHdpbGwgYmUgb3Zlcndy aXR0ZW4uIFRoZSBmaWxlXG4iCisrInNob3VsZCBiZSBpbiBUSUZGL0YgZm9ybWF0LlxuIgorKyJU aGUgXCJjYWxsZXJcIiBvcHRpb24gbWFrZXMgdGhlIGFwcGxpY2F0aW9uIGJlaGF2ZSBhcyBhIGNh bGxpbmcgbWFjaGluZSxcbiIKKysicmF0aGVyIHRoYW4gdGhlIGFuc3dlcmluZyBtYWNoaW5lLiBU aGUgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gYmVoYXZlIGFzXG4iCisrImFuIGFuc3dlcmluZyBt YWNoaW5lLlxuIgorKyJVc2VzIExPQ0FMU1RBVElPTklEIHRvIGlkZW50aWZ5IGl0c2VsZiB0byB0 aGUgcmVtb3RlIGVuZC5cbiIKKysiICAgICBMT0NBTEhFQURFUklORk8gdG8gZ2VuZXJhdGUgYSBo ZWFkZXIgbGluZSBvbiBlYWNoIHBhZ2UuXG4iCisrIlNldHMgUkVNT1RFU1RBVElPTklEIHRvIHRo ZSBzZW5kZXIgQ1NJRC5cbiIKKysiICAgICBGQVhQQUdFUyB0byB0aGUgbnVtYmVyIG9mIHBhZ2Vz IHJlY2VpdmVkLlxuIgorKyIgICAgIEZBWEJJVFJBVEUgdG8gdGhlIHRyYW5zbWl0aW9uIHJhdGUu XG4iCisrIiAgICAgRkFYUkVTT0xVVElPTiB0byB0aGUgcmVzb2x1dGlvbi5cbiIKKysiUmV0dXJu cyAtMSB3aGVuIHRoZSB1c2VyIGhhbmdzIHVwLlxuIgorKyJSZXR1cm5zIDAgb3RoZXJ3aXNlLlxu IjsKKysKKysjZGVmaW5lIE1BWF9CTE9DS19TSVpFIDI0MAorKworK3N0YXRpYyB2b2lkIHNwYW5f bWVzc2FnZShpbnQgbGV2ZWwsIGNvbnN0IGNoYXIgKm1zZykKKyt7CisrICAgIGludCBhc3RfbGV2 ZWw7CisrICAgIAorKyAgICBpZiAobGV2ZWwgPT0gU1BBTl9MT0dfV0FSTklORykKKysgICAgICAg IGFzdF9sZXZlbCA9IF9fTE9HX1dBUk5JTkc7CisrICAgIGVsc2UgaWYgKGxldmVsID09IFNQQU5f TE9HX1dBUk5JTkcpCisrICAgICAgICBhc3RfbGV2ZWwgPSBfX0xPR19XQVJOSU5HOworKyAgICBl bHNlCisrICAgICAgICBhc3RfbGV2ZWwgPSBfX0xPR19ERUJVRzsKKysgICAgYXN0X2xvZyhhc3Rf bGV2ZWwsIF9fRklMRV9fLCBfX0xJTkVfXywgX19QUkVUVFlfRlVOQ1RJT05fXywgbXNnKTsKKyt9 CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisrI2lmIDAKKytzdGF0aWMgdm9pZCB0MzBfZmx1 c2godDMwX3N0YXRlX3QgKnMsIGludCB3aGljaCkKKyt7CisrICAgIC8qIFRPRE86ICovCisrfQor Ky8qLSBFbmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKyNlbmRpZgorKworK3N0YXRpYyB2b2lkIHBoYXNlX2Vf aGFuZGxlcih0MzBfc3RhdGVfdCAqcywgdm9pZCAqdXNlcl9kYXRhLCBpbnQgcmVzdWx0KQorK3sK KysgICAgc3RydWN0IGFzdF9jaGFubmVsICpjaGFuOworKyAgICB0MzBfc3RhdHNfdCB0OworKyAg ICBjaGFyIGxvY2FsX2lkZW50WzIxXTsKKysgICAgY2hhciBmYXJfaWRlbnRbMjFdOworKyAgICBj aGFyIGJ1ZlsxMV07CisrICAgIAorKyAgICBjaGFuID0gKHN0cnVjdCBhc3RfY2hhbm5lbCAqKSB1 c2VyX2RhdGE7CisrICAgIGlmIChyZXN1bHQgPT0gVDMwX0VSUl9PSykKKysgICAgeworKyAgICAg ICAgdDMwX2dldF90cmFuc2Zlcl9zdGF0aXN0aWNzKHMsICZ0KTsKKysgICAgICAgIHQzMF9nZXRf ZmFyX2lkZW50KHMsIGZhcl9pZGVudCk7CisrICAgICAgICB0MzBfZ2V0X2xvY2FsX2lkZW50KHMs IGxvY2FsX2lkZW50KTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09XG4iKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiRmF4IHN1Y2Nlc3Nm dWxseSByZWNlaXZlZC5cbiIpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJSZW1vdGUg c3RhdGlvbiBpZDogJXNcbiIsIGZhcl9pZGVudCk7CisrICAgICAgICBhc3RfbG9nKExPR19ERUJV RywgIkxvY2FsIHN0YXRpb24gaWQ6ICAlc1xuIiwgbG9jYWxfaWRlbnQpOworKyAgICAgICAgYXN0 X2xvZyhMT0dfREVCVUcsICJQYWdlcyB0cmFuc2ZlcnJlZDogJWlcbiIsIHQucGFnZXNfdHJhbnNm ZXJyZWQpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJJbWFnZSByZXNvbHV0aW9uOiAg JWkgeCAlaVxuIiwgdC54X3Jlc29sdXRpb24sIHQueV9yZXNvbHV0aW9uKTsKKysgICAgICAgIGFz dF9sb2coTE9HX0RFQlVHLCAiVHJhbnNmZXIgUmF0ZTogICAgICVpXG4iLCB0LmJpdF9yYXRlKTsK KysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iKTsK KysgICAgICAgIG1hbmFnZXJfZXZlbnQoRVZFTlRfRkxBR19DQUxMLAorKyAgICAgICAgICAgICAg ICAgICAgICAiRmF4UmVjZWl2ZWQiLCAiQ2hhbm5lbDogJXNcbkV4dGVuOiAlc1xuQ2FsbGVySUQ6 ICVzXG5SZW1vdGVTdGF0aW9uSUQ6ICVzXG5Mb2NhbFN0YXRpb25JRDogJXNcblBhZ2VzVHJhbnNm ZXJyZWQ6ICVpXG5SZXNvbHV0aW9uOiAlaVxuVHJhbnNmZXJSYXRlOiAlaVxuRmlsZU5hbWU6ICVz XG4iLAorKyAgICAgICAgICAgICAgICAgICAgICBjaGFuLT5uYW1lLAorKyAgICAgICAgICAgICAg ICAgICAgICBjaGFuLT5leHRlbiwKKysgICAgICAgICAgICAgICAgICAgICAgKGNoYW4tPmNpZC5j aWRfbnVtKSAgPyAgY2hhbi0+Y2lkLmNpZF9udW0gIDogICIiLAorKyAgICAgICAgICAgICAgICAg ICAgICBmYXJfaWRlbnQsCisrICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX2lkZW50LAorKyAg ICAgICAgICAgICAgICAgICAgICB0LnBhZ2VzX3RyYW5zZmVycmVkLAorKyAgICAgICAgICAgICAg ICAgICAgICB0LnlfcmVzb2x1dGlvbiwKKysgICAgICAgICAgICAgICAgICAgICAgdC5iaXRfcmF0 ZSwKKysgICAgICAgICAgICAgICAgICAgICAgcy0+cnhfZmlsZSk7CisrICAgICAgICBwYnhfYnVp bHRpbl9zZXR2YXJfaGVscGVyKGNoYW4sICJSRU1PVEVTVEFUSU9OSUQiLCBmYXJfaWRlbnQpOwor KyAgICAgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVpIiwgdC5wYWdlc190cmFuc2Zl cnJlZCk7CisrICAgICAgICBwYnhfYnVpbHRpbl9zZXR2YXJfaGVscGVyKGNoYW4sICJGQVhQQUdF UyIsIGJ1Zik7CisrICAgICAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWkiLCB0Lnlf cmVzb2x1dGlvbik7CisrICAgICAgICBwYnhfYnVpbHRpbl9zZXR2YXJfaGVscGVyKGNoYW4sICJG QVhSRVNPTFVUSU9OIiwgYnVmKTsKKysgICAgICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1Ziks ICIlaSIsIHQuYml0X3JhdGUpOworKyAgICAgICAgcGJ4X2J1aWx0aW5fc2V0dmFyX2hlbHBlcihj aGFuLCAiRkFYQklUUkFURSIsIGJ1Zik7CisrICAgIH0KKysgICAgZWxzZQorKyAgICB7CisrICAg ICAgICBhc3RfbG9nKExPR19ERUJVRywgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7CisrICAg ICAgICBhc3RfbG9nKExPR19ERUJVRywgIkZheCByZWNlaXZlIG5vdCBzdWNjZXNzZnVsIC0gcmVz dWx0ICglZCkgJXMuXG4iLCByZXN1bHQsIHQzMF9jb21wbGV0aW9uX2NvZGVfdG9fc3RyKHJlc3Vs dCkpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICI9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1c biIpOworKyAgICB9CisrfQorKy8qLSBFbmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworKworK3N0YXRpYyB2b2lk IHBoYXNlX2RfaGFuZGxlcih0MzBfc3RhdGVfdCAqcywgdm9pZCAqdXNlcl9kYXRhLCBpbnQgcmVz dWx0KQorK3sKKysgICAgc3RydWN0IGFzdF9jaGFubmVsICpjaGFuOworKyAgICB0MzBfc3RhdHNf dCB0OworKyAgICAKKysgICAgY2hhbiA9IChzdHJ1Y3QgYXN0X2NoYW5uZWwgKikgdXNlcl9kYXRh OworKyAgICBpZiAocmVzdWx0KQorKyAgICB7CisrICAgICAgICB0MzBfZ2V0X3RyYW5zZmVyX3N0 YXRpc3RpY3MocywgJnQpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICI9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT1cbiIpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJQYWdlcyB0cmFu c2ZlcnJlZDogICVpXG4iLCB0LnBhZ2VzX3RyYW5zZmVycmVkKTsKKysgICAgICAgIGFzdF9sb2co TE9HX0RFQlVHLCAiSW1hZ2Ugc2l6ZTogICAgICAgICAlaSB4ICVpXG4iLCB0LndpZHRoLCB0Lmxl bmd0aCk7CisrICAgICAgICBhc3RfbG9nKExPR19ERUJVRywgIkltYWdlIHJlc29sdXRpb24gICAg JWkgeCAlaVxuIiwgdC54X3Jlc29sdXRpb24sIHQueV9yZXNvbHV0aW9uKTsKKysgICAgICAgIGFz dF9sb2coTE9HX0RFQlVHLCAiVHJhbnNmZXIgUmF0ZTogICAgICAlaVxuIiwgdC5iaXRfcmF0ZSk7 CisrICAgICAgICBhc3RfbG9nKExPR19ERUJVRywgIkJhZCByb3dzICAgICAgICAgICAgJWlcbiIs IHQuYmFkX3Jvd3MpOworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJMb25nZXN0IGJhZCBy b3cgcnVuICVpXG4iLCB0Lmxvbmdlc3RfYmFkX3Jvd19ydW4pOworKyAgICAgICAgYXN0X2xvZyhM T0dfREVCVUcsICJDb21wcmVzc2lvbiB0eXBlICAgICVpXG4iLCB0LmVuY29kaW5nKTsKKysgICAg ICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiSW1hZ2Ugc2l6ZSAoYnl0ZXMpICAlaVxuIiwgdC5pbWFn ZV9zaXplKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09XG4iKTsKKysgICAgfQorK30KKysvKi0gRW5kIG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKysKKytzdGF0aWMg aW50IHJ4ZmF4X2V4ZWMoc3RydWN0IGFzdF9jaGFubmVsICpjaGFuLCB2b2lkICpkYXRhKQorK3sK KysgICAgaW50IHJlcyA9IDA7CisrICAgIGNoYXIgdGVtcGxhdGVfZmlsZVsyNTZdOworKyAgICBj aGFyIHRhcmdldF9maWxlWzI1Nl07CisrICAgIGNoYXIgKnM7CisrICAgIGNoYXIgKnQ7CisrICAg IGNoYXIgKnY7CisrICAgIGNvbnN0IGNoYXIgKng7CisrICAgIGludCBvcHRpb247CisrICAgIGlu dCBsZW47CisrICAgIGludCBpOworKyAgICBmYXhfc3RhdGVfdCBmYXg7CisrICAgIGludCBjYWxs aW5nX3BhcnR5OworKyAgICBpbnQgdmVyYm9zZTsKKysgICAgaW50IHNhbXBsZXM7CisrCisrICAg IHN0cnVjdCBhc3RfbW9kdWxlX3VzZXIgKnU7CisrICAgIHN0cnVjdCBhc3RfZnJhbWUgKmluZiA9 IE5VTEw7CisrICAgIHN0cnVjdCBhc3RfZnJhbWUgb3V0ZjsKKysKKysgICAgaW50IG9yaWdpbmFs X3JlYWRfZm10OworKyAgICBpbnQgb3JpZ2luYWxfd3JpdGVfZm10OworKyAgICAKKysgICAgdWlu dDhfdCBfX2J1ZltzaXplb2YodWludDE2X3QpKk1BWF9CTE9DS19TSVpFICsgMipBU1RfRlJJRU5E TFlfT0ZGU0VUXTsKKysgICAgdWludDhfdCAqYnVmID0gX19idWYgKyBBU1RfRlJJRU5ETFlfT0ZG U0VUOworKworKyAgICBpZiAoY2hhbiA9PSBOVUxMKQorKyAgICB7CisrICAgICAgICBhc3RfbG9n KExPR19XQVJOSU5HLCAiRmF4IHJlY2VpdmUgY2hhbm5lbCBpcyBOVUxMLiBHaXZpbmcgdXAuXG4i KTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorKworKyAgICBzcGFuX3NldF9tZXNzYWdl X2hhbmRsZXIoc3Bhbl9tZXNzYWdlKTsKKysKKysgICAgLyogVGhlIG5leHQgZmV3IGxpbmVzIG9m IGNvZGUgcGFyc2Ugb3V0IHRoZSBmaWxlbmFtZSBhbmQgaGVhZGVyIGZyb20gdGhlIGlucHV0IHN0 cmluZyAqLworKyAgICBpZiAoZGF0YSA9PSBOVUxMKQorKyAgICB7CisrICAgICAgICAvKiBObyBk YXRhIGltcGxpZXMgbm8gZmlsZW5hbWUgb3IgYW55dGhpbmcgaXMgcHJlc2VudCAqLworKyAgICAg ICAgYXN0X2xvZyhMT0dfV0FSTklORywgIlJ4ZmF4IHJlcXVpcmVzIGFuIGFyZ3VtZW50IChmaWxl bmFtZSlcbiIpOworKyAgICAgICAgcmV0dXJuIC0xOworKyAgICB9CisrICAgIAorKyAgICBjYWxs aW5nX3BhcnR5ID0gRkFMU0U7CisrICAgIHZlcmJvc2UgPSBGQUxTRTsKKysgICAgdGFyZ2V0X2Zp bGVbMF0gPSAnXDAnOworKworKyAgICBmb3IgKG9wdGlvbiA9IDAsIHYgPSBzID0gZGF0YTsgIHY7 ICBvcHRpb24rKywgcysrKQorKyAgICB7CisrICAgICAgICB0ID0gczsKKysgICAgICAgIHYgPSBz dHJjaHIocywgJ3wnKTsKKysgICAgICAgIHMgPSAodikgID8gIHYgIDogIHMgKyBzdHJsZW4ocyk7 CisrICAgICAgICBzdHJuY3B5KChjaGFyICopIGJ1ZiwgdCwgcyAtIHQpOworKyAgICAgICAgYnVm W3MgLSB0XSA9ICdcMCc7CisrICAgICAgICBpZiAob3B0aW9uID09IDApCisrICAgICAgICB7Cisr ICAgICAgICAgICAgLyogVGhlIGZpcnN0IG9wdGlvbiBpcyBhbHdheXMgdGhlIGZpbGUgbmFtZSAq LworKyAgICAgICAgICAgIGxlbiA9IHMgLSB0OworKyAgICAgICAgICAgIGlmIChsZW4gPiAyNTUp CisrICAgICAgICAgICAgICAgIGxlbiA9IDI1NTsKKysgICAgICAgICAgICBzdHJuY3B5KHRhcmdl dF9maWxlLCB0LCBsZW4pOworKyAgICAgICAgICAgIHRhcmdldF9maWxlW2xlbl0gPSAnXDAnOwor KyAgICAgICAgICAgIC8qIEFsbG93IHRoZSB1c2Ugb2YgJWQgaW4gdGhlIGZpbGUgbmFtZSBmb3Ig YSB3aWxkIGNhcmQgb2Ygc29ydHMsIHRvCisrICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IGZp bGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgc2NoZW1lICovCisrICAgICAgICAgICAgaWYgKCh4 ID0gc3RyY2hyKHRhcmdldF9maWxlLCAnJScpKSAgJiYgIHhbMV0gPT0gJ2QnKQorKyAgICAgICAg ICAgIHsKKysgICAgICAgICAgICAgICAgc3RyY3B5KHRlbXBsYXRlX2ZpbGUsIHRhcmdldF9maWxl KTsKKysgICAgICAgICAgICAgICAgaSA9IDA7CisrICAgICAgICAgICAgICAgIGRvCisrICAgICAg ICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIHNucHJpbnRmKHRhcmdldF9maWxlLCAy NTYsIHRlbXBsYXRlX2ZpbGUsIDEpOworKyAgICAgICAgICAgICAgICAgICAgaSsrOworKyAgICAg ICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIHdoaWxlIChhc3RfZmlsZWV4aXN0cyh0YXJn ZXRfZmlsZSwgIiIsIGNoYW4tPmxhbmd1YWdlKSAhPSAtMSk7CisrICAgICAgICAgICAgfQorKyAg ICAgICAgfQorKyAgICAgICAgZWxzZSBpZiAoc3RybmNtcCgiY2FsbGVyIiwgdCwgcyAtIHQpID09 IDApCisrICAgICAgICB7CisrICAgICAgICAgICAgY2FsbGluZ19wYXJ0eSA9IFRSVUU7CisrICAg ICAgICB9CisrICAgICAgICBlbHNlIGlmIChzdHJuY21wKCJkZWJ1ZyIsIHQsIHMgLSB0KSA9PSAw KQorKyAgICAgICAgeworKyAgICAgICAgICAgIHZlcmJvc2UgPSBUUlVFOworKyAgICAgICAgfQor KyAgICB9CisrCisrICAgIC8qIERvbmUgcGFyc2luZyAqLworKworKyAgICB1ID0gYXN0X21vZHVs ZV91c2VyX2FkZChjaGFuKTsKKysKKysgICAgaWYgKGNoYW4tPl9zdGF0ZSAhPSBBU1RfU1RBVEVf VVApCisrICAgIHsKKysgICAgICAgIC8qIFNob3VsZG4ndCBuZWVkIHRoaXMsIGJ1dCBjaGVja2lu ZyB0byBzZWUgaWYgY2hhbm5lbCBpcyBhbHJlYWR5IGFuc3dlcmVkCisrICAgICAgICAgKiBUaGVv cmV0aWNhbGx5IGFzdGVyaXNrIHNob3VsZCBhbHJlYWR5IGhhdmUgYW5zd2VyZWQgYmVmb3JlIHJ1 bm5pbmcgdGhlIGFwcCAqLworKyAgICAgICAgcmVzID0gYXN0X2Fuc3dlcihjaGFuKTsKKysgICAg fQorKyAgICAKKysgICAgaWYgKCFyZXMpCisrICAgIHsKKysgICAgICAgIG9yaWdpbmFsX3JlYWRf Zm10ID0gY2hhbi0+cmVhZGZvcm1hdDsKKysgICAgICAgIGlmIChvcmlnaW5hbF9yZWFkX2ZtdCAh PSBBU1RfRk9STUFUX1NMSU5FQVIpCisrICAgICAgICB7CisrICAgICAgICAgICAgcmVzID0gYXN0 X3NldF9yZWFkX2Zvcm1hdChjaGFuLCBBU1RfRk9STUFUX1NMSU5FQVIpOworKyAgICAgICAgICAg IGlmIChyZXMgPCAwKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgYXN0X2xvZyhM T0dfV0FSTklORywgIlVuYWJsZSB0byBzZXQgdG8gbGluZWFyIHJlYWQgbW9kZSwgZ2l2aW5nIHVw XG4iKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworKyAgICAgICAgICAgIH0KKysgICAg ICAgIH0KKysgICAgICAgIG9yaWdpbmFsX3dyaXRlX2ZtdCA9IGNoYW4tPndyaXRlZm9ybWF0Owor KyAgICAgICAgaWYgKG9yaWdpbmFsX3dyaXRlX2ZtdCAhPSBBU1RfRk9STUFUX1NMSU5FQVIpCisr ICAgICAgICB7CisrICAgICAgICAgICAgcmVzID0gYXN0X3NldF93cml0ZV9mb3JtYXQoY2hhbiwg QVNUX0ZPUk1BVF9TTElORUFSKTsKKysgICAgICAgICAgICBpZiAocmVzIDwgMCkKKysgICAgICAg ICAgICB7CisrICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8g c2V0IHRvIGxpbmVhciB3cml0ZSBtb2RlLCBnaXZpbmcgdXBcbiIpOworKyAgICAgICAgICAgICAg ICByZXMgPSBhc3Rfc2V0X3JlYWRfZm9ybWF0KGNoYW4sIG9yaWdpbmFsX3JlYWRfZm10KTsKKysg ICAgICAgICAgICAgICAgaWYgKHJlcykKKysgICAgICAgICAgICAgICAgICAgIGFzdF9sb2coTE9H X1dBUk5JTkcsICJVbmFibGUgdG8gcmVzdG9yZSByZWFkIGZvcm1hdCBvbiAnJXMnXG4iLCBjaGFu LT5uYW1lKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworKyAgICAgICAgICAgIH0KKysg ICAgICAgIH0KKysgICAgICAgIGZheF9pbml0KCZmYXgsIGNhbGxpbmdfcGFydHkpOworKyAgICAg ICAgaWYgKHZlcmJvc2UpCisrICAgICAgICAgICAgZmF4LmxvZ2dpbmcubGV2ZWwgPSBTUEFOX0xP R19TSE9XX1NFVkVSSVRZIHwgU1BBTl9MT0dfU0hPV19QUk9UT0NPTCB8IFNQQU5fTE9HX0ZMT1c7 CisrICAgICAgICB4ID0gcGJ4X2J1aWx0aW5fZ2V0dmFyX2hlbHBlcihjaGFuLCAiTE9DQUxTVEFU SU9OSUQiKTsKKysgICAgICAgIGlmICh4ICAmJiAgeFswXSkKKysgICAgICAgICAgICB0MzBfc2V0 X2xvY2FsX2lkZW50KCZmYXgudDMwX3N0YXRlLCB4KTsKKysgICAgICAgIHggPSBwYnhfYnVpbHRp bl9nZXR2YXJfaGVscGVyKGNoYW4sICJMT0NBTEhFQURFUklORk8iKTsKKysgICAgICAgIGlmICh4 ICAmJiAgeFswXSkKKysgICAgICAgICAgICB0MzBfc2V0X2hlYWRlcl9pbmZvKCZmYXgudDMwX3N0 YXRlLCB4KTsKKysgICAgICAgIHQzMF9zZXRfcnhfZmlsZSgmZmF4LnQzMF9zdGF0ZSwgdGFyZ2V0 X2ZpbGUsIC0xKTsKKysgICAgICAgIC8vdDMwX3NldF9waGFzZV9iX2hhbmRsZXIoJmZheC50MzBf c3RhdGUsIHBoYXNlX2JfaGFuZGxlciwgY2hhbik7CisrICAgICAgICB0MzBfc2V0X3BoYXNlX2Rf aGFuZGxlcigmZmF4LnQzMF9zdGF0ZSwgcGhhc2VfZF9oYW5kbGVyLCBjaGFuKTsKKysgICAgICAg IHQzMF9zZXRfcGhhc2VfZV9oYW5kbGVyKCZmYXgudDMwX3N0YXRlLCBwaGFzZV9lX2hhbmRsZXIs IGNoYW4pOworKyAgICAgICAgdDMwX3NldF9lY21fY2FwYWJpbGl0eSgmZmF4LnQzMF9zdGF0ZSwg VFJVRSk7CisrICAgICAgICB0MzBfc2V0X3N1cHBvcnRlZF9jb21wcmVzc2lvbnMoJmZheC50MzBf c3RhdGUsIFQzMF9TVVBQT1JUX1Q0XzFEX0NPTVBSRVNTSU9OIHwgVDMwX1NVUFBPUlRfVDRfMkRf Q09NUFJFU1NJT04gfCBUMzBfU1VQUE9SVF9UNl9DT01QUkVTU0lPTik7CisrICAgICAgICB3aGls ZSAoYXN0X3dhaXRmb3IoY2hhbiwgLTEpID4gLTEpCisrICAgICAgICB7CisrICAgICAgICAgICAg aW5mID0gYXN0X3JlYWQoY2hhbik7CisrICAgICAgICAgICAgaWYgKGluZiA9PSBOVUxMKQorKyAg ICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgcmVzID0gLTE7CisrICAgICAgICAgICAgICAg IGJyZWFrOworKyAgICAgICAgICAgIH0KKysgICAgICAgICAgICBpZiAoaW5mLT5mcmFtZXR5cGUg PT0gQVNUX0ZSQU1FX1ZPSUNFKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgaWYg KGZheF9yeCgmZmF4LCBpbmYtPmRhdGEsIGluZi0+c2FtcGxlcykpCisrICAgICAgICAgICAgICAg ICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgc2FtcGxlcyA9IChpbmYtPnNhbXBsZXMgPD0g TUFYX0JMT0NLX1NJWkUpICA/ICBpbmYtPnNhbXBsZXMgIDogIE1BWF9CTE9DS19TSVpFOworKyAg ICAgICAgICAgICAgICBsZW4gPSBmYXhfdHgoJmZheCwgKGludDE2X3QgKikgJmJ1ZltBU1RfRlJJ RU5ETFlfT0ZGU0VUXSwgc2FtcGxlcyk7CisrICAgICAgICAgICAgICAgIGlmIChsZW4pCisrICAg ICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIG1lbXNldCgmb3V0ZiwgMCwgc2l6 ZW9mKG91dGYpKTsKKysgICAgICAgICAgICAgICAgICAgIG91dGYuZnJhbWV0eXBlID0gQVNUX0ZS QU1FX1ZPSUNFOworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5zdWJjbGFzcyA9IEFTVF9GT1JN QVRfU0xJTkVBUjsKKysgICAgICAgICAgICAgICAgICAgIG91dGYuZGF0YWxlbiA9IGxlbipzaXpl b2YoaW50MTZfdCk7CisrICAgICAgICAgICAgICAgICAgICBvdXRmLnNhbXBsZXMgPSBsZW47Cisr ICAgICAgICAgICAgICAgICAgICBvdXRmLmRhdGEgPSAmYnVmW0FTVF9GUklFTkRMWV9PRkZTRVRd OworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5vZmZzZXQgPSBBU1RfRlJJRU5ETFlfT0ZGU0VU OworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5zcmMgPSAiUnhGQVgiOworKyAgICAgICAgICAg ICAgICAgICAgaWYgKGFzdF93cml0ZShjaGFuLCAmb3V0ZikgPCAwKQorKyAgICAgICAgICAgICAg ICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJV bmFibGUgdG8gd3JpdGUgZnJhbWUgdG8gY2hhbm5lbDsgJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7 CisrICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICAgICAgICB9 CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgYXN0X2Zy ZnJlZShpbmYpOworKyAgICAgICAgfQorKyAgICAgICAgaWYgKGluZiA9PSBOVUxMKQorKyAgICAg ICAgeworKyAgICAgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiR290IGhhbmd1cFxuIik7Cisr ICAgICAgICAgICAgcmVzID0gLTE7CisrICAgICAgICB9CisrICAgICAgICBpZiAob3JpZ2luYWxf cmVhZF9mbXQgIT0gQVNUX0ZPUk1BVF9TTElORUFSKQorKyAgICAgICAgeworKyAgICAgICAgICAg IHJlcyA9IGFzdF9zZXRfcmVhZF9mb3JtYXQoY2hhbiwgb3JpZ2luYWxfcmVhZF9mbXQpOworKyAg ICAgICAgICAgIGlmIChyZXMpCisrICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcs ICJVbmFibGUgdG8gcmVzdG9yZSByZWFkIGZvcm1hdCBvbiAnJXMnXG4iLCBjaGFuLT5uYW1lKTsK KysgICAgICAgIH0KKysgICAgICAgIGlmIChvcmlnaW5hbF93cml0ZV9mbXQgIT0gQVNUX0ZPUk1B VF9TTElORUFSKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfd3JpdGVf Zm9ybWF0KGNoYW4sIG9yaWdpbmFsX3dyaXRlX2ZtdCk7CisrICAgICAgICAgICAgaWYgKHJlcykK KysgICAgICAgICAgICAgICAgYXN0X2xvZyhMT0dfV0FSTklORywgIlVuYWJsZSB0byByZXN0b3Jl IHdyaXRlIGZvcm1hdCBvbiAnJXMnXG4iLCBjaGFuLT5uYW1lKTsKKysgICAgICAgIH0KKysgICAg ICAgIHQzMF90ZXJtaW5hdGUoJmZheC50MzBfc3RhdGUpOworKyAgICB9CisrICAgIGVsc2UKKysg ICAgeworKyAgICAgICAgYXN0X2xvZyhMT0dfV0FSTklORywgIkNvdWxkIG5vdCBhbnN3ZXIgY2hh bm5lbCAnJXMnXG4iLCBjaGFuLT5uYW1lKTsKKysgICAgfQorKyAgICBhc3RfbW9kdWxlX3VzZXJf cmVtb3ZlKHUpOworKyAgICByZXR1cm4gcmVzOworK30KKysvKi0gRW5kIG9mIGZ1bmN0aW9uIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8K KysKKytzdGF0aWMgaW50IHVubG9hZF9tb2R1bGUodm9pZCkKKyt7CisrCWludCByZXM7CisrCisr CWFzdF9tb2R1bGVfdXNlcl9oYW5ndXBfYWxsKCk7CisrCisrCXJlcyA9IGFzdF91bnJlZ2lzdGVy X2FwcGxpY2F0aW9uKGFwcCk7CQorKwkKKysKKysJcmV0dXJuIHJlczsKKyt9CisrLyotIEVuZCBv ZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSovCisrCisrc3RhdGljIGludCBsb2FkX21vZHVsZSh2b2lkKQorK3sKKysJcmV0 dXJuIGFzdF9yZWdpc3Rlcl9hcHBsaWNhdGlvbihhcHAsIHJ4ZmF4X2V4ZWMsIHN5bm9wc2lzLCBk ZXNjcmlwKTsKKyt9CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisrQVNUX01PRFVMRV9JTkZP X1NUQU5EQVJEKEFTVEVSSVNLX0dQTF9LRVksICJUcml2aWFsIEZBWCBSZWNlaXZlIEFwcGxpY2F0 aW9uIik7CisrCisrLyotIEVuZCBvZiBmaWxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmRpZmYgLXJ1TiBhc3Rlcmlzay5vcmln L2ZpbGVzL3BhdGNoLWFwcHM6OmFwcF90eGZheC5jIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWFwcHM6 OmFwcF90eGZheC5jCi0tLSBhc3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLWFwcHM6OmFwcF90eGZh eC5jCTE5NzAtMDEtMDEgMDU6MDA6MDAuMDAwMDAwMDAwICswNTAwCisrKyBhc3Rlcmlzay9maWxl cy9wYXRjaC1hcHBzOjphcHBfdHhmYXguYwkyMDA3LTA3LTIzIDE1OjAxOjU3LjAwMDAwMDAwMCAr MDYwMApAQCAtMCwwICsxLDMwOSBAQAorLS0tIGFwcHMvYXBwX3R4ZmF4LmMub3JpZwlUdWUgSnVs IDEwIDE1OjI4OjEzIDIwMDcKKysrKyBhcHBzL2FwcF90eGZheC5jCVR1ZSBKdWwgMTAgMTU6Mjc6 MzcgMjAwNworQEAgLTAsMCArMSwzMDYgQEAKKysvKgorKyAqIEFzdGVyaXNrIC0tIEEgdGVsZXBo b255IHRvb2xraXQgZm9yIExpbnV4LgorKyAqCisrICogVHJpdmlhbCBhcHBsaWNhdGlvbiB0byBz ZW5kIGEgVElGRiBmaWxlIGFzIGEgRkFYCisrICogCisrICogQ29weXJpZ2h0IChDKSAyMDAzLCBT dGV2ZSBVbmRlcndvb2QKKysgKgorKyAqIFN0ZXZlIFVuZGVyd29vZCA8c3RldmV1QGNvcHBpY2Uu b3JnPgorKyAqCisrICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUsIGRpc3RyaWJ1dGVk IHVuZGVyIHRoZSB0ZXJtcyBvZgorKyAqIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor KyAqLworKworKy8qKiogTU9EVUxFSU5GTworKyAgICAgICAgIDxkZXBlbmQ+c3BhbmRzcDwvZGVw ZW5kPgorKyoqKi8KKysgCisrI2luY2x1ZGUgImFzdGVyaXNrLmgiCisrCisrQVNURVJJU0tfRklM RV9WRVJTSU9OKF9fRklMRV9fLCAiJFJldmlzaW9uOiQiKQorKworKyNpbmNsdWRlIDxzdHJpbmcu aD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUg PGludHR5cGVzLmg+CisrI2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4K KysjaW5jbHVkZSA8dGlmZmlvLmg+CisrCisrI2luY2x1ZGUgPHNwYW5kc3AuaD4KKysKKysjaW5j bHVkZSAiYXN0ZXJpc2svbG9jay5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9maWxlLmgiCisrI2lu Y2x1ZGUgImFzdGVyaXNrL2xvZ2dlci5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9jaGFubmVsLmgi CisrI2luY2x1ZGUgImFzdGVyaXNrL3BieC5oIgorKyNpbmNsdWRlICJhc3Rlcmlzay9tb2R1bGUu aCIKKysKKysjaWZuZGVmIEFTVF9NT0RVTEUKKysjZGVmaW5lIEFTVF9NT0RVTEUgImFwcF90eGZh eCIKKysjZW5kaWYKKysKKytzdGF0aWMgY2hhciAqYXBwID0gIlR4RkFYIjsKKysKKytzdGF0aWMg Y2hhciAqc3lub3BzaXMgPSAiU2VuZCBhIEZBWCBmaWxlIjsKKysKKytzdGF0aWMgY2hhciAqZGVz Y3JpcCA9IAorKyIgIFR4RkFYKGZpbGVuYW1lW3xjYWxsZXJdW3xkZWJ1Z10pOiAgU2VuZCBhIGdp dmVuIFRJRkYgZmlsZSB0byB0aGUgY2hhbm5lbCBhcyBhIEZBWC5cbiIKKysiVGhlIFwiY2FsbGVy XCIgb3B0aW9uIG1ha2VzIHRoZSBhcHBsaWNhdGlvbiBiZWhhdmUgYXMgYSBjYWxsaW5nIG1hY2hp bmUsXG4iCisrInJhdGhlciB0aGFuIHRoZSBhbnN3ZXJpbmcgbWFjaGluZS4gVGhlIGRlZmF1bHQg YmVoYXZpb3VyIGlzIHRvIGJlaGF2ZSBhc1xuIgorKyJhbiBhbnN3ZXJpbmcgbWFjaGluZS5cbiIK KysiVXNlcyBMT0NBTFNUQVRJT05JRCB0byBpZGVudGlmeSBpdHNlbGYgdG8gdGhlIHJlbW90ZSBl bmQuXG4iCisrIiAgICAgTE9DQUxIRUFERVJJTkZPIHRvIGdlbmVyYXRlIGEgaGVhZGVyIGxpbmUg b24gZWFjaCBwYWdlLlxuIgorKyJTZXRzIFJFTU9URVNUQVRJT05JRCB0byB0aGUgcmVjZWl2ZXIg Q1NJRC5cbiIKKysiUmV0dXJucyAtMSB3aGVuIHRoZSB1c2VyIGhhbmdzIHVwLCBvciBpZiB0aGUg ZmlsZSBkb2VzIG5vdCBleGlzdC5cbiIKKysiUmV0dXJucyAwIG90aGVyd2lzZS5cbiI7CisrCisr I2RlZmluZSBNQVhfQkxPQ0tfU0laRSAyNDAKKysKKytzdGF0aWMgdm9pZCBzcGFuX21lc3NhZ2Uo aW50IGxldmVsLCBjb25zdCBjaGFyICptc2cpCisreworKyAgICBpbnQgYXN0X2xldmVsOworKyAg ICAKKysgICAgaWYgKGxldmVsID09IFNQQU5fTE9HX1dBUk5JTkcpCisrICAgICAgICBhc3RfbGV2 ZWwgPSBfX0xPR19XQVJOSU5HOworKyAgICBlbHNlIGlmIChsZXZlbCA9PSBTUEFOX0xPR19XQVJO SU5HKQorKyAgICAgICAgYXN0X2xldmVsID0gX19MT0dfV0FSTklORzsKKysgICAgZWxzZQorKyAg ICAgICAgYXN0X2xldmVsID0gX19MT0dfREVCVUc7CisrICAgIGFzdF9sb2coYXN0X2xldmVsLCBf X0ZJTEVfXywgX19MSU5FX18sIF9fUFJFVFRZX0ZVTkNUSU9OX18sIG1zZyk7CisrfQorKy8qLSBF bmQgb2YgZnVuY3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0qLworKworKyNpZiAwCisrc3RhdGljIHZvaWQgdDMwX2ZsdXNoKHQzMF9z dGF0ZV90ICpzLCBpbnQgd2hpY2gpCisreworKyAgICAvKiBUT0RPOiAqLworK30KKysvKi0gRW5k IG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKi8KKysjZW5kaWYKKysKKytzdGF0aWMgdm9pZCBwaGFzZV9lX2hhbmRsZXIo dDMwX3N0YXRlX3QgKnMsIHZvaWQgKnVzZXJfZGF0YSwgaW50IHJlc3VsdCkKKyt7CisrICAgIHN0 cnVjdCBhc3RfY2hhbm5lbCAqY2hhbjsKKysgICAgY2hhciBmYXJfaWRlbnRbMjFdOworKyAgICAK KysgICAgY2hhbiA9IChzdHJ1Y3QgYXN0X2NoYW5uZWwgKikgdXNlcl9kYXRhOworKyAgICBpZiAo cmVzdWx0ID09IFQzMF9FUlJfT0spCisrICAgIHsKKysgICAgICAgIHQzMF9nZXRfZmFyX2lkZW50 KHMsIGZhcl9pZGVudCk7CisrICAgICAgICBwYnhfYnVpbHRpbl9zZXR2YXJfaGVscGVyKGNoYW4s ICJSRU1PVEVTVEFUSU9OSUQiLCBmYXJfaWRlbnQpOworKyAgICB9CisrICAgIGVsc2UKKysgICAg eworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICI9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIp OworKyAgICAgICAgYXN0X2xvZyhMT0dfREVCVUcsICJGYXggc2VuZCBub3Qgc3VjY2Vzc2Z1bCAt IHJlc3VsdCAoJWQpICVzLlxuIiwgcmVzdWx0LCB0MzBfY29tcGxldGlvbl9jb2RlX3RvX3N0cihy ZXN1bHQpKTsKKysgICAgICAgIGFzdF9sb2coTE9HX0RFQlVHLCAiPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09XG4iKTsKKysgICAgfQorK30KKysvKi0gRW5kIG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKysKKytzdGF0aWMg aW50IHR4ZmF4X2V4ZWMoc3RydWN0IGFzdF9jaGFubmVsICpjaGFuLCB2b2lkICpkYXRhKQorK3sK KysgICAgaW50IHJlcyA9IDA7CisrICAgIGNoYXIgc291cmNlX2ZpbGVbMjU2XTsKKysgICAgY2hh ciAqczsKKysgICAgY2hhciAqdDsKKysgICAgY2hhciAqdjsKKysgICAgY29uc3QgY2hhciAqeDsK KysgICAgaW50IG9wdGlvbjsKKysgICAgaW50IGxlbjsKKysgICAgZmF4X3N0YXRlX3QgZmF4Owor KyAgICBpbnQgY2FsbGluZ19wYXJ0eTsKKysgICAgaW50IHZlcmJvc2U7CisrICAgIGludCBzYW1w bGVzOworKyAgICAKKysgICAgc3RydWN0IGFzdF9tb2R1bGVfdXNlciAqdTsKKysgICAgc3RydWN0 IGFzdF9mcmFtZSAqaW5mID0gTlVMTDsKKysgICAgc3RydWN0IGFzdF9mcmFtZSBvdXRmOworKwor KyAgICBpbnQgb3JpZ2luYWxfcmVhZF9mbXQ7CisrICAgIGludCBvcmlnaW5hbF93cml0ZV9mbXQ7 CisrICAgIAorKyAgICB1aW50OF90IF9fYnVmW3NpemVvZih1aW50MTZfdCkqTUFYX0JMT0NLX1NJ WkUgKyAyKkFTVF9GUklFTkRMWV9PRkZTRVRdOworKyAgICB1aW50OF90ICpidWYgPSBfX2J1ZiAr IEFTVF9GUklFTkRMWV9PRkZTRVQ7CisrCisrICAgIGlmIChjaGFuID09IE5VTEwpCisrICAgIHsK KysgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJGYXggdHJhbnNtaXQgY2hhbm5lbCBpcyBO VUxMLiBHaXZpbmcgdXAuXG4iKTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorKworKyAg ICBzcGFuX3NldF9tZXNzYWdlX2hhbmRsZXIoc3Bhbl9tZXNzYWdlKTsKKysKKysgICAgLyogVGhl IG5leHQgZmV3IGxpbmVzIG9mIGNvZGUgcGFyc2Ugb3V0IHRoZSBmaWxlbmFtZSBhbmQgaGVhZGVy IGZyb20gdGhlIGlucHV0IHN0cmluZyAqLworKyAgICBpZiAoZGF0YSA9PSBOVUxMKQorKyAgICB7 CisrICAgICAgICAvKiBObyBkYXRhIGltcGxpZXMgbm8gZmlsZW5hbWUgb3IgYW55dGhpbmcgaXMg cHJlc2VudCAqLworKyAgICAgICAgYXN0X2xvZyhMT0dfV0FSTklORywgIlR4ZmF4IHJlcXVpcmVz IGFuIGFyZ3VtZW50IChmaWxlbmFtZSlcbiIpOworKyAgICAgICAgcmV0dXJuIC0xOworKyAgICB9 CisrICAgIAorKyAgICBjYWxsaW5nX3BhcnR5ID0gRkFMU0U7CisrICAgIHZlcmJvc2UgPSBGQUxT RTsKKysgICAgc291cmNlX2ZpbGVbMF0gPSAnXDAnOyAKKysKKysgICAgZm9yIChvcHRpb24gPSAw LCB2ID0gcyA9IGRhdGE7ICB2OyAgb3B0aW9uKyssIHMrKykKKysgICAgeworKyAgICAgICAgdCA9 IHM7CisrICAgICAgICB2ID0gc3RyY2hyKHMsICd8Jyk7CisrICAgICAgICBzID0gKHYpICA/ICB2 ICA6ICBzICsgc3RybGVuKHMpOworKyAgICAgICAgc3RybmNweSgoY2hhciAqKSBidWYsIHQsIHMg LSB0KTsKKysgICAgICAgIGJ1ZltzIC0gdF0gPSAnXDAnOworKyAgICAgICAgaWYgKG9wdGlvbiA9 PSAwKQorKyAgICAgICAgeworKyAgICAgICAgICAgIC8qIFRoZSBmaXJzdCBvcHRpb24gaXMgYWx3 YXlzIHRoZSBmaWxlIG5hbWUgKi8KKysgICAgICAgICAgICBsZW4gPSBzIC0gdDsKKysgICAgICAg ICAgICBpZiAobGVuID4gMjU1KQorKyAgICAgICAgICAgICAgICBsZW4gPSAyNTU7CisrICAgICAg ICAgICAgc3RybmNweShzb3VyY2VfZmlsZSwgdCwgbGVuKTsKKysgICAgICAgICAgICBzb3VyY2Vf ZmlsZVtsZW5dID0gJ1wwJzsKKysgICAgICAgIH0KKysgICAgICAgIGVsc2UgaWYgKHN0cm5jbXAo ImNhbGxlciIsIHQsIHMgLSB0KSA9PSAwKQorKyAgICAgICAgeworKyAgICAgICAgICAgIGNhbGxp bmdfcGFydHkgPSBUUlVFOworKyAgICAgICAgfQorKyAgICAgICAgZWxzZSBpZiAoc3RybmNtcCgi ZGVidWciLCB0LCBzIC0gdCkgPT0gMCkKKysgICAgICAgIHsKKysgICAgICAgICAgICB2ZXJib3Nl ID0gVFJVRTsKKysgICAgICAgIH0KKysgICAgfQorKworKyAgICAvKiBEb25lIHBhcnNpbmcgKi8K KysKKysgICAgdSA9IGFzdF9tb2R1bGVfdXNlcl9hZGQoY2hhbik7CisrCisrICAgIGlmIChjaGFu LT5fc3RhdGUgIT0gQVNUX1NUQVRFX1VQKQorKyAgICB7CisrICAgICAgICAvKiBTaG91bGRuJ3Qg bmVlZCB0aGlzLCBidXQgY2hlY2tpbmcgdG8gc2VlIGlmIGNoYW5uZWwgaXMgYWxyZWFkeSBhbnN3 ZXJlZAorKyAgICAgICAgICogVGhlb3JldGljYWxseSBhc3RlcmlzayBzaG91bGQgYWxyZWFkeSBo YXZlIGFuc3dlcmVkIGJlZm9yZSBydW5uaW5nIHRoZSBhcHAgKi8KKysgICAgICAgIHJlcyA9IGFz dF9hbnN3ZXIoY2hhbik7CisrICAgIH0KKysgICAgCisrICAgIGlmICghcmVzKQorKyAgICB7Cisr ICAgICAgICBvcmlnaW5hbF9yZWFkX2ZtdCA9IGNoYW4tPnJlYWRmb3JtYXQ7CisrICAgICAgICBp ZiAob3JpZ2luYWxfcmVhZF9mbXQgIT0gQVNUX0ZPUk1BVF9TTElORUFSKQorKyAgICAgICAgewor KyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfcmVhZF9mb3JtYXQoY2hhbiwgQVNUX0ZPUk1BVF9T TElORUFSKTsKKysgICAgICAgICAgICBpZiAocmVzIDwgMCkKKysgICAgICAgICAgICB7CisrICAg ICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8gc2V0IHRvIGxpbmVh ciByZWFkIG1vZGUsIGdpdmluZyB1cFxuIik7CisrICAgICAgICAgICAgICAgIHJldHVybiAtMTsK KysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgICAgICBvcmlnaW5hbF93cml0ZV9mbXQg PSBjaGFuLT53cml0ZWZvcm1hdDsKKysgICAgICAgIGlmIChvcmlnaW5hbF93cml0ZV9mbXQgIT0g QVNUX0ZPUk1BVF9TTElORUFSKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9z ZXRfd3JpdGVfZm9ybWF0KGNoYW4sIEFTVF9GT1JNQVRfU0xJTkVBUik7CisrICAgICAgICAgICAg aWYgKHJlcyA8IDApCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBhc3RfbG9nKExP R19XQVJOSU5HLCAiVW5hYmxlIHRvIHNldCB0byBsaW5lYXIgd3JpdGUgbW9kZSwgZ2l2aW5nIHVw XG4iKTsKKysgICAgICAgICAgICAgICAgcmVzID0gYXN0X3NldF9yZWFkX2Zvcm1hdChjaGFuLCBv cmlnaW5hbF9yZWFkX2ZtdCk7CisrICAgICAgICAgICAgICAgIGlmIChyZXMpCisrICAgICAgICAg ICAgICAgICAgICBhc3RfbG9nKExPR19XQVJOSU5HLCAiVW5hYmxlIHRvIHJlc3RvcmUgcmVhZCBm b3JtYXQgb24gJyVzJ1xuIiwgY2hhbi0+bmFtZSk7CisrICAgICAgICAgICAgICAgIHJldHVybiAt MTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgICAgICBmYXhfaW5pdCgmZmF4LCBj YWxsaW5nX3BhcnR5KTsKKysgICAgICAgIGlmICh2ZXJib3NlKQorKwkgICAgZmF4LmxvZ2dpbmcu bGV2ZWwgPSBTUEFOX0xPR19TSE9XX1NFVkVSSVRZIHwgU1BBTl9MT0dfU0hPV19QUk9UT0NPTCB8 IFNQQU5fTE9HX0ZMT1c7CisrCisrICAgICAgICB4ID0gcGJ4X2J1aWx0aW5fZ2V0dmFyX2hlbHBl cihjaGFuLCAiTE9DQUxTVEFUSU9OSUQiKTsKKysgICAgICAgIGlmICh4ICAmJiAgeFswXSkKKysg ICAgICAgICAgICB0MzBfc2V0X2xvY2FsX2lkZW50KCZmYXgudDMwX3N0YXRlLCB4KTsKKysgICAg ICAgIHggPSBwYnhfYnVpbHRpbl9nZXR2YXJfaGVscGVyKGNoYW4sICJMT0NBTEhFQURFUklORk8i KTsKKysgICAgICAgIGlmICh4ICAmJiAgeFswXSkKKysgICAgICAgICAgICB0MzBfc2V0X2hlYWRl cl9pbmZvKCZmYXgudDMwX3N0YXRlLCB4KTsKKysgICAgICAgIHQzMF9zZXRfdHhfZmlsZSgmZmF4 LnQzMF9zdGF0ZSwgc291cmNlX2ZpbGUsIC0xLCAtMSk7CisrICAgICAgICAvL3QzMF9zZXRfcGhh c2VfYl9oYW5kbGVyKCZmYXgudDMwX3N0YXRlLCBwaGFzZV9iX2hhbmRsZXIsIGNoYW4pOworKyAg ICAgICAgLy90MzBfc2V0X3BoYXNlX2RfaGFuZGxlcigmZmF4LnQzMF9zdGF0ZSwgcGhhc2VfZF9o YW5kbGVyLCBjaGFuKTsKKysgICAgICAgIHQzMF9zZXRfcGhhc2VfZV9oYW5kbGVyKCZmYXgudDMw X3N0YXRlLCBwaGFzZV9lX2hhbmRsZXIsIGNoYW4pOworKyAgICAgICAgdDMwX3NldF9lY21fY2Fw YWJpbGl0eSgmZmF4LnQzMF9zdGF0ZSwgVFJVRSk7CisrICAgICAgICB0MzBfc2V0X3N1cHBvcnRl ZF9jb21wcmVzc2lvbnMoJmZheC50MzBfc3RhdGUsIFQzMF9TVVBQT1JUX1Q0XzFEX0NPTVBSRVNT SU9OIHwgVDMwX1NVUFBPUlRfVDRfMkRfQ09NUFJFU1NJT04gfCBUMzBfU1VQUE9SVF9UNl9DT01Q UkVTU0lPTik7CisrICAgICAgICB3aGlsZSAoYXN0X3dhaXRmb3IoY2hhbiwgLTEpID4gLTEpCisr ICAgICAgICB7CisrICAgICAgICAgICAgaW5mID0gYXN0X3JlYWQoY2hhbik7CisrICAgICAgICAg ICAgaWYgKGluZiA9PSBOVUxMKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgcmVz ID0gLTE7CisrICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIH0KKysgICAgICAg ICAgICBpZiAoaW5mLT5mcmFtZXR5cGUgPT0gQVNUX0ZSQU1FX1ZPSUNFKQorKyAgICAgICAgICAg IHsKKysgICAgICAgICAgICAgICAgaWYgKGZheF9yeCgmZmF4LCBpbmYtPmRhdGEsIGluZi0+c2Ft cGxlcykpCisrICAgICAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgc2Ft cGxlcyA9IChpbmYtPnNhbXBsZXMgPD0gTUFYX0JMT0NLX1NJWkUpICA/ICBpbmYtPnNhbXBsZXMg IDogIE1BWF9CTE9DS19TSVpFOworKyAgICAgICAgICAgICAgICBsZW4gPSBmYXhfdHgoJmZheCwg KGludDE2X3QgKikgJmJ1ZltBU1RfRlJJRU5ETFlfT0ZGU0VUXSwgc2FtcGxlcyk7CisrICAgICAg ICAgICAgICAgIGlmIChsZW4pCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAg ICAgIG1lbXNldCgmb3V0ZiwgMCwgc2l6ZW9mKG91dGYpKTsKKysgICAgICAgICAgICAgICAgICAg IG91dGYuZnJhbWV0eXBlID0gQVNUX0ZSQU1FX1ZPSUNFOworKyAgICAgICAgICAgICAgICAgICAg b3V0Zi5zdWJjbGFzcyA9IEFTVF9GT1JNQVRfU0xJTkVBUjsKKysgICAgICAgICAgICAgICAgICAg IG91dGYuZGF0YWxlbiA9IGxlbipzaXplb2YoaW50MTZfdCk7CisrICAgICAgICAgICAgICAgICAg ICBvdXRmLnNhbXBsZXMgPSBsZW47CisrICAgICAgICAgICAgICAgICAgICBvdXRmLmRhdGEgPSAm YnVmW0FTVF9GUklFTkRMWV9PRkZTRVRdOworKyAgICAgICAgICAgICAgICAgICAgb3V0Zi5vZmZz ZXQgPSBBU1RfRlJJRU5ETFlfT0ZGU0VUOworKyAgICAgICAgICAgICAgICAgICAgaWYgKGFzdF93 cml0ZShjaGFuLCAmb3V0ZikgPCAwKQorKyAgICAgICAgICAgICAgICAgICAgeworKyAgICAgICAg ICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8gd3JpdGUgZnJh bWUgdG8gY2hhbm5lbDsgJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7CisrICAgICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAg IH0KKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgYXN0X2ZyZnJlZShpbmYpOworKyAgICAg ICAgfQorKyAgICAgICAgaWYgKGluZiA9PSBOVUxMKQorKyAgICAgICAgeworKyAgICAgICAgICAg IGFzdF9sb2coTE9HX0RFQlVHLCAiR290IGhhbmd1cFxuIik7CisrICAgICAgICAgICAgcmVzID0g LTE7CisrICAgICAgICB9CisrICAgICAgICBpZiAob3JpZ2luYWxfcmVhZF9mbXQgIT0gQVNUX0ZP Uk1BVF9TTElORUFSKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfcmVh ZF9mb3JtYXQoY2hhbiwgb3JpZ2luYWxfcmVhZF9mbXQpOworKyAgICAgICAgICAgIGlmIChyZXMp CisrICAgICAgICAgICAgICAgIGFzdF9sb2coTE9HX1dBUk5JTkcsICJVbmFibGUgdG8gcmVzdG9y ZSByZWFkIGZvcm1hdCBvbiAnJXMnXG4iLCBjaGFuLT5uYW1lKTsKKysgICAgICAgIH0KKysgICAg ICAgIGlmIChvcmlnaW5hbF93cml0ZV9mbXQgIT0gQVNUX0ZPUk1BVF9TTElORUFSKQorKyAgICAg ICAgeworKyAgICAgICAgICAgIHJlcyA9IGFzdF9zZXRfd3JpdGVfZm9ybWF0KGNoYW4sIG9yaWdp bmFsX3dyaXRlX2ZtdCk7CisrICAgICAgICAgICAgaWYgKHJlcykKKysgICAgICAgICAgICAgICAg YXN0X2xvZyhMT0dfV0FSTklORywgIlVuYWJsZSB0byByZXN0b3JlIHdyaXRlIGZvcm1hdCBvbiAn JXMnXG4iLCBjaGFuLT5uYW1lKTsKKysgICAgICAgIH0KKysgICAgICAgIHQzMF90ZXJtaW5hdGUo JmZheC50MzBfc3RhdGUpOworKyAgICB9CisrICAgIGVsc2UKKysgICAgeworKyAgICAgICAgYXN0 X2xvZyhMT0dfV0FSTklORywgIkNvdWxkIG5vdCBhbnN3ZXIgY2hhbm5lbCAnJXMnXG4iLCBjaGFu LT5uYW1lKTsKKysgICAgfQorKyAgICBhc3RfbW9kdWxlX3VzZXJfcmVtb3ZlKHUpOworKyAgICBy ZXR1cm4gcmVzOworK30KKysvKi0gRW5kIG9mIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKysKKytzdGF0aWMgaW50IHVu bG9hZF9tb2R1bGUodm9pZCkKKyt7CisrCWludCByZXM7CisrCisrCWFzdF9tb2R1bGVfdXNlcl9o YW5ndXBfYWxsKCk7CisrCisrCXJlcyA9IGFzdF91bnJlZ2lzdGVyX2FwcGxpY2F0aW9uKGFwcCk7 CQorKwkKKysKKysJcmV0dXJuIHJlczsKKyt9CisrLyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisr c3RhdGljIGludCBsb2FkX21vZHVsZSh2b2lkKQorK3sKKysgICAgcmV0dXJuIGFzdF9yZWdpc3Rl cl9hcHBsaWNhdGlvbihhcHAsIHR4ZmF4X2V4ZWMsIHN5bm9wc2lzLCBkZXNjcmlwKTsKKyt9Cisr LyotIEVuZCBvZiBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSovCisrCisrQVNUX01PRFVMRV9JTkZPX1NUQU5EQVJEKEFTVEVS SVNLX0dQTF9LRVksICJUcml2aWFsIEZBWCBUcmFuc21pdCBBcHBsaWNhdGlvbiIpOworKworKy8q LSBFbmQgb2YgZmlsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0qLwpkaWZmIC1ydU4gYXN0ZXJpc2sub3JpZy9maWxlcy9wYXRjaC1i dWlsZF90b29sczo6bWVudXNlbGVjdC1kZXBzLmluIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWJ1aWxk X3Rvb2xzOjptZW51c2VsZWN0LWRlcHMuaW4KLS0tIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gt YnVpbGRfdG9vbHM6Om1lbnVzZWxlY3QtZGVwcy5pbgkxOTcwLTAxLTAxIDA1OjAwOjAwLjAwMDAw MDAwMCArMDUwMAorKysgYXN0ZXJpc2svZmlsZXMvcGF0Y2gtYnVpbGRfdG9vbHM6Om1lbnVzZWxl Y3QtZGVwcy5pbgkyMDA3LTA3LTIzIDE1OjAxOjU3LjAwMDAwMDAwMCArMDYwMApAQCAtMCwwICsx LDE0IEBACistLS0gYnVpbGRfdG9vbHMvbWVudXNlbGVjdC1kZXBzLmluLm9yaWcJMjAwNi0wOS0w MyAxNTo1MDozMi4wMDAwMDAwMDAgKzA4MDAKKysrKyBidWlsZF90b29scy9tZW51c2VsZWN0LWRl cHMuaW4JMjAwNi0wOS0wMyAxNTo1MDo0NC4wMDAwMDAwMDAgKzA4MDAKK0BAIC0xNywxMCArMTcs MTEgQEAKKyBQR1NRTD1AUEJYX1BHU1FMQAorIFBPUFQ9QFBCWF9QT1BUQAorIFBSST1AUEJYX1BS SUAKKyBRVD1AUEJYX1FUQAorIFJBRElVUz1AUEJYX1JBRElVU0AKKytTUEFORFNQPUBQQlhfU1BB TkRTUEAKKyBTUEVFWD1AUEJYX1NQRUVYQAorIFNRTElURT1AUEJYX1NRTElURUAKKyBTU0w9QFBC WF9PUEVOU1NMQAorIFRPTkVaT05FPUBQQlhfVE9ORVpPTkVACisgVU5JWE9EQkM9QFBCWF9VTklY T0RCQ0AKZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtY2hhbm5lbHM6OmNoYW5f c2tpbm55LmMgYXN0ZXJpc2svZmlsZXMvcGF0Y2gtY2hhbm5lbHM6OmNoYW5fc2tpbm55LmMKLS0t IGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtY2hhbm5lbHM6OmNoYW5fc2tpbm55LmMJMjAwNy0w Ny0yNyAwODo0MToxMC4wMDAwMDAwMDAgKzA2MDAKKysrIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWNo YW5uZWxzOjpjaGFuX3NraW5ueS5jCTIwMDctMDctMjcgMDE6NTg6MDQuMDAwMDAwMDAwICswNjAw CkBAIC0xLDggKzEsNSBAQAotCi0kRnJlZUJTRDogcG9ydHMvbmV0L2FzdGVyaXNrL2ZpbGVzL3Bh dGNoLWNoYW5uZWxzOjpjaGFuX3NraW5ueS5jLHYgMS4yIDIwMDcvMDcvMjcgMDI6NDE6MTAgc29i b21heCBFeHAgJAotCi0tLS0gY2hhbm5lbHMvY2hhbl9za2lubnkuYy5vcmlnCi0rKysgY2hhbm5l bHMvY2hhbl9za2lubnkuYworLS0tIGNoYW5uZWxzL2NoYW5fc2tpbm55LmMub3JpZwkyMDA3LTA3 LTI0IDAwOjU5OjI4LjAwMDAwMDAwMCArMDYwMAorKysrIGNoYW5uZWxzL2NoYW5fc2tpbm55LmMJ MjAwNy0wNy0yNyAwMTo1NTo0NS4wMDAwMDAwMDAgKzA2MDAKIEBAIC0xMDcsNyArMTA3LDcgQEAK ICAjZGVmaW5lIGh0b2xlbCh4KSAoeCkKICAjZGVmaW5lIGh0b2xlcyh4KSAoeCkKZGlmZiAtcnVO IGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtY29uZmlndXJlIGFzdGVyaXNrL2ZpbGVzL3BhdGNo LWNvbmZpZ3VyZQotLS0gYXN0ZXJpc2sub3JpZy9maWxlcy9wYXRjaC1jb25maWd1cmUJMjAwNy0w Ny0yMiAxNjo0MDozNS4wMDAwMDAwMDAgKzA2MDAKKysrIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLWNv bmZpZ3VyZQkyMDA3LTA4LTA5IDEyOjMwOjQ3LjAwMDAwMDAwMCArMDYwMApAQCAtMSw5ICsxLDI1 IEBACi0KLSRGcmVlQlNEOiBwb3J0cy9uZXQvYXN0ZXJpc2svZmlsZXMvcGF0Y2gtY29uZmlndXJl LHYgMS4yIDIwMDcvMDcvMjIgMTA6NDA6MzUgc29ib21heCBFeHAgJAotCi0tLS0gY29uZmlndXJl Lm9yaWcKLSsrKyBjb25maWd1cmUKLUBAIC0zOTI2LDggKzM5MjYsNiBAQAorLS0tIGNvbmZpZ3Vy ZS5vcmlnCTIwMDctMDgtMDYgMjA6MTg6MjAuMDAwMDAwMDAwICswNjAwCisrKysgY29uZmlndXJl CTIwMDctMDgtMDkgMTI6MzA6MzUuMDAwMDAwMDAwICswNjAwCitAQCAtODIwLDYgKzgyMCwxMCBA QAorIFJBRElVU19JTkNMVURFCisgUkFESVVTX0RJUgorIFBCWF9SQURJVVMKKytTUEFORFNQX0xJ QgorK1NQQU5EU1BfSU5DTFVERQorK1NQQU5EU1BfRElSCisrUEJYX1NQQU5EU1AKKyBTUEVFWF9M SUIKKyBTUEVFWF9JTkNMVURFCisgU1BFRVhfRElSCitAQCAtMTUyNSw2ICsxNTI5LDcgQEAKKyAg IC0td2l0aC1oMzIzPVBBVEggICAgICAgIHVzZSBPcGVuSDMyMyBmaWxlcyBpbiBQQVRICisgICAt LXdpdGgtcXQ9UEFUSCAgICAgICAgICB1c2UgUXQgZmlsZXMgaW4gUEFUSAorICAgLS13aXRoLXJh ZGl1cz1QQVRIICAgICAgdXNlIFJhZGl1cyBDbGllbnQgZmlsZXMgaW4gUEFUSAorKyAgLS13aXRo LXNwYW5kc3A9UEFUSCAgICAgdXNlIFNwYW5kc3AgbGlicmFyeSBmaWxlcyBpbiBQQVRICisgICAt LXdpdGgtc3BlZXg9UEFUSCAgICAgICB1c2UgU3BlZXggZmlsZXMgaW4gUEFUSAorICAgLS13aXRo LXNxbGl0ZT1QQVRIICAgICAgdXNlIFNRTGl0ZSBmaWxlcyBpbiBQQVRICisgICAtLXdpdGgtc3Vw cHNlcnY9UEFUSCAgICB1c2UgbUlTRE4gU3VwcGxlbWVudGFsIFNlcnZpY2VzIGZpbGVzIGluIFBB VEgKK0BAIC0zOTI2LDggKzM5MzEsNiBAQAogIGNhc2UgIiR7aG9zdF9vc30iIGluCiAgICAgICBm cmVlYnNkKikKICAgICAgIGFjX2RlZmF1bHRfcHJlZml4PS91c3IvbG9jYWwKQEAgLTEyLDM5ICsy OCwxMDIgQEAKICAgICAgIDs7CiAgICAgICAqKQogICAgICAgYWNfZGVmYXVsdF9wcmVmaXg9L3Vz cgotQEAgLTI2MDY2LDYgKzI2MDY0LDcgQEAKK0BAIC04Mjk3LDYgKzgzMDAsMzQgQEAKKyAKKyBQ QlhfUkFESVVTPTAKKyAKKytTUEFORFNQX0RFU0NSSVA9IlNwYW5kc3AgTGlicmFyeSIKKytTUEFO RFNQX09QVElPTj0ic3BhbmRzcCIKKysKKysjIENoZWNrIHdoZXRoZXIgLS13aXRoLXNwYW5kc3Ag d2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7d2l0aF9zcGFuZHNwK3NldH0iID0gc2V0OyB0aGVuCisr ICB3aXRodmFsPSR3aXRoX3NwYW5kc3A7CisrY2FzZSAke3dpdGh2YWx9IGluCisrICAgICBufG5v KQorKyAgICAgVVNFX1NQQU5EU1A9bm8KKysgICAgIFBCWF9TUEFORFNQPTAKKysgICAgIDs7Cisr ICAgICB5fHllfHllcykKKysgICAgIFNQQU5EU1BfRElSPSIvdXNyL2xvY2FsIgorKyAgICAgU1BB TkRTUF9MSUI9Ii1ML3Vzci9sb2NhbC9saWIgLWxzcGFuZHNwIgorKyAgICAgU1BBTkRTUF9JTkNM VURFPSItSSR7U1BBTkRTUF9ESVJ9L2luY2x1ZGUiCisrICAgICBTUEFORFNQX01BTkRBVE9SWT0i eWVzIgorKyAgICAgUEJYX1NQQU5EU1A9MQorKyAgICAgOzsKKysgICAgICopCisrICAgICBTUEFO RFNQX0RJUj0iJHt3aXRodmFsfSIKKysgICAgIFNQQU5EU1BfTElCPSItTCR7U1BBTkRTUF9ESVJ9 L2xpYiAtbHNwYW5kc3AiCisrICAgICBTUEFORFNQX0lOQ0xVREU9Ii1JJHtTUEFORFNQX0RJUn0v aW5jbHVkZSIKKysgICAgIFNQQU5EU1BfTUFOREFUT1JZPSJ5ZXMiCisrICAgICBQQlhfU1BBTkRT UD0xCisrICAgICA7OworK2VzYWMKKysKKytmaQorIAorIAorIAorQEAgLTE4NDMxLDExICsxODQ2 MiwxMSBAQAorIGVjaG8gJEVDSE9fTiAiY2hlY2tpbmcgZm9yIFVXIElNQVAgVG9vbGtpdCBjLWNs aWVudCBsaWJyYXJ5Li4uICRFQ0hPX0MiID4mNjsgfQorICAgIHNhdmVkX2NwcGZsYWdzPSIke0NQ UEZMQUdTfSIKKyAgICBzYXZlZF9saWJzPSIke0xJQlN9IgorLSAgIGlmIHRlc3QgLWYgJHtJTUFQ X1RLX0RJUn0vYy1jbGllbnQvTERGTEFHUyA7IHRoZW4KKy0gICAgICBpbWFwX2xkZmxhZ3M9YGNh dCAke0lNQVBfVEtfRElSfS9jLWNsaWVudC9MREZMQUdTYAorLSAgIGZpCistICAgQ1BQRkxBR1M9 IiR7Q1BQRkxBR1N9IC1JJHtJTUFQX1RLX0RJUn0vYy1jbGllbnQiCistICAgTElCUz0iJHtMSUJT fSAke0lNQVBfVEtfRElSfS9jLWNsaWVudC9jLWNsaWVudC5hICJgZWNobyAke2ltYXBfbGRmbGFn c31gCisrCisrICAgICAgaW1hcF9sZGZsYWdzPSItbHBhbSAtTC91c3IvbGliIC1sc3NsIC1sY3J5 cHRvIC1sY3J5cHQiCisrCisrICAgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1JJHtJTUFQX1RLX0RJ Un0vaW5jbHVkZS9jLWNsaWVudCIKKysgICBMSUJTPSIke0xJQlN9ICR7SU1BUF9US19ESVJ9L2xp Yi9saWJjLWNsaWVudDQuYSAiYGVjaG8gJHtpbWFwX2xkZmxhZ3N9YAorICAgIGNhdCA+Y29uZnRl c3QuJGFjX2V4dCA8PF9BQ0VPRgorIC8qIGNvbmZkZWZzLmguICAqLworIF9BQ0VPRgorQEAgLTE4 NjI3LDggKzE4NjU4LDggQEAKKyAgICBpZiB0ZXN0ICIke2FjX2N2X2ltYXBfdGt9IiA9ICJ5ZXMi OyB0aGVuCisgICAgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzogcmVzdWx0OiB5ZXMiID4mNQor IGVjaG8gIiR7RUNIT19UfXllcyIgPiY2OyB9CistICAgICAgSU1BUF9US19MSUI9IiR7SU1BUF9U S19ESVJ9L2MtY2xpZW50L2MtY2xpZW50LmEgImBlY2hvICR7aW1hcF9sZGZsYWdzfWAKKy0gICAg ICBJTUFQX1RLX0lOQ0xVREU9Ii1JJHtJTUFQX1RLX0RJUn0vYy1jbGllbnQiCisrICAgICAgSU1B UF9US19MSUI9IiR7SU1BUF9US19ESVJ9L2xpYi9saWJjLWNsaWVudDQuYSAiYGVjaG8gJHtpbWFw X2xkZmxhZ3N9YAorKyAgICAgIElNQVBfVEtfSU5DTFVERT0iLUkke0lNQVBfVEtfRElSfS9pbmNs dWRlL2MtY2xpZW50IgorICAgICAgIFBCWF9JTUFQX1RLPTEKKyAKKyBjYXQgPj5jb25mZGVmcy5o IDw8XF9BQ0VPRgorQEAgLTI0OTE4LDYgKzI0OTQ5LDcgQEAKICBjYXQgPj5jb25mdGVzdC4kYWNf ZXh0IDw8X0FDRU9GCiAgLyogZW5kIGNvbmZkZWZzLmguICAqLwogICRhY19pbmNsdWRlc19kZWZh dWx0CiArI2luY2x1ZGUgPHB0bGliLmg+Ci0gI2luY2x1ZGUgPCR7T1BFTkgzMjNESVJ9L2luY2x1 ZGUvaDMyMy5oPgorICNpbmNsdWRlIDwke09QRU5IMzIzRElSfS8uLi9wd2xpYi92ZXJzaW9uLmg+ CiAgX0FDRU9GCiAgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAotQEAgLTI2MTA2LDYgKzI2MTA1 LDcgQEAKK0BAIC0yNDk1OCw2ICsyNDk5MCw3IEBACiAgY2F0IGNvbmZkZWZzLmggPj5jb25mdGVz dC4kYWNfZXh0CiAgY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgogIC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KICsjaW5jbHVkZSA8cHRsaWIuaD4KLSAjaW5jbHVkZSA8JHtPUEVOSDMyM0RJ Un0vaW5jbHVkZS9oMzIzLmg+CisgI2luY2x1ZGUgPCR7T1BFTkgzMjNESVJ9Ly4uL3B3bGliL3Zl cnNpb24uaD4KICBfQUNFT0YKICBpZiB7IChhY190cnk9IiRhY19jcHAgY29uZnRlc3QuJGFjX2V4 dCIKLUBAIC0yNjIwMiw2ICsyNjIwMiw3IEBACitAQCAtMjYxNjMsNyArMjYxOTYsNiBAQAogIGNh dCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKICAvKiBlbmQgY29uZmRlZnMuaC4gICovCi0g JGFjX2luY2x1ZGVzX2RlZmF1bHQKLSsjaW5jbHVkZSA8cHRsaWIuaD4KLSAjaW5jbHVkZSA8JHtI T01FfS9vcGVuaDMyMy9pbmNsdWRlL2gzMjMuaD4KKyAjaW5jbHVkZSA8cHRsaWIuaD4KKy0KKyAj aW5jbHVkZSA8JHtPUEVOSDMyM0RJUn0vaW5jbHVkZS9oMzIzLmg+CiAgX0FDRU9GCiAgcm0gLWYg Y29uZnRlc3QuJGFjX29iamV4dAotQEAgLTI2MjQyLDYgKzI2MjQzLDcgQEAKLSBjYXQgY29uZmRl ZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKK0BAIC0yNjIyOCw2ICsyNjI2MCw3IEBACiAgY2F0ID4+ Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKyAkYWNf aW5jbHVkZXNfZGVmYXVsdAogKyNpbmNsdWRlIDxwdGxpYi5oPgogICNpbmNsdWRlIDwke0hPTUV9 L29wZW5oMzIzL2luY2x1ZGUvaDMyMy5oPgogIF9BQ0VPRgotIGlmIHsgKGFjX3RyeT0iJGFjX2Nw cCBjb25mdGVzdC4kYWNfZXh0IgotQEAgLTI2MzM2LDYgKzI2MzM4LDcgQEAKKyBybSAtZiBjb25m dGVzdC4kYWNfb2JqZXh0CitAQCAtMjYzNjUsNiArMjYzOTgsNyBAQAogIGNhdCA+PmNvbmZ0ZXN0 LiRhY19leHQgPDxfQUNFT0YKICAvKiBlbmQgY29uZmRlZnMuaC4gICovCiAgJGFjX2luY2x1ZGVz X2RlZmF1bHQKQEAgLTUyLDMxICsxMzEsMTUgQEAKICAjaW5jbHVkZSA8L3Vzci9sb2NhbC9pbmNs dWRlL29wZW5oMzIzL2gzMjMuaD4KICBfQUNFT0YKICBybSAtZiBjb25mdGVzdC4kYWNfb2JqZXh0 Ci1AQCAtMjYzNzYsNiArMjYzNzksNyBAQAotIGNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFj X2V4dAorQEAgLTI2NTAwLDcgKzI2NTM0LDYgQEAKICBjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8 X0FDRU9GCiAgLyogZW5kIGNvbmZkZWZzLmguICAqLwotKyNpbmNsdWRlIDxwdGxpYi5oPgotICNp bmNsdWRlIDwvdXNyL2xvY2FsL2luY2x1ZGUvb3BlbmgzMjMvaDMyMy5oPgotIF9BQ0VPRgotIGlm IHsgKGFjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IgotQEAgLTI2NDc1LDYgKzI2NDc5 LDcgQEAKLSBjYXQgPj5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCi0gLyogZW5kIGNvbmZkZWZz LmguICAqLwotICRhY19pbmNsdWRlc19kZWZhdWx0Ci0rI2luY2x1ZGUgPHB0bGliLmg+CisgI2lu Y2x1ZGUgPHB0bGliLmg+CistCiAgI2luY2x1ZGUgPC91c3IvaW5jbHVkZS9vcGVuaDMyMy9oMzIz Lmg+CiAgX0FDRU9GCiAgcm0gLWYgY29uZnRlc3QuJGFjX29iamV4dAotQEAgLTI2NTE1LDYgKzI2 NTIwLDcgQEAKLSBjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKLSBjYXQgPj5jb25m dGVzdC4kYWNfZXh0IDw8X0FDRU9GCi0gLyogZW5kIGNvbmZkZWZzLmguICAqLwotKyNpbmNsdWRl IDxwdGxpYi5oPgotICNpbmNsdWRlIDwvdXNyL2luY2x1ZGUvb3BlbmgzMjMvaDMyMy5oPgotIF9B Q0VPRgotIGlmIHsgKGFjX3RyeT0iJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0IgotQEAgLTI2NzAw LDcgKzI2NzA2LDcgQEAKK0BAIC0yNjY1Miw3ICsyNjY4NSw3IEBACiAgCiAgCWZpCiAgCkBAIC04 NSwzICsxNDgsMjMgQEAKICAKICAJaWYgdGVzdCAiJHtIQVNfT1BFTkgzMjM6LXVuc2V0fSIgIT0g InVuc2V0IjsgdGhlbgogIAkgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2luZyBPcGVu SDMyMyBpbnN0YWxsYXRpb24gdmFsaWRpdHkiID4mNQorQEAgLTMzNDEwLDYgKzMzNDQzLDEwIEBA CisgUkFESVVTX0lOQ0xVREUhJFJBRElVU19JTkNMVURFJGFjX2RlbGltCisgUkFESVVTX0RJUiEk UkFESVVTX0RJUiRhY19kZWxpbQorIFBCWF9SQURJVVMhJFBCWF9SQURJVVMkYWNfZGVsaW0KKytT UEFORFNQX0xJQiEkU1BBTkRTUF9MSUIkYWNfZGVsaW0KKytTUEFORFNQX0lOQ0xVREUhJFNQQU5E U1BfSU5DTFVERSRhY19kZWxpbQorK1NQQU5EU1BfRElSISRTUEFORFNQX0RJUiRhY19kZWxpbQor K1BCWF9TUEFORFNQISRQQlhfU1BBTkRTUCRhY19kZWxpbQorIFNQRUVYX0xJQiEkU1BFRVhfTElC JGFjX2RlbGltCisgU1BFRVhfSU5DTFVERSEkU1BFRVhfSU5DTFVERSRhY19kZWxpbQorIFNQRUVY X0RJUiEkU1BFRVhfRElSJGFjX2RlbGltCitAQCAtMzM0OTcsNyArMzM1MzQsNyBAQAorIExUTElC T0JKUyEkTFRMSUJPQkpTJGFjX2RlbGltCisgX0FDRU9GCisgCistICBpZiB0ZXN0IGBzZWQgLW4g InMvLiokYWNfZGVsaW1cJC9YL3AiIGNvbmYkJHN1YnMuc2VkIHwgZ3JlcCAtYyBYYCA9IDkyOyB0 aGVuCisrICBpZiB0ZXN0IGBzZWQgLW4gInMvLiokYWNfZGVsaW1cJC9YL3AiIGNvbmYkJHN1YnMu c2VkIHwgZ3JlcCAtYyBYYCA9IDk2OyB0aGVuCisgICAgIGJyZWFrCisgICBlbGlmICRhY19sYXN0 X3RyeTsgdGhlbgorICAgICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBjb3VsZCBu b3QgbWFrZSAkQ09ORklHX1NUQVRVUyIgPiY1CmRpZmYgLXJ1TiBhc3Rlcmlzay5vcmlnL2ZpbGVz L3BhdGNoLWNvbmZpZ3VyZS5hYyBhc3Rlcmlzay9maWxlcy9wYXRjaC1jb25maWd1cmUuYWMKLS0t IGFzdGVyaXNrLm9yaWcvZmlsZXMvcGF0Y2gtY29uZmlndXJlLmFjCTE5NzAtMDEtMDEgMDU6MDA6 MDAuMDAwMDAwMDAwICswNTAwCisrKyBhc3Rlcmlzay9maWxlcy9wYXRjaC1jb25maWd1cmUuYWMJ MjAwNy0wNy0yMyAxNTowMTo1Ny4wMDAwMDAwMDAgKzA2MDAKQEAgLTAsMCArMSwxOSBAQAorLS0t IGNvbmZpZ3VyZS5hYy5vcmlnCUZyaSBKdW4gMjkgMjA6MTg6MzYgMjAwNworKysrIGNvbmZpZ3Vy ZS5hYwlUdWUgSnVsIDEwIDE0OjE0OjQwIDIwMDcKK0BAIC0xOTYsNiArMTk2LDcgQEAKKyBBU1Rf RVhUX0xJQl9TRVRVUChbT1BFTkgzMjNdLCBbT3BlbkgzMjNdLCBbaDMyM10pCisgQVNUX0VYVF9M SUJfU0VUVVAoW1FUXSwgW1F0XSwgW3F0XSkKKyBBU1RfRVhUX0xJQl9TRVRVUChbUkFESVVTXSwg W1JhZGl1cyBDbGllbnRdLCBbcmFkaXVzXSkKKytBU1RfRVhUX0xJQl9TRVRVUChbU1BBTkRTUF0s IFtTcGFuZHNwIExpYnJhcnldLCBbc3BhbmRzcF0pCisgQVNUX0VYVF9MSUJfU0VUVVAoW1NQRUVY XSwgW1NwZWV4XSwgW3NwZWV4XSkKKyBBU1RfRVhUX0xJQl9TRVRVUChbU1FMSVRFXSwgW1NRTGl0 ZV0sIFtzcWxpdGVdKQorIEFTVF9FWFRfTElCX1NFVFVQKFtTVVBQU0VSVl0sIFttSVNETiBTdXBw bGVtZW50YWwgU2VydmljZXNdLCBbc3VwcHNlcnZdKQorQEAgLTkxMiw2ICs5MTMsOCBAQAorIEFD X0xBTkdfUE9QCisgCisgQVNUX0VYVF9MSUJfQ0hFQ0soW1JBRElVU10sIFtyYWRpdXNjbGllbnQt bmddLCBbcmNfcmVhZF9jb25maWddLCBbcmFkaXVzY2xpZW50LW5nLmhdKQorKworK0FTVF9FWFRf TElCX0NIRUNLKFtTUEFORFNQXSwgW3NwYW5kc3BdLCBbZmF4X2luaXRdLCBbc3BhbmRzcC5oXSwg Wy1sdGlmZl0pCisgCisgQVNUX0VYVF9MSUJfQ0hFQ0soW1NQRUVYXSwgW3NwZWV4XSwgW3NwZWV4 X2VuY29kZV0sIFtzcGVleC9zcGVleC5oXSwgWy1sbV0pCisgCmRpZmYgLXJ1TiBhc3Rlcmlzay5v cmlnL2ZpbGVzL3BhdGNoLW1ha2VvcHRzLmluIGFzdGVyaXNrL2ZpbGVzL3BhdGNoLW1ha2VvcHRz LmluCi0tLSBhc3Rlcmlzay5vcmlnL2ZpbGVzL3BhdGNoLW1ha2VvcHRzLmluCTE5NzAtMDEtMDEg MDU6MDA6MDAuMDAwMDAwMDAwICswNTAwCisrKyBhc3Rlcmlzay9maWxlcy9wYXRjaC1tYWtlb3B0 cy5pbgkyMDA3LTA3LTIzIDE1OjAxOjU3LjAwMDAwMDAwMCArMDYwMApAQCAtMCwwICsxLDE2IEBA CistLS0gbWFrZW9wdHMuaW4ub3JpZwkyMDA2LTA5LTAzIDE1OjUzOjQ3LjAwMDAwMDAwMCArMDgw MAorKysrIG1ha2VvcHRzLmluCTIwMDYtMDktMDMgMTU6NTM6NTMuMDAwMDAwMDAwICswODAwCitA QCAtMTIwLDEwICsxMjAsMTMgQEAKKyBRVF9MSUI9QFFUX0xJQkAKKyAKKyBSQURJVVNfSU5DTFVE RT1AUkFESVVTX0lOQ0xVREVACisgUkFESVVTX0xJQj1AUkFESVVTX0xJQkAKKyAKKytTUEFORFNQ X0lOQ0xVREU9QFNQQU5EU1BfSU5DTFVERUAKKytTUEFORFNQX0xJQj1AU1BBTkRTUF9MSUJACisr CisgU1BFRVhfSU5DTFVERT1AU1BFRVhfSU5DTFVERUAKKyBTUEVFWF9MSUI9QFNQRUVYX0xJQkAK KyAKKyBTUUxJVEVfSU5DTFVERT1AU1FMSVRFX0lOQ0xVREVACisgU1FMSVRFX0xJQj1AU1FMSVRF X0xJQkAKZGlmZiAtcnVOIGFzdGVyaXNrLm9yaWcvcGF0Y2gtY29uZmlndXJlIGFzdGVyaXNrL3Bh dGNoLWNvbmZpZ3VyZQotLS0gYXN0ZXJpc2sub3JpZy9wYXRjaC1jb25maWd1cmUJMTk3MC0wMS0w MSAwNTowMDowMC4wMDAwMDAwMDAgKzA1MDAKKysrIGFzdGVyaXNrL3BhdGNoLWNvbmZpZ3VyZQky MDA3LTA4LTA5IDExOjU5OjM5LjAwMDAwMDAwMCArMDYwMApAQCAtMCwwICsxLDEyMiBAQAorLS0t IGNvbmZpZ3VyZS5vcmlnCTIwMDctMDgtMDYgMjA6MTg6MjAuMDAwMDAwMDAwICswNjAwCisrKysg Y29uZmlndXJlCTIwMDctMDgtMDkgMTE6NTk6MDIuMDAwMDAwMDAwICswNjAwCitAQCAtODIwLDYg KzgyMCwxMCBAQAorIFJBRElVU19JTkNMVURFCisgUkFESVVTX0RJUgorIFBCWF9SQURJVVMKKytT UEFORFNQX0xJQgorK1NQQU5EU1BfSU5DTFVERQorK1NQQU5EU1BfRElSCisrUEJYX1NQQU5EU1AK KyBTUEVFWF9MSUIKKyBTUEVFWF9JTkNMVURFCisgU1BFRVhfRElSCitAQCAtMTUyNSw2ICsxNTI5 LDcgQEAKKyAgIC0td2l0aC1oMzIzPVBBVEggICAgICAgIHVzZSBPcGVuSDMyMyBmaWxlcyBpbiBQ QVRICisgICAtLXdpdGgtcXQ9UEFUSCAgICAgICAgICB1c2UgUXQgZmlsZXMgaW4gUEFUSAorICAg LS13aXRoLXJhZGl1cz1QQVRIICAgICAgdXNlIFJhZGl1cyBDbGllbnQgZmlsZXMgaW4gUEFUSAor KyAgLS13aXRoLXNwYW5kc3A9UEFUSCAgICAgdXNlIFNwYW5kc3AgbGlicmFyeSBmaWxlcyBpbiBQ QVRICisgICAtLXdpdGgtc3BlZXg9UEFUSCAgICAgICB1c2UgU3BlZXggZmlsZXMgaW4gUEFUSAor ICAgLS13aXRoLXNxbGl0ZT1QQVRIICAgICAgdXNlIFNRTGl0ZSBmaWxlcyBpbiBQQVRICisgICAt LXdpdGgtc3VwcHNlcnY9UEFUSCAgICB1c2UgbUlTRE4gU3VwcGxlbWVudGFsIFNlcnZpY2VzIGZp bGVzIGluIFBBVEgKK0BAIC0zOTI2LDggKzM5MzEsNiBAQAorIGNhc2UgIiR7aG9zdF9vc30iIGlu CisgICAgICBmcmVlYnNkKikKKyAgICAgIGFjX2RlZmF1bHRfcHJlZml4PS91c3IvbG9jYWwKKy0g ICAgIENQUEZMQUdTPS1JL3Vzci9sb2NhbC9pbmNsdWRlCistICAgICBMREZMQUdTPS1ML3Vzci9s b2NhbC9saWIKKyAgICAgIDs7CisgICAgICAqKQorICAgICAgYWNfZGVmYXVsdF9wcmVmaXg9L3Vz cgorQEAgLTgyOTcsNiArODMwMCwzNCBAQAorIAorIFBCWF9SQURJVVM9MAorIAorK1NQQU5EU1Bf REVTQ1JJUD0iU3BhbmRzcCBMaWJyYXJ5IgorK1NQQU5EU1BfT1BUSU9OPSJzcGFuZHNwIgorKwor KyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtc3BhbmRzcCB3YXMgZ2l2ZW4uCisraWYgdGVzdCAiJHt3 aXRoX3NwYW5kc3Arc2V0fSIgPSBzZXQ7IHRoZW4KKysgIHdpdGh2YWw9JHdpdGhfc3BhbmRzcDsK KytjYXNlICR7d2l0aHZhbH0gaW4KKysgICAgIG58bm8pCisrICAgICBVU0VfU1BBTkRTUD1ubwor KyAgICAgUEJYX1NQQU5EU1A9MAorKyAgICAgOzsKKysgICAgIHl8eWV8eWVzKQorKyAgICAgU1BB TkRTUF9ESVI9Ii91c3IvbG9jYWwiCisrICAgICBTUEFORFNQX0xJQj0iLUwvdXNyL2xvY2FsL2xp YiAtbHNwYW5kc3AiCisrICAgICBTUEFORFNQX0lOQ0xVREU9Ii1JJHtTUEFORFNQX0RJUn0vaW5j bHVkZSIKKysgICAgIFNQQU5EU1BfTUFOREFUT1JZPSJ5ZXMiCisrICAgICBQQlhfU1BBTkRTUD0x CisrICAgICA7OworKyAgICAgKikKKysgICAgIFNQQU5EU1BfRElSPSIke3dpdGh2YWx9IgorKyAg ICAgU1BBTkRTUF9MSUI9Ii1MJHtTUEFORFNQX0RJUn0vbGliIC1sc3BhbmRzcCIKKysgICAgIFNQ QU5EU1BfSU5DTFVERT0iLUkke1NQQU5EU1BfRElSfS9pbmNsdWRlIgorKyAgICAgU1BBTkRTUF9N QU5EQVRPUlk9InllcyIKKysgICAgIFBCWF9TUEFORFNQPTEKKysgICAgIDs7CisrZXNhYworKwor K2ZpCisgCisgCisgCitAQCAtMTg0MzEsMTEgKzE4NDYyLDExIEBACisgZWNobyAkRUNIT19OICJj aGVja2luZyBmb3IgVVcgSU1BUCBUb29sa2l0IGMtY2xpZW50IGxpYnJhcnkuLi4gJEVDSE9fQyIg PiY2OyB9CisgICAgc2F2ZWRfY3BwZmxhZ3M9IiR7Q1BQRkxBR1N9IgorICAgIHNhdmVkX2xpYnM9 IiR7TElCU30iCistICAgaWYgdGVzdCAtZiAke0lNQVBfVEtfRElSfS9jLWNsaWVudC9MREZMQUdT IDsgdGhlbgorLSAgICAgIGltYXBfbGRmbGFncz1gY2F0ICR7SU1BUF9US19ESVJ9L2MtY2xpZW50 L0xERkxBR1NgCistICAgZmkKKy0gICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gLUkke0lNQVBfVEtf RElSfS9jLWNsaWVudCIKKy0gICBMSUJTPSIke0xJQlN9ICR7SU1BUF9US19ESVJ9L2MtY2xpZW50 L2MtY2xpZW50LmEgImBlY2hvICR7aW1hcF9sZGZsYWdzfWAKKysKKysgICAgICBpbWFwX2xkZmxh Z3M9Ii1scGFtIC1ML3Vzci9saWIgLWxzc2wgLWxjcnlwdG8gLWxjcnlwdCIKKysKKysgICBDUFBG TEFHUz0iJHtDUFBGTEFHU30gLUkke0lNQVBfVEtfRElSfS9pbmNsdWRlL2MtY2xpZW50IgorKyAg IExJQlM9IiR7TElCU30gJHtJTUFQX1RLX0RJUn0vbGliL2xpYmMtY2xpZW50NC5hICJgZWNobyAk e2ltYXBfbGRmbGFnc31gCisgICAgY2F0ID5jb25mdGVzdC4kYWNfZXh0IDw8X0FDRU9GCisgLyog Y29uZmRlZnMuaC4gICovCisgX0FDRU9GCitAQCAtMTg2MjcsOCArMTg2NTgsOCBAQAorICAgIGlm IHRlc3QgIiR7YWNfY3ZfaW1hcF90a30iID0gInllcyI7IHRoZW4KKyAgICAgICB7IGVjaG8gIiRh c19tZTokTElORU5POiByZXN1bHQ6IHllcyIgPiY1CisgZWNobyAiJHtFQ0hPX1R9eWVzIiA+JjY7 IH0KKy0gICAgICBJTUFQX1RLX0xJQj0iJHtJTUFQX1RLX0RJUn0vYy1jbGllbnQvYy1jbGllbnQu YSAiYGVjaG8gJHtpbWFwX2xkZmxhZ3N9YAorLSAgICAgIElNQVBfVEtfSU5DTFVERT0iLUkke0lN QVBfVEtfRElSfS9jLWNsaWVudCIKKysgICAgICBJTUFQX1RLX0xJQj0iJHtJTUFQX1RLX0RJUn0v bGliL2xpYmMtY2xpZW50NC5hICJgZWNobyAke2ltYXBfbGRmbGFnc31gCisrICAgICAgSU1BUF9U S19JTkNMVURFPSItSSR7SU1BUF9US19ESVJ9L2luY2x1ZGUvYy1jbGllbnQiCisgICAgICAgUEJY X0lNQVBfVEs9MQorIAorIGNhdCA+PmNvbmZkZWZzLmggPDxcX0FDRU9GCitAQCAtMjY2NTIsNyAr MjY2ODMsNyBAQAorIAorIAlmaQorIAorLQlQTEFURk9STV9PUEVOSDMyMz0iaDMyM18ke1BXTElC X1BMQVRGT1JNfV8ke09QRU5IMzIzX1NVRkZJWH0iCisrCVBMQVRGT1JNX09QRU5IMzIzPSJoMzIz XyR7T1BFTkgzMjNfU1VGRklYfSIKKyAKKyAJaWYgdGVzdCAiJHtIQVNfT1BFTkgzMjM6LXVuc2V0 fSIgIT0gInVuc2V0IjsgdGhlbgorIAkgICB7IGVjaG8gIiRhc19tZTokTElORU5POiBjaGVja2lu ZyBPcGVuSDMyMyBpbnN0YWxsYXRpb24gdmFsaWRpdHkiID4mNQorQEAgLTMzNDEwLDYgKzMzNDQx LDEwIEBACisgUkFESVVTX0lOQ0xVREUhJFJBRElVU19JTkNMVURFJGFjX2RlbGltCisgUkFESVVT X0RJUiEkUkFESVVTX0RJUiRhY19kZWxpbQorIFBCWF9SQURJVVMhJFBCWF9SQURJVVMkYWNfZGVs aW0KKytTUEFORFNQX0xJQiEkU1BBTkRTUF9MSUIkYWNfZGVsaW0KKytTUEFORFNQX0lOQ0xVREUh JFNQQU5EU1BfSU5DTFVERSRhY19kZWxpbQorK1NQQU5EU1BfRElSISRTUEFORFNQX0RJUiRhY19k ZWxpbQorK1BCWF9TUEFORFNQISRQQlhfU1BBTkRTUCRhY19kZWxpbQorIFNQRUVYX0xJQiEkU1BF RVhfTElCJGFjX2RlbGltCisgU1BFRVhfSU5DTFVERSEkU1BFRVhfSU5DTFVERSRhY19kZWxpbQor IFNQRUVYX0RJUiEkU1BFRVhfRElSJGFjX2RlbGltCitAQCAtMzM0OTcsNyArMzM1MzIsNyBAQAor IExUTElCT0JKUyEkTFRMSUJPQkpTJGFjX2RlbGltCisgX0FDRU9GCisgCistICBpZiB0ZXN0IGBz ZWQgLW4gInMvLiokYWNfZGVsaW1cJC9YL3AiIGNvbmYkJHN1YnMuc2VkIHwgZ3JlcCAtYyBYYCA9 IDkyOyB0aGVuCisrICBpZiB0ZXN0IGBzZWQgLW4gInMvLiokYWNfZGVsaW1cJC9YL3AiIGNvbmYk JHN1YnMuc2VkIHwgZ3JlcCAtYyBYYCA9IDk2OyB0aGVuCisgICAgIGJyZWFrCisgICBlbGlmICRh Y19sYXN0X3RyeTsgdGhlbgorICAgICB7IHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGVycm9yOiBj b3VsZCBub3QgbWFrZSAkQ09ORklHX1NUQVRVUyIgPiY1CmRpZmYgLXJ1TiBhc3Rlcmlzay5vcmln L3BrZy1wbGlzdCBhc3Rlcmlzay9wa2ctcGxpc3QKLS0tIGFzdGVyaXNrLm9yaWcvcGtnLXBsaXN0 CTIwMDctMDctMjcgMDg6NDE6MDkuMDAwMDAwMDAwICswNjAwCisrKyBhc3Rlcmlzay9wa2ctcGxp c3QJMjAwNy0wNy0yNSAyMTo1MDowNC4wMDAwMDAwMDAgKzA2MDAKQEAgLTI4MSw3ICsyODEsNiBA QAogbGliL2FzdGVyaXNrL21vZHVsZXMvY2RyX21hbmFnZXIuc28KICUlV0lUSF9QT1NUR1JFUyUl bGliL2FzdGVyaXNrL21vZHVsZXMvY2RyX3Bnc3FsLnNvCiAlJVdJVEhfUkFESVVTJSVsaWIvYXN0 ZXJpc2svbW9kdWxlcy9jZHJfcmFkaXVzLnNvCi0lJVdJVEhfU1FMSVRFJSVsaWIvYXN0ZXJpc2sv bW9kdWxlcy9jZHJfc3FsaXRlLnNvCiBsaWIvYXN0ZXJpc2svbW9kdWxlcy9jaGFuX2FnZW50LnNv CiAlJVdJVEhfSkFCQkVSJSVsaWIvYXN0ZXJpc2svbW9kdWxlcy9jaGFuX2d0YWxrLnNvCiBsaWIv YXN0ZXJpc2svbW9kdWxlcy9jaGFuX2lheDIuc28KQEAgLTc2OCw2ICs3NjcsOSBAQAogJSVXSVRI X1pBUFRFTCUlbGliL2FzdGVyaXNrL21vZHVsZXMvY29kZWNfemFwLnNvCiAlJVdJVEhfT0RCQyUl bGliL2FzdGVyaXNrL21vZHVsZXMvcmVzX2NvbmZpZ19vZGJjLnNvCiAlJVdJVEhfT0RCQyUlbGli L2FzdGVyaXNrL21vZHVsZXMvcmVzX29kYmMuc28KKyUlV0lUSF9GQVglJWxpYi9hc3Rlcmlzay9t b2R1bGVzL2FwcF9yeGZheC5zbworJSVXSVRIX0ZBWCUlbGliL2FzdGVyaXNrL21vZHVsZXMvYXBw X3R4ZmF4LnNvCislJVdJVEhfU1FMSVRFJSVsaWIvYXN0ZXJpc2svbW9kdWxlcy9jZHJfc3FsaXRl LnNvCiBAZGlycm0gc2hhcmUvYXN0ZXJpc2svc3RhdGljLWh0dHAKIEBkaXJybSBzaGFyZS9hc3Rl cmlzay9zb3VuZHMvc2lsZW5jZQogQGRpcnJtIHNoYXJlL2FzdGVyaXNrL3NvdW5kcy9waG9uZXRp Ywo= ------=OPENWEBMAIL_ATT_0.762795227670239--