From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id E4A1B138010 for ; Sat, 29 Sep 2012 10:46:16 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E43BC21C00C; Sat, 29 Sep 2012 10:46:01 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 7C99FE0507 for ; Sat, 29 Sep 2012 10:45:19 +0000 (UTC) Received: from pomiocik.lan (77-255-13-48.adsl.inetia.pl [77.255.13.48]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 3BDB733C319; Sat, 29 Sep 2012 10:45:17 +0000 (UTC) Date: Sat, 29 Sep 2012 12:45:30 +0200 From: =?UTF-8?B?TWljaGHFgiBHw7Nybnk=?= To: gentoo-dev@lists.gentoo.org Cc: tomas.chvatal@gmail.com Subject: Re: [gentoo-dev] [RFC] Initial python-r1.eclass & distutils-r1.eclass Message-ID: <20120929124530.7653e30d@pomiocik.lan> In-Reply-To: References: <20120929105329.5311192d@pomiocik.lan> Organization: Gentoo X-Mailer: Claws Mail 3.8.1 (GTK+ 2.24.12; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA256; boundary="Sig_/dALeDW67=KcQFqmoDRqUb76"; protocol="application/pgp-signature" X-Archives-Salt: 152e2308-0e5e-4e01-92ca-402bdbf8d56f X-Archives-Hash: cf01730cc1d0885d7368a65d2e40fef3 --Sig_/dALeDW67=KcQFqmoDRqUb76 Content-Type: multipart/mixed; boundary="MP_/6r11J_Pne__Ni+8KdFMTG/e" --MP_/6r11J_Pne__Ni+8KdFMTG/e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sat, 29 Sep 2012 12:00:18 +0200 Tom=C3=A1=C5=A1 Chv=C3=A1tal wrote: > 2012/9/29 Micha=C5=82 G=C3=B3rny : > > Hello, > > > > Instead of the floating patches and p-d-ng modifications I sent > > earlier, here are the two complete (so far, well, initial :P) eclasses > > for review. > > > > They are designed as 'mostly' drop-in python-distutils-ng replacement. > > > Hi, >=20 > the eclasses look pretty, so good job, > just one question tho, would it be possible to use more > debug-something calls so the log file would be populated automatically > with whats going on (same like eg git-2 eclass)? Try now :P. --=20 Best regards, Micha=C5=82 G=C3=B3rny --MP_/6r11J_Pne__Ni+8KdFMTG/e Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=python-r1.eclass IyBDb3B5cmlnaHQgMTk5OS0yMDEyIEdlbnRvbyBGb3VuZGF0aW9uDQojIERpc3RyaWJ1dGVkIHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjINCiMgJEhl YWRlcjogJA0KDQojIEBFQ0xBU1M6IHB5dGhvbi1yMQ0KIyBATUFJTlRBSU5FUjoNCiMgUHl0aG9u IGhlcmQgPHB5dGhvbkBnZW50b28ub3JnPg0KIyBAQVVUSE9SOg0KIyBBdXRob3I6IE1pY2hhxYIg R8Ozcm55IDxtZ29ybnlAZ2VudG9vLm9yZz4NCiMgQmFzZWQgb24gd29yayBvZjogS3J6eXN6dG9m IFBhd2xpayA8bmVsY2hhZWxAZ2VudG9vLm9yZz4NCiMgQEJMVVJCOiBBIGNvbW1vbiwgc2ltcGxl IGVjbGFzcyBmb3IgUHl0aG9uIHBhY2thZ2VzLg0KIyBAREVTQ1JJUFRJT046DQojIEEgY29tbW9u IGVjbGFzcyBwcm92aWRpbmcgaGVscGVyIGZ1bmN0aW9ucyB0byBidWlsZCBhbmQgaW5zdGFsbA0K IyBwYWNrYWdlcyBzdXBwb3J0aW5nIGJlaW5nIGluc3RhbGxlZCBmb3IgbXVsdGlwbGUgUHl0aG9u DQojIGltcGxlbWVudGF0aW9ucy4NCiMNCiMgVGhpcyBlY2xhc3Mgc2V0cyBjb3JyZWN0IElVU0Ug YW5kIFJFUVVJUkVEX1VTRS4gSXQgZXhwb3J0cyBQWVRIT05fREVQUw0KIyBhbmQgUFlUSE9OX1VT RURFUCBzbyB5b3UgY2FuIGNyZWF0ZSBjb3JyZWN0IGRlcGVuZGVuY2llcyBmb3IgeW91cg0KIyBw YWNrYWdlIGVhc2lseS4gSXQgYWxzbyBwcm92aWRlcyBtZXRob2RzIHRvIGVhc2lseSBydW4gYSBj b21tYW5kIGZvcg0KIyBlYWNoIGVuYWJsZWQgUHl0aG9uIGltcGxlbWVudGF0aW9uIGFuZCBkdXBs aWNhdGUgdGhlIHNvdXJjZXMgZm9yIHRoZW0uDQoNCmNhc2UgIiR7RUFQSX0iIGluDQoJMHwxfDJ8 MykNCgkJZGllICJVbnN1cHBvcnRlZCBFQVBJPSR7RUFQSX0gKHRvbyBvbGQpIGZvciAke0VDTEFT U30iDQoJCTs7DQoJNCkNCgkJIyBFQVBJPTQgbmVlZGVkIGZvciBSRVFVSVJFRF9VU0UNCgkJOzsN CgkqKQ0KCQlkaWUgIlVuc3VwcG9ydGVkIEVBUEk9JHtFQVBJfSAodW5rbm93bikgZm9yICR7RUNM QVNTfSINCgkJOzsNCmVzYWMNCg0KIyBARUNMQVNTLVZBUklBQkxFOiBfUFlUSE9OX0FMTF9JTVBM Uw0KIyBASU5URVJOQUwNCiMgQERFU0NSSVBUSU9OOg0KIyBBbGwgc3VwcG9ydGVkIFB5dGhvbiBp bXBsZW1lbnRhdGlvbnMsIG1vc3QgcHJlZmVycmVkIGxhc3QuDQpfUFlUSE9OX0FMTF9JTVBMUz0o DQoJanl0aG9uMl81DQoJcHlweTFfOCBweXB5MV85DQoJcHl0aG9uM18xIHB5dGhvbjNfMg0KCXB5 dGhvbjJfNSBweXRob24yXzYgcHl0aG9uMl83DQopDQoNCiMgQEVDTEFTUy1WQVJJQUJMRTogUFlU SE9OX0NPTVBBVA0KIyBAREVTQ1JJUFRJT046DQojIFRoaXMgdmFyaWFibGUgY29udGFpbnMgYSBz cGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBQeXRob24NCiMgaW1wbGVtZW50YXRpb25zIGEgcGFja2Fn ZSBzdXBwb3J0cy4gSXQgbXVzdCBiZSBzZXQgYmVmb3JlDQojIHRoZSBgaW5oZXJpdCcgY2FsbC4g IFRoZSBkZWZhdWx0IGlzIHRvIGVuYWJsZSBhbGwgaW1wbGVtZW50YXRpb25zLg0KIw0KIyBQWVRI T05fQ09NUEFUIGNhbiBiZSBlaXRoZXIgYSBzY2FsYXIgb3IgYW4gYXJyYXkuIElmIGl0J3MgYSBz Y2FsYXIsDQojIHRoZSBlY2xhc3Mgd2lsbCBpbXBsaWNpdGx5IGNvbnZlcnQgaXQgdG8gYW4gYXJy YXkuDQo6ICR7UFlUSE9OX0NPTVBBVDo9JHtfUFlUSE9OX0FMTF9JTVBMU1tAXX19DQoNCiMgQEVD TEFTUy1WQVJJQUJMRTogUFlUSE9OX1JFUV9VU0UNCiMgQERFRkFVTFRfVU5TRVQNCiMgQERFU0NS SVBUSU9OOg0KIyBUaGUgbGlzdCBvZiBVU0VmbGFncyByZXF1aXJlZCB0byBiZSBlbmFibGVkIG9u IHRoZSBjaG9zZW4gUHl0aG9uDQojIGltcGxlbWVudGF0aW9ucywgZm9ybWVkIGFzIGEgVVNFLWRl cGVuZGVuY3kgc3RyaW5nLiBJdCBzaG91bGQgYmUgdmFsaWQNCiMgZm9yIGFsbCBpbXBsZW1lbnRh dGlvbnMgaW4gUFlUSE9OX0NPTVBBVCwgc28gaXQgbWF5IGJlIG5lY2Vzc2FyeSB0bw0KIyB1c2Ug VVNFIGRlZmF1bHRzLg0KIw0KIyBFeGFtcGxlOg0KIyBAQ09ERQ0KIyBQWVRIT05fUkVRX1VTRT0i Z2RibSxuY3Vyc2VzKC0pPyINCiMgQENPREUNCiMNCiMgV2lsbCBjYXVzZSB0aGUgUHl0aG9uIGRl cGVuZGVuY2llcyB0byBsb29rIGxpa2U6DQojIEBDT0RFDQojIHB5dGhvbl90YXJnZXRzX3B5dGhv blhfWT8gKA0KIyAgIGRldi1sYW5nL3B5dGhvbjpYX1lbZ2RibSxuY3Vyc2VzKC0pP10gKQ0KIyBA Q09ERQ0KDQojIEBFQ0xBU1MtVkFSSUFCTEU6IFBZVEhPTl9ERVBTDQojIEBERVNDUklQVElPTjoN CiMgVGhpcyBpcyBhbiBlY2xhc3MtZ2VuZXJhdGVkIFB5dGhvbiBkZXBlbmRlbmN5IHN0cmluZyBm b3IgYWxsDQojIGltcGxlbWVudGF0aW9ucyBsaXN0ZWQgaW4gUFlUSE9OX0NPTVBBVC4gSXQgc2hv dWxkIGJlIHVzZWQNCiMgaW4gUkRFUEVORCBhbmQvb3IgREVQRU5EIGxpa2U6DQojDQojIEBDT0RF DQojIFJERVBFTkQ9IiR7UFlUSE9OX0RFUFN9DQojICAgZGV2LWZvby9teWRlcCINCiMgREVQRU5E PSIke1JERVBFTkR9Ig0KIyBAQ09ERQ0KDQojIEBFQ0xBU1MtVkFSSUFCTEU6IFBZVEhPTl9VU0VE RVANCiMgQERFU0NSSVBUSU9OOg0KIyBUaGlzIGlzIGFuIGVjbGFzcy1nZW5lcmF0ZWQgVVNFLWRl cGVuZGVuY3kgc3RyaW5nIHdoaWNoIGNhbiBiZSB1c2VkIHRvDQojIGRlcGVuZCBvbiBhbm90aGVy IFB5dGhvbiBwYWNrYWdlIGJlaW5nIGJ1aWx0IGZvciB0aGUgc2FtZSBQeXRob24NCiMgaW1wbGVt ZW50YXRpb25zLiBJdCBzaG91bGQgYmUgdXNlZCBsaWtlOg0KIw0KIyBAQ09ERQ0KIyBSREVQRU5E PSJkZXYtcHl0aG9uL2Zvb1ske1BZVEhPTl9VU0VERVB9XSINCiMgQENPREUNCg0KUFlUSE9OX0NP TVBBVD0oICR7UFlUSE9OX0NPTVBBVFtAXX0gKQ0KDQpfcHl0aG9uX3NldF9nbG9iYWxzKCkgew0K CWxvY2FsIGZsYWdzPSggIiR7UFlUSE9OX0NPTVBBVFtAXS8jL3B5dGhvbl90YXJnZXRzX30iICkN Cglsb2NhbCBvcHRmbGFncz0ke2ZsYWdzW0BdLyUvP30NCg0KCUlVU0U9JHtmbGFnc1sqXX0NCglS RVFVSVJFRF9VU0U9Inx8ICggJHtmbGFnc1sqXX0gKSINCglQWVRIT05fVVNFREVQPSR7b3B0Zmxh Z3MvLyAvLH0NCg0KCVBZVEhPTl9ERVBTPQ0KCWxvY2FsIGkNCglmb3IgaSBpbiAke1BZVEhPTl9D T01QQVRbQF19OyBkbw0KCQlsb2NhbCBkDQoJCWNhc2UgJHtpfSBpbg0KCQkJcHl0aG9uKikNCgkJ CQlkPSdkZXYtbGFuZy9weXRob24nOzsNCgkJCWp5dGhvbiopDQoJCQkJZD0nZGV2LWphdmEvanl0 aG9uJzs7DQoJCQlweXB5KikNCgkJCQlkPSdkZXYtcHl0aG9uL3B5cHknOzsNCgkJCSopDQoJCQkJ ZGllICJJbnZhbGlkIGltcGxlbWVudGF0aW9uOiAke2l9Ig0KCQllc2FjDQoNCgkJbG9jYWwgdj0k e2kjIypbYS16XX0NCgkJbG9jYWwgdXNlc3RyDQoJCVtbICR7UFlUSE9OX1JFUV9VU0V9IF1dICYm IHVzZXN0cj0iWyR7UFlUSE9OX1JFUV9VU0V9XSINCgkJUFlUSE9OX0RFUFMrPSIgcHl0aG9uX3Rh cmdldHNfJHtpfT8gKA0KCQkJJHtkfToke3YvXy8ufSR7dXNlc3RyfSApIg0KCWRvbmUNCn0NCl9w eXRob25fc2V0X2dsb2JhbHMNCg0KIyBARlVOQ1RJT046IHB5dGhvbl9nZXRfUFlUSE9ODQojIEBV U0FHRTogPGltcGw+DQojIEBERVNDUklQVElPTjoNCiMgR2V0IHRoZSBQeXRob24gZXhlY3V0YWJs ZSBuYW1lIGZvciB0aGUgZ2l2ZW4gaW1wbGVtZW50YXRpb24uIFBsZWFzZQ0KIyBub3RlIHRoYXQg dGhpcyB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlICdiYXNlbmFtZScgb25seS4NCiMgSWYgdXNp bmcgaXQgZm9yIGEgaGFzaGJhbmcsIHBsZWFzZSB1c2UgIyEvdXNyL2Jpbi9lbnYuDQpweXRob25f Z2V0X1BZVEhPTigpIHsNCglkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSIN Cg0KCWxvY2FsIGltcGw9JHsxL18vLn0NCglsb2NhbCByZXQNCg0KCWNhc2UgIiR7aW1wbH0iIGlu DQoJCXB5dGhvbip8anl0aG9uKikNCgkJCXJldD0ke2ltcGx9DQoJCQk7Ow0KCQlweXB5KikNCgkJ CXJldD1weXB5LWMke2ltcGwjcHlweX0NCgkJCTs7DQoJCSopDQoJCQlkaWUgIkludmFsaWQgYXJn dW1lbnQgdG8gcHl0aG9uX2dldF9QWVRIT046ICR7MX0iDQoJCQk7Ow0KCWVzYWMNCg0KCWRlYnVn LXByaW50ICIke0ZVTkNOQU1FfTogJHtpbXBsfSAtPiAke3JldH0iDQoJZWNobyAiJHtyZXR9Ig0K fQ0KDQojIEBGVU5DVElPTjogcHl0aG9uX2NvcHlfc291cmNlcw0KIyBAREVTQ1JJUFRJT046DQoj IENyZWF0ZSBhIHNpbmdsZSBjb3B5IG9mIHRoZSBwYWNrYWdlIHNvdXJjZXMgKCR7U30pIGZvciBl YWNoIGVuYWJsZWQNCiMgUHl0aG9uIGltcGxlbWVudGF0aW9uLg0KcHl0aG9uX2NvcHlfc291cmNl cygpIHsNCglkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSINCg0KCWxvY2Fs IGltcGwNCglsb2NhbCBiZGlyPSR7QlVJTERfRElSOi0ke1N9fQ0KDQoJZGVidWctcHJpbnQgIiR7 RlVOQ05BTUV9OiBiZGlyID0gJHtiZGlyfSINCgllaW5mbyAiV2lsbCBjb3B5IHNvdXJjZXMgZnJv bSAke1N9Ig0KCSMgdGhlIG9yZGVyIGlzIGlycmVsZXZhbnQgaGVyZQ0KCWZvciBpbXBsIGluICR7 UFlUSE9OX0NPTVBBVFtAXX07IGRvDQoJCWlmIHVzZSBweXRob25fdGFyZ2V0c18ke2ltcGx9DQoJ CXRoZW4NCgkJCWxvY2FsIEJVSUxEX0RJUj0ke2JkaXIlJS99LSR7aW1wbH0NCg0KCQkJZWluZm8g IiR7aW1wbH06IGNvcHlpbmcgdG8gJHtCVUlMRF9ESVJ9Ig0KCQkJZGVidWctcHJpbnQgIiR7RlVO Q05BTUV9OiBbJHtpbXBsfV0gY3AgJHtTfSA9PiAke0JVSUxEX0RJUn0iDQoJCQljcCAtcHIgIiR7 U30iICIke0JVSUxEX0RJUn0iIHx8IGRpZQ0KCQlmaQ0KCWRvbmUNCn0NCg0KIyBARlVOQ1RJT046 IHB5dGhvbl9mb3JlYWNoX2ltcGwNCiMgQFVTQUdFOiA8Y29tbWFuZD4gWzxhcmdzPi4uLl0NCiMg QERFU0NSSVBUSU9OOg0KIyBSdW4gdGhlIGdpdmVuIGNvbW1hbmQgZm9yIGVhY2ggb2YgdGhlIGVu YWJsZWQgUHl0aG9uIGltcGxlbWVudGF0aW9ucy4NCiMgSWYgYWRkaXRpb25hbCBwYXJhbWV0ZXJz IGFyZSBwYXNzZWQsIHRoZXkgd2lsbCBiZSBwYXNzZWQgdGhyb3VnaA0KIyB0byB0aGUgY29tbWFu ZC4gSWYgdGhlIGNvbW1hbmQgZmFpbHMsIHB5dGhvbl9mb3JlYWNoX2ltcGwgZGllcy4NCiMgSWYg bmVjZXNzYXJ5LCB1c2UgJzonIHRvIGZvcmNlIGEgc3VjY2Vzc2Z1bCByZXR1cm4uDQojDQojIEJl Zm9yZSB0aGUgY29tbWFuZCBpcyBydW4sIEVQWVRIT04gaXMgc2V0IHRvIHRoZSBuYW1lIG9mIHRo ZSBjdXJyZW50DQojIFB5dGhvbiBpbXBsZW1lbnRhdGlvbiwgUFlUSE9OIGlzIHNldCB0byB0aGUg Y29ycmVjdCBQeXRob24gZXhlY3V0YWJsZQ0KIyBuYW1lIGFuZCBleHBvcnRlZCwgYW5kIEJVSUxE X0RJUiBpcyBzZXQgdG8gYSAnZGVmYXVsdCcgYnVpbGQgZGlyZWN0b3J5DQojIGZvciBnaXZlbiBp bXBsZW1lbnRhdGlvbiAoZS5nLiAke0JVSUxEX0RJUjotJHtTfX0tcHl0aG9uMl83KS4NCiMNCiMg VGhlIGNvbW1hbmQgaXMgcnVuIGluc2lkZSB0aGUgYnVpbGQgZGlyZWN0b3J5LiBJZiBpdCBkb2Vz bid0IGV4aXN0DQojIHlldCwgaXQgaXMgY3JlYXRlZCAoYXMgYW4gZW1wdHkgZGlyZWN0b3J5ISku IElmIHlvdXIgYnVpbGQgc3lzdGVtIGRvZXMNCiMgbm90IHN1cHBvcnQgb3V0LW9mLXNvdXJjZSBi dWlsZHMsIHlvdSB3aWxsIGxpa2VseSB3YW50IHRvIHVzZQ0KIyBweXRob25fY29weV9zb3VyY2Vz IGZpcnN0Lg0KcHl0aG9uX2ZvcmVhY2hfaW1wbCgpIHsNCglkZWJ1Zy1wcmludC1mdW5jdGlvbiAk e0ZVTkNOQU1FfSAiJHtAfSINCg0KCWxvY2FsIGltcGwNCglsb2NhbCBiZGlyPSR7QlVJTERfRElS Oi0ke1N9fQ0KDQoJZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9OiBiZGlyID0gJHtiZGlyfSINCglm b3IgaW1wbCBpbiAke19QWVRIT05fQUxMX0lNUExTW0BdfTsgZG8NCgkJaWYgaGFzICR7aW1wbH0g JHtQWVRIT05fQ09NUEFUW0BdfSAmJiB1c2UgcHl0aG9uX3RhcmdldHNfJHtpbXBsfQ0KCQl0aGVu DQoJCQlsb2NhbCBQWVRIT049JChweXRob25fZ2V0X1BZVEhPTiAiJHtpbXBsfSIpDQoJCQlsb2Nh bCBFUFlUSE9OPSR7aW1wbH0NCgkJCWxvY2FsIEJVSUxEX0RJUj0ke2JkaXIlJS99LSR7aW1wbH0N CgkJCWV4cG9ydCBQWVRIT04NCg0KCQkJZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9OiBbJHtpbXBs fV0gYnVpbGRfZGlyID0gJHtCVUlMRF9ESVJ9Ig0KDQoJCQlta2RpciAtcCAiJHtCVUlMRF9ESVJ9 IiB8fCBkaWUNCgkJCXB1c2hkICIke0JVSUxEX0RJUn0iICY+L2Rldi9udWxsIHx8IGRpZQ0KCQkJ ZWluZm8gIiR7RVBZVEhPTn06IHJ1bm5pbmcgJHtAfSINCgkJCSIke0B9IiB8fCBkaWUgIiR7RVBZ VEhPTn06ICR7MX0gZmFpbGVkIg0KCQkJcG9wZCAmPi9kZXYvbnVsbCB8fCBkaWUNCgkJZmkNCglk b25lDQp9DQo= --MP_/6r11J_Pne__Ni+8KdFMTG/e Content-Type: text/plain Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=distutils-r1.eclass IyBDb3B5cmlnaHQgMTk5OS0yMDEyIEdlbnRvbyBGb3VuZGF0aW9uDQojIERpc3RyaWJ1dGVkIHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjINCiMgJEhl YWRlcjogJA0KDQojIEBFQ0xBU1M6IGRpc3R1dGlscy1yMQ0KIyBATUFJTlRBSU5FUjoNCiMgUHl0 aG9uIGhlcmQgPHB5dGhvbkBnZW50b28ub3JnPg0KIyBAQVVUSE9SOg0KIyBBdXRob3I6IE1pY2hh xYIgR8Ozcm55IDxtZ29ybnlAZ2VudG9vLm9yZz4NCiMgQmFzZWQgb24gdGhlIHdvcmsgb2Y6IEty enlzenRvZiBQYXdsaWsgPG5lbGNoYWVsQGdlbnRvby5vcmc+DQojIEBCTFVSQjogQSBzaW1wbGUg ZWNsYXNzIHRvIGJ1aWxkIFB5dGhvbiBwYWNrYWdlcyB1c2luZyBkaXN0dXRpbHMuDQojIEBERVND UklQVElPTjoNCiMgQSBzaW1wbGUgZWNsYXNzIHByb3ZpZGluZyBmdW5jdGlvbnMgdG8gYnVpbGQg UHl0aG9uIHBhY2thZ2VzIHVzaW5nDQojIHRoZSBkaXN0dXRpbHMgYnVpbGQgc3lzdGVtLiBJdCBl eHBvcnRzIHBoYXNlIGZ1bmN0aW9ucyBmb3IgYWxsDQojIHRoZSBzcmNfKiBwaGFzZXMuIEVhY2gg b2YgdGhlIHBoYXNlcyBydW5zIHR3byBwc2V1ZG8tcGhhc2VzOg0KIyBweXRob25fLi4uX2FsbCgp IChlLmcuIHB5dGhvbl9wcmVwYXJlX2FsbCgpKSBvbmNlIGluICR7U30sIHRoZW4NCiMgcHl0aG9u Xy4uLigpIChlLmcuIHB5dGhvbl9wcmVwYXJlKCkpIGZvciBlYWNoIGltcGxlbWVudGF0aW9uDQoj IChzZWU6IHB5dGhvbl9mb3JlYWNoX2ltcGwoKSBpbiBweXRob24tcjEpLg0KIw0KIyBJbiBkaXN0 dXRpbHMtcjFfc3JjX3ByZXBhcmUoKSwgdGhlICdhbGwnIGZ1bmN0aW9uIGlzIHJ1biBiZWZvcmUN CiMgcGVyLWltcGxlbWVudGF0aW9uIG9uZXMgKGJlY2F1c2UgaXQgY3JlYXRlcyB0aGUgaW1wbGVt ZW50YXRpb25zKSwNCiMgcGVyLWltcGxlbWVudGF0aW9uIGZ1bmN0aW9ucyBhcmUgcnVuIGluIGEg cmFuZG9tIG9yZGVyLg0KIw0KIyBJbiByZW1haW5pbmcgcGhhc2UgZnVuY3Rpb25zLCB0aGUgcGVy LWltcGxlbWVudGF0aW9uIGZ1bmN0aW9ucyBhcmUgcnVuDQojIGJlZm9yZSB0aGUgJ2FsbCcgb25l LCBhbmQgdGhleSBhcmUgb3JkZXJlZCBmcm9tIHRoZSBsZWFzdCB0byB0aGUgbW9zdA0KIyBwcmVm ZXJyZWQgaW1wbGVtZW50YXRpb24gKHNvIHRoYXQgJ2JldHRlcicgZmlsZXMgb3ZlcndyaXRlICd3 b3JzZScNCiMgb25lcykuDQojDQojIElmIHRoZSBlYnVpbGQgZG9lc24ndCBzcGVjaWZ5IGEgcGFy dGljdWxhciBwc2V1ZG8tcGhhc2UgZnVuY3Rpb24sDQojIHRoZSBkZWZhdWx0IG9uZSB3aWxsIGJl IHVzZWQgKGRpc3R1dGlscy1yMV8uLi4pLiBEZWZhdWx0cyBhcmUgcHJvdmlkZWQNCiMgZm9yIGFs bCBwZXItaW1wbGVtZW50YXRpb24gcHNldWRvLXBoYXNlcywgcHl0aG9uX3ByZXBhcmVfYWxsKCkN CiMgYW5kIHB5dGhvbl9pbnN0YWxsX2FsbCgpOyB3aGVuZXZlciB3cml0aW5nIHlvdXIgb3duIHBz ZXVkby1waGFzZQ0KIyBmdW5jdGlvbnMsIHlvdSBzaG91bGQgY29uc2lkZXIgY2FsbGluZyB0aGUg ZGVmYXVsdHMgKGFuZCBlc3BlY2lhbGx5DQojIGRpc3R1dGlscy1yMV9weXRob25fcHJlcGFyZV9h bGwpLg0KIw0KIyBQbGVhc2Ugbm90ZSB0aGF0IGRpc3R1dGlscy1yMSBzZXRzIFJERVBFTkQgYW5k IERFUEVORCBmb3IgeW91Lg0KDQpjYXNlICIke0VBUEl9IiBpbg0KCTB8MXwyfDMpDQoJCWRpZSAi VW5zdXBwb3J0ZWQgRUFQST0ke0VBUEl9ICh0b28gb2xkKSBmb3IgJHtFQ0xBU1N9Ig0KCQk7Ow0K CTQpDQoJCTs7DQoJKikNCgkJZGllICJVbnN1cHBvcnRlZCBFQVBJPSR7RUFQSX0gKHVua25vd24p IGZvciAke0VDTEFTU30iDQoJCTs7DQplc2FjDQoNCmluaGVyaXQgZXV0aWxzIHB5dGhvbi1yMQ0K DQpFWFBPUlRfRlVOQ1RJT05TIHNyY19wcmVwYXJlIHNyY19jb25maWd1cmUgc3JjX2NvbXBpbGUg c3JjX3Rlc3Qgc3JjX2luc3RhbGwNCg0KUkRFUEVORD0ke1BZVEhPTl9ERVBTfQ0KREVQRU5EPSR7 UFlUSE9OX0RFUFN9DQoNCiMgQEZVTkNUSU9OOiBkaXN0dXRpbHMtcjFfcHl0aG9uX3ByZXBhcmVf YWxsDQojIEBERVNDUklQVElPTjoNCiMgVGhlIGRlZmF1bHQgcHl0aG9uX3ByZXBhcmVfYWxsKCku IEl0IGFwcGxpZXMgdGhlIHBhdGNoZXMgZnJvbSBQQVRDSEVTDQojIGFycmF5LCB0aGVuIHVzZXIg cGF0Y2hlcyBhbmQgZmluYWxseSBjYWxscyBweXRob25fY29weV9zb3VyY2VzIHRvDQojIGNyZWF0 ZSBjb3BpZXMgb2YgcmVzdWx0aW5nIHNvdXJjZXMgZm9yIGVhY2ggUHl0aG9uIGltcGxlbWVudGF0 aW9uLg0KZGlzdHV0aWxzLXIxX3B5dGhvbl9wcmVwYXJlX2FsbCgpIHsNCglkZWJ1Zy1wcmludC1m dW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSINCg0KCVtbICR7UEFUQ0hFU30gXV0gJiYgZXBhdGNo ICIke1BBVENIRVNbQF19Ig0KDQoJZXBhdGNoX3VzZXINCg0KCSMgY3JlYXRlIHNvdXJjZSBjb3Bp ZXMgZm9yIGVhY2ggaW1wbGVtZW50YXRpb24NCglweXRob25fY29weV9zb3VyY2VzDQp9DQoNCiMg QEZVTkNUSU9OOiBkaXN0dXRpbHMtcjFfcHl0aG9uX3ByZXBhcmUNCiMgQERFU0NSSVBUSU9OOg0K IyBUaGUgZGVmYXVsdCBweXRob25fcHJlcGFyZSgpLiBDdXJyZW50bHkgaXQgaXMgYSBuby1vcA0K IyBidXQgaW4gdGhlIGZ1dHVyZSBpdCBtYXkgYXBwbHkgaW1wbGVtZW50YXRpb24tc3BlY2lmaWMg cXVpcmtzDQojIHRvIHRoZSBidWlsZCBzeXN0ZW0uDQpkaXN0dXRpbHMtcjFfcHl0aG9uX3ByZXBh cmUoKSB7DQoJZGVidWctcHJpbnQtZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iDQoNCgk6DQp9 DQoNCiMgQEZVTkNUSU9OOiBkaXN0dXRpbHMtcjFfcHl0aG9uX2NvbmZpZ3VyZQ0KIyBAREVTQ1JJ UFRJT046DQojIFRoZSBkZWZhdWx0IHB5dGhvbl9jb25maWd1cmUoKS4gQ3VycmVudGx5IGEgbm8t b3AuDQpkaXN0dXRpbHMtcjFfcHl0aG9uX2NvbmZpZ3VyZSgpIHsNCglkZWJ1Zy1wcmludC1mdW5j dGlvbiAke0ZVTkNOQU1FfSAiJHtAfSINCg0KCToNCn0NCg0KIyBARlVOQ1RJT046IGRpc3R1dGls cy1yMV9weXRob25fY29tcGlsZQ0KIyBAREVTQ1JJUFRJT046DQojIFRoZSBkZWZhdWx0IHB5dGhv bl9jb21waWxlKCkuIFJ1bnMgJ3NldHVwLnB5IGJ1aWxkJyB1c2luZyB0aGUgY29ycmVjdA0KIyBQ eXRob24gaW1wbGVtZW50YXRpb24uDQpkaXN0dXRpbHMtcjFfcHl0aG9uX2NvbXBpbGUoKSB7DQoJ ZGVidWctcHJpbnQtZnVuY3Rpb24gJHtGVU5DTkFNRX0gIiR7QH0iDQoNCgljZCAiJHtCVUlMRF9E SVJ9IiB8fCBkaWUNCglzZXQgLS0gIiR7UFlUSE9OfSIgc2V0dXAucHkgYnVpbGQNCgllY2hvICIk e0B9Ig0KCSIke0B9IiB8fCBkaWUNCn0NCg0KIyBARlVOQ1RJT046IGRpc3R1dGlscy1yMV9weXRo b25fdGVzdA0KIyBAREVTQ1JJUFRJT046DQojIFRoZSBkZWZhdWx0IHB5dGhvbl90ZXN0KCkuIEN1 cnJlbnRseSBhIG5vLW9wLg0KZGlzdHV0aWxzLXIxX3B5dGhvbl90ZXN0KCkgew0KCWRlYnVnLXBy aW50LWZ1bmN0aW9uICR7RlVOQ05BTUV9ICIke0B9Ig0KDQoJOg0KfQ0KDQojIEBGVU5DVElPTjog ZGlzdHV0aWxzLXIxX3JlbmFtZV9zY3JpcHRzDQojIEBERVNDUklQVElPTjoNCiMgUmVuYW1lcyBp bnN0YWxsZWQgUHl0aG9uIHNjcmlwdHMgdG8gYmUgaW1wbGVtZW50YXRpb24tc3VmZml4ZWQuDQoj ICR7UFlUSE9OfSBoYXMgdG8gYmUgc2V0IHRvIHRoZSBleHBlY3RlZCBQeXRob24gZXhlY3V0YWJs ZSAod2hpY2gNCiMgaGFzaGJhbmcgd2lsbCBiZSBncmVwcGVkIGZvciksIGFuZCAke0VQWVRIT059 IHRvIHRoZSBpbXBsZW1lbnRhdGlvbg0KIyBuYW1lIChmb3IgbmV3IG5hbWUpLg0KZGlzdHV0aWxz LXIxX3JlbmFtZV9zY3JpcHRzKCkgew0KCWRlYnVnLXByaW50LWZ1bmN0aW9uICR7RlVOQ05BTUV9 ICIke0B9Ig0KDQoJbG9jYWwgZGlyIGYNCglsb2NhbCB3cmFwZGlyPSR7VH0vZGlzdHV0aWxzX3dy YXBwZXJzDQoNCgkjIFhYWDogY2hhbmdlIHRoaXMgaWYgd2UgZXZlciBhbGxvdyBkaXJlY3Rvcmll cyBpbiBiaW4vc2Jpbg0KCWZvciBkaXIgaW4gYmluIHNiaW4gdXNyL2JpbiB1c3Ivc2JpbjsgZG8N CgkJZm9yIGYgaW4gIiR7RH0iLyR7ZGlyfS8qOyBkbw0KCQkJaWYgW1sgLXggJHtmfSBdXTsgdGhl bg0KCQkJCWRlYnVnLXByaW50ICIke0ZVTkNOQU1FfTogZm91bmQgZXhlY3V0YWJsZSBhdCAke2Yj JHtEfS99Ig0KDQoJCQkJaWYgW1sgIiQoaGVhZCAtbiAxICIke2Z9IikiID09ICcjIScqJHtQWVRI T059KiBdXQ0KCQkJCXRoZW4NCgkJCQkJZGVidWctcHJpbnQgIiR7RlVOQ05BTUV9OiBtYXRjaGlu ZyBzaGViYW5nOiAkKGhlYWQgLW4gMSAiJHtmfSIpIg0KDQoJCQkJCWxvY2FsIG5ld2Y9JHtmfS0k e0VQWVRIT059DQoJCQkJCWRlYnVnLXByaW50ICIke0ZVTkNOQU1FfTogcmVuYW1lZCB0byAke25l d2YjJHtEfS99Ig0KCQkJCQltdiAiJHtmfSIgIiR7bmV3Zn0iIHx8IGRpZQ0KDQoJCQkJCWRlYnVn LXByaW50ICIke0ZVTkNOQU1FfTogc3ltbGluayB0byAke3dyYXBkaXJ9LyR7ZGlyfS8ke2YjIyov fSINCg0KCQkJCQlta2RpciAtcCAiJHt3cmFwZGlyfSIvJHtkaXJ9DQoJCQkJCWxuIC1mcyAiJHtu ZXdmIyMqL30iIFwNCgkJCQkJCSIke3dyYXBkaXJ9LyR7ZGlyfS8ke2YjIyovfSIgfHwgZGllDQoJ CQkJZmkNCgkJCWZpDQoJCWRvbmUNCglkb25lDQp9DQoNCiMgQEZVTkNUSU9OOiBkaXN0dXRpbHMt cjFfcHl0aG9uX2luc3RhbGwNCiMgQERFU0NSSVBUSU9OOg0KIyBUaGUgZGVmYXVsdCBweXRob25f aW5zdGFsbCgpLiBSdW5zICdzZXR1cC5weSBpbnN0YWxsJyB1c2luZw0KIyB0aGUgY29ycmVjdCBQ eXRob24gaW1wbGVtZW50YXRpb24sIGFuZCBhcHBlbmRpbmcgdGhlIG9wdGltaXphdGlvbg0KIyBm bGFncy4gVGhlbiBjYWxscyBkaXN0dXRpbHMtcjFfcmVuYW1lX3NjcmlwdHMuDQpkaXN0dXRpbHMt cjFfcHl0aG9uX2luc3RhbGwoKSB7DQoJZGVidWctcHJpbnQtZnVuY3Rpb24gJHtGVU5DTkFNRX0g IiR7QH0iDQoNCglsb2NhbCBmbGFncw0KDQoJY2FzZSAiJHtFUFlUSE9OfSIgaW4NCgkJanl0aG9u KikNCgkJCWZsYWdzPSctLWNvbXBpbGUnOzsNCgkJKikNCgkJCWZsYWdzPSctLWNvbXBpbGUgLU8y Jzs7DQoJZXNhYw0KCWRlYnVnLXByaW50ICIke0ZVTkNOQU1FfTogWyR7RVBZVEhPTn1dIGZsYWdz OiAke2ZsYWdzfSINCg0KCXVuc2V0IFBZVEhPTkRPTlRXUklURUJZVEVDT0RFDQoNCgljZCAiJHtC VUlMRF9ESVJ9IiB8fCBkaWUNCglzZXQgLS0gIiR7UFlUSE9OfSIgc2V0dXAucHkgaW5zdGFsbCAk e2ZsYWdzfSAtLXJvb3Q9IiR7RH0iDQoJZWNobyAiJHtAfSINCgkiJHtAfSIgfHwgZGllDQoNCglk aXN0dXRpbHMtcjFfcmVuYW1lX3NjcmlwdHMNCn0NCg0KIyBARlVOQ1RJT046IGRpc3R1dGlscy1y MV9weXRob25faW5zdGFsbF9hbGwNCiMgQERFU0NSSVBUSU9OOg0KIyBUaGUgZGVmYXVsdCBweXRo b25faW5zdGFsbF9hbGwoKS4gSXQgY3JlYXRlcyB3cmFwcGVycw0KIyBmb3IgdGhlIGltcGxlbWVu dGF0aW9uLXN1ZmZpeGVkIGV4ZWN1dGFibGVzLg0KZGlzdHV0aWxzLXIxX3B5dGhvbl9pbnN0YWxs X2FsbCgpIHsNCglkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtAfSINCg0KCWxv Y2FsIHdyYXBkaXI9JHtUfS9kaXN0dXRpbHNfd3JhcHBlcnMNCg0KCWlmIFtbIC1kICR7d3JhcGRp cn0gXV07IHRoZW4NCgkJY3AgLXIgIiR7d3JhcGRpcn0vLiIgIiR7RH0iIHx8IGRpZQ0KCWZpDQp9 DQoNCmRpc3R1dGlscy1yMV9zcmNfcHJlcGFyZSgpIHsNCglkZWJ1Zy1wcmludC1mdW5jdGlvbiAk e0ZVTkNOQU1FfSAiJHtAfSINCg0KCSMgY29tbW9uIHByZXBhcmF0aW9ucw0KCWlmIGRlY2xhcmUg LWYgcHl0aG9uX3ByZXBhcmVfYWxsID4vZGV2L251bGw7IHRoZW4NCgkJcHl0aG9uX3ByZXBhcmVf YWxsDQoJZWxzZQ0KCQlkaXN0dXRpbHMtcjFfcHl0aG9uX3ByZXBhcmVfYWxsDQoJZmkNCg0KCWlm IGRlY2xhcmUgLWYgcHl0aG9uX3ByZXBhcmUgPi9kZXYvbnVsbDsgdGhlbg0KCQlweXRob25fZm9y ZWFjaF9pbXBsIHB5dGhvbl9wcmVwYXJlDQoJZWxzZQ0KCQlkaXN0dXRpbHMtcjFfcHl0aG9uX3By ZXBhcmUNCglmaQ0KfQ0KDQpkaXN0dXRpbHMtcjFfc3JjX2NvbmZpZ3VyZSgpIHsNCglpZiBkZWNs YXJlIC1mIHB5dGhvbl9jb25maWd1cmUgPi9kZXYvbnVsbDsgdGhlbg0KCQlweXRob25fZm9yZWFj aF9pbXBsIHB5dGhvbl9jb25maWd1cmUNCgllbHNlDQoJCWRpc3R1dGlscy1yMV9weXRob25fY29u ZmlndXJlDQoJZmkNCg0KCWlmIGRlY2xhcmUgLWYgcHl0aG9uX2NvbmZpZ3VyZV9hbGwgPi9kZXYv bnVsbDsgdGhlbg0KCQlweXRob25fY29uZmlndXJlX2FsbA0KCWZpDQp9DQoNCmRpc3R1dGlscy1y MV9zcmNfY29tcGlsZSgpIHsNCglkZWJ1Zy1wcmludC1mdW5jdGlvbiAke0ZVTkNOQU1FfSAiJHtA fSINCg0KCWlmIGRlY2xhcmUgLWYgcHl0aG9uX2NvbXBpbGUgPi9kZXYvbnVsbDsgdGhlbg0KCQlw eXRob25fZm9yZWFjaF9pbXBsIHB5dGhvbl9jb21waWxlDQoJZWxzZQ0KCQlweXRob25fZm9yZWFj aF9pbXBsIGRpc3R1dGlscy1yMV9weXRob25fY29tcGlsZQ0KCWZpDQoNCglpZiBkZWNsYXJlIC1m IHB5dGhvbl9jb21waWxlX2FsbCA+L2Rldi9udWxsOyB0aGVuDQoJCXB5dGhvbl9jb21waWxlX2Fs bA0KCWZpDQp9DQoNCmRpc3R1dGlscy1yMV9zcmNfdGVzdCgpIHsNCglkZWJ1Zy1wcmludC1mdW5j dGlvbiAke0ZVTkNOQU1FfSAiJHtAfSINCg0KCWlmIGRlY2xhcmUgLWYgcHl0aG9uX3Rlc3QgPi9k ZXYvbnVsbDsgdGhlbg0KCQlweXRob25fZm9yZWFjaF9pbXBsIHB5dGhvbl90ZXN0DQoJZWxzZQ0K CQlkaXN0dXRpbHMtcjFfcHl0aG9uX3Rlc3QNCglmaQ0KDQoJaWYgZGVjbGFyZSAtZiBweXRob25f dGVzdF9hbGwgPi9kZXYvbnVsbDsgdGhlbg0KCQlweXRob25fdGVzdF9hbGwNCglmaQ0KfQ0KDQpk aXN0dXRpbHMtcjFfc3JjX2luc3RhbGwoKSB7DQoJZGVidWctcHJpbnQtZnVuY3Rpb24gJHtGVU5D TkFNRX0gIiR7QH0iDQoNCglpZiBkZWNsYXJlIC1mIHB5dGhvbl9pbnN0YWxsID4vZGV2L251bGw7 IHRoZW4NCgkJcHl0aG9uX2ZvcmVhY2hfaW1wbCBweXRob25faW5zdGFsbA0KCWVsc2UNCgkJcHl0 aG9uX2ZvcmVhY2hfaW1wbCBkaXN0dXRpbHMtcjFfcHl0aG9uX2luc3RhbGwNCglmaQ0KDQoJaWYg ZGVjbGFyZSAtZiBweXRob25faW5zdGFsbF9hbGwgPi9kZXYvbnVsbDsgdGhlbg0KCQlweXRob25f aW5zdGFsbF9hbGwNCgllbHNlDQoJCWRpc3R1dGlscy1yMV9weXRob25faW5zdGFsbF9hbGwNCglm aQ0KfQ0K --MP_/6r11J_Pne__Ni+8KdFMTG/e-- --Sig_/dALeDW67=KcQFqmoDRqUb76 Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iJwEAQEIAAYFAlBm0UoACgkQfXuS5UK5QB3pWgP9FtVTXCKHHvxSnBtWROIMPt+G icj2zzLN3NMmvpVL7gjk66YoX+S7T2k8/DnS6RnbaQ6MnRYIacW5rF2dCbCLY+dk 3qQb0fJwrinGl0LZ7gqORsrX6cPoCsnThcWIyn0YoCDdbxKb3Cb4ZKscqXK+1RWM pXLPTsnNb3qdUFDPf4k= =/P0d -----END PGP SIGNATURE----- --Sig_/dALeDW67=KcQFqmoDRqUb76--