From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#64546: 30.0.50; [PATCH] Add support for explicitly-remote commands in Eshell Date: Sun, 9 Jul 2023 12:31:04 -0700 Message-ID: <30707c49-8d0a-233d-0320-94a66f2e2e75@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------03u1y4yGCl0XNAbCYazbV1Uh" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39041"; mail-complaints-to="usenet@ciao.gmane.io" To: 64546@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jul 09 21:32:20 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qIa8p-0009uv-VT for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 09 Jul 2023 21:32:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qIa8Z-0003RO-PG; Sun, 09 Jul 2023 15:32:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qIa8Y-0003RA-Ov for bug-gnu-emacs@gnu.org; Sun, 09 Jul 2023 15:32:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qIa8Y-00054N-Gv for bug-gnu-emacs@gnu.org; Sun, 09 Jul 2023 15:32:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qIa8Y-0000d8-3s for bug-gnu-emacs@gnu.org; Sun, 09 Jul 2023 15:32:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 09 Jul 2023 19:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 64546 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16889310752365 (code B ref -1); Sun, 09 Jul 2023 19:32:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 9 Jul 2023 19:31:15 +0000 Original-Received: from localhost ([127.0.0.1]:47198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIa7m-0000c4-0g for submit@debbugs.gnu.org; Sun, 09 Jul 2023 15:31:14 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:59510) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qIa7k-0000bw-0d for submit@debbugs.gnu.org; Sun, 09 Jul 2023 15:31:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qIa7i-0003NL-VT for bug-gnu-emacs@gnu.org; Sun, 09 Jul 2023 15:31:11 -0400 Original-Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qIa7g-0004yd-7v for bug-gnu-emacs@gnu.org; Sun, 09 Jul 2023 15:31:10 -0400 Original-Received: by mail-pg1-x52d.google.com with SMTP id 41be03b00d2f7-55b1238cab4so1923786a12.2 for ; Sun, 09 Jul 2023 12:31:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688931066; x=1691523066; h=subject:from:to:content-language:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=u8b9BnqFSG0AzWoLq9iPcJ03ZUcsSkT3rVmtQ1f2exk=; b=dgb8FDDPo9GpYmPTuBjgnIbvEreeGKrhLUKRajCd+LxTclAbSb/3/xlVAuv5w21i+G m3Q7462yOJGnt++ZyeKaVL6Z9l0bhiKbTWAz+r1zu6IqenPoygLJ5+Gn0q8UVgscCJuB tTZBYq40vrSF24ZRwCJ54cKY14gTWBEc1BBiEew797ajgQsMvOIdhJ0G6RG2wrSKUIL0 0Fty8ZgvV7HeVrGIGz06xUnHEt5ZxUR/KtPbrfh8V0Tpx+u3rMyWPHV4shDPQ3GBtsQR ULl/81ksyt840JZDYA5aX27jAV1cF7rW9OsTDyNYREO2tFVOnFD2yUX22V+dwRKPX8z6 HpGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688931066; x=1691523066; h=subject:from:to:content-language:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=u8b9BnqFSG0AzWoLq9iPcJ03ZUcsSkT3rVmtQ1f2exk=; b=DZwDxkC40+ehND9jIcY0zz80EoX7QSdVlQswVhmr+YT8zLehkLA2ODr19GIGyPYmDe 6Zag6ljrwhUCd+n716UPo1/jAwQTovutoPQ3WflqNuurvTjWXmBRe9k1tA27Ebuh9cW+ HD0iDGunfj57Sebr0nZR87kK+WhW5Hp0hnp9ondD2fHboEFW8gKWZOuiIW6lpi1YEvO4 DVS7CyOPUPlofEZua10tXGsb4wjFg/kftkqadjYt7ukXa0rb8PCb4KFnwPXwhKBWrBFG vUYx5L+V5JXBa6f4/7AYJnLzZBFUhX0kWwhYFdyaQBaPa3fZxlfJoFw7LoVUIuP1wbag vjPg== X-Gm-Message-State: ABy/qLaMxSOCpn6EF7y7IgxZYmxYvb1sh00BTOwf68ZCeMpBmrkTd8X2 IpCVbxRbuop3XxnIkzrchSVw2vGqMwc= X-Google-Smtp-Source: APBJJlFCHPHibFMG+VaGTmqorHrSqsBD3rcvipJSdGQ6/FvcR+T17g9AXKAf0HRLhjXwAMDg1OmXmg== X-Received: by 2002:a17:90b:292:b0:263:528:144a with SMTP id az18-20020a17090b029200b002630528144amr9605137pjb.28.1688931066204; Sun, 09 Jul 2023 12:31:06 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id l7-20020a17090aaa8700b00264044cca0fsm9036361pjq.1.2023.07.09.12.31.05 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 09 Jul 2023 12:31:05 -0700 (PDT) X-Mozilla-News-Host: news://news.gmane.io:119 Content-Language: en-US Received-SPF: pass client-ip=2607:f8b0:4864:20::52d; envelope-from=jporterbugs@gmail.com; helo=mail-pg1-x52d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:264858 Archived-At: This is a multi-part message in MIME format. --------------03u1y4yGCl0XNAbCYazbV1Uh Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit This patch adds the ability to run a command in Eshell from any host, no matter your current directory. For example, you could run "/ssh:user@remote:whoami" from a local dir, which would run "whoami" over the SSH connection for "user@remote". Similarly, you could run "/:whoami" to run the local "whoami" even from a remote dir. (The latter syntax is just piggybacking off of quoted file names, which otherwise have no special meaning in Eshell.) Prior to the main patch, I also added a bit of documentation about how remote access works in Eshell. These are separate commits so that, if we wanted, we could backport the first patch to the Emacs 29 branch. --------------03u1y4yGCl0XNAbCYazbV1Uh Content-Type: text/plain; charset=UTF-8; name="0001-Add-documentation-about-remote-access-in-Eshell.patch" Content-Disposition: attachment; filename*0="0001-Add-documentation-about-remote-access-in-Eshell.patch" Content-Transfer-Encoding: base64 RnJvbSA3ZTBhMjAyZGExZjE4NzU3OGQwOTViZGQ1YTliYWU4NjFiMWM1NmJjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFN1biwgOSBKdWwgMjAyMyAxMjowNDowMSAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBBZGQgZG9jdW1lbnRhdGlvbiBhYm91dCByZW1vdGUgYWNjZXNzIGluIEVzaGVs bAoKKiBkb2MvbWlzYy9lc2hlbGwudGV4aQooSW52b2NhdGlvbik6IE1lbnRpb24gdGhlICcq JyBwcmVmaXguCihSZW1vdGUgQWNjZXNzKTogTmV3IHNlY3Rpb24uLi4KKENvbW1hbmRzKTog Li4uIGxpbmsgdG8gaXQuCi0tLQogZG9jL21pc2MvZXNoZWxsLnRleGkgfCAzOSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzOCBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL21pc2MvZXNo ZWxsLnRleGkgYi9kb2MvbWlzYy9lc2hlbGwudGV4aQppbmRleCBjNjM3Njg4MjU0Mi4uNDA1 YTc4YTAzMWQgMTAwNjQ0Ci0tLSBhL2RvYy9taXNjL2VzaGVsbC50ZXhpCisrKyBiL2RvYy9t aXNjL2VzaGVsbC50ZXhpCkBAIC0yMDcsNiArMjA3LDcgQEAgQ29tbWFuZHMKICogQnVpbHQt aW5zOjoKICogVmFyaWFibGVzOjoKICogQWxpYXNlczo6CisqIFJlbW90ZSBBY2Nlc3M6Ogog KiBIaXN0b3J5OjoKICogQ29tcGxldGlvbjo6CiAqIENvbnRyb2wgRmxvdzo6CkBAIC0yNjYs NyArMjY3LDEwIEBAIEludm9jYXRpb24KIEB2aW5kZXggZXNoZWxsLXByZWZlci1saXNwLWZ1 bmN0aW9ucwogSWYgeW91IHdvdWxkIHByZWZlciB0byB1c2Ugb3JkaW5hcnkgTGlzcCBmdW5j dGlvbnMgb3ZlciBleHRlcm5hbAogcHJvZ3JhbXMsIHNldCB0aGUgb3B0aW9uIEBjb2Rle2Vz aGVsbC1wcmVmZXItbGlzcC1mdW5jdGlvbnN9IHRvCi1AY29kZXt0fS4gIFRoaXMgd2lsbCBz d2FwIHRoZSBsb29rdXAgb3JkZXIgb2YgdGhlIGxhc3QgdHdvIGl0ZW1zLgorQGNvZGV7dH0u ICBUaGlzIHdpbGwgc3dhcCB0aGUgbG9va3VwIG9yZGVyIG9mIHRoZSBsYXN0IHR3byBpdGVt cy4gWW91CitjYW4gYWxzbyBmb3JjZSBFc2hlbGwgdG8gbG9vayBmb3IgYSBjb21tYW5kIGFz IGFuIGV4dGVybmFsIHByb2dyYW0gYnkKK3ByZWZpeGluZyBpdHMgbmFtZSB3aXRoIEBrYmR7 Kn0sIGxpa2UgQGNvZGV7KkB2YXJ7Y29tbWFuZH19CisoQHB4cmVme0J1aWx0LWluc30pLgog CiBZb3UgY2FuIGFsc28gZ3JvdXAgY29tbWFuZCBmb3JtcyB0b2dldGhlciBpbnRvIGEgc3Vi Y29tbWFuZCB3aXRoIGN1cmx5CiBicmFjZXMgKEBjb2Rle0B7QH19KS4gIFRoaXMgbGV0cyB5 b3UgdXNlIHRoZSBvdXRwdXQgb2YgYSBzdWJjb21tYW5kIGFzCkBAIC0xMDkwLDYgKzEwOTQs MzkgQEAgQWxpYXNlcwogCiBAZW5kIHRhYmxlCiAKK0Bub2RlIFJlbW90ZSBBY2Nlc3MKK0Bz ZWN0aW9uIFJlbW90ZSBBY2Nlc3MKK0BjbWluZGV4IHJlbW90ZSBhY2Nlc3MKKworU2luY2Ug RXNoZWxsIHVzZXMgRW1hY3MgZmFjaWxpdGllcyBmb3IgbW9zdCBvZiBpdHMgZnVuY3Rpb25h bGl0eSwgeW91CitjYW4gYWNjZXNzIHJlbW90ZSBob3N0cyB0cmFuc3BhcmVudGx5LiAgVG8g Y29ubmVjdCB0byBhIHJlbW90ZSBob3N0LAorc2ltcGx5IEBjb2Rle2NkfSBpbnRvIGl0Ogor CitAZXhhbXBsZQorfiAkIGNkIC9zc2g6dXNlckBAcmVtb3RlOgorL3NzaDp1c2VyQEByZW1v dGU6fiAkCitAZW5kIGV4YW1wbGUKKworQWRkaXRpb25hbGx5LCBidWlsdC1pbiBFc2hlbGwg Y29tbWFuZHMgKEBweHJlZntCdWlsdC1pbnN9KSBhbmQKK29yZGluYXJ5IExpc3AgZnVuY3Rp b25zIGFjY2VwdCByZW1vdGUgZmlsZSBuYW1lcywgc28geW91IGNhbiBhY2Nlc3MKK3RoZW0g ZXZlbiB3aXRob3V0IGV4cGxpY2l0bHkgY29ubmVjdGluZyBmaXJzdC4gIEZvciBleGFtcGxl LCB0byBwcmludAordGhlIGNvbnRlbnRzIG9mIGEgcmVtb3RlIGZpbGUsIHlvdSBjb3VsZCB0 eXBlIEBzYW1we2NhdAorL3NzaDp1c2VyQEByZW1vdGU6fi9vdXRwdXQubG9nfS4gIEhvd2V2 ZXIsIHRoaXMgbWVhbnMgdGhhdCB3aGVuIHVzaW5nCitidWlsdC1pbiBjb21tYW5kcyBvciBM aXNwIGZ1bmN0aW9ucyBmcm9tIGEgcmVtb3RlIGRpcmVjdG9yeSwgeW91IG11c3QKK2JlIGNh cmVmdWwgYWJvdXQgc3BlY2lmeWluZyBhYnNvbHV0ZSBmaWxlIG5hbWVzOiBAc2FtcHtjYXQK Ky92YXIvb3V0cHV0LmxvZ30gd2lsbCBhbHdheXMgcHJpbnQgdGhlIGNvbnRlbnRzIG9mIHlv dXIgQGVtcGh7bG9jYWx9CitAZmlsZXsvdmFyL291dHB1dC5sb2d9LCBldmVuIGZyb20gYSBy ZW1vdGUgZGlyZWN0b3J5LiAgSWYgeW91IGZpbmQKK3RoaXMgYmVoYXZpb3IgYW5ub3lpbmcs IHlvdSBjYW4gZW5hYmxlIHRoZSBvcHRpb25hbCBlbGVjdHJpYyBmb3J3YXJkCitzbGFzaCBt b2R1bGUgKEBweHJlZntFbGVjdHJpYyBmb3J3YXJkIHNsYXNofSkuCisKK0J5IGRlZmF1bHQs IGNvbW1hbmRzIGxpa2UgQGNvZGV7c3NofSBhbmQgQGNvZGV7c3Vkb30gdXNlIHRoZSBleHRl cm5hbAorcHJvZ3JhbXMgYnkgdGhvc2UgbmFtZXMsIHNvIGlmIHlvdSByYW4gQHNhbXB7c3No CitAdmFye3VzZXJ9QEBAdmFye3JlbW90ZX19LCB5b3Ugd291bGQgZW5kIHVwIGluIHRoZSBk ZWZhdWx0IHNoZWxsCitwcm9ncmFtIGZvciBAdmFye3VzZXJ9IG9uIEB2YXJ7cmVtb3RlfSwg QGVtcGh7bm90fSBpbiBFc2hlbGwuICBJZiB5b3UKK3ByZWZlciB0byB1c2UgY29tbWFuZHMg bGlrZSBAY29kZXtzc2h9IGJ1dCByZW1haW4gaW4gRXNoZWxsCithZnRlcndhcmRzLCB5b3Ug Y2FuIGVuYWJsZSB0aGUgb3B0aW9uYWwgVHJhbXAgZXh0ZW5zaW9ucyAoQHB4cmVme1RyYW1w CitleHRlbnNpb25zfSkuCisKIEBub2RlIEhpc3RvcnkKIEBzZWN0aW9uIEhpc3RvcnkKIEBj bWluZGV4IGhpc3RvcnkKLS0gCjIuMjUuMQoK --------------03u1y4yGCl0XNAbCYazbV1Uh Content-Type: text/plain; charset=UTF-8; name="0002-Add-support-for-explicitly-remote-commands-in-Eshell.patch" Content-Disposition: attachment; filename*0="0002-Add-support-for-explicitly-remote-commands-in-Eshell.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAzNWM1MmUwMzRmODZiMmY4MTk0Y2I1M2Y2MTdiNzhiMjAzYjFkYmNhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFN1biwgOSBKdWwgMjAyMyAxMjowNjoxMyAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMi8yXSBBZGQgc3VwcG9ydCBmb3IgZXhwbGljaXRseS1yZW1vdGUgY29tbWFuZHMgaW4g RXNoZWxsCgoqIGxpc3AvZmlsZXMuZWwgKGZpbGUtcmVtb3RlLXApOgoqIGRvYy9saXNwcmVm L2ZpbGVzLnRleGkgKE1hZ2ljIEZpbGUgTmFtZXMpOiBEb2N1bWVudCAnbmV2ZXInIGZvcgpD T05ORUNURUQgYXJndW1lbnQuCgoqIGxpc3AvbmV0L3RyYW1wLmVsICh0cmFtcC1oYW5kbGUt ZmlsZS1yZW1vdGUtcCk6IEhhbmRsZSBDT05ORUNURUQKdmFsdWUgb2YgJ25ldmVyJy4KCiog bGlzcC9lc2hlbGwvZXNoLWV4dC5lbCAoZXNoZWxsLWV4cGxpY2l0LXJlbW90ZS1jb21tYW5k cyk6IE5ldwpvcHRpb24uCihlc2hlbGwtZXh0LWluaXRpYWxpemUpOiBBcHBseSAnZXNoZWxs LWhhbmRsZS1yZW1vdGUtY29tbWFuZCcgd2hlbgpyZXF1ZXN0ZWQuCihlc2hlbGwtaGFuZGxl LXJlbW90ZS1jb21tYW5kKTogTmV3IGZ1bmN0aW9uLgooZXNoZWxsLXJlbW90ZS1jb21tYW5k KTogUmVpbXBsZW1lbnQgdGhpcyBmdW5jdGlvbiBhbmQgZGlzcGF0Y2ggdG8KJ2VzaGVsbC1l eHRlcm5hbC1jb21tYW5kJywgd2hpY2ggY2FuIGhhbmRsZSByZW1vdGUgcHJvY2Vzc2VzIG9u IGl0cwpvd24uCgoqIHRlc3QvbGlzcC9lc2hlbGwvZXNoLWV4dC10ZXN0cy5lbAooZXNoLWV4 dC10ZXN0L2V4cGxpY2l0bHktcmVtb3RlLWNvbW1hbmQpCihlc2gtZXh0LXRlc3QvZXhwbGlj aXRseS1sb2NhbC1jb21tYW5kKTogTmV3IHRlc3RzLgoKKiBkb2MvbWlzYy9lc2hlbGwudGV4 aSAoUmVtb3RlIEFjY2Vzcyk6IERvY3VtZW50IGV4cGxpY2l0bHktcmVtb3RlCmNvbW1hbmRz LgoKKiBldGMvTkVXUzogQW5ub3VuY2UgdGhpcyBjaGFuZ2UuCi0tLQogZG9jL2xpc3ByZWYv ZmlsZXMudGV4aSAgICAgICAgICAgIHwgIDYgKystCiBkb2MvbWlzYy9lc2hlbGwudGV4aSAg ICAgICAgICAgICAgfCAxMCArKysrKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDkgKysrKysKIGxpc3AvZXNoZWxsL2VzaC1leHQuZWwgICAgICAgICAgICB8IDYy ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIGxpc3AvZmlsZXMuZWwgICAgICAg ICAgICAgICAgICAgICB8ICA0ICstCiBsaXNwL25ldC90cmFtcC5lbCAgICAgICAgICAgICAg ICAgfCAgNSArKy0KIHRlc3QvbGlzcC9lc2hlbGwvZXNoLWV4dC10ZXN0cy5lbCB8IDI5ICsr KysrKysrKysrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCAyNiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvbGlzcHJlZi9maWxlcy50ZXhpIGIvZG9j L2xpc3ByZWYvZmlsZXMudGV4aQppbmRleCA2NmRlMGYwMzZjNC4uMzFkNGFhY2E1MDcgMTAw NjQ0Ci0tLSBhL2RvYy9saXNwcmVmL2ZpbGVzLnRleGkKKysrIGIvZG9jL2xpc3ByZWYvZmls ZXMudGV4aQpAQCAtMzYzMCw3ICszNjMwLDExIEBAIE1hZ2ljIEZpbGUgTmFtZXMKIElmIEB2 YXJ7Y29ubmVjdGVkfSBpcyBub24tQGNvZGV7bmlsfSwgdGhpcyBmdW5jdGlvbiByZXR1cm5z IEBjb2Rle25pbH0KIGV2ZW4gaWYgQHZhcntmaWxlbmFtZX0gaXMgcmVtb3RlLCBpZiBFbWFj cyBoYXMgbm8gbmV0d29yayBjb25uZWN0aW9uCiB0byBpdHMgaG9zdC4gIFRoaXMgaXMgdXNl ZnVsIHdoZW4geW91IHdhbnQgdG8gYXZvaWQgdGhlIGRlbGF5IG9mCi1tYWtpbmcgY29ubmVj dGlvbnMgd2hlbiB0aGV5IGRvbid0IGV4aXN0LgorbWFraW5nIGNvbm5lY3Rpb25zIHdoZW4g dGhleSBkb24ndCBleGlzdC4gIElmIEB2YXJ7Y29ubmVjdGVkfSBpcworQGNvZGV7bmV2ZXJ9 LCBAZW1waHtuZXZlcn0gdXNlIGFuIGV4aXN0aW5nIGNvbm5lY3Rpb24gdG8gcmV0dXJuIHRo ZQoraWRlbnRpZmljYXRpb24sIGV2ZW4gaWYgb25lIGlzIGFscmVhZHkgcHJlc2VudCAodGhp cyBpcyBvdGhlcndpc2UgbGlrZQorYSB2YWx1ZSBvZiBAY29kZXtuaWx9KS4gIFRoaXMgbGV0 cyB5b3UgcHJldmVudCBhbnkgY29ubmVjdGlvbi1zcGVjaWZpYworbG9naWMsIHN1Y2ggYXMg ZXhwYW5kaW5nIHRoZSBsb2NhbCBwYXJ0IG9mIHRoZSBmaWxlIG5hbWUuCiBAZW5kIGRlZnVu CiAKIEBkZWZ1biB1bmhhbmRsZWQtZmlsZS1uYW1lLWRpcmVjdG9yeSBmaWxlbmFtZQpkaWZm IC0tZ2l0IGEvZG9jL21pc2MvZXNoZWxsLnRleGkgYi9kb2MvbWlzYy9lc2hlbGwudGV4aQpp bmRleCA0MDVhNzhhMDMxZC4uODIyNWVmYzYxYzggMTAwNjQ0Ci0tLSBhL2RvYy9taXNjL2Vz aGVsbC50ZXhpCisrKyBiL2RvYy9taXNjL2VzaGVsbC50ZXhpCkBAIC0xMTE5LDYgKzExMTks MTYgQEAgUmVtb3RlIEFjY2VzcwogdGhpcyBiZWhhdmlvciBhbm5veWluZywgeW91IGNhbiBl bmFibGUgdGhlIG9wdGlvbmFsIGVsZWN0cmljIGZvcndhcmQKIHNsYXNoIG1vZHVsZSAoQHB4 cmVme0VsZWN0cmljIGZvcndhcmQgc2xhc2h9KS4KIAorQHZpbmRleCBlc2hlbGwtZXhwbGlj aXQtcmVtb3RlLWNvbW1hbmRzCitXaGVuIHJ1bm5pbmcgY29tbWFuZHMsIHlvdSBjYW4gYWxz byBtYWtlIHRoZW0gZXhwbGljaXRseSByZW1vdGUgYnkKK3ByZWZpeGluZyB0aGUgY29tbWFu ZCBuYW1lIHdpdGggYSByZW1vdGUgaWRlbnRpZmllciwgZS5nLkA6CitAc2FtcHsvc3NoOnVz ZXJAQHJlbW90ZTp3aG9hbWl9LiAgVGhpcyBydW5zIHRoZSBjb21tYW5kIEBjb2Rle3dob2Ft aX0KK292ZXIgdGhlIFNTSCBjb25uZWN0aW9uIGZvciBAY29kZXt1c2VyQEByZW1vdGV9LCBu byBtYXR0ZXIgeW91cgorY3VycmVudCBkaXJlY3RvcnkuICBJZiB5b3Ugd2FudCB0byBleHBs aWNpdGx5IHJ1biBhIEBlbXBoe2xvY2FsfQorY29tbWFuZCBldmVuIHdoZW4gaW4gYSByZW1v dGUgZGlyZWN0b3J5LCB5b3UgY2FuIHByZWZpeCB0aGUgY29tbWFuZAorbmFtZSB3aXRoIEBr YmR7Lzp9LCBsaWtlIEBzYW1wey86d2hvYW1pfS4gIFRvIGRpc2FibGUgdGhpcyBzeW50YXgs IHNldAordGhlIG9wdGlvbiBAY29kZXtlc2hlbGwtZXhwbGljaXQtcmVtb3RlLWNvbW1hbmRz fSB0byBAY29kZXtuaWx9LgorCiBCeSBkZWZhdWx0LCBjb21tYW5kcyBsaWtlIEBjb2Rle3Nz aH0gYW5kIEBjb2Rle3N1ZG99IHVzZSB0aGUgZXh0ZXJuYWwKIHByb2dyYW1zIGJ5IHRob3Nl IG5hbWVzLCBzbyBpZiB5b3UgcmFuIEBzYW1we3NzaAogQHZhcnt1c2VyfUBAQHZhcntyZW1v dGV9fSwgeW91IHdvdWxkIGVuZCB1cCBpbiB0aGUgZGVmYXVsdCBzaGVsbApkaWZmIC0tZ2l0 IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCAyNDZlNmIyMTgzOC4uNWQ1ZWE5OTBiOTIg MTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0yMDIsNiArMjAyLDE1 IEBAIG9yIGdldCBhIHN1Ymxpc3Qgb2YgZWxlbWVudHMgMiB0aHJvdWdoIDQgd2l0aCAnJG15 LWxpc3RbMi4uNV0nLiAgRm9yCiBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlICIoZXNoZWxs KSBEb2xsYXJzIEV4cGFuc2lvbiIgbm9kZSBpbiB0aGUKIEVzaGVsbCBtYW51YWwuCiAKKysr KworKioqIEVzaGVsbCBjb21tYW5kcyBjYW4gbm93IGJlIGV4cGxpY2l0bHktcmVtb3RlIChv ciBsb2NhbCkuCitCeSBwcmVmaXhpbmcgYSBjb21tYW5kIG5hbWUgaW4gRXNoZWxsIHdpdGgg YSByZW1vdGUgaWRlbnRpZmllciwgbGlrZQorIi9zc2g6dXNlckByZW1vdGU6d2hvYW1pIiwg eW91IGNhbiBub3cgcnVucyBjb21tYW5kcyBvbiBhIHBhcnRpY3VsYXIKK2hvc3Qgbm8gbWF0 dGVyIHlvdXIgY3VycmVudCBkaXJlY3RvcnkuICBMaWtld2lzZSwgeW91IGNhbiBydW4gYQor Y29tbWFuZCBvbiB5b3VyIGxvY2FsIHN5c3RlbSBubyBtYXR0ZXIgeW91ciBjdXJyZW50IGRp cmVjdG9yeSB2aWEKKyIvOndob2FtaSIuICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRo ZSAiKGVzaGVsbCkgUmVtb3RlIEFjY2VzcyIKK25vZGUgaW4gdGhlIEVzaGVsbCBtYW51YWwu CisKICsrKwogKioqIEVzaGVsbCdzICckVUlEJyBhbmQgJyRHSUQnIHZhcmlhYmxlcyBhcmUg bm93IGNvbm5lY3Rpb24tYXdhcmUuCiBOb3csIHdoZW4gZXhwYW5kaW5nICckVUlEJyBvciAn JEdJRCcgaW4gYSByZW1vdGUgZGlyZWN0b3J5LCB0aGUgdmFsdWUKZGlmZiAtLWdpdCBhL2xp c3AvZXNoZWxsL2VzaC1leHQuZWwgYi9saXNwL2VzaGVsbC9lc2gtZXh0LmVsCmluZGV4IGYz NTA2MjJlNzhjLi4zODU3OWQ3ZWYxYyAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLWV4 dC5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtZXh0LmVsCkBAIC0xNjgsMTEgKzE2OCwyMyBA QCBlc2hlbGwtZXhwbGljaXQtY29tbWFuZC1jaGFyCiAgIDp0eXBlICdjaGFyYWN0ZXIKICAg Omdyb3VwICdlc2hlbGwtZXh0KQogCisoZGVmY3VzdG9tIGVzaGVsbC1leHBsaWNpdC1yZW1v dGUtY29tbWFuZHMgdAorICAiSWYgbm9uLW5pbCwgc3VwcG9ydCBleHBsaWNpdGx5LXJlbW90 ZSBjb21tYW5kcy4KK1RoZXNlIGFyZSBjb21tYW5kcyB3aXRoIGEgZnVsbCByZW1vdGUgZmls ZSBuYW1lLCBzdWNoIGFzCitcIi9zc2g6aG9zdDp3aG9hbWlcIi4gIElmIHRoaXMgaXMgZW5h YmxlZCwgeW91IGNhbiBhbHNvIHJ1bgorZXhwbGljaXRseS1sb2NhbCBjb21tYW5kcyBieSB1 c2luZyBhIHF1b3RlZCBmaWxlIG5hbWUsIGxpa2UKK1wiLzp3aG9hbWlcIi4iCisgIDp0eXBl ICdib29sZWFuCisgIDpncm91cCAnZXNoZWxsLWV4dCkKKwogOzs7IEZ1bmN0aW9uczoKIAog KGRlZnVuIGVzaGVsbC1leHQtaW5pdGlhbGl6ZSAoKSAgICAgO0NhbGxlZCBmcm9tIGBlc2hl bGwtbW9kZScgdmlhIGludGVybi1zb2Z0IQogICAiSW5pdGlhbGl6ZSB0aGUgZXh0ZXJuYWwg Y29tbWFuZCBoYW5kbGluZyBjb2RlLiIKLSAgKGFkZC1ob29rICdlc2hlbGwtbmFtZWQtY29t bWFuZC1ob29rICMnZXNoZWxsLWV4cGxpY2l0LWNvbW1hbmQgbmlsIHQpKQorICAoYWRkLWhv b2sgJ2VzaGVsbC1uYW1lZC1jb21tYW5kLWhvb2sgIydlc2hlbGwtZXhwbGljaXQtY29tbWFu ZCBuaWwgdCkKKyAgKHdoZW4gZXNoZWxsLWV4cGxpY2l0LXJlbW90ZS1jb21tYW5kcworICAg IChhZGQtaG9vayAnZXNoZWxsLW5hbWVkLWNvbW1hbmQtaG9vaworICAgICAgICAgICAgICAj J2VzaGVsbC1oYW5kbGUtcmVtb3RlLWNvbW1hbmQgbmlsIHQpKSkKIAogKGRlZnVuIGVzaGVs bC1leHBsaWNpdC1jb21tYW5kIChjb21tYW5kIGFyZ3MpCiAgICJJZiBhIGNvbW1hbmQgbmFt ZSBiZWdpbnMgd2l0aCBgKicsIGNhbGwgaXQgZXh0ZXJuYWxseSBhbHdheXMuCkBAIC0xODYs MzAgKzE5OCwzNiBAQCBlc2hlbGwtZXhwbGljaXQtY29tbWFuZAogCShlcnJvciAiJXM6IGV4 dGVybmFsIGNvbW1hbmQgbm90IGZvdW5kIgogCSAgICAgICAoc3Vic3RyaW5nIGNvbW1hbmQg MSkpKSkpKQogCisoZGVmdW4gZXNoZWxsLWhhbmRsZS1yZW1vdGUtY29tbWFuZCAoY29tbWFu ZCBhcmdzKQorICAiSGFuZGxlIHJlbW90ZSAob3IgcXVvdGVkKSBDT01NQU5EIG5hbWVzLCB1 c2luZyBBUkdTLgorVGhpcyBjYWxscyB0aGUgYXBwcm9wcmlhdGUgZnVuY3Rpb24gZm9yIGNv bW1hbmRzIHRoYXQgYXJlbid0IG9uCit0aGUgY29ubmVjdGlvbiBhc3NvY2lhdGVkIHdpdGgg YGRlZmF1bHQtZGlyZWN0b3J5Jy4gIChTZWUKK2Blc2hlbGwtZXhwbGljaXQtcmVtb3RlLWNv bW1hbmRzJy4pIgorICAoaWYgKGZpbGUtbmFtZS1xdW90ZWQtcCBjb21tYW5kKQorICAgICAg KGxldCAoKGRlZmF1bHQtZGlyZWN0b3J5IChpZiAoZmlsZS1yZW1vdGUtcCBkZWZhdWx0LWRp cmVjdG9yeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZC1m aWxlLW5hbWUgIn4iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVs dC1kaXJlY3RvcnkpKSkKKyAgICAgICAgKGVzaGVsbC1leHRlcm5hbC1jb21tYW5kIChmaWxl LW5hbWUtdW5xdW90ZSBjb21tYW5kKSBhcmdzKSkKKyAgICAod2hlbiAoZmlsZS1yZW1vdGUt cCBjb21tYW5kKQorICAgICAgKGVzaGVsbC1yZW1vdGUtY29tbWFuZCBjb21tYW5kIGFyZ3Mp KSkpCisKIChkZWZ1biBlc2hlbGwtcmVtb3RlLWNvbW1hbmQgKGNvbW1hbmQgYXJncykKICAg Ikluc2VydCBvdXRwdXQgZnJvbSBhIHJlbW90ZSBDT01NQU5ELCB1c2luZyBBUkdTLgogQSBy ZW1vdGUgY29tbWFuZCBpcyBzb21ldGhpbmcgdGhhdCBleGVjdXRlcyBvbiBhIGRpZmZlcmVu dCBtYWNoaW5lLgotQW4gZXh0ZXJuYWwgY29tbWFuZCBzaW1wbHkgbWVhbnMgZXh0ZXJuYWwg dG8gRW1hY3MuCi0KLU5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGlzIHZlcnkgY3J1ZGUgYXQg dGhlIG1vbWVudC4gIEl0IGdhdGhlcnMgdXAKLWFsbCB0aGUgb3V0cHV0IGZyb20gdGhlIHJl bW90ZSBjb21tYW5kLCBhbmQgc2VuZHMgaXQgYWxsIGF0IG9uY2UsCi1jYXVzaW5nIHRoZSB1 c2VyIHRvIHdvbmRlciBpZiBhbnl0aGluZydzIHJlYWxseSBnb2luZyBvbi4uLiIKLSAgKGxl dCAoKG91dGJ1ZiAoZ2VuZXJhdGUtbmV3LWJ1ZmZlciAiICplc2hlbGwgcmVtb3RlIG91dHB1 dCoiKSkKLQkoZXJyYnVmIChnZW5lcmF0ZS1uZXctYnVmZmVyICIgKmVzaGVsbCByZW1vdGUg ZXJyb3IqIikpCi0JKGNvbW1hbmQgKGZpbGUtbG9jYWwtbmFtZSBjb21tYW5kKSkKLQkoZXhp dGNvZGUgMSkpCi0gICAgKHVud2luZC1wcm90ZWN0Ci0JKHByb2duCi0JICAoc2V0cSBleGl0 Y29kZQotCQkoc2hlbGwtY29tbWFuZAotCQkgKG1hcGNvbmNhdCAjJ3NoZWxsLXF1b3RlLWFy Z3VtZW50Ci0JCQkgICAgKGFwcGVuZCAobGlzdCBjb21tYW5kKSBhcmdzKSAiICIpCi0JCSBv dXRidWYgZXJyYnVmKSkKLQkgIChlc2hlbGwtcHJpbnQgKHdpdGgtY3VycmVudC1idWZmZXIg b3V0YnVmIChidWZmZXItc3RyaW5nKSkpCi0JICAoZXNoZWxsLWVycm9yICh3aXRoLWN1cnJl bnQtYnVmZmVyIGVycmJ1ZiAoYnVmZmVyLXN0cmluZykpKSkKLSAgICAgIChlc2hlbGwtY2xv c2UtaGFuZGxlcyBleGl0Y29kZSAnbmlsKQotICAgICAgKGtpbGwtYnVmZmVyIG91dGJ1ZikK LSAgICAgIChraWxsLWJ1ZmZlciBlcnJidWYpKSkpCitBbiBleHRlcm5hbCBjb21tYW5kIHNp bXBseSBtZWFucyBleHRlcm5hbCB0byBFbWFjcy4iCisgIChsZXQqICgoY3dkLWNvbm5lY3Rp b24gKGZpbGUtcmVtb3RlLXAgZGVmYXVsdC1kaXJlY3RvcnkpKQorICAgICAgICAgKGNvbW1h bmQtY29ubmVjdGlvbiAoZmlsZS1yZW1vdGUtcCBjb21tYW5kKSkKKyAgICAgICAgIChkZWZh dWx0LWRpcmVjdG9yeSAoaWYgKGVxdWFsIGN3ZC1jb25uZWN0aW9uIGNvbW1hbmQtY29ubmVj dGlvbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdC1kaXJlY3Rv cnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQtY29ubmVjdGlvbikp CisgICAgICAgICA7OyBOZXZlciB1c2UgdGhlIHJlbW90ZSBjb25uZWN0aW9uIGhlcmUuICBX ZSBkb24ndCB3YW50IHRvCisgICAgICAgICA7OyBleHBhbmQgdGhlIGxvY2FsIG5hbWUhICBJ bnN0ZWFkLCB3ZSB3YW50IGl0IGFzIHRoZSB1c2VyCisgICAgICAgICA7OyB0eXBlZCwgc28g dGhhdCBpZiBDT01NQU5EIGlzICIvc3NoOmhvc3Q6Y2F0Iiwgd2UganVzdCBnZXQKKyAgICAg ICAgIDs7ICJjYXQiIGFzIHRoZSByZXN1bHQuCisgICAgICAgICAoY29tbWFuZC1sb2NhbG5h bWUgKGZpbGUtcmVtb3RlLXAgY29tbWFuZCAnbG9jYWxuYW1lICduZXZlcikpKQorICAgICh1 bmxlc3MgY29tbWFuZC1jb25uZWN0aW9uCisgICAgICAoZXJyb3IgIiVzOiBub3QgYSByZW1v dGUgY29tbWFuZCIgY29tbWFuZCkpCisgICAgKGVzaGVsbC1leHRlcm5hbC1jb21tYW5kIGNv bW1hbmQtbG9jYWxuYW1lIGFyZ3MpKSkKIAogKGRlZnVuIGVzaGVsbC1leHRlcm5hbC1jb21t YW5kIChjb21tYW5kIGFyZ3MpCiAgICJJbnNlcnQgb3V0cHV0IGZyb20gYW4gZXh0ZXJuYWwg Q09NTUFORCwgdXNpbmcgQVJHUy4iCmRpZmYgLS1naXQgYS9saXNwL2ZpbGVzLmVsIGIvbGlz cC9maWxlcy5lbAppbmRleCAyZmZmZDJlNmMzNS4uMzc3ZWQxYjhhMGIgMTAwNjQ0Ci0tLSBh L2xpc3AvZmlsZXMuZWwKKysrIGIvbGlzcC9maWxlcy5lbApAQCAtMTI3MCw3ICsxMjcwLDkg QEAgZmlsZS1yZW1vdGUtcAogCiBJZiBDT05ORUNURUQgaXMgbm9uLW5pbCwgcmV0dXJuIGFu IGlkZW50aWZpY2F0aW9uIG9ubHkgaWYgRklMRSBpcwogbG9jYXRlZCBvbiBhIHJlbW90ZSBz eXN0ZW0gYW5kIGEgY29ubmVjdGlvbiBpcyBlc3RhYmxpc2hlZCB0bwotdGhhdCByZW1vdGUg c3lzdGVtLgordGhhdCByZW1vdGUgc3lzdGVtLiAgSWYgQ09OTkVDVEVEIGlzIGBuZXZlcics IG5ldmVyIHVzZSBhbgorZXhpc3RpbmcgY29ubmVjdGlvbiB0byByZXR1cm4gdGhlIGlkZW50 aWZpY2F0aW9uICh0aGlzIGlzCitvdGhlcndpc2UgbGlrZSBhIHZhbHVlIG9mIG5pbCkuCiAK IFRpcDogWW91IGNhbiB1c2UgdGhpcyBleHBhbnNpb24gb2YgcmVtb3RlIGlkZW50aWZpZXIg Y29tcG9uZW50cwogICAgICB0byBkZXJpdmUgYSBuZXcgcmVtb3RlIGZpbGUgbmFtZSBmcm9t IGFuIGV4aXN0aW5nIG9uZS4gIEZvcgpkaWZmIC0tZ2l0IGEvbGlzcC9uZXQvdHJhbXAuZWwg Yi9saXNwL25ldC90cmFtcC5lbAppbmRleCA4YzkwMjNkMDA0YS4uNTM4Y2M0MjUyZGIgMTAw NjQ0Ci0tLSBhL2xpc3AvbmV0L3RyYW1wLmVsCisrKyBiL2xpc3AvbmV0L3RyYW1wLmVsCkBA IC00MzM2LDEzICs0MzM2LDE0IEBAIHRyYW1wLWhhbmRsZS1maWxlLXJlbW90ZS1wCiAgIChs ZXQgKCh0cmFtcC12ZXJib3NlIChtaW4gdHJhbXAtdmVyYm9zZSAzKSkpCiAgICAgKHdoZW4g KHRyYW1wLXRyYW1wLWZpbGUtcCBmaWxlbmFtZSkKICAgICAgIChsZXQqICgobyAodHJhbXAt ZGlzc2VjdC1maWxlLW5hbWUgZmlsZW5hbWUpKQotCSAgICAgKHAgKHRyYW1wLWdldC1jb25u ZWN0aW9uLXByb2Nlc3MgbykpCisJICAgICAocCAoYW5kIChub3QgKGVxIGNvbm5lY3RlZCAn bmV2ZXIpKQorICAgICAgICAgICAgICAgICAgICAgKHRyYW1wLWdldC1jb25uZWN0aW9uLXBy b2Nlc3MgbykpKQogCSAgICAgKGMgKGFuZCAocHJvY2Vzcy1saXZlLXAgcCkKIAkJICAgICAo dHJhbXAtZ2V0LWNvbm5lY3Rpb24tcHJvcGVydHkgcCAiY29ubmVjdGVkIikpKSkKIAk7OyBX ZSBleHBhbmQgdGhlIGZpbGUgbmFtZSBvbmx5LCBpZiB0aGVyZSBpcyBhbHJlYWR5IGEgY29u bmVjdGlvbi4KIAkod2l0aC1wYXJzZWQtdHJhbXAtZmlsZS1uYW1lCiAJICAgIChpZiBjIChl eHBhbmQtZmlsZS1uYW1lIGZpbGVuYW1lKSBmaWxlbmFtZSkgbmlsCi0JICAoYW5kIChvciAo bm90IGNvbm5lY3RlZCkgYykKKwkgIChhbmQgKG9yIChtZW1xIGNvbm5lY3RlZCAnKG5pbCBu ZXZlcikpIGMpCiAJICAgICAgIChjb25kCiAJCSgoZXEgaWRlbnRpZmljYXRpb24gJ21ldGhv ZCkgbWV0aG9kKQogCQk7OyBEb21haW4gYW5kIHBvcnQgYXJlIGFwcGVuZGVkIHRvIHVzZXIg YW5kIGhvc3QsCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC1leHQtdGVzdHMu ZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1leHQtdGVzdHMuZWwKaW5kZXggZWYwNzNkMzQ4 N2QuLmQ4ZTI4Y2MwMjlkIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC1leHQt dGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtZXh0LXRlc3RzLmVsCkBAIC0y Myw2ICsyMyw3IEBACiAKIDs7OyBDb2RlOgogCisocmVxdWlyZSAndHJhbXApCiAocmVxdWly ZSAnZXJ0KQogKHJlcXVpcmUgJ2VzaC1tb2RlKQogKHJlcXVpcmUgJ2VzaC1leHQpCkBAIC03 Myw0ICs3NCwzMiBAQCBlc2gtZXh0LXRlc3QvYWRkcGF0aC9zZXQtbG9jYWxseQogICAgICAo ZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0cHV0ICJlY2hvICRQQVRIIgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgb3JpZ2luYWwtcGF0aCAiXG4iKSkpKSkK IAorKGVydC1kZWZ0ZXN0IGVzaC1leHQtdGVzdC9leHBsaWNpdGx5LXJlbW90ZS1jb21tYW5k ICgpCisgICJUZXN0IHRoYXQgYW4gZXhwbGljaXRseS1yZW1vdGUgY29tbWFuZCBpcyByZW1v dGUgbm8gbWF0dGVyIHRoZSBjdXJyZW50IGRpci4iCisgIChza2lwLXVubGVzcyAoYW5kIChl c2hlbGwtdGVzdHMtcmVtb3RlLWFjY2Vzc2libGUtcCkKKyAgICAgICAgICAgICAgICAgICAg KGV4ZWN1dGFibGUtZmluZCAic2giKSkpCisgIChkb2xpc3QgKGRlZmF1bHQtZGlyZWN0b3J5 IChsaXN0IGRlZmF1bHQtZGlyZWN0b3J5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVydC1yZW1vdGUtdGVtcG9yYXJ5LWZpbGUtZGlyZWN0b3J5KSkKKyAgICAoZXJ0 LWluZm8gKChmb3JtYXQgIkluIGRpcmVjdG9yeTogJXMiIGRlZmF1bHQtZGlyZWN0b3J5KSkK KyAgICAgICh3aXRoLXRlbXAtZXNoZWxsCisgICAgICAgOzsgQ2hlY2sgdGhlIHZhbHVlIG9m ICRJTlNJREVfRU1BQ1MgdXNpbmcgYHNoJyBpbiBvcmRlciB0bworICAgICAgIDs7IGRlbGF5 IHZhcmlhYmxlIGV4cGFuc2lvbi4KKyAgICAgICAoZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0 cHV0CisgICAgICAgIChmb3JtYXQgIiVzc2ggLWMgJ2VjaG8gJElOU0lERV9FTUFDUyciCisg ICAgICAgICAgICAgICAgKGZpbGUtcmVtb3RlLXAgZXJ0LXJlbW90ZS10ZW1wb3JhcnktZmls ZS1kaXJlY3RvcnkpKQorICAgICAgICAiZXNoZWxsLHRyYW1wIikpKSkpCisKKyhlcnQtZGVm dGVzdCBlc2gtZXh0LXRlc3QvZXhwbGljaXRseS1sb2NhbC1jb21tYW5kICgpCisgICJUZXN0 IHRoYXQgYW4gZXhwbGljaXRseS1sb2NhbCBjb21tYW5kIGlzIGxvY2FsIG5vIG1hdHRlciB0 aGUgY3VycmVudCBkaXIuIgorICAoc2tpcC11bmxlc3MgKGFuZCAoZXNoZWxsLXRlc3RzLXJl bW90ZS1hY2Nlc3NpYmxlLXApCisgICAgICAgICAgICAgICAgICAgIChleGVjdXRhYmxlLWZp bmQgInNoIikpKQorICAoZG9saXN0IChkZWZhdWx0LWRpcmVjdG9yeSAobGlzdCBkZWZhdWx0 LWRpcmVjdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnQtcmVt b3RlLXRlbXBvcmFyeS1maWxlLWRpcmVjdG9yeSkpCisgICAgKGVydC1pbmZvICgoZm9ybWF0 ICJJbiBkaXJlY3Rvcnk6ICVzIiBkZWZhdWx0LWRpcmVjdG9yeSkpCisgICAgICAod2l0aC10 ZW1wLWVzaGVsbAorICAgICAgIDs7IENoZWNrIHRoZSB2YWx1ZSBvZiAkSU5TSURFX0VNQUNT IHVzaW5nIGBzaCcgaW4gb3JkZXIgdG8KKyAgICAgICA7OyBkZWxheSB2YXJpYWJsZSBleHBh bnNpb24uCisgICAgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiLzpzaCAtYyAn ZWNobyAkSU5TSURFX0VNQUNTJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJlc2hlbGxcbiIpKSkpKQorCiA7OyBlc2gtZXh0LXRlc3RzLmVsIGVuZHMgaGVyZQot LSAKMi4yNS4xCgo= --------------03u1y4yGCl0XNAbCYazbV1Uh--