delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org 593B5384402F |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; |
s=default; t=1593775374; | |
bh=UozhqjGXRQX+Op3cDGCIQ07edRCa101KHCXn/KLUvrw=; | |
h=Date:To:Subject:In-Reply-To:References:List-Id:List-Unsubscribe: | |
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: | |
From; | |
b=KMzjwUW84p/Ul4/OuGZg0Q+yJDBnAOB2qzearRKzcc3ACtvSdD/Gij+A3+EJhpDV1 | |
EOvM0NbGrkM9x3F5hl0baS1VgN3s/0oooJYebmpz1sEYtKHxUrHEldK0tg4Sk/mjnY | |
zkjhUNeg/CFyDmcQuwzmf5y0nbBmLFDaR2PdbvH4= | |
X-Original-To: | cygwin AT cygwin DOT com |
Delivered-To: | cygwin AT cygwin DOT com |
DMARC-Filter: | OpenDMARC Filter v1.3.2 sourceware.org 4EF4B3858D34 |
X-Google-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
d=1e100.net; s=20161025; | |
h=x-gm-message-state:date:from:to:subject:in-reply-to:references | |
:message-id:mime-version:content-transfer-encoding; | |
bh=frf/JX6VV+supG15PRqQaXzy5rqRntGDOLDDE1s6TMM=; | |
b=aeBCVi417ec9RHxroklQ6tCLSdZNZucBNus46YtWO2g6Ech8hN7D4DeXl3u5r08Jpp | |
y8hRHIUgHYi534mhlCOydYdD6qigwXBj2jPUvADKZdPCJSicQHe/E22rKt/v906Dw7bR | |
mXVpvSStoloPGghNYIt0WLjsNnD2UmsYDmLk/Dmn+DTqf7C+8eaFkrAlzUwluO135Xjy | |
4IfrXg97Kn++GlguwiVEjAf5oTXgW/IGK2bZMwDdpeKxx9MOeIpjR5BZ5Jkw3HgakiIC | |
uDm7DRRXOm8J8q7tA2O2uLr/bLdWYjGYm7sVG3XG2lxYN5fHH0rOXZlRBObWC3w1WXzf | |
UUpQ== | |
X-Gm-Message-State: | AOAM53103qq15R1BMq+Jo4Iic9s2fjbWkFdbUjLHOdTnMJzTJ4Aj2Dr9 |
poQYKtBFqcR3sxDBixM4imJgN+AU | |
X-Google-Smtp-Source: | ABdhPJzw59aVyJh1Rdk0C+TevcHL1FDORN6gGYRNMbEK6YUD0KRbpVV/vgwAbgSjYEAEfHcV9TFxSg== |
X-Received: | by 2002:a17:90a:7ac6:: with SMTP id |
b6mr28334948pjl.213.1593775370062; | |
Fri, 03 Jul 2020 04:22:50 -0700 (PDT) | |
Date: | Fri, 03 Jul 2020 20:22:48 +0900 |
To: | cygwin AT cygwin DOT com |
Subject: | Re: pdfjam in texlive-collection-binextra-20200406-1 doesn't work |
In-Reply-To: | <20200703192356.8D33.50F79699@gmail.com> |
References: | <bfbb24c3-e83b-ea51-e391-435ea2930299 AT cornell DOT edu> |
<20200703192356 DOT 8D33 DOT 50F79699 AT gmail DOT com> | |
Message-Id: | <20200703202245.79A2.50F79699@gmail.com> |
MIME-Version: | 1.0 |
X-Mailer: | Becky! ver. 2.75.01 [ja] |
X-Antivirus: | Avast (VPS 200702-0, 2020/07/02), Outbound message |
X-Antivirus-Status: | Clean |
X-Spam-Status: | No, score=-1.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, |
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, | |
SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 | |
X-Spam-Checker-Version: | SpamAssassin 3.4.2 (2018-09-13) on |
server2.sourceware.org | |
X-BeenThere: | cygwin AT cygwin DOT com |
X-Mailman-Version: | 2.1.29 |
List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
List-Unsubscribe: | <http://cygwin.com/mailman/options/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe> | |
List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
List-Subscribe: | <http://cygwin.com/mailman/listinfo/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
From: | Lemures Lemniscati via Cygwin <cygwin AT cygwin DOT com> |
Reply-To: | Lemures Lemniscati <lemures DOT lemniscati AT gmail DOT com> |
Errors-To: | cygwin-bounces AT cygwin DOT com |
Sender: | "Cygwin" <cygwin-bounces AT cygwin DOT com> |
--------_5EFF1224000000007999_MULTIPART_MIXED_ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 RGF0ZTogRnJpLCAwMyBKdWwgMjAyMCAxOToyMzo1OCArMDkwMA0KRnJvbTogTGVtdXJlcyBMZW1u aXNjYXRpDQoNCj4gRGF0ZTogV2VkLCAyNyBNYXkgMjAyMCAwOTo0Njo0NiAtMDQwMA0KPiBGcm9t OiBLZW4gQnJvd24gdmlhIEN5Z3dpbiA8Y3lnd2luQGN5Z3dpbi5jb20+DQo+IA0KPiA+IE9uIDUv MjcvMjAyMCA5OjM1IEFNLCBMZW11cmVzIExlbW5pc2NhdGkgdmlhIEN5Z3dpbiB3cm90ZToNCj4g PiA+IEhpICENCj4gPiA+DQo+ID4gPiBwZGZqYW0gaW4gdGV4bGl2ZS1jb2xsZWN0aW9uLWJpbmV4 dHJhLTIwMjAwNDA2LTEgZG9lc24ndCB3b3JrLg0KPiA+ID4NCj4gPiA+IEV2ZW4gYSBzaW1wbGUg aW52b2NhdGlvbiBzdWNoIGFzDQo+ID4gPg0KPiA+ID4gICAgICBwZGZqYW0gYS5wZGYNCj4gPiA+ DQo+ID4gPiBoYW5ncyB3aGlsZSB3YWl0aW5nIGZvciBpbnB1dCBmcm9tIHN0ZGluLg0KPiA+ID4N Cj4gPiA+DQo+ID4gPiBwZGZqYW0gMy4wMyBpbiBUZVggTGl2ZSAyMDIwIGhhdmUgZ290IGEgbWFq b3IgdXBkYXRlIHNpbmNlIFRlWCBMaXZlIDIwMTkuDQo+ID4gPiBUaGVyZSB3YXMgYSBuZXcgY2hh bGxlbmdlIHRvIG1ha2UgcGRmamFtIHdvcmsgd2l0aCBNaUtUZVggb24gV2luZG93cyB0aHJvdWdo IEN5Z3dpbi4NCj4gPiA+IEJ1dCBpdCBpbnRyb2R1Y2VkIGEgYnVnIHRoYXQgbWFrZSBwZGZqYW0g ZmFpbCB0byB3b3JrIHdpdGggcHVyZSBDeWd3aW4gVGVYIExpdmUgcGFja2FnZXMuDQo+ID4gPiBU aGlzIGlzIGEgc2l0dWF0aW9uLg0KPiA+ID4NCj4gPiA+IEkgbWFkZSBhIHB1bGwtcmVxdWVzdCB0 byBmaXggMTArIGRheXMgYWdvLCBidXQgaXQgaXMgbm90IG1lcmdlZCB5ZXQsIGFuZCBzdGlsbCBJ IGRvbid0IGtub3cgd2hldGhlciBpdCB3aWxsIGJlIGFjY2VwdGVkIG9yIG5vdDoNCj4gPiA+DQo+ ID4gPiAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9EYXZpZEZpcnRoL3BkZmphbS9wdWxsLzIyDQo+ ID4gPg0KPiA+ID4gU28sIGhlcmUsIEkgYXR0YWNoIGEgZmlsZSB0byByZXBsYWNlIC91c3Ivc2hh cmUvdGV4bWYtZGlzdC9zY3JpcHRzL3BkZmphbS9wZGZqYW0gZm9yIGNvbnZlbmllbmNlLg0KPiA+ IA0KPiA+IFRoYW5rcy4gIEknbGwga2VlcCBhbiBleWUgb24gdGhlIFBSLiAgSXQgaXQgZG9lc24n dCBnZXQgbWVyZ2VkIHdpdGhpbiB0aGUgbmV4dCBmZXcgd2Vla3MsIEknbGwganVzdCBhcHBseSB5 b3VyIHBhdGNoIGxvY2FsbHkgYW5kIG1ha2UgYSBuZXcgcmVsZWFzZS4NCj4gPiANCj4gPiBLZW4N Cj4gDQo+IEhpLA0KPiANCj4gV2lsbCB5b3UgYWRvcHQgYSBmaXhlZCB2ZXJzaW9uIG9mIHBkZmph bSAzLjAzIGZvciBjeWd3aW4/IChzaW5jZSB0aGUgYXV0aG9yIHNlZW1zIHRvbyBidXN5IHRvIG1l cmdlIGl0KS4NCj4gDQo+ICgxKSBQbGVhc2UgYWRvcHQgYSB2ZXJzaW9uIGh0dHBzOi8vZ2l0aHVi LmNvbS9EYXZpZEZpcnRoL3BkZmphbS9wdWxsLzIyICwgYXQgbGVhc3QuDQo+IA0KPiAoMikgT3Is IHBsZWFzZSBhZG9wdCBhIHZlcnNpb24gaHR0cHM6Ly9naXRodWIuY29tL0RhdmlkRmlydGgvcGRm amFtL3B1bGwvMjYgLCBpZiB5b3UgdGhpbmsgdGhlIGNvbW1pdCBodHRwczovL2dpdGh1Yi5jb20v RGF2aWRGaXJ0aC9wZGZqYW0vcHVsbC8yNi9jb21taXRzL2Q0MDI1NzMyYjBmY2EzNjk1MGFlOWRl NjBiOWJkMjU2ZGEwYjc2MTcgaXMgZmF2b3JhYmxlLg0KPiANCg0KQSBwYXRjaGVkIHZlcnNpb24g YXQgaHR0cHM6Ly9naXRodWIuY29tL0RhdmlkRmlydGgvcGRmamFtL3B1bGwvMjIgaXMgYXR0YWNo ZWQgdG8gdGhlIG1haWwgaHR0cHM6Ly9jeWd3aW4uY29tL3BpcGVybWFpbC9jeWd3aW4vMjAyMC1N YXkvMjQ1MDE2Lmh0bWwgLg0KDQpBIHBhdGNoZWQgdmVyc2lvbiBhdCBodHRwczovL2dpdGh1Yi5j b20vRGF2aWRGaXJ0aC9wZGZqYW0vcHVsbC8yNiBpcyBhdHRhY2hlZCB0byB0aGlzIG1haWwuDQoN ClJlZ2FyZHMsDQoNCkxlbQ0K --------_5EFF1224000000007999_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="pdfjam" Content-Disposition: attachment; filename="pdfjam" Content-Transfer-Encoding: base64 IyEvYmluL3NoCnZlcnNpb249My4wM19wYXRjaGVkXzAwZTA1OTQKIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoj IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICMjCiMjICBwZGZqYW06IEEgc2hlbGwtc2NyaXB0IGludGVyZmFjZSB0byB0 aGUgInBkZnBhZ2VzIiBMYVRlWCBwYWNrYWdlICAgIyMKIyMgIC0tLS0tLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIwojIyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICMjCiMjICBBdXRob3I6IERhdmlkIEZpcnRoIChodHRwOi8vd2Fyd2ljay5hYy51ay9k ZmlydGgpICAgICAgICAgICAgICAgICAgIyMKIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIwojIyAgVXNhZ2U6IHNl ZSBodHRwczovL2dpdGh1Yi5jb20vRGF2aWRGaXJ0aC9wZGZqYW0gICAgICAgICAgICAgICAgICAg ICMjCiMjICAgICAgICAgb3IgInBkZmphbSAtLWhlbHAiICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyMKIyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIwojIyAgUmVsaWVzIG9uOiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCiMj ICAtLSBwZGZsYXRleCAob3IgeGVsYXRleCBvciBsdWFsYXRleCkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyMKIyMgIC0tIHRoZSAncGRmcGFnZXMnIHBhY2thZ2UgZm9yIExhVGVYIChp ZGVhbGx5IHZlcnNpb24gPj0gMC40ZikgICAgICAjIwojIyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCiMjICBMaWNl bnNlOiBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyLiAgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoICAg ICAgICAgIyMKIyMgIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkgb2YgZml0bmVzcyBmb3IgYW55IHB1 cnBvc2UgYXQgYWxsOyBpZiB5b3UgICAjIwojIyAgZG8gbm90IGFjY2VwdCB0aGF0LCB0aGVuIHlv dSBtdXN0IG5vdCB1c2UgaXQuICAgICAgICAgICAgICAgICAgICAgICMjCiMjICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IyMKIyMgIFRoZSBwYXRoIHNlYXJjaGVkIGZvciBzaXRlLXdpZGUgY29uZmlndXJhdGlvbiBmaWxl cyBjYW4gYmUgc2V0ICAgICAjIwojIyAgYnkgZWRpdGluZyB0aGUgZm9sbG93aW5nIHZhcmlhYmxl OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCiMjICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMKICAg IGNvbmZpZ3BhdGg9Jy9ldGM6L3Vzci9zaGFyZS9ldGM6L3Vzci9sb2NhbC9zaGFyZTovdXNyL2xv Y2FsL2V0YycgICAjIwojIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCiMjICBOb3RoaW5nIGVsc2UgaW4gdGhpcyBm aWxlIHNob3VsZCBuZWVkIHRvIGJlIGNoYW5nZWQuICAgICAgICAgICAgICAgIyMKIyMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjCiMjICBIRUxQIFRFWFQKIyMKIyMgIERlZmluZXMg dGhlIG91dHB1dCBvZiAncGRmamFtIC0taGVscCcKIyMKaGVscHRleHQ9IgpwZGZqYW0gaXMgYSBz aGVsbC1zY3JpcHQgZnJvbnQgZW5kIHRvIHRoZSBMYVRlWCAncGRmcGFnZXMnIHBhY2thZ2UgKGZv cgp3aGljaCwgc2VlIGh0dHA6Ly93d3cuY3Rhbi5vcmcvdGV4LWFyY2hpdmUvbWFjcm9zL2xhdGV4 L2NvbnRyaWIvcGRmcGFnZXMpLgoKVXNhZ2U6IHBkZmphbSBbT1BUSU9OU10gWy0tXSBbRklMRTEg W1NFTDFdXSBbRklMRTIgW1NFTDJdXS4uLgp3aGVyZQoqICdGSUxFMScgZXRjLiBhcmUgUERGIGZp bGVzIChKUEcgYW5kIFBORyBmaWxlcyBhcmUgYWxzbyBhbGxvd2VkKS4gIEZvciAKICAgaW5wdXQg ZnJvbSAvZGV2L3N0ZGluLCB1c2UgdGhlIHNwZWNpYWwgbmFtZSAnL2Rldi9zdGRpbicgaW4gcGxh Y2Ugb2YgYW55IAogICBvZiBGSUxFMSwgRklMRTIsIGV0YzogdGhpcyBjYW4gYmUgbWl4ZWQgd2l0 aCAncmVhbCcgZmlsZXMgYXMgbmVlZGVkLCB0byAKICAgYWxsb3cgaW5wdXQgdGhyb3VnaCBhIHBp cGUgKG5vdGUgdGhhdCBpZiAvZGV2L3N0ZGluIGlzIGNvbm5lY3RlZCB0byB0dHksIAogICBhbiBl cnJvciByZXN1bHRzKS4gIElmICdGSUxFMScgaXMgYWJzZW50LCBwZGZqYW0gd2lsbCB1c2UgJy9k ZXYvc3RkaW4nIAogICAoYW5kIHdpbGwgdXNlICctJyBmb3IgdGhlIHBhZ2Ugc2VsZWN0aW9uIC0t IHNlZSBuZXh0IGl0ZW0pLgoqICdTRUwxJyBpcyBhIHBhZ2Ugc2VsZWN0aW9uIGZvciBGSUxFMSwg ZXRjLgogICBUbyBzZWxlY3QgYWxsIHBhZ2VzICh0aGUgZGVmYXVsdCkgdXNlICctJy4gIFNlZSB0 aGUgcGRmcGFnZXMgbWFudWFsIGZvcgogICBtb3JlIGRldGFpbHMuICBBbiBleGFtcGxlOgogICAg ICAgICAgLi4uIGZpbGUxICd7fSwyLDQtNiw5LScgLi4uCiAgIG1ha2VzIGFuIGVtcHR5IHBhZ2Us IGZvbGxvd2VkIGJ5IHBhZ2VzIDIsNCw1LDYgb2YgZmlsZTEsIGZvbGxvd2VkIGJ5IHBhZ2VzCiAg IDkgb253YXJkcyAodXAgdG8gdGhlIGVuZCBvZiBmaWxlMSkuCiAgIEEgcGFnZSBzZWxlY3Rpb24g Y2FuIGJlIGFwcGxpZWQgdG8gbW9yZSB0aGFuIG9uZSBmaWxlLCBlLmcuLAogICAgICAgICAgLi4u IGZpbGUxIGZpbGUyIGZpbGUzIDEtNyAuLi4KICAgYXBwbGllcyBwYWdlIHNlbGVjdGlvbiAnMS03 JyB0byBhbGwgdGhyZWUgZmlsZXM7IGJ1dCBmb3IgZXhhbXBsZQogICAgICAgICAgLi4uIGZpbGUx IGZpbGUyIDItIGZpbGUzIDEtNyAuLi4KICAgd291bGQgYXBwbHkgdGhlIHBhZ2Ugc2VsZWN0aW9u ICcyLScgdG8gZmlsZTEgYW5kIGZpbGUyLCBhbmQgJzEtNycKICAgdG8gZmlsZTMuICBBIHBhZ2Ug c2VsZWN0aW9uIGFwcGxpZXMgdG8gYWxsIHRoZSBmaWxlcyAqaW1tZWRpYXRlbHkqCiAgIHByZWNl ZGluZyBpdCBpbiB0aGUgYXJndW1lbnQgbGlzdC4gIEEgbWlzc2luZyBwYWdlIHNlbGVjdGlvbiBk ZWZhdWx0cyB0byAKICAgJy0nOyB0aGlzIGluY2x1ZGVzIHRoZSBjYXNlIHdoZXJlICdGSUxFMScg aXMgYWJzZW50IGFuZCBzbyAvZGV2L3N0ZGluIGdldHMgCiAgIHVzZWQgYnkgZGVmYXVsdC4KKiAn b3B0aW9ucycgYXJlIHBkZnBhZ2VzIHNwZWNpZmljYXRpb25zIGluIHRoZSBmb3JtICctLUtFWSBW QUxVRScgKHNlZQogICBiZWxvdyksIG9yCiAgICAgLS1oZWxwICAob3IgLWgsIG9yIC11KQogICAg ICAgICAgICAgICAgICBPdXRwdXQgdGhpcyB0ZXh0IG9ubHk7IG5vIHByb2Nlc3Npbmcgb2YgUERG IGZpbGVzLgogICAgIC0tY29uZmlncGF0aAogICAgICAgICAgICAgICAgICBPdXRwdXQgdGhlICdj b25maWdwYXRoJyB2YXJpYWJsZSBhbmQgZXhpdCBpbW1lZGlhdGVseTsgbm8KICAgICAgICAgICAg ICAgICAgcHJvY2Vzc2luZyBvZiBQREYgZmlsZXMuCiAgICAgLS12ZXJzaW9uIChvciAtVikKICAg ICAgICAgICAgICAgICAgT3V0cHV0IHRoZSB2ZXJzaW9uIG51bWJlciBvZiBwZGZqYW0gYW5kIGV4 aXQgaW1tZWRpYXRlbHk7IG5vCiAgICAgICAgICAgICAgICAgIHByb2Nlc3Npbmcgb2YgUERGIGZp bGVzLgogICAgIC0tcXVpZXQgIChvciAtcSkKICAgICAgICAgICAgICAgICAgU3VwcHJlc3MgdmVy Ym9zZSBjb21tZW50YXJ5IG9uIHByb2dyZXNzLgogICAgIC0tYmF0Y2gKICAgICAgICAgICAgICAg ICAgUnVuIHBkZmphbSBzZXF1ZW50aWFsbHkgb24gZWFjaCBpbnB1dCBmaWxlIGluIHR1cm4sIGFu ZAogICAgICAgICAgICAgICAgICBwcm9kdWNlIGEgc2VwYXJhdGUgb3V0cHV0IGZpbGUgZm9yIGVh Y2ggaW5wdXQsIHJhdGhlcgogICAgICAgICAgICAgICAgICB0aGFuIHRoZSBkZWZhdWx0IGJlaGF2 aW91ciAod2hpY2ggaXMgYSBzaW5nbGUgcnVuIG9mCiAgICAgICAgICAgICAgICAgIHBkZmphbSBv biBhbGwgb2YgdGhlIGlucHV0IGZpbGVzLCBwcm9kdWNpbmcgYSBzaW5nbGUKICAgICAgICAgICAg ICAgICAgb3V0cHV0IGRvY3VtZW50KS4gIEZvciB0aGUgbG9jYXRpb24gb2Ygb3V0cHV0CiAgICAg ICAgICAgICAgICAgIGZpbGVzLCBzZWUgJy0tb3V0ZmlsZScuICBUaGUgLS1iYXRjaCBvcHRpb24g Y2Fubm90IGJlCiAgICAgICAgICAgICAgICAgIHVzZWQgaW4gdGhlIGNhc2Ugb2YgaW5wdXQgZnJv bSBzdGRpbi4KICAgICAtLW91dGZpbGUgUEFUSCAgKG9yIC1vIFBBVEgpCiAgICAgICAgICAgICAg ICAgIFNwZWNpZmllcyB3aGVyZSB0aGUgb3V0cHV0IGZpbGUocykgd2lsbCBnby4gIElmIFBBVEgg aXMgYW4KICAgICAgICAgICAgICAgICAgZXhpc3RpbmcgZGlyZWN0b3J5LCBwZGZqYW0gd2lsbCBh dHRlbXB0IHRvIHdyaXRlIGl0cwogICAgICAgICAgICAgICAgICBvdXRwdXQgUERGIGZpbGUocykg dGhlcmUsIHdpdGggbmFtZShzKSBkZXJpdmVkIGZyb20gdGhlCiAgICAgICAgICAgICAgICAgIGlu cHV0IGZpbGUgbmFtZShzKSBhbmQgdGhlIC0tc3VmZml4IG9wdGlvbiAoc2VlIGJlbG93KS4KICAg ICAgICAgICAgICAgICAgT3RoZXJ3aXNlIHRoZSBvdXRwdXQgZmlsZSB3aWxsIGJlIFBBVEguICBJ ZiAnL2Rldi9zdGRpbicgCiAgICAgICAgICAgICAgICAgIGlzIHRoZSBvbmx5IG9yIGxhc3QgaW5w dXQgZmlsZSwgUEFUSCBjYW5ub3QgYmUgYSBkaXJlY3RvcnkuCiAgICAgICAgICAgICAgICAgIFlv dXIgY3VycmVudCBkZWZhdWx0IFBBVEggZm9yIG91dHB1dCBpczogCiAgICAgICAgICAgICAgICAg ICRvdXRGaWxlCiAgICAgLS1zdWZmaXggU1RSSU5HCiAgICAgICAgICAgICAgICAgIFNwZWNpZmll cyBhIHN1ZmZpeCBmb3Igb3V0cHV0IGZpbGUgbmFtZXMsIHRvIGJlIHVzZWQgd2hlbgogICAgICAg ICAgICAgICAgICAtLW91dGZpbGUgaXMgZWl0aGVyIChhKSBhIGRpcmVjdG9yeSwgb3IKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYikgbm90IHNwZWNpZmllZCBpbiBhIC0t YmF0Y2ggY2FsbC4KICAgICAgICAgICAgICAgICAgQSBnb29kIFNUUklORyBzaG91bGQgYmUgZGVz Y3JpcHRpdmU6IGZvciBleGFtcGxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAtLXN1ZmZp eCAncm90YXRlZCcKICAgICAgICAgICAgICAgICAgd291bGQgYXBwZW5kIHRoZSB0ZXh0ICctcm90 YXRlZCcgdG8gdGhlIG5hbWUgb2YgdGhlIGlucHV0CiAgICAgICAgICAgICAgICAgIGZpbGUgaW4g b3JkZXIgdG8gbWFrZSB0aGUgb3V0cHV0IGZpbGUgbmFtZSwgYXMgaW4KICAgICAgICAgICAgICAg ICAgJ215ZmlsZS1yb3RhdGVkLnBkZicuICBUaGUgU1RSSU5HIG11c3Qgbm90IGhhdmUgemVybwog ICAgICAgICAgICAgICAgICBsZW5ndGguCiAgICAgICAgICAgICAgICAgIFtEZWZhdWx0IGZvciB5 b3UgYXQgdGhpcyBzaXRlOiBzdWZmaXg9JHN1ZmZpeF0KICAgICAtLWNoZWNrZmlsZXMKICAgICAt LW5vLWNoZWNrZmlsZXMKICAgICAgICAgICAgICAgICAgSWYgdGhlIFVuaXggJ2ZpbGUnIHV0aWxp dHkgaXMgYXZhaWxhYmxlLCB3aXRoIG9wdGlvbnMKICAgICAgICAgICAgICAgICAgLUwgYW5kIC1i LCB0aGUgb3V0cHV0IG9mICdmaWxlIC1MYiBGSUxFMScgc2hvdWxkIGJlCiAgICAgICAgICAgICAg ICAgICdQREYgZG9jdW1lbnQuLi4nIHdoZXJlICcuLi4nIGdpdmVzIHZlcnNpb24gaW5mb3JtYXRp b24uCiAgICAgICAgICAgICAgICAgIElmIHRoaXMgaXMgdGhlIGNhc2Ugb24geW91ciBzeXN0ZW0g eW91IHNob3VsZCB1c2UKICAgICAgICAgICAgICAgICAgJy0tY2hlY2tmaWxlcyc7IG90aGVyd2lz ZSB1c2UgJy0tbm8tY2hlY2tmaWxlcycsCiAgICAgICAgICAgICAgICAgIGluIHdoaWNoIGNhc2Ug YWxsIGlucHV0IFBERiBmaWxlcyBtdXN0IGhhdmUgLnBkZiBvciAuUERGCiAgICAgICAgICAgICAg ICAgIGFzIHRoZWlyIG5hbWUgZXh0ZW5zaW9uLgogICAgICAgICAgICAgICAgICBbRGVmYXVsdCBm b3IgeW91IGF0IHRoaXMgc2l0ZTogY2hlY2tmaWxlcz0kY2hlY2tmaWxlc10KICAgICAtLXByZWFt YmxlIFNUUklORwogICAgICAgICAgICAgICAgICBBcHBlbmQgdGhlIHN1cHBsaWVkIFNUUklORyB0 byB0aGUgcHJlYW1ibGUgb2YgdGhlIExhVGVYCiAgICAgICAgICAgICAgICAgIHNvdXJjZSBmaWxl KHMpLCBpbW1lZGlhdGVseSBiZWZvcmUgdGhlICdcYmVnaW57ZG9jdW1lbnR9JwogICAgICAgICAg ICAgICAgICBsaW5lLiAgQW4gZXhhbXBsZToKICAgICAgICAgICAgICAgICAgICAgIHBkZmphbSAt LW51cCAyeDIgbXlmaWxlLnBkZiAtbyBteWZpbGUtNHVwLnBkZiBcXAogICAgICAgICAgICAgICAg ICAgICAgICAgIC0tcHJlYW1ibGUgJ1x1c2VwYWNrYWdle2ZhbmN5aGRyfSBccGFnZXN0eWxle2Zh bmN5fScKICAgICAgICAgICAgICAgICAgVGhlICctLXByZWFtYmxlJyBvcHRpb24gY2FuIGJlIHVz ZWQsIGZvciBleGFtcGxlLCB0byBsb2FkIAogICAgICAgICAgICAgICAgICBMYVRlWCBwYWNrYWdl cyBhbmQvb3IgdG8gc2V0IGdsb2JhbCBvcHRpb25zLiAgSWYgJy0tcHJlYW1ibGUnCiAgICAgICAg ICAgICAgICAgIGlzIHVzZWQgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIGNhbGwsIHRoZSBzdXBwbGll ZCBwcmVhbWJsZSAKICAgICAgICAgICAgICAgICAgc3RyaW5ncyBhcmUgc2ltcGx5IGNvbmNhdGVu YXRlZC4gIEZvciBhIG5vdGUgb24gYXZvaWRpbmcKICAgICAgICAgICAgICAgICAgY2xhc2hlcywg c2VlIHRoZSBQREZqYW0tUkVBRE1FIGZpbGUgKGFsc28gYXZhaWxhYmxlIGF0CiAgICAgICAgICAg ICAgICAgIGh0dHA6Ly93d3cucGRmamFtLm5ldCkuCiAgICAgLS1rZWVwaW5mbwogICAgIC0tbm8t a2VlcGluZm8KICAgICAgICAgICAgICAgICAgUHJlc2VydmUgKG9yIG5vdCkgVGl0bGUsIEF1dGhv ciwgU3ViamVjdCBhbmQgS2V5d29yZHMKICAgICAgICAgICAgICAgICAgKGZyb20gdGhlIGxhc3Qg aW5wdXQgUERGIGZpbGUsIGlmIG1vcmUgdGhhbiBvbmUpIGluIHRoZQogICAgICAgICAgICAgICAg ICBvdXRwdXQgUERGIGZpbGUuICBUaGlzIHJlcXVpcmVzIHRoZSBwZGZpbmZvIHV0aWxpdHksIGZy b20KICAgICAgICAgICAgICAgICAgdGhlIHhwZGYgcGFja2FnZSwgYW5kIHRoZSBMYVRlWCAnaHlw ZXJyZWYnIHBhY2thZ2U7IGlmCiAgICAgICAgICAgICAgICAgIGVpdGhlciBvZiB0aG9zZSBpcyBu b3QgYXZhaWxhYmxlLCAnLS1rZWVwaW5mbycgaXMgaWdub3JlZC4KICAgICAgICAgICAgICAgICAg W0RlZmF1bHQgZm9yIHlvdSBhdCB0aGlzIHNpdGU6IGtlZXBpbmZvPSRrZWVwaW5mb10KICAgICAt LXBkZnRpdGxlIFNUUklORwogICAgIC0tcGRmYXV0aG9yIFNUUklORwogICAgIC0tcGRmc3ViamVj dCBTVFJJTkcKICAgICAtLXBkZmtleXdvcmRzIFNUUklORwogICAgICAgICAgICAgICAgICBQcm92 aWRlIHRleHQgZm9yIHRoZSAgVGl0bGUsIEF1dGhvciwgU3ViamVjdCBhbmQgS2V5d29yZHMKICAg ICAgICAgICAgICAgICAgaW4gdGhlIG91dHB1dCBQREYgZmlsZS4gIFJlcXVpcmVzIHRoZSAgTGFU ZVggJ2h5cGVycmVmJwogICAgICAgICAgICAgICAgICBwYWNrYWdlLiAgVGhlc2Ugb3B0aW9ucywg aW5kaXZpZHVhbGx5LCBvdmVyLXJpZGUgLS1rZWVwaW5mby4KICAgICAtLWxhbmRzY2FwZQogICAg IC0tbm8tbGFuZHNjYXBlCiAgICAgICAgICAgICAgICAgIFNwZWNpZnkgbGFuZHNjYXBlIHBhZ2Ug b3JpZW50YXRpb24gKG9yIG5vdCkgaW4gdGhlCiAgICAgICAgICAgICAgICAgIG91dHB1dCBQREYg ZmlsZS4KICAgICAgICAgICAgICAgICAgW0RlZmF1bHQgZm9yIHlvdSBhdCB0aGlzIHNpdGU6IGxh bmRzY2FwZT0kbGFuZHNjYXBlXQogICAgIC0tdHdvc2lkZQogICAgIC0tbm8tdHdvc2lkZQogICAg ICAgICAgICAgICAgICBTcGVjaWZ5IChvciBub3QpIHRoZSAndHdvc2lkZScgZG9jdW1lbnQgY2xh c3Mgb3B0aW9uLgogICAgICAgICAgICAgICAgICBbRGVmYXVsdCBmb3IgeW91IGF0IHRoaXMgc2l0 ZTogdHdvc2lkZT0kdHdvc2lkZV0KICAgICAtLXBhcGVyIFBBUEVSU1BFQyAgKG9yIHNpbXBseSAt LVBBUEVSU1BFQykKICAgICAgICAgICAgICAgICAgU3BlY2lmeSBhIExhVGVYIHBhcGVyIHNpemUs IGZvciBleGFtcGxlCiAgICAgICAgICAgICAgICAgICctLXBhcGVyIGE0cGFwZXInIG9yIHNpbXBs eSAnLS1hNHBhcGVyJyBmb3IgSVNPIEE0IHBhcGVyLgogICAgICAgICAgICAgICAgICBJZiB0aGUg TGFUZVggJ2dlb21ldHJ5JyBwYWNrYWdlIGlzIGluc3RhbGxlZCwgYSB3aWRlciByYW5nZQogICAg ICAgICAgICAgICAgICBvZiBwYXBlciBzaXplcyBpcyBhdmFpbGFibGUuICBGb3IgZGV0YWlscyBz ZWUgZG9jdW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICBmb3IgTGFUZVggYW5kL29yIHRoZSAn Z2VvbWV0cnknIHBhY2thZ2UuCiAgICAgICAgICAgICAgICAgIFtEZWZhdWx0IGZvciB5b3UgYXQg dGhpcyBzaXRlOiBwYXBlcj0kcGFwZXJdCiAgICAgLS1wYXBlcnNpemUgJ3tXSURUSCxIRUlHSFR9 JwogICAgICAgICAgICAgICAgICBTcGVjaWZ5IGEgY3VzdG9tIHBhcGVyIHNpemUsIGUuZy4sCiAg ICAgICAgICAgICAgICAgICAgICAtLXBhcGVyc2l6ZSAnezEwaW4sMThjbX0nCiAgICAgICAgICAg ICAgICAgIChOb3RlIHRoZSBicmFjZXMsIGFuZCB0aGUgY29tbWEhKQogICAgICAgICAgICAgICAg ICBJZiB0aGUgJ2dlb21ldHJ5JyBwYWNrYWdlIGlzIG5vdCBmb3VuZCwgdGhpcyBoYXMgbm8gZWZm ZWN0LgogICAgIC0tcGFnZWNvbG9yIFJHQlNQRUMKICAgICAgICAgICAgICAgICAgU3BlY2lmeSBh IGJhY2tncm91bmQgY29sb3VyIGZvciB0aGUgb3V0cHV0IHBhZ2VzLiAgVGhlIAogICAgICAgICAg ICAgICAgICBSR0JTUEVDIG11c3QgYmUgYSBjb21tYS1zZXBhcmF0ZWQgdHJpbyBvZiBpbnRlZ2Vy cwogICAgICAgICAgICAgICAgICBiZXR3ZWVuIDAgYW5kIDI1NS4gIEFuIGV4YW1wbGU6CiAgICAg ICAgICAgICAgICAgICAgICAgICAtLXBhZ2Vjb2xvciAxNTAsMjAwLDE1MAogICAgICAgICAgICAg ICAgICBbRGVmYXVsdCBpcyBubyBiYWNrZ3JvdW5kIGNvbG91cl0KICAgICAtLXRpZHkKICAgICAt LW5vLXRpZHkKICAgICAgICAgICAgICAgICAgU3BlY2lmeSB3aGV0aGVyIHRoZSB0ZW1wb3Jhcnkg ZGlyZWN0b3J5IGNyZWF0ZWQgYnkKICAgICAgICAgICAgICAgICAgcGRmamFtIHNob3VsZCBiZSBk ZWxldGVkLiAgVXNlICctLW5vLXRpZHknIHRvIGhlbHAgZGVidWcKICAgICAgICAgICAgICAgICAg bW9zdCBlcnJvcnMuCiAgICAgICAgICAgICAgICAgIFtEZWZhdWx0IGZvciB5b3UgYXQgdGhpcyBz aXRlOiB0aWR5PSR0aWR5XQogICAgIC0tbGF0ZXggUEFUSFRPTEFURVgKICAgICAgICAgICAgICAg ICAgU3BlY2lmeSB0aGUgTGFUZVggZW5naW5lIHRvIGJlIHVzZWQgKG9uZSBvZiBwZGZsYXRleCwK CQkgIHhlbGF0ZXgsIGx1YWxhdGV4KS4gIFRoZSBQQVRIVE9MQVRFWCBzdHJpbmcgbXVzdCBiZQoJ CSAgdGhlIGZ1bGwgcGF0aCB0byBhIHN1aXRhYmxlIExhVGVYIGV4ZWN1dGFibGUgKGZvciBleGFt cGxlCgkJICAvdXNyL2Jpbi94ZWxhdGV4IG9uIG1hbnkgdW5peCBzeXN0ZW1zKS4KCQkgIFtEZWZh dWx0IGZvciB5b3UgYXQgdGhpcyBzaXRlOiBsYXRleD0kbGF0ZXhdCiAgICAgLS1ydW5zIE4KICAg ICAgICAgICAgICAgICAgUnVuIGxhdGV4IE4gdGltZXMsIGZvciBlYWNoIG91dHB1dCBkb2N1bWVu dCBtYWRlLiAKICAgICAgICAgICAgICAgICAgW0RlZmF1bHQgZm9yIHlvdSBhdCB0aGlzIHNpdGU6 IHJ1bnM9JHJ1bnNdCiAgICAgLS12YW5pbGxhCiAgICAgICAgICAgICAgICAgIFN1cHByZXNzIHRo ZSByZWFkaW5nIG9mIGFueSBzaXRlLXdpZGUgb3IgdXNlci1zcGVjaWZpYwogICAgICAgICAgICAg ICAgICBjb25maWd1cmF0aW9uIGZpbGVzLgogICAgIC0tS0VZIFZBTFVFCiAgICAgICAgICAgICAg ICAgIFNwZWNpZnkgb3B0aW9ucyB0byAnXGluY2x1ZGVwZGZtZXJnZScsIGluIHRoZSBMYVRlWAog ICAgICAgICAgICAgICAgICAncGRmcGFnZXMnIHBhY2thZ2UuICBIZXJlIEtFWSBpcyB0aGUgbmFt ZSBvZiBhbnkgb2YgdGhlCiAgICAgICAgICAgICAgICAgIG1hbnkgb3B0aW9ucyBmb3IgJ1xpbmNs dWRlcGRmbWVyZ2UnLCBhbmQgVkFMVUUgaXMgYQogICAgICAgICAgICAgICAgICBjb3JyZXNwb25k aW5nIHZhbHVlLiAgRXhhbXBsZXMgYXJlCiAgICAgICAgICAgICAgICAgICAgICAtLW51cCAyeDEg ICAgIChmb3IgMi11cCBzaWRlLWJ5LXNpZGUgaW1wb3NpdGlvbikKICAgICAgICAgICAgICAgICAg ICAgIC0tc2NhbGUgMC43ICAgKHRvIHNjYWxlIGFsbCBpbnB1dCBwYWdlcyB0byA3MCUgc2l6ZSkK ICAgICAgICAgICAgICAgICAgICAgIC0tb2Zmc2V0ICcxY20gMC41Y20nCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICh0byBvZmZzZXQgYWxsIHBhZ2VzIC0tIG5vdGUgdGhlIHF1 b3RlcyEpCiAgICAgICAgICAgICAgICAgICAgICAtLWZyYW1lIHRydWUgICh0byBwdXQgYSBmcmFt ZSByb3VuZCBlYWNoIGlucHV0IHBhZ2UpCiAgICAgICAgICAgICAgICAgICAgICAtLXRyaW0gJzFj bSAyY20gMWNtIDJjbScgLS1jbGlwIHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHRvIHRyaW0gdGhvc2UgYW1vdW50cyBmcm9tIGxlZnQsIGJvdHRvbSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0IGFuZCB0b3AsIHJlc3BlY3RpdmVseSwg b2YgaW5wdXQgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlcykgCiAg ICAgICAgICAgICAgICAgIGV0Yy4sIGV0Yy4gIEZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0aGUg bWFudWFsIGZvcgogICAgICAgICAgICAgICAgICB0aGUgJ3BkZnBhZ2VzJyBwYWNrYWdlLCBhdAog ICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LmN0YW4ub3JnL3RleC1hcmNoaXZlL21hY3Jvcy9s YXRleC9jb250cmliL3BkZnBhZ2VzCiogJy0tJyBjYW4gYmUgdXNlZCB0byBzaWduYWwgdGhhdCB0 aGVyZSBhcmUgbm8gbW9yZSBvcHRpb25zIHRvIGNvbWUuCgpEZWZhdWx0cyBmb3IgdGhlIG9wdGlv bnMgJy0tc3VmZml4JywgJy0ta2VlcGluZm8nLCAnLS1wYXBlcicsICctLW91dGZpbGUnLCAKJy0t bGFuZHNjYXBlJywgJy0tdHdvc2lkZScsICctLXRpZHknLCAnLS1sYXRleCcsICctLXJ1bnMnLCAn LS1jaGVja2ZpbGVzJwphbmQgJy0tcHJlYW1ibGUnIGNhbiBiZSBzZXQgaW4gc2l0ZS13aWRlIG9y IHVzZXItc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmaWxlcy4KVGhlIHBhdGggdGhhdCBpcyBzZWFy Y2hlZCBmb3Igc2l0ZS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZXMgKG5hbWVkIHBkZmphbS5jb25m KQphdCB0aGlzIGluc3RhbGxhdGlvbiBpcwogICAgJGNvbmZpZ3BhdGgKVGhpcyBjb25maWd1cmF0 aW9uIHBhdGggY2FuIGJlIGNoYW5nZWQgYnkgZWRpdGluZyB0aGUgcGRmamFtIHNjcmlwdCBpZgpu ZWNlc3NhcnkuICBBbnkgdXNlci1zcGVjaWZpYyBjb25maWd1cmF0aW9uIHNob3VsZCBiZSBwdXQg aW4gYSBmaWxlIG5hbWVkCi5wZGZqYW0uY29uZiBpbiB5b3VyIGhvbWUgZGlyZWN0b3J5LiAgKEFs bCBvZiB0aGVzZSBmaWxlcyBhcmUgaWdub3JlZAppZiB0aGUgJy0tdmFuaWxsYScgYXJndW1lbnQg aXMgdXNlZC4pCgpGb3IgbW9yZSBpbmZvcm1hdGlvbiwgaW5jbHVkaW5nIGEgc2FtcGxlIGNvbmZp Z3VyYXRpb24gZmlsZSwgc2VlCmh0dHBzOi8vZ2l0aHViLmNvbS9EYXZpZEZpcnRoL3BkZmphbS4K IgojIwojIyAgRU5EIE9GIEhFTFAgVEVYVAojIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjCiMjICBQUkVM SU1JTkFSSUVTCiMjCiMjICBGaXJzdCBkZXRlcm1pbmU6CiMjICAgIC0tLSB3aGV0aGVyIHZlcmJv c2UgY29tbWVudGFyeSBzaG91bGQgYmUgcHJvdmlkZWQgKG5vdCBpZiAtLXF1aWV0IAojICAgICAg ICAgb3IgLS1jb25maWdwYXRoIHdhcyBzcGVjaWZpZWQpOyAKIyMgICAgLS0tIHdoZXRoZXIgdGhp cyBjYWxsIHRvIHBkZmphbSBpcyBhICJiYXRjaCIgY2FsbDsgCiMjICAgIC0tLSB3aGV0aGVyIGp1 c3QgdGhlIGhlbHAgdGV4dCBpcyByZXF1aXJlZDsgCiMjICAgIC0tLSBvciB3aGV0aGVyIGFsbCBj b25maWd1cmF0aW9uIGZpbGVzIHNob3VsZCBiZSBpZ25vcmVkLgojIwp2ZXJib3NlPXRydWUKZm9y IGFyZwpkbwogICAgY2FzZSAkYXJnIGluCgktLXF1aWV0IHwgLXEgfCAtLWNvbmZpZ3BhdGgpCgkg ICAgdmVyYm9zZT1mYWxzZSA7CgkgICAgOzsKCS0tdmVyc2lvbiB8IC1WKQoJICAgIGVjaG8gIiR2 ZXJzaW9uIgoJICAgIGV4aXQgMCA7CgkgICAgOzsKCS0tYmF0Y2gpCgkgICAgYmF0Y2g9dHJ1ZSA7 CgkgICAgOzsKCS0taGVscCB8IC11IHwgLWgpCgkJcHJpbnRmICIlc1xuIiAiJGhlbHB0ZXh0IiA7 CgkJZXhpdCAwIDsKCSAgICA7OwoJLS12YW5pbGxhKQoJICAgIHZhbmlsbGE9dHJ1ZSA7CgkgICAg OzsKCSopCgkgICAgOzsKICAgIGVzYWMKZG9uZQojIwojIyAgQ2hlY2sgdG8gc2VlIHdoZXRoZXIg dGhpcyBpcyBhICJzZWNvbmRhcnkiIGNhbGwgdG8gcGRmamFtOgojIwppZiB0ZXN0IC16ICIkUERG SkFNX0NBTExfTlVNQkVSIiAgIyMgbm90IGEgc2Vjb25kYXJ5IGNhbGwKdGhlbgogICAgUERGSkFN X0NBTExfTlVNQkVSPTAKZmkKIyMKIyMgIEtlZXAgYSBjb3B5IG9mIHRoZSBpbnRlcm5hbCBmaWxl IHNlcGFyYXRvciwgc28gd2UgY2FuIGNoYW5nZSBpdCBzYWZlbHkKIyMKT0lGUz0iJElGUyIKIyMK IyMgIFJlY29yZCB0aGUgZnVsbCBmaWxlbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmFj dG9yeQojIwpwd2Q9JChwd2QpCiMjCiMjICBUcmFwIGludGVycnVwdHMgc28gdGhhdCB0aGV5IGtp bGwgZXZlcnl0aGluZzoKIyMKdHJhcCAnSUZTPSRPSUZTOyBleGl0IDEnIDEgMiAxNQojIwojIyAg VGhlIGZvbGxvd2luZyB3aWxsIGJlIHVzZWZ1bCBmb3IgcmVhZGFiaWxpdHkgb2YgdGhlIHNjcmlw dDoKIyMKbmV3bGluZT0nCicKIyMKIyMgIERlZmluZSBhIGZ1bmN0aW9uIHRvIGVzY2FwZSB0cmlj a3kgY2hhcmFjdGVycyBpbiBmaWxlIG5hbWVzIGV0YzoKIyMKZXNjYXBlX2NoYXJzICgpIHsKICAg IChwcmludGYgIiVzIiAiJHsxfSIgfCBzZWQgJ3MvW15hLXpBLVowLTkuXy9cLV0vXFwmL2cnKQp9 CiMjCiMjICBEZWZpbmUgYSBmdW5jdGlvbiB0byBvdXRwdXQgdmVyYm9zZSBjb21tZW50czoKIyMK cHJhdHRsZSAoKSB7ICMjIHNlY29uZCBhcmd1bWVudCBoZXJlIGlzIG5vbi1udWxsIGZvciBjb250 aW51YXRpb24gbGluZXMKICAgIGlmIHRlc3QgJHZlcmJvc2UgPSB0cnVlOyB0aGVuCglwcmVmaXgx PSIgIHBkZmphbToiIDsKCXByZWZpeDI9JChwcmludGYgIiVzIiAiJHByZWZpeDEiIHwgc2VkICdz L3BkZmphbTovICAgICAgIC8nKSA7CglpbmRlbnQ9IiIgOwoJaWYgdGVzdCAiJFBERkpBTV9DQUxM X05VTUJFUiIgLWd0IDAgICYmCgkgICAgdGVzdCAiJGJhdGNoIiAhPSB0cnVlCgl0aGVuCgkgICAg aW5kZW50PSIgICAgIgoJZmkKCUlGUz0iJG5ld2xpbmUiIDsKCWxpbmVDb3VudGVyPTAgOwoJZm9y IGxpbmUgaW4gJHsxfQoJZG8KCSAgICBsaW5lQ291bnRlcj0kKChsaW5lQ291bnRlciArIDEpKSA7 CgkgICAgaWYgIHRlc3QgJGxpbmVDb3VudGVyIC1lcSAxICAmJiAgdGVzdCAhIC1uICIkezJ9IiA7 CgkgICAgdGhlbiAKCQlpZiB0ZXN0IC13ICIkUERGSkFNX01FU1NBR0VTX0ZJTEUiCgkJdGhlbiBw cmludGYgIiRwcmVmaXgxJGluZGVudCAlc1xuIiAiJGxpbmUiIDE+L2Rldi9udWxsID4+IFwKICAg ICAgICAgICAgICAgICAgICAgICAiJFBERkpBTV9NRVNTQUdFU19GSUxFIgoJCWVsc2UgbWVzc2Fn ZXM9IiRtZXNzYWdlcyRwcmVmaXgxJGluZGVudCAkbGluZSRuZXdsaW5lIiAgCiAgICAgICAgICAg ICAgICAgICAgICAgIyMgbXNnIGZpbGUgbm90IG1hZGUgeWV0CgkJZmkKCSAgICBlbHNlIAoJCWlm IHRlc3QgLXcgIiRQREZKQU1fTUVTU0FHRVNfRklMRSIKCQl0aGVuIHByaW50ZiAiJHByZWZpeDIk aW5kZW50ICVzXG4iICIkbGluZSIgMT4vZGV2L251bGwgPj4gXAogICAgICAgICAgICAgICAgICAg ICAgICIkUERGSkFNX01FU1NBR0VTX0ZJTEUiCgkJZWxzZSBtZXNzYWdlcz0iJG1lc3NhZ2VzJHBy ZWZpeDIkaW5kZW50ICRsaW5lJG5ld2xpbmUiICAKICAgICAgICAgICAgICAgICAgICAgICAjIyBt c2cgZmlsZSBub3QgbWFkZSB5ZXQKCQlmaQoJICAgIGZpIDsKCWRvbmUgOwoJSUZTPSIkT0lGUyIg OwogICAgZmkgOwogICAgcmV0dXJuIDsKfQojIwojIyAgQW5kIGhlcmUncyB0aGUgZmlyc3QgcGll Y2Ugb2YgdmVyYm9zZSBjb21tZW50YXJ5OgojIwpwcmF0dGxlICItLS0tIiAxCnByYXR0bGUgIlRo aXMgaXMgcGRmamFtIHZlcnNpb24gJHt2ZXJzaW9ufS4iCiMjCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMK IyMgIENPTkZJR1VSQVRJT04KIyMKIyMgIFRIRVNFIFNFVFRJTkdTIFdJTEwgQkUgT1ZFUi1SSURE RU4gYnkgYW55IGZvdW5kIGluIGNvbmZpZ3VyYXRpb24KIyMgIGZpbGVzLiAgQnkgZGVmYXVsdCBz dWNoIGZpbGVzIGFyZSBmb3VuZCBhdCBhbnkgb3IgYWxsIG9mCiMjICAgICAvZXRjL3BkZmphbS5j b25mCiMjICAgICAvdXNyL3NoYXJlL2V0Yy9wZGZqYW0uY29uZgojIyAgICAgL3Vzci9sb2NhbC9z aGFyZS9wZGZqYW0uY29uZgojIyAgICAgL3Vzci9sb2NhbC9ldGMvcGRmamFtLmNvbmYKIyMgICAg ICRIT01FLy5wZGZqYW0uY29uZgojIyAgKEFuZCB0aGV5IGFyZSByZWFkIGluIHRoYXQgb3JkZXI7 IGlmIGEgc2V0dGluZyBpcyBtYWRlIG1vcmUgdGhhbgojIyAgb25jZSwgdGhlIGxhc3QgaW5zdGFu Y2UgcHJldmFpbHMuKQojIwojIyAgQW4gZXhhbXBsZSBjb25maWd1cmF0aW9uIGZpbGUgY2FuIGJl IGZvdW5kIGF0CiMjICAgICBodHRwczovL2dpdGh1Yi5jb20vRGF2aWRGaXJ0aC9wZGZqYW0KIyMK IyMgIFRoZSBwYXRoIHNlYXJjaGVkIGZvciBzaXRlLXdpZGUgY29uZmlndXJhdGlvbiBmaWxlcyBj YW4gYmUgY2hhbmdlZAojIyAgYnkgZWRpdGluZyB0aGUgdmFyaWFibGUgJ2NvbmZpZ3BhdGgnIGF0 IHRoZSB0b3Agb2YgdGhpcyBmaWxlLgojIwojIwojIyAgRmlyc3QgZ2V0IHRoZSBmdWxsIHBhdGgg KGlmIGl0IGV4aXN0cykgdG8gcGRmbGF0ZXg6CiMjCmxhdGV4PSQoY29tbWFuZCAtdiBwZGZsYXRl eCkKaWYgWyAteiAiJGxhdGV4IiBdIDsgdGhlbiBsYXRleD0ibm90IGZvdW5kIiA7IGZpCiMjCiMj ICBMaWtld2lzZSBmb3IgdGhlIHBkZmluZm8gKG9ubHkgbmVlZGVkIGZvciBgLS1rZWVwaW5mbycp OgojIwpwZGZpbmZvPSQoY29tbWFuZCAtdiBwZGZpbmZvKQppZiBbIC16ICIkcGRmaW5mbyIgXSA7 IHRoZW4gcGRmaW5mbz0ibm90IGZvdW5kIjsgZmkKIyMKIyMKIyMgIE5leHQgYSBwZXJtaXR0ZWQg bG9jYXRpb24gZm9yIHRlbXBvcmFyeSBmaWxlcyBvbiB5b3VyIHN5c3RlbToKIyMKdGVtcGZpbGVE aXI9Jy92YXIvdG1wJyAgICMjICAvdmFyL3RtcCBpcyBzdGFuZGFyZCBvbiBtb3N0IHVuaXggc3lz dGVtcwojIwojIwojIyAgRGVmYXVsdCBmb3IgdGhlIG91dHB1dCBmaWxlIGxvY2F0aW9uOgojIwpv dXRGaWxlPSIkcHdkIiAgICAgICAgICAgIyMgIE91dHB1dCB0byB0aGUgY3VycmVudCB3b3JraW5n IGRpcmVjdG9yeQojIwojIwojIyAgQSBmZXcgbW9yZSBkZWZhdWx0IHNldHRpbmdzIGZvciBwZGZq YW06CiMjCnJ1bnM9MSAgICAgICAgICAgICAgICAgICAgICMjIFJ1biBsYXRleCBqdXN0IG9uY2UK IyMKdGlkeT0ndHJ1ZScgICAgICAgICAgICAgICAgIyMgIERlbGV0ZSBhbGwgdGVtcG9yYXJ5IGZp bGVzIGF0IHRoZSBlbmQKIyMKa2VlcGluZm89J2ZhbHNlJyAgICAgICAgICAgIyMgIERvbid0IHRy eSB0byBwcmVzZXJ2ZSAicGRmaW5mbyIgZGF0YQojIwpjaGVja2ZpbGVzPSdmYWxzZScgICAgICAg ICAjIyAgRG9uJ3QgdXNlIHRoZSBVbml4ICdmaWxlIC1MYicgdXRpbGl0eSB0bwojIyAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlkZW50aWZ5IFBERiBmaWxlcyBmcm9tIHRoZWlyIGNvbnRlbnRz OwojIyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbHkgb24gdGhlIC5wZGYgb3IgLlBERiBl eHRlbnNpb24gaW5zdGVhZC4KIyMKc3VmZml4PSdwZGZqYW0nICAgICAgICAgICAgIyMgIERlZmF1 bHQgZmlsZW5hbWUgc3VmZml4IHRvIGJlIHVzZWQgd2hlbiAKIyMgICAgICAgICAgICAgICAgICAg ICAgICAgICAtLW91dGZpbGUgaXMgZWl0aGVyIChhKSBhIGRpcmVjdG9yeSwgb3IgKGIpIAojIyAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBzcGVjaWZpZWQgaW4gYSAtLWJhdGNoIGNhbGwu CiMjCnByZWFtYmxlPScnICAgICAgICAgICAgICAgICMjICBEZWZhdWx0IExhVGVYIHByZWFtYmxl IHN0cmluZy4KIyMKIyMgIEd1ZXNzIGRlZmF1bHQgcGFwZXIgc2l6ZSBmcm9tIGxvY2FsZSBpZiBw b3NzaWJsZSwgb3RoZXJ3aXNlIEE0CiMjCmlmIGNvbW1hbmQgLXYgbG9jYWxlID4vZGV2L251bGwg OyB0aGVuCiAgICBwYXBlcmhlaWdodD0kKGxvY2FsZSAtayBMQ19QQVBFUiB8IHNlZCAtZSAnMSFk JyAtZSAncy8uKj0vLycpIDsKICAgIGNhc2UgJHBhcGVyaGVpZ2h0IGluCgkyOTcpCgkgICAgcGFw ZXI9J2E0cGFwZXInIDsKCSAgICA7OwoJMjc5KQoJICAgIHBhcGVyPSdsZXR0ZXJwYXBlcicgOwoJ ICAgIDs7CgkqKQoJICAgIHBhcGVyPSdhNHBhcGVyJyA7CgkgICAgOzsKICAgIGVzYWMKZWxzZSBw YXBlcj0nYTRwYXBlcicgOyAgIyMgZmFsbGJhY2sgcGFwZXIgc2l6ZSBpcyBJU08gQTQKZmkKIyMK IyMgIEVORCBPRiBTRVRUSU5HUyBNQURFIERJUkVDVExZIFdJVEhJTiBUSEUgU0NSSVBUCiMjCiMj ICBOb3cgcmVhZCB0aGUgc2l0ZSdzIG9yIHVzZXIncyBjb25maWd1cmF0aW9uIGZpbGUocykgaWYg c3VjaCBleGlzdCwKIyMgIHVubGVzcyAnLS12YW5pbGxhJyB3YXMgc3BlY2lmaWVkLgojIwppZiB0 ZXN0ICIkdmFuaWxsYSIgIT0gdHJ1ZQp0aGVuCiAgICBpZiB0ZXN0ICIkUERGSkFNX0NBTExfTlVN QkVSIiA9IDAgICAjIyBub3QgYSBzZWNvbmRhcnkgY2FsbCB0byBwZGZqYW0KICAgIHRoZW4KCWNv bmZpZ0ZpbGVzPSQocHJpbnRmICIlcyIgIiRjb25maWdwYXRoIiB8IFwKCSAgICBzZWQgJ3MvOi9c L3BkZmphbS5jb25mOi9nOyBzLyQvXC9wZGZqYW0uY29uZi8nKQoJY29uZmlnRmlsZXM9IiR7Y29u ZmlnRmlsZXN9OiRIT01FLy5wZGZqYW0uY29uZiIKCVBERkpBTV9DT05GSUc9IiIKCXByYXR0bGUg IlJlYWRpbmcgYW55IHNpdGUtd2lkZSBvciB1c2VyLXNwZWNpZmljIGRlZmF1bHRzLi4uIgoJSUZT PSc6JwoJZm9yIGQgaW4gJGNvbmZpZ0ZpbGVzCglkbwoJICAgIGlmIHRlc3QgLWYgIiRkIjsgdGhl bgoJCWNoYW5nZT0kKHNlZCAnL14gKiMuKi9kIDsgcy8gKiMuKi8vOyBzL14gKi8vJyAiJGQiKQoJ CWNvbW1lbnQ9IiMjICR7bmV3bGluZX0jIyBGcm9tICR7ZH06ICR7bmV3bGluZX0jIyIKCQlQREZK QU1fQ09ORklHPSIkUERGSkFNX0NPTkZJRyRjb21tZW50JG5ld2xpbmUkY2hhbmdlJG5ld2xpbmUi CgkgICAgZmkKCWRvbmUKCUlGUz0iJE9JRlMiCglQREZKQU1fQ09ORklHPSQocHJpbnRmICIlcyIg IiRQREZKQU1fQ09ORklHIiB8IHNlZCAncy9eLyAgICAvJykKCWlmIHRlc3QgIiRiYXRjaCIgPSB0 cnVlIDsgdGhlbiBleHBvcnQgUERGSkFNX0NPTkZJRyA7IGZpCglpZiB0ZXN0IC16ICIkUERGSkFN X0NPTkZJRyIKCXRoZW4KCSAgICBwcmF0dGxlICIobm9uZSBmb3VuZCkiIDEKCWVsc2UKCSAgICBw cmF0dGxlICIkUERGSkFNX0NPTkZJRyIgMQoJZmkKICAgIGZpCiAgICBpZiB0ZXN0IC1uICIkUERG SkFNX0NPTkZJRyIgOyB0aGVuIGV2YWwgIiRQREZKQU1fQ09ORklHIiA7IGZpCmVsc2UKICAgIGlm IHRlc3QgJFBERkpBTV9DQUxMX05VTUJFUiAtZXEgMAogICAgdGhlbgoJcHJhdHRsZSAiQ2FsbGVk IHdpdGggJy0tdmFuaWxsYSc6IG5vIHVzZXIgb3Igc2l0ZSBjb25maWd1cmF0aW9uIgoJcHJhdHRs ZSAiZmlsZXMgd2lsbCBiZSByZWFkLiIgMQogICAgZmkKZmkKIyMgRm9yIGJhY2t3YXJkcyBjb21w YXRpYmlsaXR5LCBjaGVjayBoZXJlIGZvciBhICRwZGZsYXRleCBzZXR0aW5nIGluIHRoZSBjb25m aWcgZmlsZQppZiBbIC1uICIke3BkZmxhdGV4Oi19IiBdIDsgdGhlbiBsYXRleD0iJHBkZmxhdGV4 IiA7IGZpCiMjCiMjICBFTkQgT0YgQ09ORklHVVJBVElPTiBCTE9DSwojIwojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiMjCiMjICBFUlJPUiBDT0RFUwojIwpFX1VTQUdFPTY0ICAgICAgICAgICAjICBjb21tYW5k IGxpbmUgdXNhZ2UgZXJyb3IKRV9OT0lOUFVUPTY2ICAgICAgICAgIyAgY2Fubm90IG9wZW4gaW5w dXQKRV9VTkFWQUlMQUJMRT02OSAgICAgIyAgc2VydmljZSB1bmF2YWlsYWJsZQpFX1NPRlRXQVJF PTcwICAgICAgICAjICBpbnRlcm5hbCBzb2Z0d2FyZSBlcnJvcgpFX09TRklMRT03MiAgICAgICAg ICAjICBmaWxlIGRvZXMgbm90IGV4aXN0IG9yIGNhbm5vdCBiZSBvcGVuZWQKRV9DQU5UQ1JFQVRF PTczICAgICAgIyAgY2FuJ3QgY3JlYXRlICh1c2VyKSBvdXRwdXQgZmlsZQpFX0NPTkZJRz03OCAg ICAgICAgICAjICBjb25maWd1cmF0aW9uIGVycm9yCiMjCiMjICBEZWZpbmUgYSBmdW5jdGlvbiB0 byBwcmludCBhbiBlcnJvciBtZXNzYWdlIGFuZCBleGl0OgojIwplcnJvcl9leGl0ICgpIHsKICAg IGlmIFsgLXIgIiRQREZKQU1fTUVTU0FHRVNfRklMRSIgXQogICAgdGhlbiBjYXQgIiRQREZKQU1f TUVTU0FHRVNfRklMRSIgPiYyCiAgICBlbHNlIHByaW50ZiAiJXMiICIkbWVzc2FnZXMiIDE+JjIK ICAgIGZpCiAgICBwcmludGYgIiAgcGRmamFtIEVSUk9SOiAlc1xuIiAiJDEiIDE+JjIgOwogICAg ZXhpdCAiJDIiIDsKfQojIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjCiMjICBSRUFEIEFORCBQUk9DRVNT IFRIRSBBUkdVTUVOVFMKIyMKIyMgIEluIGNhc2Ugb2YgTk8gYXJndW1lbnQgc3VwcGxpZWQsIG1l bnRpb24gJ3BkZmphbSAtLWhlbHAnOgojIwppZiAgdGVzdCAkIyAtZXEgMAp0aGVuCiAgICBwcmF0 dGxlICJObyBhcmd1bWVudHMgc3VwcGxpZWQ7IGNvbnRpbnVpbmcgYW55d2F5LiAoU2VlIgogICAg cHJhdHRsZSAiJ3BkZmphbSAtLWhlbHAnIGZvciBpbmZvcm1hdGlvbiBvbiB1c2FnZS4pIiAgMQpm aQojIwojIyAgTm93IGRvIHRoZSBhcmd1bWVudCBsb29wLgojIwpmaWxlU3BlYz0iIgptaXNjT3B0 aW9ucz0iIgpjYWxsT3B0aW9ucz0iIgpvcHRpb25zRmluaXNoZWQ9IiIKIyMKIyMgIEZpcnN0IG5v dGUgYW55ICctLWNoZWNrZmlsZXMnIG9yICctLW5vLWNoZWNrZmlsZXMnIG9wdGlvbgojIwpmb3Ig YXJnIApkbwogICAgY2FzZSAkYXJnIGluCgktLWNoZWNrZmlsZXMpCgkgICAgY2hlY2tmaWxlcz10 cnVlIDsKCSAgICBjYWxsT3B0aW9ucz0iJGNhbGxPcHRpb25zIC0tY2hlY2tmaWxlcyIgOwoJICAg IDs7CgktLW5vLWNoZWNrZmlsZXMpCgkgICAgY2hlY2tmaWxlcz1mYWxzZSA7CgkgICAgY2FsbE9w dGlvbnM9IiRjYWxsT3B0aW9ucyAtLW5vLWNoZWNrZmlsZXMiIDsKCSAgICA7OwogICAgZXNhYwpk b25lCndoaWxlIHRlc3QgLW4gIiR7MX0kezJ9IjsgZG8KICAgIGFyZ1VubWF0Y2hlZD0iIgogICAg aWYgdGVzdCAiJG9wdGlvbnNGaW5pc2hlZCIgIT0gdHJ1ZQogICAgdGhlbgoJY2FzZSAkezF9IGlu CgkgICAgLS0pICMjIHNpZ25hbHMgZW5kIG9mIGNvbW1hbmQtbGluZSBvcHRpb25zCgkJb3B0aW9u c0ZpbmlzaGVkPXRydWUgOwoJCXNoaWZ0IDsKCQljb250aW51ZSA7CgkJOzsKCSAgICAtLWNvbmZp Z3BhdGgpCgkJcHJpbnRmICIlc1xuIiAiJGNvbmZpZ3BhdGgiIDsKCQlleGl0IDA7OwoJICAgIC0t KiB8IC1xIHwgLW8pCgkJaWYgdGVzdCAiJHBhZ2VTcGVjQXdhaXRlZCIgPSB0cnVlIDsgdGhlbgoJ CSMjIGZpbGwgaW4gYW55IG1pc3NpbmcgcGFnZSBzcGVjcyBiZWZvcmUgY29udGludWluZwoJCSAg ICBmaWxlU3BlYz0kKHByaW50ZiAiJXMiICIkZmlsZVNwZWMiIHwgc2VkICdzL3xhd2FpdGVkL3wt L2cnKQoJCSAgICBwYWdlU3BlY0F3YWl0ZWQ9ZmFsc2UKCQlmaQoJCWNhc2UgJHsxfSBpbgoJCSAg ICAtLWxhdGV4KQoJCQlsYXRleD0iJHsyfSIgOwoJCQljYWxsT3B0aW9ucz0iJGNhbGxPcHRpb25z IC0tbGF0ZXggJHsyfSIgOwoJCQlzaGlmdCA7OwoJCSAgICAtLWJhdGNoKQoJCQliYXRjaD10cnVl IDsKCQkJOzsKCQkgICAgLS12YW5pbGxhKQoJCQljYWxsT3B0aW9ucz0iJGNhbGxPcHRpb25zICR7 MX0iIDsKCQkJOzsKCQkgICAgLS1xdWlldCB8IC1xKQoJCQl2ZXJib3NlPWZhbHNlIDsKCQkJY2Fs bE9wdGlvbnM9IiRjYWxsT3B0aW9ucyAkezF9IiA7CgkJCTs7CgkJICAgIC0tb3V0ZmlsZSB8IC1v KQoJCQlvdXRGaWxlPSIkezJ9IiA7CgkJCWlmIHRlc3QgIiRiYXRjaCIgPSB0cnVlCgkJCXRoZW4K CQkJICAgIG91dEZpbGU9JChlc2NhcGVfY2hhcnMgIiRvdXRGaWxlIikKCQkJZmkKCQkJY2FsbE9w dGlvbnM9IiRjYWxsT3B0aW9ucyAtLW91dGZpbGUgJG91dEZpbGUiIDsKICAJCQlzaGlmdCA7OwoJ CSAgICAtLXN1ZmZpeCkKCQkJaWYgdGVzdCAtbiAiJHsyfSIKCQkJdGhlbgoJCQkgICAgc3VmZml4 PSIkezJ9IiA7CgkJCSAgICBpZiB0ZXN0ICIkYmF0Y2giID0gdHJ1ZQoJCQkgICAgdGhlbgoJCQkJ c3VmZml4PSQoZXNjYXBlX2NoYXJzICIkc3VmZml4IikKCQkJICAgIGZpCgkJCSAgICBjYWxsT3B0 aW9ucz0iJGNhbGxPcHRpb25zIC0tc3VmZml4ICRzdWZmaXgiCgkJCSAgICBzaGlmdAoJCQllbHNl CgkJCSAgICBlcnJvcl9leGl0IFwKCQkJCSInLS1zdWZmaXgnIHN0cmluZyBoYXMgemVybyBsZW5n dGgiIFwKCQkJCSRFX1VTQUdFIDsKCQkJZmkKCQkJOzsKCQkgICAgLS1ydW5zKQoJCQlydW5zPSIk ezJ9IiA7CgkJCSMjIGNoZWNrIGlmIHRoZSBhcmd1bWVudCBpcyBhIG51bWJlciA+IDAKICAgICAg ICAgICAgICAgICAgICAgICAgaWYgWyAiJHJ1bnMiIC1sdCAxIF0gMj4gL2Rldi9udWxsOyB0aGVu CiAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfZXhpdCBcCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIictLXJ1bnMnIG51bWJlciBtdXN0IGJlIGF0IGxlYXN0IDEiIFwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkRV9VU0FHRSA7CiAgICAgICAgICAgICAgICAg ICAgICAgIGZpCiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxPcHRpb25zPSIkY2FsbE9wdGlv bnMgLS1ydW5zICR7Mn0iIDsKICAgICAgICAgICAgICAgICAgICAgICAgc2hpZnQgOzsKCQkgICAg LS10aWR5KQoJCQl0aWR5PXRydWUgOwoJCQljYWxsT3B0aW9ucz0iJGNhbGxPcHRpb25zIC0tdGlk eSIgOwoJCQk7OwoJCSAgICAtLW5vLXRpZHkpCgkJCXRpZHk9ZmFsc2UgOwoJCQljYWxsT3B0aW9u cz0iJGNhbGxPcHRpb25zIC0tbm8tdGlkeSIgOwoJCQk7OwoJCSAgICAtLWtlZXBpbmZvKQoJCQlr ZWVwaW5mbz10cnVlIDsKCQkJY2FsbE9wdGlvbnM9IiRjYWxsT3B0aW9ucyAtLWtlZXBpbmZvIiA7 CgkJCTs7CgkJICAgIC0tbm8ta2VlcGluZm8pCgkJCWtlZXBpbmZvPWZhbHNlIDsKCQkJY2FsbE9w dGlvbnM9IiRjYWxsT3B0aW9ucyAtLW5vLWtlZXBpbmZvIiA7CgkJCTs7IAoJCSAgICAtLWNoZWNr ZmlsZXMpCgkJCTs7ICMjIGFscmVhZHkgZG9uZSBhYm92ZQoJCSAgICAtLW5vLWNoZWNrZmlsZXMp CgkJCTs7ICMjIGFscmVhZHkgZG9uZSBhYm92ZQoJCSAgICAtLXBkZnRpdGxlKQoJCQlwZGZUaXRs ZT0iJHsyfSIgOwoJCQlpZiB0ZXN0ICIkYmF0Y2giID0gdHJ1ZQoJCQl0aGVuCgkJCSAgICBwZGZU aXRsZT0kKGVzY2FwZV9jaGFycyAiJHBkZlRpdGxlIikKCQkJZmkKCQkJY2FsbE9wdGlvbnM9IiRj YWxsT3B0aW9ucyAtLXBkZnRpdGxlICRwZGZUaXRsZSIgOwoJCQlzaGlmdCA7OwoJCSAgICAtLXBk ZmF1dGhvcikKCQkJcGRmQXV0aG9yPSIkezJ9IiA7CgkJCWlmIHRlc3QgIiRiYXRjaCIgPSB0cnVl CgkJCXRoZW4KCQkJICAgIHBkZkF1dGhvcj0kKGVzY2FwZV9jaGFycyAiJHBkZkF1dGhvciIpCgkJ CWZpCgkJCWNhbGxPcHRpb25zPSIkY2FsbE9wdGlvbnMgLS1wZGZhdXRob3IgJHBkZkF1dGhvciIg OwoJCQlzaGlmdCA7OwoJCSAgICAtLXBkZnN1YmplY3QpCgkJCXBkZlN1YmplY3Q9IiR7Mn0iIDsK CQkJaWYgdGVzdCAiJGJhdGNoIiA9IHRydWUKCQkJdGhlbgoJCQkgICAgcGRmU3ViamVjdD0kKGVz Y2FwZV9jaGFycyAiJHBkZlN1YmplY3QiKQoJCQlmaQoJCQljYWxsT3B0aW9ucz0iJGNhbGxPcHRp b25zIC0tcGRmc3ViamVjdCAkcGRmU3ViamVjdCIgOwoJCQlzaGlmdCA7OwoJCSAgICAtLXBkZmtl eXdvcmRzKQoJCQlwZGZLZXl3b3Jkcz0iJHsyfSIgOwoJCQlpZiB0ZXN0ICIkYmF0Y2giID0gdHJ1 ZQoJCQl0aGVuCgkJCSAgICBwZGZLZXl3b3Jkcz0kKGVzY2FwZV9jaGFycyAiJHBkZktleXdvcmRz IikKCQkJZmkKCQkJY2FsbE9wdGlvbnM9IiRjYWxsT3B0aW9ucyAtLXBkZmtleXdvcmRzICRwZGZL ZXl3b3JkcyIgOwoJCQlzaGlmdCA7OwoJCSAgICAtLXBhcGVyKQoJCQlwYXBlcj0iJHsyfSIKCQkJ Y2FsbE9wdGlvbnM9IiRjYWxsT3B0aW9ucyAkezF9ICR7Mn0iIDsKCQkJc2hpZnQgOzsKCQkgICAg LS1wYWdlY29sb3IpCgkJCXBhZ2Vjb2xvcj0iJHsyfSIgOwoJCQljYWxsT3B0aW9ucz0iJGNhbGxP cHRpb25zICR7MX0gJHsyfSIgOwoJCQlzaGlmdCA7OwogICAgICAgICAgICAgICAgICAgIC0tYTRw YXBlciB8IC0tYTVwYXBlciB8IC0tYjVwYXBlciB8IC0tbGV0dGVycGFwZXIgfCBcCiAgICAgICAg ICAgICAgICAgICAgICAgIC0tZXhlY3V0aXZlcGFwZXIgfCAtLWxlZ2FscGFwZXIpCgkJCSMjICBz dGFuZGFyZCBMYVRlWCBwYXBlciBzaXplcwoJCQlwYXBlcj0kKHByaW50ZiAiJXMiICIkezF9IiB8 IHNlZCAncy9eLS0vLycpIDsKCQkJY2FsbE9wdGlvbnM9IiRjYWxsT3B0aW9ucyAkezF9IiA7CgkJ CTs7CgkJICAgIC0tYTBwYXBlciB8IC0tYTFwYXBlciB8IC0tYTJwYXBlciB8IC0tYTNwYXBlciB8 IFwKICAgICAgICAgICAgICAgICAgICAgICAgLS1hNnBhcGVyIHwgLS1iMHBhcGVyIHwgLS1iMXBh cGVyIHwgLS1iMnBhcGVyIHwgXAoJCQktLWIzcGFwZXIgfCAtLWI0cGFwZXIgfCAtLWI2cGFwZXIp CgkJCSMjICB0aGUgJ2dlb21ldHJ5JyBwYWNrYWdlIGlzIG5lZWRlZAoJCQlpZiB0ZXN0ICIkZ2Vv bWV0cnkiICE9IGZhbHNlIDsKCQkJdGhlbgoJCQkgICAgcGFwZXI9JChwcmludGYgIiVzIiAiJHsx fSIgfCBzZWQgJ3MvXi0tLy8nKSA7CgkJCSAgICBjYWxsT3B0aW9ucz0iJGNhbGxPcHRpb25zICR7 MX0iIDsKCQkJICAgIGdlb21ldHJ5PXRydWUgOwoJCQlmaSA7CgkJCTs7CgkJICAgIC0tcGFwZXJz aXplKQoJCQkjIyAgdGhlICdnZW9tZXRyeScgcGFja2FnZSBpcyBuZWVkZWQKCQkJaWYgdGVzdCAi JGdlb21ldHJ5IiAhPSBmYWxzZSA7CgkJCXRoZW4KCQkJICAgIHBhcGVyc2l6ZT0icGFwZXJzaXpl PSR7Mn0iIDsKCQkJICAgIGNhbGxPcHRpb25zPSIkY2FsbE9wdGlvbnMgJHsxfSAnJHsyfSciIDsK CQkJICAgIGdlb21ldHJ5PXRydWUgOwoJCQlmaSA7CgkJCXNoaWZ0IDs7CgkJICAgIC0tbGFuZHNj YXBlKQoJCQlsYW5kc2NhcGU9dHJ1ZSA7CgkJCWNhbGxPcHRpb25zPSIkY2FsbE9wdGlvbnMgLS1s YW5kc2NhcGUiIDsKCQkJOzsKCQkgICAgLS1uby1sYW5kc2NhcGUpCgkJCWxhbmRzY2FwZT1mYWxz ZSA7CgkJCWNhbGxPcHRpb25zPSIkY2FsbE9wdGlvbnMgLS1uby1sYW5kc2NhcGUiIDsKCQkJOzsK CQkgICAgLS10d29zaWRlKQoJCQl0d29zaWRlPXRydWUgOwoJCQljYWxsT3B0aW9ucz0iJGNhbGxP cHRpb25zIC0tdHdvc2lkZSIgOwoJCQk7OwoJCSAgICAtLW5vLXR3b3NpZGUpCgkJCXR3b3NpZGU9 ZmFsc2UgOwoJCQljYWxsT3B0aW9ucz0iJGNhbGxPcHRpb25zIC0tbm8tdHdvc2lkZSIgOwoJCQk7 OwoJCSAgICAtLXByZWFtYmxlKQoJCQlwcmVhbWJsZT0iJHByZWFtYmxlJHsyfSIgOwoJCQlzaGlm dCA7OwoJCSAgICAtLSopCiAgICAgICAgICAgICAgICAgICAgICAgICMjICBvcHRpb25zIGZvciBc aW5jbHVkZXBkZm1lcmdlCgkJCWFyZ05hbWU9JChwcmludGYgIiVzIiAiJHsxfSIgfCBzZWQgJ3Mv Xi0tLy8nKTsKCQkJdmFsdWU9IiR7Mn0iCgkJCW1pc2NPcHRpb25zPSRtaXNjT3B0aW9ucywiJGFy Z05hbWU9JHZhbHVlIiA7CgkJICAgICAgICAjIyBzYXZlZCBmb3IgcG9zc2libGUgdXNlIGluIExh VGVYIGZpbGUKCQkJY2FsbE9wdGlvbnM9IiRjYWxsT3B0aW9ucyAkezF9ICckdmFsdWUnIiA7CgkJ ICAgICAgICAjIyBzYXZlZCBmb3IgcG9zc2libGUgdXNlIGluIGEgZnVydGhlciBjYWxsIHRvIHBk ZmphbQoJCQlzaGlmdCA7CgkJCTs7CgkJZXNhYyA7OwoJICAgICcnIHwgKikKCQlhcmdVbm1hdGNo ZWQ9dHJ1ZQoJCTs7Cgllc2FjCiAgICBmaQogICAgaWYgdGVzdCAiJG9wdGlvbnNGaW5pc2hlZCIg PSB0cnVlICB8fCAgdGVzdCAiJGFyZ1VubWF0Y2hlZCIgPSB0cnVlCiAgICB0aGVuCgljYXNlICR7 MX0gaW4KCSAgICAiIiB8IC9kZXYvc3RkaW4pCgkJZmlsZVNwZWM9IiR7ZmlsZVNwZWN9JHtuZXds aW5lfS9kZXYvc3RkaW58YXdhaXRlZCIKCQlwYWdlU3BlY0F3YWl0ZWQ9dHJ1ZQoJCWlucHV0RnJv bVN0ZGluPXRydWUgOzsKCSAgICAtKQoJCWlmIHRlc3QgIiRwYWdlU3BlY0F3YWl0ZWQiID0gdHJ1 ZSAgOyB0aGVuCgkJICAgIGZpbGVTcGVjPSQocHJpbnRmICIlcyIgIiRmaWxlU3BlYyIgfCBcCgkJ CXNlZCAncy98YXdhaXRlZC98LS9nJykKCQkgICAgcGFnZVNwZWNBd2FpdGVkPWZhbHNlCgkJZWxz ZQoJCSAgICBlcnJvcl9leGl0ICJubyBQREYvSlBHL1BORyBmaWxlIGZvdW5kIGF0ICR7MX0iIFwK CQkJJEVfTk9JTlBVVAoJCWZpIDs7CgkgICAgKikgICMjICBBbGwgb3RoZXIgYXJncyBzaG91bGQg YmUgUERGIChvciBKUEcvUE5HKSAKICAgICAgICAgICAgICAgICMjICBzb3VyY2UgZmlsZXMgYW5k IHBhZ2Ugc2VsZWN0aW9uczsgaWYgbm90LCB3ZSdsbCBxdWl0CgkJaWYgdGVzdCAiJGNoZWNrZmls ZXMiID0gdHJ1ZSA7ICAjIyBub3QgYWx3YXlzIGF2YWlsYWJsZQoJCXRoZW4KCQkgICAgY2FzZSAk KGZpbGUgLUxiICIkezF9IikgaW4KCQkJIlBERiBkb2N1bWVudCIqfCJKUEVHIGltYWdlIGRhdGEi KnwiUE5HIGltYWdlIiopICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyAgaXQncyBh IFBERiBmaWxlIChvciBKUEcvUE5HKSBhcyBleHBlY3RlZAoJCQkgICAgZmlsZVNwZWM9IiRmaWxl U3BlYyR7bmV3bGluZX0kezF9fGF3YWl0ZWQiCgkJCSAgICBwYWdlU3BlY0F3YWl0ZWQ9dHJ1ZQoJ CQkgICAgOzsKCQkJKikKCQkJICAgIGNhc2UgJHsxfSBpbgoJCQkJKi5bcFBdW2REXVtmRl0gfCAq LltqSl1bcFBdW2VFXVtnR10gfCBcCgkJCQkgICAgKi5bakpdW3BQXVtnR10gfCAqLltwUF1bbk5d W2dHXSkgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIHNob3VsZCBiZSBQ REYvSlBHL1BORyBmaWxlLCBidXQgaXNuJ3QKCQkJCSAgICBlcnJvcl9leGl0ICJubyBQREYvSlBH L1BORyBmaWxlIGZvdW5kIGF0ICR7MX0iIFwKCQkJCQkkRV9OT0lOUFVUCgkJCQkgICAgOzsKCQkJ CSopICMjICBpZiBwYWdlIHNwZWMgbmVlZGVkLCBhc3N1bWUgdGhpcyBpcyBpdDsKCQkgICAgICAg ICAgICAgICAgICAgIyMgIG90aGVyd2lzZSBzb21ldGhpbmcgaXMgd3JvbmcKCQkJCSAgICBpZiB0 ZXN0ICIkcGFnZVNwZWNBd2FpdGVkIiA9IHRydWUgIDsgdGhlbgoJCQkJCWZpbGVTcGVjPSQocHJp bnRmICIlcyIgIiRmaWxlU3BlYyIgfCBcCgkJCQkJICAgIHNlZCAicy98YXdhaXRlZC98JDEvZyIp CgkJCQkJcGFnZVNwZWNBd2FpdGVkPWZhbHNlCgkJCQkgICAgZWxzZQoJCQkJCWVycm9yX2V4aXQg Im5vIFBERi9KUEcvUE5HIGZpbGUgZm91bmQgYXQgJHsxfSIgXAoJCQkJCSAgICAkRV9OT0lOUFVU CgkJCQkgICAgZmkKCQkJCSAgICA7OwoJCQkgICAgZXNhYwoJCQkgICAgOzsKCQkgICAgZXNhYwoJ CWVsc2UgICMjIG5vIGNoZWNraW5nIG9mIGZpbGUgY29udGVudHM7IHJlbHkgb24gLnBkZiBleHRl bnNpb24KCQkgICAgY2FzZSAkezF9IGluCgkJCSouW3BQXVtkRF1bZkZdIHwgKi5bakpdW3BQXVtl RV1bZ0ddIFwKCQkJICAgIHwgKi5bakpdW3BQXVtnR10gfCAqLltwUF1bbk5dW2dHXSkgIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIyMgYXNzdW1lIGl0J3MgYSBQREYvSlBHL1BORyBmaWxl CgkJCSAgICB0ZXN0IC1mICIkezF9IiB8fCBlcnJvcl9leGl0IFwKCQkJCSIkezF9IG5vdCBmb3Vu ZCIgJEVfTk9JTlBVVAoJCQkgICAgZmlsZVNwZWM9IiRmaWxlU3BlYyIkbmV3bGluZSR7MX0ifCJh d2FpdGVkCgkJCSAgICBwYWdlU3BlY0F3YWl0ZWQ9dHJ1ZQoJCQkgICAgOzsKCQkJKikgIyMgIGlm IHBhZ2Ugc3BlYyBuZWVkZWQsIGFzc3VtZSB0aGlzIGlzIGl0OwoJCSAgICAgICAgICAgIyMgIG90 aGVyd2lzZSBzb21ldGhpbmcgaXMgd3JvbmcKCQkJICAgIGlmIHRlc3QgIiRwYWdlU3BlY0F3YWl0 ZWQiID0gdHJ1ZSAgOyB0aGVuCgkJCQlmaWxlU3BlYz0kKHByaW50ZiAiJXMiICIkZmlsZVNwZWMi IHwgXAoJCQkJICAgIHNlZCAicy98YXdhaXRlZC98JDEvZyIpCgkJCQlwYWdlU3BlY0F3YWl0ZWQ9 ZmFsc2UKCQkJICAgIGVsc2UKCQkJCWVycm9yX2V4aXQgIm5vIFBERi9KUEcvUE5HIGZpbGUgZm91 bmQgYXQgJHsxfSIgXAoJCQkJICAgICRFX05PSU5QVVQKCQkJICAgIGZpCgkJCSAgICA7OwoJCSAg ICBlc2FjCgkJZmkKCQk7OwoJZXNhYwogICAgZmkKICAgIHNoaWZ0CmRvbmUKIyMKIyMgIFVzZSB0 aGUgZGVmYXVsdCBwYWdlIHNwZWMgZm9yIGFueSB0aGF0IHJlbWFpbiB1bnNwZWNpZmllZDoKIyMK ZmlsZVNwZWM9JChwcmludGYgIiVzIiAiJGZpbGVTcGVjIiB8IHNlZCAnL14kL2Q7IHMvXiAvLzsg cy98YXdhaXRlZCQvfC0vJykKIyMKIyMgIENoZWNrIHdoZXRoZXIgaW5wdXQgZnJvbSBzdGRpbiBz aG91bGQgYmUgdXNlZCBieSBkZWZhdWx0OgppZiAgdGVzdCAkUERGSkFNX0NBTExfTlVNQkVSIC1l cSAwICAmJiAgdGVzdCAiJGlucHV0RnJvbVN0ZGluIiAhPSB0cnVlCnRoZW4KICAgICMjIHRoZSBz cGVjaWFsIGFyZ3VtZW50ICcvZGV2L3N0ZGluJyB3YXMgbm90IHVzZWQKICAgIGlmIHRlc3QgLXog IiRmaWxlU3BlYyIgOyB0aGVuCiAgICAjIyBubyBhcmd1bWVudCBzcGVjaWZ5aW5nIGEgUERGIHNv dXJjZSB3YXMgZ2l2ZW4KCWlucHV0RnJvbVN0ZGluPXRydWUKCWZpbGVTcGVjPSIvZGV2L3N0ZGlu fC0iCglwcmF0dGxlICJObyBQREYvSlBHL1BORyBzb3VyY2Ugc3BlY2lmaWVkOiBpbnB1dCBpcyBm cm9tIHN0ZGluLiIKICAgIGZpCmZpCiMjCiMjICBEZWxldGUgbGVhZGluZyBjb21tYSBmcm9tICRt aXNjT3B0aW9uczoKIyMKbWlzY09wdGlvbnM9JChwcmludGYgIiVzIiAiJG1pc2NPcHRpb25zIiB8 IHNlZCAncy9eLC8vJykKIyMKaWYgdGVzdCAtbiAiJHByZWFtYmxlIgp0aGVuIGNhbGxPcHRpb25z PSIkY2FsbE9wdGlvbnMgLS1wcmVhbWJsZSAnJHByZWFtYmxlJyIKZmkKIyMgIERlbGV0ZSBsZWFk aW5nIHNwYWNlIGZyb20gJGNhbGxPcHRpb25zOgojIwpjYWxsT3B0aW9ucz0kKHByaW50ZiAiJXMi ICIkY2FsbE9wdGlvbnMiIHwgc2VkICdzL14gLy8nKQojIwojIyAgU2V0IHVwIGEgZG9jdW1lbnQg b3B0aW9ucyB2YXJpYWJsZToKIyMKY2FzZSAkbGFuZHNjYXBlIGluCiAgICB0cnVlKQoJb3JpZW50 YXRpb249bGFuZHNjYXBlIDs7CiAgICAqKQoJb3JpZW50YXRpb249IiIgOzsKZXNhYwpjYXNlICR0 d29zaWRlIGluCiAgICB0cnVlKQoJdHdvc2lkZT10d29zaWRlIDs7CiAgICAqKQoJdHdvc2lkZT0i IiA7Owplc2FjCmlmIHRlc3QgIiRnZW9tZXRyeSIgIT0gZmFsc2UKdGhlbgojIyAgd2UgaGF2ZW4n dCBhbHJlYWR5IGZvdW5kIHRoYXQgZ2VvbWV0cnkuc3R5IGlzIG1pc3NpbmcKICAgIGNhc2UgJHBh cGVyIGluCglhMHBhcGVyIHwgYTFwYXBlciB8IGEycGFwZXIgfCBhM3BhcGVyIHwgXAogICAgICAg ICAgICBhNnBhcGVyIHwgYjBwYXBlciB8IGIxcGFwZXIgfCBiMnBhcGVyIHwgXAoJICAgIGIzcGFw ZXIgfCBiNHBhcGVyIHwgYjZwYXBlcikKCSAgICAjIyAgdGhlICdnZW9tZXRyeScgcGFja2FnZSBp cyBuZWVkZWQKCSAgICBnZW9tZXRyeT10cnVlIDsKCSAgICA7OwoJKikKCSAgICA7OwogICAgZXNh YwpmaQpkb2N1bWVudE9wdGlvbnM9IiRwYXBlciIsIiRvcmllbnRhdGlvbiIsIiR0d29zaWRlIgpk b2N1bWVudE9wdGlvbnM9JChwcmludGYgIiVzIiAiJGRvY3VtZW50T3B0aW9ucyIgfCBzZWQgJ3Mv XiwvLycgfCBzZWQgJ3MvLCQvLycpCiMjCiMjICBFTkQgT0YgQVJHVU1FTlQgUFJPQ0VTU0lORwoj IwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCiMjCiMjICBDSEVDSyBTWVNURU0gU0VUVVAKIyMKIyMgIFRoZXNl IGNoZWNrcyBhcmUgbm90IHJlcGVhdGVkIGluIHNlY29uZGFyeSBjYWxscy4KIyMKaWYgdGVzdCAk UERGSkFNX0NBTExfTlVNQkVSIC1lcSAwICAjIyBub3QgYSBzZWNvbmRhcnkgY2FsbAp0aGVuCiAg ICAjIyAgQ2hlY2sgd2hldGhlciB0aGVyZSdzIGEgc3VpdGFibGUgbGF0ZXggdG8gdXNlOgogICAg Y2FzZSAiJGxhdGV4IiBpbgoJIm5vdCBmb3VuZCIpCgkgICAgZXJyb3JfZXhpdCAiY2FuJ3QgZmlu ZCBwZGZsYXRleCEiICRFX1VOQVZBSUxBQkxFCgkgICAgOzsKCSopICAjIyAKCSAgICBpZiB0ZXN0 ICEgLXggIiRsYXRleCIKCSAgICB0aGVuCgkJZXJyb3JfZXhpdCBcCgkJICAgICJjb25maWd1cmF0 aW9uIGVycm9yLCAkbGF0ZXggaXMgbm90IGFuIGV4ZWN1dGFibGUgZmlsZSIgXAoJCSAgICAkRV9D T05GSUcKCSAgICBmaQoJICAgIDs7CiAgICBlc2FjCiAgICAjIwogICAgIyMgIENoZWNrIHRoYXQg bmVjZXNzYXJ5IExhVGVYIHBhY2thZ2VzIGFyZSBpbnN0YWxsZWQ6CiAgICAjIwogICAgbW9kaWZ5 UGF0aD0kKHByaW50ZiAiJXMiICIkbGF0ZXgiIHwgc2VkICdzL1wvW15cL10qJC8vJykKICAgIGlm IFsgLW4gIiRtb2RpZnlQYXRoIiBdIDsgdGhlbgoJUEFUSD0iJG1vZGlmeVBhdGg6JFBBVEgiCgll eHBvcnQgUEFUSAogICAgZmkKICAgIChrcHNld2hpY2ggcGRmcGFnZXMuc3R5ID4vZGV2L251bGwp IHx8CiAgICBlcnJvcl9leGl0IFwKCSJMYVRlWCBwYWNrYWdlIHBkZnBhZ2VzLnN0eSBpcyBub3Qg aW5zdGFsbGVkIiBcCgkkRV9VTkFWQUlMQUJMRQogICAgKGtwc2V3aGljaCBlc28tcGljLnN0eSA+ L2Rldi9udWxsKSB8fAogICAgZXJyb3JfZXhpdCBcCgkiTGFUZVggcGFja2FnZSBlc28tcGljLnN0 eSBub3QgaW5zdGFsbGVkIChzZWUgdGhlIHBkZnBhZ2VzIG1hbnVhbCkiIFwKCSRFX1VOQVZBSUxB QkxFCiAgICAoa3BzZXdoaWNoIGV2ZXJ5c2hpLnN0eSA+L2Rldi9udWxsKSB8fAogICAgZXJyb3Jf ZXhpdCBcCgkiTGFUZVggcGFja2FnZSBldmVyeXNoaS5zdHkgbm90IGluc3RhbGxlZCAoc2VlIHRo ZSBwZGZwYWdlcyBtYW51YWwpIiBcCgkkRV9VTkFWQUlMQUJMRQogICAgaWYgdGVzdCAiJGtlZXBp bmZvIiA9IHRydWUgfHwKCXRlc3QgLW4gIiRwZGZUaXRsZSRwZGZTdWJqZWN0JHBkZkF1dGhvciRw ZGZLZXl3b3JkcyIKICAgICMjICBpZSwgaWYgaHlwZXJyZWYgaXMgcmVxdWlyZWQKICAgIHRoZW4K CShrcHNld2hpY2ggaHlwZXJyZWYuc3R5ID4vZGV2L251bGwpIHx8IHsKCSAgICBwcmF0dGxlICJM YVRlWCBwYWNrYWdlIGh5cGVycmVmLnN0eSBpcyBub3QgaW5zdGFsbGVkLCBzbyBhbnkiCgkgICAg cHJhdHRsZSAiLS1rZWVwaW5mbywgLS1wZGZ0aXRsZSwtLXBkZmF1dGhvciwgLS1wZGZzdWJqZWN0 IG9yIiAxCgkgICAgcHJhdHRsZSAiLS1wZGZrZXl3b3JkcyBzZXR0aW5nIHdpbGwgYmUgaWdub3Jl ZC4iIDEKCSAgICBoeXBlcnJlZj1mYWxzZQoJICAgIGlmIHRlc3QgIiRiYXRjaCIgPSB0cnVlCgkg ICAgdGhlbgoJCWV4cG9ydCBoeXBlcnJlZiAgICMjIGZvciB1c2UgaW4gYW55IHNlY29uZGFyeSBj YWxscwoJICAgIGZpCgl9CiAgICBlbHNlCgloeXBlcnJlZj1mYWxzZQogICAgZmkKICAgIGlmIHRl c3QgIiRnZW9tZXRyeSIgPSB0cnVlCiAgICAjIyAgaWUsIGlmIHRoZSAnZ2VvbWV0cnknIHBhY2th Z2UgaXMgbmVlZGVkIGZvciBwYXBlciBzaXplCiAgICB0aGVuCgkoa3BzZXdoaWNoIGdlb21ldHJ5 LnN0eSA+L2Rldi9udWxsKSB8fCB7CgkgICAgcHJhdHRsZSAiTGFUZVggcGFja2FnZSBnZW9tZXRy eS5zdHkgaXMgbm90IGluc3RhbGxlZCwgc28gb25seSB0aGUiCgkgICAgcHJhdHRsZSAic3RhbmRh cmQgTGFUZVggcGFwZXIgc2l6ZXMgYXJlIGF2YWlsYWJsZS4iIDEKCSAgICBnZW9tZXRyeT1mYWxz ZQoJICAgIGlmIHRlc3QgIiRiYXRjaCIgPSB0cnVlCgkgICAgdGhlbgoJCWV4cG9ydCBnZW9tZXRy eSAgICMjIGZvciB1c2UgaW4gYW55IHNlY29uZGFyeSBjYWxscwoJICAgIGZpCgl9CiAgICBmaQpm aQppZiB0ZXN0ICIkaHlwZXJyZWYiID0gZmFsc2UKdGhlbgogICAga2VlcGluZm89ZmFsc2UKICAg IHBkZlRpdGxlPSIiIDsgcGRmQXV0aG9yPSIiIDsgcGRmU3ViamVjdD0iIiA7IHBkZktleXdvcmRz PSIiCmVsc2UKICAgIGlmICB0ZXN0ICIka2VlcGluZm8iID0gdHJ1ZQogICAgdGhlbgoJY2FzZSAi JHBkZmluZm8iIGluCgkgICAgIm5vdCBmb3VuZCIpCgkJaWYgdGVzdCAkUERGSkFNX0NBTExfTlVN QkVSIC1lcSAwCgkJdGhlbgoJCSAgcHJhdHRsZSBcCgkJICAiVGhlIHBkZmluZm8gdXRpbGl0eSB3 YXMgbm90IGZvdW5kLCBzbyAtLWtlZXBpbmZvIGlzIGlnbm9yZWQuIgoJCWZpCgkJa2VlcGluZm89 ZmFsc2UKCQk7OwoJICAgIHBkZmluZm8pCgkJOzsKCSAgICAqKSAgIyMgJHBkZmluZm8gd2FzIHNl dCBpbiBhIGNvbmZpZ3VyYXRpb24gZmlsZQoJCWlmIHRlc3QgISAteCAiJHBkZmluZm8iCgkJdGhl bgoJCSAgICBpZiB0ZXN0ICRQREZKQU1fQ0FMTF9OVU1CRVIgLWVxIDAKCQkgICAgdGhlbgoJCQlw cmF0dGxlIFwKCQkgICAgICJObyBwZGZpbmZvIHV0aWxpdHkgYXQgJHBkZmluZm8sIHNvIC0ta2Vl cGluZm8gaXMgaWdub3JlZC4iCgkJCWtlZXBpbmZvPWZhbHNlCgkJICAgIGZpCgkJZmkKCQk7OwoJ ZXNhYwogICAgZmkKZmkKIyMgQSBmdW5jdGlvbiB0byBjaGVjayBpZiB1c2luZyBub24tQ3lnd2lu ICIke2xhdGV4fSIgZnJvbSBDeWd3aW4KdXNpbmdfbm9uX2N5Z3dpbl9sYXRleF9mcm9tX2N5Z3dp biAoKSB7CiAgICBpZiBbIC16ICIke19fY2FjaGVfX3VzaW5nX25vbl9jeWd3aW5fbGF0ZXhfZnJv bV9jeWd3aW59IiBdOyB0aGVuCglpZiBbIHgiJCh1bmFtZSAtbykiID0geCJDeWd3aW4iIF0gXAoJ ICAgICYmICIke2xhdGV4fSIgLXZlcnNpb24gfCBoZWFkIC0xIHwgZ3JlcCAtcXYgQ3lnd2luOyB0 aGVuCgkgICAgX19jYWNoZV9fdXNpbmdfbm9uX2N5Z3dpbl9sYXRleF9mcm9tX2N5Z3dpbj0wCgll bHNlCgkgICAgX19jYWNoZV9fdXNpbmdfbm9uX2N5Z3dpbl9sYXRleF9mcm9tX2N5Z3dpbj0xCglm aQogICAgZmkKICAgIHJldHVybiAiJHtfX2NhY2hlX191c2luZ19ub25fY3lnd2luX2xhdGV4X2Zy b21fY3lnd2lufSIKfQojIwojIyAgRU5EIE9GIENIRUNLSU5HIFRIRSBTRVRVUAojIwojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiMjCiMjICBURU1QT1JBUlkgRklMRVMKIyMKIyMgIE1ha2UgYSBzZWN1cmUgdGVt cG9yYXJ5IGRpcmVjdG9yeSAoZm9sbG93aW5nCiMjICB0aGUgYXV0b2NvbmYgbWFudWFsKS4KIyMK IyMgIFVzZSBta3RlbXAgaWYgcG9zc2libGU7IG90aGVyd2lzZSBmYWxsIGJhY2sgb24gbWtkaXIs CiMjICB3aXRoIHJhbmRvbSBuYW1lIHRvIG1ha2UgZmlsZSBjb2xsaXNpb25zIGxlc3MgbGlrZWx5 LgojIwpvcmlnaW5hbF91bWFzaz0kKHVtYXNrKQp1bWFzayAxNzcKaWYgdGVzdCAkUERGSkFNX0NB TExfTlVNQkVSID0gMCAgIyMgZG9uJ3QgcmVwZWF0IHRoaXMgd29yayBmb3Igc2Vjb25kYXJ5IGNh bGxzCnRoZW4KICAgIFBERkpBTV9URU1QX0RJUj0nJwogICAgdHJhcCAnSUZTPSIkT0lGUyI7IFwK ICBpZiB0ZXN0ICR0aWR5ICE9IGZhbHNlIDsgdGhlbiBjZCAiJHB3ZCI7IHJtIC1yZiAiJFBERkpB TV9URU1QX0RJUiI7IGZpOyBleGl0IDEnIFwKCTEgMiAxNQogICAgdHJhcCAnSUZTPSIkT0lGUyI7 IFwKICBpZiB0ZXN0ICR0aWR5ICE9IGZhbHNlIDsgdGhlbiBjZCAiJHB3ZCI7IHJtIC1yZiAiJFBE RkpBTV9URU1QX0RJUiI7IGZpJyAwCiAgICB7CglQREZKQU1fVEVNUF9ESVI9JCggKHVtYXNrIDA3 NyAmJiBta3RlbXAgLWQgIiR0ZW1wZmlsZURpci9wZGZqYW0tWFhYWFhYIikgMj4vZGV2L251bGwp ICYmCgl0ZXN0IC1uICIkUERGSkFNX1RFTVBfRElSIiAmJiB0ZXN0IC1kICIkUERGSkFNX1RFTVBf RElSIgogICAgfSB8fCB7CiAgICAjIyAgV2UnbGwgdXNlIGF3ayB0byBtYWtlIHJhbmRvbSBudW1i ZXIsIGZvciBwb3J0YWJpbGl0eQoJcmFuZG9tPSQoYXdrICdFTkQgeyBzcmFuZCgpOyBwcmludGYg KCIlZFxuIiwgcmFuZCgpKjEwMDAwMDApOyB9JyAvZGV2L251bGwpCglQREZKQU1fVEVNUF9ESVI9 IiR0ZW1wZmlsZURpciIvcGRmamFtIiQkIi0iJHJhbmRvbSIKCSh1bWFzayAwNzcgJiYgbWtkaXIg IiRQREZKQU1fVEVNUF9ESVIiKQogICAgfSB8fCBleGl0ICQ/CiMjCiAgICBleHBvcnQgUERGSkFN X1RFTVBfRElSICAgICMjICBzbyB0aGF0IHNhbWUgZGlyIGlzIHVzZWQgaW4gc2Vjb25kYXJ5IGNh bGxzCiAgICBpZiB0ZXN0ICR0aWR5ID0gZmFsc2UgOyB0aGVuCglwcmF0dGxlICJUZW1wb3Jhcnkg ZGlyZWN0b3J5IGZvciB0aGlzIGpvYiBpcwogICAgICAgICAgJFBERkpBTV9URU1QX0RJUiIKICAg IGZpCiAgICBQREZKQU1fTUVTU0FHRVNfRklMRT0iJFBERkpBTV9URU1QX0RJUiIvbWVzc2FnZXMu dHh0CiAgICBleHBvcnQgUERGSkFNX01FU1NBR0VTX0ZJTEUgIAogICAgICAgICMjIHNvIHRoYXQg c2Vjb25kYXJ5IGNhbGxzIGNhbiB3cml0ZSBtZXNzYWdlcyB0aGVyZSBhcyB3ZWxsCiAgICBwcmlu dGYgIiVzIiAiJG1lc3NhZ2VzIiA+ICIkUERGSkFNX01FU1NBR0VTX0ZJTEUiICAjIyBpbml0aWFs IGZpbGUgY29udGVudHMKICAgIG1lc3NhZ2VzPSIiICAjIyB3ZSB3b24ndCBiZSB1c2luZyB0aGlz IHZhcmlhYmxlIGFnYWluIQplbHNlCiAgICBQREZKQU1fVEVNUF9ESVI9IiRQREZKQU1fVEVNUF9E SVIvZmlsZSRQREZKQU1fQ0FMTF9OVU1CRVIiCiAgICAodW1hc2sgMDc3ICYmIG1rZGlyICIkUERG SkFNX1RFTVBfRElSIikKZmkKdW1hc2sgIiRvcmlnaW5hbF91bWFzayIKIyMgTmV4dCBpcyBmcm9t IHRoZSBDeWd3aW4gcGF0Y2ggY29udHJpYnV0ZWQgYnkgTHVjYXMKaWYgdXNpbmdfbm9uX2N5Z3dp bl9sYXRleF9mcm9tX2N5Z3dpbjsgdGhlbgogICAgUERGSkFNX1RFTVBfRElSPSQoY3lncGF0aCAt dyAiJFBERkpBTV9URU1QX0RJUiIpCmZpCiMjCiMjICBURU1QT1JBUlkgRElSRUNUT1JZIEFMTCBE T05FCiMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMKIyMgIEhBTkRMSU5HIFRIRSAiLS1iYXRjaCIgT1BU SU9OCiMjCiMjICBJZiAtLWJhdGNoIHdhcyB1c2VkLCB3ZSdsbCBjYWxsIHBkZmphbSBzZXBhcmF0 ZWx5IG9uIGVhY2ggaW5wdXQKIyMgIGZpbGUuCiMjCmlmIHRlc3QgIiRiYXRjaCIgPSB0cnVlIDsg dGhlbgogICAgaWYgdGVzdCAiJGZpbGVTcGVjIiA9ICIiIDsgdGhlbgoJZXJyb3JfZXhpdCAiLS1i YXRjaCB3YXMgdXNlZCwgYnV0IG5vIFBERi9KUEcvUE5HIHNvdXJjZSBmaWxlKHMpIHNwZWNpZmll ZCIgXAoJICAgICRFX1VTQUdFCiAgICBmaQogICAgaWYgdGVzdCAiJGlucHV0RnJvbVN0ZGluIiA9 IHRydWUgOyB0aGVuCgllcnJvcl9leGl0ICItLWJhdGNoIGNhbm5vdCBiZSB1c2VkIHdpdGggaW5w dXQgZnJvbSBzdGRpbiIgXAoJICAgICRFX1VTQUdFCiAgICBmaQogICAgSUZTPSIkbmV3bGluZSIK ICAgIGZvciBrIGluICRmaWxlU3BlYyA7IGRvCglzb3VyY2VQYXRoPSQocHJpbnRmICIlcyIgIiRr IiB8IHNlZCAncy98W158XSokLy8nKQoJcGFnZVNwZWM9JChwcmludGYgIiVzIiAkayB8IHNlZCAn cy8uKnwvLycpCgljYWxsTnVtYmVyPSQoKFBERkpBTV9DQUxMX05VTUJFUiArIDEpKQoJcHJhdHRs ZSAiLS0iCglwcmF0dGxlICJQcm9jZXNzaW5nIGZpbGUgJHtjYWxsTnVtYmVyfSwgJyRzb3VyY2VQ YXRoJy4uLiIKCXByYXR0bGUgIlBhZ2Ugc3BlYyBpcyAnJHBhZ2VTcGVjJy4iCglzb3VyY2VQYXRo PSQoZXNjYXBlX2NoYXJzICIkc291cmNlUGF0aCIpCglQREZKQU1fRUZGRUNUSVZFX0NBTEw9IiQw ICRjYWxsT3B0aW9ucyAtLSAkc291cmNlUGF0aCAkcGFnZVNwZWMiCglleHBvcnQgUERGSkFNX0VG RkVDVElWRV9DQUxMCglQREZKQU1fQ0FMTF9OVU1CRVI9JGNhbGxOdW1iZXIKCWV4cG9ydCBQREZK QU1fQ0FMTF9OVU1CRVIKCWV2YWwgIiRQREZKQU1fRUZGRUNUSVZFX0NBTEwiCiAgICAgICAgIyMg aS5lLiwgY2FsbCBwZGZqYW0gYWdhaW4gd2l0aCBvbmUgaW5wdXQgZmlsZQogICAgZG9uZQogICAg aWYgWyAiJHZlcmJvc2UiID0gInRydWUiIF07IHRoZW4gY2F0ICIkUERGSkFNX01FU1NBR0VTX0ZJ TEUiID4mMiA7IGZpCiAgICBJRlM9JE9JRlMKICAgIGV4aXQgMApmaQojIwojIyAgRU5EIE9GIFRI RSAnLS1iYXRjaCcgUFJPQ0VTU0lORwojIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjCiMjICBSRUNPUkQg VEhFIEVGRkVDVElWRSBDQUxMIFRPIFBERkpBTSwgRk9SIFBPU1NJQkxFIERFQlVHR0lORyBQVVJQ T1NFUwojIwojIyAgU2F2ZSB0aGUgdGV4dCBvZiB0aGlzIChlZmZlY3RpdmUpIGNhbGwgdG8gcGRm amFtIGluIGEgdGVtcG9yYXJ5IGZpbGUsCiMjICBmb3IgbGF0ZXIgaW5zcGVjdGlvbiBpZiBuZWNl c3NhcnkuCiMjCiMjICBGb3Igc2Vjb25kYXJ5IGNhbGxzLCB0aGUgZWZmZWN0aXZlIGNhbGwgdGV4 dCBpcyBhbHJlYWR5IG1hZGU7CiMjICBvdGhlcndpc2Ugd2UgbWFrZSBpdCBoZXJlLgojIwppZiB0 ZXN0ICIkUERGSkFNX0NBTExfTlVNQkVSIiAtZ3QgMAp0aGVuCiAgICB0aGVDYWxsPSIkUERGSkFN X0VGRkVDVElWRV9DQUxMIgplbHNlCiAgICBmaWxlUGFnZVNwZWM9IiIKICAgIElGUz0iJG5ld2xp bmUiCiAgICBmb3IgayBpbiAkZmlsZVNwZWMgOyBkbwoJIyMgIExhc3Qgc3Vic3RpdHV0aW9uIG9u IG5leHQgbGluZSBpcyBuZWVkZWQgZm9yIHNpbGx5IGNoYXJhY3RlcnMgaW4KCSMjICBmaWxlIG5h bWVzLi4uCglzb3VyY2VQYXRoPSQocHJpbnRmICIlcyIgJGsgfCBzZWQgJ3MvfFtefF0qJC8vJykK CXNvdXJjZVBhdGg9JChlc2NhcGVfY2hhcnMgIiRzb3VyY2VQYXRoIikKCXBhZ2VTcGVjPSQocHJp bnRmICIlcyIgJGsgfCBzZWQgJ3MvLip8Ly8nKQoJZmlsZVBhZ2VTcGVjPSIkZmlsZVBhZ2VTcGVj JHNvdXJjZVBhdGggJHBhZ2VTcGVjICIKICAgIGRvbmUKICAgIElGUz0iJE9JRlMiCiAgICB0aGVD YWxsPSIkMCAkY2FsbE9wdGlvbnMgLS0gJGZpbGVQYWdlU3BlYyIKZmkKcHJpbnRmICIlc1xuJXNc biIgImNkICRwd2QiICIkdGhlQ2FsbCIgPiAiJFBERkpBTV9URU1QX0RJUiIvY2FsbC50eHQKcHJh dHRsZSAiRWZmZWN0aXZlIGNhbGwgZm9yIHRoaXMgcnVuIG9mIHBkZmphbToiCnByYXR0bGUgIiR0 aGVDYWxsIiAxCiMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMKIyMgIE5PVyBNQUtFIFRIRSBJTlBVVCBG SUxFIEVUQy4sIFJFQURZIEZPUiBMQVRFWAojIwpmaWxlUGFnZUxpc3Q9IiIgICMjIGluaXRpYWxp emUgYSBzdHJpbmcgdG8gc3VwcGx5IHRvIFxpbmNsdWRlcGRmbWVyZ2UKY291bnRlcj0wCiMjCiMj ICBNYWtlIHN5bWJvbGljIGxpbmsocykgdG8gdGhlIHNvdXJjZSBmaWxlKHMpIGluIHRoZSB0ZW1w b3JhcnkgZGlyLAojIyAgYW5kIG1ha2UgdGhlICRmaWxlUGFnZUxpc3Qgc3RyaW5nIGZvciBpbnB1 dCB0byBcaW5jbHVkZXBkZm1lcmdlCiMjCnN0ZGluVW5yZWFkPXRydWUKSUZTPSIkbmV3bGluZSIK Zm9yIGsgaW4gJHtmaWxlU3BlY30KZG8KICAgIGNvdW50ZXI9JCgoY291bnRlciArIDEpKQogICAg c291cmNlUGF0aD0kKHByaW50ZiAiJXMiICIkayIgfCBzZWQgJ3MvfFtefF0qJC8vJykKICAgIHBh Z2VTcGVjPSQocHJpbnRmICIlcyIgJGsgfCBzZWQgJ3MvLip8Ly8nKQogICAgIyMgIENoZWNrLCB0 aG91Z2ggbm90IGV4aGF1c3RpdmVseSwgZm9yIHByb2JsZW1zIHdpdGggdGhlCiAgICAjIyAgcGFn ZSBzcGVjOiBsZWFkaW5nIG9yIHRyYWlsaW5nIGNvbW1hLCBkb3VibGUgY29tbWEgb3IKICAgICMj ICBkb3VibGUgZGFzaCwgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzIG90aGVyIHRoYW4gdGhlIHdvcmQg Imxhc3QiLAogICAgIyMgIGJyYWNlcyBub3QgcGFpcmVkIGFzIHt9IHdpdGggbm90aGluZyBpbmJl dHdlZW4uICBBIGZ1bGx5CiAgICAjIyAgc3BlY2lmaWVkIHBhdHRlcm4gZm9yIHZhbGlkIFxpbmNs dWRlcGRmbWVyZ2UgcGFnZSBzcGVjIHdvdWxkCiAgICAjIyAgYmUgYmV0dGVyIGhlcmU7IGJ1dCBs aWZlIGlzIHRvbyBzaG9ydC4uLgogICAgaWYgcHJpbnRmICIlcyIgIiRwYWdlU3BlYyIgfCBzZWQg J3MvbGFzdC85OS9nJyB8IFwKCWdyZXAgICdeLC4qXHwsJFx8LCxcfC0tXHxbQS1aYS16XVx8e1te fV1cfFtee119JyAxPi9kZXYvbnVsbAogICAgdGhlbgoJZXJyb3JfZXhpdCAiaW52YWxpZCBwYWdl IHNwZWMgJHBhZ2VTcGVjIiAkRV9VU0FHRQogICAgZmkKICAgIGNhc2UgJHNvdXJjZVBhdGggaW4K CS9kZXYvc3RkaW4pCgkgICAgdW5pcXVlTmFtZT0iJFBERkpBTV9URU1QX0RJUiIvc3RkaW4ucGRm CgkgICAgaWYgdGVzdCAiJHN0ZGluVW5yZWFkIiA9IHRydWUKCSAgICB0aGVuCgkJaWYgdHR5IC1z IDsgdGhlbgoJCSAgICBlcnJvcl9leGl0IFwKCQkgInR0eSBpcyBjb25uZWN0ZWQgdG8gY29ubmVj dGVkIHRvIHN0ZGluLCBubyBQREYvSlBHL1BORyBmaWxlIGZvdW5kIiBcCgkJCSRFX05PSU5QVVQK CQlmaQoJCWNhdCA+ICIkdW5pcXVlTmFtZSIKCQlzdGRpblVucmVhZD1mYWxzZQoJICAgIGZpCgkg ICAgOzsKCSopCgkgICAgcGRmTmFtZT0kKGJhc2VuYW1lICIkc291cmNlUGF0aCIpCgkgICAgc291 cmNlRGlyPSQoZGlybmFtZSAiJHNvdXJjZVBhdGgiKSAjIyB6c2ggb24gTWFjIE9TIDEwLjUgY2hv a2VzIGhlcmUKCSAgICBjZCAiJHNvdXJjZURpciIgfHwgZXhpdCAxICAgIyMgIGp1c3QgdG8gZ2V0 IHRoZSBmdWxsIHBhdGgKCSAgICBzb3VyY2VEaXI9JChwd2QpCgkgICAgY2QgIiRwd2QiIHx8IGV4 aXQgMQoJICAgIHNvdXJjZUZ1bGxQYXRoPSIkc291cmNlRGlyIi8iJHBkZk5hbWUiCgkgICAgdW5p cXVlTmFtZT0ic291cmNlLSRjb3VudGVyLnBkZiIKCSAgICB1bmlxdWVOYW1lPSIkUERGSkFNX1RF TVBfRElSIi8iJHVuaXF1ZU5hbWUiCgkgICAgIyMgTmV4dCBpcyBmcm9tIHRoZSBDeWd3aW4gcGF0 Y2ggY29udHJpYnV0ZWQgYnkgTHVjYXMKCSAgICBpZiB1c2luZ19ub25fY3lnd2luX2xhdGV4X2Zy b21fY3lnd2luOyB0aGVuCgkJY3AgIiRzb3VyY2VGdWxsUGF0aCIgIiR1bmlxdWVOYW1lIgoJICAg IGVsc2UKCQlsbiAtcyAiJHNvdXJjZUZ1bGxQYXRoIiAiJHVuaXF1ZU5hbWUiCgkgICAgZmkKCSAg ICA7OwogICAgZXNhYwogICAgZmlsZVBhZ2VMaXN0PSIkZmlsZVBhZ2VMaXN0IiwiJHVuaXF1ZU5h bWUiLCIkcGFnZVNwZWMiCmRvbmUKSUZTPSIkT0lGUyIKZmlsZVBhZ2VMaXN0PSQocHJpbnRmICIl cyIgIiRmaWxlUGFnZUxpc3QiIHwgXAogICAgc2VkICdzL14sLy8nKSAgIyMgcmVtb3ZlIGxlYWRp bmcgY29tbWEKIyMKIyMgIERvIHRoZSBwZGZpbmZvIHN0dWZmIChpZiByZWxldmFudCkuLi4KIyMK aWYgIHRlc3QgIiRoeXBlcnJlZiIgIT0gZmFsc2UKdGhlbgogICAgaWYgdGVzdCAiJGtlZXBpbmZv IiA9IHRydWUKICAgIHRoZW4KCXByYXR0bGUgIkNhbGxpbmcgJHtwZGZpbmZvfS4uLiIgIDsKCVBE RmluZm89JChwZGZpbmZvICIkdW5pcXVlTmFtZSIpOwoJcGRmdGl0bD0kKHByaW50ZiAiJXMiICIk UERGaW5mbyIgfCBcCgkgICAgZ3JlcCAtZSAnXlRpdGxlOid8ICdzZWQgcy9eVGl0bGU6XFxcc1wq Ly8nIHwgXAoJICAgIHNlZCAtZSAncy9bIyQlXiZfe31+XS9cXFwmL2cnKTsKCXBkZmF1dGg9JChw cmludGYgIiVzIiAiJFBERmluZm8iIHwgXAoJICAgIGdyZXAgLWUgJ15BdXRob3I6J3wgc2VkICdz L15BdXRob3I6XFxcc1wqLy8nIHwgXAoJICAgIHNlZCAtZSAncy9bIyQlXiZfe31+XS9cXFwmL2cn KTsKCXBkZnN1Ymo9JChwcmludGYgIiVzIiAiJFBERmluZm8iIHwgXAoJICAgIGdyZXAgLWUgJ15T dWJqZWN0Oid8IHNlZCAncy9eU3ViamVjdDpcXFxzXCovLycgfCBcCgkgICAgc2VkIC1lICdzL1sj JCVeJl97fX5dL1xcXCYvZycpOwoJcGRma2V5dz0kKHByaW50ZiAiJXMiICIkUERGaW5mbyIgfCBc CgkgICAgZ3JlcCAtZSAnXktleXdvcmRzOid8IHNlZCAncy9eS2V5d29yZHM6XFxcc1wqLy8nIHwg XAoJICAgIHNlZCAtZSAncy9bIyQlXiZfe31+XS9cXFwmL2cnKTsKICAgIGZpCiAgICBpZiB0ZXN0 IC1uICIkcGRmVGl0bGUiIDsgdGhlbgoJcGRmdGl0bD0iJHBkZlRpdGxlIgogICAgZmkKICAgIGlm IHRlc3QgLW4gIiRwZGZBdXRob3IiIDsgdGhlbgoJcGRmYXV0aD0iJHBkZkF1dGhvciIKICAgIGZp CiAgICBpZiB0ZXN0IC1uICIkcGRmU3ViamVjdCIgOyB0aGVuCglwZGZzdWJqPSIkcGRmU3ViamVj dCIKICAgIGZpCiAgICBpZiB0ZXN0IC1uICIkcGRmS2V5d29yZHMiIDsgdGhlbgoJcGRma2V5dz0i JHBkZktleXdvcmRzIgogICAgZmkKZmkKIyMKIyMgIE5vdyBzZXQgdXAgdGhlIGZpbGVzIGZvciBs YXRleC4uLgojIwpmaWxlTmFtZT0iJFBERkpBTV9URU1QX0RJUiIvYQp0ZXhGaWxlPSIkZmlsZU5h bWUiLnRleAptc2dGaWxlPSIkZmlsZU5hbWUiLm1zZ3MKdGVtcEZpbGU9IiRQREZKQU1fVEVNUF9E SVIiL3RlbXAudGV4CiMjIE5leHQgaXMgYWRhcHRlZCBmcm9tIHRoZSBDeWd3aW4gcGF0Y2ggc2Vu dCBieSBMdWNhcwppZiB1c2luZ19ub25fY3lnd2luX2xhdGV4X2Zyb21fY3lnd2luOyB0aGVuCiAg ICBmaWxlUGFnZUxpc3Q9JChlY2hvICIkZmlsZVBhZ2VMaXN0IiB8IHNlZCAnc35cXH4vfmcnKQpm aQooY2F0IDw8RW5kVGVtcGxhdGUKXGJhdGNobW9kZQpcZG9jdW1lbnRjbGFzc1skZG9jdW1lbnRP cHRpb25zXXthcnRpY2xlfQpcdXNlcGFja2FnZXtjb2xvcn0gXGRlZmluZWNvbG9ye2JnY2xyfXtS R0J9eyRwYWdlY29sb3J9IFxwYWdlY29sb3J7YmdjbHJ9Clx1c2VwYWNrYWdlWyRwYXBlcnNpemVd e2dlb21ldHJ5fQpcdXNlcGFja2FnZVt1dGY4XXtpbnB1dGVuY30KXHVzZXBhY2thZ2V7aHlwZXJy ZWZ9ClxoeXBlcnNldHVwe3BkZnRpdGxlPXskcGRmdGl0bH19ClxoeXBlcnNldHVwe3BkZmF1dGhv cj17JHBkZmF1dGh9fQpcaHlwZXJzZXR1cHtwZGZzdWJqZWN0PXskcGRmc3Vian19ClxoeXBlcnNl dHVwe3BkZmtleXdvcmRzPXskcGRma2V5d319Clx1c2VwYWNrYWdle3BkZnBhZ2VzfQpFbmRUZW1w bGF0ZQogICAgKSAgPiAiJHRleEZpbGUiCmlmIHRlc3QgIiRoeXBlcnJlZiIgPSBmYWxzZTsgdGhl biAgIyMgd2UgZG9uJ3QgbmVlZCBoeXBlcnJlZgogICAgY3AgIiR0ZXhGaWxlIiAiJHRlbXBGaWxl IgogICAgc2VkICcvXFxcdXNlcGFja2FnZXtoeXBlcnJlZn0vZCcgIiR0ZW1wRmlsZSIgfCBcCglz ZWQgJy9cXFxoeXBlcnNldHVwLiovZCcgPiAiJHt0ZXhGaWxlfSIKICAgIHJtICIkdGVtcEZpbGUi CmZpCmlmIHRlc3QgLXogIiRnZW9tZXRyeSIgOyB0aGVuIGdlb21ldHJ5PWZhbHNlIDsgZmkKaWYg dGVzdCAiJGdlb21ldHJ5IiA9IGZhbHNlOyB0aGVuICAgIyMgZ2VvbWV0cnkgcGFja2FnZSBpcyBu b3QgdG8gYmUgdXNlZAogICAgY3AgIiR0ZXhGaWxlIiAiJHRlbXBGaWxlIgogICAgc2VkICcvXFxc dXNlcGFja2FnZS4qe2dlb21ldHJ5fS9kJyAiJHRlbXBGaWxlIiA+ICIkdGV4RmlsZSIKICAgIHJt ICIkdGVtcEZpbGUiCmZpCmlmIHRlc3QgLXogIiRwYWdlY29sb3IiOyB0aGVuICAgIyMgY29sb3Ig cGFja2FnZSBpcyBub3QgbmVlZGVkCiAgICBjcCAiJHRleEZpbGUiICIkdGVtcEZpbGUiCiAgICBz ZWQgJy9cXFx1c2VwYWNrYWdlLip7Y29sb3J9L2QnICIkdGVtcEZpbGUiID4gIiR0ZXhGaWxlIgog ICAgcm0gIiR0ZW1wRmlsZSIKZmkKKGNhdCA8PEVuZFRlbXBsYXRlCiRwcmVhbWJsZQpcYmVnaW57 ZG9jdW1lbnR9ClxpbmNsdWRlcGRmbWVyZ2VbJG1pc2NPcHRpb25zXXskZmlsZVBhZ2VMaXN0fQpc ZW5ke2RvY3VtZW50fQpFbmRUZW1wbGF0ZQogICAgKSAgPj4gIiR0ZXhGaWxlIgojIwojIyAgSU5Q VVQgRklMRVMgQVJFIEFMTCBSRUFEWQojIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjCiMjICBSVU4gTEFU RVggQU5EIENPUFkgVEhFIFJFU1VMVElORyBQREYgRklMRSAKIyMKaWYgWyAiJHJ1bnMiIC1lcSAx IF0gOwp0aGVuIHByYXR0bGUgIkNhbGxpbmcgJHtsYXRleH0uLi4iCmVsc2UgcHJhdHRsZSAiQ2Fs bGluZyAke2xhdGV4fSAkcnVucyB0aW1lcy4uLiIKZmkKY2QgIiRQREZKQU1fVEVNUF9ESVIiIHx8 IGV4aXQgMQpmYWlsdXJlVGV4dD1cCiJGQUlMRUQuClRoZSBjYWxsIHRvICRsYXRleCByZXN1bHRl ZCBpbiBhbiBlcnJvci4KSWYgJy0tbm8tdGlkeScgd2FzIHVzZWQsIHlvdSBjYW4gZXhhbWluZSB0 aGUKbG9nIGZpbGUgYXQKICAgICAgICAkZmlsZU5hbWUubG9nCnRvIHRyeSB0byBkaWFnbm9zZSB0 aGUgcHJvYmxlbS4iCmk9MQp3aGlsZSBbICIkaSIgLWxlICIkcnVucyIgXSA7IGRvCiAgICAiJGxh dGV4IiAiJHRleEZpbGUiID4gIiRtc2dGaWxlIiB8fCB7CiAgICAgICAgcHJhdHRsZSAiJGZhaWx1 cmVUZXh0IgogICAgICAgIGVycm9yX2V4aXQgIlJ1biAkaTogT3V0cHV0IGZpbGUgbm90IHdyaXR0 ZW4iICRFX1NPRlRXQVJFCiAgICB9CiAgICBpPSQoKGkgKyAxKSkKZG9uZQpjZCAiJHB3ZCIgfHwg ZXhpdCAxCmlmIHRlc3QgLWYgIiRmaWxlTmFtZSIucGRmICAjIyBpZiBMYVRlWCBkaWRuJ3QgY2hv a2UKdGhlbgogICAgIyMgIENoZWNrcyBvbiBvdXRwdXQgZmlsZSBwYXRoOgogICAgaWYgdGVzdCAt ZCAiJG91dEZpbGUiICAjIyBvdXRmaWxlIGlzIGEgZGlyZWN0b3J5CiAgICB0aGVuCglpZiB0ZXN0 ICIkc291cmNlUGF0aCIgPSAvZGV2L3N0ZGluIAoJdGhlbgoJICAgIGVycm9yX2V4aXQgXAoJCSIt LW91dGZpbGUgY2Fubm90IGJlIGEgZGlyZWN0b3J5IHdoZW4gaW5wdXQgaXMgc3RkaW4iIFwKCQkk RV9VU0FHRQoJZmkKCWlmIHRlc3QgISAtdyAiJG91dEZpbGUiCgl0aGVuCgkgICAgZXJyb3JfZXhp dCBcCiAgICAgICAgIkZBSUxFRDogbm8gd3JpdGUgcGVybWlzc2lvbiBvbiAke291dEZpbGV9LiIg XAoJICAgICRFX09TRklMRQoJZmkKICAgICAgICBzZXBhcmF0b3I9Ii0iCglpZiB0ZXN0ICIkcGFn ZVNwZWMiICE9ICItIgoJdGhlbgoJICAgIHNlcGFyYXRvcj0tIiRwYWdlU3BlYyItCglmaQoJb3V0 RmlsZT0kKHByaW50ZiAiJXMiICIkb3V0RmlsZSIgfCBzZWQgJ3MvXC8kLy8nKQogICAgICAgICAg ICAgICAgIyMgKGRlbGV0ZSBhbnkgdHJhaWxpbmcgc2xhc2gpCglwZGZOYW1lPSQoYmFzZW5hbWUg IiRzb3VyY2VQYXRoIikKCXBkZk5hbWU9JChwcmludGYgIiVzIiAiJHBkZk5hbWUiIHwgXAoJICAg IHNlZCAncy9cLltwUF1bZERdW2ZGXSQvLycpICAgICAgICMjIHN0cmlwIGV4dGVuc2lvbgoJcGRm TmFtZT0iJHBkZk5hbWUkc2VwYXJhdG9yJHN1ZmZpeCIucGRmCglvdXRGaWxlPSIkb3V0RmlsZSIv IiRwZGZOYW1lIgogICAgZmkJCQpmaQppZiAgdGVzdCAtZiAiJG91dEZpbGUiICAmJiAgdGVzdCAh IC13ICIkb3V0RmlsZSIKICAgICMjIGZpbGUgZXhpc3RzIGFuZCB3ZSBjYW4ndCBvdmVyLXdyaXRl IGl0CnRoZW4KICAgIGVycm9yX2V4aXQgIm5vIHdyaXRlIHBlcm1pc3Npb24gYXQgJHtvdXRGaWxl fSIgJEVfQ0FOVENSRUFURQpmaQojZmlsZVNpemU9JCh3YyAtYyA8ICIkZmlsZU5hbWUucGRmIiB8 IHNlZCAncy9eXCAqLy8nKQojIyBBdm9pZCBleHBsaWNpdCBvdXRwdXQgdG8gL2Rldi9zdGRvdXQu CmlmIHRlc3QgeCIkb3V0RmlsZSIgPSB4Ii9kZXYvc3Rkb3V0IiBcCiAgICYmIGNhdCAiJGZpbGVO YW1lIi5wZGYgMj4gL2Rldi9udWxsIFwKICAgfHwgY2F0ICIkZmlsZU5hbWUiLnBkZiA+ICIkb3V0 RmlsZSIgMj4vZGV2L251bGwKdGhlbgogICAgcHJhdHRsZSAiRmluaXNoZWQuICBPdXRwdXQgd2Fz IHdyaXR0ZW4gdG8gJyR7b3V0RmlsZX0nLiIKZWxzZQogICAgZXJyb3JfZXhpdCAiY2Fubm90IHdy aXRlIG91dHB1dCBhdCAke291dEZpbGV9IiAkRV9DQU5UQ1JFQVRFCmZpCmlmIFsgIiRQREZKQU1f Q0FMTF9OVU1CRVIiID0gIjAiIF0gJiYgWyAiJHZlcmJvc2UiID0gInRydWUiIF0KdGhlbiBjYXQg IiRQREZKQU1fTUVTU0FHRVNfRklMRSIgPiYyCmZpCmV4aXQgMAojIwojIyAgRU5ECiMjCiMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMK --------_5EFF1224000000007999_MULTIPART_MIXED_ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple --------_5EFF1224000000007999_MULTIPART_MIXED_--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |