From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Evgeni Kolev Newsgroups: gmane.emacs.bugs Subject: bug#60407: [PATCH] Update go-ts-mode to use Imenu facility Date: Sun, 8 Jan 2023 10:10:33 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000db0e2705f1bc3045" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35738"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Randy Taylor , Eli Zaretskii , 60407@debbugs.gnu.org To: Yuan Fu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jan 08 09:12:14 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 1pEQms-00096u-3t for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 08 Jan 2023 09:12:14 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pEQmi-0003Bv-Di; Sun, 08 Jan 2023 03:12:04 -0500 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 1pEQmh-0003Bn-61 for bug-gnu-emacs@gnu.org; Sun, 08 Jan 2023 03:12:03 -0500 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 1pEQmg-0007n3-Tl for bug-gnu-emacs@gnu.org; Sun, 08 Jan 2023 03:12:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pEQmg-0008EN-JD for bug-gnu-emacs@gnu.org; Sun, 08 Jan 2023 03:12:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Evgeni Kolev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 08 Jan 2023 08:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60407 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 60407-submit@debbugs.gnu.org id=B60407.167316546731575 (code B ref 60407); Sun, 08 Jan 2023 08:12:02 +0000 Original-Received: (at 60407) by debbugs.gnu.org; 8 Jan 2023 08:11:07 +0000 Original-Received: from localhost ([127.0.0.1]:59788 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEQln-0008DD-42 for submit@debbugs.gnu.org; Sun, 08 Jan 2023 03:11:07 -0500 Original-Received: from mail-yw1-f181.google.com ([209.85.128.181]:37691) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pEQlk-0008Cg-U0 for 60407@debbugs.gnu.org; Sun, 08 Jan 2023 03:11:05 -0500 Original-Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-4c15c4fc8ccso76423647b3.4 for <60407@debbugs.gnu.org>; Sun, 08 Jan 2023 00:11:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=PdoKwIAD6VjzM7KPIrCGRnZHOrsolVVO7fZSkB7DnfQ=; b=SniQpgriy9Yy0OaVAOVoKL895E9OKmxxM2Z2vunGYEy6X2e3CQOkX/Rs09PuPaBNLK CVxVPcwOQGOiFLEB+JT/dJyWJ6KIGGqRAv91AKbKPA27UAVJkrYZ/R4deH5ZDIDmFJEj Ik8aQEE8UB3P08J1Z6CSVX6N4M+VnIvVn5DpwKLA5ocEdpPgy1RYcNv6HIWGUrI4KqNg PFabVlAVfZQGns62Ijx1O/APfYjaEWboiRJ20g6OWIUMI9eBYm6iZuuVIgkYLpAzAh4v KuPFbsOjAOC0SuEGUI2EEu71VwluBLkB8UqzXwM8oyXquXFR3mJwPcjO98rLHngNK1JE Z/Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=PdoKwIAD6VjzM7KPIrCGRnZHOrsolVVO7fZSkB7DnfQ=; b=4mVC+F0Gy5k1Wc5okjQz179R9UQb/tSwT/eLOLek36CaqBEua61UfjCp3a8o0YlxME Kan1h82b9iIU0uK+fuLc4KgqJlgdAG9aGvG4e5/KXtFzRCa2lPLKivt0Jg+3yicA/zCB rk0TWt4yHBcKhQG5RmkjpMt+OckAqW32LxYKEbeVWFqshDNlgV80Xhrz+iNG0FHNoTg7 u0MjmX3ugA+TP2OPrQ02jKW5euBC5Dpu2yBVM7vxM7b9wuAdhnvr1EmD1IgXKJ5V1Con ELLixUwCNWECUPJlB93khyv3/OxDIWz8bXkq+G2ZcdIf+OC0JmnlU/IgpizQMr25YQ2x cV5Q== X-Gm-Message-State: AFqh2kqshWOQFy56DlFiEz5UBiEDeIsgW92Wz4P6bEqd1aY0mg7k0orx qImriLCvxjrv/jpTQBHFrVuATc6uMZp903L/lfg= X-Google-Smtp-Source: AMrXdXuNcSq66Pd9JVgl9ezWFA3UjLcz3c0zKcIxReKT21G5otRzr61XLveEYbcHcRKd1/5odxdSfRESQx7VptGpsO4= X-Received: by 2002:a81:7386:0:b0:391:c415:f872 with SMTP id o128-20020a817386000000b00391c415f872mr444134ywc.318.1673165459317; Sun, 08 Jan 2023 00:10:59 -0800 (PST) In-Reply-To: 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:252878 Archived-At: --000000000000db0e2705f1bc3045 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Yuan, sure, the .patch is attached. A side question - does it make sense to extend go-ts-mode with interactive functions? For example a function (go-ts-mode-docstring) which adds a docstring for the current type: with Go code: func sum(a, b int) int {...} the function would add a comment above the func: // sum func sum(a, b int) int {...} This is something I've implemented for myself, I'm wondering if it makes sense to contribute it to go-ts-mode. Or should I first discuss this in the devel mail list? Or maybe send another patch and have the discussion there? On Sun, Jan 8, 2023 at 2:20 AM Yuan Fu wrote: > > > Randy Taylor writes: > > > On Thursday, January 5th, 2023 at 02:24, Evgeni Kolev wrote: > >> > >> Hi Randy, > >> > >> I'm providing the updated patch - I've addressed your comments and > >> also added Electric Pair mode settings (variable > >> electric-indent-chars). > >> > >> Thanks for your feedback. Again, please let me know if the patch can > >> be improved. > > > > I can't speak to the electric stuff, but everything else looks good to = me! > > Thanks for working on this. > > > > Yuan, feel free to apply if it looks good to you. > > Ok! However, Evgeni, could you resend your patch as a attachment please? > My ad-hoc setup couldn=E2=80=99t apply the inline patch directly :-) > > Yuan --000000000000db0e2705f1bc3045 Content-Type: application/octet-stream; name="0001-Improve-go-ts-mode-Imenu-navigation-and-electric-pai.patch" Content-Disposition: attachment; filename="0001-Improve-go-ts-mode-Imenu-navigation-and-electric-pai.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lcn3h7w90 RnJvbSBkZDYxOGYxMGVjNzUwZTM2M2FjMmY3Yzg5NDMzZGQyZjhhNjQ3YzMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFdmdlbmkgS29sZXYgPGV2Z2VueXN3QGdtYWlsLmNvbT4KRGF0 ZTogVGh1LCAyOSBEZWMgMjAyMiAxNzo0OTo0MCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEltcHJv dmUgZ28tdHMtbW9kZSBJbWVudSwgbmF2aWdhdGlvbiBhbmQgZWxlY3RyaWMgcGFpcgogY29uZmln dXJhdGlvbgoKVGhlIEltZW51IGl0ZW1zIGFyZSBleHRlbmRlZCB0byBzdXBwb3J0ICJNZXRob2Qi LCAiU3RydWN0IiwKIkludGVyZmFjZSIsICJBbGlhcyIgYW5kICJUeXBlIi4KCmdvLXRzLW1vZGUg aXMgdXBkYXRlZCB0byB1c2UgdGhlIEltZW51IGZhY2lsaXR5IGFkZGVkIGluIGNvbW1pdApiMzlk YzdhYjI3YTY5NmE4NjA3YWI4NTlhZWZmM2M3MTUwOTIzMWY1LgoKVmFyaWFibGUgZWxlY3RyaWMt aW5kZW50LWNoYXJzIGlzIHNldCBpbiBvcmRlciB0byBpbXByb3ZlIGludGVncmF0aW9uCndpdGgg RWxlY3RyaWMgUGFpciBtb2RlLgoKKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsIChnby10 cy1tb2RlLS1pbWVudS0xKSAoZ28tdHMtbW9kZS0taW1lbnUpOgpSZW1vdmUgZnVuY3Rpb25zLgoo Z28tdHMtbW9kZS0tZGVmdW4tbmFtZSwgZ28tdHMtbW9kZS0taW50ZXJmYWNlLW5vZGUtcCkKKGdv LXRzLW1vZGUtLXN0cnVjdC1ub2RlLXAsIGdvLXRzLW1vZGUtLW90aGVyLXR5cGUtbm9kZS1wKQoo Z28tdHMtbW9kZS0tYWxpYXMtbm9kZS1wKTogTmV3IGZ1bmN0aW9ucy4KKGdvLXRzLW1vZGUpOiBJ bXByb3ZlIEltZW51IHNldHRpbmdzLCBuYXZpZ2F0aW9uLCBhZGQgRWxlY3RyaWMgUGFpcgptb2Rl IHNldHRpbmdzLgotLS0KIGxpc3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwgfCAxMDcgKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2NyBpbnNlcnRp b25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL3Byb2dtb2Rlcy9nby10 cy1tb2RlLmVsIGIvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbAppbmRleCAxZDZhOGEzMGRi NS4uNjRlNzYxZDJmNzIgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwK KysrIGIvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbApAQCAtMzYsNiArMzYsNyBAQAogKGRl Y2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxkLW5hbWUgInRyZWVzaXQu YyIpCiAoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtc3RhcnQgInRyZWVzaXQuYyIpCiAo ZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtdHlwZSAidHJlZXNpdC5jIikKKyhkZWNsYXJl LWZ1bmN0aW9uIHRyZWVzaXQtc2VhcmNoLXN1YnRyZWUgInRyZWVzaXQuYyIpCiAKIChkZWZjdXN0 b20gZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0IDQKICAgIk51bWJlciBvZiBzcGFjZXMgZm9yIGVh Y2ggaW5kZW50YXRpb24gc3RlcCBpbiBgZ28tdHMtbW9kZScuIgpAQCAtMTczLDQ0ICsxNzQsNiBA QCBnby10cy1tb2RlLS1mb250LWxvY2stc2V0dGluZ3MKICAgICcoKEVSUk9SKSBAZm9udC1sb2Nr LXdhcm5pbmctZmFjZSkpCiAgICJUcmVlLXNpdHRlciBmb250LWxvY2sgc2V0dGluZ3MgZm9yIGBn by10cy1tb2RlJy4iKQogCi0oZGVmdW4gZ28tdHMtbW9kZS0taW1lbnUgKCkKLSAgIlJldHVybiBJ bWVudSBhbGlzdCBmb3IgdGhlIGN1cnJlbnQgYnVmZmVyLiIKLSAgKGxldCogKChub2RlICh0cmVl c2l0LWJ1ZmZlci1yb290LW5vZGUpKQotICAgICAgICAgKGZ1bmMtdHJlZSAodHJlZXNpdC1pbmR1 Y2Utc3BhcnNlLXRyZWUKLSAgICAgICAgICAgICAgICAgICAgIG5vZGUgImZ1bmN0aW9uX2RlY2xh cmF0aW9uIiBuaWwgMTAwMCkpCi0gICAgICAgICAodHlwZS10cmVlICh0cmVlc2l0LWluZHVjZS1z cGFyc2UtdHJlZQotICAgICAgICAgICAgICAgICAgICAgbm9kZSAidHlwZV9zcGVjIiBuaWwgMTAw MCkpCi0gICAgICAgICAoZnVuYy1pbmRleCAoZ28tdHMtbW9kZS0taW1lbnUtMSBmdW5jLXRyZWUp KQotICAgICAgICAgKHR5cGUtaW5kZXggKGdvLXRzLW1vZGUtLWltZW51LTEgdHlwZS10cmVlKSkp Ci0gICAgKGFwcGVuZAotICAgICAod2hlbiBmdW5jLWluZGV4IGAoKCJGdW5jdGlvbiIgLiAsZnVu Yy1pbmRleCkpKQotICAgICAod2hlbiB0eXBlLWluZGV4IGAoKCJUeXBlIiAuICx0eXBlLWluZGV4 KSkpKSkpCi0KLShkZWZ1biBnby10cy1tb2RlLS1pbWVudS0xIChub2RlKQotICAiSGVscGVyIGZv ciBgZ28tdHMtbW9kZS0taW1lbnUnLgotRmluZCBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIE5P REUgYW5kIHNldCBtYXJrZXIsIHRoZW4gcmVjdXJzZQotdGhlIHN1YnRyZWVzLiIKLSAgKGxldCog KCh0cy1ub2RlIChjYXIgbm9kZSkpCi0gICAgICAgICAoY2hpbGRyZW4gKGNkciBub2RlKSkKLSAg ICAgICAgIChzdWJ0cmVlcyAobWFwY2FuICMnZ28tdHMtbW9kZS0taW1lbnUtMQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2hpbGRyZW4pKQotICAgICAgICAgKG5hbWUgKHdoZW4gdHMtbm9k ZQotICAgICAgICAgICAgICAgICAodHJlZXNpdC1ub2RlLXRleHQKLSAgICAgICAgICAgICAgICAg IChwY2FzZSAodHJlZXNpdC1ub2RlLXR5cGUgdHMtbm9kZSkKLSAgICAgICAgICAgICAgICAgICAg KCJmdW5jdGlvbl9kZWNsYXJhdGlvbiIKLSAgICAgICAgICAgICAgICAgICAgICh0cmVlc2l0LW5v ZGUtY2hpbGQtYnktZmllbGQtbmFtZSB0cy1ub2RlICJuYW1lIikpCi0gICAgICAgICAgICAgICAg ICAgICgidHlwZV9zcGVjIgotICAgICAgICAgICAgICAgICAgICAgKHRyZWVzaXQtbm9kZS1jaGls ZC1ieS1maWVsZC1uYW1lIHRzLW5vZGUgIm5hbWUiKSkpKSkpCi0gICAgICAgICAobWFya2VyICh3 aGVuIHRzLW5vZGUKLSAgICAgICAgICAgICAgICAgICAoc2V0LW1hcmtlciAobWFrZS1tYXJrZXIp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRyZWVzaXQtbm9kZS1zdGFydCB0cy1u b2RlKSkpKSkKLSAgICAoY29uZAotICAgICAoKG9yIChudWxsIHRzLW5vZGUpIChudWxsIG5hbWUp KSBzdWJ0cmVlcykKLSAgICAgKHN1YnRyZWVzCi0gICAgICBgKCgsbmFtZSAsKGNvbnMgbmFtZSBt YXJrZXIpICxAc3VidHJlZXMpKSkKLSAgICAgKHQKLSAgICAgIGAoKCxuYW1lIC4gLG1hcmtlcikp KSkpKQotCiA7OzsjIyNhdXRvbG9hZAogKGFkZC10by1saXN0ICdhdXRvLW1vZGUtYWxpc3QgJygi XFwuZ29cXCciIC4gZ28tdHMtbW9kZSkpCiAKQEAgLTIyOCwxNCArMTkxLDMwIEBAIGdvLXRzLW1v ZGUKICAgICAoc2V0cS1sb2NhbCBjb21tZW50LWVuZCAiIikKICAgICAoc2V0cS1sb2NhbCBjb21t ZW50LXN0YXJ0LXNraXAgKHJ4ICIvLyIgKCogKHN5bnRheCB3aGl0ZXNwYWNlKSkpKQogCisgICAg OzsgTmF2aWdhdGlvbi4KKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWRlZnVuLXR5cGUtcmVnZXhw CisgICAgICAgICAgICAgICAgKHJlZ2V4cC1vcHQgJygibWV0aG9kX2RlY2xhcmF0aW9uIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImZ1bmN0aW9uX2RlY2xhcmF0aW9uIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInR5cGVfZGVjbGFyYXRpb24iKSkpCisgICAgKHNldHEt bG9jYWwgdHJlZXNpdC1kZWZ1bi1uYW1lLWZ1bmN0aW9uICMnZ28tdHMtbW9kZS0tZGVmdW4tbmFt ZSkKKwogICAgIDs7IEltZW51LgotICAgIChzZXRxLWxvY2FsIGltZW51LWNyZWF0ZS1pbmRleC1m dW5jdGlvbiAjJ2dvLXRzLW1vZGUtLWltZW51KQotICAgIChzZXRxLWxvY2FsIHdoaWNoLWZ1bmMt ZnVuY3Rpb25zIG5pbCkKKyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LXNpbXBsZS1pbWVudS1zZXR0 aW5ncworICAgICAgICAgICAgICAgIGAoKCJGdW5jdGlvbiIgIlxcYGZ1bmN0aW9uX2RlY2xhcmF0 aW9uXFwnIiBuaWwgbmlsKQorICAgICAgICAgICAgICAgICAgKCJNZXRob2QiICJcXGBtZXRob2Rf ZGVjbGFyYXRpb25cXCciIG5pbCBuaWwpCisgICAgICAgICAgICAgICAgICAoIlN0cnVjdCIgIlxc YHR5cGVfZGVjbGFyYXRpb25cXCciIGdvLXRzLW1vZGUtLXN0cnVjdC1ub2RlLXAgbmlsKQorICAg ICAgICAgICAgICAgICAgKCJJbnRlcmZhY2UiICJcXGB0eXBlX2RlY2xhcmF0aW9uXFwnIiBnby10 cy1tb2RlLS1pbnRlcmZhY2Utbm9kZS1wIG5pbCkKKyAgICAgICAgICAgICAgICAgICgiVHlwZSIg IlxcYHR5cGVfZGVjbGFyYXRpb25cXCciIGdvLXRzLW1vZGUtLW90aGVyLXR5cGUtbm9kZS1wIG5p bCkKKyAgICAgICAgICAgICAgICAgICgiQWxpYXMiICJcXGB0eXBlX2RlY2xhcmF0aW9uXFwnIiBn by10cy1tb2RlLS1hbGlhcy1ub2RlLXAgbmlsKSkpCiAKICAgICA7OyBJbmRlbnQuCiAgICAgKHNl dHEtbG9jYWwgaW5kZW50LXRhYnMtbW9kZSB0CiAgICAgICAgICAgICAgICAgdHJlZXNpdC1zaW1w bGUtaW5kZW50LXJ1bGVzIGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcykKIAorICAgIDs7IEVsZWN0 cmljCisgICAgKHNldHEtbG9jYWwgZWxlY3RyaWMtaW5kZW50LWNoYXJzCisgICAgICAgICAgICAg ICAgKGFwcGVuZCAie30oKSIgZWxlY3RyaWMtaW5kZW50LWNoYXJzKSkKKwogICAgIDs7IEZvbnQt bG9jay4KICAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0aW5ncyBnby10cy1t b2RlLS1mb250LWxvY2stc2V0dGluZ3MpCiAgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxv Y2stZmVhdHVyZS1saXN0CkBAIC0yNDcsNiArMjI2LDU0IEBAIGdvLXRzLW1vZGUKIAogICAgICh0 cmVlc2l0LW1ham9yLW1vZGUtc2V0dXApKSkKIAorKGRlZnVuIGdvLXRzLW1vZGUtLWRlZnVuLW5h bWUgKG5vZGUpCisgICJSZXR1cm4gdGhlIGRlZnVuIG5hbWUgb2YgTk9ERS4KK1JldHVybiBuaWwg aWYgdGhlcmUgaXMgbm8gbmFtZSBvciBpZiBOT0RFIGlzIG5vdCBhIGRlZnVuIG5vZGUuIgorICAo cGNhc2UgKHRyZWVzaXQtbm9kZS10eXBlIG5vZGUpCisgICAgKCJmdW5jdGlvbl9kZWNsYXJhdGlv biIKKyAgICAgKHRyZWVzaXQtbm9kZS10ZXh0CisgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5 LWZpZWxkLW5hbWUKKyAgICAgICBub2RlICJuYW1lIikKKyAgICAgIHQpKQorICAgICgibWV0aG9k X2RlY2xhcmF0aW9uIgorICAgICAobGV0KiAoKHJlY2VpdmVyLW5vZGUgKHRyZWVzaXQtbm9kZS1j aGlsZC1ieS1maWVsZC1uYW1lIG5vZGUgInJlY2VpdmVyIikpCisgICAgICAgICAgICAodHlwZS1u b2RlICh0cmVlc2l0LXNlYXJjaC1zdWJ0cmVlIHJlY2VpdmVyLW5vZGUgInR5cGVfaWRlbnRpZmll ciIpKQorICAgICAgICAgICAgKG5hbWUtbm9kZSAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxk LW5hbWUgbm9kZSAibmFtZSIpKSkKKyAgICAgICAoY29uY2F0CisgICAgICAgICIoIiAodHJlZXNp dC1ub2RlLXRleHQgdHlwZS1ub2RlKSAiKS4iCisgICAgICAgICh0cmVlc2l0LW5vZGUtdGV4dCBu YW1lLW5vZGUpKSkpCisgICAgKCJ0eXBlX2RlY2xhcmF0aW9uIgorICAgICAodHJlZXNpdC1ub2Rl LXRleHQKKyAgICAgICh0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZQorICAgICAgICh0 cmVlc2l0LW5vZGUtY2hpbGQgbm9kZSAwIHQpICJuYW1lIikKKyAgICAgIHQpKSkpCisKKyhkZWZ1 biBnby10cy1tb2RlLS1pbnRlcmZhY2Utbm9kZS1wIChub2RlKQorICAiUmV0dXJuIHQgaWYgTk9E RSBpcyBhbiBpbnRlcmZhY2UuIgorICAoYW5kCisgICAoc3RyaW5nLWVxdWFsICJ0eXBlX2RlY2xh cmF0aW9uIiAodHJlZXNpdC1ub2RlLXR5cGUgbm9kZSkpCisgICAodHJlZXNpdC1zZWFyY2gtc3Vi dHJlZSBub2RlICJpbnRlcmZhY2VfdHlwZSIgbmlsIG5pbCAyKSkpCisKKyhkZWZ1biBnby10cy1t b2RlLS1zdHJ1Y3Qtbm9kZS1wIChub2RlKQorICAiUmV0dXJuIHQgaWYgTk9ERSBpcyBhIHN0cnVj dC4iCisgIChhbmQKKyAgIChzdHJpbmctZXF1YWwgInR5cGVfZGVjbGFyYXRpb24iICh0cmVlc2l0 LW5vZGUtdHlwZSBub2RlKSkKKyAgICh0cmVlc2l0LXNlYXJjaC1zdWJ0cmVlIG5vZGUgInN0cnVj dF90eXBlIiBuaWwgbmlsIDIpKSkKKworKGRlZnVuIGdvLXRzLW1vZGUtLWFsaWFzLW5vZGUtcCAo bm9kZSkKKyAgIlJldHVybiB0IGlmIE5PREUgaXMgYSB0eXBlIGFsaWFzLiIKKyAgKGFuZAorICAg KHN0cmluZy1lcXVhbCAidHlwZV9kZWNsYXJhdGlvbiIgKHRyZWVzaXQtbm9kZS10eXBlIG5vZGUp KQorICAgKHRyZWVzaXQtc2VhcmNoLXN1YnRyZWUgbm9kZSAidHlwZV9hbGlhcyIgbmlsIG5pbCAx KSkpCisKKyhkZWZ1biBnby10cy1tb2RlLS1vdGhlci10eXBlLW5vZGUtcCAobm9kZSkKKyAgIlJl dHVybiB0IGlmIE5PREUgaXMgYSB0eXBlLCBvdGhlciB0aGFuIGludGVyZmFjZSwgc3RydWN0IG9y IGFsaWFzLiIKKyAgKGFuZAorICAgKHN0cmluZy1lcXVhbCAidHlwZV9kZWNsYXJhdGlvbiIgKHRy ZWVzaXQtbm9kZS10eXBlIG5vZGUpKQorICAgKG5vdCAoZ28tdHMtbW9kZS0taW50ZXJmYWNlLW5v ZGUtcCBub2RlKSkKKyAgIChub3QgKGdvLXRzLW1vZGUtLXN0cnVjdC1ub2RlLXAgbm9kZSkpCisg ICAobm90IChnby10cy1tb2RlLS1hbGlhcy1ub2RlLXAgbm9kZSkpKSkKKwogOzsgZ28ubW9kIHN1 cHBvcnQuCiAKIChkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLXN5bnRheC10YWJsZQotLSAKMi4zMC4y Cgo= --000000000000db0e2705f1bc3045--