From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Liu Hui Newsgroups: gmane.emacs.bugs Subject: bug#68559: [PATCH] Improve Python shell completion Date: Wed, 13 Mar 2024 18:21:00 +0800 Message-ID: References: <6BAFD8BF-8F18-4D9F-9DB3-A185AEF2EBCA@gmail.com> <8B4172D0-FC31-4437-99C4-683C892C5F86@gmail.com> <3A206D3C-E193-4240-A6DB-D3EC7DAAE7C2@gmail.com> <16E39FDF-5F8E-4C1B-8BCD-A0147B97F2B8@gmail.com> <7150E568-B07D-4D92-8073-979387553394@gmail.com> <87bk80ve20.fsf@epfl.ch> <87y1asybi4.fsf@epfl.ch> <87zfv4lpsn.fsf@epfl.ch> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000009e824306138828a0" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="321"; mail-complaints-to="usenet@ciao.gmane.io" Cc: kobarity , Eli Zaretskii , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 68559@debbugs.gnu.org To: "Basil L. Contovounesios" Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Mar 13 11:25:00 2024 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 1rkLnA-000ARv-Cc for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 13 Mar 2024 11:25:00 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rkLmi-0001RL-Kq; Wed, 13 Mar 2024 06:24:32 -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 1rkLme-0001R6-TD for bug-gnu-emacs@gnu.org; Wed, 13 Mar 2024 06:24:28 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rkLmd-00011Y-It for bug-gnu-emacs@gnu.org; Wed, 13 Mar 2024 06:24:27 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rkLnC-0003tm-7C for bug-gnu-emacs@gnu.org; Wed, 13 Mar 2024 06:25:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Liu Hui Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 Mar 2024 10:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68559 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 68559-submit@debbugs.gnu.org id=B68559.171032548514929 (code B ref 68559); Wed, 13 Mar 2024 10:25:02 +0000 Original-Received: (at 68559) by debbugs.gnu.org; 13 Mar 2024 10:24:45 +0000 Original-Received: from localhost ([127.0.0.1]:44757 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rkLmv-0003si-0f for submit@debbugs.gnu.org; Wed, 13 Mar 2024 06:24:45 -0400 Original-Received: from mail-vk1-f170.google.com ([209.85.221.170]:45450) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rkLmo-0003sL-VB for 68559@debbugs.gnu.org; Wed, 13 Mar 2024 06:24:43 -0400 Original-Received: by mail-vk1-f170.google.com with SMTP id 71dfb90a1353d-4d33c5c0b5aso162617e0c.3 for <68559@debbugs.gnu.org>; Wed, 13 Mar 2024 03:24:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710325378; x=1710930178; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=hphSn+o42S81Lze2sggWcxrCfu7sIQQBIBD7yFb0T3s=; b=lEylKBvy4hUeuIb+2l3juIHneePVzr2utEBNRj1gVR9tUnKpEl+VZ/oUJMDsN5gZGq 30SScJ/iYON/Fbheo3NudVCAbQdMG1qWcyuS6/dy3L2wf1uXX8BUOAHlNdF7sD8A2eCm bnNIxpefLt4Aihs6I573hFQEpjoBPprHTYpjtdCLtmJRHDifUm04Y5jOAcVcCzIjjW1z 2bIWGYdn4m2dWkivylPfVM1f9YymEhiDY/Q8gcB6XB+Y3MV/IO+T4L9pWIoIokwAZ9OQ sZpJcyEuEnYGz9cOeURgsplSQOCtcfivxcS/4hcnTr78kHdu7HAJCA5WLw1N94ZQsmWr q89g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710325378; x=1710930178; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hphSn+o42S81Lze2sggWcxrCfu7sIQQBIBD7yFb0T3s=; b=I1KzyK5L4t4jqbhBMfxLKx/e//0VL+ykzSNeyjKN5heKsdkVEhHU/VziDOd5rckyBS 2w8qt3z1b0l5R9fK0oHiajcyAkoFYaAEtF5r7bUNP/58npT5yCvfLHmPkoiKWNQo1yqP WTIRKAHb/L9KJ7VFKwMiHJRFHHkNmGoc9nDPXTR23LsJGuV1N4l+FLGBbsmON8p+TUzo SV3EYKldgebybTPgo8BF9EXlmHmv3NKqRy8jhYN5J0gjOCHcf79n0t34jqgho0veZFGA bd33hj85meO7tasG5okexA4T6XH/Eq+9DL7k4zLBstG52gDic1HV0xWZ3SutgvEA3b9C IJBg== X-Forwarded-Encrypted: i=1; AJvYcCVbBgIl41nABov2QMtbB39Vtl1i8EeasT8aagFkbTIEPbMTSwC68ZnP/qess+2EH7EBU/OasB3sg4pdla3DuGBRMoDVUxI= X-Gm-Message-State: AOJu0YzZd8j6DMLFy4LsPEzB2tyDrv9BW5NWCQdOo8qeetUfWGq/KcEr GeAZv1rnm8xBdXO5bQN04ob6g0dlU5LUvg69KuYvXEfYoXXJlEv8XG1+EAMcObOrCjxvNlO1BW9 2czFFG8fGFzbWlnAix8exSZojRyM= X-Google-Smtp-Source: AGHT+IEVJKOBs7jg2tXzXBuC8vzRXQMM5AjkmFxSMdJgAZkdwXwfrfu3ur1Nj/DJKyqT5rNXaHwoJf2TgtO0qzbL7TA= X-Received: by 2002:a1f:ee08:0:b0:4d4:154c:332 with SMTP id m8-20020a1fee08000000b004d4154c0332mr1540413vkh.8.1710325378213; Wed, 13 Mar 2024 03:22:58 -0700 (PDT) In-Reply-To: <87zfv4lpsn.fsf@epfl.ch> 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:281543 Archived-At: --0000000000009e824306138828a0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Mar 12, 2024 at 12:02=E2=80=AFAM Basil L. Contovounesios wrote: > > Liu Hui [2024-03-11 19:35 +0800] wrote: > > > On Fri, Mar 8, 2024 at 11:44=E2=80=AFPM Basil L. Contovounesios > > wrote: > >> > >> Liu Hui [2024-03-06 18:14 +0800] wrote: > >> > >> > - (string-match-p "ipython[23]?\\'" python-shell-i= nterpreter))))) > >> > + (or (string-match-p "ipython[23]?\\'" python-she= ll-interpreter) > >> > + (string=3D python-shell-readline-completer-d= elims "")))))) > >> > >> Just curious: what does the empty string signify? > >> > >> [ If it's not just a dumb question, perhaps the meaning could be added > >> to the variable's docstring/commentary. ] > > > > The empty string means no characters are considered delimiters and the > > readline completion could consider the entire line of input without > > breaking it into parts based on typical delimiters like spaces or > > punctuation. The docstring is updated in the attached patch. > > Thanks! But that makes me wonder: in the cases where we check > > (string=3D python-shell-readline-completer-delims "") > > is there a possibility that the variable's value will be nil? > (In which case we should compare with equal instead of string=3D.) Yes, it is a string with native completion and may be nil with non-native completion. I have updated the patch. Thanks. --0000000000009e824306138828a0 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Detect-the-readline-support-for-Python-shell-complet.patch" Content-Disposition: attachment; filename="0001-Detect-the-readline-support-for-Python-shell-complet.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltpj7ht60 RnJvbSBkMjA0ZDVhZTI0MzlkYzc2NjYyZTRlMTM0OTFmZjEwMzIxNmEyZDEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUgSHVpIDxsaXVodWkxNjEwQGdtYWlsLmNvbT4KRGF0ZTog TW9uLCAyNiBGZWIgMjAyNCAxODo0NjozNiArMDgwMApTdWJqZWN0OiBbUEFUQ0hdIERldGVjdCB0 aGUgcmVhZGxpbmUgc3VwcG9ydCBmb3IgUHl0aG9uIHNoZWxsIGNvbXBsZXRpb24KCiogbGlzcC9w cm9nbW9kZXMvcHl0aG9uLmVsCihweXRob24tc2hlbGwtY29taW50LXdhdGNoLWZvci1maXJzdC1w cm9tcHQtb3V0cHV0LWZpbHRlcik6CkRldGVjdCB0aGUgcmVhZGxpbmUgc3VwcG9ydC4KKHB5dGhv bi1zaGVsbC1yZWFkbGluZS1jb21wbGV0ZXItZGVsaW1zKTogVXBkYXRlIGRvY3N0cmluZy4KKHB5 dGhvbi1zaGVsbC1jb21wbGV0aW9uLW5hdGl2ZS1zZXR1cCk6IE1vdmUgdGhlIHJlYWRsaW5lCmRl dGVjdGlvbiBjb2RlIHRvIC4uLgoocHl0aG9uLXNoZWxsLXJlYWRsaW5lLWRldGVjdCk6IC4uLiBu ZXcgZnVuY3Rpb24uCihweXRob24tc2hlbGwtY29tcGxldGlvbi1uYXRpdmUtdHVybi1vbi1tYXli ZSk6IFNraXAgaWYgUHl0aG9uCmhhcyBubyByZWFkbGluZSBzdXBwb3J0LgoocHl0aG9uLXNoZWxs LWNvbXBsZXRpb24tYXQtcG9pbnQpOiBSZXNwZWN0IHRoZSBkZWxpbWl0ZXIgb2YKcmVhZGxpbmUg Y29tcGxldGVyIGluIG5vbi1uYXRpdmUgY29tcGxldGlvbi4KKiB0ZXN0L2xpc3AvcHJvZ21vZGVz L3B5dGhvbi10ZXN0cy5lbAoocHl0aG9uLXNoZWxsLWNvbXBsZXRpb24tYXQtcG9pbnQtMSkKKHB5 dGhvbi1zaGVsbC1jb21wbGV0aW9uLWF0LXBvaW50LW5hdGl2ZS0xKQoocHl0aG9uLWNvbXBsZXRp b24tYXQtcG9pbnQtMSwgcHl0aG9uLWNvbXBsZXRpb24tYXQtcG9pbnQtMikKKHB5dGhvbi1jb21w bGV0aW9uLWF0LXBvaW50LXBkYi0xKQoocHl0aG9uLWNvbXBsZXRpb24tYXQtcG9pbnQtd2hpbGUt cnVubmluZy0xKQoocHl0aG9uLWNvbXBsZXRpb24tYXQtcG9pbnQtbmF0aXZlLTEpCihweXRob24t Y29tcGxldGlvbi1hdC1wb2ludC1uYXRpdmUtMikKKHB5dGhvbi1jb21wbGV0aW9uLWF0LXBvaW50 LW5hdGl2ZS13aXRoLWZmYXAtMSkKKHB5dGhvbi1jb21wbGV0aW9uLWF0LXBvaW50LW5hdGl2ZS13 aXRoLWVsZG9jLTEpOiBTa2lwIHRlc3RzIGlmClB5dGhvbiBoYXMgbm8gcmVhZGxpbmUgc3VwcG9y dC4KKHB5dGhvbi1zaGVsbC1jb21wbGV0aW9uLWF0LXBvaW50LWplZGktY29tcGxldGVyKTogQWRk IHRlc3QgZm9yCm5vbi1uYXRpdmUgUHl0aG9uIHNoZWxsIGNvbXBsZXRpb24uIChidWcjNjg1NTkp Ci0tLQogbGlzcC9wcm9nbW9kZXMvcHl0aG9uLmVsICAgICAgICAgICAgfCAyOSArKysrKysrKysr KysrKysrKysrKy0tLS0tLS0KIHRlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVsIHwg MzEgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNDggaW5z ZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9kZXMv cHl0aG9uLmVsIGIvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLmVsCmluZGV4IDU4N2QwYjM2MzA0Li5j OTRiYjRmYzU1MCAxMDA2NDQKLS0tIGEvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLmVsCisrKyBiL2xp c3AvcHJvZ21vZGVzL3B5dGhvbi5lbApAQCAtMzYwMSw2ICszNjAxLDcgQEAgcHl0aG9uLXNoZWxs LWNvbWludC13YXRjaC1mb3ItZmlyc3QtcHJvbXB0LW91dHB1dC1maWx0ZXIKICAgICAgICAgICAo cHl0aG9uLXNoZWxsLXNlbmQtc3RyaW5nLW5vLW91dHB1dCBweXRob24tc2hlbGwtZXZhbC1maWxl LXNldHVwLWNvZGUpKQogICAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAoY3VycmVudC1idWZm ZXIpCiAgICAgICAgICAgKGxldCAoKGluaGliaXQtcXVpdCBuaWwpKQorICAgICAgICAgICAgKHB5 dGhvbi1zaGVsbC1yZWFkbGluZS1kZXRlY3QpCiAgICAgICAgICAgICAocnVuLWhvb2tzICdweXRo b24tc2hlbGwtZmlyc3QtcHJvbXB0LWhvb2spKSkpKSkKICAgb3V0cHV0KQogCkBAIC00NDM5LDcg KzQ0NDAsMjMgQEAgcHl0aG9uLXNoZWxsLWNvbXBsZXRpb24tbmF0aXZlLXRyeS1vdXRwdXQtdGlt ZW91dAogCiAoZGVmdmFyIHB5dGhvbi1zaGVsbC1yZWFkbGluZS1jb21wbGV0ZXItZGVsaW1zIG5p bAogICAiV29yZCBkZWxpbWl0ZXJzIHVzZWQgYnkgdGhlIHJlYWRsaW5lIGNvbXBsZXRlci4KLUl0 IGlzIGF1dG9tYXRpY2FsbHkgc2V0IGJ5IFB5dGhvbiBzaGVsbC4iKQorSXQgaXMgYXV0b21hdGlj YWxseSBzZXQgYnkgUHl0aG9uIHNoZWxsLiAgQW4gZW1wdHkgc3RyaW5nIG1lYW5zIG5vCitjaGFy YWN0ZXJzIGFyZSBjb25zaWRlcmVkIGRlbGltaXRlcnMgYW5kIHRoZSByZWFkbGluZSBjb21wbGV0 aW9uCitjb25zaWRlcnMgdGhlIGVudGlyZSBsaW5lIG9mIGlucHV0LiAgQSB2YWx1ZSBvZiBuaWwg bWVhbnMgdGhlIFB5dGhvbgorc2hlbGwgaGFzIG5vIHJlYWRsaW5lIHN1cHBvcnQuIikKKworKGRl ZnVuIHB5dGhvbi1zaGVsbC1yZWFkbGluZS1kZXRlY3QgKCkKKyAgIkRldGVjdCB0aGUgcmVhZGxp bmUgc3VwcG9ydCBmb3IgUHl0aG9uIHNoZWxsIGNvbXBsZXRpb24uIgorICAobGV0KiAoKHByb2Nl c3MgKHB5dGhvbi1zaGVsbC1nZXQtcHJvY2VzcykpCisgICAgICAgICAob3V0cHV0IChweXRob24t c2hlbGwtc2VuZC1zdHJpbmctbm8tb3V0cHV0ICIKK3RyeToKKyAgICBpbXBvcnQgcmVhZGxpbmUK KyAgICBwcmludChyZWFkbGluZS5nZXRfY29tcGxldGVyX2RlbGltcygpKQorZXhjZXB0OgorICAg IHByaW50KCdObyByZWFkbGluZSBzdXBwb3J0JykiIHByb2Nlc3MpKSkKKyAgICAoc2V0cS1sb2Nh bCBweXRob24tc2hlbGwtcmVhZGxpbmUtY29tcGxldGVyLWRlbGltcworICAgICAgICAgICAgICAg ICh1bmxlc3MgKHN0cmluZy1zZWFyY2ggIk5vIHJlYWRsaW5lIHN1cHBvcnQiIG91dHB1dCkKKyAg ICAgICAgICAgICAgICAgIChzdHJpbmctdHJpbS1yaWdodCBvdXRwdXQpKSkpKQogCiAoZGVmdmFy IHB5dGhvbi1zaGVsbC1jb21wbGV0aW9uLW5hdGl2ZS1yZWRpcmVjdC1idWZmZXIKICAgIiAqUHl0 aG9uIGNvbXBsZXRpb25zIHJlZGlyZWN0KiIKQEAgLTQ1NzksMTAgKzQ1OTYsNiBAQCBweXRob24t c2hlbGwtY29tcGxldGlvbi1uYXRpdmUtc2V0dXAKIF9fUFlUSE9OX0VMX25hdGl2ZV9jb21wbGV0 aW9uX3NldHVwKCkiIHByb2Nlc3MpKSkKICAgICAod2hlbiAoc3RyaW5nLW1hdGNoLXAgInB5dGhv blxcLmVsOiBuYXRpdmUgY29tcGxldGlvbiBzZXR1cCBsb2FkZWQiCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIG91dHB1dCkKLSAgICAgIChzZXRxLWxvY2FsIHB5dGhvbi1zaGVsbC1yZWFkbGlu ZS1jb21wbGV0ZXItZGVsaW1zCi0gICAgICAgICAgICAgICAgICAoc3RyaW5nLXRyaW0tcmlnaHQK LSAgICAgICAgICAgICAgICAgICAocHl0aG9uLXNoZWxsLXNlbmQtc3RyaW5nLW5vLW91dHB1dAot ICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IHJlYWRsaW5lOyBwcmludChyZWFkbGluZS5nZXRf Y29tcGxldGVyX2RlbGltcygpKSIpKSkKICAgICAgIChweXRob24tc2hlbGwtY29tcGxldGlvbi1u YXRpdmUtdHJ5KSkpKQogCiAoZGVmdW4gcHl0aG9uLXNoZWxsLWNvbXBsZXRpb24tbmF0aXZlLXR1 cm4tb2ZmICgmb3B0aW9uYWwgbXNnKQpAQCAtNDYxMSw3ICs0NjI0LDggQEAgcHl0aG9uLXNoZWxs LWNvbXBsZXRpb24tbmF0aXZlLXR1cm4tb24tbWF5YmUKICAgICAgIChjb25kCiAgICAgICAgKChw eXRob24tc2hlbGwtY29tcGxldGlvbi1uYXRpdmUtaW50ZXJwcmV0ZXItZGlzYWJsZWQtcCkKICAg ICAgICAgKHB5dGhvbi1zaGVsbC1jb21wbGV0aW9uLW5hdGl2ZS10dXJuLW9mZiBtc2cpKQotICAg ICAgICgocHl0aG9uLXNoZWxsLWNvbXBsZXRpb24tbmF0aXZlLXNldHVwKQorICAgICAgICgoYW5k IHB5dGhvbi1zaGVsbC1yZWFkbGluZS1jb21wbGV0ZXItZGVsaW1zCisgICAgICAgICAgICAgKHB5 dGhvbi1zaGVsbC1jb21wbGV0aW9uLW5hdGl2ZS1zZXR1cCkpCiAgICAgICAgICh3aGVuIG1zZwog ICAgICAgICAgIChtZXNzYWdlICJTaGVsbCBuYXRpdmUgY29tcGxldGlvbiBpcyBlbmFibGVkLiIp KSkKICAgICAgICAodApAQCAtNDc4Myw3ICs0Nzk3LDggQEAgcHl0aG9uLXNoZWxsLWNvbXBsZXRp b24tYXQtcG9pbnQKICAgICAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChwcm9jZXNz LWJ1ZmZlciBwcm9jZXNzKQogICAgICAgICAgICAgICAgICAoaWYgcHl0aG9uLXNoZWxsLWNvbXBs ZXRpb24tbmF0aXZlLWVuYWJsZQogICAgICAgICAgICAgICAgICAgICAgKHN0cmluZz0gcHl0aG9u LXNoZWxsLXJlYWRsaW5lLWNvbXBsZXRlci1kZWxpbXMgIiIpCi0gICAgICAgICAgICAgICAgICAg KHN0cmluZy1tYXRjaC1wICJpcHl0aG9uWzIzXT9cXCciIHB5dGhvbi1zaGVsbC1pbnRlcnByZXRl cikpKSkpCisgICAgICAgICAgICAgICAgICAgKG9yIChzdHJpbmctbWF0Y2gtcCAiaXB5dGhvblsy M10/XFwnIiBweXRob24tc2hlbGwtaW50ZXJwcmV0ZXIpCisgICAgICAgICAgICAgICAgICAgICAg IChlcXVhbCBweXRob24tc2hlbGwtcmVhZGxpbmUtY29tcGxldGVyLWRlbGltcyAiIikpKSkpKQog ICAgICAgICAgKHN0YXJ0CiAgICAgICAgICAgKGlmICg8IChwb2ludCkgbGluZS1zdGFydCkKICAg ICAgICAgICAgICAgKHBvaW50KQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL3Byb2dtb2Rlcy9weXRo b24tdGVzdHMuZWwgYi90ZXN0L2xpc3AvcHJvZ21vZGVzL3B5dGhvbi10ZXN0cy5lbAppbmRleCAx Y2VlZTY5MGNmYi4uZTExNDQwY2RiNWIgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9wcm9nbW9kZXMv cHl0aG9uLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVs CkBAIC00NzgzLDYgKzQ3ODMsNyBAQCBweXRob24tc2hlbGwtY29tcGxldGlvbi1hdC1wb2ludC0x CiAgIChweXRob24tdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlci13aXRoLXNoZWxsCiAgICAiIgogICAg KHB5dGhvbi1zaGVsbC13aXRoLXNoZWxsLWJ1ZmZlcgorICAgICAoc2tpcC11bmxlc3MgcHl0aG9u LXNoZWxsLXJlYWRsaW5lLWNvbXBsZXRlci1kZWxpbXMpCiAgICAgIChpbnNlcnQgImltcG9ydCBh YmMiKQogICAgICAoY29taW50LXNlbmQtaW5wdXQpCiAgICAgIChweXRob24tdGVzdHMtc2hlbGwt d2FpdC1mb3ItcHJvbXB0KQpAQCAtNDc5Nyw2ICs0Nzk4LDcgQEAgcHl0aG9uLXNoZWxsLWNvbXBs ZXRpb24tYXQtcG9pbnQtbmF0aXZlLTEKICAgICIiCiAgICAocHl0aG9uLXNoZWxsLWNvbXBsZXRp b24tbmF0aXZlLXR1cm4tb24pCiAgICAocHl0aG9uLXNoZWxsLXdpdGgtc2hlbGwtYnVmZmVyCisg ICAgIChza2lwLXVubGVzcyBweXRob24tc2hlbGwtcmVhZGxpbmUtY29tcGxldGVyLWRlbGltcykK ICAgICAgKGluc2VydCAiaW1wb3J0IGFiYyIpCiAgICAgIChjb21pbnQtc2VuZC1pbnB1dCkKICAg ICAgKHB5dGhvbi10ZXN0cy1zaGVsbC13YWl0LWZvci1wcm9tcHQpCkBAIC00ODgzLDExICs0ODg1 LDE0IEBAIHB5dGhvbi1zaGVsbC1jb21wbGV0aW9uLWF0LXBvaW50LWplZGktY29tcGxldGVyCiAg ICAgKHB5dGhvbi10ZXN0cy13aXRoLXRlbXAtYnVmZmVyLXdpdGgtc2hlbGwKICAgICAgIiIKICAg ICAgKHB5dGhvbi1zaGVsbC13aXRoLXNoZWxsLWJ1ZmZlcgotICAgICAgKHB5dGhvbi1zaGVsbC1j b21wbGV0aW9uLW5hdGl2ZS10dXJuLW9uKQotICAgICAgKHNraXAtdW5sZXNzIChzdHJpbmc9IHB5 dGhvbi1zaGVsbC1yZWFkbGluZS1jb21wbGV0ZXItZGVsaW1zICIiKSkKLSAgICAgIChweXRob24t dGVzdHMtLWNvbXBsZXRpb24tbW9kdWxlKQotICAgICAgKHB5dGhvbi10ZXN0cy0tY29tcGxldGlv bi1wYXJhbWV0ZXJzKQotICAgICAgKHB5dGhvbi10ZXN0cy0tY29tcGxldGlvbi1leHRyYS1jb250 ZXh0KSkpKSkKKyAgICAgICAoc2tpcC11bmxlc3MgKHN0cmluZz0gcHl0aG9uLXNoZWxsLXJlYWRs aW5lLWNvbXBsZXRlci1kZWxpbXMgIiIpKQorICAgICAgIChweXRob24tc2hlbGwtY29tcGxldGlv bi1uYXRpdmUtdHVybi1vZmYpCisgICAgICAgKHB5dGhvbi10ZXN0cy0tY29tcGxldGlvbi1tb2R1 bGUpCisgICAgICAgKHB5dGhvbi10ZXN0cy0tY29tcGxldGlvbi1wYXJhbWV0ZXJzKQorICAgICAg IChweXRob24tc2hlbGwtY29tcGxldGlvbi1uYXRpdmUtdHVybi1vbikKKyAgICAgICAocHl0aG9u LXRlc3RzLS1jb21wbGV0aW9uLW1vZHVsZSkKKyAgICAgICAocHl0aG9uLXRlc3RzLS1jb21wbGV0 aW9uLXBhcmFtZXRlcnMpCisgICAgICAgKHB5dGhvbi10ZXN0cy0tY29tcGxldGlvbi1leHRyYS1j b250ZXh0KSkpKSkKIAogKGVydC1kZWZ0ZXN0IHB5dGhvbi1zaGVsbC1jb21wbGV0aW9uLWF0LXBv aW50LWlweXRob24gKCkKICAgIkNoZWNrIGlmIFB5dGhvbiBzaGVsbCBjb21wbGV0aW9uIHdvcmtz IGZvciBJUHl0aG9uLiIKQEAgLTQ5MjQsNiArNDkyOSw4IEBAIHB5dGhvbi1jb21wbGV0aW9uLWF0 LXBvaW50LTEKIGltcG9ydCBhYmMKICIKICAgIChsZXQgKChpbmhpYml0LW1lc3NhZ2UgdCkpCisg ICAgIChweXRob24tc2hlbGwtd2l0aC1zaGVsbC1idWZmZXIKKyAgICAgICAoc2tpcC11bmxlc3Mg cHl0aG9uLXNoZWxsLXJlYWRsaW5lLWNvbXBsZXRlci1kZWxpbXMpKQogICAgICAocHl0aG9uLXNo ZWxsLXNlbmQtYnVmZmVyKQogICAgICAocHl0aG9uLXRlc3RzLXNoZWxsLXdhaXQtZm9yLXByb21w dCkKICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKQEAgLTQ5NDAsNiArNDk0Nyw4IEBAIHB5 dGhvbi1jb21wbGV0aW9uLWF0LXBvaW50LTIKIGltcG9ydCBhYmMKICIKICAgIChsZXQgKChpbmhp Yml0LW1lc3NhZ2UgdCkpCisgICAgIChweXRob24tc2hlbGwtd2l0aC1zaGVsbC1idWZmZXIKKyAg ICAgICAoc2tpcC11bmxlc3MgcHl0aG9uLXNoZWxsLXJlYWRsaW5lLWNvbXBsZXRlci1kZWxpbXMp KQogICAgICAocHl0aG9uLXNoZWxsLXNlbmQtYnVmZmVyKQogICAgICAocHl0aG9uLXRlc3RzLXNo ZWxsLXdhaXQtZm9yLXByb21wdCkKICAgICAgKHB5dGhvbi1zaGVsbC13aXRoLXNoZWxsLWJ1ZmZl cgpAQCAtNDk1OSw2ICs0OTY4LDggQEAgcHl0aG9uLWNvbXBsZXRpb24tYXQtcG9pbnQtcGRiLTEK IHByaW50KCdIZWxsbycpCiAiCiAgICAobGV0ICgoaW5oaWJpdC1tZXNzYWdlIHQpKQorICAgICAo cHl0aG9uLXNoZWxsLXdpdGgtc2hlbGwtYnVmZmVyCisgICAgICAgKHNraXAtdW5sZXNzIHB5dGhv bi1zaGVsbC1yZWFkbGluZS1jb21wbGV0ZXItZGVsaW1zKSkKICAgICAgKHB5dGhvbi1zaGVsbC1z ZW5kLWJ1ZmZlcikKICAgICAgKHB5dGhvbi10ZXN0cy1zaGVsbC13YWl0LWZvci1wcm9tcHQpCiAg ICAgIChnb3RvLWNoYXIgKHBvaW50LW1heCkpCkBAIC00OTc1LDYgKzQ5ODYsOCBAQCBweXRob24t Y29tcGxldGlvbi1hdC1wb2ludC13aGlsZS1ydW5uaW5nLTEKIHRpbWUuc2xlZXAoMykKICIKICAg IChsZXQgKChpbmhpYml0LW1lc3NhZ2UgdCkpCisgICAgIChweXRob24tc2hlbGwtd2l0aC1zaGVs bC1idWZmZXIKKyAgICAgICAoc2tpcC11bmxlc3MgcHl0aG9uLXNoZWxsLXJlYWRsaW5lLWNvbXBs ZXRlci1kZWxpbXMpKQogICAgICAocHl0aG9uLXNoZWxsLXNlbmQtYnVmZmVyKQogICAgICAoZ290 by1jaGFyIChwb2ludC1tYXgpKQogICAgICAoaW5zZXJ0ICJ0aW1lLiIpCkBAIC00OTg3LDYgKzUw MDAsOCBAQCBweXRob24tY29tcGxldGlvbi1hdC1wb2ludC1uYXRpdmUtMQogaW1wb3J0IGFiYwog IgogICAgKGxldCAoKGluaGliaXQtbWVzc2FnZSB0KSkKKyAgICAgKHB5dGhvbi1zaGVsbC13aXRo LXNoZWxsLWJ1ZmZlcgorICAgICAgIChza2lwLXVubGVzcyBweXRob24tc2hlbGwtcmVhZGxpbmUt Y29tcGxldGVyLWRlbGltcykpCiAgICAgIChweXRob24tc2hlbGwtY29tcGxldGlvbi1uYXRpdmUt dHVybi1vbikKICAgICAgKHB5dGhvbi1zaGVsbC1zZW5kLWJ1ZmZlcikKICAgICAgKHB5dGhvbi10 ZXN0cy1zaGVsbC13YWl0LWZvci1wcm9tcHQpCkBAIC01MDA0LDYgKzUwMTksOCBAQCBweXRob24t Y29tcGxldGlvbi1hdC1wb2ludC1uYXRpdmUtMgogaW1wb3J0IGFiYwogIgogICAgKGxldCAoKGlu aGliaXQtbWVzc2FnZSB0KSkKKyAgICAgKHB5dGhvbi1zaGVsbC13aXRoLXNoZWxsLWJ1ZmZlcgor ICAgICAgIChza2lwLXVubGVzcyBweXRob24tc2hlbGwtcmVhZGxpbmUtY29tcGxldGVyLWRlbGlt cykpCiAgICAgIChweXRob24tc2hlbGwtY29tcGxldGlvbi1uYXRpdmUtdHVybi1vbikKICAgICAg KHB5dGhvbi1zaGVsbC1zZW5kLWJ1ZmZlcikKICAgICAgKHB5dGhvbi10ZXN0cy1zaGVsbC13YWl0 LWZvci1wcm9tcHQpCkBAIC01MDIwLDYgKzUwMzcsOCBAQCBweXRob24tY29tcGxldGlvbi1hdC1w b2ludC1uYXRpdmUtd2l0aC1mZmFwLTEKIGltcG9ydCBhYmMKICIKICAgIChsZXQgKChpbmhpYml0 LW1lc3NhZ2UgdCkpCisgICAgIChweXRob24tc2hlbGwtd2l0aC1zaGVsbC1idWZmZXIKKyAgICAg ICAoc2tpcC11bmxlc3MgcHl0aG9uLXNoZWxsLXJlYWRsaW5lLWNvbXBsZXRlci1kZWxpbXMpKQog ICAgICAocHl0aG9uLXNoZWxsLWNvbXBsZXRpb24tbmF0aXZlLXR1cm4tb24pCiAgICAgIChweXRo b24tc2hlbGwtc2VuZC1idWZmZXIpCiAgICAgIChweXRob24tdGVzdHMtc2hlbGwtd2FpdC1mb3It cHJvbXB0KQpAQCAtNTAzNiw2ICs1MDU1LDggQEAgcHl0aG9uLWNvbXBsZXRpb24tYXQtcG9pbnQt bmF0aXZlLXdpdGgtZWxkb2MtMQogaW1wb3J0IGFiYwogIgogICAgKGxldCAoKGluaGliaXQtbWVz c2FnZSB0KSkKKyAgICAgKHB5dGhvbi1zaGVsbC13aXRoLXNoZWxsLWJ1ZmZlcgorICAgICAgIChz a2lwLXVubGVzcyBweXRob24tc2hlbGwtcmVhZGxpbmUtY29tcGxldGVyLWRlbGltcykpCiAgICAg IChweXRob24tc2hlbGwtY29tcGxldGlvbi1uYXRpdmUtdHVybi1vbikKICAgICAgKHB5dGhvbi1z aGVsbC1zZW5kLWJ1ZmZlcikKICAgICAgKHB5dGhvbi10ZXN0cy1zaGVsbC13YWl0LWZvci1wcm9t cHQpCi0tIAoyLjI1LjEKCg== --0000000000009e824306138828a0--