From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17044 invoked by alias); 18 Feb 2009 17:34:34 -0000 Received: (qmail 17035 invoked by uid 22791); 18 Feb 2009 17:34:31 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_33,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx2.redhat.com (HELO mx2.redhat.com) (66.187.237.31) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 18 Feb 2009 17:34:25 +0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n1IHYLau007316; Wed, 18 Feb 2009 12:34:21 -0500 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n1IHYLEa003436; Wed, 18 Feb 2009 12:34:21 -0500 Received: from opsy.redhat.com (vpn-13-158.rdu.redhat.com [10.11.13.158]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n1IHYJ79013029; Wed, 18 Feb 2009 12:34:19 -0500 Received: by opsy.redhat.com (Postfix, from userid 500) id 7097388803F; Wed, 18 Feb 2009 10:34:18 -0700 (MST) To: "Pierre Muller" Cc: Subject: Re: [Commit] testsuite/gdb.pascal References: <001601c991d7$bc899860$359cc920$@u-strasbg.fr> From: Tom Tromey Reply-To: Tom Tromey Date: Wed, 18 Feb 2009 18:46:00 -0000 In-Reply-To: <001601c991d7$bc899860$359cc920$@u-strasbg.fr> (Pierre Muller's message of "Wed\, 18 Feb 2009 15\:46\:52 +0100") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-02/txt/msg00383.txt.bz2 --=-=-= Content-length: 2559 >>>>> "Pierre" == Pierre Muller writes: Pierre> PS: Tom, could you help me out with the Pierre> patch tester scripts? Sorry about that -- I saw your ping on irc, but then forgot to send you a follow-up email. I use the two attached scripts to regression test patches. The tester requires that you use archer git. That is because git provides a way to select the proper baseline revision for a patch. It might be possible to make it work with CVS... I don't plan to do that but if you want to figure something out, I'll assist if I can. If you need the actual tester script to do this I can email that to you (or you can see it in ~tromey on gcc11). The first script makes a patch in a format that the tester understands. This format is just an ordinary git diff with a short header describing the baseline revision, where to send email, etc. You can run this anywhere in your git tree. You can supply some options to change how the tester configures and builds gdb; you can also change this by editing the patch header before submission. The default is to configure with --enable-targets=all, and build with -j6. The second script uploads a patch to the patch tester. It is basically a fancy "scp". My typical pattern is to check out archer's "master" branch (which is frequently synced with gdb cvs) and write a patch. I test it locally, write new tests, etc. Then I "mkdiff > /tmp/whatever.diff" and "submit-patch /tmp/whatever.diff". Then when the patch is approved, I apply it to gdb cvs for committing. Once you've uploaded a patch, you'll get an email when the tester starts work on it. Then you'll get another message when the test is done. Occasionally I have noticed that this second email gets wedged; I don't know why. If that happens, let me know, or you can log in and dig through ~tromey/auto-test-gdb to find the results. I've noticed that the results comparison script fails to notice if you introduce new FAILs. It doesn't consider those as failures. If anybody has a bulletproof test result comparison script, I'm interested. I periodically go through the old test results and delete them by hand. I probably ought to automate this. The gdb test suite itself is a bit noisy. There are a few tests that randomly fail. So, the tester may report some errors which you can ignore -- if you resubmit the patch, they will go away. For example, this is a common false negative: gdb.sum gdb.threads/schedlock.exp: other threads ran - unlocked Let me know if you have any trouble. Tom --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=mkdiff Content-Transfer-Encoding: base64 Content-Description: mkdiff Content-length: 5865 IyEvYmluL3NoCgojIENvcHlyaWdodCAoQykgMjAwMywgMjAwOCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24KCiMgVGhpcyBzY3JpcHQgaXMgRnJlZSBTb2Z0 d2FyZSwgYW5kIGl0IGNhbiBiZSBjb3BpZWQsIGRpc3RyaWJ1dGVkIGFuZAoj IG1vZGlmaWVkIGFzIGRlZmluZWQgaW4gdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlLiAgQSBjb3B5IG9mCiMgaXRzIGxpY2Vuc2UgY2FuIGJlIGRv d25sb2FkZWQgZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3Bs Lmh0bWwKCiMgV3JpdHRlbiBieSBUb20gVHJvbWV5IDx0cm9tZXlAcmVkaGF0 LmNvbT4KCiMgbWtkaWZmIHZlcnNpb24gMi4wCgojIFVzYWdlOiBta2RpZmYg W09QVElPTl0uLi4gW0ZJTEVdLi4uCiMgTWFrZSBhIHBhdGNoIHN1aXRhYmxl IGZvciBzdWJtaXNzaW9uIHRvIHRoZSBHQ0MgcGF0Y2ggdGVzdGVyLgojIFRo ZSBkaWZmIGlzIG1hZGUgcmVsYXRpdmUgdG8gdGhlIHRvcCBvZiB0aGUgdHJl ZSwgYnV0IHRoZSBGSUxFCiMgb3B0aW9ucyBhcmUgcmVsYXRpdmUgdGhlIHdv cmtpbmcgZGlyZWN0b3J5LCBzbyB0aGlzIGNhbiBiZSBpbnZva2VkCiMgZXhh Y3RseSBhcyBvbmUgd291bGQgaW52b2tlICJzdm4gZGlmZiIgb3IgImdpdCBk aWZmIiwgZGVwZW5kaW5nIG9uCiMgdGhlIHdvcmtpbmcgdHJlZS4KCiMgICAt LWVtYWlsPUFERFIgICAgICBlbWFpbCBhZGRyZXNzIHRvIHVzZSAoZGVmYXVs dCBjdXJyZW50dXNlckBnY2MuZ251Lm9yZykKIyAgIC0tYnJhbmNoPUJSQU5D SCAgIGJyYW5jaCB0byB1c2UgKGRlZmF1bHQgZnJvbSB3b3JraW5nIGRpcmVj dG9yeSkKIyAgIC0tcmV2aXNpb249UkVWICAgIHJldmlzaW9uIHRvIHVzZSAo ZGVmYXVsdCBmcm9tIHdvcmtpbmcgZGlyZWN0b3J5KQojICAgLS1jb25maWc9 T1BUU1RSICAgc2V0IGNvbmZpZ3VyZSBvcHRpb25zIChkZWZhdWx0IG5vbmUp CiMgICAtLW1ha2U9T1BUU1RSICAgICBzZXQgbWFrZSBvcHRpb25zIChkZWZh dWx0IG5vbmUpCiMgICAtLWNoZWNrPU9QVFNUUiAgICBzZXQgY2hlY2sgb3B0 aW9ucyAoZGVmYXVsdCBub25lKQoKIyAgIC0taGVscCAgICAgICAgICAgIHBy aW50IHRoaXMgaGVscCwgdGhlbiBleGl0CiMgICAtLXZlcnNpb24gICAgICAg ICBwcmludCB2ZXJzaW9uIG51bWJlciwgdGhlbiBleGl0CgojIFVucmVjb2du aXplZCBvcHRpb25zIGFyZSBhc3N1bWVkIHRvIGJlIG9wdGlvbnMgdG8gInN2 biBkaWZmIgojIG9yICJnaXQgZGlmZiIuCgppZiB0ZXN0IC1kIC5zdm47IHRo ZW4KICAgIHZjPXN2bgplbGlmIGdpdCBzdGF0dXMgLWEgPiAvZGV2L251bGwg Mj4mMTsgdGhlbgogICAgdmM9Z2l0CmVsc2UKICAgIGVjaG8gIiRuYW1lOiBu b3QgaW4gU1ZOIG9yIGdpdC1jb250cm9sbGVkIGRpcmVjdG9yeSIgMT4mMgog ICAgZXhpdCAxCmZpCgpuYW1lPW1rZGlmZgoKZGlmZm9wdHM9CmVtYWlsPWBp ZCAtdW5gQGdjYy5nbnUub3JnCmJyYW5jaD0KcmV2aXNpb249CmZpbGVzPQpj b25maWdvcHRzPQptYWtlb3B0cz0KY2hlY2tvcHRzPQoKIyBQYXJzaW5nIGxv b3AgdGFrZW4gZnJvbSBBbGV4YW5kcmUgT2xpdmEncyBjdnMgc2NyaXB0cy4K d2hpbGUgdGVzdCAkIyAtZ3QgMDsgZG8KICAgIGNhc2UgIiQxIiBpbgogICAg LXZ8LS12ZXJzaW9uKQoJc2VkICcvXiMgJyRuYW1lJyB2ZXJzaW9uIC8geyBz L14jIC8vOyBwOyB9OyBkJyA8ICQwCglleGl0IDAKCTs7CiAgICAtXD98LWgp CglzZWQgJy9eIyB1c2FnZTovIHsgcy9eIyAvLzsgcDsgfTsgZCcgPCAkMCAm JgoJZWNobwoJZWNobyAicnVuIFxgJG5hbWUgLS1oZWxwIHwgbW9yZScgZm9y IGZ1bGwgdXNhZ2UiCglleGl0IDAKCTs7CiAgICAtLWhlbHApCglzZWQgJy9e IyAnJG5hbWUnIHZlcnNpb24gLywvXlteI10vIHsgL15bXiNdLyBkOyBzL14j IC8vOyBwOyB9OyBkJyA8ICQwCglleGl0IDAKCTs7CiAgICAtLWVtYWlsPSop CiAgICAgICAgZW1haWw9YGVjaG8gIiQxIiB8IHNlZCAtZSAncywtLWVtYWls PSwsJ2AKCTs7CiAgICAtLWJyYW5jaD0qKQogICAgICAgIGJyYW5jaD1gZWNo byAiJDEiIHwgc2VkIC1lICdzLC0tYnJhbmNoPSwsJ2AKCTs7CiAgICAtLXJl dmlzaW9uPSopCiAgICAgICAgcmV2aXNpb249YGVjaG8gIiQxIiB8IHNlZCAt ZSAncywtLXJldmlzaW9uPSwsJ2AKCTs7CiAgICAtLWNoZWNrPSopCiAgICAg ICAgY2hlY2tvcHRzPWBlY2hvICIkMSIgfCBzZWQgLWUgJ3MsLS1jaGVjaz0s LCdgCgk7OwogICAgLS1tYWtlPSopCiAgICAgICAgbWFrZW9wdHM9YGVjaG8g IiQxIiB8IHNlZCAtZSAncywtLW1ha2U9LCwnYAoJOzsKICAgIC0tY29uZmln PSopCiAgICAgICAgY29uZmlnb3B0cz1gZWNobyAiJDEiIHwgc2VkIC1lICdz LC0tY29uZmlnPSwsJ2AKCTs7CiAgICAtKikKCWRpZmZvcHRzPSIkZGlmZm9w dHMgJDEiCgk7OwogICAgKikKICAgICAgICBmaWxlcz0iJGZpbGVzICQxIgoJ OzsKICAgIGVzYWMKICAgIHNoaWZ0CmRvbmUKCmlmIHRlc3QgJHZjID0gc3Zu OyB0aGVuCiAgICBpZiB0ZXN0IC16ICIkYnJhbmNoIjsgdGhlbgoJcmVwbz1g c3ZuIGluZm8gfCBncmVwICdeVVJMOicgfCBzZWQgLWUgJ3MsXlVSTDogLCwn YAoJY2FzZSAkcmVwbyBpbgoJICAgICovZ2NjLmdudS5vcmcvc3ZuL2djYy90 cnVuayopCgkJYnJhbmNoPXRydW5rCgkJOzsKCSAgICAqL2djYy5nbnUub3Jn L3N2bi9nY2MvYnJhbmNoZXMvKikKCQlicmFuY2g9YGVjaG8gJHJlcG8gfCBz ZWQgJ3MsLiovYnJhbmNoZXMvXChbXi9dKlwpLiokLFwxLCdgCgkJOzsKCSAg ICAqKQoJCWVjaG8gIiRuYW1lOiB1bnJlY29nbml6ZWQgcmVwb3NpdG9yeSwg dXNlIC0tYnJhbmNoOiAkcmVwbyIgMT4mMgoJCWV4aXQgMQoJCTs7Cgllc2Fj CiAgICBmaQoKICAgIGlmIHRlc3QgLXogIiRyZXZpc2lvbiI7IHRoZW4KCXJl dmlzaW9uPWBzdm4gaW5mbyB8IGdyZXAgJ15SZXZpc2lvbjonIHwgc2VkIC1l ICdzLF5SZXZpc2lvbjogLCwnYAogICAgZmkKZWxzZQogICAgaWYgdGVzdCAt eiAiJHJldmlzaW9uIjsgdGhlbgoJcmV2aXNpb249YGdpdCBsb2cgfCBzZWQg LWUgJ3MsXmNvbW1pdCAqLCwnIC1lIDFxYAogICAgZmkKZmkKCgpoZXJlPWBw d2RgCm9yaWc9JGhlcmUKZGlybmFtZT0KCmNkaWUoKSB7CiAgICBjZCAkMSB8 fCB7CgllY2hvICIkbmFtZTogY291bGRuJ3QgY2QgdG8gJDEgZnJvbSBgcHdk YCIgMT4mMgoJZXhpdCAxCiAgICB9Cn0KCmlmIHRlc3QgJHZjID0gc3ZuOyB0 aGVuCiAgICB3aGlsZSB0ZXN0IC1lIC4uLy5zdm47IGRvCgljZGllIC4uCglu ZXh0PWBiYXNlbmFtZSAiJGhlcmUiYAoJaGVyZT1gZGlybmFtZSAiJGhlcmUi YAoJaWYgdGVzdCAteiAiJGRpcm5hbWUiOyB0aGVuCgkgICAgZGlybmFtZT0i JG5leHQvIgoJZWxzZQoJICAgIGRpcm5hbWU9IiRuZXh0LyRkaXJuYW1lIgoJ ZmkKICAgIGRvbmUKICAgIHByb2plY3R0ZXN0ZGlyPS4KZWxzZQogICAgIyBX ZSB3YW50IHRvIGZpbmQgdGhlIHByb2plY3QgdHlwZSwgYnV0IHdlIGRvbid0 IGhhdmUgdG8gYm90aGVyCiAgICAjIHdpdGggY29tcHV0aW5nIHRoZSBkaXJl Y3RvcnkgcHJvcGVybHkgLS0gZ2l0IGRpZmYgaGFuZGxlcyB0aGlzCiAgICAj IGl0c2VsZi4KICAgIHNhdmU9YHB3ZGAKICAgIHdoaWxlICEgdGVzdCAtZSAu Z2l0OyBkbwoJY2RpZSAuLgogICAgZG9uZQogICAgcHJvamVjdHRlc3RkaXI9 YHB3ZGAKICAgIGNkICRzYXZlCmZpCgppZiB0ZXN0IC1kICRwcm9qZWN0dGVz dGRpci9nY2M7IHRoZW4KICAgIHByb2plY3R0eXBlPWdjYwplbGlmIHRlc3Qg LWQgJHByb2plY3R0ZXN0ZGlyL2dkYjsgdGhlbgogICAgcHJvamVjdHR5cGU9 Z2RiCmVsc2UKICAgIGVjaG8gIiRuYW1lOiBjb3VsZG4ndCBkZXRlcm1pbmUg cHJvamVjdCB0eXBlIGluICRwcm9qZWN0dGVzdGRpciIgMT4mMgogICAgZXhp dCAxCmZpCgppZiB0ZXN0IC16ICIkZmlsZXMiOyB0aGVuCiAgICBmaWxlcz0u CmZpCgojIFdlIGRvbid0IHVzZSBmaWx0ZXJkaWZmIC1hZGRwcmVmaXggc2lu Y2UgdGhhdCBkb2VzIG5vdCBzZWVtIHRvCiMgaGFuZGxlIEluZGV4OiBsaW5l cy4KbmV3ZmlsZXM9CmZvciBmaWxlIGluICRmaWxlczsgZG8KICAgIG5ld2Zp bGVzPSIkbmV3ZmlsZXMgJGRpcm5hbWUkZmlsZSIKZG9uZQoKZWNobyAicHJv amVjdHR5cGU6JHByb2plY3R0eXBlIgplY2hvICJlbWFpbDokZW1haWwiCmlm IHRlc3QgJHZjID0gc3ZuOyB0aGVuCiAgICBlY2hvICJicmFuY2g6JGJyYW5j aCIKZmkKZWNobyAicmV2aXNpb246JHJldmlzaW9uIgplY2hvICJjb25maWd1 cmU6JGNvbmZpZ29wdHMiCmVjaG8gIm1ha2U6JG1ha2VvcHRzIgplY2hvICJj aGVjazokY2hlY2tvcHRzIgplY2hvCiR2YyBkaWZmICRkaWZmb3B0cyAkbmV3 ZmlsZXMK --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=submit-patch Content-Transfer-Encoding: base64 Content-Description: submit-patch Content-length: 3734 IyEgL2Jpbi9zaAoKIyBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDggRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uCgojIFRoaXMgc2NyaXB0IGlzIEZyZWUgU29m dHdhcmUsIGFuZCBpdCBjYW4gYmUgY29waWVkLCBkaXN0cmlidXRlZCBhbmQK IyBtb2RpZmllZCBhcyBkZWZpbmVkIGluIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZS4gIEEgY29weSBvZgojIGl0cyBsaWNlbnNlIGNhbiBiZSBk b3dubG9hZGVkIGZyb20gaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dw bC5odG1sCgojIFdyaXR0ZW4gYnkgVG9tIFRyb21leSA8dHJvbWV5QHJlZGhh dC5jb20+CgojIHN1Ym1pdC1wYXRjaCB2ZXJzaW9uIDIuMAoKIyBVc2FnZTog c3VibWl0LXBhdGNoIFtPUFRJT05dLi4uIFBBVENILUZJTEUgW05BTUVdCiMg UmVncmVzc2lvbiB0ZXN0IGEgR0NDIHBhdGNoLgoKIyAgIC0taG9zdD1IT1NU ICAgICAgIGhvc3QgdG8gdXNlCiMgICAtLWRpcj1ESVIgICAgICAgICBkaXJl Y3RvcnkgdG8gdXNlIG9uIGhvc3QKCiMgICAtLWhlbHAgICAgICAgICAgICBw cmludCB0aGlzIGhlbHAsIHRoZW4gZXhpdAojICAgLS12ZXJzaW9uICAgICAg ICAgcHJpbnQgdmVyc2lvbiBudW1iZXIsIHRoZW4gZXhpdAoKIyBJZiBOQU1F IGlzIG5vdCBnaXZlbiwgdGhlIGJhc2VuYW1lIG9mIHRoZSBwYXRjaCBmaWxl IGlzIHVzZWQgYXMKIyB0aGUgcGF0Y2ggbmFtZS4KbmFtZT1zdWJtaXQtcGF0 Y2gKcmVwZWF0PSJ0ZXN0ICQjIC1ndCAwIgoKaG9zdD1nY2MxMS5mc2ZmcmFu Y2Uub3JnCiMgVGhpcyBpcyB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgcGF0Y2gg ZGlyIGlmIC0tZGlyIGlzIG5vdCBnaXZlbi4KcGF0Y2hiYXNlPS9ob21lL3Ry b21leS9hdXRvLXRlc3QtCgojIFBhcnNpbmcgbG9vcCB0YWtlbiBmcm9tIEFs ZXhhbmRyZSBPbGl2YSdzIGN2cyBzY3JpcHRzLgp3aGlsZSAkcmVwZWF0OyBk bwogICAgY2FzZSAiJDEiIGluCiAgICAtdnwtLXZlcnNpb24pCglzZWQgJy9e IyAnJG5hbWUnIHZlcnNpb24gLyB7IHMvXiMgLy87IHA7IH07IGQnIDwgJDAK CWV4aXQgMAoJOzsKICAgIC1cP3wtaCkKCXNlZCAnL14jIHVzYWdlOi8geyBz L14jIC8vOyBwOyB9OyBkJyA8ICQwICYmCgllY2hvCgllY2hvICJydW4gXGAk bmFtZSAtLWhlbHAgfCBtb3JlJyBmb3IgZnVsbCB1c2FnZSIKCWV4aXQgMAoJ OzsKICAgIC0taGVscCkKCXNlZCAnL14jICckbmFtZScgdmVyc2lvbiAvLC9e W14jXS8geyAvXlteI10vIGQ7IHMvXiMgLy87IHA7IH07IGQnIDwgJDAKCWV4 aXQgMAoJOzsKICAgIC0taG9zdD0qKQogICAgICAgIGhvc3Q9YGVjaG8gIiQx IiB8IHNlZCAtZSAncywtLWhvc3Q9LCwnYAoJc2hpZnQKCTs7CiAgICAtLWRp cj0qKQogICAgICAgIHBhdGNoZGlyPWBlY2hvICIkMSIgfCBzZWQgLWUgJ3Ms LS1kaXI9LCwnYAoJc2hpZnQKCTs7CiAgICAtLSkKCXNoaWZ0CglyZXBlYXQ9 ZmFsc2UKCTs7CiAgICAtKikKCWVjaG8gIiRuYW1lOiB1bnJlY29nbml6ZWQg b3B0aW9uICckMSciIDE+JjIKCWVjaG8gIiRuYW1lOiBUcnkgJyRuYW1lIC0t aGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24iIDE+JjIKCWV4aXQgMQoJOzsK ICAgICopCglyZXBlYXQ9ZmFsc2UKCTs7CiAgICBlc2FjCmRvbmUKCmZpbGU9 JDEKc2hpZnQKaWYgdGVzdCAteiAiJGZpbGUiOyB0aGVuCiAgIChzZWQgJy9e IyB1c2FnZTovIHsgcy9eIyAvLzsgcDsgfTsgZCcgPCAkMCAmJgogICAgICBl Y2hvCiAgICAgIGVjaG8gInJ1biBcYCRuYW1lIC0taGVscCB8IG1vcmUnIGZv ciBmdWxsIHVzYWdlIikgMT4mMgogICAgZXhpdCAxCmZpCgpwYXRjaD0kMQpz aGlmdAppZiB0ZXN0IC16ICIkcGF0Y2giOyB0aGVuCiAgIGlmIHRlc3QgIngk ZmlsZSIgPSAieC0iOyB0aGVuCiAgICAgIGVjaG8gIiRuYW1lOiBOQU1FIGFy Z3VtZW50IHJlcXVpcmVkIGlmIHBhdGNoIGlzIGZyb20gc3RkaW4iIDE+JjIK ICAgICAgZXhpdCAxCiAgIGVsc2UKICAgICAgcGF0Y2g9YGJhc2VuYW1lICRm aWxlYAogICBmaQpmaQoKaWYgdGVzdCAieCRmaWxlIiAhPSAieC0iOyB0aGVu CiAgICBpZiAhIGdyZXAgLXMgIl5lbWFpbDoiICRmaWxlID4gL2Rldi9udWxs OyB0aGVuCgllY2hvICIkbmFtZTogbm8gZW1haWw6IGxpbmUgaW4gJGZpbGU7 IGRpZCB5b3UgdXNlIG1rZGlmZj8iIDE+JjIKCWV4aXQgMQogICAgZmkKZmkK CmlmIHRlc3QgLXogIiRwYXRjaGRpciI7IHRoZW4KICAgIGlmIHRlc3QgIngk ZmlsZSIgPSAieC0iOyB0aGVuCgllY2hvICIkbmFtZTogLS1kaXIgcmVxdWly ZWQgaWYgcGF0Y2ggaXMgZnJvbSBzdGRpbiIgMT4mMgoJZXhpdCAxCiAgICBm aQogICAgcHJvamVjdD1gc2VkIC1uIC1lICdzL15wcm9qZWN0dHlwZTovL3An IC1lICcvXiQvcScgJGZpbGVgCiAgICBwYXRjaGRpcj0kcGF0Y2hiYXNlJHBy b2plY3QvcGF0Y2hlcwpmaQoKIyBPbmx5IHJ1biBmaWx0ZXJkaWZmIG9uIGEg a25vd24gbm9uLWdpdCBwYXRjaC4KZmlsdGVyPWNhdAppZiB0ZXN0ICJ4JGZp bGUiICE9ICJ4LSI7IHRoZW4KICAgIGlmICEgZ3JlcCAtcyAiZGlmZiAtLWdp dCIgJGZpbGUgPiAvZGV2L251bGw7IHRoZW4KCWZpbHRlcj0iZmlsdGVyZGlm ZiAteCAnKkNoYW5nZUxvZyonIgogICAgZmkKZmkKCiMgRklYTUU6IG1heSBi ZSBuaWNlIHRvIGF1dG8tc3RhcnQgdGhlIHBhdGNoIHRlc3Rlci4KIyBVc2Ug J2NhdCcgaGVyZSBzbyB3ZSBjYW4gYWNjZXB0ICItIi4KY2F0ICRmaWxlIHwg JGZpbHRlciB8IHNzaCAkaG9zdCBjYXQgJz4nICRwYXRjaGRpci9gaWQgLXVu YC0kcGF0Y2gK --=-=-=--