From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2849 invoked by alias); 9 Feb 2005 20:40:03 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 2798 invoked from network); 9 Feb 2005 20:39:53 -0000 Received: from unknown (HELO e35.co.us.ibm.com) (32.97.110.133) by sourceware.org with SMTP; 9 Feb 2005 20:39:53 -0000 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e35.co.us.ibm.com (8.12.10/8.12.9) with ESMTP id j19Kdlcu212058 for ; Wed, 9 Feb 2005 15:39:47 -0500 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d03relay04.boulder.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id j19KdlTm304828 for ; Wed, 9 Feb 2005 13:39:47 -0700 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.12.11/8.12.11) with ESMTP id j19Kdkmr006109 for ; Wed, 9 Feb 2005 13:39:46 -0700 Received: from austin.ibm.com (netmail2.austin.ibm.com [9.41.248.176]) by d03av02.boulder.ibm.com (8.12.11/8.12.11) with ESMTP id j19Kdkw4006095 for ; Wed, 9 Feb 2005 13:39:46 -0700 Received: from lazy.austin.ibm.com (lazy.austin.ibm.com [9.53.94.97]) by austin.ibm.com (8.12.10/8.12.10) with ESMTP id j19Kdjhb041258 for ; Wed, 9 Feb 2005 14:39:46 -0600 Date: Wed, 09 Feb 2005 22:40:00 -0000 From: Manoj Iyer X-X-Sender: manjo@lazy To: gdb-patches@sources.redhat.com Subject: [RFC] script to make testing easy Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-564818810-1107981059=:19027" X-SW-Source: 2005-02/txt/msg00076.txt.bz2 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --8323328-564818810-1107981059=:19027 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-length: 704 Hi all. I wrote this script (attached) that will make executing GDB testcases easy. The script has options to do the following. - generate a stand alone testsuite with sources from mainline CVS - execute testcases in 32/64 bit mode. - execute a perticular testcase or all testcase - use a user defined gdb or default gdb installed on the system Type the command with no options or -h to see all options. These options may be provided in combinations. ----- manjo +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Cognito ergo sum + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --8323328-564818810-1107981059=:19027 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=rungdbtest Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Test Case Generation and Executuion Script. Content-Disposition: attachment; filename=rungdbtest Content-length: 15173 IyEvYmluL3NoDQojKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Iw0KIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMNCiMgRmls ZTogcnVuZ2RidGVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjDQojICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIw0KIyBEZXNjcmlwdGlvbjogZXhlY3V0 ZXMgR0RCIHRlc3RjYXNlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMNCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjDQojIEF1dGhvcjogTWFub2ogSXllciAtIDI5IEp1bHkgMjAwNCAt IENyZWF0ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIw0K IyAgICAgICAgIE1hbm9qIEl5ZXIgLSAxNyBBdWd1c3QgMjAwNCAtIHVzZSBj b25maWcuZ3Vlc3MgdG8gZ3Vlc3MgdGhlIGFyY2ggICAgICMNCiMgICAgICAg ICBNYW5vaiBJeWVyIC0gMDMgTm92ZW1iZXIgMjAwNCAtIENyZWF0ZSBzdGFu ZCBhbG9uZSB0ZXN0c3VpdGUgICAgICAgICAjDQojICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIw0KIyoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKiMNCg0KZnVuY3Rpb24gdXNhZ2UoKQ0Kew0KDQogICBjYXQg PDwtRU9GID4mMg0KICAgIHVzYWdlOiAuLyR7MCMjKi99IC1kIC1oIFsgLW0g MzIvNjQgKiBdIFsgLXAgR0RCIF0gLXIgWyAtdCBURVNUQ0FTRSBdDQogICAg LWQgICAgICAgICAgLSBnZW5lcmF0ZSBHREIgdGVzdHN1aXRlLg0KICAgIC1o ICAgICAgICAgIC0gaGVscA0KICAgIC1tIDMyLzY0ICogIC0gZXhlY3V0ZSB0 aGUgdGVzdGNhc2VzIGluIDMyYml0IG9yIDY0Yml0IG1vZGUgKHVzZSBvbmUg b3B0aW9uKQ0KICAgIC1wIEdEQiAgICAgIC0gZnVsbHlfcXVhbGlmaWVkX3Bh dGgvZ2RiIGVnOiAvaG9tZS9qb2Uvc3JjL2dkYi9nZGINCiAgICAtciAgICAg ICAgICAtIGRvbnQgcnVuIC4vY29uZmlndXJlLCB1c2UgaXQgaWYgdSByZXBl YXQgYW55IHRlc3QuDQogICAgLXQgVEVTVENBU0UgLSBleGVjdXRlIGEgc2lu Z2xlIHRlc3RjYXNlLiAoWFhYLmV4cCBmaWxlKS4gKGRlZmF1bHQgYWxsIHRl c3RzKQ0KDQogICAgRXhhbXBsZTogDQogICAgICAgICAgICBEb3dubG9hZCB0 ZXN0cyBmcm9tIGN2cyBhbmQgZXhlY3V0ZSB0ZXN0LCB1c2luZyB1c2VyJ3Mg Z2RiIA0KICAgICAgICAgICAgLi8kezAjIyovfSAtZCAtbSA2NCAtcCAvaG9t ZS9qb2Uvc3JjL2dkYi9nZGINCg0KICAgICAgICAgICAgQ3JlYXRlIHN0YW5k IGFsb25lIHRlc3RzdWl0ZS4gRG9udCBydW4gYW55IHRlc3RzLg0KICAgICAg ICAgICAgLi8kezAjIyovfSAtZA0KDQogICAgICAgICAgICBSdW4gYWxsIHRl c3RjYXNlcyBpbiA2NGJpdCBtb2RlLCB1c2luZyBqb2VzIGN1c3RvbSBnZGIu DQogICAgICAgICAgICAuLyR7MCMjKi99IC1tIDY0IC1wIC9ob21lL2pvZS9z cmMvZ2RiL2dkYiANCg0KICAgICAgICAgICAgUnVuIHRlc3QgYW5ub3RhMS5l eHAgaW4gNjRiaXQgbW9kZSwgdXNpbmcgam9lcyBjdXN0b20gZ2RiLg0KICAg ICAgICAgICAgLi8kezAjIyovfSAtbSA2NCAtcCAvaG9tZS9qb2Uvc3JjL2dk Yi9nZGIgLXQgYW5ub3RhMS5leHANCg0KICAgKiA9IGluZGljYXRlcyB0aGlz IG9wdGlvbiAtbSAzMiBvciAtbSA2NCBNVVNUIGJlIHByb3ZpZGUuDQoJRU9G DQogICAgZXhpdCAxOw0KfQ0KDQoNCmZ1bmN0aW9uIGNsZWFudXAoKQ0Kew0K ICAgIHJtIC1mIC90bXAvZ2RidGVzdC5sb2cuJCQgPi9kZXYvbnVsbCAyPiYx IA0KfQ0KDQoNCmZ1bmN0aW9uIGdldF9zb3VyY2UoKQ0Kew0KICAgIGxvY2Fs IENNRD0iICIgICAgIyB2YXJpYWJsZSBob2xkcyB0aGUgY3ZzIGNvbW1hbmQu DQogICAgDQogICAgIyBjcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHdo ZXJlIEdEQiBzb3VyY2VzIHdpbGwgYmUgZXh0cmFjZWQuDQogICAgbWtkaXIg L3RtcC90bXAuJCQgfHwNCiAgICB7DQogICAgICAgIGVjaG8gIkVSUk9SOiB1 bmFibGUgdG8gY3JlYXRlIHRtcC4kJCBpbiAvdG1wIjsNCiAgICAgICAgcmV0 dXJuIC0xOw0KICAgIH0gICANCg0KICAgIGVjaG8gIklORk86IHB1bGxpbmcg Z2RiIHNvdXJjZSBmcm9tIENWUyINCiAgICBlY2hvICJJTkZPOiBUaGlzIHdp bGwgYmUgYXMgc2xvdyBhcyB5b3VyIG5ldHdvcmsiDQoNCiAgICBDTUQ9ImNk IC90bXAvdG1wLiQkICYmIFwNCiAgICAgICAgIGN2cyAtUSAtZCA6cHNlcnZl cjphbm9uY3ZzQHNvdXJjZXMucmVkaGF0LmNvbTovY3ZzL3NyYyBjbyBnZGIr ZGVqYWdudSIgDQoNCiAgICAoZXZhbCAkQ01EOyBlY2hvICQ/KSAyPiYxIHwg dGVlIC1hIC90bXAvcnVuZ2RidGVzdC4kJC5sb2cNCg0KICAgIFsgImB0YWls IC0xIC90bXAvcnVuZ2RidGVzdC4kJC5sb2dgIiAhPSAiMCIgXSAmJg0KICAg IHsNCiAgICAgICAgZWNobyAiRVJST1I6IENoZWNrb3V0IG9mIGdkYiBzb3Vy Y2VzIGZyb20gQ1ZTIGZhaWxlZC4iOw0KICAgICAgICByZXR1cm4gLTE7DQog ICAgfQ0KDQogICAgZWNobyAiSU5GTzogY3JlYXRpbmcgc3RhbmQgYWxvbmUg dGVzdHN1aXRlIg0KDQogICAgIyBjb3B5IHRlc3RzdWl0ZSB0byBjdXJyZW50 IGRpcmVjdG9yeS4NCiAgICBDTUQ9Im12ICAvdG1wL3RtcC4kJC9zcmMvZ2Ri L3Rlc3RzdWl0ZS8qIC4iDQogICAgKGV2YWwgJENNRDsgZWNobyAkPykgMj4m MSB8IHRlZSAtYSAvdG1wL3J1bmdkYnRlc3QuJCQubG9nDQoNCiAgICBbICJg dGFpbCAtMSAvdG1wL3J1bmdkYnRlc3QuJCQubG9nYCIgIT0gIjAiIF0gJiYN CiAgICB7DQogICAgICAgIGVjaG8gIkVSUk9SOiBmYWlsZWQgc2V0dGluZyB1 cCB0ZXN0IHNvdXJjZXMiOw0KICAgICAgICByZXR1cm4gLTE7DQogICAgfQ0K DQogICAgIyBjb3B5IGRlamFnbnUgdG8gY3VycmVudCBkaXJlY3RvcnkuDQog ICAgQ01EPSJtdiAvdG1wL3RtcC4kJC9zcmMvZGVqYWdudSAuIg0KICAgIChl dmFsICRDTUQ7IGVjaG8gJD8pIDI+JjEgfCB0ZWUgLWEgL3RtcC9ydW5nZGJ0 ZXN0LiQkLmxvZw0KDQogICAgWyAiYHRhaWwgLTEgL3RtcC9ydW5nZGJ0ZXN0 LiQkLmxvZ2AiICE9ICIwIiBdICYmDQogICAgew0KICAgICAgICBlY2hvICJF UlJPUjogZmFpbGVkIHNldHRpbmcgdXAgdGVzdCBzb3VyY2VzIjsNCiAgICAg ICAgcmV0dXJuIC0xOw0KICAgIH0NCg0KICAgICMgY29weSBjb25maWcuZ3Vl c3MgdG8gY3VycmVudCBkaXJlY3RvcnkNCiAgICBDTUQ9Im12IC90bXAvdG1w LiQkL3NyYy9jb25maWcuZ3Vlc3MgLiINCiAgICAoZXZhbCAkQ01EOyBlY2hv ICQ/KSAyPiYxIHwgdGVlIC1hIC90bXAvcnVuZ2RidGVzdC4kJC5sb2cNCg0K ICAgIFsgImB0YWlsIC0xIC90bXAvcnVuZ2RidGVzdC4kJC5sb2dgIiAhPSAi MCIgXSAmJg0KICAgIHsNCiAgICAgICAgZWNobyAiRVJST1I6IGZhaWxlZCBz ZXR0aW5nIHVwIHRlc3Qgc291cmNlcyI7DQogICAgICAgIHJldHVybiAtMTsN CiAgICB9DQoNCiAgICAjIEhBQ0tTISEhIGNvcHkgc29tZSBmaWxlcyB0byBj dXJyZW50IGRpcmVjdG9yeSBhbmQgdGVzdGNhc2UgZGlyZWN0b3JpZXMuDQoN CiAgICBlY2hvICJJTkZPOiBBcHBseWluZyBoYWNrcyB0byBzY3JpcHRzIGFu ZCBNYWtlZmlsZXMiDQoNCiAgICBDTUQ9Im12IC90bXAvdG1wLiQkL3NyYy9p bnN0YWxsLXNoIC4iDQogICAgKGV2YWwgJENNRDsgZWNobyAkPykgMj4mMSB8 IHRlZSAtYSAvdG1wL3J1bmdkYnRlc3QuJCQubG9nDQoNCiAgICBbICJgdGFp bCAtMSAvdG1wL3J1bmdkYnRlc3QuJCQubG9nYCIgIT0gIjAiIF0gJiYNCiAg ICB7DQogICAgICAgIGVjaG8gIkVSUk9SOiBmYWlsZWQgc2V0dGluZyB1cCBo YWNrcyB0byBzb3VyY2VzIjsNCiAgICAgICAgcmV0dXJuIC0xOw0KICAgIH0N Cg0KICAgIENNRD0idG91Y2ggLi9jb25maWcuY2FjaGUiDQogICAoZXZhbCAk Q01EOyBlY2hvICQ/KSAyPiYxIHwgdGVlIC1hIC90bXAvcnVuZ2RidGVzdC4k JC5sb2cNCg0KICAgIFsgImB0YWlsIC0xIC90bXAvcnVuZ2RidGVzdC4kJC5s b2dgIiAhPSAiMCIgXSAmJg0KICAgIHsNCiAgICAgICAgZWNobyAiRVJST1I6 IGZhaWxlZCBzZXR0aW5nIHVwIGhhY2tzIHRvIHNvdXJjZXMiOw0KICAgICAg ICByZXR1cm4gLTE7DQogICAgfQ0KDQogICBDTUQ9Im12IC90bXAvdG1wLiQk L3NyYy9jb25maWcuc3ViIC4iDQogICAoZXZhbCAkQ01EOyBlY2hvICQ/KSAy PiYxIHwgdGVlIC1hIC90bXAvcnVuZ2RidGVzdC4kJC5sb2cNCg0KICAgIFsg ImB0YWlsIC0xIC90bXAvcnVuZ2RidGVzdC4kJC5sb2dgIiAhPSAiMCIgXSAm Jg0KICAgIHsNCiAgICAgICAgZWNobyAiRVJST1I6IGZhaWxlZCBzZXR0aW5n IHVwIGhhY2tzIHRvIHNvdXJjZXMiOw0KICAgICAgICByZXR1cm4gLTE7DQog ICAgfQ0KDQogICAgQ01EPSJjcCAuL2luc3RhbGwtc2ggLi9nZGIuc3RhYnMv LiA7IGNwIC4vY29uZmlnLnN1YiAuL2dkYi5zdGFicy8uICINCiAgIChldmFs ICRDTUQ7IGVjaG8gJD8pIDI+JjEgfCB0ZWUgLWEgL3RtcC9ydW5nZGJ0ZXN0 LiQkLmxvZw0KDQogICAgWyAiYHRhaWwgLTEgL3RtcC9ydW5nZGJ0ZXN0LiQk LmxvZ2AiICE9ICIwIiBdICYmDQogICAgew0KICAgICAgICBlY2hvICJFUlJP UjogZmFpbGVkIHNldHRpbmcgdXAgaGFja3MgdG8gc291cmNlcyI7DQogICAg ICAgIHJldHVybiAtMTsNCiAgICB9DQoNCiAgICBDTUQ9ImNwIC4vZGVqYWdu dS9ydW50ZXN0IC4gOyBjcCAuL2RlamFnbnUvcnVudGVzdC5leHAgLiINCiAg IChldmFsICRDTUQ7IGVjaG8gJD8pIDI+JjEgfCB0ZWUgLWEgL3RtcC9ydW5n ZGJ0ZXN0LiQkLmxvZw0KDQogICAgWyAiYHRhaWwgLTEgL3RtcC9ydW5nZGJ0 ZXN0LiQkLmxvZ2AiICE9ICIwIiBdICYmDQogICAgew0KICAgICAgICBlY2hv ICJFUlJPUjogZmFpbGVkIHNldHRpbmcgdXAgaGFja3MgdG8gc291cmNlcyI7 DQogICAgICAgIHJldHVybiAtMTsNCiAgICB9DQoNCiAgICAjIEhBQ0tTISEg dG8gc2NyaXB0cyBhbmQgbWFrZWZpbGVzLg0KICAgIHNlZCAnL15SVU5URVNU X0ZPUl9UQVJHRVQvcy8vI1JVTlRFU1RfRk9SX1RBUkdFVC8nIC4vTWFrZWZp bGUuaW4gPiBcDQogICAgLi9NYWtlZmlsZS5pbi5zYXYgfHwgXA0KICAgIHsN CiAgICAgICAgZWNobyAiRVJST1I6IEhBQ0tTIHRvIHNjcmlwdHMgJiBtYWtl ZmlsZXMgZmFpbGVkIiA7DQoJcmV0dXJuIC0xOw0KICAgIH0NCg0KICAgIG12 IC4vTWFrZWZpbGUuaW4uc2F2IC4vTWFrZWZpbGUuaW4gfHwgXA0KICAgIHsN CiAgICAgICAgZWNobyAiRVJST1I6IEhBQ0tTIHRvIHNjcmlwdHMgJiBtYWtl ZmlsZXMgZmFpbGVkIiA7DQogICAgICAgIHJldHVybiAtMTsNCiAgICB9DQoN CiAgICBzZWQgJy8jUlVOVEVTVF9GT1JfVEFSR0VUL2kgUlVOVEVTVF9GT1Jf VEFSR0VUID0gLlwvcnVudGVzdCcgLi9NYWtlZmlsZS5pbiBcDQogICAgPiAu L01ha2VmaWxlLmluLnNhdiB8fCBcDQogICAgew0KICAgICAgICBlY2hvICJF UlJPUjogSEFDS1MgdG8gc2NyaXB0cyAmIG1ha2VmaWxlcyBmYWlsZWQiIDsN CiAgICAgICAgcmV0dXJuIC0xOw0KICAgIH0NCg0KICAgIG12IC4vTWFrZWZp bGUuaW4uc2F2IC4vTWFrZWZpbGUuaW4gfHwgXA0KICAgIHsNCiAgICAgICAg ZWNobyAiRVJST1I6IEhBQ0tTIHRvIHNjcmlwdHMgJiBtYWtlZmlsZXMgZmFp bGVkIiA7DQogICAgICAgIHJldHVybiAtMTsNCiAgICB9DQogICAgIA0KICAg IHNlZCAnL15mb3IgYWNfZGlyIGluL3MvOyBkby8gLjsgZG8vJyAgLi9nZGIu c3RhYnMvY29uZmlndXJlID4gXA0KICAgIC4vZ2RiLnN0YWJzL2NvbmZpZ3Vy ZS5vdXQgfHwgXA0KICAgIHsNCiAgICAgICAgZWNobyAiRVJST1I6IEhBQ0tT IHRvIHNjcmlwdHMgJiBtYWtlZmlsZXMgZmFpbGVkIiA7DQogICAgICAgIHJl dHVybiAtMTsNCiAgICB9DQoNCiAgICBtdiAuL2dkYi5zdGFicy9jb25maWd1 cmUub3V0IC4vZ2RiLnN0YWJzL2NvbmZpZ3VyZSB8fCBcDQogICAgew0KICAg ICAgICBlY2hvICJFUlJPUjogSEFDS1MgdG8gc2NyaXB0cyAmIG1ha2VmaWxl cyBmYWlsZWQiIDsNCiAgICAgICAgcmV0dXJuIC0xOw0KICAgIH0NCg0KICAg IGVjaG8gIklORk86IERvbmUgZ2VuZXJhdGluZyBzdGFuZCBhbG9uZSB0ZXN0 c3VpdGUiDQogICAgcmV0dXJuIDA7DQoNCn0NCiAgICANCg0KZnVuY3Rpb24g bWFpbigpDQp7DQogICAgUkVQRUFUPSJOTyIgICAgICAjIG9wdGlvbiB0byB0 dXJuIG9mZiBydW5uaW5nIGNvbmZpZ3VyZS4NCiAgICBNT0RFPSIgIiAgICAg ICAgICMgRXhlY3V0ZSB0aGUgdGVzdGNhc2UgaW4gMzJiaXQgbW9kZSBvciA2 NGJpdCBtb2RlDQogICAgVEFSR0VUPSIgIiAgICAgICAjIENvbnRhaW5zIHRo ZSBzdHJpbmcgdGhhdCBpcyBwYXNzZWQgdG8gbWFrZSBjaGVjaw0KICAgIEdE Ql9DTUQ9Ik5PTkUiICAgIyBGdWxseSBxdWFsaWZpZWQgcGF0aCB0byBjdXN0 b20gR0RCLg0KICAgIFRFU1RfQ0FTRT0iICIgICAgIyBUZW1wb3JhcnkgcGxh Y2UgaG9sZGVyIHRvIHRlc3RjYXNlIG5hbWUuDQogICAgY21kPSIgIiAgICAg ICAgICAjIENvbW1hbmQgdGhhdCBuZWVkcyB0byBiZSBleGVjdXRlZCB0byBy dW4gdGVzdGNhc2VzDQogICAgDQogICAgWyAkIyAtbHQgMSBdICYmIHsgdXNh Z2UgOyByZXR1cm4gJD87IH0NCg0KICAgICMgUGFyc2Ugb3B0aW9ucw0KICAg IHdoaWxlIGdldG9wdHMgZGhtOnA6cnQ6IGFyZw0KICAgIGRvIGNhc2UgJGFy ZyBpbg0KICAgICAgICBkKSBnZXRfc291cmNlIDsgWyAkIyAtbHQgMiBdICYm IHJldHVybiAtMSA7Ow0KICAgICAgICBoKSB1c2FnZSA7Ow0KDQogICAgICAg IG0pIGNhc2UgIiRPUFRBUkciIGluDQogICAgICAgICAgICAgICAzMikgVEFS R0VUPSJSVU5URVNURkxBR1M9LS10YXJnZXRfYm9hcmQ9dW5peC8tbTMyIg0K ICAgICAgICAgICAgICAgICAgIE1PREU9IjMyIjs7DQogICAgICAgICAgICAg ICA2NCkgVEFSR0VUPSJSVU5URVNURkxBR1M9LS10YXJnZXRfYm9hcmQ9dW5p eC8tbTY0IjsNCiAgICAgICAgICAgICAgICAgICBNT0RFPSI2NCI7Ow0KICAg ICAgICAgICAgICAgKikgIGVjaG8gIldBUk46IFVucmVjb2duaXplZCBtb2Rl LCBhc3N1bWluZyAzMiBiaXQiOw0KICAgICAgICAgICAgICAgICAgIFRBUkdF VD0iUlVOVEVTVEZMQUdTPS0tdGFyZ2V0X2JvYXJkPXVuaXgvLW0zMiI7DQog ICAgICAgICAgICAgICAgICAgTU9ERT0iMzIiOzsNCiAgICAgICAgICAgZXNh Yzs7DQoNCiAgICAgICAgcCkgWyAteiAiJE9QVEFSRyIgXSAmJiB7IHVzYWdl IDsgfSANCg0KCSAgICMgaWYgdGhlIGdkYiBwcm92aWRlZCBieSB0aGUgdXNl ciBpcyBub3QgYW4gZXhlY3V0YWJsZSBjb21wbGFpbg0KICAgICAgICAgICBb ICEgLXggIiRPUFRBUkciIF0gJiYgXA0KICAgICAgICAgICB7DQogICAgICAg ICAgICAgICBlY2hvICJFUlJPUjogJE9QVEFSRyBpcyBub3QgYSB2YWxpZCBl eGVjdXRhYmxlIjsNCiAgICAgICAgICAgICAgIHJldHVybiAtMTsNCiAgICAg ICAgICAgfQ0KDQoJICAgIyBpZiA2NC1iaXQgbW9kZSBpcyBjaG9zZW4gYW5k IDMyLWJpdCBnZGIgaXMgdXNlZCBjb21wbGFpbg0KICAgICAgICAgICBbICIk TU9ERSIgPT0gIjY0IiBdICYmIFwNCiAgICAgICAgICAgeyANCg0KICAgICAg ICAgICAgICAgWyAiJChmaWxlIC1iICIkT1BUQVJHIiB8IGN1dCAtZiAyIC1k ICIgIikiID09ICI2NC1iaXQiIF0gfHwgXA0KICAgICAgICAgICAgICAgew0K ICAgICAgICAgICAgICAgICAgIGVjaG8gIkVSUk9SOiAkT1BUQVJHIGlzIG5v dCBhIDY0IGJpdCBHREIiIDsNCiAgICAgICAgICAgICAgICAgICByZXR1cm4g LTE7DQogICAgICAgICAgICAgICB9DQogICAgICAgICAgIH0NCgkgICANCiAg ICAgICAgICAgR0RCX0NNRD0iJFRBUkdFVCAtLXRvb2xfZXhlYz0kT1BUQVJH IjsNCgkgICBUQVJHRVQ9IiRHREJfQ01EIjs7DQoNCiAgICAgICAgcikgUkVQ RUFUPSJZRVMiOzsNCg0KICAgICAgICB0KSBbIC16ICIkT1BUQVJHIiBdICYm IHsgdXNhZ2UgOyB9DQogICAgICAgICAgIFRFU1RfQ0FTRT0iJFRBUkdFVCAk T1BUQVJHIjsNCiAgICAgICAgICAgVEFSR0VUPSIkVEVTVF9DQVNFIiA7Ow0K ICAgICAgICBcPykgdXNhZ2UgOzsNCiAgICAgICBlc2FjDQogICAgZG9uZQ0K DQogIA0KICAgICMgSWYgbm8gc291cmNlIGlzIGZvdW5kIGV4aXQuDQogICAg WyAtZiAuL2NvbmZpZ3VyZSBdIHx8IFwNCiAgICB7DQogICAgICAgIGVjaG8g IkZBVEFMOiBnZW5lcmF0ZSB0aGUgdGVzdHN1aXRlIGZpcnN0LCB1c2UgLWQg b3B0aW9uIjsNCiAgICAgICAgZWNobyAiICI7DQogICAgICAgIHVzYWdlOw0K ICAgICAgICByZXR1cm4gLTE7DQogICAgfQ0KDQogICAgIyBJZiBubyBnZGIg Y29tbWFuZCBpcyBzcGVjaWZpZWQgcGljayBhIGdkYiBiYXNlZCBvbiBNT0RF IA0KICAgIFsgIiRHREJfQ01EIiA9PSAiTk9ORSIgXSAmJiBcDQogICAgew0K ICAgICAgICBlY2hvICJXQVJOOiBubyBjdXN0b20gZ2RiIHJlcXVlc3RlZCwg dXNpbmcgc3lzdGVtIGdkYiIgOw0KICAgICAgICBbICIkTU9ERSIgPT0gIjMy IiBdICYmIFwNCiAgICAgICAgeyANCiAgICAgICAgICAgIFsgLXogIiQod2hp Y2ggZ2RiKSIgXSAmJiB7IGVjaG8gIkVSUk9SOiBubyBnZGIgaW5zdGFsbGVk IjsgcmV0dXJuIC0xOyB9DQogICAgICAgICAgICBHREJfQ01EPSIkVEFSR0VU IC0tdG9vbF9leGVjPSQod2hpY2ggZ2RiKSI7IA0KCSAgICBlY2hvICJJTkZP OiB1c2luZyAkR0RCX0NNRCI7DQogICAgICAgIH0NCg0KICAgICAgICBbICIk TU9ERSIgPT0gIjY0IiBdICYmIFwNCiAgICAgICAgeyANCiAgICAgICAgICAg IEdEQl9DTUQ9IiRUQVJHRVQgLS10b29sX2V4ZWM9JCh3aGljaCBnZGI2NCki OyANCiAgICAgICAgICAgIFsgLXogIiQod2hpY2ggZ2RiNjQpIiBdICYmIFwN CiAgICAgICAgICAgIHsgDQogICAgICAgICAgICAgICAgIyA2NC1iaXQgR0RC IGNvdWxkIGJlIGluc3RhbGxlZCB1bmRlciB0aGUgbmFtZSBnZGIgDQogICAg ICAgICAgICAgICAgWyAiJChmaWxlIC1iICQod2hpY2ggZ2RiKSB8IGN1dCAt ZiAyIC1kICIgIikiID09ICI2NC1iaXQiIF0gfHwgXA0KICAgICAgICAgICAg ICAgIHsNCiAgICAgICAgICAgICAgICAgICAgZWNobyAiRVJST1I6IE5vIDY0 LWJpdCBnZGIgZm91bmQgb24gdGhlIHN5c3RlbSI7DQogICAgICAgICAgICAg ICAgICAgIHJldHVybiAtMTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAg ICAgICAgICAgICBHREJfQ01EPSIkVEFSR0VUIC0tdG9vbF9leGVjPSQod2hp Y2ggZ2RiKSI7IA0KCSAgICAgICAgZWNobyAiSU5GTzogdXNpbmcgJEdEQl9D TUQiOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KCVRBUkdFVD0i JEdEQl9DTUQiOw0KICAgIH0NCg0KICAgICMgSWYgdGhpcyBzY3JpcHQgaXMg ZXhlY3V0ZWQgb3V0c2lkZSBvZiB0aGlzIHRlc3RzdWl0ZSBkaXIgY29tcGxh aW4NCiAgICBbIC1mIC4vY29uZmlndXJlIF0gfHwgXA0KICAgIHsNCiAgICAg ICAgZWNobyAiRVJST1I6IFRoaXMgc2NyaXB0IG11c3QgYmUgbG9jYXRlZCB1 bmRlciB0aGUgdGVzdHN1aXRlIGRpciIgOw0KICAgICAgICByZXR1cm4gLTE7 DQogICAgfQ0KDQogICAgIyBpZiB0aGUgdXNlciBpcyBleGVjdXRpbmcgb25l IHRlc3RjYXNlIGF0IGEgdGltZSwgYWxsb3cgaGltIHRvIHNraXANCiAgICAj IHJlcGVhdGluZyB0aGUgY29uZmlndXJlIHN0ZXAgDQogICAgWyAiJFJFUEVB VCIgPT0gIllFUyIgXSB8fCAgXA0KICAgIHsNCiAgICAgICAgZWNobyAiSU5G TzogRXhlY3V0aW5nIG1ha2UgZGlzdGNsZWFuIjsNCiAgICAgICAgbWFrZSBk aXN0Y2xlYW47DQoNCiAgICAgICAgZWNobyAiSU5GTzogUmVtb3ZpbmcgYW55 IGNvbmZpZy5jYWNoZSBmaWxlcyI7IA0KICAgICAgICBmb3IgY29uZmlnIGlu ICQoZmluZCAuIC1uYW1lIGNvbmZpZy5jYWNoZSkNCiAgICAgICAgZG8NCiAg ICAgICAgICAgIHJtIC1mICRjb25maWcgDQogICAgICAgIGRvbmUgDQoNCiAg ICAgICAgZWNobyAiSU5GTzogZXhlY3V0aW5nIC4vY29uZmlndXJlIG9uIHRl c3RjYXNlcy4iDQogICAgICAgIC4vY29uZmlndXJlIC0taG9zdD0kKC4vY29u ZmlnLmd1ZXNzKSAtLWRpc2FibGUtdHVpIC0tZGlzYWJsZS10Y2wgXA0KICAg ICAgICAgICAgID4gL3RtcC9nZGJ0ZXN0LmxvZy4kJCAyPiYxIHx8IFwNCiAg ICAgICAgew0KICAgICAgICAgICAgZWNobyAiRVJST1I6IENvbmZpZ3VyaW5n IHRlc3RjYXNlICQoY2F0IC90bXAvZ2RidGVzdC5sb2cuJCQpIjsNCiAgICAg ICAgICAgIHJldHVybiAtMTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGNt ZD0ibWFrZSBjaGVjayAnJFRBUkdFVCciOw0KDQogICAgZWNobyAiSU5GTzog VXNpbmcgY29tbWFuZCAkY21kIg0KDQogICAgZWNobyAiSU5GTzogRXhlY3V0 aW5nIHRlc3RjYXNlIGNvbW1hbmQgJGNtZCINCiAgIChldmFsICRjbWQ7IGVj aG8gJD8pIDI+JjEgfCB0ZWUgLWEgL3RtcC9nZGJ0ZXN0LmxvZy4kJCANCiAg IFsgImB0YWlsIC0xIC90bXAvZ2RidGVzdC5sb2cuJCRgIiAhPSAiMCIgXSAm JiBcDQogICB7DQogICAgICAgZWNobyAiRVJST1I6IGNlcnRhaW4gZXJyb3Jz IGVuY291bnRlcmQgZXhlY3V0aW5nIHRlc3RjYXNlcy4iOw0KICAgICAgIG12 IC90bXAvZ2RidGVzdC5sb2cuJCQgLi9ydW5nZGJ0ZXN0LmVyci5sb2cgPi9k ZXYvbnVsbCAyPiYxIHx8IFwNCiAgICAgICB7DQogICAgICAgICAgIGVjaG8g IkVSUk9SOiBjcmVhdGluZyAuL3J1bmdkYnRlc3QuZXJyLmxvZyI7DQogICAg ICAgfQ0KICAgICAgIGVjaG8gIklORk86IGRldGFpbHMgaW4gLi9ydW5nZGJ0 ZXN0LmVyci5sb2cgYW5kIGdkYi5sb2ciOw0KICAgICAgIHJldHVybiAtMTsN CiAgIH0NCg0KICAgcmV0dXJuIDANCn0NCg0KDQojIGNsZWFudXAgdGVtcG9y YXR5IGZpbGVzIGNyZWF0ZWQgaW4gL3RtcA0KdHJhcCAiY2xlYW51cCIgMA0K DQojIGVudHJ5IHBvaW50IHNvIHRvIHNwZWFrDQptYWluICIkQCINCg0KIyBl eGl0IHdpdGggcmV0dXJuIGNvZGUuDQpleGl0ICQ/DQo= --8323328-564818810-1107981059=:19027--