From: "Tan Swee Heng" Subject: Re: [PATCH 2/3] salsa20_i586: Salsa20 stream cipher algorithm (i586 version) Date: Thu, 22 Nov 2007 05:39:07 +0800 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_3116_15194107.1195681147848" Cc: "Herbert Xu" To: "Linux Crypto" Return-path: Received: from rn-out-0910.google.com ([64.233.170.187]:25301 "EHLO rn-out-0102.google.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752449AbXKUVjJ (ORCPT ); Wed, 21 Nov 2007 16:39:09 -0500 Received: by rn-out-0102.google.com with SMTP id s46so3779320rnb for ; Wed, 21 Nov 2007 13:39:07 -0800 (PST) In-Reply-To: Sender: linux-crypto-owner@vger.kernel.org List-Id: linux-crypto.vger.kernel.org ------=_Part_3116_15194107.1195681147848 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Forgot the attachment... again. :-) On Nov 22, 2007 5:17 AM, Tan Swee Heng wrote: > This patch implements the glue code that uses the Salsa20 x86-pm > assembly code written by D. J. Bernstein. > Original assembly code is available at > . > > Signed-off-by: Tan Swee Heng > ------=_Part_3116_15194107.1195681147848 Content-Type: text/plain; name=patch2-salsa20_i586.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_f9adnghf0 Content-Disposition: attachment; filename=patch2-salsa20_i586.txt ZGlmZiAtLWdpdCBhL2FyY2gveDg2L2NyeXB0by9NYWtlZmlsZSBiL2FyY2gveDg2L2NyeXB0by9N YWtlZmlsZQppbmRleCA0NmJiNjA5Li45MmNhODZmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9jcnlw dG8vTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvY3J5cHRvL01ha2VmaWxlCkBAIC00LDEyICs0LDE0 IEBACiAKIG9iai0kKENPTkZJR19DUllQVE9fQUVTXzU4NikgKz0gYWVzLWk1ODYubwogb2JqLSQo Q09ORklHX0NSWVBUT19UV09GSVNIXzU4NikgKz0gdHdvZmlzaC1pNTg2Lm8KK29iai0kKENPTkZJ R19DUllQVE9fU0FMU0EyMF81ODYpICs9IHNhbHNhMjAtaTU4Ni5vCiAKIG9iai0kKENPTkZJR19D UllQVE9fQUVTX1g4Nl82NCkgKz0gYWVzLXg4Nl82NC5vCiBvYmotJChDT05GSUdfQ1JZUFRPX1RX T0ZJU0hfWDg2XzY0KSArPSB0d29maXNoLXg4Nl82NC5vCiAKIGFlcy1pNTg2LXkgOj0gYWVzLWk1 ODYtYXNtXzMyLm8gYWVzXzMyLm8KIHR3b2Zpc2gtaTU4Ni15IDo9IHR3b2Zpc2gtaTU4Ni1hc21f MzIubyB0d29maXNoXzMyLm8KK3NhbHNhMjAtaTU4Ni15IDo9IHNhbHNhMjAtaTU4Ni1hc21fMzIu byBzYWxzYTIwXzMyLm8KIAogYWVzLXg4Nl82NC15IDo9IGFlcy14ODZfNjQtYXNtXzY0Lm8gYWVz XzY0Lm8KIHR3b2Zpc2gteDg2XzY0LXkgOj0gdHdvZmlzaC14ODZfNjQtYXNtXzY0Lm8gdHdvZmlz aF82NC5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9jcnlwdG8vc2Fsc2EyMC1pNTg2LWFzbV8zMi5T IGIvYXJjaC94ODYvY3J5cHRvL3NhbHNhMjAtaTU4Ni1hc21fMzIuUwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5hOWZhMGRhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYv Y3J5cHRvL3NhbHNhMjAtaTU4Ni1hc21fMzIuUwpAQCAtMCwwICsxLDMwNzUgQEAKKyMgc2Fsc2Ey MF9wbS5zIHZlcnNpb24gMjAwNTEyMjkKKyMgRC4gSi4gQmVybnN0ZWluCisjIFB1YmxpYyBkb21h aW4uCisKKyMgaW50MzIgYQorCisjIGludDMyIHAKKworIyBpbnQzMiBzCisKKyMgaW50MzIgdAor CisjIGludDMyIHcKKworIyBpbnQzMiByCisKKyMgaW50MzIgdgorCisjIHN0YWNrMzIgYXJnMQor CisjIHN0YWNrMzIgYXJnMgorCisjIHN0YWNrMzIgYXJnMworCisjIHN0YWNrMzIgYXJnNAorCisj IGlucHV0IGFyZzEKKworIyBpbnB1dCBhcmcyCisKKyMgaW5wdXQgYXJnMworCisjIGlucHV0IGFy ZzQKKworIyBpbnQzMiBlYXgKKworIyBpbnQzMiBlYngKKworIyBpbnQzMiBlc2kKKworIyBpbnQz MiBlZGkKKworIyBpbnQzMiBlYnAKKworIyBjYWxsZXIgZWF4CisKKyMgY2FsbGVyIGVieAorCisj IGNhbGxlciBlc2kKKworIyBjYWxsZXIgZWRpCisKKyMgY2FsbGVyIGVicAorCisjIGludDMyIGsK KworIyBpbnQzMiBrYml0cworCisjIGludDMyIGl2CisKKyMgaW50MzIgaQorCisjIHN0YWNrMzIg eF9iYWNrdXAKKworIyBpbnQzMiB4CisKKyMgc3RhY2szMiBtX2JhY2t1cAorCisjIGludDMyIG0K KworIyBzdGFjazMyIG91dF9iYWNrdXAKKworIyBpbnQzMiBvdXQKKworIyBzdGFjazMyIGJ5dGVz X2JhY2t1cAorCisjIGludDMyIGJ5dGVzCisKKyMgc3RhY2szMiBlYXhfc3RhY2sKKworIyBzdGFj azMyIGVieF9zdGFjaworCisjIHN0YWNrMzIgZXNpX3N0YWNrCisKKyMgc3RhY2szMiBlZGlfc3Rh Y2sKKworIyBzdGFjazMyIGVicF9zdGFjaworCisjIGludDMyIGluMAorCisjIGludDMyIGluMQor CisjIGludDMyIGluMgorCisjIGludDMyIGluMworCisjIGludDMyIGluNAorCisjIGludDMyIGlu NQorCisjIGludDMyIGluNgorCisjIGludDMyIGluNworCisjIGludDMyIGluOAorCisjIGludDMy IGluOQorCisjIGludDMyIGluMTAKKworIyBpbnQzMiBpbjExCisKKyMgaW50MzIgaW4xMgorCisj IGludDMyIGluMTMKKworIyBpbnQzMiBpbjE0CisKKyMgaW50MzIgaW4xNQorCisjIHN0YWNrMzIg eDAKKworIyBzdGFjazMyIHgxCisKKyMgc3RhY2szMiB4MgorCisjIHN0YWNrMzIgeDMKKworIyBz dGFjazMyIHg0CisKKyMgc3RhY2szMiB4NQorCisjIHN0YWNrMzIgeDYKKworIyBzdGFjazMyIHg3 CisKKyMgc3RhY2szMiB4OAorCisjIHN0YWNrMzIgeDkKKworIyBzdGFjazMyIHgxMAorCisjIHN0 YWNrMzIgeDExCisKKyMgc3RhY2szMiB4MTIKKworIyBzdGFjazMyIHgxMworCisjIHN0YWNrMzIg eDE0CisKKyMgc3RhY2szMiB4MTUKKworIyBzdGFjazMyIGowCisKKyMgc3RhY2szMiBqMQorCisj IHN0YWNrMzIgajIKKworIyBzdGFjazMyIGozCisKKyMgc3RhY2szMiBqNAorCisjIHN0YWNrMzIg ajUKKworIyBzdGFjazMyIGo2CisKKyMgc3RhY2szMiBqNworCisjIHN0YWNrMzIgajgKKworIyBz dGFjazMyIGo5CisKKyMgc3RhY2szMiBqMTAKKworIyBzdGFjazMyIGoxMQorCisjIHN0YWNrMzIg ajEyCisKKyMgc3RhY2szMiBqMTMKKworIyBzdGFjazMyIGoxNAorCisjIHN0YWNrMzIgajE1CisK KyMgc3RhY2s1MTIgdG1wCisKKyMgc3RhY2szMiBjdGFyZ2V0CisKKyMgZW50ZXIgRUNSWVBUX2tl eXN0cmVhbV9ieXRlcworLnRleHQKKy5wMmFsaWduIDUKKy5nbG9ibCBfRUNSWVBUX2tleXN0cmVh bV9ieXRlcworLmdsb2JsIEVDUllQVF9rZXlzdHJlYW1fYnl0ZXMKK19FQ1JZUFRfa2V5c3RyZWFt X2J5dGVzOgorRUNSWVBUX2tleXN0cmVhbV9ieXRlczoKK21vdiAlZXNwLCVlYXgKK2FuZCAkMzEs JWVheAorYWRkICQyNTYsJWVheAorc3ViICVlYXgsJWVzcAorCisjIGVheF9zdGFjayA9IGVheAor IyBtb3ZsIDxlYXg9aW50MzIjMSw+ZWF4X3N0YWNrPXN0YWNrMzIjNQorIyBtb3ZsIDxlYXg9JWVh eCw+ZWF4X3N0YWNrPTgwKCVlc3ApCittb3ZsICVlYXgsODAoJWVzcCkKKworIyBlYnhfc3RhY2sg PSBlYngKKyMgbW92bCA8ZWJ4PWludDMyIzQsPmVieF9zdGFjaz1zdGFjazMyIzYKKyMgbW92bCA8 ZWJ4PSVlYngsPmVieF9zdGFjaz04NCglZXNwKQorbW92bCAlZWJ4LDg0KCVlc3ApCisKKyMgZXNp X3N0YWNrID0gZXNpCisjIG1vdmwgPGVzaT1pbnQzMiM1LD5lc2lfc3RhY2s9c3RhY2szMiM3Cisj IG1vdmwgPGVzaT0lZXNpLD5lc2lfc3RhY2s9ODgoJWVzcCkKK21vdmwgJWVzaSw4OCglZXNwKQor CisjIGVkaV9zdGFjayA9IGVkaQorIyBtb3ZsIDxlZGk9aW50MzIjNiw+ZWRpX3N0YWNrPXN0YWNr MzIjOAorIyBtb3ZsIDxlZGk9JWVkaSw+ZWRpX3N0YWNrPTkyKCVlc3ApCittb3ZsICVlZGksOTIo JWVzcCkKKworIyBlYnBfc3RhY2sgPSBlYnAKKyMgbW92bCA8ZWJwPWludDMyIzcsPmVicF9zdGFj az1zdGFjazMyIzkKKyMgbW92bCA8ZWJwPSVlYnAsPmVicF9zdGFjaz05NiglZXNwKQorbW92bCAl ZWJwLDk2KCVlc3ApCisKKyMgeCA9IGFyZzEKKyMgbW92bCA8YXJnMT1zdGFjazMyIy0xLD54PWlu dDMyIzMKKyMgbW92bCA8YXJnMT00KCVlc3AsJWVheCksPng9JWVkeAorbW92bCA0KCVlc3AsJWVh eCksJWVkeAorCisjIG0gPSBhcmcyCisjIG1vdmwgPGFyZzI9c3RhY2szMiMtMiw+bT1pbnQzMiM1 CisjIG1vdmwgPGFyZzI9OCglZXNwLCVlYXgpLD5tPSVlc2kKK21vdmwgOCglZXNwLCVlYXgpLCVl c2kKKworIyBvdXQgPSBtCisjIG1vdiAgPG09aW50MzIjNSw+b3V0PWludDMyIzYKKyMgbW92ICA8 bT0lZXNpLD5vdXQ9JWVkaQorbW92ICAlZXNpLCVlZGkKKworIyBieXRlcyA9IGFyZzMKKyMgbW92 bCA8YXJnMz1zdGFjazMyIy0zLD5ieXRlcz1pbnQzMiM0CisjIG1vdmwgPGFyZzM9MTIoJWVzcCwl ZWF4KSw+Ynl0ZXM9JWVieAorbW92bCAxMiglZXNwLCVlYXgpLCVlYngKKworIyBieXRlcyAtPSAw CisjIHN1YiAgJDAsPGJ5dGVzPWludDMyIzQKKyMgc3ViICAkMCw8Ynl0ZXM9JWVieAorc3ViICAk MCwlZWJ4CisKKyMgZ290byBkb25lIGlmIHVuc2lnbmVkPD0KK2piZSAuX2RvbmUKKworIyBhID0g MAorIyBtb3YgICQwLD5hPWludDMyIzEKKyMgbW92ICAkMCw+YT0lZWF4Cittb3YgICQwLCVlYXgK KworIyBpID0gYnl0ZXMKKyMgbW92ICA8Ynl0ZXM9aW50MzIjNCw+aT1pbnQzMiMyCisjIG1vdiAg PGJ5dGVzPSVlYngsPmk9JWVjeAorbW92ICAlZWJ4LCVlY3gKKworIyB3aGlsZSAoaSkgeyAqb3V0 KysgPSBhOyAtLWkgfQorcmVwIHN0b3NiCisKKyMgb3V0IC09IGJ5dGVzCisjIHN1YiAgPGJ5dGVz PWludDMyIzQsPG91dD1pbnQzMiM2CisjIHN1YiAgPGJ5dGVzPSVlYngsPG91dD0lZWRpCitzdWIg ICVlYngsJWVkaQorCisjIGdvdG8gc3RhcnQKK2ptcCAuX3N0YXJ0CisKKyMgZW50ZXIgRUNSWVBU X2RlY3J5cHRfYnl0ZXMKKy50ZXh0CisucDJhbGlnbiA1CisuZ2xvYmwgX0VDUllQVF9kZWNyeXB0 X2J5dGVzCisuZ2xvYmwgRUNSWVBUX2RlY3J5cHRfYnl0ZXMKK19FQ1JZUFRfZGVjcnlwdF9ieXRl czoKK0VDUllQVF9kZWNyeXB0X2J5dGVzOgorbW92ICVlc3AsJWVheAorYW5kICQzMSwlZWF4Cith ZGQgJDI1NiwlZWF4CitzdWIgJWVheCwlZXNwCisKKyMgZWF4X3N0YWNrID0gZWF4CisjIG1vdmwg PGVheD1pbnQzMiMxLD5lYXhfc3RhY2s9c3RhY2szMiM1CisjIG1vdmwgPGVheD0lZWF4LD5lYXhf c3RhY2s9ODAoJWVzcCkKK21vdmwgJWVheCw4MCglZXNwKQorCisjIGVieF9zdGFjayA9IGVieAor IyBtb3ZsIDxlYng9aW50MzIjNCw+ZWJ4X3N0YWNrPXN0YWNrMzIjNgorIyBtb3ZsIDxlYng9JWVi eCw+ZWJ4X3N0YWNrPTg0KCVlc3ApCittb3ZsICVlYngsODQoJWVzcCkKKworIyBlc2lfc3RhY2sg PSBlc2kKKyMgbW92bCA8ZXNpPWludDMyIzUsPmVzaV9zdGFjaz1zdGFjazMyIzcKKyMgbW92bCA8 ZXNpPSVlc2ksPmVzaV9zdGFjaz04OCglZXNwKQorbW92bCAlZXNpLDg4KCVlc3ApCisKKyMgZWRp X3N0YWNrID0gZWRpCisjIG1vdmwgPGVkaT1pbnQzMiM2LD5lZGlfc3RhY2s9c3RhY2szMiM4Cisj IG1vdmwgPGVkaT0lZWRpLD5lZGlfc3RhY2s9OTIoJWVzcCkKK21vdmwgJWVkaSw5MiglZXNwKQor CisjIGVicF9zdGFjayA9IGVicAorIyBtb3ZsIDxlYnA9aW50MzIjNyw+ZWJwX3N0YWNrPXN0YWNr MzIjOQorIyBtb3ZsIDxlYnA9JWVicCw+ZWJwX3N0YWNrPTk2KCVlc3ApCittb3ZsICVlYnAsOTYo JWVzcCkKKworIyB4ID0gYXJnMQorIyBtb3ZsIDxhcmcxPXN0YWNrMzIjLTEsPng9aW50MzIjMwor IyBtb3ZsIDxhcmcxPTQoJWVzcCwlZWF4KSw+eD0lZWR4Cittb3ZsIDQoJWVzcCwlZWF4KSwlZWR4 CisKKyMgbSA9IGFyZzIKKyMgbW92bCA8YXJnMj1zdGFjazMyIy0yLD5tPWludDMyIzUKKyMgbW92 bCA8YXJnMj04KCVlc3AsJWVheCksPm09JWVzaQorbW92bCA4KCVlc3AsJWVheCksJWVzaQorCisj IG91dCA9IGFyZzMKKyMgbW92bCA8YXJnMz1zdGFjazMyIy0zLD5vdXQ9aW50MzIjNgorIyBtb3Zs IDxhcmczPTEyKCVlc3AsJWVheCksPm91dD0lZWRpCittb3ZsIDEyKCVlc3AsJWVheCksJWVkaQor CisjIGJ5dGVzID0gYXJnNAorIyBtb3ZsIDxhcmc0PXN0YWNrMzIjLTQsPmJ5dGVzPWludDMyIzQK KyMgbW92bCA8YXJnND0xNiglZXNwLCVlYXgpLD5ieXRlcz0lZWJ4Cittb3ZsIDE2KCVlc3AsJWVh eCksJWVieAorCisjIGJ5dGVzIC09IDAKKyMgc3ViICAkMCw8Ynl0ZXM9aW50MzIjNAorIyBzdWIg ICQwLDxieXRlcz0lZWJ4CitzdWIgICQwLCVlYngKKworIyBnb3RvIGRvbmUgaWYgdW5zaWduZWQ8 PQoramJlIC5fZG9uZQorCisjIGdvdG8gc3RhcnQKK2ptcCAuX3N0YXJ0CisKKyMgZW50ZXIgRUNS WVBUX2VuY3J5cHRfYnl0ZXMKKy50ZXh0CisucDJhbGlnbiA1CisuZ2xvYmwgX0VDUllQVF9lbmNy eXB0X2J5dGVzCisuZ2xvYmwgRUNSWVBUX2VuY3J5cHRfYnl0ZXMKK19FQ1JZUFRfZW5jcnlwdF9i eXRlczoKK0VDUllQVF9lbmNyeXB0X2J5dGVzOgorbW92ICVlc3AsJWVheAorYW5kICQzMSwlZWF4 CithZGQgJDI1NiwlZWF4CitzdWIgJWVheCwlZXNwCisKKyMgZWF4X3N0YWNrID0gZWF4CisjIG1v dmwgPGVheD1pbnQzMiMxLD5lYXhfc3RhY2s9c3RhY2szMiM1CisjIG1vdmwgPGVheD0lZWF4LD5l YXhfc3RhY2s9ODAoJWVzcCkKK21vdmwgJWVheCw4MCglZXNwKQorCisjIGVieF9zdGFjayA9IGVi eAorIyBtb3ZsIDxlYng9aW50MzIjNCw+ZWJ4X3N0YWNrPXN0YWNrMzIjNgorIyBtb3ZsIDxlYng9 JWVieCw+ZWJ4X3N0YWNrPTg0KCVlc3ApCittb3ZsICVlYngsODQoJWVzcCkKKworIyBlc2lfc3Rh Y2sgPSBlc2kKKyMgbW92bCA8ZXNpPWludDMyIzUsPmVzaV9zdGFjaz1zdGFjazMyIzcKKyMgbW92 bCA8ZXNpPSVlc2ksPmVzaV9zdGFjaz04OCglZXNwKQorbW92bCAlZXNpLDg4KCVlc3ApCisKKyMg ZWRpX3N0YWNrID0gZWRpCisjIG1vdmwgPGVkaT1pbnQzMiM2LD5lZGlfc3RhY2s9c3RhY2szMiM4 CisjIG1vdmwgPGVkaT0lZWRpLD5lZGlfc3RhY2s9OTIoJWVzcCkKK21vdmwgJWVkaSw5MiglZXNw KQorCisjIGVicF9zdGFjayA9IGVicAorIyBtb3ZsIDxlYnA9aW50MzIjNyw+ZWJwX3N0YWNrPXN0 YWNrMzIjOQorIyBtb3ZsIDxlYnA9JWVicCw+ZWJwX3N0YWNrPTk2KCVlc3ApCittb3ZsICVlYnAs OTYoJWVzcCkKKworIyB4ID0gYXJnMQorIyBtb3ZsIDxhcmcxPXN0YWNrMzIjLTEsPng9aW50MzIj MworIyBtb3ZsIDxhcmcxPTQoJWVzcCwlZWF4KSw+eD0lZWR4Cittb3ZsIDQoJWVzcCwlZWF4KSwl ZWR4CisKKyMgbSA9IGFyZzIKKyMgbW92bCA8YXJnMj1zdGFjazMyIy0yLD5tPWludDMyIzUKKyMg bW92bCA8YXJnMj04KCVlc3AsJWVheCksPm09JWVzaQorbW92bCA4KCVlc3AsJWVheCksJWVzaQor CisjIG91dCA9IGFyZzMKKyMgbW92bCA8YXJnMz1zdGFjazMyIy0zLD5vdXQ9aW50MzIjNgorIyBt b3ZsIDxhcmczPTEyKCVlc3AsJWVheCksPm91dD0lZWRpCittb3ZsIDEyKCVlc3AsJWVheCksJWVk aQorCisjIGJ5dGVzID0gYXJnNAorIyBtb3ZsIDxhcmc0PXN0YWNrMzIjLTQsPmJ5dGVzPWludDMy IzQKKyMgbW92bCA8YXJnND0xNiglZXNwLCVlYXgpLD5ieXRlcz0lZWJ4Cittb3ZsIDE2KCVlc3As JWVheCksJWVieAorCisjIGJ5dGVzIC09IDAKKyMgc3ViICAkMCw8Ynl0ZXM9aW50MzIjNAorIyBz dWIgICQwLDxieXRlcz0lZWJ4CitzdWIgICQwLCVlYngKKworIyBnb3RvIGRvbmUgaWYgdW5zaWdu ZWQ8PQoramJlIC5fZG9uZQorCisjIHN0YXJ0IworLl9zdGFydDoKKworIyBpbjAgPSAqKHVpbnQz MiAqKSAoeCArIDApCisjIG1vdmwgMCg8eD1pbnQzMiMzKSw+aW4wPWludDMyIzEKKyMgbW92bCAw KDx4PSVlZHgpLD5pbjA9JWVheAorbW92bCAwKCVlZHgpLCVlYXgKKworIyBpbjEgPSAqKHVpbnQz MiAqKSAoeCArIDQpCisjIG1vdmwgNCg8eD1pbnQzMiMzKSw+aW4xPWludDMyIzIKKyMgbW92bCA0 KDx4PSVlZHgpLD5pbjE9JWVjeAorbW92bCA0KCVlZHgpLCVlY3gKKworIyBpbjIgPSAqKHVpbnQz MiAqKSAoeCArIDgpCisjIG1vdmwgOCg8eD1pbnQzMiMzKSw+aW4yPWludDMyIzcKKyMgbW92bCA4 KDx4PSVlZHgpLD5pbjI9JWVicAorbW92bCA4KCVlZHgpLCVlYnAKKworIyBqMCA9IGluMAorIyBt b3ZsIDxpbjA9aW50MzIjMSw+ajA9c3RhY2szMiMyNgorIyBtb3ZsIDxpbjA9JWVheCw+ajA9MTY0 KCVlc3ApCittb3ZsICVlYXgsMTY0KCVlc3ApCisKKyMgaW4zID0gKih1aW50MzIgKikgKHggKyAx MikKKyMgbW92bCAxMig8eD1pbnQzMiMzKSw+aW4zPWludDMyIzEKKyMgbW92bCAxMig8eD0lZWR4 KSw+aW4zPSVlYXgKK21vdmwgMTIoJWVkeCksJWVheAorCisjIGoxID0gaW4xCisjIG1vdmwgPGlu MT1pbnQzMiMyLD5qMT1zdGFjazMyIzI3CisjIG1vdmwgPGluMT0lZWN4LD5qMT0xNjgoJWVzcCkK K21vdmwgJWVjeCwxNjgoJWVzcCkKKworIyBpbjQgPSAqKHVpbnQzMiAqKSAoeCArIDE2KQorIyBt b3ZsIDE2KDx4PWludDMyIzMpLD5pbjQ9aW50MzIjMgorIyBtb3ZsIDE2KDx4PSVlZHgpLD5pbjQ9 JWVjeAorbW92bCAxNiglZWR4KSwlZWN4CisKKyMgajIgPSBpbjIKKyMgbW92bCA8aW4yPWludDMy IzcsPmoyPXN0YWNrMzIjMjgKKyMgbW92bCA8aW4yPSVlYnAsPmoyPTE3MiglZXNwKQorbW92bCAl ZWJwLDE3MiglZXNwKQorCisjIGluNSA9ICoodWludDMyICopICh4ICsgMjApCisjIG1vdmwgMjAo PHg9aW50MzIjMyksPmluNT1pbnQzMiM3CisjIG1vdmwgMjAoPHg9JWVkeCksPmluNT0lZWJwCitt b3ZsIDIwKCVlZHgpLCVlYnAKKworIyBqMyA9IGluMworIyBtb3ZsIDxpbjM9aW50MzIjMSw+ajM9 c3RhY2szMiMyOQorIyBtb3ZsIDxpbjM9JWVheCw+ajM9MTc2KCVlc3ApCittb3ZsICVlYXgsMTc2 KCVlc3ApCisKKyMgaW42ID0gKih1aW50MzIgKikgKHggKyAyNCkKKyMgbW92bCAyNCg8eD1pbnQz MiMzKSw+aW42PWludDMyIzEKKyMgbW92bCAyNCg8eD0lZWR4KSw+aW42PSVlYXgKK21vdmwgMjQo JWVkeCksJWVheAorCisjIGo0ID0gaW40CisjIG1vdmwgPGluND1pbnQzMiMyLD5qND1zdGFjazMy IzMwCisjIG1vdmwgPGluND0lZWN4LD5qND0xODAoJWVzcCkKK21vdmwgJWVjeCwxODAoJWVzcCkK KworIyBpbjcgPSAqKHVpbnQzMiAqKSAoeCArIDI4KQorIyBtb3ZsIDI4KDx4PWludDMyIzMpLD5p bjc9aW50MzIjMgorIyBtb3ZsIDI4KDx4PSVlZHgpLD5pbjc9JWVjeAorbW92bCAyOCglZWR4KSwl ZWN4CisKKyMgajUgPSBpbjUKKyMgbW92bCA8aW41PWludDMyIzcsPmo1PXN0YWNrMzIjMzEKKyMg bW92bCA8aW41PSVlYnAsPmo1PTE4NCglZXNwKQorbW92bCAlZWJwLDE4NCglZXNwKQorCisjIGlu OCA9ICoodWludDMyICopICh4ICsgMzIpCisjIG1vdmwgMzIoPHg9aW50MzIjMyksPmluOD1pbnQz MiM3CisjIG1vdmwgMzIoPHg9JWVkeCksPmluOD0lZWJwCittb3ZsIDMyKCVlZHgpLCVlYnAKKwor IyBqNiA9IGluNgorIyBtb3ZsIDxpbjY9aW50MzIjMSw+ajY9c3RhY2szMiMzMgorIyBtb3ZsIDxp bjY9JWVheCw+ajY9MTg4KCVlc3ApCittb3ZsICVlYXgsMTg4KCVlc3ApCisKKyMgaW45ID0gKih1 aW50MzIgKikgKHggKyAzNikKKyMgbW92bCAzNig8eD1pbnQzMiMzKSw+aW45PWludDMyIzEKKyMg bW92bCAzNig8eD0lZWR4KSw+aW45PSVlYXgKK21vdmwgMzYoJWVkeCksJWVheAorCisjIGo3ID0g aW43CisjIG1vdmwgPGluNz1pbnQzMiMyLD5qNz1zdGFjazMyIzMzCisjIG1vdmwgPGluNz0lZWN4 LD5qNz0xOTIoJWVzcCkKK21vdmwgJWVjeCwxOTIoJWVzcCkKKworIyBpbjEwID0gKih1aW50MzIg KikgKHggKyA0MCkKKyMgbW92bCA0MCg8eD1pbnQzMiMzKSw+aW4xMD1pbnQzMiMyCisjIG1vdmwg NDAoPHg9JWVkeCksPmluMTA9JWVjeAorbW92bCA0MCglZWR4KSwlZWN4CisKKyMgajggPSBpbjgK KyMgbW92bCA8aW44PWludDMyIzcsPmo4PXN0YWNrMzIjMzQKKyMgbW92bCA8aW44PSVlYnAsPmo4 PTE5NiglZXNwKQorbW92bCAlZWJwLDE5NiglZXNwKQorCisjIGluMTEgPSAqKHVpbnQzMiAqKSAo eCArIDQ0KQorIyBtb3ZsIDQ0KDx4PWludDMyIzMpLD5pbjExPWludDMyIzcKKyMgbW92bCA0NCg8 eD0lZWR4KSw+aW4xMT0lZWJwCittb3ZsIDQ0KCVlZHgpLCVlYnAKKworIyBqOSA9IGluOQorIyBt b3ZsIDxpbjk9aW50MzIjMSw+ajk9c3RhY2szMiMzNQorIyBtb3ZsIDxpbjk9JWVheCw+ajk9MjAw KCVlc3ApCittb3ZsICVlYXgsMjAwKCVlc3ApCisKKyMgaW4xMiA9ICoodWludDMyICopICh4ICsg NDgpCisjIG1vdmwgNDgoPHg9aW50MzIjMyksPmluMTI9aW50MzIjMQorIyBtb3ZsIDQ4KDx4PSVl ZHgpLD5pbjEyPSVlYXgKK21vdmwgNDgoJWVkeCksJWVheAorCisjIGoxMCA9IGluMTAKKyMgbW92 bCA8aW4xMD1pbnQzMiMyLD5qMTA9c3RhY2szMiMzNgorIyBtb3ZsIDxpbjEwPSVlY3gsPmoxMD0y MDQoJWVzcCkKK21vdmwgJWVjeCwyMDQoJWVzcCkKKworIyBpbjEzID0gKih1aW50MzIgKikgKHgg KyA1MikKKyMgbW92bCA1Mig8eD1pbnQzMiMzKSw+aW4xMz1pbnQzMiMyCisjIG1vdmwgNTIoPHg9 JWVkeCksPmluMTM9JWVjeAorbW92bCA1MiglZWR4KSwlZWN4CisKKyMgajExID0gaW4xMQorIyBt b3ZsIDxpbjExPWludDMyIzcsPmoxMT1zdGFjazMyIzM3CisjIG1vdmwgPGluMTE9JWVicCw+ajEx PTIwOCglZXNwKQorbW92bCAlZWJwLDIwOCglZXNwKQorCisjIGluMTQgPSAqKHVpbnQzMiAqKSAo eCArIDU2KQorIyBtb3ZsIDU2KDx4PWludDMyIzMpLD5pbjE0PWludDMyIzcKKyMgbW92bCA1Nig8 eD0lZWR4KSw+aW4xND0lZWJwCittb3ZsIDU2KCVlZHgpLCVlYnAKKworIyBqMTIgPSBpbjEyCisj IG1vdmwgPGluMTI9aW50MzIjMSw+ajEyPXN0YWNrMzIjMzgKKyMgbW92bCA8aW4xMj0lZWF4LD5q MTI9MjEyKCVlc3ApCittb3ZsICVlYXgsMjEyKCVlc3ApCisKKyMgaW4xNSA9ICoodWludDMyICop ICh4ICsgNjApCisjIG1vdmwgNjAoPHg9aW50MzIjMyksPmluMTU9aW50MzIjMQorIyBtb3ZsIDYw KDx4PSVlZHgpLD5pbjE1PSVlYXgKK21vdmwgNjAoJWVkeCksJWVheAorCisjIGoxMyA9IGluMTMK KyMgbW92bCA8aW4xMz1pbnQzMiMyLD5qMTM9c3RhY2szMiMzOQorIyBtb3ZsIDxpbjEzPSVlY3gs PmoxMz0yMTYoJWVzcCkKK21vdmwgJWVjeCwyMTYoJWVzcCkKKworIyBqMTQgPSBpbjE0CisjIG1v dmwgPGluMTQ9aW50MzIjNyw+ajE0PXN0YWNrMzIjNDAKKyMgbW92bCA8aW4xND0lZWJwLD5qMTQ9 MjIwKCVlc3ApCittb3ZsICVlYnAsMjIwKCVlc3ApCisKKyMgajE1ID0gaW4xNQorIyBtb3ZsIDxp bjE1PWludDMyIzEsPmoxNT1zdGFjazMyIzQxCisjIG1vdmwgPGluMTU9JWVheCw+ajE1PTIyNCgl ZXNwKQorbW92bCAlZWF4LDIyNCglZXNwKQorCisjIHhfYmFja3VwID0geAorIyBtb3ZsIDx4PWlu dDMyIzMsPnhfYmFja3VwPXN0YWNrMzIjMQorIyBtb3ZsIDx4PSVlZHgsPnhfYmFja3VwPTY0KCVl c3ApCittb3ZsICVlZHgsNjQoJWVzcCkKKworIyBieXRlc2F0bGVhc3QxIworLl9ieXRlc2F0bGVh c3QxOgorCisjICAgYnl0ZXMgLSA2NAorIyBjbXAgICQ2NCw8Ynl0ZXM9aW50MzIjNAorIyBjbXAg ICQ2NCw8Ynl0ZXM9JWVieAorY21wICAkNjQsJWVieAorCisjICAgZ290byBub2NvcHkgaWYgdW5z aWduZWQ+PQoramFlIC5fbm9jb3B5CisKKyMgICAgIGN0YXJnZXQgPSBvdXQKKyMgbW92bCA8b3V0 PWludDMyIzYsPmN0YXJnZXQ9c3RhY2szMiM0MgorIyBtb3ZsIDxvdXQ9JWVkaSw+Y3RhcmdldD0y MjgoJWVzcCkKK21vdmwgJWVkaSwyMjgoJWVzcCkKKworIyAgICAgb3V0ID0gJnRtcAorIyBsZWFs ID50bXA9c3RhY2s1MTIjMSw+b3V0PWludDMyIzYKKyMgbGVhbCA+dG1wPTAoJWVzcCksPm91dD0l ZWRpCitsZWFsIDAoJWVzcCksJWVkaQorCisjICAgICBpID0gYnl0ZXMKKyMgbW92ICA8Ynl0ZXM9 aW50MzIjNCw+aT1pbnQzMiMyCisjIG1vdiAgPGJ5dGVzPSVlYngsPmk9JWVjeAorbW92ICAlZWJ4 LCVlY3gKKworIyAgICAgd2hpbGUgKGkpIHsgKm91dCsrID0gKm0rKzsgLS1pIH0KK3JlcCBtb3Zz YgorCisjICAgICBvdXQgPSAmdG1wCisjIGxlYWwgPnRtcD1zdGFjazUxMiMxLD5vdXQ9aW50MzIj NgorIyBsZWFsID50bXA9MCglZXNwKSw+b3V0PSVlZGkKK2xlYWwgMCglZXNwKSwlZWRpCisKKyMg ICAgIG0gPSAmdG1wCisjIGxlYWwgPnRtcD1zdGFjazUxMiMxLD5tPWludDMyIzUKKyMgbGVhbCA+ dG1wPTAoJWVzcCksPm09JWVzaQorbGVhbCAwKCVlc3ApLCVlc2kKKworIyAgIG5vY29weSMKKy5f bm9jb3B5OgorCisjICAgb3V0X2JhY2t1cCA9IG91dAorIyBtb3ZsIDxvdXQ9aW50MzIjNiw+b3V0 X2JhY2t1cD1zdGFjazMyIzMKKyMgbW92bCA8b3V0PSVlZGksPm91dF9iYWNrdXA9NzIoJWVzcCkK K21vdmwgJWVkaSw3MiglZXNwKQorCisjICAgbV9iYWNrdXAgPSBtCisjIG1vdmwgPG09aW50MzIj NSw+bV9iYWNrdXA9c3RhY2szMiMyCisjIG1vdmwgPG09JWVzaSw+bV9iYWNrdXA9NjgoJWVzcCkK K21vdmwgJWVzaSw2OCglZXNwKQorCisjICAgYnl0ZXNfYmFja3VwID0gYnl0ZXMKKyMgbW92bCA8 Ynl0ZXM9aW50MzIjNCw+Ynl0ZXNfYmFja3VwPXN0YWNrMzIjNAorIyBtb3ZsIDxieXRlcz0lZWJ4 LD5ieXRlc19iYWNrdXA9NzYoJWVzcCkKK21vdmwgJWVieCw3NiglZXNwKQorCisjICAgaW4wID0g ajAKKyMgbW92bCA8ajA9c3RhY2szMiMyNiw+aW4wPWludDMyIzEKKyMgbW92bCA8ajA9MTY0KCVl c3ApLD5pbjA9JWVheAorbW92bCAxNjQoJWVzcCksJWVheAorCisjICAgaW4xID0gajEKKyMgbW92 bCA8ajE9c3RhY2szMiMyNyw+aW4xPWludDMyIzIKKyMgbW92bCA8ajE9MTY4KCVlc3ApLD5pbjE9 JWVjeAorbW92bCAxNjgoJWVzcCksJWVjeAorCisjICAgaW4yID0gajIKKyMgbW92bCA8ajI9c3Rh Y2szMiMyOCw+aW4yPWludDMyIzMKKyMgbW92bCA8ajI9MTcyKCVlc3ApLD5pbjI9JWVkeAorbW92 bCAxNzIoJWVzcCksJWVkeAorCisjICAgaW4zID0gajMKKyMgbW92bCA8ajM9c3RhY2szMiMyOSw+ aW4zPWludDMyIzQKKyMgbW92bCA8ajM9MTc2KCVlc3ApLD5pbjM9JWVieAorbW92bCAxNzYoJWVz cCksJWVieAorCisjICAgeDAgPSBpbjAKKyMgbW92bCA8aW4wPWludDMyIzEsPngwPXN0YWNrMzIj MTAKKyMgbW92bCA8aW4wPSVlYXgsPngwPTEwMCglZXNwKQorbW92bCAlZWF4LDEwMCglZXNwKQor CisjICAgeDEgPSBpbjEKKyMgbW92bCA8aW4xPWludDMyIzIsPngxPXN0YWNrMzIjMTEKKyMgbW92 bCA8aW4xPSVlY3gsPngxPTEwNCglZXNwKQorbW92bCAlZWN4LDEwNCglZXNwKQorCisjICAgeDIg PSBpbjIKKyMgbW92bCA8aW4yPWludDMyIzMsPngyPXN0YWNrMzIjMTIKKyMgbW92bCA8aW4yPSVl ZHgsPngyPTEwOCglZXNwKQorbW92bCAlZWR4LDEwOCglZXNwKQorCisjICAgeDMgPSBpbjMKKyMg bW92bCA8aW4zPWludDMyIzQsPngzPXN0YWNrMzIjMTMKKyMgbW92bCA8aW4zPSVlYngsPngzPTEx MiglZXNwKQorbW92bCAlZWJ4LDExMiglZXNwKQorCisjICAgaW40ID0gajQKKyMgbW92bCA8ajQ9 c3RhY2szMiMzMCw+aW40PWludDMyIzEKKyMgbW92bCA8ajQ9MTgwKCVlc3ApLD5pbjQ9JWVheAor bW92bCAxODAoJWVzcCksJWVheAorCisjICAgaW41ID0gajUKKyMgbW92bCA8ajU9c3RhY2szMiMz MSw+aW41PWludDMyIzIKKyMgbW92bCA8ajU9MTg0KCVlc3ApLD5pbjU9JWVjeAorbW92bCAxODQo JWVzcCksJWVjeAorCisjICAgaW42ID0gajYKKyMgbW92bCA8ajY9c3RhY2szMiMzMiw+aW42PWlu dDMyIzMKKyMgbW92bCA8ajY9MTg4KCVlc3ApLD5pbjY9JWVkeAorbW92bCAxODgoJWVzcCksJWVk eAorCisjICAgaW43ID0gajcKKyMgbW92bCA8ajc9c3RhY2szMiMzMyw+aW43PWludDMyIzQKKyMg bW92bCA8ajc9MTkyKCVlc3ApLD5pbjc9JWVieAorbW92bCAxOTIoJWVzcCksJWVieAorCisjICAg eDQgPSBpbjQKKyMgbW92bCA8aW40PWludDMyIzEsPng0PXN0YWNrMzIjMTQKKyMgbW92bCA8aW40 PSVlYXgsPng0PTExNiglZXNwKQorbW92bCAlZWF4LDExNiglZXNwKQorCisjICAgeDUgPSBpbjUK KyMgbW92bCA8aW41PWludDMyIzIsPng1PXN0YWNrMzIjMTUKKyMgbW92bCA8aW41PSVlY3gsPng1 PTEyMCglZXNwKQorbW92bCAlZWN4LDEyMCglZXNwKQorCisjICAgeDYgPSBpbjYKKyMgbW92bCA8 aW42PWludDMyIzMsPng2PXN0YWNrMzIjMTYKKyMgbW92bCA8aW42PSVlZHgsPng2PTEyNCglZXNw KQorbW92bCAlZWR4LDEyNCglZXNwKQorCisjICAgeDcgPSBpbjcKKyMgbW92bCA8aW43PWludDMy IzQsPng3PXN0YWNrMzIjMTcKKyMgbW92bCA8aW43PSVlYngsPng3PTEyOCglZXNwKQorbW92bCAl ZWJ4LDEyOCglZXNwKQorCisjICAgaW44ID0gajgKKyMgbW92bCA8ajg9c3RhY2szMiMzNCw+aW44 PWludDMyIzEKKyMgbW92bCA8ajg9MTk2KCVlc3ApLD5pbjg9JWVheAorbW92bCAxOTYoJWVzcCks JWVheAorCisjICAgaW45ID0gajkKKyMgbW92bCA8ajk9c3RhY2szMiMzNSw+aW45PWludDMyIzIK KyMgbW92bCA8ajk9MjAwKCVlc3ApLD5pbjk9JWVjeAorbW92bCAyMDAoJWVzcCksJWVjeAorCisj ICAgaW4xMCA9IGoxMAorIyBtb3ZsIDxqMTA9c3RhY2szMiMzNiw+aW4xMD1pbnQzMiMzCisjIG1v dmwgPGoxMD0yMDQoJWVzcCksPmluMTA9JWVkeAorbW92bCAyMDQoJWVzcCksJWVkeAorCisjICAg aW4xMSA9IGoxMQorIyBtb3ZsIDxqMTE9c3RhY2szMiMzNyw+aW4xMT1pbnQzMiM0CisjIG1vdmwg PGoxMT0yMDgoJWVzcCksPmluMTE9JWVieAorbW92bCAyMDgoJWVzcCksJWVieAorCisjICAgeDgg PSBpbjgKKyMgbW92bCA8aW44PWludDMyIzEsPng4PXN0YWNrMzIjMTgKKyMgbW92bCA8aW44PSVl YXgsPng4PTEzMiglZXNwKQorbW92bCAlZWF4LDEzMiglZXNwKQorCisjICAgeDkgPSBpbjkKKyMg bW92bCA8aW45PWludDMyIzIsPng5PXN0YWNrMzIjMTkKKyMgbW92bCA8aW45PSVlY3gsPng5PTEz NiglZXNwKQorbW92bCAlZWN4LDEzNiglZXNwKQorCisjICAgeDEwID0gaW4xMAorIyBtb3ZsIDxp bjEwPWludDMyIzMsPngxMD1zdGFjazMyIzIwCisjIG1vdmwgPGluMTA9JWVkeCw+eDEwPTE0MCgl ZXNwKQorbW92bCAlZWR4LDE0MCglZXNwKQorCisjICAgeDExID0gaW4xMQorIyBtb3ZsIDxpbjEx PWludDMyIzQsPngxMT1zdGFjazMyIzIxCisjIG1vdmwgPGluMTE9JWVieCw+eDExPTE0NCglZXNw KQorbW92bCAlZWJ4LDE0NCglZXNwKQorCisjICAgaW4xMiA9IGoxMgorIyBtb3ZsIDxqMTI9c3Rh Y2szMiMzOCw+aW4xMj1pbnQzMiMxCisjIG1vdmwgPGoxMj0yMTIoJWVzcCksPmluMTI9JWVheAor bW92bCAyMTIoJWVzcCksJWVheAorCisjICAgaW4xMyA9IGoxMworIyBtb3ZsIDxqMTM9c3RhY2sz MiMzOSw+aW4xMz1pbnQzMiMyCisjIG1vdmwgPGoxMz0yMTYoJWVzcCksPmluMTM9JWVjeAorbW92 bCAyMTYoJWVzcCksJWVjeAorCisjICAgaW4xNCA9IGoxNAorIyBtb3ZsIDxqMTQ9c3RhY2szMiM0 MCw+aW4xND1pbnQzMiMzCisjIG1vdmwgPGoxND0yMjAoJWVzcCksPmluMTQ9JWVkeAorbW92bCAy MjAoJWVzcCksJWVkeAorCisjICAgaW4xNSA9IGoxNQorIyBtb3ZsIDxqMTU9c3RhY2szMiM0MSw+ aW4xNT1pbnQzMiM0CisjIG1vdmwgPGoxNT0yMjQoJWVzcCksPmluMTU9JWVieAorbW92bCAyMjQo JWVzcCksJWVieAorCisjICAgeDEyID0gaW4xMgorIyBtb3ZsIDxpbjEyPWludDMyIzEsPngxMj1z dGFjazMyIzIyCisjIG1vdmwgPGluMTI9JWVheCw+eDEyPTE0OCglZXNwKQorbW92bCAlZWF4LDE0 OCglZXNwKQorCisjICAgeDEzID0gaW4xMworIyBtb3ZsIDxpbjEzPWludDMyIzIsPngxMz1zdGFj azMyIzIzCisjIG1vdmwgPGluMTM9JWVjeCw+eDEzPTE1MiglZXNwKQorbW92bCAlZWN4LDE1Migl ZXNwKQorCisjICAgeDE0ID0gaW4xNAorIyBtb3ZsIDxpbjE0PWludDMyIzMsPngxND1zdGFjazMy IzI0CisjIG1vdmwgPGluMTQ9JWVkeCw+eDE0PTE1NiglZXNwKQorbW92bCAlZWR4LDE1NiglZXNw KQorCisjICAgeDE1ID0gaW4xNQorIyBtb3ZsIDxpbjE1PWludDMyIzQsPngxNT1zdGFjazMyIzI1 CisjIG1vdmwgPGluMTU9JWVieCw+eDE1PTE2MCglZXNwKQorbW92bCAlZWJ4LDE2MCglZXNwKQor CisjICAgaSA9IDIwCisjIG1vdiAgJDIwLD5pPWludDMyIzcKKyMgbW92ICAkMjAsPmk9JWVicAor bW92ICAkMjAsJWVicAorCisjIHAgPSB4MAorIyBtb3ZsIDx4MD1zdGFjazMyIzEwLD5wPWludDMy IzEKKyMgbW92bCA8eDA9MTAwKCVlc3ApLD5wPSVlYXgKK21vdmwgMTAwKCVlc3ApLCVlYXgKKwor IyBzID0geDUKKyMgbW92bCA8eDU9c3RhY2szMiMxNSw+cz1pbnQzMiMyCisjIG1vdmwgPHg1PTEy MCglZXNwKSw+cz0lZWN4Cittb3ZsIDEyMCglZXNwKSwlZWN4CisKKyMgdCA9IHgxMAorIyBtb3Zs IDx4MTA9c3RhY2szMiMyMCw+dD1pbnQzMiMzCisjIG1vdmwgPHgxMD0xNDAoJWVzcCksPnQ9JWVk eAorbW92bCAxNDAoJWVzcCksJWVkeAorCisjIHcgPSB4MTUKKyMgbW92bCA8eDE1PXN0YWNrMzIj MjUsPnc9aW50MzIjNAorIyBtb3ZsIDx4MTU9MTYwKCVlc3ApLD53PSVlYngKK21vdmwgMTYwKCVl c3ApLCVlYngKKworIyBtYWlubG9vcCMKKy5fbWFpbmxvb3A6CisKKyMgeDAgPSBwCisjIG1vdmwg PHA9aW50MzIjMSw+eDA9c3RhY2szMiMxMAorIyBtb3ZsIDxwPSVlYXgsPngwPTEwMCglZXNwKQor bW92bCAlZWF4LDEwMCglZXNwKQorCisjIAkJCQl4MTAgPSB0CisjIG1vdmwgPHQ9aW50MzIjMyw+ eDEwPXN0YWNrMzIjMjAKKyMgbW92bCA8dD0lZWR4LD54MTA9MTQwKCVlc3ApCittb3ZsICVlZHgs MTQwKCVlc3ApCisKKyMgcCArPSB4MTIKKyMgYWRkbCA8eDEyPXN0YWNrMzIjMjIsPHA9aW50MzIj MQorIyBhZGRsIDx4MTI9MTQ4KCVlc3ApLDxwPSVlYXgKK2FkZGwgMTQ4KCVlc3ApLCVlYXgKKwor IyAJCXg1ID0gcworIyBtb3ZsIDxzPWludDMyIzIsPng1PXN0YWNrMzIjMTUKKyMgbW92bCA8cz0l ZWN4LD54NT0xMjAoJWVzcCkKK21vdmwgJWVjeCwxMjAoJWVzcCkKKworIyAJCQkJdCArPSB4Ngor IyBhZGRsIDx4Nj1zdGFjazMyIzE2LDx0PWludDMyIzMKKyMgYWRkbCA8eDY9MTI0KCVlc3ApLDx0 PSVlZHgKK2FkZGwgMTI0KCVlc3ApLCVlZHgKKworIyAJCQkJCQl4MTUgPSB3CisjIG1vdmwgPHc9 aW50MzIjNCw+eDE1PXN0YWNrMzIjMjUKKyMgbW92bCA8dz0lZWJ4LD54MTU9MTYwKCVlc3ApCitt b3ZsICVlYngsMTYwKCVlc3ApCisKKyMgCQlyID0geDEKKyMgbW92bCA8eDE9c3RhY2szMiMxMSw+ cj1pbnQzMiM1CisjIG1vdmwgPHgxPTEwNCglZXNwKSw+cj0lZXNpCittb3ZsIDEwNCglZXNwKSwl ZXNpCisKKyMgCQlyICs9IHMKKyMgYWRkICA8cz1pbnQzMiMyLDxyPWludDMyIzUKKyMgYWRkICA8 cz0lZWN4LDxyPSVlc2kKK2FkZCAgJWVjeCwlZXNpCisKKyMgCQkJCQkJdiA9IHgxMQorIyBtb3Zs IDx4MTE9c3RhY2szMiMyMSw+dj1pbnQzMiM2CisjIG1vdmwgPHgxMT0xNDQoJWVzcCksPnY9JWVk aQorbW92bCAxNDQoJWVzcCksJWVkaQorCisjIAkJCQkJCXYgKz0gdworIyBhZGQgIDx3PWludDMy IzQsPHY9aW50MzIjNgorIyBhZGQgIDx3PSVlYngsPHY9JWVkaQorYWRkICAlZWJ4LCVlZGkKKwor IyBwIDw8PD0gNworIyByb2wgICQ3LDxwPWludDMyIzEKKyMgcm9sICAkNyw8cD0lZWF4Cityb2wg ICQ3LCVlYXgKKworIyBwIF49IHg0CisjIHhvcmwgPHg0PXN0YWNrMzIjMTQsPHA9aW50MzIjMQor IyB4b3JsIDx4ND0xMTYoJWVzcCksPHA9JWVheAoreG9ybCAxMTYoJWVzcCksJWVheAorCisjIAkJ CQl0IDw8PD0gNworIyByb2wgICQ3LDx0PWludDMyIzMKKyMgcm9sICAkNyw8dD0lZWR4Cityb2wg ICQ3LCVlZHgKKworIyAJCQkJdCBePSB4MTQKKyMgeG9ybCA8eDE0PXN0YWNrMzIjMjQsPHQ9aW50 MzIjMworIyB4b3JsIDx4MTQ9MTU2KCVlc3ApLDx0PSVlZHgKK3hvcmwgMTU2KCVlc3ApLCVlZHgK KworIyAJCXIgPDw8PSA3CisjIHJvbCAgJDcsPHI9aW50MzIjNQorIyByb2wgICQ3LDxyPSVlc2kK K3JvbCAgJDcsJWVzaQorCisjIAkJciBePSB4OQorIyB4b3JsIDx4OT1zdGFjazMyIzE5LDxyPWlu dDMyIzUKKyMgeG9ybCA8eDk9MTM2KCVlc3ApLDxyPSVlc2kKK3hvcmwgMTM2KCVlc3ApLCVlc2kK KworIyAJCQkJCQl2IDw8PD0gNworIyByb2wgICQ3LDx2PWludDMyIzYKKyMgcm9sICAkNyw8dj0l ZWRpCityb2wgICQ3LCVlZGkKKworIyAJCQkJCQl2IF49IHgzCisjIHhvcmwgPHgzPXN0YWNrMzIj MTMsPHY9aW50MzIjNgorIyB4b3JsIDx4Mz0xMTIoJWVzcCksPHY9JWVkaQoreG9ybCAxMTIoJWVz cCksJWVkaQorCisjIHg0ID0gcAorIyBtb3ZsIDxwPWludDMyIzEsPng0PXN0YWNrMzIjMTQKKyMg bW92bCA8cD0lZWF4LD54ND0xMTYoJWVzcCkKK21vdmwgJWVheCwxMTYoJWVzcCkKKworIyAJCQkJ eDE0ID0gdAorIyBtb3ZsIDx0PWludDMyIzMsPngxND1zdGFjazMyIzI0CisjIG1vdmwgPHQ9JWVk eCw+eDE0PTE1NiglZXNwKQorbW92bCAlZWR4LDE1NiglZXNwKQorCisjIHAgKz0geDAKKyMgYWRk bCA8eDA9c3RhY2szMiMxMCw8cD1pbnQzMiMxCisjIGFkZGwgPHgwPTEwMCglZXNwKSw8cD0lZWF4 CithZGRsIDEwMCglZXNwKSwlZWF4CisKKyMgCQl4OSA9IHIKKyMgbW92bCA8cj1pbnQzMiM1LD54 OT1zdGFjazMyIzE5CisjIG1vdmwgPHI9JWVzaSw+eDk9MTM2KCVlc3ApCittb3ZsICVlc2ksMTM2 KCVlc3ApCisKKyMgCQkJCXQgKz0geDEwCisjIGFkZGwgPHgxMD1zdGFjazMyIzIwLDx0PWludDMy IzMKKyMgYWRkbCA8eDEwPTE0MCglZXNwKSw8dD0lZWR4CithZGRsIDE0MCglZXNwKSwlZWR4CisK KyMgCQkJCQkJeDMgPSB2CisjIG1vdmwgPHY9aW50MzIjNiw+eDM9c3RhY2szMiMxMworIyBtb3Zs IDx2PSVlZGksPngzPTExMiglZXNwKQorbW92bCAlZWRpLDExMiglZXNwKQorCisjIHAgPDw8PSA5 CisjIHJvbCAgJDksPHA9aW50MzIjMQorIyByb2wgICQ5LDxwPSVlYXgKK3JvbCAgJDksJWVheAor CisjIHAgXj0geDgKKyMgeG9ybCA8eDg9c3RhY2szMiMxOCw8cD1pbnQzMiMxCisjIHhvcmwgPHg4 PTEzMiglZXNwKSw8cD0lZWF4Cit4b3JsIDEzMiglZXNwKSwlZWF4CisKKyMgCQkJCXQgPDw8PSA5 CisjIHJvbCAgJDksPHQ9aW50MzIjMworIyByb2wgICQ5LDx0PSVlZHgKK3JvbCAgJDksJWVkeAor CisjIAkJCQl0IF49IHgyCisjIHhvcmwgPHgyPXN0YWNrMzIjMTIsPHQ9aW50MzIjMworIyB4b3Js IDx4Mj0xMDgoJWVzcCksPHQ9JWVkeAoreG9ybCAxMDgoJWVzcCksJWVkeAorCisjIAkJcyArPSBy CisjIGFkZCAgPHI9aW50MzIjNSw8cz1pbnQzMiMyCisjIGFkZCAgPHI9JWVzaSw8cz0lZWN4Cith ZGQgICVlc2ksJWVjeAorCisjIAkJcyA8PDw9IDkKKyMgcm9sICAkOSw8cz1pbnQzMiMyCisjIHJv bCAgJDksPHM9JWVjeAorcm9sICAkOSwlZWN4CisKKyMgCQlzIF49IHgxMworIyB4b3JsIDx4MTM9 c3RhY2szMiMyMyw8cz1pbnQzMiMyCisjIHhvcmwgPHgxMz0xNTIoJWVzcCksPHM9JWVjeAoreG9y bCAxNTIoJWVzcCksJWVjeAorCisjIAkJCQkJCXcgKz0gdgorIyBhZGQgIDx2PWludDMyIzYsPHc9 aW50MzIjNAorIyBhZGQgIDx2PSVlZGksPHc9JWVieAorYWRkICAlZWRpLCVlYngKKworIyAJCQkJ CQl3IDw8PD0gOQorIyByb2wgICQ5LDx3PWludDMyIzQKKyMgcm9sICAkOSw8dz0lZWJ4Cityb2wg ICQ5LCVlYngKKworIyAJCQkJCQl3IF49IHg3CisjIHhvcmwgPHg3PXN0YWNrMzIjMTcsPHc9aW50 MzIjNAorIyB4b3JsIDx4Nz0xMjgoJWVzcCksPHc9JWVieAoreG9ybCAxMjgoJWVzcCksJWVieAor CisjIHg4ID0gcAorIyBtb3ZsIDxwPWludDMyIzEsPng4PXN0YWNrMzIjMTgKKyMgbW92bCA8cD0l ZWF4LD54OD0xMzIoJWVzcCkKK21vdmwgJWVheCwxMzIoJWVzcCkKKworIyAJCQkJeDIgPSB0Cisj IG1vdmwgPHQ9aW50MzIjMyw+eDI9c3RhY2szMiMxMgorIyBtb3ZsIDx0PSVlZHgsPngyPTEwOCgl ZXNwKQorbW92bCAlZWR4LDEwOCglZXNwKQorCisjIHAgKz0geDQKKyMgYWRkbCA8eDQ9c3RhY2sz MiMxNCw8cD1pbnQzMiMxCisjIGFkZGwgPHg0PTExNiglZXNwKSw8cD0lZWF4CithZGRsIDExNigl ZXNwKSwlZWF4CisKKyMgCQl4MTMgPSBzCisjIG1vdmwgPHM9aW50MzIjMiw+eDEzPXN0YWNrMzIj MjMKKyMgbW92bCA8cz0lZWN4LD54MTM9MTUyKCVlc3ApCittb3ZsICVlY3gsMTUyKCVlc3ApCisK KyMgCQkJCXQgKz0geDE0CisjIGFkZGwgPHgxND1zdGFjazMyIzI0LDx0PWludDMyIzMKKyMgYWRk bCA8eDE0PTE1NiglZXNwKSw8dD0lZWR4CithZGRsIDE1NiglZXNwKSwlZWR4CisKKyMgCQkJCQkJ eDcgPSB3CisjIG1vdmwgPHc9aW50MzIjNCw+eDc9c3RhY2szMiMxNworIyBtb3ZsIDx3PSVlYngs Png3PTEyOCglZXNwKQorbW92bCAlZWJ4LDEyOCglZXNwKQorCisjIHAgPDw8PSAxMworIyByb2wg ICQxMyw8cD1pbnQzMiMxCisjIHJvbCAgJDEzLDxwPSVlYXgKK3JvbCAgJDEzLCVlYXgKKworIyBw IF49IHgxMgorIyB4b3JsIDx4MTI9c3RhY2szMiMyMiw8cD1pbnQzMiMxCisjIHhvcmwgPHgxMj0x NDgoJWVzcCksPHA9JWVheAoreG9ybCAxNDgoJWVzcCksJWVheAorCisjIAkJCQl0IDw8PD0gMTMK KyMgcm9sICAkMTMsPHQ9aW50MzIjMworIyByb2wgICQxMyw8dD0lZWR4Cityb2wgICQxMywlZWR4 CisKKyMgCQkJCXQgXj0geDYKKyMgeG9ybCA8eDY9c3RhY2szMiMxNiw8dD1pbnQzMiMzCisjIHhv cmwgPHg2PTEyNCglZXNwKSw8dD0lZWR4Cit4b3JsIDEyNCglZXNwKSwlZWR4CisKKyMgCQlyICs9 IHMKKyMgYWRkICA8cz1pbnQzMiMyLDxyPWludDMyIzUKKyMgYWRkICA8cz0lZWN4LDxyPSVlc2kK K2FkZCAgJWVjeCwlZXNpCisKKyMgCQlyIDw8PD0gMTMKKyMgcm9sICAkMTMsPHI9aW50MzIjNQor IyByb2wgICQxMyw8cj0lZXNpCityb2wgICQxMywlZXNpCisKKyMgCQlyIF49IHgxCisjIHhvcmwg PHgxPXN0YWNrMzIjMTEsPHI9aW50MzIjNQorIyB4b3JsIDx4MT0xMDQoJWVzcCksPHI9JWVzaQor eG9ybCAxMDQoJWVzcCksJWVzaQorCisjIAkJCQkJCXYgKz0gdworIyBhZGQgIDx3PWludDMyIzQs PHY9aW50MzIjNgorIyBhZGQgIDx3PSVlYngsPHY9JWVkaQorYWRkICAlZWJ4LCVlZGkKKworIyAJ CQkJCQl2IDw8PD0gMTMKKyMgcm9sICAkMTMsPHY9aW50MzIjNgorIyByb2wgICQxMyw8dj0lZWRp Cityb2wgICQxMywlZWRpCisKKyMgCQkJCQkJdiBePSB4MTEKKyMgeG9ybCA8eDExPXN0YWNrMzIj MjEsPHY9aW50MzIjNgorIyB4b3JsIDx4MTE9MTQ0KCVlc3ApLDx2PSVlZGkKK3hvcmwgMTQ0KCVl c3ApLCVlZGkKKworIyB4MTIgPSBwCisjIG1vdmwgPHA9aW50MzIjMSw+eDEyPXN0YWNrMzIjMjIK KyMgbW92bCA8cD0lZWF4LD54MTI9MTQ4KCVlc3ApCittb3ZsICVlYXgsMTQ4KCVlc3ApCisKKyMg CQkJCXg2ID0gdAorIyBtb3ZsIDx0PWludDMyIzMsPng2PXN0YWNrMzIjMTYKKyMgbW92bCA8dD0l ZWR4LD54Nj0xMjQoJWVzcCkKK21vdmwgJWVkeCwxMjQoJWVzcCkKKworIyBwICs9IHg4CisjIGFk ZGwgPHg4PXN0YWNrMzIjMTgsPHA9aW50MzIjMQorIyBhZGRsIDx4OD0xMzIoJWVzcCksPHA9JWVh eAorYWRkbCAxMzIoJWVzcCksJWVheAorCisjIAkJeDEgPSByCisjIG1vdmwgPHI9aW50MzIjNSw+ eDE9c3RhY2szMiMxMQorIyBtb3ZsIDxyPSVlc2ksPngxPTEwNCglZXNwKQorbW92bCAlZXNpLDEw NCglZXNwKQorCisjIAkJCQl0ICs9IHgyCisjIGFkZGwgPHgyPXN0YWNrMzIjMTIsPHQ9aW50MzIj MworIyBhZGRsIDx4Mj0xMDgoJWVzcCksPHQ9JWVkeAorYWRkbCAxMDgoJWVzcCksJWVkeAorCisj IAkJCQkJCXgxMSA9IHYKKyMgbW92bCA8dj1pbnQzMiM2LD54MTE9c3RhY2szMiMyMQorIyBtb3Zs IDx2PSVlZGksPngxMT0xNDQoJWVzcCkKK21vdmwgJWVkaSwxNDQoJWVzcCkKKworIyBwIDw8PD0g MTgKKyMgcm9sICAkMTgsPHA9aW50MzIjMQorIyByb2wgICQxOCw8cD0lZWF4Cityb2wgICQxOCwl ZWF4CisKKyMgcCBePSB4MAorIyB4b3JsIDx4MD1zdGFjazMyIzEwLDxwPWludDMyIzEKKyMgeG9y bCA8eDA9MTAwKCVlc3ApLDxwPSVlYXgKK3hvcmwgMTAwKCVlc3ApLCVlYXgKKworIyAJCQkJdCA8 PDw9IDE4CisjIHJvbCAgJDE4LDx0PWludDMyIzMKKyMgcm9sICAkMTgsPHQ9JWVkeAorcm9sICAk MTgsJWVkeAorCisjIAkJCQl0IF49IHgxMAorIyB4b3JsIDx4MTA9c3RhY2szMiMyMCw8dD1pbnQz MiMzCisjIHhvcmwgPHgxMD0xNDAoJWVzcCksPHQ9JWVkeAoreG9ybCAxNDAoJWVzcCksJWVkeAor CisjIAkJcyArPSByCisjIGFkZCAgPHI9aW50MzIjNSw8cz1pbnQzMiMyCisjIGFkZCAgPHI9JWVz aSw8cz0lZWN4CithZGQgICVlc2ksJWVjeAorCisjIAkJcyA8PDw9IDE4CisjIHJvbCAgJDE4LDxz PWludDMyIzIKKyMgcm9sICAkMTgsPHM9JWVjeAorcm9sICAkMTgsJWVjeAorCisjIAkJcyBePSB4 NQorIyB4b3JsIDx4NT1zdGFjazMyIzE1LDxzPWludDMyIzIKKyMgeG9ybCA8eDU9MTIwKCVlc3Ap LDxzPSVlY3gKK3hvcmwgMTIwKCVlc3ApLCVlY3gKKworIyAJCQkJCQl3ICs9IHYKKyMgYWRkICA8 dj1pbnQzMiM2LDx3PWludDMyIzQKKyMgYWRkICA8dj0lZWRpLDx3PSVlYngKK2FkZCAgJWVkaSwl ZWJ4CisKKyMgCQkJCQkJdyA8PDw9IDE4CisjIHJvbCAgJDE4LDx3PWludDMyIzQKKyMgcm9sICAk MTgsPHc9JWVieAorcm9sICAkMTgsJWVieAorCisjIAkJCQkJCXcgXj0geDE1CisjIHhvcmwgPHgx NT1zdGFjazMyIzI1LDx3PWludDMyIzQKKyMgeG9ybCA8eDE1PTE2MCglZXNwKSw8dz0lZWJ4Cit4 b3JsIDE2MCglZXNwKSwlZWJ4CisKKyMgeDAgPSBwCisjIG1vdmwgPHA9aW50MzIjMSw+eDA9c3Rh Y2szMiMxMAorIyBtb3ZsIDxwPSVlYXgsPngwPTEwMCglZXNwKQorbW92bCAlZWF4LDEwMCglZXNw KQorCisjIAkJCQl4MTAgPSB0CisjIG1vdmwgPHQ9aW50MzIjMyw+eDEwPXN0YWNrMzIjMjAKKyMg bW92bCA8dD0lZWR4LD54MTA9MTQwKCVlc3ApCittb3ZsICVlZHgsMTQwKCVlc3ApCisKKyMgcCAr PSB4MworIyBhZGRsIDx4Mz1zdGFjazMyIzEzLDxwPWludDMyIzEKKyMgYWRkbCA8eDM9MTEyKCVl c3ApLDxwPSVlYXgKK2FkZGwgMTEyKCVlc3ApLCVlYXgKKworIyBwIDw8PD0gNworIyByb2wgICQ3 LDxwPWludDMyIzEKKyMgcm9sICAkNyw8cD0lZWF4Cityb2wgICQ3LCVlYXgKKworIyAJCXg1ID0g cworIyBtb3ZsIDxzPWludDMyIzIsPng1PXN0YWNrMzIjMTUKKyMgbW92bCA8cz0lZWN4LD54NT0x MjAoJWVzcCkKK21vdmwgJWVjeCwxMjAoJWVzcCkKKworIyAJCQkJdCArPSB4OQorIyBhZGRsIDx4 OT1zdGFjazMyIzE5LDx0PWludDMyIzMKKyMgYWRkbCA8eDk9MTM2KCVlc3ApLDx0PSVlZHgKK2Fk ZGwgMTM2KCVlc3ApLCVlZHgKKworIyAJCQkJCQl4MTUgPSB3CisjIG1vdmwgPHc9aW50MzIjNCw+ eDE1PXN0YWNrMzIjMjUKKyMgbW92bCA8dz0lZWJ4LD54MTU9MTYwKCVlc3ApCittb3ZsICVlYngs MTYwKCVlc3ApCisKKyMgCQlyID0geDQKKyMgbW92bCA8eDQ9c3RhY2szMiMxNCw+cj1pbnQzMiM1 CisjIG1vdmwgPHg0PTExNiglZXNwKSw+cj0lZXNpCittb3ZsIDExNiglZXNwKSwlZXNpCisKKyMg CQlyICs9IHMKKyMgYWRkICA8cz1pbnQzMiMyLDxyPWludDMyIzUKKyMgYWRkICA8cz0lZWN4LDxy PSVlc2kKK2FkZCAgJWVjeCwlZXNpCisKKyMgCQkJCQkJdiA9IHgxNAorIyBtb3ZsIDx4MTQ9c3Rh Y2szMiMyNCw+dj1pbnQzMiM2CisjIG1vdmwgPHgxND0xNTYoJWVzcCksPnY9JWVkaQorbW92bCAx NTYoJWVzcCksJWVkaQorCisjIAkJCQkJCXYgKz0gdworIyBhZGQgIDx3PWludDMyIzQsPHY9aW50 MzIjNgorIyBhZGQgIDx3PSVlYngsPHY9JWVkaQorYWRkICAlZWJ4LCVlZGkKKworIyBwIF49IHgx CisjIHhvcmwgPHgxPXN0YWNrMzIjMTEsPHA9aW50MzIjMQorIyB4b3JsIDx4MT0xMDQoJWVzcCks PHA9JWVheAoreG9ybCAxMDQoJWVzcCksJWVheAorCisjIAkJCQl0IDw8PD0gNworIyByb2wgICQ3 LDx0PWludDMyIzMKKyMgcm9sICAkNyw8dD0lZWR4Cityb2wgICQ3LCVlZHgKKworIyAJCQkJdCBe PSB4MTEKKyMgeG9ybCA8eDExPXN0YWNrMzIjMjEsPHQ9aW50MzIjMworIyB4b3JsIDx4MTE9MTQ0 KCVlc3ApLDx0PSVlZHgKK3hvcmwgMTQ0KCVlc3ApLCVlZHgKKworIyAJCXIgPDw8PSA3CisjIHJv bCAgJDcsPHI9aW50MzIjNQorIyByb2wgICQ3LDxyPSVlc2kKK3JvbCAgJDcsJWVzaQorCisjIAkJ ciBePSB4NgorIyB4b3JsIDx4Nj1zdGFjazMyIzE2LDxyPWludDMyIzUKKyMgeG9ybCA8eDY9MTI0 KCVlc3ApLDxyPSVlc2kKK3hvcmwgMTI0KCVlc3ApLCVlc2kKKworIyAJCQkJCQl2IDw8PD0gNwor IyByb2wgICQ3LDx2PWludDMyIzYKKyMgcm9sICAkNyw8dj0lZWRpCityb2wgICQ3LCVlZGkKKwor IyAJCQkJCQl2IF49IHgxMgorIyB4b3JsIDx4MTI9c3RhY2szMiMyMiw8dj1pbnQzMiM2CisjIHhv cmwgPHgxMj0xNDgoJWVzcCksPHY9JWVkaQoreG9ybCAxNDgoJWVzcCksJWVkaQorCisjIHgxID0g cAorIyBtb3ZsIDxwPWludDMyIzEsPngxPXN0YWNrMzIjMTEKKyMgbW92bCA8cD0lZWF4LD54MT0x MDQoJWVzcCkKK21vdmwgJWVheCwxMDQoJWVzcCkKKworIyAJCQkJeDExID0gdAorIyBtb3ZsIDx0 PWludDMyIzMsPngxMT1zdGFjazMyIzIxCisjIG1vdmwgPHQ9JWVkeCw+eDExPTE0NCglZXNwKQor bW92bCAlZWR4LDE0NCglZXNwKQorCisjIHAgKz0geDAKKyMgYWRkbCA8eDA9c3RhY2szMiMxMCw8 cD1pbnQzMiMxCisjIGFkZGwgPHgwPTEwMCglZXNwKSw8cD0lZWF4CithZGRsIDEwMCglZXNwKSwl ZWF4CisKKyMgCQl4NiA9IHIKKyMgbW92bCA8cj1pbnQzMiM1LD54Nj1zdGFjazMyIzE2CisjIG1v dmwgPHI9JWVzaSw+eDY9MTI0KCVlc3ApCittb3ZsICVlc2ksMTI0KCVlc3ApCisKKyMgCQkJCXQg Kz0geDEwCisjIGFkZGwgPHgxMD1zdGFjazMyIzIwLDx0PWludDMyIzMKKyMgYWRkbCA8eDEwPTE0 MCglZXNwKSw8dD0lZWR4CithZGRsIDE0MCglZXNwKSwlZWR4CisKKyMgCQkJCQkJeDEyID0gdgor IyBtb3ZsIDx2PWludDMyIzYsPngxMj1zdGFjazMyIzIyCisjIG1vdmwgPHY9JWVkaSw+eDEyPTE0 OCglZXNwKQorbW92bCAlZWRpLDE0OCglZXNwKQorCisjIHAgPDw8PSA5CisjIHJvbCAgJDksPHA9 aW50MzIjMQorIyByb2wgICQ5LDxwPSVlYXgKK3JvbCAgJDksJWVheAorCisjIHAgXj0geDIKKyMg eG9ybCA8eDI9c3RhY2szMiMxMiw8cD1pbnQzMiMxCisjIHhvcmwgPHgyPTEwOCglZXNwKSw8cD0l ZWF4Cit4b3JsIDEwOCglZXNwKSwlZWF4CisKKyMgCQkJCXQgPDw8PSA5CisjIHJvbCAgJDksPHQ9 aW50MzIjMworIyByb2wgICQ5LDx0PSVlZHgKK3JvbCAgJDksJWVkeAorCisjIAkJCQl0IF49IHg4 CisjIHhvcmwgPHg4PXN0YWNrMzIjMTgsPHQ9aW50MzIjMworIyB4b3JsIDx4OD0xMzIoJWVzcCks PHQ9JWVkeAoreG9ybCAxMzIoJWVzcCksJWVkeAorCisjIAkJcyArPSByCisjIGFkZCAgPHI9aW50 MzIjNSw8cz1pbnQzMiMyCisjIGFkZCAgPHI9JWVzaSw8cz0lZWN4CithZGQgICVlc2ksJWVjeAor CisjIAkJcyA8PDw9IDkKKyMgcm9sICAkOSw8cz1pbnQzMiMyCisjIHJvbCAgJDksPHM9JWVjeAor cm9sICAkOSwlZWN4CisKKyMgCQlzIF49IHg3CisjIHhvcmwgPHg3PXN0YWNrMzIjMTcsPHM9aW50 MzIjMgorIyB4b3JsIDx4Nz0xMjgoJWVzcCksPHM9JWVjeAoreG9ybCAxMjgoJWVzcCksJWVjeAor CisjIAkJCQkJCXcgKz0gdgorIyBhZGQgIDx2PWludDMyIzYsPHc9aW50MzIjNAorIyBhZGQgIDx2 PSVlZGksPHc9JWVieAorYWRkICAlZWRpLCVlYngKKworIyAJCQkJCQl3IDw8PD0gOQorIyByb2wg ICQ5LDx3PWludDMyIzQKKyMgcm9sICAkOSw8dz0lZWJ4Cityb2wgICQ5LCVlYngKKworIyAJCQkJ CQl3IF49IHgxMworIyB4b3JsIDx4MTM9c3RhY2szMiMyMyw8dz1pbnQzMiM0CisjIHhvcmwgPHgx Mz0xNTIoJWVzcCksPHc9JWVieAoreG9ybCAxNTIoJWVzcCksJWVieAorCisjIHgyID0gcAorIyBt b3ZsIDxwPWludDMyIzEsPngyPXN0YWNrMzIjMTIKKyMgbW92bCA8cD0lZWF4LD54Mj0xMDgoJWVz cCkKK21vdmwgJWVheCwxMDgoJWVzcCkKKworIyAJCQkJeDggPSB0CisjIG1vdmwgPHQ9aW50MzIj Myw+eDg9c3RhY2szMiMxOAorIyBtb3ZsIDx0PSVlZHgsPng4PTEzMiglZXNwKQorbW92bCAlZWR4 LDEzMiglZXNwKQorCisjIHAgKz0geDEKKyMgYWRkbCA8eDE9c3RhY2szMiMxMSw8cD1pbnQzMiMx CisjIGFkZGwgPHgxPTEwNCglZXNwKSw8cD0lZWF4CithZGRsIDEwNCglZXNwKSwlZWF4CisKKyMg CQl4NyA9IHMKKyMgbW92bCA8cz1pbnQzMiMyLD54Nz1zdGFjazMyIzE3CisjIG1vdmwgPHM9JWVj eCw+eDc9MTI4KCVlc3ApCittb3ZsICVlY3gsMTI4KCVlc3ApCisKKyMgCQkJCXQgKz0geDExCisj IGFkZGwgPHgxMT1zdGFjazMyIzIxLDx0PWludDMyIzMKKyMgYWRkbCA8eDExPTE0NCglZXNwKSw8 dD0lZWR4CithZGRsIDE0NCglZXNwKSwlZWR4CisKKyMgCQkJCQkJeDEzID0gdworIyBtb3ZsIDx3 PWludDMyIzQsPngxMz1zdGFjazMyIzIzCisjIG1vdmwgPHc9JWVieCw+eDEzPTE1MiglZXNwKQor bW92bCAlZWJ4LDE1MiglZXNwKQorCisjIHAgPDw8PSAxMworIyByb2wgICQxMyw8cD1pbnQzMiMx CisjIHJvbCAgJDEzLDxwPSVlYXgKK3JvbCAgJDEzLCVlYXgKKworIyBwIF49IHgzCisjIHhvcmwg PHgzPXN0YWNrMzIjMTMsPHA9aW50MzIjMQorIyB4b3JsIDx4Mz0xMTIoJWVzcCksPHA9JWVheAor eG9ybCAxMTIoJWVzcCksJWVheAorCisjIAkJCQl0IDw8PD0gMTMKKyMgcm9sICAkMTMsPHQ9aW50 MzIjMworIyByb2wgICQxMyw8dD0lZWR4Cityb2wgICQxMywlZWR4CisKKyMgCQkJCXQgXj0geDkK KyMgeG9ybCA8eDk9c3RhY2szMiMxOSw8dD1pbnQzMiMzCisjIHhvcmwgPHg5PTEzNiglZXNwKSw8 dD0lZWR4Cit4b3JsIDEzNiglZXNwKSwlZWR4CisKKyMgCQlyICs9IHMKKyMgYWRkICA8cz1pbnQz MiMyLDxyPWludDMyIzUKKyMgYWRkICA8cz0lZWN4LDxyPSVlc2kKK2FkZCAgJWVjeCwlZXNpCisK KyMgCQlyIDw8PD0gMTMKKyMgcm9sICAkMTMsPHI9aW50MzIjNQorIyByb2wgICQxMyw8cj0lZXNp Cityb2wgICQxMywlZXNpCisKKyMgCQlyIF49IHg0CisjIHhvcmwgPHg0PXN0YWNrMzIjMTQsPHI9 aW50MzIjNQorIyB4b3JsIDx4ND0xMTYoJWVzcCksPHI9JWVzaQoreG9ybCAxMTYoJWVzcCksJWVz aQorCisjIAkJCQkJCXYgKz0gdworIyBhZGQgIDx3PWludDMyIzQsPHY9aW50MzIjNgorIyBhZGQg IDx3PSVlYngsPHY9JWVkaQorYWRkICAlZWJ4LCVlZGkKKworIyAJCQkJCQl2IDw8PD0gMTMKKyMg cm9sICAkMTMsPHY9aW50MzIjNgorIyByb2wgICQxMyw8dj0lZWRpCityb2wgICQxMywlZWRpCisK KyMgCQkJCQkJdiBePSB4MTQKKyMgeG9ybCA8eDE0PXN0YWNrMzIjMjQsPHY9aW50MzIjNgorIyB4 b3JsIDx4MTQ9MTU2KCVlc3ApLDx2PSVlZGkKK3hvcmwgMTU2KCVlc3ApLCVlZGkKKworIyB4MyA9 IHAKKyMgbW92bCA8cD1pbnQzMiMxLD54Mz1zdGFjazMyIzEzCisjIG1vdmwgPHA9JWVheCw+eDM9 MTEyKCVlc3ApCittb3ZsICVlYXgsMTEyKCVlc3ApCisKKyMgCQkJCXg5ID0gdAorIyBtb3ZsIDx0 PWludDMyIzMsPng5PXN0YWNrMzIjMTkKKyMgbW92bCA8dD0lZWR4LD54OT0xMzYoJWVzcCkKK21v dmwgJWVkeCwxMzYoJWVzcCkKKworIyBwICs9IHgyCisjIGFkZGwgPHgyPXN0YWNrMzIjMTIsPHA9 aW50MzIjMQorIyBhZGRsIDx4Mj0xMDgoJWVzcCksPHA9JWVheAorYWRkbCAxMDgoJWVzcCksJWVh eAorCisjIAkJeDQgPSByCisjIG1vdmwgPHI9aW50MzIjNSw+eDQ9c3RhY2szMiMxNAorIyBtb3Zs IDxyPSVlc2ksPng0PTExNiglZXNwKQorbW92bCAlZXNpLDExNiglZXNwKQorCisjIAkJCQl0ICs9 IHg4CisjIGFkZGwgPHg4PXN0YWNrMzIjMTgsPHQ9aW50MzIjMworIyBhZGRsIDx4OD0xMzIoJWVz cCksPHQ9JWVkeAorYWRkbCAxMzIoJWVzcCksJWVkeAorCisjIAkJCQkJCXgxNCA9IHYKKyMgbW92 bCA8dj1pbnQzMiM2LD54MTQ9c3RhY2szMiMyNAorIyBtb3ZsIDx2PSVlZGksPngxND0xNTYoJWVz cCkKK21vdmwgJWVkaSwxNTYoJWVzcCkKKworIyBwIDw8PD0gMTgKKyMgcm9sICAkMTgsPHA9aW50 MzIjMQorIyByb2wgICQxOCw8cD0lZWF4Cityb2wgICQxOCwlZWF4CisKKyMgcCBePSB4MAorIyB4 b3JsIDx4MD1zdGFjazMyIzEwLDxwPWludDMyIzEKKyMgeG9ybCA8eDA9MTAwKCVlc3ApLDxwPSVl YXgKK3hvcmwgMTAwKCVlc3ApLCVlYXgKKworIyAJCQkJdCA8PDw9IDE4CisjIHJvbCAgJDE4LDx0 PWludDMyIzMKKyMgcm9sICAkMTgsPHQ9JWVkeAorcm9sICAkMTgsJWVkeAorCisjIAkJCQl0IF49 IHgxMAorIyB4b3JsIDx4MTA9c3RhY2szMiMyMCw8dD1pbnQzMiMzCisjIHhvcmwgPHgxMD0xNDAo JWVzcCksPHQ9JWVkeAoreG9ybCAxNDAoJWVzcCksJWVkeAorCisjIAkJcyArPSByCisjIGFkZCAg PHI9aW50MzIjNSw8cz1pbnQzMiMyCisjIGFkZCAgPHI9JWVzaSw8cz0lZWN4CithZGQgICVlc2ks JWVjeAorCisjIAkJcyA8PDw9IDE4CisjIHJvbCAgJDE4LDxzPWludDMyIzIKKyMgcm9sICAkMTgs PHM9JWVjeAorcm9sICAkMTgsJWVjeAorCisjIAkJcyBePSB4NQorIyB4b3JsIDx4NT1zdGFjazMy IzE1LDxzPWludDMyIzIKKyMgeG9ybCA8eDU9MTIwKCVlc3ApLDxzPSVlY3gKK3hvcmwgMTIwKCVl c3ApLCVlY3gKKworIyAJCQkJCQl3ICs9IHYKKyMgYWRkICA8dj1pbnQzMiM2LDx3PWludDMyIzQK KyMgYWRkICA8dj0lZWRpLDx3PSVlYngKK2FkZCAgJWVkaSwlZWJ4CisKKyMgCQkJCQkJdyA8PDw9 IDE4CisjIHJvbCAgJDE4LDx3PWludDMyIzQKKyMgcm9sICAkMTgsPHc9JWVieAorcm9sICAkMTgs JWVieAorCisjIAkJCQkJCXcgXj0geDE1CisjIHhvcmwgPHgxNT1zdGFjazMyIzI1LDx3PWludDMy IzQKKyMgeG9ybCA8eDE1PTE2MCglZXNwKSw8dz0lZWJ4Cit4b3JsIDE2MCglZXNwKSwlZWJ4CisK KyMgeDAgPSBwCisjIG1vdmwgPHA9aW50MzIjMSw+eDA9c3RhY2szMiMxMAorIyBtb3ZsIDxwPSVl YXgsPngwPTEwMCglZXNwKQorbW92bCAlZWF4LDEwMCglZXNwKQorCisjIAkJCQl4MTAgPSB0Cisj IG1vdmwgPHQ9aW50MzIjMyw+eDEwPXN0YWNrMzIjMjAKKyMgbW92bCA8dD0lZWR4LD54MTA9MTQw KCVlc3ApCittb3ZsICVlZHgsMTQwKCVlc3ApCisKKyMgcCArPSB4MTIKKyMgYWRkbCA8eDEyPXN0 YWNrMzIjMjIsPHA9aW50MzIjMQorIyBhZGRsIDx4MTI9MTQ4KCVlc3ApLDxwPSVlYXgKK2FkZGwg MTQ4KCVlc3ApLCVlYXgKKworIyAJCXg1ID0gcworIyBtb3ZsIDxzPWludDMyIzIsPng1PXN0YWNr MzIjMTUKKyMgbW92bCA8cz0lZWN4LD54NT0xMjAoJWVzcCkKK21vdmwgJWVjeCwxMjAoJWVzcCkK KworIyAJCQkJdCArPSB4NgorIyBhZGRsIDx4Nj1zdGFjazMyIzE2LDx0PWludDMyIzMKKyMgYWRk bCA8eDY9MTI0KCVlc3ApLDx0PSVlZHgKK2FkZGwgMTI0KCVlc3ApLCVlZHgKKworIyAJCQkJCQl4 MTUgPSB3CisjIG1vdmwgPHc9aW50MzIjNCw+eDE1PXN0YWNrMzIjMjUKKyMgbW92bCA8dz0lZWJ4 LD54MTU9MTYwKCVlc3ApCittb3ZsICVlYngsMTYwKCVlc3ApCisKKyMgCQlyID0geDEKKyMgbW92 bCA8eDE9c3RhY2szMiMxMSw+cj1pbnQzMiM1CisjIG1vdmwgPHgxPTEwNCglZXNwKSw+cj0lZXNp Cittb3ZsIDEwNCglZXNwKSwlZXNpCisKKyMgCQlyICs9IHMKKyMgYWRkICA8cz1pbnQzMiMyLDxy PWludDMyIzUKKyMgYWRkICA8cz0lZWN4LDxyPSVlc2kKK2FkZCAgJWVjeCwlZXNpCisKKyMgCQkJ CQkJdiA9IHgxMQorIyBtb3ZsIDx4MTE9c3RhY2szMiMyMSw+dj1pbnQzMiM2CisjIG1vdmwgPHgx MT0xNDQoJWVzcCksPnY9JWVkaQorbW92bCAxNDQoJWVzcCksJWVkaQorCisjIAkJCQkJCXYgKz0g dworIyBhZGQgIDx3PWludDMyIzQsPHY9aW50MzIjNgorIyBhZGQgIDx3PSVlYngsPHY9JWVkaQor YWRkICAlZWJ4LCVlZGkKKworIyBwIDw8PD0gNworIyByb2wgICQ3LDxwPWludDMyIzEKKyMgcm9s ICAkNyw8cD0lZWF4Cityb2wgICQ3LCVlYXgKKworIyBwIF49IHg0CisjIHhvcmwgPHg0PXN0YWNr MzIjMTQsPHA9aW50MzIjMQorIyB4b3JsIDx4ND0xMTYoJWVzcCksPHA9JWVheAoreG9ybCAxMTYo JWVzcCksJWVheAorCisjIAkJCQl0IDw8PD0gNworIyByb2wgICQ3LDx0PWludDMyIzMKKyMgcm9s ICAkNyw8dD0lZWR4Cityb2wgICQ3LCVlZHgKKworIyAJCQkJdCBePSB4MTQKKyMgeG9ybCA8eDE0 PXN0YWNrMzIjMjQsPHQ9aW50MzIjMworIyB4b3JsIDx4MTQ9MTU2KCVlc3ApLDx0PSVlZHgKK3hv cmwgMTU2KCVlc3ApLCVlZHgKKworIyAJCXIgPDw8PSA3CisjIHJvbCAgJDcsPHI9aW50MzIjNQor IyByb2wgICQ3LDxyPSVlc2kKK3JvbCAgJDcsJWVzaQorCisjIAkJciBePSB4OQorIyB4b3JsIDx4 OT1zdGFjazMyIzE5LDxyPWludDMyIzUKKyMgeG9ybCA8eDk9MTM2KCVlc3ApLDxyPSVlc2kKK3hv cmwgMTM2KCVlc3ApLCVlc2kKKworIyAJCQkJCQl2IDw8PD0gNworIyByb2wgICQ3LDx2PWludDMy IzYKKyMgcm9sICAkNyw8dj0lZWRpCityb2wgICQ3LCVlZGkKKworIyAJCQkJCQl2IF49IHgzCisj IHhvcmwgPHgzPXN0YWNrMzIjMTMsPHY9aW50MzIjNgorIyB4b3JsIDx4Mz0xMTIoJWVzcCksPHY9 JWVkaQoreG9ybCAxMTIoJWVzcCksJWVkaQorCisjIHg0ID0gcAorIyBtb3ZsIDxwPWludDMyIzEs Png0PXN0YWNrMzIjMTQKKyMgbW92bCA8cD0lZWF4LD54ND0xMTYoJWVzcCkKK21vdmwgJWVheCwx MTYoJWVzcCkKKworIyAJCQkJeDE0ID0gdAorIyBtb3ZsIDx0PWludDMyIzMsPngxND1zdGFjazMy IzI0CisjIG1vdmwgPHQ9JWVkeCw+eDE0PTE1NiglZXNwKQorbW92bCAlZWR4LDE1NiglZXNwKQor CisjIHAgKz0geDAKKyMgYWRkbCA8eDA9c3RhY2szMiMxMCw8cD1pbnQzMiMxCisjIGFkZGwgPHgw PTEwMCglZXNwKSw8cD0lZWF4CithZGRsIDEwMCglZXNwKSwlZWF4CisKKyMgCQl4OSA9IHIKKyMg bW92bCA8cj1pbnQzMiM1LD54OT1zdGFjazMyIzE5CisjIG1vdmwgPHI9JWVzaSw+eDk9MTM2KCVl c3ApCittb3ZsICVlc2ksMTM2KCVlc3ApCisKKyMgCQkJCXQgKz0geDEwCisjIGFkZGwgPHgxMD1z dGFjazMyIzIwLDx0PWludDMyIzMKKyMgYWRkbCA8eDEwPTE0MCglZXNwKSw8dD0lZWR4CithZGRs IDE0MCglZXNwKSwlZWR4CisKKyMgCQkJCQkJeDMgPSB2CisjIG1vdmwgPHY9aW50MzIjNiw+eDM9 c3RhY2szMiMxMworIyBtb3ZsIDx2PSVlZGksPngzPTExMiglZXNwKQorbW92bCAlZWRpLDExMigl ZXNwKQorCisjIHAgPDw8PSA5CisjIHJvbCAgJDksPHA9aW50MzIjMQorIyByb2wgICQ5LDxwPSVl YXgKK3JvbCAgJDksJWVheAorCisjIHAgXj0geDgKKyMgeG9ybCA8eDg9c3RhY2szMiMxOCw8cD1p bnQzMiMxCisjIHhvcmwgPHg4PTEzMiglZXNwKSw8cD0lZWF4Cit4b3JsIDEzMiglZXNwKSwlZWF4 CisKKyMgCQkJCXQgPDw8PSA5CisjIHJvbCAgJDksPHQ9aW50MzIjMworIyByb2wgICQ5LDx0PSVl ZHgKK3JvbCAgJDksJWVkeAorCisjIAkJCQl0IF49IHgyCisjIHhvcmwgPHgyPXN0YWNrMzIjMTIs PHQ9aW50MzIjMworIyB4b3JsIDx4Mj0xMDgoJWVzcCksPHQ9JWVkeAoreG9ybCAxMDgoJWVzcCks JWVkeAorCisjIAkJcyArPSByCisjIGFkZCAgPHI9aW50MzIjNSw8cz1pbnQzMiMyCisjIGFkZCAg PHI9JWVzaSw8cz0lZWN4CithZGQgICVlc2ksJWVjeAorCisjIAkJcyA8PDw9IDkKKyMgcm9sICAk OSw8cz1pbnQzMiMyCisjIHJvbCAgJDksPHM9JWVjeAorcm9sICAkOSwlZWN4CisKKyMgCQlzIF49 IHgxMworIyB4b3JsIDx4MTM9c3RhY2szMiMyMyw8cz1pbnQzMiMyCisjIHhvcmwgPHgxMz0xNTIo JWVzcCksPHM9JWVjeAoreG9ybCAxNTIoJWVzcCksJWVjeAorCisjIAkJCQkJCXcgKz0gdgorIyBh ZGQgIDx2PWludDMyIzYsPHc9aW50MzIjNAorIyBhZGQgIDx2PSVlZGksPHc9JWVieAorYWRkICAl ZWRpLCVlYngKKworIyAJCQkJCQl3IDw8PD0gOQorIyByb2wgICQ5LDx3PWludDMyIzQKKyMgcm9s ICAkOSw8dz0lZWJ4Cityb2wgICQ5LCVlYngKKworIyAJCQkJCQl3IF49IHg3CisjIHhvcmwgPHg3 PXN0YWNrMzIjMTcsPHc9aW50MzIjNAorIyB4b3JsIDx4Nz0xMjgoJWVzcCksPHc9JWVieAoreG9y bCAxMjgoJWVzcCksJWVieAorCisjIHg4ID0gcAorIyBtb3ZsIDxwPWludDMyIzEsPng4PXN0YWNr MzIjMTgKKyMgbW92bCA8cD0lZWF4LD54OD0xMzIoJWVzcCkKK21vdmwgJWVheCwxMzIoJWVzcCkK KworIyAJCQkJeDIgPSB0CisjIG1vdmwgPHQ9aW50MzIjMyw+eDI9c3RhY2szMiMxMgorIyBtb3Zs IDx0PSVlZHgsPngyPTEwOCglZXNwKQorbW92bCAlZWR4LDEwOCglZXNwKQorCisjIHAgKz0geDQK KyMgYWRkbCA8eDQ9c3RhY2szMiMxNCw8cD1pbnQzMiMxCisjIGFkZGwgPHg0PTExNiglZXNwKSw8 cD0lZWF4CithZGRsIDExNiglZXNwKSwlZWF4CisKKyMgCQl4MTMgPSBzCisjIG1vdmwgPHM9aW50 MzIjMiw+eDEzPXN0YWNrMzIjMjMKKyMgbW92bCA8cz0lZWN4LD54MTM9MTUyKCVlc3ApCittb3Zs ICVlY3gsMTUyKCVlc3ApCisKKyMgCQkJCXQgKz0geDE0CisjIGFkZGwgPHgxND1zdGFjazMyIzI0 LDx0PWludDMyIzMKKyMgYWRkbCA8eDE0PTE1NiglZXNwKSw8dD0lZWR4CithZGRsIDE1NiglZXNw KSwlZWR4CisKKyMgCQkJCQkJeDcgPSB3CisjIG1vdmwgPHc9aW50MzIjNCw+eDc9c3RhY2szMiMx NworIyBtb3ZsIDx3PSVlYngsPng3PTEyOCglZXNwKQorbW92bCAlZWJ4LDEyOCglZXNwKQorCisj IHAgPDw8PSAxMworIyByb2wgICQxMyw8cD1pbnQzMiMxCisjIHJvbCAgJDEzLDxwPSVlYXgKK3Jv bCAgJDEzLCVlYXgKKworIyBwIF49IHgxMgorIyB4b3JsIDx4MTI9c3RhY2szMiMyMiw8cD1pbnQz MiMxCisjIHhvcmwgPHgxMj0xNDgoJWVzcCksPHA9JWVheAoreG9ybCAxNDgoJWVzcCksJWVheAor CisjIAkJCQl0IDw8PD0gMTMKKyMgcm9sICAkMTMsPHQ9aW50MzIjMworIyByb2wgICQxMyw8dD0l ZWR4Cityb2wgICQxMywlZWR4CisKKyMgCQkJCXQgXj0geDYKKyMgeG9ybCA8eDY9c3RhY2szMiMx Niw8dD1pbnQzMiMzCisjIHhvcmwgPHg2PTEyNCglZXNwKSw8dD0lZWR4Cit4b3JsIDEyNCglZXNw KSwlZWR4CisKKyMgCQlyICs9IHMKKyMgYWRkICA8cz1pbnQzMiMyLDxyPWludDMyIzUKKyMgYWRk ICA8cz0lZWN4LDxyPSVlc2kKK2FkZCAgJWVjeCwlZXNpCisKKyMgCQlyIDw8PD0gMTMKKyMgcm9s ICAkMTMsPHI9aW50MzIjNQorIyByb2wgICQxMyw8cj0lZXNpCityb2wgICQxMywlZXNpCisKKyMg CQlyIF49IHgxCisjIHhvcmwgPHgxPXN0YWNrMzIjMTEsPHI9aW50MzIjNQorIyB4b3JsIDx4MT0x MDQoJWVzcCksPHI9JWVzaQoreG9ybCAxMDQoJWVzcCksJWVzaQorCisjIAkJCQkJCXYgKz0gdwor IyBhZGQgIDx3PWludDMyIzQsPHY9aW50MzIjNgorIyBhZGQgIDx3PSVlYngsPHY9JWVkaQorYWRk ICAlZWJ4LCVlZGkKKworIyAJCQkJCQl2IDw8PD0gMTMKKyMgcm9sICAkMTMsPHY9aW50MzIjNgor IyByb2wgICQxMyw8dj0lZWRpCityb2wgICQxMywlZWRpCisKKyMgCQkJCQkJdiBePSB4MTEKKyMg eG9ybCA8eDExPXN0YWNrMzIjMjEsPHY9aW50MzIjNgorIyB4b3JsIDx4MTE9MTQ0KCVlc3ApLDx2 PSVlZGkKK3hvcmwgMTQ0KCVlc3ApLCVlZGkKKworIyB4MTIgPSBwCisjIG1vdmwgPHA9aW50MzIj MSw+eDEyPXN0YWNrMzIjMjIKKyMgbW92bCA8cD0lZWF4LD54MTI9MTQ4KCVlc3ApCittb3ZsICVl YXgsMTQ4KCVlc3ApCisKKyMgCQkJCXg2ID0gdAorIyBtb3ZsIDx0PWludDMyIzMsPng2PXN0YWNr MzIjMTYKKyMgbW92bCA8dD0lZWR4LD54Nj0xMjQoJWVzcCkKK21vdmwgJWVkeCwxMjQoJWVzcCkK KworIyBwICs9IHg4CisjIGFkZGwgPHg4PXN0YWNrMzIjMTgsPHA9aW50MzIjMQorIyBhZGRsIDx4 OD0xMzIoJWVzcCksPHA9JWVheAorYWRkbCAxMzIoJWVzcCksJWVheAorCisjIAkJeDEgPSByCisj IG1vdmwgPHI9aW50MzIjNSw+eDE9c3RhY2szMiMxMQorIyBtb3ZsIDxyPSVlc2ksPngxPTEwNCgl ZXNwKQorbW92bCAlZXNpLDEwNCglZXNwKQorCisjIAkJCQl0ICs9IHgyCisjIGFkZGwgPHgyPXN0 YWNrMzIjMTIsPHQ9aW50MzIjMworIyBhZGRsIDx4Mj0xMDgoJWVzcCksPHQ9JWVkeAorYWRkbCAx MDgoJWVzcCksJWVkeAorCisjIAkJCQkJCXgxMSA9IHYKKyMgbW92bCA8dj1pbnQzMiM2LD54MTE9 c3RhY2szMiMyMQorIyBtb3ZsIDx2PSVlZGksPngxMT0xNDQoJWVzcCkKK21vdmwgJWVkaSwxNDQo JWVzcCkKKworIyBwIDw8PD0gMTgKKyMgcm9sICAkMTgsPHA9aW50MzIjMQorIyByb2wgICQxOCw8 cD0lZWF4Cityb2wgICQxOCwlZWF4CisKKyMgcCBePSB4MAorIyB4b3JsIDx4MD1zdGFjazMyIzEw LDxwPWludDMyIzEKKyMgeG9ybCA8eDA9MTAwKCVlc3ApLDxwPSVlYXgKK3hvcmwgMTAwKCVlc3Ap LCVlYXgKKworIyAJCQkJdCA8PDw9IDE4CisjIHJvbCAgJDE4LDx0PWludDMyIzMKKyMgcm9sICAk MTgsPHQ9JWVkeAorcm9sICAkMTgsJWVkeAorCisjIAkJCQl0IF49IHgxMAorIyB4b3JsIDx4MTA9 c3RhY2szMiMyMCw8dD1pbnQzMiMzCisjIHhvcmwgPHgxMD0xNDAoJWVzcCksPHQ9JWVkeAoreG9y bCAxNDAoJWVzcCksJWVkeAorCisjIAkJcyArPSByCisjIGFkZCAgPHI9aW50MzIjNSw8cz1pbnQz MiMyCisjIGFkZCAgPHI9JWVzaSw8cz0lZWN4CithZGQgICVlc2ksJWVjeAorCisjIAkJcyA8PDw9 IDE4CisjIHJvbCAgJDE4LDxzPWludDMyIzIKKyMgcm9sICAkMTgsPHM9JWVjeAorcm9sICAkMTgs JWVjeAorCisjIAkJcyBePSB4NQorIyB4b3JsIDx4NT1zdGFjazMyIzE1LDxzPWludDMyIzIKKyMg eG9ybCA8eDU9MTIwKCVlc3ApLDxzPSVlY3gKK3hvcmwgMTIwKCVlc3ApLCVlY3gKKworIyAJCQkJ CQl3ICs9IHYKKyMgYWRkICA8dj1pbnQzMiM2LDx3PWludDMyIzQKKyMgYWRkICA8dj0lZWRpLDx3 PSVlYngKK2FkZCAgJWVkaSwlZWJ4CisKKyMgCQkJCQkJdyA8PDw9IDE4CisjIHJvbCAgJDE4LDx3 PWludDMyIzQKKyMgcm9sICAkMTgsPHc9JWVieAorcm9sICAkMTgsJWVieAorCisjIAkJCQkJCXcg Xj0geDE1CisjIHhvcmwgPHgxNT1zdGFjazMyIzI1LDx3PWludDMyIzQKKyMgeG9ybCA8eDE1PTE2 MCglZXNwKSw8dz0lZWJ4Cit4b3JsIDE2MCglZXNwKSwlZWJ4CisKKyMgeDAgPSBwCisjIG1vdmwg PHA9aW50MzIjMSw+eDA9c3RhY2szMiMxMAorIyBtb3ZsIDxwPSVlYXgsPngwPTEwMCglZXNwKQor bW92bCAlZWF4LDEwMCglZXNwKQorCisjIAkJCQl4MTAgPSB0CisjIG1vdmwgPHQ9aW50MzIjMyw+ eDEwPXN0YWNrMzIjMjAKKyMgbW92bCA8dD0lZWR4LD54MTA9MTQwKCVlc3ApCittb3ZsICVlZHgs MTQwKCVlc3ApCisKKyMgcCArPSB4MworIyBhZGRsIDx4Mz1zdGFjazMyIzEzLDxwPWludDMyIzEK KyMgYWRkbCA8eDM9MTEyKCVlc3ApLDxwPSVlYXgKK2FkZGwgMTEyKCVlc3ApLCVlYXgKKworIyBw IDw8PD0gNworIyByb2wgICQ3LDxwPWludDMyIzEKKyMgcm9sICAkNyw8cD0lZWF4Cityb2wgICQ3 LCVlYXgKKworIyAJCXg1ID0gcworIyBtb3ZsIDxzPWludDMyIzIsPng1PXN0YWNrMzIjMTUKKyMg bW92bCA8cz0lZWN4LD54NT0xMjAoJWVzcCkKK21vdmwgJWVjeCwxMjAoJWVzcCkKKworIyAJCQkJ dCArPSB4OQorIyBhZGRsIDx4OT1zdGFjazMyIzE5LDx0PWludDMyIzMKKyMgYWRkbCA8eDk9MTM2 KCVlc3ApLDx0PSVlZHgKK2FkZGwgMTM2KCVlc3ApLCVlZHgKKworIyAJCQkJCQl4MTUgPSB3Cisj IG1vdmwgPHc9aW50MzIjNCw+eDE1PXN0YWNrMzIjMjUKKyMgbW92bCA8dz0lZWJ4LD54MTU9MTYw KCVlc3ApCittb3ZsICVlYngsMTYwKCVlc3ApCisKKyMgCQlyID0geDQKKyMgbW92bCA8eDQ9c3Rh Y2szMiMxNCw+cj1pbnQzMiM1CisjIG1vdmwgPHg0PTExNiglZXNwKSw+cj0lZXNpCittb3ZsIDEx NiglZXNwKSwlZXNpCisKKyMgCQlyICs9IHMKKyMgYWRkICA8cz1pbnQzMiMyLDxyPWludDMyIzUK KyMgYWRkICA8cz0lZWN4LDxyPSVlc2kKK2FkZCAgJWVjeCwlZXNpCisKKyMgCQkJCQkJdiA9IHgx NAorIyBtb3ZsIDx4MTQ9c3RhY2szMiMyNCw+dj1pbnQzMiM2CisjIG1vdmwgPHgxND0xNTYoJWVz cCksPnY9JWVkaQorbW92bCAxNTYoJWVzcCksJWVkaQorCisjIAkJCQkJCXYgKz0gdworIyBhZGQg IDx3PWludDMyIzQsPHY9aW50MzIjNgorIyBhZGQgIDx3PSVlYngsPHY9JWVkaQorYWRkICAlZWJ4 LCVlZGkKKworIyBwIF49IHgxCisjIHhvcmwgPHgxPXN0YWNrMzIjMTEsPHA9aW50MzIjMQorIyB4 b3JsIDx4MT0xMDQoJWVzcCksPHA9JWVheAoreG9ybCAxMDQoJWVzcCksJWVheAorCisjIAkJCQl0 IDw8PD0gNworIyByb2wgICQ3LDx0PWludDMyIzMKKyMgcm9sICAkNyw8dD0lZWR4Cityb2wgICQ3 LCVlZHgKKworIyAJCQkJdCBePSB4MTEKKyMgeG9ybCA8eDExPXN0YWNrMzIjMjEsPHQ9aW50MzIj MworIyB4b3JsIDx4MTE9MTQ0KCVlc3ApLDx0PSVlZHgKK3hvcmwgMTQ0KCVlc3ApLCVlZHgKKwor IyAJCXIgPDw8PSA3CisjIHJvbCAgJDcsPHI9aW50MzIjNQorIyByb2wgICQ3LDxyPSVlc2kKK3Jv bCAgJDcsJWVzaQorCisjIAkJciBePSB4NgorIyB4b3JsIDx4Nj1zdGFjazMyIzE2LDxyPWludDMy IzUKKyMgeG9ybCA8eDY9MTI0KCVlc3ApLDxyPSVlc2kKK3hvcmwgMTI0KCVlc3ApLCVlc2kKKwor IyAJCQkJCQl2IDw8PD0gNworIyByb2wgICQ3LDx2PWludDMyIzYKKyMgcm9sICAkNyw8dj0lZWRp Cityb2wgICQ3LCVlZGkKKworIyAJCQkJCQl2IF49IHgxMgorIyB4b3JsIDx4MTI9c3RhY2szMiMy Miw8dj1pbnQzMiM2CisjIHhvcmwgPHgxMj0xNDgoJWVzcCksPHY9JWVkaQoreG9ybCAxNDgoJWVz cCksJWVkaQorCisjIHgxID0gcAorIyBtb3ZsIDxwPWludDMyIzEsPngxPXN0YWNrMzIjMTEKKyMg bW92bCA8cD0lZWF4LD54MT0xMDQoJWVzcCkKK21vdmwgJWVheCwxMDQoJWVzcCkKKworIyAJCQkJ eDExID0gdAorIyBtb3ZsIDx0PWludDMyIzMsPngxMT1zdGFjazMyIzIxCisjIG1vdmwgPHQ9JWVk eCw+eDExPTE0NCglZXNwKQorbW92bCAlZWR4LDE0NCglZXNwKQorCisjIHAgKz0geDAKKyMgYWRk bCA8eDA9c3RhY2szMiMxMCw8cD1pbnQzMiMxCisjIGFkZGwgPHgwPTEwMCglZXNwKSw8cD0lZWF4 CithZGRsIDEwMCglZXNwKSwlZWF4CisKKyMgCQl4NiA9IHIKKyMgbW92bCA8cj1pbnQzMiM1LD54 Nj1zdGFjazMyIzE2CisjIG1vdmwgPHI9JWVzaSw+eDY9MTI0KCVlc3ApCittb3ZsICVlc2ksMTI0 KCVlc3ApCisKKyMgCQkJCXQgKz0geDEwCisjIGFkZGwgPHgxMD1zdGFjazMyIzIwLDx0PWludDMy IzMKKyMgYWRkbCA8eDEwPTE0MCglZXNwKSw8dD0lZWR4CithZGRsIDE0MCglZXNwKSwlZWR4CisK KyMgCQkJCQkJeDEyID0gdgorIyBtb3ZsIDx2PWludDMyIzYsPngxMj1zdGFjazMyIzIyCisjIG1v dmwgPHY9JWVkaSw+eDEyPTE0OCglZXNwKQorbW92bCAlZWRpLDE0OCglZXNwKQorCisjIHAgPDw8 PSA5CisjIHJvbCAgJDksPHA9aW50MzIjMQorIyByb2wgICQ5LDxwPSVlYXgKK3JvbCAgJDksJWVh eAorCisjIHAgXj0geDIKKyMgeG9ybCA8eDI9c3RhY2szMiMxMiw8cD1pbnQzMiMxCisjIHhvcmwg PHgyPTEwOCglZXNwKSw8cD0lZWF4Cit4b3JsIDEwOCglZXNwKSwlZWF4CisKKyMgCQkJCXQgPDw8 PSA5CisjIHJvbCAgJDksPHQ9aW50MzIjMworIyByb2wgICQ5LDx0PSVlZHgKK3JvbCAgJDksJWVk eAorCisjIAkJCQl0IF49IHg4CisjIHhvcmwgPHg4PXN0YWNrMzIjMTgsPHQ9aW50MzIjMworIyB4 b3JsIDx4OD0xMzIoJWVzcCksPHQ9JWVkeAoreG9ybCAxMzIoJWVzcCksJWVkeAorCisjIAkJcyAr PSByCisjIGFkZCAgPHI9aW50MzIjNSw8cz1pbnQzMiMyCisjIGFkZCAgPHI9JWVzaSw8cz0lZWN4 CithZGQgICVlc2ksJWVjeAorCisjIAkJcyA8PDw9IDkKKyMgcm9sICAkOSw8cz1pbnQzMiMyCisj IHJvbCAgJDksPHM9JWVjeAorcm9sICAkOSwlZWN4CisKKyMgCQlzIF49IHg3CisjIHhvcmwgPHg3 PXN0YWNrMzIjMTcsPHM9aW50MzIjMgorIyB4b3JsIDx4Nz0xMjgoJWVzcCksPHM9JWVjeAoreG9y bCAxMjgoJWVzcCksJWVjeAorCisjIAkJCQkJCXcgKz0gdgorIyBhZGQgIDx2PWludDMyIzYsPHc9 aW50MzIjNAorIyBhZGQgIDx2PSVlZGksPHc9JWVieAorYWRkICAlZWRpLCVlYngKKworIyAJCQkJ CQl3IDw8PD0gOQorIyByb2wgICQ5LDx3PWludDMyIzQKKyMgcm9sICAkOSw8dz0lZWJ4Cityb2wg ICQ5LCVlYngKKworIyAJCQkJCQl3IF49IHgxMworIyB4b3JsIDx4MTM9c3RhY2szMiMyMyw8dz1p bnQzMiM0CisjIHhvcmwgPHgxMz0xNTIoJWVzcCksPHc9JWVieAoreG9ybCAxNTIoJWVzcCksJWVi eAorCisjIHgyID0gcAorIyBtb3ZsIDxwPWludDMyIzEsPngyPXN0YWNrMzIjMTIKKyMgbW92bCA8 cD0lZWF4LD54Mj0xMDgoJWVzcCkKK21vdmwgJWVheCwxMDgoJWVzcCkKKworIyAJCQkJeDggPSB0 CisjIG1vdmwgPHQ9aW50MzIjMyw+eDg9c3RhY2szMiMxOAorIyBtb3ZsIDx0PSVlZHgsPng4PTEz MiglZXNwKQorbW92bCAlZWR4LDEzMiglZXNwKQorCisjIHAgKz0geDEKKyMgYWRkbCA8eDE9c3Rh Y2szMiMxMSw8cD1pbnQzMiMxCisjIGFkZGwgPHgxPTEwNCglZXNwKSw8cD0lZWF4CithZGRsIDEw NCglZXNwKSwlZWF4CisKKyMgCQl4NyA9IHMKKyMgbW92bCA8cz1pbnQzMiMyLD54Nz1zdGFjazMy IzE3CisjIG1vdmwgPHM9JWVjeCw+eDc9MTI4KCVlc3ApCittb3ZsICVlY3gsMTI4KCVlc3ApCisK KyMgCQkJCXQgKz0geDExCisjIGFkZGwgPHgxMT1zdGFjazMyIzIxLDx0PWludDMyIzMKKyMgYWRk bCA8eDExPTE0NCglZXNwKSw8dD0lZWR4CithZGRsIDE0NCglZXNwKSwlZWR4CisKKyMgCQkJCQkJ eDEzID0gdworIyBtb3ZsIDx3PWludDMyIzQsPngxMz1zdGFjazMyIzIzCisjIG1vdmwgPHc9JWVi eCw+eDEzPTE1MiglZXNwKQorbW92bCAlZWJ4LDE1MiglZXNwKQorCisjIHAgPDw8PSAxMworIyBy b2wgICQxMyw8cD1pbnQzMiMxCisjIHJvbCAgJDEzLDxwPSVlYXgKK3JvbCAgJDEzLCVlYXgKKwor IyBwIF49IHgzCisjIHhvcmwgPHgzPXN0YWNrMzIjMTMsPHA9aW50MzIjMQorIyB4b3JsIDx4Mz0x MTIoJWVzcCksPHA9JWVheAoreG9ybCAxMTIoJWVzcCksJWVheAorCisjIAkJCQl0IDw8PD0gMTMK KyMgcm9sICAkMTMsPHQ9aW50MzIjMworIyByb2wgICQxMyw8dD0lZWR4Cityb2wgICQxMywlZWR4 CisKKyMgCQkJCXQgXj0geDkKKyMgeG9ybCA8eDk9c3RhY2szMiMxOSw8dD1pbnQzMiMzCisjIHhv cmwgPHg5PTEzNiglZXNwKSw8dD0lZWR4Cit4b3JsIDEzNiglZXNwKSwlZWR4CisKKyMgCQlyICs9 IHMKKyMgYWRkICA8cz1pbnQzMiMyLDxyPWludDMyIzUKKyMgYWRkICA8cz0lZWN4LDxyPSVlc2kK K2FkZCAgJWVjeCwlZXNpCisKKyMgCQlyIDw8PD0gMTMKKyMgcm9sICAkMTMsPHI9aW50MzIjNQor IyByb2wgICQxMyw8cj0lZXNpCityb2wgICQxMywlZXNpCisKKyMgCQlyIF49IHg0CisjIHhvcmwg PHg0PXN0YWNrMzIjMTQsPHI9aW50MzIjNQorIyB4b3JsIDx4ND0xMTYoJWVzcCksPHI9JWVzaQor eG9ybCAxMTYoJWVzcCksJWVzaQorCisjIAkJCQkJCXYgKz0gdworIyBhZGQgIDx3PWludDMyIzQs PHY9aW50MzIjNgorIyBhZGQgIDx3PSVlYngsPHY9JWVkaQorYWRkICAlZWJ4LCVlZGkKKworIyAJ CQkJCQl2IDw8PD0gMTMKKyMgcm9sICAkMTMsPHY9aW50MzIjNgorIyByb2wgICQxMyw8dj0lZWRp Cityb2wgICQxMywlZWRpCisKKyMgCQkJCQkJdiBePSB4MTQKKyMgeG9ybCA8eDE0PXN0YWNrMzIj MjQsPHY9aW50MzIjNgorIyB4b3JsIDx4MTQ9MTU2KCVlc3ApLDx2PSVlZGkKK3hvcmwgMTU2KCVl c3ApLCVlZGkKKworIyB4MyA9IHAKKyMgbW92bCA8cD1pbnQzMiMxLD54Mz1zdGFjazMyIzEzCisj IG1vdmwgPHA9JWVheCw+eDM9MTEyKCVlc3ApCittb3ZsICVlYXgsMTEyKCVlc3ApCisKKyMgCQkJ CXg5ID0gdAorIyBtb3ZsIDx0PWludDMyIzMsPng5PXN0YWNrMzIjMTkKKyMgbW92bCA8dD0lZWR4 LD54OT0xMzYoJWVzcCkKK21vdmwgJWVkeCwxMzYoJWVzcCkKKworIyBwICs9IHgyCisjIGFkZGwg PHgyPXN0YWNrMzIjMTIsPHA9aW50MzIjMQorIyBhZGRsIDx4Mj0xMDgoJWVzcCksPHA9JWVheAor YWRkbCAxMDgoJWVzcCksJWVheAorCisjIAkJeDQgPSByCisjIG1vdmwgPHI9aW50MzIjNSw+eDQ9 c3RhY2szMiMxNAorIyBtb3ZsIDxyPSVlc2ksPng0PTExNiglZXNwKQorbW92bCAlZXNpLDExNigl ZXNwKQorCisjIAkJCQl0ICs9IHg4CisjIGFkZGwgPHg4PXN0YWNrMzIjMTgsPHQ9aW50MzIjMwor IyBhZGRsIDx4OD0xMzIoJWVzcCksPHQ9JWVkeAorYWRkbCAxMzIoJWVzcCksJWVkeAorCisjIAkJ CQkJCXgxNCA9IHYKKyMgbW92bCA8dj1pbnQzMiM2LD54MTQ9c3RhY2szMiMyNAorIyBtb3ZsIDx2 PSVlZGksPngxND0xNTYoJWVzcCkKK21vdmwgJWVkaSwxNTYoJWVzcCkKKworIyBwIDw8PD0gMTgK KyMgcm9sICAkMTgsPHA9aW50MzIjMQorIyByb2wgICQxOCw8cD0lZWF4Cityb2wgICQxOCwlZWF4 CisKKyMgcCBePSB4MAorIyB4b3JsIDx4MD1zdGFjazMyIzEwLDxwPWludDMyIzEKKyMgeG9ybCA8 eDA9MTAwKCVlc3ApLDxwPSVlYXgKK3hvcmwgMTAwKCVlc3ApLCVlYXgKKworIyAJCQkJdCA8PDw9 IDE4CisjIHJvbCAgJDE4LDx0PWludDMyIzMKKyMgcm9sICAkMTgsPHQ9JWVkeAorcm9sICAkMTgs JWVkeAorCisjIAkJCQl0IF49IHgxMAorIyB4b3JsIDx4MTA9c3RhY2szMiMyMCw8dD1pbnQzMiMz CisjIHhvcmwgPHgxMD0xNDAoJWVzcCksPHQ9JWVkeAoreG9ybCAxNDAoJWVzcCksJWVkeAorCisj IAkJcyArPSByCisjIGFkZCAgPHI9aW50MzIjNSw8cz1pbnQzMiMyCisjIGFkZCAgPHI9JWVzaSw8 cz0lZWN4CithZGQgICVlc2ksJWVjeAorCisjIAkJcyA8PDw9IDE4CisjIHJvbCAgJDE4LDxzPWlu dDMyIzIKKyMgcm9sICAkMTgsPHM9JWVjeAorcm9sICAkMTgsJWVjeAorCisjIAkJcyBePSB4NQor IyB4b3JsIDx4NT1zdGFjazMyIzE1LDxzPWludDMyIzIKKyMgeG9ybCA8eDU9MTIwKCVlc3ApLDxz PSVlY3gKK3hvcmwgMTIwKCVlc3ApLCVlY3gKKworIyAJCQkJCQl3ICs9IHYKKyMgYWRkICA8dj1p bnQzMiM2LDx3PWludDMyIzQKKyMgYWRkICA8dj0lZWRpLDx3PSVlYngKK2FkZCAgJWVkaSwlZWJ4 CisKKyMgCQkJCQkJdyA8PDw9IDE4CisjIHJvbCAgJDE4LDx3PWludDMyIzQKKyMgcm9sICAkMTgs PHc9JWVieAorcm9sICAkMTgsJWVieAorCisjIAkJCQkJCXcgXj0geDE1CisjIHhvcmwgPHgxNT1z dGFjazMyIzI1LDx3PWludDMyIzQKKyMgeG9ybCA8eDE1PTE2MCglZXNwKSw8dz0lZWJ4Cit4b3Js IDE2MCglZXNwKSwlZWJ4CisKKyMgaSAtPSA0CisjIHN1YiAgJDQsPGk9aW50MzIjNworIyBzdWIg ICQ0LDxpPSVlYnAKK3N1YiAgJDQsJWVicAorCisjIGdvdG8gbWFpbmxvb3AgaWYgdW5zaWduZWQg PgoramEgLl9tYWlubG9vcAorCisjIHgwID0gcAorIyBtb3ZsIDxwPWludDMyIzEsPngwPXN0YWNr MzIjMTAKKyMgbW92bCA8cD0lZWF4LD54MD0xMDAoJWVzcCkKK21vdmwgJWVheCwxMDAoJWVzcCkK KworIyB4NSA9IHMKKyMgbW92bCA8cz1pbnQzMiMyLD54NT1zdGFjazMyIzE1CisjIG1vdmwgPHM9 JWVjeCw+eDU9MTIwKCVlc3ApCittb3ZsICVlY3gsMTIwKCVlc3ApCisKKyMgeDEwID0gdAorIyBt b3ZsIDx0PWludDMyIzMsPngxMD1zdGFjazMyIzIwCisjIG1vdmwgPHQ9JWVkeCw+eDEwPTE0MCgl ZXNwKQorbW92bCAlZWR4LDE0MCglZXNwKQorCisjIHgxNSA9IHcKKyMgbW92bCA8dz1pbnQzMiM0 LD54MTU9c3RhY2szMiMyNQorIyBtb3ZsIDx3PSVlYngsPngxNT0xNjAoJWVzcCkKK21vdmwgJWVi eCwxNjAoJWVzcCkKKworIyAgIG91dCA9IG91dF9iYWNrdXAKKyMgbW92bCA8b3V0X2JhY2t1cD1z dGFjazMyIzMsPm91dD1pbnQzMiM2CisjIG1vdmwgPG91dF9iYWNrdXA9NzIoJWVzcCksPm91dD0l ZWRpCittb3ZsIDcyKCVlc3ApLCVlZGkKKworIyAgIG0gPSBtX2JhY2t1cAorIyBtb3ZsIDxtX2Jh Y2t1cD1zdGFjazMyIzIsPm09aW50MzIjNQorIyBtb3ZsIDxtX2JhY2t1cD02OCglZXNwKSw+bT0l ZXNpCittb3ZsIDY4KCVlc3ApLCVlc2kKKworIyAgIGluMCA9IHgwCisjIG1vdmwgPHgwPXN0YWNr MzIjMTAsPmluMD1pbnQzMiMxCisjIG1vdmwgPHgwPTEwMCglZXNwKSw+aW4wPSVlYXgKK21vdmwg MTAwKCVlc3ApLCVlYXgKKworIyAgIGluMSA9IHgxCisjIG1vdmwgPHgxPXN0YWNrMzIjMTEsPmlu MT1pbnQzMiMyCisjIG1vdmwgPHgxPTEwNCglZXNwKSw+aW4xPSVlY3gKK21vdmwgMTA0KCVlc3Ap LCVlY3gKKworIyAgIGluMCArPSBqMAorIyBhZGRsIDxqMD1zdGFjazMyIzI2LDxpbjA9aW50MzIj MQorIyBhZGRsIDxqMD0xNjQoJWVzcCksPGluMD0lZWF4CithZGRsIDE2NCglZXNwKSwlZWF4CisK KyMgICBpbjEgKz0gajEKKyMgYWRkbCA8ajE9c3RhY2szMiMyNyw8aW4xPWludDMyIzIKKyMgYWRk bCA8ajE9MTY4KCVlc3ApLDxpbjE9JWVjeAorYWRkbCAxNjgoJWVzcCksJWVjeAorCisjICAgaW4w IF49ICoodWludDMyICopIChtICsgMCkKKyMgeG9ybCAwKDxtPWludDMyIzUpLDxpbjA9aW50MzIj MQorIyB4b3JsIDAoPG09JWVzaSksPGluMD0lZWF4Cit4b3JsIDAoJWVzaSksJWVheAorCisjICAg aW4xIF49ICoodWludDMyICopIChtICsgNCkKKyMgeG9ybCA0KDxtPWludDMyIzUpLDxpbjE9aW50 MzIjMgorIyB4b3JsIDQoPG09JWVzaSksPGluMT0lZWN4Cit4b3JsIDQoJWVzaSksJWVjeAorCisj ICAgKih1aW50MzIgKikgKG91dCArIDApID0gaW4wCisjIG1vdmwgPGluMD1pbnQzMiMxLDAoPG91 dD1pbnQzMiM2KQorIyBtb3ZsIDxpbjA9JWVheCwwKDxvdXQ9JWVkaSkKK21vdmwgJWVheCwwKCVl ZGkpCisKKyMgICAqKHVpbnQzMiAqKSAob3V0ICsgNCkgPSBpbjEKKyMgbW92bCA8aW4xPWludDMy IzIsNCg8b3V0PWludDMyIzYpCisjIG1vdmwgPGluMT0lZWN4LDQoPG91dD0lZWRpKQorbW92bCAl ZWN4LDQoJWVkaSkKKworIyAgIGluMiA9IHgyCisjIG1vdmwgPHgyPXN0YWNrMzIjMTIsPmluMj1p bnQzMiMxCisjIG1vdmwgPHgyPTEwOCglZXNwKSw+aW4yPSVlYXgKK21vdmwgMTA4KCVlc3ApLCVl YXgKKworIyAgIGluMyA9IHgzCisjIG1vdmwgPHgzPXN0YWNrMzIjMTMsPmluMz1pbnQzMiMyCisj IG1vdmwgPHgzPTExMiglZXNwKSw+aW4zPSVlY3gKK21vdmwgMTEyKCVlc3ApLCVlY3gKKworIyAg IGluMiArPSBqMgorIyBhZGRsIDxqMj1zdGFjazMyIzI4LDxpbjI9aW50MzIjMQorIyBhZGRsIDxq Mj0xNzIoJWVzcCksPGluMj0lZWF4CithZGRsIDE3MiglZXNwKSwlZWF4CisKKyMgICBpbjMgKz0g ajMKKyMgYWRkbCA8ajM9c3RhY2szMiMyOSw8aW4zPWludDMyIzIKKyMgYWRkbCA8ajM9MTc2KCVl c3ApLDxpbjM9JWVjeAorYWRkbCAxNzYoJWVzcCksJWVjeAorCisjICAgaW4yIF49ICoodWludDMy ICopIChtICsgOCkKKyMgeG9ybCA4KDxtPWludDMyIzUpLDxpbjI9aW50MzIjMQorIyB4b3JsIDgo PG09JWVzaSksPGluMj0lZWF4Cit4b3JsIDgoJWVzaSksJWVheAorCisjICAgaW4zIF49ICoodWlu dDMyICopIChtICsgMTIpCisjIHhvcmwgMTIoPG09aW50MzIjNSksPGluMz1pbnQzMiMyCisjIHhv cmwgMTIoPG09JWVzaSksPGluMz0lZWN4Cit4b3JsIDEyKCVlc2kpLCVlY3gKKworIyAgICoodWlu dDMyICopIChvdXQgKyA4KSA9IGluMgorIyBtb3ZsIDxpbjI9aW50MzIjMSw4KDxvdXQ9aW50MzIj NikKKyMgbW92bCA8aW4yPSVlYXgsOCg8b3V0PSVlZGkpCittb3ZsICVlYXgsOCglZWRpKQorCisj ICAgKih1aW50MzIgKikgKG91dCArIDEyKSA9IGluMworIyBtb3ZsIDxpbjM9aW50MzIjMiwxMig8 b3V0PWludDMyIzYpCisjIG1vdmwgPGluMz0lZWN4LDEyKDxvdXQ9JWVkaSkKK21vdmwgJWVjeCwx MiglZWRpKQorCisjICAgaW40ID0geDQKKyMgbW92bCA8eDQ9c3RhY2szMiMxNCw+aW40PWludDMy IzEKKyMgbW92bCA8eDQ9MTE2KCVlc3ApLD5pbjQ9JWVheAorbW92bCAxMTYoJWVzcCksJWVheAor CisjICAgaW41ID0geDUKKyMgbW92bCA8eDU9c3RhY2szMiMxNSw+aW41PWludDMyIzIKKyMgbW92 bCA8eDU9MTIwKCVlc3ApLD5pbjU9JWVjeAorbW92bCAxMjAoJWVzcCksJWVjeAorCisjICAgaW40 ICs9IGo0CisjIGFkZGwgPGo0PXN0YWNrMzIjMzAsPGluND1pbnQzMiMxCisjIGFkZGwgPGo0PTE4 MCglZXNwKSw8aW40PSVlYXgKK2FkZGwgMTgwKCVlc3ApLCVlYXgKKworIyAgIGluNSArPSBqNQor IyBhZGRsIDxqNT1zdGFjazMyIzMxLDxpbjU9aW50MzIjMgorIyBhZGRsIDxqNT0xODQoJWVzcCks PGluNT0lZWN4CithZGRsIDE4NCglZXNwKSwlZWN4CisKKyMgICBpbjQgXj0gKih1aW50MzIgKikg KG0gKyAxNikKKyMgeG9ybCAxNig8bT1pbnQzMiM1KSw8aW40PWludDMyIzEKKyMgeG9ybCAxNig8 bT0lZXNpKSw8aW40PSVlYXgKK3hvcmwgMTYoJWVzaSksJWVheAorCisjICAgaW41IF49ICoodWlu dDMyICopIChtICsgMjApCisjIHhvcmwgMjAoPG09aW50MzIjNSksPGluNT1pbnQzMiMyCisjIHhv cmwgMjAoPG09JWVzaSksPGluNT0lZWN4Cit4b3JsIDIwKCVlc2kpLCVlY3gKKworIyAgICoodWlu dDMyICopIChvdXQgKyAxNikgPSBpbjQKKyMgbW92bCA8aW40PWludDMyIzEsMTYoPG91dD1pbnQz MiM2KQorIyBtb3ZsIDxpbjQ9JWVheCwxNig8b3V0PSVlZGkpCittb3ZsICVlYXgsMTYoJWVkaSkK KworIyAgICoodWludDMyICopIChvdXQgKyAyMCkgPSBpbjUKKyMgbW92bCA8aW41PWludDMyIzIs MjAoPG91dD1pbnQzMiM2KQorIyBtb3ZsIDxpbjU9JWVjeCwyMCg8b3V0PSVlZGkpCittb3ZsICVl Y3gsMjAoJWVkaSkKKworIyAgIGluNiA9IHg2CisjIG1vdmwgPHg2PXN0YWNrMzIjMTYsPmluNj1p bnQzMiMxCisjIG1vdmwgPHg2PTEyNCglZXNwKSw+aW42PSVlYXgKK21vdmwgMTI0KCVlc3ApLCVl YXgKKworIyAgIGluNyA9IHg3CisjIG1vdmwgPHg3PXN0YWNrMzIjMTcsPmluNz1pbnQzMiMyCisj IG1vdmwgPHg3PTEyOCglZXNwKSw+aW43PSVlY3gKK21vdmwgMTI4KCVlc3ApLCVlY3gKKworIyAg IGluNiArPSBqNgorIyBhZGRsIDxqNj1zdGFjazMyIzMyLDxpbjY9aW50MzIjMQorIyBhZGRsIDxq Nj0xODgoJWVzcCksPGluNj0lZWF4CithZGRsIDE4OCglZXNwKSwlZWF4CisKKyMgICBpbjcgKz0g ajcKKyMgYWRkbCA8ajc9c3RhY2szMiMzMyw8aW43PWludDMyIzIKKyMgYWRkbCA8ajc9MTkyKCVl c3ApLDxpbjc9JWVjeAorYWRkbCAxOTIoJWVzcCksJWVjeAorCisjICAgaW42IF49ICoodWludDMy ICopIChtICsgMjQpCisjIHhvcmwgMjQoPG09aW50MzIjNSksPGluNj1pbnQzMiMxCisjIHhvcmwg MjQoPG09JWVzaSksPGluNj0lZWF4Cit4b3JsIDI0KCVlc2kpLCVlYXgKKworIyAgIGluNyBePSAq KHVpbnQzMiAqKSAobSArIDI4KQorIyB4b3JsIDI4KDxtPWludDMyIzUpLDxpbjc9aW50MzIjMgor IyB4b3JsIDI4KDxtPSVlc2kpLDxpbjc9JWVjeAoreG9ybCAyOCglZXNpKSwlZWN4CisKKyMgICAq KHVpbnQzMiAqKSAob3V0ICsgMjQpID0gaW42CisjIG1vdmwgPGluNj1pbnQzMiMxLDI0KDxvdXQ9 aW50MzIjNikKKyMgbW92bCA8aW42PSVlYXgsMjQoPG91dD0lZWRpKQorbW92bCAlZWF4LDI0KCVl ZGkpCisKKyMgICAqKHVpbnQzMiAqKSAob3V0ICsgMjgpID0gaW43CisjIG1vdmwgPGluNz1pbnQz MiMyLDI4KDxvdXQ9aW50MzIjNikKKyMgbW92bCA8aW43PSVlY3gsMjgoPG91dD0lZWRpKQorbW92 bCAlZWN4LDI4KCVlZGkpCisKKyMgICBpbjggPSB4OAorIyBtb3ZsIDx4OD1zdGFjazMyIzE4LD5p bjg9aW50MzIjMQorIyBtb3ZsIDx4OD0xMzIoJWVzcCksPmluOD0lZWF4Cittb3ZsIDEzMiglZXNw KSwlZWF4CisKKyMgICBpbjkgPSB4OQorIyBtb3ZsIDx4OT1zdGFjazMyIzE5LD5pbjk9aW50MzIj MgorIyBtb3ZsIDx4OT0xMzYoJWVzcCksPmluOT0lZWN4Cittb3ZsIDEzNiglZXNwKSwlZWN4CisK KyMgICBpbjggKz0gajgKKyMgYWRkbCA8ajg9c3RhY2szMiMzNCw8aW44PWludDMyIzEKKyMgYWRk bCA8ajg9MTk2KCVlc3ApLDxpbjg9JWVheAorYWRkbCAxOTYoJWVzcCksJWVheAorCisjICAgaW45 ICs9IGo5CisjIGFkZGwgPGo5PXN0YWNrMzIjMzUsPGluOT1pbnQzMiMyCisjIGFkZGwgPGo5PTIw MCglZXNwKSw8aW45PSVlY3gKK2FkZGwgMjAwKCVlc3ApLCVlY3gKKworIyAgIGluOCBePSAqKHVp bnQzMiAqKSAobSArIDMyKQorIyB4b3JsIDMyKDxtPWludDMyIzUpLDxpbjg9aW50MzIjMQorIyB4 b3JsIDMyKDxtPSVlc2kpLDxpbjg9JWVheAoreG9ybCAzMiglZXNpKSwlZWF4CisKKyMgICBpbjkg Xj0gKih1aW50MzIgKikgKG0gKyAzNikKKyMgeG9ybCAzNig8bT1pbnQzMiM1KSw8aW45PWludDMy IzIKKyMgeG9ybCAzNig8bT0lZXNpKSw8aW45PSVlY3gKK3hvcmwgMzYoJWVzaSksJWVjeAorCisj ICAgKih1aW50MzIgKikgKG91dCArIDMyKSA9IGluOAorIyBtb3ZsIDxpbjg9aW50MzIjMSwzMig8 b3V0PWludDMyIzYpCisjIG1vdmwgPGluOD0lZWF4LDMyKDxvdXQ9JWVkaSkKK21vdmwgJWVheCwz MiglZWRpKQorCisjICAgKih1aW50MzIgKikgKG91dCArIDM2KSA9IGluOQorIyBtb3ZsIDxpbjk9 aW50MzIjMiwzNig8b3V0PWludDMyIzYpCisjIG1vdmwgPGluOT0lZWN4LDM2KDxvdXQ9JWVkaSkK K21vdmwgJWVjeCwzNiglZWRpKQorCisjICAgaW4xMCA9IHgxMAorIyBtb3ZsIDx4MTA9c3RhY2sz MiMyMCw+aW4xMD1pbnQzMiMxCisjIG1vdmwgPHgxMD0xNDAoJWVzcCksPmluMTA9JWVheAorbW92 bCAxNDAoJWVzcCksJWVheAorCisjICAgaW4xMSA9IHgxMQorIyBtb3ZsIDx4MTE9c3RhY2szMiMy MSw+aW4xMT1pbnQzMiMyCisjIG1vdmwgPHgxMT0xNDQoJWVzcCksPmluMTE9JWVjeAorbW92bCAx NDQoJWVzcCksJWVjeAorCisjICAgaW4xMCArPSBqMTAKKyMgYWRkbCA8ajEwPXN0YWNrMzIjMzYs PGluMTA9aW50MzIjMQorIyBhZGRsIDxqMTA9MjA0KCVlc3ApLDxpbjEwPSVlYXgKK2FkZGwgMjA0 KCVlc3ApLCVlYXgKKworIyAgIGluMTEgKz0gajExCisjIGFkZGwgPGoxMT1zdGFjazMyIzM3LDxp bjExPWludDMyIzIKKyMgYWRkbCA8ajExPTIwOCglZXNwKSw8aW4xMT0lZWN4CithZGRsIDIwOCgl ZXNwKSwlZWN4CisKKyMgICBpbjEwIF49ICoodWludDMyICopIChtICsgNDApCisjIHhvcmwgNDAo PG09aW50MzIjNSksPGluMTA9aW50MzIjMQorIyB4b3JsIDQwKDxtPSVlc2kpLDxpbjEwPSVlYXgK K3hvcmwgNDAoJWVzaSksJWVheAorCisjICAgaW4xMSBePSAqKHVpbnQzMiAqKSAobSArIDQ0KQor IyB4b3JsIDQ0KDxtPWludDMyIzUpLDxpbjExPWludDMyIzIKKyMgeG9ybCA0NCg8bT0lZXNpKSw8 aW4xMT0lZWN4Cit4b3JsIDQ0KCVlc2kpLCVlY3gKKworIyAgICoodWludDMyICopIChvdXQgKyA0 MCkgPSBpbjEwCisjIG1vdmwgPGluMTA9aW50MzIjMSw0MCg8b3V0PWludDMyIzYpCisjIG1vdmwg PGluMTA9JWVheCw0MCg8b3V0PSVlZGkpCittb3ZsICVlYXgsNDAoJWVkaSkKKworIyAgICoodWlu dDMyICopIChvdXQgKyA0NCkgPSBpbjExCisjIG1vdmwgPGluMTE9aW50MzIjMiw0NCg8b3V0PWlu dDMyIzYpCisjIG1vdmwgPGluMTE9JWVjeCw0NCg8b3V0PSVlZGkpCittb3ZsICVlY3gsNDQoJWVk aSkKKworIyAgIGluMTIgPSB4MTIKKyMgbW92bCA8eDEyPXN0YWNrMzIjMjIsPmluMTI9aW50MzIj MQorIyBtb3ZsIDx4MTI9MTQ4KCVlc3ApLD5pbjEyPSVlYXgKK21vdmwgMTQ4KCVlc3ApLCVlYXgK KworIyAgIGluMTMgPSB4MTMKKyMgbW92bCA8eDEzPXN0YWNrMzIjMjMsPmluMTM9aW50MzIjMgor IyBtb3ZsIDx4MTM9MTUyKCVlc3ApLD5pbjEzPSVlY3gKK21vdmwgMTUyKCVlc3ApLCVlY3gKKwor IyAgIGluMTIgKz0gajEyCisjIGFkZGwgPGoxMj1zdGFjazMyIzM4LDxpbjEyPWludDMyIzEKKyMg YWRkbCA8ajEyPTIxMiglZXNwKSw8aW4xMj0lZWF4CithZGRsIDIxMiglZXNwKSwlZWF4CisKKyMg ICBpbjEzICs9IGoxMworIyBhZGRsIDxqMTM9c3RhY2szMiMzOSw8aW4xMz1pbnQzMiMyCisjIGFk ZGwgPGoxMz0yMTYoJWVzcCksPGluMTM9JWVjeAorYWRkbCAyMTYoJWVzcCksJWVjeAorCisjICAg aW4xMiBePSAqKHVpbnQzMiAqKSAobSArIDQ4KQorIyB4b3JsIDQ4KDxtPWludDMyIzUpLDxpbjEy PWludDMyIzEKKyMgeG9ybCA0OCg8bT0lZXNpKSw8aW4xMj0lZWF4Cit4b3JsIDQ4KCVlc2kpLCVl YXgKKworIyAgIGluMTMgXj0gKih1aW50MzIgKikgKG0gKyA1MikKKyMgeG9ybCA1Mig8bT1pbnQz MiM1KSw8aW4xMz1pbnQzMiMyCisjIHhvcmwgNTIoPG09JWVzaSksPGluMTM9JWVjeAoreG9ybCA1 MiglZXNpKSwlZWN4CisKKyMgICAqKHVpbnQzMiAqKSAob3V0ICsgNDgpID0gaW4xMgorIyBtb3Zs IDxpbjEyPWludDMyIzEsNDgoPG91dD1pbnQzMiM2KQorIyBtb3ZsIDxpbjEyPSVlYXgsNDgoPG91 dD0lZWRpKQorbW92bCAlZWF4LDQ4KCVlZGkpCisKKyMgICAqKHVpbnQzMiAqKSAob3V0ICsgNTIp ID0gaW4xMworIyBtb3ZsIDxpbjEzPWludDMyIzIsNTIoPG91dD1pbnQzMiM2KQorIyBtb3ZsIDxp bjEzPSVlY3gsNTIoPG91dD0lZWRpKQorbW92bCAlZWN4LDUyKCVlZGkpCisKKyMgICBpbjE0ID0g eDE0CisjIG1vdmwgPHgxND1zdGFjazMyIzI0LD5pbjE0PWludDMyIzEKKyMgbW92bCA8eDE0PTE1 NiglZXNwKSw+aW4xND0lZWF4Cittb3ZsIDE1NiglZXNwKSwlZWF4CisKKyMgICBpbjE1ID0geDE1 CisjIG1vdmwgPHgxNT1zdGFjazMyIzI1LD5pbjE1PWludDMyIzIKKyMgbW92bCA8eDE1PTE2MCgl ZXNwKSw+aW4xNT0lZWN4Cittb3ZsIDE2MCglZXNwKSwlZWN4CisKKyMgICBpbjE0ICs9IGoxNAor IyBhZGRsIDxqMTQ9c3RhY2szMiM0MCw8aW4xND1pbnQzMiMxCisjIGFkZGwgPGoxND0yMjAoJWVz cCksPGluMTQ9JWVheAorYWRkbCAyMjAoJWVzcCksJWVheAorCisjICAgaW4xNSArPSBqMTUKKyMg YWRkbCA8ajE1PXN0YWNrMzIjNDEsPGluMTU9aW50MzIjMgorIyBhZGRsIDxqMTU9MjI0KCVlc3Ap LDxpbjE1PSVlY3gKK2FkZGwgMjI0KCVlc3ApLCVlY3gKKworIyAgIGluMTQgXj0gKih1aW50MzIg KikgKG0gKyA1NikKKyMgeG9ybCA1Nig8bT1pbnQzMiM1KSw8aW4xND1pbnQzMiMxCisjIHhvcmwg NTYoPG09JWVzaSksPGluMTQ9JWVheAoreG9ybCA1NiglZXNpKSwlZWF4CisKKyMgICBpbjE1IF49 ICoodWludDMyICopIChtICsgNjApCisjIHhvcmwgNjAoPG09aW50MzIjNSksPGluMTU9aW50MzIj MgorIyB4b3JsIDYwKDxtPSVlc2kpLDxpbjE1PSVlY3gKK3hvcmwgNjAoJWVzaSksJWVjeAorCisj ICAgKih1aW50MzIgKikgKG91dCArIDU2KSA9IGluMTQKKyMgbW92bCA8aW4xND1pbnQzMiMxLDU2 KDxvdXQ9aW50MzIjNikKKyMgbW92bCA8aW4xND0lZWF4LDU2KDxvdXQ9JWVkaSkKK21vdmwgJWVh eCw1NiglZWRpKQorCisjICAgKih1aW50MzIgKikgKG91dCArIDYwKSA9IGluMTUKKyMgbW92bCA8 aW4xNT1pbnQzMiMyLDYwKDxvdXQ9aW50MzIjNikKKyMgbW92bCA8aW4xNT0lZWN4LDYwKDxvdXQ9 JWVkaSkKK21vdmwgJWVjeCw2MCglZWRpKQorCisjICAgYnl0ZXMgPSBieXRlc19iYWNrdXAKKyMg bW92bCA8Ynl0ZXNfYmFja3VwPXN0YWNrMzIjNCw+Ynl0ZXM9aW50MzIjNAorIyBtb3ZsIDxieXRl c19iYWNrdXA9NzYoJWVzcCksPmJ5dGVzPSVlYngKK21vdmwgNzYoJWVzcCksJWVieAorCisjICAg aW44ID0gajgKKyMgbW92bCA8ajg9c3RhY2szMiMzNCw+aW44PWludDMyIzEKKyMgbW92bCA8ajg9 MTk2KCVlc3ApLD5pbjg9JWVheAorbW92bCAxOTYoJWVzcCksJWVheAorCisjICAgaW45ID0gajkK KyMgbW92bCA8ajk9c3RhY2szMiMzNSw+aW45PWludDMyIzIKKyMgbW92bCA8ajk9MjAwKCVlc3Ap LD5pbjk9JWVjeAorbW92bCAyMDAoJWVzcCksJWVjeAorCisjICAgaW44ICs9IDEKKyMgYWRkICAk MSw8aW44PWludDMyIzEKKyMgYWRkICAkMSw8aW44PSVlYXgKK2FkZCAgJDEsJWVheAorCisjICAg aW45ICs9IDAgKyBjYXJyeQorIyBhZGMgICQwLDxpbjk9aW50MzIjMgorIyBhZGMgICQwLDxpbjk9 JWVjeAorYWRjICAkMCwlZWN4CisKKyMgICBqOCA9IGluOAorIyBtb3ZsIDxpbjg9aW50MzIjMSw+ ajg9c3RhY2szMiMzNAorIyBtb3ZsIDxpbjg9JWVheCw+ajg9MTk2KCVlc3ApCittb3ZsICVlYXgs MTk2KCVlc3ApCisKKyMgICBqOSA9IGluOQorIyBtb3ZsIDxpbjk9aW50MzIjMiw+ajk9c3RhY2sz MiMzNQorIyBtb3ZsIDxpbjk9JWVjeCw+ajk9MjAwKCVlc3ApCittb3ZsICVlY3gsMjAwKCVlc3Ap CisKKyMgICBieXRlcyAtIDY0CisjIGNtcCAgJDY0LDxieXRlcz1pbnQzMiM0CisjIGNtcCAgJDY0 LDxieXRlcz0lZWJ4CitjbXAgICQ2NCwlZWJ4CisKKyMgICBnb3RvIGJ5dGVzYXRsZWFzdDY1IGlm IHVuc2lnbmVkPgoramEgLl9ieXRlc2F0bGVhc3Q2NQorCisjICAgICBnb3RvIGJ5dGVzYXRsZWFz dDY0IGlmIHVuc2lnbmVkPj0KK2phZSAuX2J5dGVzYXRsZWFzdDY0CisKKyMgICAgICAgbSA9IG91 dAorIyBtb3YgIDxvdXQ9aW50MzIjNiw+bT1pbnQzMiM1CisjIG1vdiAgPG91dD0lZWRpLD5tPSVl c2kKK21vdiAgJWVkaSwlZXNpCisKKyMgICAgICAgb3V0ID0gY3RhcmdldAorIyBtb3ZsIDxjdGFy Z2V0PXN0YWNrMzIjNDIsPm91dD1pbnQzMiM2CisjIG1vdmwgPGN0YXJnZXQ9MjI4KCVlc3ApLD5v dXQ9JWVkaQorbW92bCAyMjgoJWVzcCksJWVkaQorCisjICAgICAgIGkgPSBieXRlcworIyBtb3Yg IDxieXRlcz1pbnQzMiM0LD5pPWludDMyIzIKKyMgbW92ICA8Ynl0ZXM9JWVieCw+aT0lZWN4Citt b3YgICVlYngsJWVjeAorCisjICAgICAgIHdoaWxlIChpKSB7ICpvdXQrKyA9ICptKys7IC0taSB9 CityZXAgbW92c2IKKworIyAgICAgYnl0ZXNhdGxlYXN0NjQjCisuX2J5dGVzYXRsZWFzdDY0Ogor CisjICAgICB4ID0geF9iYWNrdXAKKyMgbW92bCA8eF9iYWNrdXA9c3RhY2szMiMxLD54PWludDMy IzEKKyMgbW92bCA8eF9iYWNrdXA9NjQoJWVzcCksPng9JWVheAorbW92bCA2NCglZXNwKSwlZWF4 CisKKyMgICAgIGluOCA9IGo4CisjIG1vdmwgPGo4PXN0YWNrMzIjMzQsPmluOD1pbnQzMiMyCisj IG1vdmwgPGo4PTE5NiglZXNwKSw+aW44PSVlY3gKK21vdmwgMTk2KCVlc3ApLCVlY3gKKworIyAg ICAgaW45ID0gajkKKyMgbW92bCA8ajk9c3RhY2szMiMzNSw+aW45PWludDMyIzMKKyMgbW92bCA8 ajk9MjAwKCVlc3ApLD5pbjk9JWVkeAorbW92bCAyMDAoJWVzcCksJWVkeAorCisjICAgICAqKHVp bnQzMiAqKSAoeCArIDMyKSA9IGluOAorIyBtb3ZsIDxpbjg9aW50MzIjMiwzMig8eD1pbnQzMiMx KQorIyBtb3ZsIDxpbjg9JWVjeCwzMig8eD0lZWF4KQorbW92bCAlZWN4LDMyKCVlYXgpCisKKyMg ICAgICoodWludDMyICopICh4ICsgMzYpID0gaW45CisjIG1vdmwgPGluOT1pbnQzMiMzLDM2KDx4 PWludDMyIzEpCisjIG1vdmwgPGluOT0lZWR4LDM2KDx4PSVlYXgpCittb3ZsICVlZHgsMzYoJWVh eCkKKworIyAgICAgZG9uZSMKKy5fZG9uZToKKworIyAgICAgZWF4ID0gZWF4X3N0YWNrCisjIG1v dmwgPGVheF9zdGFjaz1zdGFjazMyIzUsPmVheD1pbnQzMiMxCisjIG1vdmwgPGVheF9zdGFjaz04 MCglZXNwKSw+ZWF4PSVlYXgKK21vdmwgODAoJWVzcCksJWVheAorCisjICAgICBlYnggPSBlYnhf c3RhY2sKKyMgbW92bCA8ZWJ4X3N0YWNrPXN0YWNrMzIjNiw+ZWJ4PWludDMyIzQKKyMgbW92bCA8 ZWJ4X3N0YWNrPTg0KCVlc3ApLD5lYng9JWVieAorbW92bCA4NCglZXNwKSwlZWJ4CisKKyMgICAg IGVzaSA9IGVzaV9zdGFjaworIyBtb3ZsIDxlc2lfc3RhY2s9c3RhY2szMiM3LD5lc2k9aW50MzIj NQorIyBtb3ZsIDxlc2lfc3RhY2s9ODgoJWVzcCksPmVzaT0lZXNpCittb3ZsIDg4KCVlc3ApLCVl c2kKKworIyAgICAgZWRpID0gZWRpX3N0YWNrCisjIG1vdmwgPGVkaV9zdGFjaz1zdGFjazMyIzgs PmVkaT1pbnQzMiM2CisjIG1vdmwgPGVkaV9zdGFjaz05MiglZXNwKSw+ZWRpPSVlZGkKK21vdmwg OTIoJWVzcCksJWVkaQorCisjICAgICBlYnAgPSBlYnBfc3RhY2sKKyMgbW92bCA8ZWJwX3N0YWNr PXN0YWNrMzIjOSw+ZWJwPWludDMyIzcKKyMgbW92bCA8ZWJwX3N0YWNrPTk2KCVlc3ApLD5lYnA9 JWVicAorbW92bCA5NiglZXNwKSwlZWJwCisKKyMgICAgIGxlYXZlCithZGQgJWVheCwlZXNwCity ZXQKKworIyAgIGJ5dGVzYXRsZWFzdDY1IworLl9ieXRlc2F0bGVhc3Q2NToKKworIyAgIGJ5dGVz IC09IDY0CisjIHN1YiAgJDY0LDxieXRlcz1pbnQzMiM0CisjIHN1YiAgJDY0LDxieXRlcz0lZWJ4 CitzdWIgICQ2NCwlZWJ4CisKKyMgICBvdXQgKz0gNjQKKyMgYWRkICAkNjQsPG91dD1pbnQzMiM2 CisjIGFkZCAgJDY0LDxvdXQ9JWVkaQorYWRkICAkNjQsJWVkaQorCisjICAgbSArPSA2NAorIyBh ZGQgICQ2NCw8bT1pbnQzMiM1CisjIGFkZCAgJDY0LDxtPSVlc2kKK2FkZCAgJDY0LCVlc2kKKwor IyBnb3RvIGJ5dGVzYXRsZWFzdDEKK2ptcCAuX2J5dGVzYXRsZWFzdDEKKworIyBlbnRlciBFQ1JZ UFRfaW5pdAorLnRleHQKKy5wMmFsaWduIDUKKy5nbG9ibCBfRUNSWVBUX2luaXQKKy5nbG9ibCBF Q1JZUFRfaW5pdAorX0VDUllQVF9pbml0OgorRUNSWVBUX2luaXQ6Cittb3YgJWVzcCwlZWF4Cith bmQgJDMxLCVlYXgKK2FkZCAkMjU2LCVlYXgKK3N1YiAlZWF4LCVlc3AKKworIyBsZWF2ZQorYWRk ICVlYXgsJWVzcAorcmV0CisKKyMgZW50ZXIgRUNSWVBUX2tleXNldHVwCisudGV4dAorLnAyYWxp Z24gNQorLmdsb2JsIF9FQ1JZUFRfa2V5c2V0dXAKKy5nbG9ibCBFQ1JZUFRfa2V5c2V0dXAKK19F Q1JZUFRfa2V5c2V0dXA6CitFQ1JZUFRfa2V5c2V0dXA6Cittb3YgJWVzcCwlZWF4CithbmQgJDMx LCVlYXgKK2FkZCAkMjU2LCVlYXgKK3N1YiAlZWF4LCVlc3AKKworIyAgIGVheF9zdGFjayA9IGVh eAorIyBtb3ZsIDxlYXg9aW50MzIjMSw+ZWF4X3N0YWNrPXN0YWNrMzIjMQorIyBtb3ZsIDxlYXg9 JWVheCw+ZWF4X3N0YWNrPTY0KCVlc3ApCittb3ZsICVlYXgsNjQoJWVzcCkKKworIyAgIGVieF9z dGFjayA9IGVieAorIyBtb3ZsIDxlYng9aW50MzIjNCw+ZWJ4X3N0YWNrPXN0YWNrMzIjMgorIyBt b3ZsIDxlYng9JWVieCw+ZWJ4X3N0YWNrPTY4KCVlc3ApCittb3ZsICVlYngsNjgoJWVzcCkKKwor IyAgIGVzaV9zdGFjayA9IGVzaQorIyBtb3ZsIDxlc2k9aW50MzIjNSw+ZXNpX3N0YWNrPXN0YWNr MzIjMworIyBtb3ZsIDxlc2k9JWVzaSw+ZXNpX3N0YWNrPTcyKCVlc3ApCittb3ZsICVlc2ksNzIo JWVzcCkKKworIyAgIGVkaV9zdGFjayA9IGVkaQorIyBtb3ZsIDxlZGk9aW50MzIjNiw+ZWRpX3N0 YWNrPXN0YWNrMzIjNAorIyBtb3ZsIDxlZGk9JWVkaSw+ZWRpX3N0YWNrPTc2KCVlc3ApCittb3Zs ICVlZGksNzYoJWVzcCkKKworIyAgIGVicF9zdGFjayA9IGVicAorIyBtb3ZsIDxlYnA9aW50MzIj Nyw+ZWJwX3N0YWNrPXN0YWNrMzIjNQorIyBtb3ZsIDxlYnA9JWVicCw+ZWJwX3N0YWNrPTgwKCVl c3ApCittb3ZsICVlYnAsODAoJWVzcCkKKworIyAgIGsgPSBhcmcyCisjIG1vdmwgPGFyZzI9c3Rh Y2szMiMtMiw+az1pbnQzMiMyCisjIG1vdmwgPGFyZzI9OCglZXNwLCVlYXgpLD5rPSVlY3gKK21v dmwgOCglZXNwLCVlYXgpLCVlY3gKKworIyAgIGtiaXRzID0gYXJnMworIyBtb3ZsIDxhcmczPXN0 YWNrMzIjLTMsPmtiaXRzPWludDMyIzMKKyMgbW92bCA8YXJnMz0xMiglZXNwLCVlYXgpLD5rYml0 cz0lZWR4Cittb3ZsIDEyKCVlc3AsJWVheCksJWVkeAorCisjICAgeCA9IGFyZzEKKyMgbW92bCA8 YXJnMT1zdGFjazMyIy0xLD54PWludDMyIzEKKyMgbW92bCA8YXJnMT00KCVlc3AsJWVheCksPng9 JWVheAorbW92bCA0KCVlc3AsJWVheCksJWVheAorCisjICAgaW4xID0gKih1aW50MzIgKikgKGsg KyAwKQorIyBtb3ZsIDAoPGs9aW50MzIjMiksPmluMT1pbnQzMiM0CisjIG1vdmwgMCg8az0lZWN4 KSw+aW4xPSVlYngKK21vdmwgMCglZWN4KSwlZWJ4CisKKyMgICBpbjIgPSAqKHVpbnQzMiAqKSAo ayArIDQpCisjIG1vdmwgNCg8az1pbnQzMiMyKSw+aW4yPWludDMyIzUKKyMgbW92bCA0KDxrPSVl Y3gpLD5pbjI9JWVzaQorbW92bCA0KCVlY3gpLCVlc2kKKworIyAgIGluMyA9ICoodWludDMyICop IChrICsgOCkKKyMgbW92bCA4KDxrPWludDMyIzIpLD5pbjM9aW50MzIjNgorIyBtb3ZsIDgoPGs9 JWVjeCksPmluMz0lZWRpCittb3ZsIDgoJWVjeCksJWVkaQorCisjICAgaW40ID0gKih1aW50MzIg KikgKGsgKyAxMikKKyMgbW92bCAxMig8az1pbnQzMiMyKSw+aW40PWludDMyIzcKKyMgbW92bCAx Mig8az0lZWN4KSw+aW40PSVlYnAKK21vdmwgMTIoJWVjeCksJWVicAorCisjICAgKih1aW50MzIg KikgKHggKyA0KSA9IGluMQorIyBtb3ZsIDxpbjE9aW50MzIjNCw0KDx4PWludDMyIzEpCisjIG1v dmwgPGluMT0lZWJ4LDQoPHg9JWVheCkKK21vdmwgJWVieCw0KCVlYXgpCisKKyMgICAqKHVpbnQz MiAqKSAoeCArIDgpID0gaW4yCisjIG1vdmwgPGluMj1pbnQzMiM1LDgoPHg9aW50MzIjMSkKKyMg bW92bCA8aW4yPSVlc2ksOCg8eD0lZWF4KQorbW92bCAlZXNpLDgoJWVheCkKKworIyAgICoodWlu dDMyICopICh4ICsgMTIpID0gaW4zCisjIG1vdmwgPGluMz1pbnQzMiM2LDEyKDx4PWludDMyIzEp CisjIG1vdmwgPGluMz0lZWRpLDEyKDx4PSVlYXgpCittb3ZsICVlZGksMTIoJWVheCkKKworIyAg ICoodWludDMyICopICh4ICsgMTYpID0gaW40CisjIG1vdmwgPGluND1pbnQzMiM3LDE2KDx4PWlu dDMyIzEpCisjIG1vdmwgPGluND0lZWJwLDE2KDx4PSVlYXgpCittb3ZsICVlYnAsMTYoJWVheCkK KworIyAgIGtiaXRzIC0gMjU2CisjIGNtcCAgJDI1Niw8a2JpdHM9aW50MzIjMworIyBjbXAgICQy NTYsPGtiaXRzPSVlZHgKK2NtcCAgJDI1NiwlZWR4CisKKyMgICBnb3RvIGtiaXRzMTI4IGlmIHVu c2lnbmVkPAoramIgLl9rYml0czEyOAorCisjICAga2JpdHMyNTYjCisuX2tiaXRzMjU2OgorCisj ICAgICBpbjExID0gKih1aW50MzIgKikgKGsgKyAxNikKKyMgbW92bCAxNig8az1pbnQzMiMyKSw+ aW4xMT1pbnQzMiMzCisjIG1vdmwgMTYoPGs9JWVjeCksPmluMTE9JWVkeAorbW92bCAxNiglZWN4 KSwlZWR4CisKKyMgICAgIGluMTIgPSAqKHVpbnQzMiAqKSAoayArIDIwKQorIyBtb3ZsIDIwKDxr PWludDMyIzIpLD5pbjEyPWludDMyIzQKKyMgbW92bCAyMCg8az0lZWN4KSw+aW4xMj0lZWJ4Citt b3ZsIDIwKCVlY3gpLCVlYngKKworIyAgICAgaW4xMyA9ICoodWludDMyICopIChrICsgMjQpCisj IG1vdmwgMjQoPGs9aW50MzIjMiksPmluMTM9aW50MzIjNQorIyBtb3ZsIDI0KDxrPSVlY3gpLD5p bjEzPSVlc2kKK21vdmwgMjQoJWVjeCksJWVzaQorCisjICAgICBpbjE0ID0gKih1aW50MzIgKikg KGsgKyAyOCkKKyMgbW92bCAyOCg8az1pbnQzMiMyKSw+aW4xND1pbnQzMiMyCisjIG1vdmwgMjgo PGs9JWVjeCksPmluMTQ9JWVjeAorbW92bCAyOCglZWN4KSwlZWN4CisKKyMgICAgICoodWludDMy ICopICh4ICsgNDQpID0gaW4xMQorIyBtb3ZsIDxpbjExPWludDMyIzMsNDQoPHg9aW50MzIjMSkK KyMgbW92bCA8aW4xMT0lZWR4LDQ0KDx4PSVlYXgpCittb3ZsICVlZHgsNDQoJWVheCkKKworIyAg ICAgKih1aW50MzIgKikgKHggKyA0OCkgPSBpbjEyCisjIG1vdmwgPGluMTI9aW50MzIjNCw0OCg8 eD1pbnQzMiMxKQorIyBtb3ZsIDxpbjEyPSVlYngsNDgoPHg9JWVheCkKK21vdmwgJWVieCw0OCgl ZWF4KQorCisjICAgICAqKHVpbnQzMiAqKSAoeCArIDUyKSA9IGluMTMKKyMgbW92bCA8aW4xMz1p bnQzMiM1LDUyKDx4PWludDMyIzEpCisjIG1vdmwgPGluMTM9JWVzaSw1Mig8eD0lZWF4KQorbW92 bCAlZXNpLDUyKCVlYXgpCisKKyMgICAgICoodWludDMyICopICh4ICsgNTYpID0gaW4xNAorIyBt b3ZsIDxpbjE0PWludDMyIzIsNTYoPHg9aW50MzIjMSkKKyMgbW92bCA8aW4xND0lZWN4LDU2KDx4 PSVlYXgpCittb3ZsICVlY3gsNTYoJWVheCkKKworIyAgICAgaW4wID0gMTYzNDc2MDgwNQorIyBt b3YgICQxNjM0NzYwODA1LD5pbjA9aW50MzIjMgorIyBtb3YgICQxNjM0NzYwODA1LD5pbjA9JWVj eAorbW92ICAkMTYzNDc2MDgwNSwlZWN4CisKKyMgICAgIGluNSA9IDg1Nzc2MDg3OAorIyBtb3Yg ICQ4NTc3NjA4NzgsPmluNT1pbnQzMiMzCisjIG1vdiAgJDg1Nzc2MDg3OCw+aW41PSVlZHgKK21v diAgJDg1Nzc2MDg3OCwlZWR4CisKKyMgICAgIGluMTAgPSAyMDM2NDc3MjM0CisjIG1vdiAgJDIw MzY0NzcyMzQsPmluMTA9aW50MzIjNAorIyBtb3YgICQyMDM2NDc3MjM0LD5pbjEwPSVlYngKK21v diAgJDIwMzY0NzcyMzQsJWVieAorCisjICAgICBpbjE1ID0gMTc5NzI4NTIzNgorIyBtb3YgICQx Nzk3Mjg1MjM2LD5pbjE1PWludDMyIzUKKyMgbW92ICAkMTc5NzI4NTIzNiw+aW4xNT0lZXNpCitt b3YgICQxNzk3Mjg1MjM2LCVlc2kKKworIyAgICAgKih1aW50MzIgKikgKHggKyAwKSA9IGluMAor IyBtb3ZsIDxpbjA9aW50MzIjMiwwKDx4PWludDMyIzEpCisjIG1vdmwgPGluMD0lZWN4LDAoPHg9 JWVheCkKK21vdmwgJWVjeCwwKCVlYXgpCisKKyMgICAgICoodWludDMyICopICh4ICsgMjApID0g aW41CisjIG1vdmwgPGluNT1pbnQzMiMzLDIwKDx4PWludDMyIzEpCisjIG1vdmwgPGluNT0lZWR4 LDIwKDx4PSVlYXgpCittb3ZsICVlZHgsMjAoJWVheCkKKworIyAgICAgKih1aW50MzIgKikgKHgg KyA0MCkgPSBpbjEwCisjIG1vdmwgPGluMTA9aW50MzIjNCw0MCg8eD1pbnQzMiMxKQorIyBtb3Zs IDxpbjEwPSVlYngsNDAoPHg9JWVheCkKK21vdmwgJWVieCw0MCglZWF4KQorCisjICAgICAqKHVp bnQzMiAqKSAoeCArIDYwKSA9IGluMTUKKyMgbW92bCA8aW4xNT1pbnQzMiM1LDYwKDx4PWludDMy IzEpCisjIG1vdmwgPGluMTU9JWVzaSw2MCg8eD0lZWF4KQorbW92bCAlZXNpLDYwKCVlYXgpCisK KyMgICBnb3RvIGtleXNldHVwZG9uZQoram1wIC5fa2V5c2V0dXBkb25lCisKKyMgICBrYml0czEy OCMKKy5fa2JpdHMxMjg6CisKKyMgICAgIGluMTEgPSAqKHVpbnQzMiAqKSAoayArIDApCisjIG1v dmwgMCg8az1pbnQzMiMyKSw+aW4xMT1pbnQzMiMzCisjIG1vdmwgMCg8az0lZWN4KSw+aW4xMT0l ZWR4Cittb3ZsIDAoJWVjeCksJWVkeAorCisjICAgICBpbjEyID0gKih1aW50MzIgKikgKGsgKyA0 KQorIyBtb3ZsIDQoPGs9aW50MzIjMiksPmluMTI9aW50MzIjNAorIyBtb3ZsIDQoPGs9JWVjeCks PmluMTI9JWVieAorbW92bCA0KCVlY3gpLCVlYngKKworIyAgICAgaW4xMyA9ICoodWludDMyICop IChrICsgOCkKKyMgbW92bCA4KDxrPWludDMyIzIpLD5pbjEzPWludDMyIzUKKyMgbW92bCA4KDxr PSVlY3gpLD5pbjEzPSVlc2kKK21vdmwgOCglZWN4KSwlZXNpCisKKyMgICAgIGluMTQgPSAqKHVp bnQzMiAqKSAoayArIDEyKQorIyBtb3ZsIDEyKDxrPWludDMyIzIpLD5pbjE0PWludDMyIzIKKyMg bW92bCAxMig8az0lZWN4KSw+aW4xND0lZWN4Cittb3ZsIDEyKCVlY3gpLCVlY3gKKworIyAgICAg Kih1aW50MzIgKikgKHggKyA0NCkgPSBpbjExCisjIG1vdmwgPGluMTE9aW50MzIjMyw0NCg8eD1p bnQzMiMxKQorIyBtb3ZsIDxpbjExPSVlZHgsNDQoPHg9JWVheCkKK21vdmwgJWVkeCw0NCglZWF4 KQorCisjICAgICAqKHVpbnQzMiAqKSAoeCArIDQ4KSA9IGluMTIKKyMgbW92bCA8aW4xMj1pbnQz MiM0LDQ4KDx4PWludDMyIzEpCisjIG1vdmwgPGluMTI9JWVieCw0OCg8eD0lZWF4KQorbW92bCAl ZWJ4LDQ4KCVlYXgpCisKKyMgICAgICoodWludDMyICopICh4ICsgNTIpID0gaW4xMworIyBtb3Zs IDxpbjEzPWludDMyIzUsNTIoPHg9aW50MzIjMSkKKyMgbW92bCA8aW4xMz0lZXNpLDUyKDx4PSVl YXgpCittb3ZsICVlc2ksNTIoJWVheCkKKworIyAgICAgKih1aW50MzIgKikgKHggKyA1NikgPSBp bjE0CisjIG1vdmwgPGluMTQ9aW50MzIjMiw1Nig8eD1pbnQzMiMxKQorIyBtb3ZsIDxpbjE0PSVl Y3gsNTYoPHg9JWVheCkKK21vdmwgJWVjeCw1NiglZWF4KQorCisjICAgICBpbjAgPSAxNjM0NzYw ODA1CisjIG1vdiAgJDE2MzQ3NjA4MDUsPmluMD1pbnQzMiMyCisjIG1vdiAgJDE2MzQ3NjA4MDUs PmluMD0lZWN4Cittb3YgICQxNjM0NzYwODA1LCVlY3gKKworIyAgICAgaW41ID0gODI0MjA2NDQ2 CisjIG1vdiAgJDgyNDIwNjQ0Niw+aW41PWludDMyIzMKKyMgbW92ICAkODI0MjA2NDQ2LD5pbjU9 JWVkeAorbW92ICAkODI0MjA2NDQ2LCVlZHgKKworIyAgICAgaW4xMCA9IDIwMzY0NzcyMzgKKyMg bW92ICAkMjAzNjQ3NzIzOCw+aW4xMD1pbnQzMiM0CisjIG1vdiAgJDIwMzY0NzcyMzgsPmluMTA9 JWVieAorbW92ICAkMjAzNjQ3NzIzOCwlZWJ4CisKKyMgICAgIGluMTUgPSAxNzk3Mjg1MjM2Cisj IG1vdiAgJDE3OTcyODUyMzYsPmluMTU9aW50MzIjNQorIyBtb3YgICQxNzk3Mjg1MjM2LD5pbjE1 PSVlc2kKK21vdiAgJDE3OTcyODUyMzYsJWVzaQorCisjICAgICAqKHVpbnQzMiAqKSAoeCArIDAp ID0gaW4wCisjIG1vdmwgPGluMD1pbnQzMiMyLDAoPHg9aW50MzIjMSkKKyMgbW92bCA8aW4wPSVl Y3gsMCg8eD0lZWF4KQorbW92bCAlZWN4LDAoJWVheCkKKworIyAgICAgKih1aW50MzIgKikgKHgg KyAyMCkgPSBpbjUKKyMgbW92bCA8aW41PWludDMyIzMsMjAoPHg9aW50MzIjMSkKKyMgbW92bCA8 aW41PSVlZHgsMjAoPHg9JWVheCkKK21vdmwgJWVkeCwyMCglZWF4KQorCisjICAgICAqKHVpbnQz MiAqKSAoeCArIDQwKSA9IGluMTAKKyMgbW92bCA8aW4xMD1pbnQzMiM0LDQwKDx4PWludDMyIzEp CisjIG1vdmwgPGluMTA9JWVieCw0MCg8eD0lZWF4KQorbW92bCAlZWJ4LDQwKCVlYXgpCisKKyMg ICAgICoodWludDMyICopICh4ICsgNjApID0gaW4xNQorIyBtb3ZsIDxpbjE1PWludDMyIzUsNjAo PHg9aW50MzIjMSkKKyMgbW92bCA8aW4xNT0lZXNpLDYwKDx4PSVlYXgpCittb3ZsICVlc2ksNjAo JWVheCkKKworIyAgIGtleXNldHVwZG9uZSMKKy5fa2V5c2V0dXBkb25lOgorCisjICAgZWF4ID0g ZWF4X3N0YWNrCisjIG1vdmwgPGVheF9zdGFjaz1zdGFjazMyIzEsPmVheD1pbnQzMiMxCisjIG1v dmwgPGVheF9zdGFjaz02NCglZXNwKSw+ZWF4PSVlYXgKK21vdmwgNjQoJWVzcCksJWVheAorCisj ICAgZWJ4ID0gZWJ4X3N0YWNrCisjIG1vdmwgPGVieF9zdGFjaz1zdGFjazMyIzIsPmVieD1pbnQz MiM0CisjIG1vdmwgPGVieF9zdGFjaz02OCglZXNwKSw+ZWJ4PSVlYngKK21vdmwgNjgoJWVzcCks JWVieAorCisjICAgZXNpID0gZXNpX3N0YWNrCisjIG1vdmwgPGVzaV9zdGFjaz1zdGFjazMyIzMs PmVzaT1pbnQzMiM1CisjIG1vdmwgPGVzaV9zdGFjaz03MiglZXNwKSw+ZXNpPSVlc2kKK21vdmwg NzIoJWVzcCksJWVzaQorCisjICAgZWRpID0gZWRpX3N0YWNrCisjIG1vdmwgPGVkaV9zdGFjaz1z dGFjazMyIzQsPmVkaT1pbnQzMiM2CisjIG1vdmwgPGVkaV9zdGFjaz03NiglZXNwKSw+ZWRpPSVl ZGkKK21vdmwgNzYoJWVzcCksJWVkaQorCisjICAgZWJwID0gZWJwX3N0YWNrCisjIG1vdmwgPGVi cF9zdGFjaz1zdGFjazMyIzUsPmVicD1pbnQzMiM3CisjIG1vdmwgPGVicF9zdGFjaz04MCglZXNw KSw+ZWJwPSVlYnAKK21vdmwgODAoJWVzcCksJWVicAorCisjIGxlYXZlCithZGQgJWVheCwlZXNw CityZXQKKworIyBlbnRlciBFQ1JZUFRfaXZzZXR1cAorLnRleHQKKy5wMmFsaWduIDUKKy5nbG9i bCBfRUNSWVBUX2l2c2V0dXAKKy5nbG9ibCBFQ1JZUFRfaXZzZXR1cAorX0VDUllQVF9pdnNldHVw OgorRUNSWVBUX2l2c2V0dXA6Cittb3YgJWVzcCwlZWF4CithbmQgJDMxLCVlYXgKK2FkZCAkMjU2 LCVlYXgKK3N1YiAlZWF4LCVlc3AKKworIyAgIGVheF9zdGFjayA9IGVheAorIyBtb3ZsIDxlYXg9 aW50MzIjMSw+ZWF4X3N0YWNrPXN0YWNrMzIjMQorIyBtb3ZsIDxlYXg9JWVheCw+ZWF4X3N0YWNr PTY0KCVlc3ApCittb3ZsICVlYXgsNjQoJWVzcCkKKworIyAgIGVieF9zdGFjayA9IGVieAorIyBt b3ZsIDxlYng9aW50MzIjNCw+ZWJ4X3N0YWNrPXN0YWNrMzIjMgorIyBtb3ZsIDxlYng9JWVieCw+ ZWJ4X3N0YWNrPTY4KCVlc3ApCittb3ZsICVlYngsNjgoJWVzcCkKKworIyAgIGVzaV9zdGFjayA9 IGVzaQorIyBtb3ZsIDxlc2k9aW50MzIjNSw+ZXNpX3N0YWNrPXN0YWNrMzIjMworIyBtb3ZsIDxl c2k9JWVzaSw+ZXNpX3N0YWNrPTcyKCVlc3ApCittb3ZsICVlc2ksNzIoJWVzcCkKKworIyAgIGVk aV9zdGFjayA9IGVkaQorIyBtb3ZsIDxlZGk9aW50MzIjNiw+ZWRpX3N0YWNrPXN0YWNrMzIjNAor IyBtb3ZsIDxlZGk9JWVkaSw+ZWRpX3N0YWNrPTc2KCVlc3ApCittb3ZsICVlZGksNzYoJWVzcCkK KworIyAgIGVicF9zdGFjayA9IGVicAorIyBtb3ZsIDxlYnA9aW50MzIjNyw+ZWJwX3N0YWNrPXN0 YWNrMzIjNQorIyBtb3ZsIDxlYnA9JWVicCw+ZWJwX3N0YWNrPTgwKCVlc3ApCittb3ZsICVlYnAs ODAoJWVzcCkKKworIyAgIGl2ID0gYXJnMgorIyBtb3ZsIDxhcmcyPXN0YWNrMzIjLTIsPml2PWlu dDMyIzIKKyMgbW92bCA8YXJnMj04KCVlc3AsJWVheCksPml2PSVlY3gKK21vdmwgOCglZXNwLCVl YXgpLCVlY3gKKworIyAgIHggPSBhcmcxCisjIG1vdmwgPGFyZzE9c3RhY2szMiMtMSw+eD1pbnQz MiMxCisjIG1vdmwgPGFyZzE9NCglZXNwLCVlYXgpLD54PSVlYXgKK21vdmwgNCglZXNwLCVlYXgp LCVlYXgKKworIyAgIGluNiA9ICoodWludDMyICopIChpdiArIDApCisjIG1vdmwgMCg8aXY9aW50 MzIjMiksPmluNj1pbnQzMiMzCisjIG1vdmwgMCg8aXY9JWVjeCksPmluNj0lZWR4Cittb3ZsIDAo JWVjeCksJWVkeAorCisjICAgaW43ID0gKih1aW50MzIgKikgKGl2ICsgNCkKKyMgbW92bCA0KDxp dj1pbnQzMiMyKSw+aW43PWludDMyIzIKKyMgbW92bCA0KDxpdj0lZWN4KSw+aW43PSVlY3gKK21v dmwgNCglZWN4KSwlZWN4CisKKyMgICBpbjggPSAwCisjIG1vdiAgJDAsPmluOD1pbnQzMiM0Cisj IG1vdiAgJDAsPmluOD0lZWJ4Cittb3YgICQwLCVlYngKKworIyAgIGluOSA9IDAKKyMgbW92ICAk MCw+aW45PWludDMyIzUKKyMgbW92ICAkMCw+aW45PSVlc2kKK21vdiAgJDAsJWVzaQorCisjICAg Kih1aW50MzIgKikgKHggKyAyNCkgPSBpbjYKKyMgbW92bCA8aW42PWludDMyIzMsMjQoPHg9aW50 MzIjMSkKKyMgbW92bCA8aW42PSVlZHgsMjQoPHg9JWVheCkKK21vdmwgJWVkeCwyNCglZWF4KQor CisjICAgKih1aW50MzIgKikgKHggKyAyOCkgPSBpbjcKKyMgbW92bCA8aW43PWludDMyIzIsMjgo PHg9aW50MzIjMSkKKyMgbW92bCA8aW43PSVlY3gsMjgoPHg9JWVheCkKK21vdmwgJWVjeCwyOCgl ZWF4KQorCisjICAgKih1aW50MzIgKikgKHggKyAzMikgPSBpbjgKKyMgbW92bCA8aW44PWludDMy IzQsMzIoPHg9aW50MzIjMSkKKyMgbW92bCA8aW44PSVlYngsMzIoPHg9JWVheCkKK21vdmwgJWVi eCwzMiglZWF4KQorCisjICAgKih1aW50MzIgKikgKHggKyAzNikgPSBpbjkKKyMgbW92bCA8aW45 PWludDMyIzUsMzYoPHg9aW50MzIjMSkKKyMgbW92bCA8aW45PSVlc2ksMzYoPHg9JWVheCkKK21v dmwgJWVzaSwzNiglZWF4KQorCisjICAgZWF4ID0gZWF4X3N0YWNrCisjIG1vdmwgPGVheF9zdGFj az1zdGFjazMyIzEsPmVheD1pbnQzMiMxCisjIG1vdmwgPGVheF9zdGFjaz02NCglZXNwKSw+ZWF4 PSVlYXgKK21vdmwgNjQoJWVzcCksJWVheAorCisjICAgZWJ4ID0gZWJ4X3N0YWNrCisjIG1vdmwg PGVieF9zdGFjaz1zdGFjazMyIzIsPmVieD1pbnQzMiM0CisjIG1vdmwgPGVieF9zdGFjaz02OCgl ZXNwKSw+ZWJ4PSVlYngKK21vdmwgNjgoJWVzcCksJWVieAorCisjICAgZXNpID0gZXNpX3N0YWNr CisjIG1vdmwgPGVzaV9zdGFjaz1zdGFjazMyIzMsPmVzaT1pbnQzMiM1CisjIG1vdmwgPGVzaV9z dGFjaz03MiglZXNwKSw+ZXNpPSVlc2kKK21vdmwgNzIoJWVzcCksJWVzaQorCisjICAgZWRpID0g ZWRpX3N0YWNrCisjIG1vdmwgPGVkaV9zdGFjaz1zdGFjazMyIzQsPmVkaT1pbnQzMiM2CisjIG1v dmwgPGVkaV9zdGFjaz03NiglZXNwKSw+ZWRpPSVlZGkKK21vdmwgNzYoJWVzcCksJWVkaQorCisj ICAgZWJwID0gZWJwX3N0YWNrCisjIG1vdmwgPGVicF9zdGFjaz1zdGFjazMyIzUsPmVicD1pbnQz MiM3CisjIG1vdmwgPGVicF9zdGFjaz04MCglZXNwKSw+ZWJwPSVlYnAKK21vdmwgODAoJWVzcCks JWVicAorCisjIGxlYXZlCithZGQgJWVheCwlZXNwCityZXQKZGlmZiAtLWdpdCBhL2FyY2gveDg2 L2NyeXB0by9zYWxzYTIwXzMyLmMgYi9hcmNoL3g4Ni9jcnlwdG8vc2Fsc2EyMF8zMi5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NGEyYmUKLS0tIC9kZXYvbnVsbAorKysg Yi9hcmNoL3g4Ni9jcnlwdG8vc2Fsc2EyMF8zMi5jCkBAIC0wLDAgKzEsMTA5IEBACisvKgorICog R2x1ZSBjb2RlIGZvciBvcHRpbWl6ZWQgaTU4NiB2ZXJzaW9uIG9mICBTYWxzYTIwLgorICoKKyAq IENvcHlyaWdodCAoYykgMjAwNyBUYW4gU3dlZSBIZW5nIDx0aGVzd2VlaGVuZ0BnbWFpbC5jb20+ CisgKgorICogT3B0aW1pemVkIGk1ODYgYXNzZW1ibHkgY29kZSB0YWtlbiB2ZXJiYXRpbSBmcm9t OgorICogLSBzYWxzYTIwLnM6CisgKiAgICAgUHVibGljIGRvbWFpbiBhc3NlbWJseSBjb2RlIGJ5 IERhbmllbC4gSi4gQmVybnN0ZWluIDxkamJAY3IueXAudG8+LgorICogICAgIEF2YWlsYWJsZSBm cm9tIDxodHRwOi8vY3IueXAudG8vc251ZmZsZS9zYWxzYTIwL3g4Ni1wbS9zYWxzYTIwLnM+Lgor ICogICAgIFdlIHJlbmFtZWQgaXQgc2Fsc2EyMC1pNTg2LWFzbV8zMi5TIHRvIG1hdGNoIHRoZSBv dGhlciBjaXBoZXJzLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisK KyNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cisj aW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisKKyNkZWZpbmUgU0FMU0EyMF9JVl9TSVpFICAgICAg ICA4VQorI2RlZmluZSBTQUxTQTIwX01JTl9LRVlfU0laRSAgMTZVCisjZGVmaW5lIFNBTFNBMjBf TUFYX0tFWV9TSVpFICAzMlUKKworLy8gdXNlIHRoZSBFQ1JZUFRfKiBmdW5jdGlvbiBuYW1lcyBp biBzYWxzYTIwLWk1ODYtYXNtXzMyLlMKKyNkZWZpbmUgc2Fsc2EyMF9rZXlzZXR1cCAgICAgICAg RUNSWVBUX2tleXNldHVwCisjZGVmaW5lIHNhbHNhMjBfaXZzZXR1cCAgICAgICAgIEVDUllQVF9p dnNldHVwCisjZGVmaW5lIHNhbHNhMjBfZW5jcnlwdF9ieXRlcyAgIEVDUllQVF9lbmNyeXB0X2J5 dGVzCisKK3N0cnVjdCBzYWxzYTIwX2N0eAoreworCXUzMiBpbnB1dFsxNl07Cit9OworCithc21s aW5rYWdlIHZvaWQgc2Fsc2EyMF9rZXlzZXR1cChzdHJ1Y3Qgc2Fsc2EyMF9jdHggKmN0eCwgY29u c3QgdTggKmssCisJCQkJIHUzMiBrZXlzaXplLCB1MzIgaXZzaXplKTsKK2FzbWxpbmthZ2Ugdm9p ZCBzYWxzYTIwX2l2c2V0dXAoc3RydWN0IHNhbHNhMjBfY3R4ICpjdHgsIGNvbnN0IHU4ICppdik7 Cithc21saW5rYWdlIHZvaWQgc2Fsc2EyMF9lbmNyeXB0X2J5dGVzKHN0cnVjdCBzYWxzYTIwX2N0 eCAqY3R4LAorCQkJCSAgICAgIGNvbnN0IHU4ICpzcmMsIHU4ICpkc3QsIHUzMiBieXRlcyk7CisK K3N0YXRpYyBpbnQgc2V0a2V5KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICprZXks CisJCSAgdW5zaWduZWQgaW50IGtleXNpemUpCit7CisJc3RydWN0IHNhbHNhMjBfY3R4ICpjdHgg PSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXNhbHNhMjBfa2V5c2V0dXAoY3R4LCBrZXksIGtleXNp emUqOCwgU0FMU0EyMF9JVl9TSVpFKjgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGVu Y3J5cHQoc3RydWN0IGJsa2NpcGhlcl9kZXNjICpkZXNjLAorCQkgICBzdHJ1Y3Qgc2NhdHRlcmxp c3QgKmRzdCwgc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmMsCisJCSAgIHVuc2lnbmVkIGludCBuYnl0 ZXMpCit7CisJc3RydWN0IGJsa2NpcGhlcl93YWxrIHdhbGs7CisJc3RydWN0IGNyeXB0b19ibGtj aXBoZXIgKnRmbSA9IGRlc2MtPnRmbTsKKwlzdHJ1Y3Qgc2Fsc2EyMF9jdHggKmN0eCA9IGNyeXB0 b19ibGtjaXBoZXJfY3R4KHRmbSk7CisJaW50IGVycjsKKworCWJsa2NpcGhlcl93YWxrX2luaXQo JndhbGssIGRzdCwgc3JjLCBuYnl0ZXMpOworCWVyciA9IGJsa2NpcGhlcl93YWxrX3ZpcnQoZGVz YywgJndhbGspOworCisJc2Fsc2EyMF9pdnNldHVwKGN0eCwgd2Fsay5pdik7CisJc2Fsc2EyMF9l bmNyeXB0X2J5dGVzKGN0eCwgd2Fsay5zcmMudmlydC5hZGRyLAorCQkJICAgICAgd2Fsay5kc3Qu dmlydC5hZGRyLCBuYnl0ZXMpOworCisJZXJyID0gYmxrY2lwaGVyX3dhbGtfZG9uZShkZXNjLCAm d2FsaywgMCk7CisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFs ZyA9IHsKKwkuY3JhX25hbWUgICAgICAgICAgID0gICAic2Fsc2EyMCIsCisJLmNyYV9kcml2ZXJf bmFtZSAgICA9ICAgInNhbHNhMjAtaTU4NiIsCisJLmNyYV9wcmlvcml0eSAgICAgICA9ICAgMjAw LAorCS5jcmFfZmxhZ3MgICAgICAgICAgPSAgIENSWVBUT19BTEdfVFlQRV9CTEtDSVBIRVIsCisJ LmNyYV90eXBlICAgICAgICAgICA9ICAgJmNyeXB0b19ibGtjaXBoZXJfdHlwZSwKKwkuY3JhX2Js b2Nrc2l6ZSAgICAgID0gICAxLAorCS5jcmFfY3R4c2l6ZSAgICAgICAgPSAgIHNpemVvZihzdHJ1 Y3Qgc2Fsc2EyMF9jdHgpLAorCS5jcmFfYWxpZ25tYXNrICAgICAgPQkzLAorCS5jcmFfbW9kdWxl ICAgICAgICAgPSAgIFRISVNfTU9EVUxFLAorCS5jcmFfbGlzdCAgICAgICAgICAgPSAgIExJU1Rf SEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV91ICAgICAgICAgICAgICA9ICAgeworCQku YmxrY2lwaGVyID0geworCQkJLnNldGtleSAgICAgICAgID0gICBzZXRrZXksCisJCQkuZW5jcnlw dCAgICAgICAgPSAgIGVuY3J5cHQsCisJCQkuZGVjcnlwdCAgICAgICAgPSAgIGVuY3J5cHQsCisJ CQkubWluX2tleXNpemUgICAgPSAgIFNBTFNBMjBfTUlOX0tFWV9TSVpFLAorCQkJLm1heF9rZXlz aXplICAgID0gICBTQUxTQTIwX01BWF9LRVlfU0laRSwKKwkJCS5pdnNpemUgICAgICAgICA9ICAg U0FMU0EyMF9JVl9TSVpFLAorCQl9CisJfQorfTsKKworc3RhdGljIGludCBfX2luaXQgaW5pdCh2 b2lkKQoreworCXJldHVybiBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCitzdGF0aWMg dm9pZCBfX2V4aXQgZmluaSh2b2lkKQoreworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmYWxnKTsK K30KKworbW9kdWxlX2luaXQoaW5pdCk7Cittb2R1bGVfZXhpdChmaW5pKTsKKworTU9EVUxFX0xJ Q0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OICgiU2Fsc2EyMCBzdHJlYW0gY2lwaGVy IGFsZ29yaXRobSAoaTU4NiB2ZXJzaW9uKSIpOworTU9EVUxFX0FMSUFTKCJzYWxzYTIwIik7CmRp ZmYgLS1naXQgYS9jcnlwdG8vS2NvbmZpZyBiL2NyeXB0by9LY29uZmlnCmluZGV4IDhkNmNhYzku LjlhY2ViMzggMTAwNjQ0Ci0tLSBhL2NyeXB0by9LY29uZmlnCisrKyBiL2NyeXB0by9LY29uZmln CkBAIC00NjcsNiArNDY3LDIxIEBAIGNvbmZpZyBDUllQVE9fU0FMU0EyMAogCSAgVGhlIFNhbHNh MjAgc3RyZWFtIGNpcGhlciBhbGdvcml0aG0gaXMgZGVzaWduZWQgYnkgRGFuaWVsIEouCiAJICBC ZXJuc3RlaW4gPGRqYkBjci55cC50bz4uIFNlZSA8aHR0cDovL2NyLnlwLnRvL3NudWZmbGUuaHRt bD4KIAorY29uZmlnIENSWVBUT19TQUxTQTIwXzU4NgorCXRyaXN0YXRlICJTYWxzYTIwIHN0cmVh bSBjaXBoZXIgYWxnb3JpdGhtIChpNTg2KSAoRVhQRVJJTUVOVEFMKSIKKwlkZXBlbmRzIG9uIChY ODYgfHwgVU1MX1g4NikgJiYgITY0QklUCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKKwlzZWxl Y3QgQ1JZUFRPX0JMS0NJUEhFUgorCXNlbGVjdCBDUllQVE9fU0FMU0EyMAorCWhlbHAKKwkgIFNh bHNhMjAgc3RyZWFtIGNpcGhlciBhbGdvcml0aG0uCisKKwkgIFNhbHNhMjAgaXMgYSBzdHJlYW0g Y2lwaGVyIHN1Ym1pdHRlZCB0byBlU1RSRUFNLCB0aGUgRUNSWVBUCisJICBTdHJlYW0gQ2lwaGVy IFByb2plY3QuIFNlZSA8aHR0cDovL3d3dy5lY3J5cHQuZXUub3JnL3N0cmVhbS8+CisKKwkgIFRo ZSBTYWxzYTIwIHN0cmVhbSBjaXBoZXIgYWxnb3JpdGhtIGlzIGRlc2lnbmVkIGJ5IERhbmllbCBK LgorCSAgQmVybnN0ZWluIDxkamJAY3IueXAudG8+LiBTZWUgPGh0dHA6Ly9jci55cC50by9zbnVm ZmxlLmh0bWw+CisKIGNvbmZpZyBDUllQVE9fREVGTEFURQogCXRyaXN0YXRlICJEZWZsYXRlIGNv bXByZXNzaW9uIGFsZ29yaXRobSIKIAlzZWxlY3QgQ1JZUFRPX0FMR0FQSQo= ------=_Part_3116_15194107.1195681147848--