From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Radon Rosborough Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Fixing package-initialize, adding early init file Date: Sun, 28 Jan 2018 11:42:53 -0800 Message-ID: References: <83po9vos4z.fsf@gnu.org> <87shelv2m6.fsf@udel.edu> <83vajgh4xe.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="94eb2c0e730a5548b80563db5886" X-Trace: blaine.gmane.org 1517168525 32609 195.159.176.226 (28 Jan 2018 19:42:05 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 28 Jan 2018 19:42:05 +0000 (UTC) Cc: emacs-devel To: Stefan Monnier , =?UTF-8?Q?Cl=C3=A9ment_Pit=2DClaudel?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 28 20:42:00 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1efspm-0007BN-Ve for ged-emacs-devel@m.gmane.org; Sun, 28 Jan 2018 20:41:47 +0100 Original-Received: from localhost ([::1]:58421 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1efsrl-0002Bk-JC for ged-emacs-devel@m.gmane.org; Sun, 28 Jan 2018 14:43:49 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51333) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1efsrZ-0002Ba-Dr for emacs-devel@gnu.org; Sun, 28 Jan 2018 14:43:38 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1efsrY-0005jC-J5 for emacs-devel@gnu.org; Sun, 28 Jan 2018 14:43:37 -0500 Original-Received: from mail-lf0-x22e.google.com ([2a00:1450:4010:c07::22e]:36033) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1efsrX-0005ia-SV for emacs-devel@gnu.org; Sun, 28 Jan 2018 14:43:36 -0500 Original-Received: by mail-lf0-x22e.google.com with SMTP id t79so6948624lfe.3 for ; Sun, 28 Jan 2018 11:43:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=b9sHXN7uvgxfZH7mFTan+imx9DkobLJaSclVjY00AsI=; b=DRe416D6DVyWwUQAIZujQBwrHvDNqgHYuRyDXzpI6JZcE4Z0wUMZr5Udjc6BWGUvp9 UE2bDWsVIYFPB0FjuoYbRFdXMVCtcDWfWXE6rNwBhoo2Am1qAoHY9qDcFGXK3srhZ2O4 doVeK7Kcj/3f/zWZhZl46ExKfQ07+ul+8ziCNFMfTmv1kbhgufIwQH6A51T8LOMYxkSx SCbByeB7CpABrVXvY6MpIthEgAcXQlhLqcuXY0bBa1QA7pSF2tdJ4zQTc4SmzvPc6MQG PB3deGEjg6SE1oBVo7T4TFewSSjlXjaLqPwwB2rNsA4OYKA/UFNUwjcPPispVOiZrDff b3lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=b9sHXN7uvgxfZH7mFTan+imx9DkobLJaSclVjY00AsI=; b=Ijcq4q9jQ2KxdSzKmLVdUtzeibYtUhfPoB2/CCCWMsI10KFo/PAWIx4KmKCfz00/K3 WP81o7wBz7nJjh5sG9XPjrE8YN4ubcROg97s1BA3uJtILEbrH+cwQLSOVINa/4GmuRge ItC9I1Vw84w+JsXNHyasBlmCgcUYlwS1tbRelVcna6u+3dEDadX/2KqBM1MakgsyP+S7 jspBnnhsMiw6m66WHCJ7U3SH7DAbgCwx1MUA37hPQUIBF0BJYTcRefJI5U8tXrj2gVW3 Aonq6UMWoWHtku53zoTeSSIfEYhekG3KwsEADWATVadVSvnaxiQTz7zH6+wgzVZZ0RX9 uMPA== X-Gm-Message-State: AKwxyteVWOOx0HrtyTwnRppCPrAm86fzySVrgrPUpyq4oRd+w0pbjb9a c3VyHaLx5dkGSXn1dvSmhfoTL0j4gTU3kzerUTw= X-Google-Smtp-Source: AH8x227Jh/DkaLgmkvZ+8Q11Gf3PTeFYryjH9qOnroL5Bkr370do3hd/pigeM0DiIwYyHy1V57sZSJU2rdrY/L3XlD0= X-Received: by 10.25.99.129 with SMTP id v1mr11986006lfi.137.1517168614512; Sun, 28 Jan 2018 11:43:34 -0800 (PST) Original-Received: by 10.25.16.101 with HTTP; Sun, 28 Jan 2018 11:42:53 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4010:c07::22e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:222278 Archived-At: --94eb2c0e730a5548b80563db5886 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I've fixed all the problems noted by Stefan and Cl=C3=A9ment, and rebased onto the latest master. The revised patch is attached. --94eb2c0e730a5548b80563db5886 Content-Type: application/octet-stream; name="0001-Add-early-init-file-stop-package-initialize-insertio.patch" Content-Disposition: attachment; filename="0001-Add-early-init-file-stop-package-initialize-insertio.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jcz6xjim0 RnJvbSA3ZTQ1ZjBlNGVlMWViNjY2YzA5NmVkMTI0MzVmNWVkYjQzNGJiMmJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWRvbiBSb3Nib3JvdWdoIDxyYWRvbi5uZW9uQGdtYWlsLmNv bT4KRGF0ZTogU3VuLCAxNyBEZWMgMjAxNyAxNzozMToxNyAtMDcwMApTdWJqZWN0OiBbUEFUQ0hd IEFkZCBlYXJseSBpbml0IGZpbGUsIHN0b3AgcGFja2FnZS1pbml0aWFsaXplIGluc2VydGlvbgoK KiBsaXNwL3N0YXJ0dXAuZWwgKGVhcmx5LWluaXQtZmlsZSk6IE5ldyB2YXJpYWJsZSwgZm9yIHRo ZSBmaWxlbmFtZSBvZgp0aGUgZWFybHkgaW5pdCBmaWxlIGFmdGVyIGl0IGhhcyBiZWVuIGxvYWRl ZC4KKGxvYWQtdXNlci1pbml0LWZpbGUpOiBOZXcgZnVuY3Rpb24sIHVzZWQgdG8gZWxpbWluYXRl IGR1cGxpY2F0ZSBjb2RlCmluIGxvYWRpbmcgdGhlIGVhcmx5IGFuZCByZWd1bGFyIGluaXQgZmls ZXMuCihjb21tYW5kLWxpbmUpOiBMb2FkIHRoZSBlYXJseSBpbml0IGZpbGUgdXNpbmcgYGxvYWQt dXNlci1pbml0LWZpbGUnLgpNb3ZlIHRoZSBjaGVjayBmb3IgYW4gaW52YWxpZCB1c2VybmFtZSB0 byBqdXN0IGJlZm9yZSB0aGF0LCBhbmQgbW92ZQp0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHBh Y2thZ2Ugc3lzdGVtIHRvIGp1c3QgYWZ0ZXIuICBMb2FkIHRoZQpyZWd1bGFyIGluaXQgZmlsZSB1 c2luZyBgbG9hZC11c2VyLWluaXQtZmlsZScuCgoqIHNyYy9scmVhZC5jIChWdXNlcl9pbml0X2Zp bGUpOiBOb3RlIGNoYW5nZSBpbiBzZW1hbnRpY3MgZHVlIHRvIGl0cwp1c2FnZSB3aGlsZSBsb2Fk aW5nIHRoZSBlYXJseSBpbml0IGZpbGUuCgoqIGxpc3AvZW1hY3MtbGlzcC9wYWNrYWdlLmVsIChw YWNrYWdlLS1lbnN1cmUtaW5pdC1maWxlKTogUmVtb3ZlCmRlZmluaXRpb24sIHVzYWdlLCBhbmQg ZG9jdW1lbnRhdGlvbi4KKHBhY2thZ2UtLWluaXQtZmlsZS1lbnN1cmVkKTogUmVtb3ZlIGRlZmlu aXRpb24gYW5kIHVzYWdlLgoKKiBkb2MvbGlzcHJlZi9vcy50ZXhpOiBEb2N1bWVudCBlYXJseSBp bml0IGZpbGUuCgoqIGRvYy9saXNwcmVmL3BhY2thZ2UudGV4aTogRG9jdW1lbnQgY2hhbmdlcyB0 byB3aGVuCnBhY2thZ2UtaW5pdGlhbGl6ZSBpcyBjYWxsZWQsIGFuZCBhZHZpc2UgYWdhaW5zdCBj YWxsaW5nIGl0IGluIHRoZQppbml0IGZpbGUuCgoqIGRvYy9lbWFjcy9wYWNrYWdlLnRleGk6IERv Y3VtZW50IGNoYW5nZXMgdG8gd2hlbiBwYWNrYWdlLWluaXRpYWxpemUKaXMgY2FsbGVkLgoKKiBk b2MvbWlzYy9vcmcudGV4aTogRG9uJ3QgcmVjb21tZW5kIHRvIGNhbGwgcGFja2FnZS1pbml0aWFs aXplIGluIHRoZQppbml0IGZpbGUuCgpEaXNjdXNzaW9uIG9uIGVtYWNzLWRldmVsIGxlYWRpbmcg dXAgdG8gdGhpcyBjaGFuZ2UgKGFwcHJveGltYXRlbHkgMTUwCm1lc3NhZ2VzKToKCi0gaHR0cHM6 Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9lbWFjcy1kZXZlbC8yMDE3LTA4L21zZzAwMTU0 Lmh0bWwKLSBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLWRldmVsLzIw MTctMDgvbXNnMDA0MzMuaHRtbAotIGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwv ZW1hY3MtZGV2ZWwvMjAxNy0wOS9tc2cwMDAyMy5odG1sCi0gaHR0cHM6Ly9saXN0cy5nbnUub3Jn L2FyY2hpdmUvaHRtbC9lbWFjcy1kZXZlbC8yMDE3LTA5L21zZzAwNTk5Lmh0bWwKLSBodHRwczov L2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNzLWRldmVsLzIwMTctMTAvbXNnMDAzMzIu aHRtbAotLS0KIGRvYy9lbWFjcy9wYWNrYWdlLnRleGkgICAgIHwgIDMxICsrLS0KIGRvYy9saXNw cmVmL29zLnRleGkgICAgICAgIHwgIDE0ICsrCiBkb2MvbGlzcHJlZi9wYWNrYWdlLnRleGkgICB8 ICAxNiArLQogZG9jL21pc2Mvb3JnLnRleGkgICAgICAgICAgfCAgIDQgKy0KIGV0Yy9ORVdTICAg ICAgICAgICAgICAgICAgIHwgIDIwICsrKwogbGlzcC9lbWFjcy1saXNwL3BhY2thZ2UuZWwgfCAg NzEgKy0tLS0tLS0tCiBsaXNwL3N0YXJ0dXAuZWwgICAgICAgICAgICB8IDM3OSArKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy9scmVhZC5jICAgICAgICAg ICAgICAgIHwgICAyICstCiA4IGZpbGVzIGNoYW5nZWQsIDI2NCBpbnNlcnRpb25zKCspLCAyNzMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2VtYWNzL3BhY2thZ2UudGV4aSBiL2RvYy9l bWFjcy9wYWNrYWdlLnRleGkKaW5kZXggNWYwNWJjMGY5ZS4uOTYyOWY0MWM4MCAxMDA2NDQKLS0t IGEvZG9jL2VtYWNzL3BhY2thZ2UudGV4aQorKysgYi9kb2MvZW1hY3MvcGFja2FnZS50ZXhpCkBA IC0yNTAsMzEgKzI1MCwxOCBAQCBQYWNrYWdlIEluc3RhbGxhdGlvbgogd2lkZS1yYW5naW5nIGVm ZmVjdHMgb24gdGhlIEVtYWNzIHNlc3Npb24uICBGb3Igc3VjaCBpbmZvcm1hdGlvbiwKIGNvbnN1 bHQgdGhlIHBhY2thZ2UncyBoZWxwIGJ1ZmZlci4KIAotICBCeSBkZWZhdWx0LCBFbWFjcyBhbHNv IGF1dG9tYXRpY2FsbHkgbG9hZHMgYWxsIGluc3RhbGxlZCBwYWNrYWdlcyBpbgotc3Vic2VxdWVu dCBFbWFjcyBzZXNzaW9ucy4gIFRoaXMgaGFwcGVucyBhdCBzdGFydHVwLCBhZnRlciBwcm9jZXNz aW5nCi10aGUgaW5pdCBmaWxlIChAcHhyZWZ7SW5pdCBGaWxlfSkuICBBcyBhbiBleGNlcHRpb24s IEVtYWNzIGRvZXMgbm90Ci1sb2FkIHBhY2thZ2VzIGF0IHN0YXJ0dXAgaWYgaW52b2tlZCB3aXRo IHRoZSBAc2FtcHstcX0gb3IKLUBzYW1wey0tbm8taW5pdC1maWxlfSBvcHRpb25zIChAcHhyZWZ7 SW5pdGlhbCBPcHRpb25zfSkuCisgIEFmdGVyIGEgcGFja2FnZSBpcyBpbnN0YWxsZWQsIGl0IGlz IGF1dG9tYXRpY2FsbHkgbG9hZGVkIGJ5IEVtYWNzIGluCithbGwgc3Vic2VxdWVudCBzZXNzaW9u cy4gIFRoaXMgaGFwcGVucyBhdCBzdGFydHVwLCBiZWZvcmUgcHJvY2Vzc2luZwordGhlIGluaXQg ZmlsZSBidXQgYWZ0ZXIgcHJvY2Vzc2luZyB0aGUgZWFybHkgaW5pdCBmaWxlIChAcHhyZWZ7RWFy bHkKK0luaXQgRmlsZSwsLCBlbGlzcCwgVGhlIEVtYWNzIExpc3AgUmVmZXJlbmNlIE1hbnVhbH0p LiAgQXMgYW4KK2V4Y2VwdGlvbiwgRW1hY3MgZG9lcyBub3QgbG9hZCBwYWNrYWdlcyBhdCBzdGFy dHVwIGlmIGludm9rZWQgd2l0aCB0aGUKK0BzYW1wey1xfSBvciBAc2FtcHstLW5vLWluaXQtZmls ZX0gb3B0aW9ucyAoQHhyZWZ7SW5pdGlhbCBPcHRpb25zfSkuCiAKIEB2aW5kZXggcGFja2FnZS1l bmFibGUtYXQtc3RhcnR1cAogICBUbyBkaXNhYmxlIGF1dG9tYXRpYyBwYWNrYWdlIGxvYWRpbmcs IGNoYW5nZSB0aGUgdmFyaWFibGUKLUBjb2Rle3BhY2thZ2UtZW5hYmxlLWF0LXN0YXJ0dXB9IHRv IEBjb2Rle25pbH0uCi0KLUBmaW5kZXggcGFja2FnZS1pbml0aWFsaXplCi0gIFRoZSByZWFzb24g YXV0b21hdGljIHBhY2thZ2UgbG9hZGluZyBvY2N1cnMgYWZ0ZXIgbG9hZGluZyB0aGUgaW5pdAot ZmlsZSBpcyB0aGF0IHVzZXIgb3B0aW9ucyBvbmx5IHJlY2VpdmUgdGhlaXIgY3VzdG9taXplZCB2 YWx1ZXMgYWZ0ZXIKLWxvYWRpbmcgdGhlIGluaXQgZmlsZSwgaW5jbHVkaW5nIHVzZXIgb3B0aW9u cyB3aGljaCBhZmZlY3QgdGhlCi1wYWNrYWdpbmcgc3lzdGVtLiAgSW4gc29tZSBjaXJjdW1zdGFu Y2VzLCB5b3UgbWF5IHdhbnQgdG8gbG9hZAotcGFja2FnZXMgZXhwbGljaXRseSBpbiB5b3VyIGlu aXQgZmlsZSAodXN1YWxseSBiZWNhdXNlIHNvbWUgb3RoZXIgY29kZQotaW4geW91ciBpbml0IGZp bGUgZGVwZW5kcyBvbiBhIHBhY2thZ2UpLiAgSW4gdGhhdCBjYXNlLCB5b3VyIGluaXQgZmlsZQot c2hvdWxkIGNhbGwgdGhlIGZ1bmN0aW9uIEBjb2Rle3BhY2thZ2UtaW5pdGlhbGl6ZX0uICBJdCBp cyB1cCB0byB5b3UKLXRvIGVuc3VyZSB0aGF0IHJlbGV2YW50IHVzZXIgb3B0aW9ucywgc3VjaCBh cyBAY29kZXtwYWNrYWdlLWxvYWQtbGlzdH0KLShzZWUgYmVsb3cpLCBhcmUgc2V0IHVwIHByaW9y IHRvIHRoZSBAY29kZXtwYWNrYWdlLWluaXRpYWxpemV9IGNhbGwuCi1UaGlzIHdpbGwgYXV0b21h dGljYWxseSBzZXQgQGNvZGV7cGFja2FnZS1lbmFibGUtYXQtc3RhcnR1cH0gdG8gQGNvZGV7bmls fSwgdG8KLWF2b2lkIGxvYWRpbmcgdGhlIHBhY2thZ2VzIGFnYWluIGFmdGVyIHByb2Nlc3Npbmcg dGhlIGluaXQgZmlsZS4KLUFsdGVybmF0aXZlbHksIHlvdSBtYXkgY2hvb3NlIHRvIGNvbXBsZXRl bHkgaW5oaWJpdCBwYWNrYWdlIGxvYWRpbmcgYXQKLXN0YXJ0dXAsIGFuZCBpbnZva2UgdGhlIGNv bW1hbmQgQGtiZHtNLXggcGFja2FnZS1pbml0aWFsaXplfSB0byBsb2FkCi15b3VyIHBhY2thZ2Vz IG1hbnVhbGx5LgorQGNvZGV7cGFja2FnZS1lbmFibGUtYXQtc3RhcnR1cH0gdG8gQGNvZGV7bmls fS4gIFlvdSBtdXN0IGRvIHRoaXMgaW4KK3RoZSBlYXJseSBpbml0IGZpbGUsIGFzIHRoZSB2YXJp YWJsZSBpcyByZWFkIGJlZm9yZSBsb2FkaW5nIHRoZQorcmVndWxhciBpbml0IGZpbGUuICBDdXJy ZW50bHkgaXQgY2Fubm90IGJlIGRvbmUgdmlhIEN1c3RvbWl6ZS4KIAogQHZpbmRleCBwYWNrYWdl LWxvYWQtbGlzdAogICBGb3IgZmluZXIgY29udHJvbCBvdmVyIHBhY2thZ2UgbG9hZGluZywgeW91 IGNhbiB1c2UgdGhlIHZhcmlhYmxlCmRpZmYgLS1naXQgYS9kb2MvbGlzcHJlZi9vcy50ZXhpIGIv ZG9jL2xpc3ByZWYvb3MudGV4aQppbmRleCAwODU0NDY4ODM1Li4yMDllNDUwZmJkIDEwMDY0NAot LS0gYS9kb2MvbGlzcHJlZi9vcy50ZXhpCisrKyBiL2RvYy9saXNwcmVmL29zLnRleGkKQEAgLTM2 MSw2ICszNjEsNyBAQCBJbml0IEZpbGUKIEBjaW5kZXggaW5pdCBmaWxlCiBAY2luZGV4IEBmaWxl ey5lbWFjc30KIEBjaW5kZXggQGZpbGV7aW5pdC5lbH0KK0BjaW5kZXggQGZpbGV7ZWFybHktaW5p dC5lbH0KIAogICBXaGVuIHlvdSBzdGFydCBFbWFjcywgaXQgbm9ybWFsbHkgYXR0ZW1wdHMgdG8g bG9hZCB5b3VyIEBkZm57aW5pdAogZmlsZX0uICBUaGlzIGlzIGVpdGhlciBhIGZpbGUgbmFtZWQg QGZpbGV7LmVtYWNzfSBvciBAZmlsZXsuZW1hY3MuZWx9CkBAIC0zODQsNiArMzg1LDE5IEBAIElu aXQgRmlsZQogZmlsZS4gIElmIHRob3NlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgYWJzZW50 LCB0aG91Z2gsIEVtYWNzIHVzZXMKIHlvdXIgdXNlci1pZCB0byBmaW5kIHlvdXIgaG9tZSBkaXJl Y3RvcnkuCiAKK0BjaW5kZXggZWFybHkgaW5pdCBmaWxlCisgIEVtYWNzIGFsc28gYXR0ZW1wdHMg dG8gbG9hZCBhIHNlY29uZCBpbml0IGZpbGUsIGNhbGxlZCB0aGUKKyAgQGRmbntlYXJseSBpbml0 IGZpbGV9LCBpZiBpdCBleGlzdHMuICBUaGlzIGlzIGEgZmlsZSBuYW1lZAorICBAZmlsZXtlYXJs eS1pbml0LmVsfSBpbiBhIHN1YmRpcmVjdG9yeSBuYW1lZCBAZmlsZXsuZW1hY3MuZH0gaW4geW91 cgorICBob21lIGRpcmVjdG9yeS4gIFRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgdGhlIGVhcmx5IGlu aXQgZmlsZSBpcworICBsb2FkZWQgbXVjaCBlYXJsaWVyIGR1cmluZyB0aGUgc3RhcnR1cCBwcm9j ZXNzLCBzbyB5b3UgY2FuIHVzZSBpdCB0bworICBjdXN0b21pemUgc29tZSB0aGluZ3MgdGhhdCBh cmUgaW5pdGlhbGl6ZWQgYmVmb3JlIGxvYWRpbmcgdGhlCisgIHJlZ3VsYXIgaW5pdCBmaWxlLiAg Rm9yIGV4YW1wbGUsIHlvdSBjYW4gY3VzdG9taXplIHRoZSBwcm9jZXNzIG9mCisgIGxvYWRpbmcg aW5zdGFsbGVkIHBhY2thZ2VzLCBieSBzZXR0aW5nIHZhcmlhYmxlcyBzdWNoIGFzCisgIEB2YXJ7 cGFja2FnZS1sb2FkLWxpc3R9IG9yCisgIEB2YXJ7cGFja2FnZS1lbmFibGUtYXQtc3RhcnR1cH0u IEB4cmVme1BhY2thZ2UgSW5zdGFsbGF0aW9uLCwsCisgIGVtYWNzLFRoZSBHTlUgRW1hY3MgTWFu dWFsfS4KKwogQGNpbmRleCBkZWZhdWx0IGluaXQgZmlsZQogICBBbiBFbWFjcyBpbnN0YWxsYXRp b24gbWF5IGhhdmUgYSBAZGZue2RlZmF1bHQgaW5pdCBmaWxlfSwgd2hpY2ggaXMgYQogTGlzcCBs aWJyYXJ5IG5hbWVkIEBmaWxle2RlZmF1bHQuZWx9LiAgRW1hY3MgZmluZHMgdGhpcyBmaWxlIHRo cm91Z2gKZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL3BhY2thZ2UudGV4aSBiL2RvYy9saXNwcmVm L3BhY2thZ2UudGV4aQppbmRleCAyMWRmZTFjMjcxLi5kNWVlNGNiZDQ3IDEwMDY0NAotLS0gYS9k b2MvbGlzcHJlZi9wYWNrYWdlLnRleGkKKysrIGIvZG9jL2xpc3ByZWYvcGFja2FnZS50ZXhpCkBA IC0xMDYsMTAgKzEwNiwxMiBAQCBQYWNrYWdpbmcgQmFzaWNzCiAKICAgV2hlbmV2ZXIgRW1hY3Mg c3RhcnRzIHVwLCBpdCBhdXRvbWF0aWNhbGx5IGNhbGxzIHRoZSBmdW5jdGlvbgogQGNvZGV7cGFj a2FnZS1pbml0aWFsaXplfSB0byBsb2FkIGluc3RhbGxlZCBwYWNrYWdlcy4gIFRoaXMgaXMgZG9u ZQotYWZ0ZXIgbG9hZGluZyB0aGUgaW5pdCBmaWxlIGFuZCBhYmJyZXYgZmlsZSAoaWYgYW55KSBh bmQgYmVmb3JlCi1ydW5uaW5nIEBjb2Rle2FmdGVyLWluaXQtaG9va30gKEBweHJlZntTdGFydHVw IFN1bW1hcnl9KS4gIEF1dG9tYXRpYwotcGFja2FnZSBsb2FkaW5nIGlzIGRpc2FibGVkIGlmIHRo ZSB1c2VyIG9wdGlvbgotQGNvZGV7cGFja2FnZS1lbmFibGUtYXQtc3RhcnR1cH0gaXMgQGNvZGV7 bmlsfS4KK2FmdGVyIGxvYWRpbmcgdGhlIGVhcmx5IGluaXQgZmlsZSwgYnV0IGJlZm9yZSBsb2Fk aW5nIHRoZSByZWd1bGFyIGluaXQKK2ZpbGUgYW5kIGFiYnJldiBmaWxlIChpZiBhbnkpIGFuZCBi ZWZvcmUgcnVubmluZworQGNvZGV7YWZ0ZXItaW5pdC1ob29rfSAoQHB4cmVme1N0YXJ0dXAgU3Vt bWFyeX0pLiAgQXV0b21hdGljIHBhY2thZ2UKK2xvYWRpbmcgaXMgZGlzYWJsZWQgaWYgdGhlIHVz ZXIgb3B0aW9uCitAY29kZXtwYWNrYWdlLWVuYWJsZS1hdC1zdGFydHVwfSBpcyBzZXQgdG8gQGNv ZGV7bmlsfSBpbiB0aGUgZWFybHkKK2luaXQgZmlsZS4KIAogQGRlZmZuIENvbW1hbmQgcGFja2Fn ZS1pbml0aWFsaXplICZvcHRpb25hbCBuby1hY3RpdmF0ZQogVGhpcyBmdW5jdGlvbiBpbml0aWFs aXplcyBFbWFjcycgaW50ZXJuYWwgcmVjb3JkIG9mIHdoaWNoIHBhY2thZ2VzIGFyZQpAQCAtMTIz LDYgKzEyNSwxMiBAQCBQYWNrYWdpbmcgQmFzaWNzCiBUaGUgb3B0aW9uYWwgYXJndW1lbnQgQHZh cntuby1hY3RpdmF0ZX0sIGlmIG5vbi1AY29kZXtuaWx9LCBjYXVzZXMKIEVtYWNzIHRvIHVwZGF0 ZSBpdHMgcmVjb3JkIG9mIGluc3RhbGxlZCBwYWNrYWdlcyB3aXRob3V0IGFjdHVhbGx5CiBsb2Fk aW5nIHRoZW07IGl0IGlzIGZvciBpbnRlcm5hbCB1c2Ugb25seS4KKworSW4gbW9zdCBjYXNlcywg eW91IHNob3VsZCBub3QgbmVlZCB0byBjYWxsIEBjb2Rle3BhY2thZ2UtaW5pdGlhbGl6ZX0sCith cyB0aGlzIGlzIGRvbmUgYXV0b21hdGljYWxseSBkdXJpbmcgc3RhcnR1cC4gIFNpbXBseSBtYWtl IHN1cmUgdG8gcHV0CithbnkgY29kZSB0aGF0IHNob3VsZCBydW4gYmVmb3JlIEBjb2Rle3BhY2th Z2UtaW5pdGlhbGl6ZX0gaW4gdGhlIGVhcmx5Citpbml0IGZpbGUsIGFuZCBhbnkgY29kZSB0aGF0 IHNob3VsZCBydW4gYWZ0ZXIgaXQgaW4gdGhlIHByaW1hcnkgaW5pdAorZmlsZSAoQHhyZWZ7SW5p dCBGaWxlLCwsIGVtYWNzLCBUaGUgR05VIEVtYWNzIE1hbnVhbH0pLgogQGVuZCBkZWZmbgogCiBA bm9kZSBTaW1wbGUgUGFja2FnZXMKZGlmZiAtLWdpdCBhL2RvYy9taXNjL29yZy50ZXhpIGIvZG9j L21pc2Mvb3JnLnRleGkKaW5kZXggNzYyZGZhZmRkYS4uZWYyYzkzMWI2ZCAxMDA2NDQKLS0tIGEv ZG9jL21pc2Mvb3JnLnRleGkKKysrIGIvZG9jL21pc2Mvb3JnLnRleGkKQEAgLTg5MCw5ICs4OTAs NyBAQCBJbnN0YWxsYXRpb24KIGJlZW4gdmlzaXRlZCwgaS5lLiwgd2hlcmUgbm8gT3JnIGJ1aWx0 LWluIGZ1bmN0aW9uIGhhdmUgYmVlbiBsb2FkZWQuCiBPdGhlcndpc2UgYXV0b2xvYWQgT3JnIGZ1 bmN0aW9ucyB3aWxsIG1lc3MgdXAgdGhlIGluc3RhbGxhdGlvbi4KIAotVGhlbiwgdG8gbWFrZSBz dXJlIHlvdXIgT3JnIGNvbmZpZ3VyYXRpb24gaXMgdGFrZW4gaW50byBhY2NvdW50LCBpbml0aWFs aXplCi10aGUgcGFja2FnZSBzeXN0ZW0gd2l0aCBAY29kZXsocGFja2FnZS1pbml0aWFsaXplKX0g aW4geW91ciBFbWFjcyBpbml0IGZpbGUKLWJlZm9yZSBzZXR0aW5nIGFueSBPcmcgb3B0aW9uLiAg SWYgeW91IHdhbnQgdG8gdXNlIE9yZydzIHBhY2thZ2UgcmVwb3NpdG9yeSwKK0lmIHlvdSB3YW50 IHRvIHVzZSBPcmcncyBwYWNrYWdlIHJlcG9zaXRvcnksCiBjaGVjayBvdXQgdGhlIEB1cmVme2h0 dHA6Ly9vcmdtb2RlLm9yZy9lbHBhLmh0bWwsIE9yZyBFTFBBIHBhZ2V9LgogCiBAc3Vic3ViaGVh ZGluZyBEb3dubG9hZGluZyBPcmcgYXMgYW4gYXJjaGl2ZQpkaWZmIC0tZ2l0IGEvZXRjL05FV1Mg Yi9ldGMvTkVXUwppbmRleCBhZDMxNTUzNjAzLi45N2YwOGRjMGQ5IDEwMDY0NAotLS0gYS9ldGMv TkVXUworKysgYi9ldGMvTkVXUwpAQCAtNDksNiArNDksMjYgQEAgdG8gcmVkdWNlIGRpZmZlcmVu Y2VzIGJldHdlZW4gZGV2ZWxvcGVyIGFuZCBwcm9kdWN0aW9uIGJ1aWxkcy4KIAwKICogU3RhcnR1 cCBDaGFuZ2VzIGluIEVtYWNzIDI3LjEKIAorKysrCisqKiBFbWFjcyBjYW4gbm93IGJlIGNvbmZp Z3VyZWQgdXNpbmcgYW4gZWFybHkgaW5pdCBmaWxlLgorVGhlIGZpbGUgaXMgY2FsbGVkICdlYXJs eS1pbml0LmVsJywgaW4gJ3VzZXItZW1hY3MtZGlyZWN0b3J5Jy4gIEl0IGlzCitsb2FkZWQgdmVy eSBlYXJseSBpbiB0aGUgc3RhcnR1cCBwcm9jZXNzOiBiZWZvcmUgZ3JhcGhpY2FsIGVsZW1lbnRz CitzdWNoIGFzIHRoZSB0b29sIGJhciBhcmUgaW5pdGlhbGl6ZWQsIGFuZCBiZWZvcmUgdGhlIHBh Y2thZ2UgbWFuYWdlcgoraXMgaW5pdGlhbGl6ZWQuCisKKysrKworKiogRW1hY3Mgbm93IGNhbGxz ICdwYWNrYWdlLWluaXRpYWxpemUnIGJlZm9yZSBsb2FkaW5nIHRoZSBpbml0IGZpbGUuCitUaGlz IGlzIHBhcnQgb2YgYSBjaGFuZ2UgaW50ZW5kZWQgdG8gZWxpbWluYXRlIHRoZSBiZWhhdmlvciBv ZgorcGFja2FnZS5lbCBpbnNlcnRpbmcgYSBjYWxsIHRvICdwYWNrYWdlLWluaXRpYWxpemUnIGlu dG8gdGhlIGluaXQKK2ZpbGUsIHdoaWNoIHdhcyBwcmV2aW91c2x5IGRvbmUgd2hlbiBFbWFjcyB3 YXMgc3RhcnRlZC4gIFlvdSBvbmx5IG5lZWQKK3RvIG1ha2UgY2hhbmdlcyB0byB5b3VyIGNvbmZp Z3VyYXRpb24gaWYgc29tZSBvZiBpdCBuZWVkcyB0byBiZSBydW4KK2JlZm9yZSAncGFja2FnZS1p bml0aWFsaXplJyBpcyBjYWxsZWQgKGZvciBleGFtcGxlLCBpZiB5b3Ugc2V0CisncGFja2FnZS1s b2FkLWxpc3QnIG9yICdwYWNrYWdlLXVzZXItZGlyJykuICBJbiB0aGF0IGNhc2UsIHBsYWNlIHRo ZQorY29uZmlndXJhdGlvbiB0aGF0IG5lZWRzIHRvIGJlIHJ1biBiZWZvcmUgJ3BhY2thZ2UtaW5p dGlhbGl6ZScgaW50bwordGhlIGVhcmx5IGluaXQgZmlsZS4gIE5vdGUgdGhhdCB2YXJpYWJsZXMg bGlrZSAncGFja2FnZS1hcmNoaXZlcycgY2FuCitiZSBzZXQgYWZ0ZXIgJ3BhY2thZ2UtaW5pdGlh bGl6ZScsIHNvIHRoZXkgY2FuIHN0aWxsIGJlIGN1c3RvbWl6ZWQgaW4KK3RoZSByZWd1bGFyIGlu aXQgZmlsZS4KKwogDAogKiBDaGFuZ2VzIGluIEVtYWNzIDI3LjEKIApkaWZmIC0tZ2l0IGEvbGlz cC9lbWFjcy1saXNwL3BhY2thZ2UuZWwgYi9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS5lbAppbmRl eCA3MWQxYzQxZWMzLi5hYjAyZDQyNTViIDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3AvcGFj a2FnZS5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS5lbApAQCAtMTQzMSwxNiArMTQz MSwxMSBAQCBwYWNrYWdlLXJlYWQtYWxsLWFyY2hpdmUtY29udGVudHMKIDs7IGF2YWlsYWJsZSBv biBkaXNrLgogKGRlZnZhciBwYWNrYWdlLS1pbml0aWFsaXplZCBuaWwpCiAKLShkZWZ2YXIgcGFj a2FnZS0taW5pdC1maWxlLWVuc3VyZWQgbmlsCi0gICJXaGV0aGVyIHdlIGtub3cgdGhlIGluaXQg ZmlsZSBoYXMgcGFja2FnZS1pbml0aWFsaXplLiIpCi0KIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4g cGFja2FnZS1pbml0aWFsaXplICgmb3B0aW9uYWwgbm8tYWN0aXZhdGUpCiAgICJMb2FkIEVtYWNz IExpc3AgcGFja2FnZXMsIGFuZCBhY3RpdmF0ZSB0aGVtLgogVGhlIHZhcmlhYmxlIGBwYWNrYWdl LWxvYWQtbGlzdCcgY29udHJvbHMgd2hpY2ggcGFja2FnZXMgdG8gbG9hZC4KIElmIG9wdGlvbmFs IGFyZyBOTy1BQ1RJVkFURSBpcyBub24tbmlsLCBkb24ndCBhY3RpdmF0ZSBwYWNrYWdlcy4KLUlm IGB1c2VyLWluaXQtZmlsZScgZG9lcyBub3QgbWVudGlvbiBgKHBhY2thZ2UtaW5pdGlhbGl6ZSkn LCBhZGQKLWl0IHRvIHRoZSBmaWxlLgogSWYgY2FsbGVkIGFzIHBhcnQgb2YgbG9hZGluZyBgdXNl ci1pbml0LWZpbGUnLCBzZXQKIGBwYWNrYWdlLWVuYWJsZS1hdC1zdGFydHVwJyB0byBuaWwsIHRv IHByZXZlbnQgYWNjaWRlbnRhbGx5CiBsb2FkaW5nIHBhY2thZ2VzIHR3aWNlLgpAQCAtMTQ0OSwx MyArMTQ0NCw3IEBAIHBhY2thZ2UtaW5pdGlhbGl6ZQogdGFrZW4gY2FyZSBvZiBieSBgcGFja2Fn ZS1pbml0aWFsaXplJy4iCiAgIChpbnRlcmFjdGl2ZSkKICAgKHNldHEgcGFja2FnZS1hbGlzdCBu aWwpCi0gIChpZiBhZnRlci1pbml0LXRpbWUKLSAgICAgIChwYWNrYWdlLS1lbnN1cmUtaW5pdC1m aWxlKQotICAgIDs7IElmIGBwYWNrYWdlLWluaXRpYWxpemUnIGlzIGJlZm9yZSB3ZSBmaW5pc2hl ZCBsb2FkaW5nIHRoZSBpbml0Ci0gICAgOzsgZmlsZSwgaXQncyBvYnZpb3VzIHdlIGRvbid0IG5l ZWQgdG8gZW5zdXJlLWluaXQuCi0gICAgKHNldHEgcGFja2FnZS0taW5pdC1maWxlLWVuc3VyZWQg dAotICAgICAgICAgIDs7IEFuZCBsaWtlbHkgd2UgZG9uJ3QgbmVlZCB0byBydW4gaXQgYWdhaW4g YWZ0ZXIgaW5pdC4KLSAgICAgICAgICBwYWNrYWdlLWVuYWJsZS1hdC1zdGFydHVwIG5pbCkpCisg IChzZXRxIHBhY2thZ2UtZW5hYmxlLWF0LXN0YXJ0dXAgbmlsKQogICAocGFja2FnZS1sb2FkLWFs bC1kZXNjcmlwdG9ycykKICAgKHBhY2thZ2UtcmVhZC1hbGwtYXJjaGl2ZS1jb250ZW50cykKICAg KHVubGVzcyBuby1hY3RpdmF0ZQpAQCAtMTg3Miw2NCArMTg2MSw2IEBAIHBhY2thZ2UtZG93bmxv YWQtdHJhbnNhY3Rpb24KIHVzaW5nIGBwYWNrYWdlLWNvbXB1dGUtdHJhbnNhY3Rpb24nLiIKICAg KG1hcGMgIydwYWNrYWdlLWluc3RhbGwtZnJvbS1hcmNoaXZlIHBhY2thZ2VzKSkKIAotKGRlZnVu IHBhY2thZ2UtLWVuc3VyZS1pbml0LWZpbGUgKCkKLSAgIkVuc3VyZSB0aGF0IHRoZSB1c2VyJ3Mg aW5pdCBmaWxlIGhhcyBgcGFja2FnZS1pbml0aWFsaXplJy4KLWBwYWNrYWdlLWluaXRpYWxpemUn IGRvZXNuJ3QgaGF2ZSB0byBiZSBjYWxsZWQsIGFzIGxvbmcgYXMgaXQgaXMKLXByZXNlbnQgc29t ZXdoZXJlIGluIHRoZSBmaWxlLCBldmVuIGFzIGEgY29tbWVudC4gIElmIGl0IGlzIG5vdCwKLWFk ZCBhIGNhbGwgdG8gaXQgYWxvbmcgd2l0aCBzb21lIGV4cGxhbmF0b3J5IGNvbW1lbnRzLiIKLSAg OzsgRG9uJ3QgbWVzcyB3aXRoIHRoZSBpbml0LWZpbGUgZnJvbSAiZW1hY3MgLVEiLgotICAod2hl biAoYW5kIChzdHJpbmdwIHVzZXItaW5pdC1maWxlKQotICAgICAgICAgICAgIChub3QgcGFja2Fn ZS0taW5pdC1maWxlLWVuc3VyZWQpCi0gICAgICAgICAgICAgKGZpbGUtcmVhZGFibGUtcCB1c2Vy LWluaXQtZmlsZSkKLSAgICAgICAgICAgICAoZmlsZS13cml0YWJsZS1wIHVzZXItaW5pdC1maWxl KSkKLSAgICAobGV0KiAoKGJ1ZmZlciAoZmluZC1idWZmZXItdmlzaXRpbmcgdXNlci1pbml0LWZp bGUpKQotICAgICAgICAgICBidWZmZXItbmFtZQotICAgICAgICAgICAoY29udGFpbnMtaW5pdAot ICAgICAgICAgICAgKGlmIGJ1ZmZlcgotICAgICAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVm ZmVyIGJ1ZmZlcgotICAgICAgICAgICAgICAgICAgKHNhdmUtZXhjdXJzaW9uCi0gICAgICAgICAg ICAgICAgICAgIChzYXZlLXJlc3RyaWN0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgKHdpZGVu KQotICAgICAgICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCi0gICAgICAg ICAgICAgICAgICAgICAgKHJlLXNlYXJjaC1mb3J3YXJkICIocGFja2FnZS1pbml0aWFsaXplXFxf PiIgbmlsICdub2Vycm9yKSkpKQotICAgICAgICAgICAgICA7OyBEb24ndCB2aXNpdCB0aGUgZmls ZSBpZiB3ZSBkb24ndCBoYXZlIHRvLgotICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgot ICAgICAgICAgICAgICAgIChpbnNlcnQtZmlsZS1jb250ZW50cyB1c2VyLWluaXQtZmlsZSkKLSAg ICAgICAgICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQotICAgICAgICAgICAgICAgIChy ZS1zZWFyY2gtZm9yd2FyZCAiKHBhY2thZ2UtaW5pdGlhbGl6ZVxcXz4iIG5pbCAnbm9lcnJvcikp KSkpCi0gICAgICAodW5sZXNzIGNvbnRhaW5zLWluaXQKLSAgICAgICAgKHdpdGgtY3VycmVudC1i dWZmZXIgKG9yIGJ1ZmZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAo KGRlbGF5LW1vZGUtaG9va3MgdCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChmaW5kLWZpbGUtdmlzaXQtdHJ1ZW5hbWUgdCkpCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChmaW5kLWZpbGUtbm9zZWxlY3QgdXNlci1pbml0LWZpbGUpKSkKLSAgICAg ICAgICAod2hlbiBidWZmZXIKLSAgICAgICAgICAgIChzZXRxIGJ1ZmZlci1uYW1lIChidWZmZXIt ZmlsZS1uYW1lKSkKLSAgICAgICAgICAgIChzZXQtdmlzaXRlZC1maWxlLW5hbWUgKGZpbGUtY2hh c2UtbGlua3MgdXNlci1pbml0LWZpbGUpKSkKLSAgICAgICAgICAoc2F2ZS1leGN1cnNpb24KLSAg ICAgICAgICAgIChzYXZlLXJlc3RyaWN0aW9uCi0gICAgICAgICAgICAgICh3aWRlbikKLSAgICAg ICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKLSAgICAgICAgICAgICAgKHdoaWxlIChh bmQgKGxvb2tpbmctYXQtcCAiW1s6Ymxhbms6XV0qXFwoO1xcfCRcXCkiKQotICAgICAgICAgICAg ICAgICAgICAgICAgICAobm90IChlb2JwKSkpCi0gICAgICAgICAgICAgICAgKGZvcndhcmQtbGlu ZSAxKSkKLSAgICAgICAgICAgICAgKGluc2VydAotICAgICAgICAgICAgICAgIlxuIgotICAgICAg ICAgICAgICAgIjs7IEFkZGVkIGJ5IFBhY2thZ2UuZWwuICBUaGlzIG11c3QgY29tZSBiZWZvcmUg Y29uZmlndXJhdGlvbnMgb2ZcbiIKLSAgICAgICAgICAgICAgICI7OyBpbnN0YWxsZWQgcGFja2Fn ZXMuICBEb24ndCBkZWxldGUgdGhpcyBsaW5lLiAgSWYgeW91IGRvbid0IHdhbnQgaXQsXG4iCi0g ICAgICAgICAgICAgICAiOzsganVzdCBjb21tZW50IGl0IG91dCBieSBhZGRpbmcgYSBzZW1pY29s b24gdG8gdGhlIHN0YXJ0IG9mIHRoZSBsaW5lLlxuIgotICAgICAgICAgICAgICAgIjs7IFlvdSBt YXkgZGVsZXRlIHRoZXNlIGV4cGxhbmF0b3J5IGNvbW1lbnRzLlxuIgotICAgICAgICAgICAgICAg IihwYWNrYWdlLWluaXRpYWxpemUpXG4iKQotICAgICAgICAgICAgICAodW5sZXNzIChsb29raW5n LWF0LXAgIiQiKQotICAgICAgICAgICAgICAgIChpbnNlcnQgIlxuIikpCi0gICAgICAgICAgICAg IChsZXQgKChmaWxlLXByZWNpb3VzLWZsYWcgdCkpCi0gICAgICAgICAgICAgICAgKHNhdmUtYnVm ZmVyKSkKLSAgICAgICAgICAgICAgKGlmIGJ1ZmZlcgotICAgICAgICAgICAgICAgICAgKHByb2du Ci0gICAgICAgICAgICAgICAgICAgIChzZXQtdmlzaXRlZC1maWxlLW5hbWUgYnVmZmVyLW5hbWUp Ci0gICAgICAgICAgICAgICAgICAgIChzZXQtYnVmZmVyLW1vZGlmaWVkLXAgbmlsKSkKLSAgICAg ICAgICAgICAgICAoa2lsbC1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkpKSkpKSkpCi0gIChzZXRx IHBhY2thZ2UtLWluaXQtZmlsZS1lbnN1cmVkIHQpKQotCiA7OzsjIyNhdXRvbG9hZAogKGRlZnVu IHBhY2thZ2UtaW5zdGFsbCAocGtnICZvcHRpb25hbCBkb250LXNlbGVjdCkKICAgIkluc3RhbGwg dGhlIHBhY2thZ2UgUEtHLgpkaWZmIC0tZ2l0IGEvbGlzcC9zdGFydHVwLmVsIGIvbGlzcC9zdGFy dHVwLmVsCmluZGV4IDhjMzZjMTllODIuLjY5YmM4ZmE3ODEgMTAwNjQ0Ci0tLSBhL2xpc3Avc3Rh cnR1cC5lbAorKysgYi9saXNwL3N0YXJ0dXAuZWwKQEAgLTMxMiw2ICszMTIsMTIgQEAgaW5oaWJp dC1zdGFydHVwLWhvb2tzCiBDdXJyZW50bHkgdGhpcyBhcHBsaWVzIHRvOiBgZW1hY3Mtc3RhcnR1 cC1ob29rJywgYHRlcm0tc2V0dXAtaG9vaycsCiBhbmQgYHdpbmRvdy1zZXR1cC1ob29rJy4iKQog CisoZGVmdmFyIGVhcmx5LWluaXQtZmlsZSBuaWwKKyAgIkZpbGUgbmFtZSwgaW5jbHVkaW5nIGRp cmVjdG9yeSwgb2YgdXNlcidzIGVhcmx5IGluaXQgZmlsZS4KK1NlZSBgdXNlci1pbml0LWZpbGUn LiAgVGhlIG9ubHkgZGlmZmVyZW5jZSBpcyB0aGF0CitgZWFybHktaW5pdC1maWxlJyBpcyBub3Qg c2V0IGR1cmluZyB0aGUgY291cnNlIG9mIGV2YWx1YXRpbmcgdGhlCitlYXJseSBpbml0IGZpbGUu IikKKwogKGRlZnZhciBrZXlib2FyZC10eXBlIG5pbAogICAiVGhlIGJyYW5kIG9mIGtleWJvYXJk IHlvdSBhcmUgdXNpbmcuCiBUaGlzIHZhcmlhYmxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBwcm9w ZXIgZnVuY3Rpb24gYW5kIGtleXBhZApAQCAtODcwLDYgKzg3NiwxMDMgQEAgc3RhcnR1cC0tc2V0 dXAtcXVvdGUtZGlzcGxheQogICAgICAgICAgICh3aGVuIHN0YW5kYXJkLWRpc3BsYXktdGFibGUK ICAgICAgICAgICAgIChhc2V0IHN0YW5kYXJkLWRpc3BsYXktdGFibGUgY2hhciBuaWwpKSkpKSkp CiAKKyhkZWZ1biBsb2FkLXVzZXItaW5pdC1maWxlCisgICAgKGZpbGVuYW1lLWZ1bmN0aW9uICZv cHRpb25hbCBhbHRlcm5hdGUtZmlsZW5hbWUtZnVuY3Rpb24gbG9hZC1kZWZhdWx0cykKKyAgIkxv YWQgYSB1c2VyIGluaXQtZmlsZS4KK0ZJTEVOQU1FLUZVTkNUSU9OIGlzIGNhbGxlZCB3aXRoIG5v IGFyZ3VtZW50cyBhbmQgc2hvdWxkIHJldHVybgordGhlIG5hbWUgb2YgdGhlIGluaXQtZmlsZSB0 byBsb2FkLiAgSWYgdGhpcyBmaWxlIGNhbm5vdCBiZQorbG9hZGVkLCBhbmQgQUxURVJOQVRFLUZJ TEVOQU1FLUZVTkNUSU9OIGlzIG5vbi1uaWwsIHRoZW4gaXQgaXMKK2NhbGxlZCB3aXRoIG5vIGFy Z3VtZW50cyBhbmQgc2hvdWxkIHJldHVybiB0aGUgbmFtZSBvZiBhbgorYWx0ZXJuYXRlIGluaXQt ZmlsZSB0byBsb2FkLiAgSWYgTE9BRC1ERUZBVUxUUyBpcyBub24tbmlsLCB0aGVuCitsb2FkIGRl ZmF1bHQuZWwgYWZ0ZXIgdGhlIGluaXQtZmlsZS4KKworVGhpcyBmdW5jdGlvbiBzZXRzIGB1c2Vy LWluaXQtZmlsZScgdG8gdGhlIG5hbWUgb2YgdGhlIGxvYWRlZAoraW5pdC1maWxlLCBvciB0byBh IGRlZmF1bHQgdmFsdWUgaWYgbG9hZGluZyBpcyBub3QgcG9zc2libGUuIgorICAobGV0ICgoZGVi dWctb24tZXJyb3ItZnJvbS1pbml0LWZpbGUgbmlsKQorICAgICAgICAoZGVidWctb24tZXJyb3It c2hvdWxkLWJlLXNldCBuaWwpCisgICAgICAgIChkZWJ1Zy1vbi1lcnJvci1pbml0aWFsCisgICAg ICAgICAoaWYgKGVxIGluaXQtZmlsZS1kZWJ1ZyB0KQorICAgICAgICAgICAgICdzdGFydHVwCisg ICAgICAgICAgIGluaXQtZmlsZS1kZWJ1ZykpKQorICAgIChsZXQgKChkZWJ1Zy1vbi1lcnJvciBk ZWJ1Zy1vbi1lcnJvci1pbml0aWFsKQorICAgICAgICAgIDs7IFdlIGNyZWF0ZSBhbiBhbm9ueW1v dXMgZnVuY3Rpb24gaGVyZSBzbyB0aGF0IHdlIGNhbiBjYWxsCisgICAgICAgICAgOzsgaXQgaW4g ZGlmZmVyZW50IGNvbnRleHRzIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YKKyAgICAgICAgICA7 OyBgZGVidWctb24tZXJyb3InLgorICAgICAgICAgIChyZWFkLWluaXQtZmlsZQorICAgICAgICAg ICAobGFtYmRhICgpCisgICAgICAgICAgICAgKHdoZW4gaW5pdC1maWxlLXVzZXIKKyAgICAgICAg ICAgICAgIChsZXQgKChpbml0LWZpbGUtbmFtZSAoZnVuY2FsbCBmaWxlbmFtZS1mdW5jdGlvbikp KQorCisgICAgICAgICAgICAgICAgIDs7IElmIGB1c2VyLWluaXQtZmlsZScgaXMgdCwgdGhlbiBg bG9hZCcgd2lsbCBzdG9yZQorICAgICAgICAgICAgICAgICA7OyB0aGUgbmFtZSBvZiB0aGUgZmls ZSB0aGF0IGl0IGxvYWRzIGludG8KKyAgICAgICAgICAgICAgICAgOzsgYHVzZXItaW5pdC1maWxl Jy4KKyAgICAgICAgICAgICAgICAgKHNldHEgdXNlci1pbml0LWZpbGUgdCkKKyAgICAgICAgICAg ICAgICAgKGxvYWQgaW5pdC1maWxlLW5hbWUgJ25vZXJyb3IgJ25vbWVzc2FnZSkKKworICAgICAg ICAgICAgICAgICAod2hlbiAoYW5kIChlcSB1c2VyLWluaXQtZmlsZSB0KSBhbHRlcm5hdGUtZmls ZW5hbWUtZnVuY3Rpb24pCisgICAgICAgICAgICAgICAgICAgKGxvYWQgKGZ1bmNhbGwgYWx0ZXJu YXRlLWZpbGVuYW1lLWZ1bmN0aW9uKQorICAgICAgICAgICAgICAgICAgICAgICAgICdub2Vycm9y ICdub21lc3NhZ2UpKQorCisgICAgICAgICAgICAgICAgIDs7IElmIHdlIGRpZCBub3QgZmluZCB0 aGUgdXNlcidzIGluaXQgZmlsZSwgc2V0CisgICAgICAgICAgICAgICAgIDs7IHVzZXItaW5pdC1m aWxlIGNvbmNsdXNpdmVseS4gIERvbid0IGxldCBpdCBiZQorICAgICAgICAgICAgICAgICA7OyBz ZXQgZnJvbSBkZWZhdWx0LmVsLgorICAgICAgICAgICAgICAgICAod2hlbiAoZXEgdXNlci1pbml0 LWZpbGUgdCkKKyAgICAgICAgICAgICAgICAgICAoc2V0cSB1c2VyLWluaXQtZmlsZSBpbml0LWZp bGUtbmFtZSkpKQorCisgICAgICAgICAgICAgICA7OyBJZiB3ZSBsb2FkZWQgYSBjb21waWxlZCBm aWxlLCBzZXQgYHVzZXItaW5pdC1maWxlJyB0bworICAgICAgICAgICAgICAgOzsgdGhlIHNvdXJj ZSB2ZXJzaW9uIGlmIHRoYXQgZXhpc3RzLgorICAgICAgICAgICAgICAgKHdoZW4gKGVxdWFsIChm aWxlLW5hbWUtZXh0ZW5zaW9uIHVzZXItaW5pdC1maWxlKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJlbGMiKQorICAgICAgICAgICAgICAgICAobGV0KiAoKHNvdXJjZSAoZmlsZS1uYW1l LXNhbnMtZXh0ZW5zaW9uIHVzZXItaW5pdC1maWxlKSkKKyAgICAgICAgICAgICAgICAgICAgICAg IChhbHQgKGNvbmNhdCBzb3VyY2UgIi5lbCIpKSkKKyAgICAgICAgICAgICAgICAgICAoc2V0cSBz b3VyY2UgKGNvbmQgKChmaWxlLWV4aXN0cy1wIGFsdCkgYWx0KQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoKGZpbGUtZXhpc3RzLXAgc291cmNlKSBzb3VyY2UpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0IG5pbCkpKQorICAgICAgICAgICAg ICAgICAgICh3aGVuIHNvdXJjZQorICAgICAgICAgICAgICAgICAgICAgKHdoZW4gKGZpbGUtbmV3 ZXItdGhhbi1maWxlLXAgc291cmNlIHVzZXItaW5pdC1maWxlKQorICAgICAgICAgICAgICAgICAg ICAgICAobWVzc2FnZSAiV2FybmluZzogJXMgaXMgbmV3ZXIgdGhhbiAlcyIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc291cmNlIHVzZXItaW5pdC1maWxlKQorICAgICAgICAgICAg ICAgICAgICAgICAoc2l0LWZvciAxKSkKKyAgICAgICAgICAgICAgICAgICAgIChzZXRxIHVzZXIt aW5pdC1maWxlIHNvdXJjZSkpKSkKKworICAgICAgICAgICAgICAgKHdoZW4gbG9hZC1kZWZhdWx0 cworCisgICAgICAgICAgICAgICAgIDs7IFByZXZlbnQgZGVmYXVsdC5lbCBmcm9tIGNoYW5naW5n IHRoZSB2YWx1ZSBvZgorICAgICAgICAgICAgICAgICA7OyBgaW5oaWJpdC1zdGFydHVwLXNjcmVl bicuCisgICAgICAgICAgICAgICAgIChsZXQgKChpbmhpYml0LXN0YXJ0dXAtc2NyZWVuIG5pbCkp CisgICAgICAgICAgICAgICAgICAgKGxvYWQgImRlZmF1bHQiICdub2Vycm9yICdub21lc3NhZ2Up KSkpKSkpCisgICAgICA7OyBOb3cgY2FsbCBvdXIgYW5vbnltb3VzIGZ1bmN0aW9uLgorICAgICAg KGlmIGluaXQtZmlsZS1kZWJ1ZworICAgICAgICAgIDs7IERvIHRoaXMgd2l0aG91dCBhIGBjb25k aXRpb24tY2FzZScgaWYgdGhlIHVzZXIgd2FudHMgdG8KKyAgICAgICAgICA7OyBkZWJ1Zy4KKyAg ICAgICAgICAoZnVuY2FsbCByZWFkLWluaXQtZmlsZSkKKyAgICAgICAgKGNvbmRpdGlvbi1jYXNl IGVycm9yCisgICAgICAgICAgICAoZnVuY2FsbCByZWFkLWluaXQtZmlsZSkKKyAgICAgICAgICAo ZXJyb3IKKyAgICAgICAgICAgKGRpc3BsYXktd2FybmluZworICAgICAgICAgICAgJ2luaXRpYWxp emF0aW9uCisgICAgICAgICAgICAoZm9ybWF0LW1lc3NhZ2UgIlwKK0FuIGVycm9yIG9jY3VycmVk IHdoaWxlIGxvYWRpbmcgYCVzJzpcblxuJXMlcyVzXG5cblwKK1RvIGVuc3VyZSBub3JtYWwgb3Bl cmF0aW9uLCB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIGFuZCByZW1vdmUgdGhlCitjYXVzZSBvZiB0 aGUgZXJyb3IgaW4geW91ciBpbml0aWFsaXphdGlvbiBmaWxlLiAgU3RhcnQgRW1hY3Mgd2l0aAor dGhlIGAtLWRlYnVnLWluaXQnIG9wdGlvbiB0byB2aWV3IGEgY29tcGxldGUgZXJyb3IgYmFja3Ry YWNlLiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyLWluaXQtZmlsZQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChnZXQgKGNhciBlcnJvcikgJ2Vycm9yLW1lc3NhZ2UpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChjZHIgZXJyb3IpICI6ICIgIiIpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNvbmNhdCAobGFtYmRhIChzKSAocHJpbjEtdG8t c3RyaW5nIHMgdCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2Ry IGVycm9yKSAiLCAiKSkKKyAgICAgICAgICAgIDp3YXJuaW5nKQorICAgICAgICAgICAoc2V0cSBp bml0LWZpbGUtaGFkLWVycm9yIHQpKSkpCisKKyAgICAgIDs7IElmIHdlIGNhbiB0ZWxsIHRoYXQg dGhlIGluaXQgZmlsZSBhbHRlcmVkIGRlYnVnLW9uLWVycm9yLAorICAgICAgOzsgYXJyYW5nZSB0 byBwcmVzZXJ2ZSB0aGUgdmFsdWUgdGhhdCBpdCBzZXQgdXAuCisgICAgICAob3IgKGVxIGRlYnVn LW9uLWVycm9yIGRlYnVnLW9uLWVycm9yLWluaXRpYWwpCisgICAgICAgICAgKHNldHEgZGVidWct b24tZXJyb3Itc2hvdWxkLWJlLXNldCB0CisgICAgICAgICAgICAgICAgZGVidWctb24tZXJyb3It ZnJvbS1pbml0LWZpbGUgZGVidWctb24tZXJyb3IpKSkKKworICAgICh3aGVuIGRlYnVnLW9uLWVy cm9yLXNob3VsZC1iZS1zZXQKKyAgICAgIChzZXRxIGRlYnVnLW9uLWVycm9yIGRlYnVnLW9uLWVy cm9yLWZyb20taW5pdC1maWxlKSkpKQorCiAoZGVmdW4gY29tbWFuZC1saW5lICgpCiAgICJBIHN1 YnJvdXRpbmUgb2YgYG5vcm1hbC10b3AtbGV2ZWwnLgogQW1vbmdzdCBhbm90aGVyIHRoaW5ncywg aXQgcGFyc2VzIHRoZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzLiIKQEAgLTEwMjEsNiArMTEyNCw2 OSBAQCBjb21tYW5kLWxpbmUKICAgICAoYW5kIGNvbW1hbmQtbGluZS1hcmdzCiAgICAgICAgICAo c2V0Y2RyIGNvbW1hbmQtbGluZS1hcmdzIGFyZ3MpKSkKIAorICA7OyBXYXJuIGZvciBpbnZhbGlk IHVzZXIgbmFtZS4KKyAgKHdoZW4gaW5pdC1maWxlLXVzZXIKKyAgICAoaWYgKHN0cmluZy1tYXRj aCAiW34vOlxuXSIgaW5pdC1maWxlLXVzZXIpCisgICAgICAgIChkaXNwbGF5LXdhcm5pbmcgJ2lu aXRpYWxpemF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdCAiSW52YWxpZCB1 c2VyIG5hbWUgJXMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0LWZpbGUt dXNlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICA6ZXJyb3IpCisgICAgICAoaWYgKGZpbGUt ZGlyZWN0b3J5LXAgKGV4cGFuZC1maWxlLW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgV2UgZG9uJ3Qgc3VwcG9ydCB+VVNFUiBvbiBNUy1XaW5kb3dzCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IGFuZCBNUy1ET1MgZXhjZXB0IGZvciB0aGUgY3VycmVudAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7OyB1c2VyLCBhbmQgYWx3YXlzIGxvYWQgLmVtYWNz IGZyb20KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgdGhlIGN1cnJlbnQgdXNlcidz IGhvbWUgZGlyZWN0b3J5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IChzZWUgYmVs b3cpLiAgU28gYWx3YXlzIGNoZWNrICJ+IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OzsgZXZlbiBpZiBpbnZva2VkIHdpdGggIi11IFVTRVIiLCBvcgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA7OyBpZiAkVVNFUiBvciAkTE9HTkFNRSBhcmUgc2V0IHRvCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDs7IHNvbWV0aGluZyBkaWZmZXJlbnQuCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChpZiAobWVtcSBzeXN0ZW0tdHlwZSAnKHdpbmRvd3MtbnQgbXMtZG9z KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ+IgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChjb25jYXQgIn4iIGluaXQtZmlsZS11c2VyKSkpKQorICAgICAgICAg IG5pbAorICAgICAgICAoZGlzcGxheS13YXJuaW5nICdpbml0aWFsaXphdGlvbgorICAgICAgICAg ICAgICAgICAgICAgICAgIChmb3JtYXQgIlVzZXIgJXMgaGFzIG5vIGhvbWUgZGlyZWN0b3J5Igor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcXVhbCBpbml0LWZpbGUtdXNl ciAiIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodXNlci1yZWFsLWxv Z2luLW5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXQtZmlsZS11 c2VyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICA6ZXJyb3IpKSkpCisKKyAgOzsgTG9hZCB0 aGUgZWFybHkgaW5pdCBmaWxlLCBpZiBmb3VuZC4KKyAgKGxvYWQtdXNlci1pbml0LWZpbGUKKyAg IChsYW1iZGEgKCkKKyAgICAgKGV4cGFuZC1maWxlLW5hbWUKKyAgICAgICJlYXJseS1pbml0Igor ICAgICAgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkKKyAgICAgICAoY29uY2F0ICJ+IiBpbml0LWZp bGUtdXNlciAiLy5lbWFjcy5kIikpKSkpCisgIChzZXRxIGVhcmx5LWluaXQtZmlsZSB1c2VyLWlu aXQtZmlsZSkKKworICA7OyBJZiBhbnkgcGFja2FnZSBkaXJlY3RvcnkgZXhpc3RzLCBpbml0aWFs aXplIHRoZSBwYWNrYWdlIHN5c3RlbS4KKyAgKGFuZCB1c2VyLWluaXQtZmlsZQorICAgICAgIHBh Y2thZ2UtZW5hYmxlLWF0LXN0YXJ0dXAKKyAgICAgICAoY2F0Y2ggJ3BhY2thZ2UtZGlyLWZvdW5k CisJIChsZXQgKGRpcnMpCisJICAgKGlmIChib3VuZHAgJ3BhY2thZ2UtZGlyZWN0b3J5LWxpc3Qp CisJICAgICAgIChzZXRxIGRpcnMgcGFja2FnZS1kaXJlY3RvcnktbGlzdCkKKwkgICAgIChkb2xp c3QgKGYgbG9hZC1wYXRoKQorCSAgICAgICAoYW5kIChzdHJpbmdwIGYpCisJCSAgICAoZXF1YWwg KGZpbGUtbmFtZS1ub25kaXJlY3RvcnkgZikgInNpdGUtbGlzcCIpCisJCSAgICAocHVzaCAoZXhw YW5kLWZpbGUtbmFtZSAiZWxwYSIgZikgZGlycykpKSkKKwkgICAocHVzaCAoaWYgKGJvdW5kcCAn cGFja2FnZS11c2VyLWRpcikKKwkJICAgICBwYWNrYWdlLXVzZXItZGlyCisJCSAgIChsb2NhdGUt dXNlci1lbWFjcy1maWxlICJlbHBhIikpCisJCSBkaXJzKQorCSAgIChkb2xpc3QgKGRpciBkaXJz KQorCSAgICAgKHdoZW4gKGZpbGUtZGlyZWN0b3J5LXAgZGlyKQorCSAgICAgICAoZG9saXN0IChz dWJkaXIgKGRpcmVjdG9yeS1maWxlcyBkaXIpKQorCQkgKHdoZW4gKGxldCAoKHN1YmRpciAoZXhw YW5kLWZpbGUtbmFtZSBzdWJkaXIgZGlyKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgKGFu ZCAoZmlsZS1kaXJlY3RvcnktcCBzdWJkaXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZmlsZS1leGlzdHMtcAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHBhbmQt ZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWNrYWdlLS1kZXNj cmlwdGlvbi1maWxlIHN1YmRpcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vi ZGlyKSkpKQorCQkgICAodGhyb3cgJ3BhY2thZ2UtZGlyLWZvdW5kIHQpKSkpKSkpCisgICAgICAg KHBhY2thZ2UtaW5pdGlhbGl6ZSkpCisKICAgOzsgTWFrZSBzdXJlIHdpbmRvdyBzeXN0ZW0ncyBp bml0IGZpbGUgd2FzIGxvYWRlZCBpbiBsb2FkdXAuZWwgaWYKICAgOzsgdXNpbmcgYSB3aW5kb3cg c3lzdGVtLgogICA7OyBJbml0aWFsaXplIHRoZSB3aW5kb3ctc3lzdGVtIG9ubHkgYWZ0ZXIgcHJv Y2Vzc2luZyB0aGUgY29tbWFuZC1saW5lCkBAIC0xMTI4LDE1MyArMTI5NCw0NyBAQCBjb21tYW5k LWxpbmUKICAgICA7OyB0aGUgc3RhcnR1cCBzY3JlZW4uCiAgICAgKHNldHEgaW5oaWJpdC1zdGFy dHVwLXNjcmVlbiBuaWwpCiAKLSAgICA7OyBXYXJuIGZvciBpbnZhbGlkIHVzZXIgbmFtZS4KLSAg ICAod2hlbiBpbml0LWZpbGUtdXNlcgotICAgICAgKGlmIChzdHJpbmctbWF0Y2ggIlt+Lzpcbl0i IGluaXQtZmlsZS11c2VyKQotCSAgKGRpc3BsYXktd2FybmluZyAnaW5pdGlhbGl6YXRpb24KLQkJ CSAgIChmb3JtYXQgIkludmFsaWQgdXNlciBuYW1lICVzIgotCQkJCSAgIGluaXQtZmlsZS11c2Vy KQotCQkJICAgOmVycm9yKQotCShpZiAoZmlsZS1kaXJlY3RvcnktcCAoZXhwYW5kLWZpbGUtbmFt ZQotCQkJICAgICAgIDs7IFdlIGRvbid0IHN1cHBvcnQgflVTRVIgb24gTVMtV2luZG93cwotCQkJ ICAgICAgIDs7IGFuZCBNUy1ET1MgZXhjZXB0IGZvciB0aGUgY3VycmVudAotCQkJICAgICAgIDs7 IHVzZXIsIGFuZCBhbHdheXMgbG9hZCAuZW1hY3MgZnJvbQotCQkJICAgICAgIDs7IHRoZSBjdXJy ZW50IHVzZXIncyBob21lIGRpcmVjdG9yeQotCQkJICAgICAgIDs7IChzZWUgYmVsb3cpLiAgU28g YWx3YXlzIGNoZWNrICJ+IiwKLQkJCSAgICAgICA7OyBldmVuIGlmIGludm9rZWQgd2l0aCAiLXUg VVNFUiIsIG9yCi0JCQkgICAgICAgOzsgaWYgJFVTRVIgb3IgJExPR05BTUUgYXJlIHNldCB0bwot CQkJICAgICAgIDs7IHNvbWV0aGluZyBkaWZmZXJlbnQuCi0JCQkgICAgICAgKGlmIChtZW1xIHN5 c3RlbS10eXBlICcod2luZG93cy1udCBtcy1kb3MpKQotCQkJCSAgICJ+IgotCQkJCSAoY29uY2F0 ICJ+IiBpbml0LWZpbGUtdXNlcikpKSkKLQkgICAgbmlsCi0JICAoZGlzcGxheS13YXJuaW5nICdp bml0aWFsaXphdGlvbgotCQkJICAgKGZvcm1hdCAiVXNlciAlcyBoYXMgbm8gaG9tZSBkaXJlY3Rv cnkiCi0JCQkJICAgKGlmIChlcXVhbCBpbml0LWZpbGUtdXNlciAiIikKLQkJCQkgICAgICAgKHVz ZXItcmVhbC1sb2dpbi1uYW1lKQotCQkJCSAgICAgaW5pdC1maWxlLXVzZXIpKQotCQkJICAgOmVy cm9yKSkpKQotCiAgICAgOzsgTG9hZCB0aGF0IHVzZXIncyBpbml0IGZpbGUsIG9yIHRoZSBkZWZh dWx0IG9uZSwgb3Igbm9uZS4KLSAgICAobGV0IChkZWJ1Zy1vbi1lcnJvci1mcm9tLWluaXQtZmls ZQotCSAgZGVidWctb24tZXJyb3Itc2hvdWxkLWJlLXNldAotCSAgKGRlYnVnLW9uLWVycm9yLWlu aXRpYWwKLQkgICAoaWYgKGVxIGluaXQtZmlsZS1kZWJ1ZyB0KSAnc3RhcnR1cCBpbml0LWZpbGUt ZGVidWcpKSkKLSAgICAgIChsZXQgKChkZWJ1Zy1vbi1lcnJvciBkZWJ1Zy1vbi1lcnJvci1pbml0 aWFsKQotCSAgICA7OyBUaGlzIGZ1bmN0aW9uIGFjdHVhbGx5IHJlYWRzIHRoZSBpbml0IGZpbGVz LgotCSAgICAoaW5uZXIKLQkgICAgIChmdW5jdGlvbgotCSAgICAgIChsYW1iZGEgKCkKLQkJKGlm IGluaXQtZmlsZS11c2VyCi0JCSAgICAobGV0ICgodXNlci1pbml0LWZpbGUtMQotCQkJICAgKGNv bmQKLQkJCSAgICAgKChlcSBzeXN0ZW0tdHlwZSAnbXMtZG9zKQotCQkJICAgICAgKGNvbmNhdCAi fiIgaW5pdC1maWxlLXVzZXIgIi9fZW1hY3MiKSkKLQkJCSAgICAgKChub3QgKGVxIHN5c3RlbS10 eXBlICd3aW5kb3dzLW50KSkKLQkJCSAgICAgIChjb25jYXQgIn4iIGluaXQtZmlsZS11c2VyICIv LmVtYWNzIikpCi0JCQkgICAgIDs7IEVsc2UgZGVhbCB3aXRoIHRoZSBXaW5kb3dzIHNpdHVhdGlv bgotCQkJICAgICAoKGRpcmVjdG9yeS1maWxlcyAifiIgbmlsICJeXFwuZW1hY3NcXChcXC5lbGM/ XFwpPyQiKQotCQkJICAgICAgOzsgUHJlZmVyIC5lbWFjcyBvbiBXaW5kb3dzLgotCQkJICAgICAg In4vLmVtYWNzIikKLQkJCSAgICAgKChkaXJlY3RvcnktZmlsZXMgIn4iIG5pbCAiXl9lbWFjc1xc KFxcLmVsYz9cXCk/JCIpCi0JCQkgICAgICA7OyBBbHNvIHN1cHBvcnQgX2VtYWNzIGZvciBjb21w YXRpYmlsaXR5LCBidXQgd2FybiBhYm91dCBpdC4KLQkJCSAgICAgIChwdXNoIGAoaW5pdGlhbGl6 YXRpb24KLQkJCQkgICAgICAsKGZvcm1hdC1tZXNzYWdlCi0JCQkJCSJgX2VtYWNzJyBpbml0IGZp bGUgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBgLmVtYWNzJyIpKQotCQkJCSAgICBkZWxheWVk LXdhcm5pbmdzLWxpc3QpCi0JCQkgICAgICAifi9fZW1hY3MiKQotCQkJICAgICAodCA7OyBCdXQg ZGVmYXVsdCB0byAuZW1hY3MgaWYgX2VtYWNzIGRvZXMgbm90IGV4aXN0LgotCQkJICAgICAgIn4v LmVtYWNzIikpKSkKLQkJICAgICAgOzsgVGhpcyB0ZWxscyBgbG9hZCcgdG8gc3RvcmUgdGhlIGZp bGUgbmFtZSBmb3VuZAotCQkgICAgICA7OyBpbnRvIHVzZXItaW5pdC1maWxlLgotCQkgICAgICAo c2V0cSB1c2VyLWluaXQtZmlsZSB0KQotCQkgICAgICAobG9hZCB1c2VyLWluaXQtZmlsZS0xIHQg dCkKLQotCQkgICAgICAod2hlbiAoZXEgdXNlci1pbml0LWZpbGUgdCkKLQkJCTs7IElmIHdlIGRp ZCBub3QgZmluZCB+Ly5lbWFjcywgdHJ5Ci0JCQk7OyB+Ly5lbWFjcy5kL2luaXQuZWwuCi0JCQko bGV0ICgob3RoZXJmaWxlCi0JCQkgICAgICAgKGV4cGFuZC1maWxlLW5hbWUKLQkJCQkiaW5pdCIK LQkJCQkoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeQotCQkJCSAoY29uY2F0ICJ+IiBpbml0LWZpbGUt dXNlciAiLy5lbWFjcy5kIikpKSkpCi0JCQkgIChsb2FkIG90aGVyZmlsZSB0IHQpCi0KLQkJCSAg OzsgSWYgd2UgZGlkIG5vdCBmaW5kIHRoZSB1c2VyJ3MgaW5pdCBmaWxlLAotCQkJICA7OyBzZXQg dXNlci1pbml0LWZpbGUgY29uY2x1c2l2ZWx5LgotCQkJICA7OyBEb24ndCBsZXQgaXQgYmUgc2V0 IGZyb20gZGVmYXVsdC5lbC4KLQkJCSAgKHdoZW4gKGVxIHVzZXItaW5pdC1maWxlIHQpCi0JCQkg ICAgKHNldHEgdXNlci1pbml0LWZpbGUgdXNlci1pbml0LWZpbGUtMSkpKSkKLQotCQkgICAgICA7 OyBJZiB3ZSBsb2FkZWQgYSBjb21waWxlZCBmaWxlLCBzZXQKLQkJICAgICAgOzsgYHVzZXItaW5p dC1maWxlJyB0byB0aGUgc291cmNlIHZlcnNpb24gaWYgdGhhdAotCQkgICAgICA7OyBleGlzdHMu Ci0JCSAgICAgICh3aGVuIChhbmQgdXNlci1pbml0LWZpbGUKLQkJCQkgKGVxdWFsIChmaWxlLW5h bWUtZXh0ZW5zaW9uIHVzZXItaW5pdC1maWxlKQotCQkJCQkiZWxjIikpCi0JCQkobGV0KiAoKHNv dXJjZSAoZmlsZS1uYW1lLXNhbnMtZXh0ZW5zaW9uIHVzZXItaW5pdC1maWxlKSkKLQkJCSAgICAg ICAoYWx0IChjb25jYXQgc291cmNlICIuZWwiKSkpCi0JCQkgIChzZXRxIHNvdXJjZSAoY29uZCAo KGZpbGUtZXhpc3RzLXAgYWx0KSBhbHQpCi0JCQkJCSAgICAgKChmaWxlLWV4aXN0cy1wIHNvdXJj ZSkgc291cmNlKQotCQkJCQkgICAgICh0IG5pbCkpKQotCQkJICAod2hlbiBzb3VyY2UKLQkJCSAg ICAod2hlbiAoZmlsZS1uZXdlci10aGFuLWZpbGUtcCBzb3VyY2UgdXNlci1pbml0LWZpbGUpCi0J CQkgICAgICAobWVzc2FnZSAiV2FybmluZzogJXMgaXMgbmV3ZXIgdGhhbiAlcyIKLQkJCQkgICAg ICAgc291cmNlIHVzZXItaW5pdC1maWxlKQotCQkJICAgICAgKHNpdC1mb3IgMSkpCi0JCQkgICAg KHNldHEgdXNlci1pbml0LWZpbGUgc291cmNlKSkpKQotCi0JCSAgICAgICh1bmxlc3MgaW5oaWJp dC1kZWZhdWx0LWluaXQKLSAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChpbmhpYml0LXN0 YXJ0dXAtc2NyZWVuIG5pbCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFVzZXJzIGFy ZSBzdXBwb3NlZCB0byBiZSB0b2xkIHRoZWlyIHJpZ2h0cy4KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgOzsgKFBsdXMgaG93IHRvIGdldCBoZWxwIGFuZCBob3cgdG8gdW5kby4pCi0gICAgICAg ICAgICAgICAgICAgICAgICAgIDs7IERvbid0IHlvdSBkYXJlIHR1cm4gdGhpcyBvZmYgZm9yIGFu eW9uZQotICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBleGNlcHQgeW91cnNlbGYuCi0gICAg ICAgICAgICAgICAgICAgICAgICAgIChsb2FkICJkZWZhdWx0IiB0IHQpKSkpKSkpKSkKLQkoaWYg aW5pdC1maWxlLWRlYnVnCi0JICAgIDs7IERvIHRoaXMgd2l0aG91dCBhIGNvbmRpdGlvbi1jYXNl IGlmIHRoZSB1c2VyIHdhbnRzIHRvIGRlYnVnLgotCSAgICAoZnVuY2FsbCBpbm5lcikKLQkgIChj b25kaXRpb24tY2FzZSBlcnJvcgotCSAgICAgIChwcm9nbgotCQkoZnVuY2FsbCBpbm5lcikKLQkJ KHNldHEgaW5pdC1maWxlLWhhZC1lcnJvciBuaWwpKQotCSAgICAoZXJyb3IKLQkgICAgIChkaXNw bGF5LXdhcm5pbmcKLQkgICAgICAnaW5pdGlhbGl6YXRpb24KLQkgICAgICAoZm9ybWF0LW1lc3Nh Z2UgIlwKLUFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGxvYWRpbmcgYCVzJzpcblxuJXMlcyVzXG5c blwKLVRvIGVuc3VyZSBub3JtYWwgb3BlcmF0aW9uLCB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIGFu ZCByZW1vdmUgdGhlCi1jYXVzZSBvZiB0aGUgZXJyb3IgaW4geW91ciBpbml0aWFsaXphdGlvbiBm aWxlLiAgU3RhcnQgRW1hY3Mgd2l0aAotdGhlIGAtLWRlYnVnLWluaXQnIG9wdGlvbiB0byB2aWV3 IGEgY29tcGxldGUgZXJyb3IgYmFja3RyYWNlLiIKLQkJICAgICAgdXNlci1pbml0LWZpbGUKLQkJ ICAgICAgKGdldCAoY2FyIGVycm9yKSAnZXJyb3ItbWVzc2FnZSkKLQkJICAgICAgKGlmIChjZHIg ZXJyb3IpICI6ICIgIiIpCi0JCSAgICAgIChtYXBjb25jYXQgKGxhbWJkYSAocykgKHByaW4xLXRv LXN0cmluZyBzIHQpKQotCQkJCSAoY2RyIGVycm9yKSAiLCAiKSkKLQkgICAgICA6d2FybmluZykK LQkgICAgIChzZXRxIGluaXQtZmlsZS1oYWQtZXJyb3IgdCkpKSkKLQotICAgICAgKGlmIChhbmQg ZGVhY3RpdmF0ZS1tYXJrIHRyYW5zaWVudC1tYXJrLW1vZGUpCi0JICAgICh3aXRoLWN1cnJlbnQt YnVmZmVyICh3aW5kb3ctYnVmZmVyKQotCSAgICAgIChkZWFjdGl2YXRlLW1hcmspKSkKLQotCTs7 IElmIHRoZSB1c2VyIGhhcyBhIGZpbGUgb2YgYWJicmV2cywgcmVhZCBpdCAodW5sZXNzIC1iYXRj aCkuCi0JKHdoZW4gKGFuZCAobm90IG5vbmludGVyYWN0aXZlKQotCQkgICAoZmlsZS1leGlzdHMt cCBhYmJyZXYtZmlsZS1uYW1lKQotCQkgICAoZmlsZS1yZWFkYWJsZS1wIGFiYnJldi1maWxlLW5h bWUpKQotCSAgICAocXVpZXRseS1yZWFkLWFiYnJldi1maWxlIGFiYnJldi1maWxlLW5hbWUpKQot Ci0JOzsgSWYgdGhlIGFiYnJldnMgY2FtZSBlbnRpcmVseSBmcm9tIHRoZSBpbml0IGZpbGUgb3Ig dGhlCi0JOzsgYWJicmV2cyBmaWxlLCB0aGV5IGRvIG5vdCBuZWVkIHNhdmluZy4KLQkoc2V0cSBh YmJyZXZzLWNoYW5nZWQgbmlsKQotCi0JOzsgSWYgd2UgY2FuIHRlbGwgdGhhdCB0aGUgaW5pdCBm aWxlIGFsdGVyZWQgZGVidWctb24tZXJyb3IsCi0JOzsgYXJyYW5nZSB0byBwcmVzZXJ2ZSB0aGUg dmFsdWUgdGhhdCBpdCBzZXQgdXAuCi0JKG9yIChlcSBkZWJ1Zy1vbi1lcnJvciBkZWJ1Zy1vbi1l cnJvci1pbml0aWFsKQotCSAgICAoc2V0cSBkZWJ1Zy1vbi1lcnJvci1zaG91bGQtYmUtc2V0IHQK LQkJICBkZWJ1Zy1vbi1lcnJvci1mcm9tLWluaXQtZmlsZSBkZWJ1Zy1vbi1lcnJvcikpKQotICAg ICAgKGlmIGRlYnVnLW9uLWVycm9yLXNob3VsZC1iZS1zZXQKLQkgIChzZXRxIGRlYnVnLW9uLWVy cm9yIGRlYnVnLW9uLWVycm9yLWZyb20taW5pdC1maWxlKSkpCisgICAgKGxvYWQtdXNlci1pbml0 LWZpbGUKKyAgICAgKGxhbWJkYSAoKQorICAgICAgIChjb25kCisgICAgICAgICgoZXEgc3lzdGVt LXR5cGUgJ21zLWRvcykKKyAgICAgICAgIChjb25jYXQgIn4iIGluaXQtZmlsZS11c2VyICIvX2Vt YWNzIikpCisgICAgICAgICgobm90IChlcSBzeXN0ZW0tdHlwZSAnd2luZG93cy1udCkpCisgICAg ICAgICAoY29uY2F0ICJ+IiBpbml0LWZpbGUtdXNlciAiLy5lbWFjcyIpKQorICAgICAgICA7OyBF bHNlIGRlYWwgd2l0aCB0aGUgV2luZG93cyBzaXR1YXRpb24uCisgICAgICAgICgoZGlyZWN0b3J5 LWZpbGVzICJ+IiBuaWwgIl5cXC5lbWFjc1xcKFxcLmVsYz9cXCk/JCIpCisgICAgICAgICA7OyBQ cmVmZXIgLmVtYWNzIG9uIFdpbmRvd3MuCisgICAgICAgICAifi8uZW1hY3MiKQorICAgICAgICAo KGRpcmVjdG9yeS1maWxlcyAifiIgbmlsICJeX2VtYWNzXFwoXFwuZWxjP1xcKT8kIikKKyAgICAg ICAgIDs7IEFsc28gc3VwcG9ydCBfZW1hY3MgZm9yIGNvbXBhdGliaWxpdHksIGJ1dCB3YXJuIGFi b3V0IGl0LgorICAgICAgICAgKHB1c2ggYChpbml0aWFsaXphdGlvbgorICAgICAgICAgICAgICAg ICAsKGZvcm1hdC1tZXNzYWdlCisgICAgICAgICAgICAgICAgICAgImBfZW1hY3MnIGluaXQgZmls ZSBpcyBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIGAuZW1hY3MnIikpCisgICAgICAgICAgICAgICBk ZWxheWVkLXdhcm5pbmdzLWxpc3QpCisgICAgICAgICAifi9fZW1hY3MiKQorICAgICAgICAodCA7 OyBCdXQgZGVmYXVsdCB0byAuZW1hY3MgaWYgX2VtYWNzIGRvZXMgbm90IGV4aXN0LgorICAgICAg ICAgIn4vLmVtYWNzIikpKQorICAgICAobGFtYmRhICgpCisgICAgICAgKGV4cGFuZC1maWxlLW5h bWUKKyAgICAgICAgImluaXQiCisgICAgICAgIChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5CisgICAg ICAgICAoY29uY2F0ICJ+IiBpbml0LWZpbGUtdXNlciAiLy5lbWFjcy5kIikpKSkKKyAgICAgKG5v dCBpbmhpYml0LWRlZmF1bHQtaW5pdCkpCisKKyAgICAod2hlbiAoYW5kIGRlYWN0aXZhdGUtbWFy ayB0cmFuc2llbnQtbWFyay1tb2RlKQorICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgKHdpbmRv dy1idWZmZXIpCisgICAgICAgIChkZWFjdGl2YXRlLW1hcmspKSkKKworICAgIDs7IElmIHRoZSB1 c2VyIGhhcyBhIGZpbGUgb2YgYWJicmV2cywgcmVhZCBpdCAodW5sZXNzIC1iYXRjaCkuCisgICAg KHdoZW4gKGFuZCAobm90IG5vbmludGVyYWN0aXZlKQorICAgICAgICAgICAgICAgKGZpbGUtZXhp c3RzLXAgYWJicmV2LWZpbGUtbmFtZSkKKyAgICAgICAgICAgICAgIChmaWxlLXJlYWRhYmxlLXAg YWJicmV2LWZpbGUtbmFtZSkpCisgICAgICAocXVpZXRseS1yZWFkLWFiYnJldi1maWxlIGFiYnJl di1maWxlLW5hbWUpKQorCisgICAgOzsgSWYgdGhlIGFiYnJldnMgY2FtZSBlbnRpcmVseSBmcm9t IHRoZSBpbml0IGZpbGUgb3IgdGhlCisgICAgOzsgYWJicmV2cyBmaWxlLCB0aGV5IGRvIG5vdCBu ZWVkIHNhdmluZy4KKyAgICAoc2V0cSBhYmJyZXZzLWNoYW5nZWQgbmlsKQogCiAgICAgOzsgRG8g dGhpcyBoZXJlIGluIGNhc2UgdGhlIGluaXQgZmlsZSBzZXRzIG1haWwtaG9zdC1hZGRyZXNzLgog ICAgIChhbmQgbWFpbC1ob3N0LWFkZHJlc3MKQEAgLTEyOTYsMzMgKzEzNTYsNiBAQCBjb21tYW5k LWxpbmUKIAkJIChlcSBmYWNlLWlnbm9yZWQtZm9udHMgb2xkLWZhY2UtaWdub3JlZC1mb250cykp CiAgICAgICAoY2xlYXItZmFjZS1jYWNoZSkpKQogCi0gIDs7IElmIGFueSBwYWNrYWdlIGRpcmVj dG9yeSBleGlzdHMsIGluaXRpYWxpemUgdGhlIHBhY2thZ2Ugc3lzdGVtLgotICAoYW5kIHVzZXIt aW5pdC1maWxlCi0gICAgICAgcGFja2FnZS1lbmFibGUtYXQtc3RhcnR1cAotICAgICAgIChjYXRj aCAncGFja2FnZS1kaXItZm91bmQKLQkgKGxldCAoZGlycykKLQkgICAoaWYgKGJvdW5kcCAncGFj a2FnZS1kaXJlY3RvcnktbGlzdCkKLQkgICAgICAgKHNldHEgZGlycyBwYWNrYWdlLWRpcmVjdG9y eS1saXN0KQotCSAgICAgKGRvbGlzdCAoZiBsb2FkLXBhdGgpCi0JICAgICAgIChhbmQgKHN0cmlu Z3AgZikKLQkJICAgIChlcXVhbCAoZmlsZS1uYW1lLW5vbmRpcmVjdG9yeSBmKSAic2l0ZS1saXNw IikKLQkJICAgIChwdXNoIChleHBhbmQtZmlsZS1uYW1lICJlbHBhIiBmKSBkaXJzKSkpKQotCSAg IChwdXNoIChpZiAoYm91bmRwICdwYWNrYWdlLXVzZXItZGlyKQotCQkgICAgIHBhY2thZ2UtdXNl ci1kaXIKLQkJICAgKGxvY2F0ZS11c2VyLWVtYWNzLWZpbGUgImVscGEiKSkKLQkJIGRpcnMpCi0J ICAgKGRvbGlzdCAoZGlyIGRpcnMpCi0JICAgICAod2hlbiAoZmlsZS1kaXJlY3RvcnktcCBkaXIp Ci0JICAgICAgIChkb2xpc3QgKHN1YmRpciAoZGlyZWN0b3J5LWZpbGVzIGRpcikpCi0JCSAod2hl biAobGV0ICgoc3ViZGlyIChleHBhbmQtZmlsZS1uYW1lIHN1YmRpciBkaXIpKSkKLSAgICAgICAg ICAgICAgICAgICAgICAgICAoYW5kIChmaWxlLWRpcmVjdG9yeS1wIHN1YmRpcikKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChmaWxlLWV4aXN0cy1wCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHBhY2thZ2UtLWRlc2NyaXB0aW9uLWZpbGUgc3ViZGlyKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdWJkaXIpKSkpCi0JCSAgICh0aHJvdyAncGFja2FnZS1kaXItZm91 bmQgdCkpKSkpKSkKLSAgICAgICAocGFja2FnZS1pbml0aWFsaXplKSkKLQogICAoc2V0cSBhZnRl ci1pbml0LXRpbWUgKGN1cnJlbnQtdGltZSkpCiAgIDs7IERpc3BsYXkgYW55IGFjY3VtdWxhdGVk IHdhcm5pbmdzIGFmdGVyIGFsbCBmdW5jdGlvbnMgaW4KICAgOzsgYGFmdGVyLWluaXQtaG9vaycg bGlrZSBgZGVza3RvcC1yZWFkJyBoYXZlIGZpbmFsaXplZCBwb3NzaWJsZQpkaWZmIC0tZ2l0IGEv c3JjL2xyZWFkLmMgYi9zcmMvbHJlYWQuYwppbmRleCAyOGQ0YmY5YTRmLi4wZjY3NDgwM2YyIDEw MDY0NAotLS0gYS9zcmMvbHJlYWQuYworKysgYi9zcmMvbHJlYWQuYwpAQCAtNDg5Nyw3ICs0ODk3 LDcgQEAgZGlyZWN0b3J5LiAgVGhlc2UgZmlsZSBuYW1lcyBhcmUgY29udmVydGVkIHRvIGFic29s dXRlIGF0IHN0YXJ0dXAuICAqLyk7CiBJZiB0aGUgZmlsZSBsb2FkZWQgaGFkIGV4dGVuc2lvbiBg LmVsYycsIGFuZCB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgZmlsZQogZXhpc3RzLCB0aGlzIHZh cmlhYmxlIGNvbnRhaW5zIHRoZSBuYW1lIG9mIHNvdXJjZSBmaWxlLCBzdWl0YWJsZSBmb3IgdXNl CiBieSBmdW5jdGlvbnMgbGlrZSBgY3VzdG9tLXNhdmUtYWxsJyB3aGljaCBlZGl0IHRoZSBpbml0 IGZpbGUuCi1XaGlsZSBFbWFjcyBsb2FkcyBhbmQgZXZhbHVhdGVzIHRoZSBpbml0IGZpbGUsIHZh bHVlIGlzIHRoZSByZWFsIG5hbWUKK1doaWxlIEVtYWNzIGxvYWRzIGFuZCBldmFsdWF0ZXMgYW55 IGluaXQgZmlsZSwgdmFsdWUgaXMgdGhlIHJlYWwgbmFtZQogb2YgdGhlIGZpbGUsIHJlZ2FyZGxl c3Mgb2Ygd2hldGhlciBvciBub3QgaXQgaGFzIHRoZSBgLmVsYycgZXh0ZW5zaW9uLiAgKi8pOwog ICBWdXNlcl9pbml0X2ZpbGUgPSBRbmlsOwogCi0tIAoyLjE2LjEKCg== --94eb2c0e730a5548b80563db5886--