From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Randy Taylor Newsgroups: gmane.emacs.bugs Subject: bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode Date: Wed, 14 Dec 2022 16:21:40 +0000 Message-ID: <5HEX4A0JH8fd_VGG1FbzJ8QtBZXlHLKtuAGgc_TUHvzKCzU2Q3PYbbi3rUWeLOBoJzg0qsQgVhwGZCF86A2Xg--I2ep5d1KjKoUoHrxXpqA=@rjt.dev> References: <83r0x3pk28.fsf@gnu.org> <83edt2nqgm.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_msCeSg39A0HPzi36tLazcbtqs4LLRtvhjCzzATeVzU" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8621"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 60025@debbugs.gnu.org, theo@thornhill.no, casouri@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Dec 14 17:22:19 2022 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 1p5UWQ-00022Z-Jk for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 14 Dec 2022 17:22:18 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p5UWB-0004s3-Ii; Wed, 14 Dec 2022 11:22:03 -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 1p5UWA-0004r1-Ei for bug-gnu-emacs@gnu.org; Wed, 14 Dec 2022 11:22:02 -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 1p5UWA-0002cj-42 for bug-gnu-emacs@gnu.org; Wed, 14 Dec 2022 11:22:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p5UW9-0004qt-QL for bug-gnu-emacs@gnu.org; Wed, 14 Dec 2022 11:22:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Randy Taylor Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 14 Dec 2022 16:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60025 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 60025-submit@debbugs.gnu.org id=B60025.167103491618645 (code B ref 60025); Wed, 14 Dec 2022 16:22:01 +0000 Original-Received: (at 60025) by debbugs.gnu.org; 14 Dec 2022 16:21:56 +0000 Original-Received: from localhost ([127.0.0.1]:40162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5UW3-0004qf-Dl for submit@debbugs.gnu.org; Wed, 14 Dec 2022 11:21:56 -0500 Original-Received: from mail-4323.proton.ch ([185.70.43.23]:38357) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p5UW0-0004qZ-V3 for 60025@debbugs.gnu.org; Wed, 14 Dec 2022 11:21:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rjt.dev; s=protonmail2; t=1671034905; x=1671294105; bh=VF8rWfVkJyrUir5HtNt/ataorInO+Lb+ANPRO8rw3eI=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=P8RTB99oyIPgE5gMVdzLy4ide1hdTsb/E5a2+OkykQhF5fnpAXPMBHgXgl7baovE2 C7OeBIw8Q2YrT2d9LbcNu7DHLwYimGY0GpCJpNO7He62bZ7q7N3cBzOh86MfRNpxsa yM7gzv0KjxxCoeUMeL1PXeAWmF9X3HQPA+mFyoSuGiY0YnVpLJq1G6oemnFjKs9+Vd 43R98whqCYp9pX2+bXB4+so6+sMmRIDcCJrt065FfAtT00PrrndUzIifX1zdfTH/iq 75RsDX4hDuNon/NLCV4+l7MXj619ImsztWcg366+8uJW0HGEs7n3ht1hWJt+/O/lnK XUjat4CEho40g== In-Reply-To: <83edt2nqgm.fsf@gnu.org> Feedback-ID: 44397038:user:proton 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:250966 Archived-At: This is a multi-part message in MIME format. --b1_msCeSg39A0HPzi36tLazcbtqs4LLRtvhjCzzATeVzU Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Wednesday, December 14th, 2022 at 07:02, Eli Zaretskii wr= ote: >=20 > > Date: Tue, 13 Dec 2022 19:39:18 +0000 >=20 > > From: Randy Taylor dev@rjt.dev > > Cc: 60025@debbugs.gnu.org, theo@thornhill.no, casouri@gmail.com > >=20 > > +** New major mode 'go-mod-ts-mode'. > > +A major mode based on the tree-sitter library for editing go.mod > > +files. It includes support for font-locking and indentation. This > > +mode will be auto-enabled for go.mod files. >=20 >=20 > Please quote go.mod as 'go.mod' (we quote file names and symbols in > NEWS). >=20 > Otherwise, this LGTM, thanks. >=20 Thanks, here's the new patch. I double-quoted it since that's what other fi= le names and extensions have in NEWS - hopefully that's right. Assuming tha= t's OK, should be good to install. Yuan, did you see my original post in this thread? I'm wondering how to go = about tackling that indentation problem (I'm probably missing something ver= y simple and obvious). --b1_msCeSg39A0HPzi36tLazcbtqs4LLRtvhjCzzATeVzU Content-Type: text/x-patch; name=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch RnJvbSAzNjQzNDNkZTM2ZTMzMmEyYmVkNDUyN2M4NDQ3ODJiOGYxZTUwOGJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSYW5keSBUYXlsb3IgPGRldkByanQuZGV2PgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDE4OjQxOjE2IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gQWRkIGdvLXRzLW1v ZGUgYW5kIGdvLW1vZC10cy1tb2RlIChCdWcjNjAwMjUpCgoqIGFkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaDoKKiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9idWls ZC1tb2R1bGUvYnVpbGQuc2g6IEFkZCBnby1tb2Qgc3VwcG9ydC4KKiBldGMvTkVXUzogTWVudGlv biB0aGVtLgoqIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsIChlZ2xvdC1zZXJ2ZXItcHJvZ3JhbXMp OiBBZGQgdGhlbS4KKiBsaXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsOiBOZXcgbWFqb3IgbW9k ZXMgd2l0aAp0cmVlLXNpdHRlciBzdXBwb3J0LgotLS0KIGFkbWluL25vdGVzL3RyZWUtc2l0dGVy L2J1aWxkLW1vZHVsZS9iYXRjaC5zaCB8ICAgMSArCiBhZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2ggfCAgIDUgKwogZXRjL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDExICsKIGxpc3AvcHJvZ21vZGVzL2VnbG90LmVsICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCAg ICAgICAgICAgICAgICAgIHwgMzMxICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2Vk LCAzNTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp c3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9ub3Rlcy90cmVl LXNpdHRlci9idWlsZC1tb2R1bGUvYmF0Y2guc2ggYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYmF0Y2guc2gKaW5kZXggYzM5NTQ0OTk3Ny4uYzMyMmQ0MDVmMiAxMDA3NTUK LS0tIGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2JhdGNoLnNoCisrKyBi L2FkbWluL25vdGVzL3RyZWUtc2l0dGVyL2J1aWxkLW1vZHVsZS9iYXRjaC5zaApAQCAtOCw2ICs4 LDcgQEAgbGFuZ3VhZ2VzPQogICAgICdjLXNoYXJwJwogICAgICdkb2NrZXJmaWxlJwogICAgICdn bycKKyAgICAnZ28tbW9kJwogICAgICdodG1sJwogICAgICdqYXZhc2NyaXB0JwogICAgICdqc29u JwpkaWZmIC0tZ2l0IGEvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxk LnNoIGIvYWRtaW4vbm90ZXMvdHJlZS1zaXR0ZXIvYnVpbGQtbW9kdWxlL2J1aWxkLnNoCmluZGV4 IDQxOTVlYTU4YzMuLjZkMjIxMjdiZDEgMTAwNzU1Ci0tLSBhL2FkbWluL25vdGVzL3RyZWUtc2l0 dGVyL2J1aWxkLW1vZHVsZS9idWlsZC5zaAorKysgYi9hZG1pbi9ub3Rlcy90cmVlLXNpdHRlci9i dWlsZC1tb2R1bGUvYnVpbGQuc2gKQEAgLTI2LDYgKzI2LDExIEBAIGdyYW1tYXJkaXI9CiAgICAg ImNtYWtlIikKICAgICAgICAgb3JnPSJ1eWhhIgogICAgICAgICA7OworICAgICJnby1tb2QiKQor ICAgICAgICAjIFRoZSBwYXJzZXIgaXMgY2FsbGVkICJnb21vZCIuCisgICAgICAgIGxhbmc9Imdv bW9kIgorICAgICAgICBuYW1lc3BhY2U9ImNhbWRlbmNoZWVrIgorICAgICAgICA7OwogICAgICJ0 eXBlc2NyaXB0IikKICAgICAgICAgc291cmNlZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0L3R5 cGVzY3JpcHQvc3JjIgogICAgICAgICBncmFtbWFyZGlyPSJ0cmVlLXNpdHRlci10eXBlc2NyaXB0 L3R5cGVzY3JpcHQiCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDZjYjUz MWNkMGYuLjAyYzhkMTk3NzggMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBA IC0zMDc4LDYgKzMwNzgsMTcgQEAgQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nIENNYWtlIGZpbGVzLgogSXQgaW5jbHVkZXMgc3VwcG9ydCBm b3IgZm9udC1sb2NraW5nLCBpbmRlbnRhdGlvbiwgSW1lbnUsIGFuZAogd2hpY2gtZnVuYy4KIAor KiogTmV3IG1ham9yIG1vZGUgJ2dvLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRo ZSB0cmVlLXNpdHRlciBsaWJyYXJ5IGZvciBlZGl0aW5nIHByb2dyYW1zIGluCit0aGUgR28gbGFu Z3VhZ2UuICBJdCBpbmNsdWRlcyBzdXBwb3J0IGZvciBmb250LWxvY2tpbmcsIGluZGVudGF0aW9u LAorSW1lbnUsIGFuZCB3aGljaC1mdW5jLiAgVGhpcyBtb2RlIHdpbGwgYmUgYXV0by1lbmFibGVk IGZvciBmaWxlcyB3aXRoCit0aGUgIi5nbyIgZXh0ZW5zaW9uLgorCisqKiBOZXcgbWFqb3IgbW9k ZSAnZ28tbW9kLXRzLW1vZGUnLgorQSBtYWpvciBtb2RlIGJhc2VkIG9uIHRoZSB0cmVlLXNpdHRl ciBsaWJyYXJ5IGZvciBlZGl0aW5nICJnby5tb2QiCitmaWxlcy4gIEl0IGluY2x1ZGVzIHN1cHBv cnQgZm9yIGZvbnQtbG9ja2luZyBhbmQgaW5kZW50YXRpb24uICBUaGlzCittb2RlIHdpbGwgYmUg YXV0by1lbmFibGVkIGZvciAiZ28ubW9kIiBmaWxlcy4KKwogDAogKiBJbmNvbXBhdGlibGUgTGlz cCBDaGFuZ2VzIGluIEVtYWNzIDI5LjEKIApkaWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9kZXMvZWds b3QuZWwgYi9saXNwL3Byb2dtb2Rlcy9lZ2xvdC5lbAppbmRleCA5YzVhMzYxZGY3Li4wMmJiNmJi NjY1IDEwMDY0NAotLS0gYS9saXNwL3Byb2dtb2Rlcy9lZ2xvdC5lbAorKysgYi9saXNwL3Byb2dt b2Rlcy9lZ2xvdC5lbApAQCAtMjExLDcgKzIxMSw4IEBAIGVnbG90LXNlcnZlci1wcm9ncmFtcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZWxtLW1vZGUgLiAoImVsbS1sYW5ndWFn ZS1zZXJ2ZXIiKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1pbnQtbW9kZSAu ICgibWludCIgImxzIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrb3RsaW4t bW9kZSAuICgia290bGluLWxhbmd1YWdlLXNlcnZlciIpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGdvLW1vZGUgZ28tZG90LW1vZC1tb2RlIGdvLWRvdC13b3JrLW1vZGUpIC4g KCJnb3BscyIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGdvLW1vZGUgZ28t ZG90LW1vZC1tb2RlIGdvLWRvdC13b3JrLW1vZGUgZ28tdHMtbW9kZSBnby1tb2QtdHMtbW9kZSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gKCJnb3BscyIpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoKFItbW9kZSBlc3Mtci1tb2RlKSAuICgiUiIgIi0tc2xh dmUiICItZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImxhbmd1YWdlc2VydmVyOjpydW4oKSIpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGphdmEtbW9kZSBqYXZhLXRzLW1vZGUpIC4gKCJqZHRscyIpKQpkaWZmIC0t Z2l0IGEvbGlzcC9wcm9nbW9kZXMvZ28tdHMtbW9kZS5lbCBiL2xpc3AvcHJvZ21vZGVzL2dvLXRz LW1vZGUuZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYjg2YWI3YWI4 NQotLS0gL2Rldi9udWxsCisrKyBiL2xpc3AvcHJvZ21vZGVzL2dvLXRzLW1vZGUuZWwKQEAgLTAs MCArMSwzMzEgQEAKKzs7OyBnby10cy1tb2RlLmVsIC0tLSB0cmVlLXNpdHRlciBzdXBwb3J0IGZv ciBHbyAgLSotIGxleGljYWwtYmluZGluZzogdDsgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAy MiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworOzsgQXV0aG9yICAgICA6IFJhbmR5 IFRheWxvciA8ZGV2QHJqdC5kZXY+Cis7OyBNYWludGFpbmVyIDogUmFuZHkgVGF5bG9yIDxkZXZA cmp0LmRldj4KKzs7IENyZWF0ZWQgICAgOiBEZWNlbWJlciAyMDIyCis7OyBLZXl3b3JkcyAgIDog Z28gbGFuZ3VhZ2VzIHRyZWUtc2l0dGVyCisKKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBF bWFjcy4KKworOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorOzsgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworOzsgR05VIEVtYWNzIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKwor OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBz Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6Cis7OworCis7Ozsg Q29kZToKKworKHJlcXVpcmUgJ3RyZWVzaXQpCisoZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUg J3J4KSkKKworKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1wYXJzZXItY3JlYXRlICJ0cmVlc2l0 LmMiKQorKGRlY2xhcmUtZnVuY3Rpb24gdHJlZXNpdC1pbmR1Y2Utc3BhcnNlLXRyZWUgInRyZWVz aXQuYyIpCisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtY2hpbGQgInRyZWVzaXQuYyIp CisoZGVjbGFyZS1mdW5jdGlvbiB0cmVlc2l0LW5vZGUtY2hpbGQtYnktZmllbGQtbmFtZSAidHJl ZXNpdC5jIikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS1zdGFydCAidHJlZXNpdC5j IikKKyhkZWNsYXJlLWZ1bmN0aW9uIHRyZWVzaXQtbm9kZS10eXBlICJ0cmVlc2l0LmMiKQorCiso ZGVmY3VzdG9tIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCA0CisgICJOdW1iZXIgb2Ygc3BhY2Vz IGZvciBlYWNoIGluZGVudGF0aW9uIHN0ZXAgaW4gYGdvLXRzLW1vZGUnLiIKKyAgOnZlcnNpb24g IjI5LjEiCisgIDp0eXBlICdpbnRlZ2VyCisgIDpzYWZlICdpbnRlZ2VycAorICA6Z3JvdXAgJ2dv KQorCisoZGVmdmFyIGdvLXRzLW1vZGUtLXN5bnRheC10YWJsZQorICAobGV0ICgodGFibGUgKG1h a2Utc3ludGF4LXRhYmxlKSkpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPysgICAiLiIgICAg ICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/LSAgICIuIiAgICAgIHRhYmxlKQor ICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID89ICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlm eS1zeW50YXgtZW50cnkgPyUgICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1l bnRyeSA/JiAgICIuIiAgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID98ICAg Ii4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP14gICAiLiIgICAgICB0 YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/ISAgICIuIiAgICAgIHRhYmxlKQorICAg IChtb2RpZnktc3ludGF4LWVudHJ5ID88ICAgIi4iICAgICAgdGFibGUpCisgICAgKG1vZGlmeS1z eW50YXgtZW50cnkgPz4gICAiLiIgICAgICB0YWJsZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRy eSA/XFwgICJcXCIgICAgIHRhYmxlKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5ID8vICAgIi4g MTI0YiIgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgPyogICAiLiAyMyIgICB0YWJs ZSkKKyAgICAobW9kaWZ5LXN5bnRheC1lbnRyeSA/XG4gICI+IGIiICAgIHRhYmxlKQorICAgIHRh YmxlKQorICAiU3ludGF4IHRhYmxlIGZvciBgZ28tdHMtbW9kZScuIikKKworKGRlZnZhciBnby10 cy1tb2RlLS1pbmRlbnQtcnVsZXMKKyAgYCgoZ28KKyAgICAgKChub2RlLWlzICIpIikgcGFyZW50 LWJvbCAwKQorICAgICAoKG5vZGUtaXMgIl0iKSBwYXJlbnQtYm9sIDApCisgICAgICgobm9kZS1p cyAifSIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChub2RlLWlzICJsYWJlbGVkX3N0YXRlbWVudCIp IG5vLWluZGVudCkKKyAgICAgKChwYXJlbnQtaXMgImFyZ3VtZW50X2xpc3QiKSBwYXJlbnQtYm9s IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImJsb2NrIikgcGFy ZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJjb25z dF9kZWNsYXJhdGlvbiIpIHBhcmVudC1ib2wgZ28tdHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAg ICAoKHBhcmVudC1pcyAiZGVmYXVsdF9jYXNlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVu dC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJleHByZXNzaW9uX2Nhc2UiKSBwYXJlbnQtYm9s IGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImV4cHJlc3Npb25f c3dpdGNoX3N0YXRlbWVudCIpIHBhcmVudC1ib2wgMCkKKyAgICAgKChwYXJlbnQtaXMgImZpZWxk X2RlY2xhcmF0aW9uX2xpc3QiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKChwYXJlbnQtaXMgImltcG9ydF9zcGVjX2xpc3QiKSBwYXJlbnQtYm9sIGdvLXRzLW1v ZGUtaW5kZW50LW9mZnNldCkKKyAgICAgKChwYXJlbnQtaXMgImxhYmVsZWRfc3RhdGVtZW50Iikg cGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAgICgocGFyZW50LWlzICJs aXRlcmFsX3ZhbHVlIikgcGFyZW50LWJvbCBnby10cy1tb2RlLWluZGVudC1vZmZzZXQpCisgICAg ICgocGFyZW50LWlzICJ0eXBlX3NwZWMiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9m ZnNldCkKKyAgICAgKChwYXJlbnQtaXMgInZhcl9kZWNsYXJhdGlvbiIpIHBhcmVudC1ib2wgZ28t dHMtbW9kZS1pbmRlbnQtb2Zmc2V0KQorICAgICAobm8tbm9kZSBwYXJlbnQtYm9sIDApKSkKKyAg IlRyZWUtc2l0dGVyIGluZGVudCBydWxlcyBmb3IgYGdvLXRzLW1vZGUnLiIpCisKKyhkZWZ2YXIg Z28tdHMtbW9kZS0ta2V5d29yZHMKKyAgJygiYnJlYWsiICJjYXNlIiAiY2hhbiIgImNvbnN0IiAi Y29udGludWUiICJkZWZhdWx0IiAiZGVmZXIiICJlbHNlIgorICAgICJmYWxsdGhyb3VnaCIgImZv ciIgImZ1bmMiICJnbyIgImdvdG8iICJpZiIgImltcG9ydCIgImludGVyZmFjZSIgIm1hcCIKKyAg ICAicGFja2FnZSIgInJhbmdlIiAicmV0dXJuIiAic2VsZWN0IiAic3RydWN0IiAic3dpdGNoIiAi dHlwZSIgInZhciIpCisgICJHbyBrZXl3b3JkcyBmb3IgdHJlZS1zaXR0ZXIgZm9udC1sb2NraW5n LiIpCisKKyhkZWZ2YXIgZ28tdHMtbW9kZS0tb3BlcmF0b3JzCisgICcoIisiICImIiAiKz0iICIm PSIgIiYmIiAiPT0iICIhPSIgIi0iICJ8IiAiLT0iICJ8PSIgInx8IiAiPCIgIjw9IgorICAgICIq IiAiXiIgIio9IiAiXj0iICI8LSIgIj4iICI+PSIgIi8iICI8PCIgIi89IiAiPDw9IiAiKysiICI9 IiAiOj0iICIlIgorICAgICI+PiIgIiU9IiAiPj49IiAiLS0iICIhIiAgIi4uLiIgICImXiIgIiZe PSIgIn4iKQorICAiR28gb3BlcmF0b3JzIGZvciB0cmVlLXNpdHRlciBmb250LWxvY2tpbmcuIikK KworKGRlZnZhciBnby10cy1tb2RlLS1mb250LWxvY2stc2V0dGluZ3MKKyAgKHRyZWVzaXQtZm9u dC1sb2NrLXJ1bGVzCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAnYnJhY2tldAorICAg JygoWyIoIiAiKSIgIlsiICJdIiAieyIgIn0iXSkgQGZvbnQtbG9jay1icmFja2V0LWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdjb21tZW50CisgICAnKChjb21tZW50KSBA Zm9udC1sb2NrLWNvbW1lbnQtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUg J2NvbnN0YW50CisgICAnKFsoZmFsc2UpIChpb3RhKSAobmlsKSAodHJ1ZSldIEBmb250LWxvY2st Y29uc3RhbnQtZmFjZQorICAgICAoY29uc3RfZGVjbGFyYXRpb24KKyAgICAgIChjb25zdF9zcGVj IG5hbWU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkKKworICAgOmxh bmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2RlbGltaXRlcgorICAgJygoWyIsIiAiLiIgIjsiICI6 Il0pIEBmb250LWxvY2stZGVsaW1pdGVyLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpm ZWF0dXJlICdmdW5jdGlvbgorICAgJygoY2FsbF9leHByZXNzaW9uCisgICAgICBmdW5jdGlvbjog KGlkZW50aWZpZXIpIEBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKQorICAgICAoY2FsbF9l eHByZXNzaW9uCisgICAgICBmdW5jdGlvbjogKHNlbGVjdG9yX2V4cHJlc3Npb24KKyAgICAgICAg ICAgICAgICAgZmllbGQ6IChmaWVsZF9pZGVudGlmaWVyKSBAZm9udC1sb2NrLWZ1bmN0aW9uLW5h bWUtZmFjZSkpCisgICAgIChmdW5jdGlvbl9kZWNsYXJhdGlvbgorICAgICAgbmFtZTogKGlkZW50 aWZpZXIpIEBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKQorICAgICAobWV0aG9kX2RlY2xh cmF0aW9uCisgICAgICBuYW1lOiAoZmllbGRfaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlv bi1uYW1lLWZhY2UpKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVyZSAna2V5d29yZAor ICAgYChbLEBnby10cy1tb2RlLS1rZXl3b3Jkc10gQGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdsYWJlbAorICAgJygobGFiZWxfbmFtZSkg QGZvbnQtbG9jay1jb25zdGFudC1mYWNlKQorCisgICA6bGFuZ3VhZ2UgJ2dvCisgICA6ZmVhdHVy ZSAnbnVtYmVyCisgICAnKFsoZmxvYXRfbGl0ZXJhbCkKKyAgICAgIChpbWFnaW5hcnlfbGl0ZXJh bCkKKyAgICAgIChpbnRfbGl0ZXJhbCldIEBmb250LWxvY2stbnVtYmVyLWZhY2UpCisKKyAgIDps YW5ndWFnZSAnZ28KKyAgIDpmZWF0dXJlICdzdHJpbmcKKyAgICcoWyhpbnRlcnByZXRlZF9zdHJp bmdfbGl0ZXJhbCkKKyAgICAgIChyYXdfc3RyaW5nX2xpdGVyYWwpCisgICAgICAocnVuZV9saXRl cmFsKV0gQGZvbnQtbG9jay1zdHJpbmctZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZl YXR1cmUgJ3R5cGUKKyAgICcoWyhwYWNrYWdlX2lkZW50aWZpZXIpICh0eXBlX2lkZW50aWZpZXIp XSBAZm9udC1sb2NrLXR5cGUtZmFjZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUg J3ZhcmlhYmxlCisgICAnKChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2VzY2FwZS1zZXF1ZW5jZQorICAg Om92ZXJyaWRlIHQKKyAgICcoKGVzY2FwZV9zZXF1ZW5jZSkgQGZvbnQtbG9jay1lc2NhcGUtZmFj ZSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ3Byb3BlcnR5CisgICA6b3ZlcnJp ZGUgdAorICAgJygoZmllbGRfaWRlbnRpZmllcikgQGZvbnQtbG9jay1wcm9wZXJ0eS1mYWNlCisg ICAgIChrZXllZF9lbGVtZW50IChfIChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXByb3BlcnR5LWZh Y2UpKSkKKworICAgOmxhbmd1YWdlICdnbworICAgOmZlYXR1cmUgJ2Vycm9yCisgICA6b3ZlcnJp ZGUgdAorICAgJygoRVJST1IpIEBmb250LWxvY2std2FybmluZy1mYWNlKSkKKyAgIlRyZWUtc2l0 dGVyIGZvbnQtbG9jayBzZXR0aW5ncyBmb3IgYGdvLXRzLW1vZGUnLiIpCisKKyhkZWZ1biBnby10 cy1tb2RlLS1pbWVudSAoKQorICAiUmV0dXJuIEltZW51IGFsaXN0IGZvciB0aGUgY3VycmVudCBi dWZmZXIuIgorICAobGV0KiAoKG5vZGUgKHRyZWVzaXQtYnVmZmVyLXJvb3Qtbm9kZSkpCisgICAg ICAgICAoZnVuYy10cmVlICh0cmVlc2l0LWluZHVjZS1zcGFyc2UtdHJlZQorICAgICAgICAgICAg ICAgICAgICAgbm9kZSAiZnVuY3Rpb25fZGVjbGFyYXRpb24iIG5pbCAxMDAwKSkKKyAgICAgICAg ICh0eXBlLXRyZWUgKHRyZWVzaXQtaW5kdWNlLXNwYXJzZS10cmVlCisgICAgICAgICAgICAgICAg ICAgICBub2RlICJ0eXBlX3NwZWMiIG5pbCAxMDAwKSkKKyAgICAgICAgIChmdW5jLWluZGV4IChn by10cy1tb2RlLS1pbWVudS0xIGZ1bmMtdHJlZSkpCisgICAgICAgICAodHlwZS1pbmRleCAoZ28t dHMtbW9kZS0taW1lbnUtMSB0eXBlLXRyZWUpKSkKKyAgICAoYXBwZW5kCisgICAgICh3aGVuIGZ1 bmMtaW5kZXggYCgoIkZ1bmN0aW9uIiAuICxmdW5jLWluZGV4KSkpCisgICAgICh3aGVuIHR5cGUt aW5kZXggYCgoIlR5cGUiIC4gLHR5cGUtaW5kZXgpKSkpKSkKKworKGRlZnVuIGdvLXRzLW1vZGUt LWltZW51LTEgKG5vZGUpCisgICJIZWxwZXIgZm9yIGBnby10cy1tb2RlLS1pbWVudScuCitGaW5k IHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgTk9ERSBhbmQgc2V0IG1hcmtlciwgdGhlbiByZWN1 cnNlCit0aGUgc3VidHJlZXMuIgorICAobGV0KiAoKHRzLW5vZGUgKGNhciBub2RlKSkKKyAgICAg ICAgIChjaGlsZHJlbiAoY2RyIG5vZGUpKQorICAgICAgICAgKHN1YnRyZWVzIChtYXBjYW4gIydn by10cy1tb2RlLS1pbWVudS0xCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbikp CisgICAgICAgICAobmFtZSAod2hlbiB0cy1ub2RlCisgICAgICAgICAgICAgICAgICh0cmVlc2l0 LW5vZGUtdGV4dAorICAgICAgICAgICAgICAgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSB0 cy1ub2RlKQorICAgICAgICAgICAgICAgICAgICAoImZ1bmN0aW9uX2RlY2xhcmF0aW9uIgorICAg ICAgICAgICAgICAgICAgICAgKHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1lIHRzLW5v ZGUgIm5hbWUiKSkKKyAgICAgICAgICAgICAgICAgICAgKCJ0eXBlX3NwZWMiCisgICAgICAgICAg ICAgICAgICAgICAodHJlZXNpdC1ub2RlLWNoaWxkLWJ5LWZpZWxkLW5hbWUgdHMtbm9kZSAibmFt ZSIpKSkpKSkKKyAgICAgICAgIChtYXJrZXIgKHdoZW4gdHMtbm9kZQorICAgICAgICAgICAgICAg ICAgIChzZXQtbWFya2VyIChtYWtlLW1hcmtlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAodHJlZXNpdC1ub2RlLXN0YXJ0IHRzLW5vZGUpKSkpKQorICAgIChjb25kCisgICAgICgo b3IgKG51bGwgdHMtbm9kZSkgKG51bGwgbmFtZSkpIHN1YnRyZWVzKQorICAgICAoc3VidHJlZXMK KyAgICAgIGAoKCxuYW1lICwoY29ucyBuYW1lIG1hcmtlcikgLEBzdWJ0cmVlcykpKQorICAgICAo dAorICAgICAgYCgoLG5hbWUgLiAsbWFya2VyKSkpKSkpCisKKzs7OyMjI2F1dG9sb2FkCisoYWRk LXRvLWxpc3QgJ2F1dG8tbW9kZS1hbGlzdCAnKCJcXC5nb1xcJyIgLiBnby10cy1tb2RlKSkKKwor Ozs7IyMjYXV0b2xvYWQKKyhkZWZpbmUtZGVyaXZlZC1tb2RlIGdvLXRzLW1vZGUgcHJvZy1tb2Rl ICJHbyIKKyAgIk1ham9yIG1vZGUgZm9yIGVkaXRpbmcgR28sIHBvd2VyZWQgYnkgdHJlZS1zaXR0 ZXIuIgorICA6Z3JvdXAgJ2dvCisgIDpzeW50YXgtdGFibGUgZ28tdHMtbW9kZS0tc3ludGF4LXRh YmxlCisKKyAgKHdoZW4gKHRyZWVzaXQtcmVhZHktcCAnZ28pCisgICAgKHRyZWVzaXQtcGFyc2Vy LWNyZWF0ZSAnZ28pCisKKyAgICA7OyBDb21tZW50cy4KKyAgICAoc2V0cS1sb2NhbCBjb21tZW50 LXN0YXJ0ICIvLyAiKQorICAgIChzZXRxLWxvY2FsIGNvbW1lbnQtZW5kICIiKQorICAgIChzZXRx LWxvY2FsIGNvbW1lbnQtc3RhcnQtc2tpcCAocnggIi8vIiAoKiAoc3ludGF4IHdoaXRlc3BhY2Up KSkpCisKKyAgICA7OyBJbWVudS4KKyAgICAoc2V0cS1sb2NhbCBpbWVudS1jcmVhdGUtaW5kZXgt ZnVuY3Rpb24gIydnby10cy1tb2RlLS1pbWVudSkKKyAgICAoc2V0cS1sb2NhbCB3aGljaC1mdW5j LWZ1bmN0aW9ucyBuaWwpCisKKyAgICA7OyBJbmRlbnQuCisgICAgKHNldHEtbG9jYWwgaW5kZW50 LXRhYnMtbW9kZSB0CisgICAgICAgICAgICAgICAgdHJlZXNpdC1zaW1wbGUtaW5kZW50LXJ1bGVz IGdvLXRzLW1vZGUtLWluZGVudC1ydWxlcykKKworICAgIDs7IEZvbnQtbG9jay4KKyAgICAoc2V0 cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0aW5ncyBnby10cy1tb2RlLS1mb250LWxvY2st c2V0dGluZ3MpCisgICAgKHNldHEtbG9jYWwgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0 CisgICAgICAgICAgICAgICAgJygoIGNvbW1lbnQpCisgICAgICAgICAgICAgICAgICAoIGtleXdv cmQgc3RyaW5nIHR5cGUpCisgICAgICAgICAgICAgICAgICAoIGNvbnN0YW50IGVzY2FwZS1zZXF1 ZW5jZSBmdW5jdGlvbiBsYWJlbCBudW1iZXIKKyAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkg dmFyaWFibGUpCisgICAgICAgICAgICAgICAgICAoIGJyYWNrZXQgZGVsaW1pdGVyIGVycm9yIG9w ZXJhdG9yKSkpCisKKyAgICAodHJlZXNpdC1tYWpvci1tb2RlLXNldHVwKSkpCisKKzs7IGdvLm1v ZCBzdXBwb3J0LgorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1zeW50YXgtdGFibGUKKyAgKGxl dCAoKHRhYmxlIChtYWtlLXN5bnRheC10YWJsZSkpKQorICAgIChtb2RpZnktc3ludGF4LWVudHJ5 ID8vICAgIi4gMTI0YiIgdGFibGUpCisgICAgKG1vZGlmeS1zeW50YXgtZW50cnkgP1xuICAiPiBi IiAgICB0YWJsZSkKKyAgICB0YWJsZSkKKyAgIlN5bnRheCB0YWJsZSBmb3IgYGdvLW1vZC10cy1t b2RlJy4iKQorCisoZGVmdmFyIGdvLW1vZC10cy1tb2RlLS1pbmRlbnQtcnVsZXMKKyAgYCgoZ29t b2QKKyAgICAgKChub2RlLWlzICIpIikgcGFyZW50LWJvbCAwKQorICAgICAoKHBhcmVudC1pcyAi cmVxdWlyZV9kaXJlY3RpdmUiKSBwYXJlbnQtYm9sIGdvLXRzLW1vZGUtaW5kZW50LW9mZnNldCkK KyAgICAgKG5vLW5vZGUgcGFyZW50LWJvbCAwKSkpCisgICJUcmVlLXNpdHRlciBpbmRlbnQgcnVs ZXMgZm9yIGBnby1tb2QtdHMtbW9kZScuIikKKworKGRlZnZhciBnby1tb2QtdHMtbW9kZS0ta2V5 d29yZHMKKyAgJygiZXhjbHVkZSIgImdvIiAibW9kdWxlIiAicmVwbGFjZSIgInJlcXVpcmUiICJy ZXRyYWN0IikKKyAgImdvLm1vZCBrZXl3b3JkcyBmb3IgdHJlZS1zaXR0ZXIgZm9udC1sb2NraW5n LiIpCisKKyhkZWZ2YXIgZ28tbW9kLXRzLW1vZGUtLWZvbnQtbG9jay1zZXR0aW5ncworICAodHJl ZXNpdC1mb250LWxvY2stcnVsZXMKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdi cmFja2V0CisgICAnKChbIigiICIpIl0pIEBmb250LWxvY2stYnJhY2tldC1mYWNlKQorCisgICA6 bGFuZ3VhZ2UgJ2dvbW9kCisgICA6ZmVhdHVyZSAnY29tbWVudAorICAgJygoY29tbWVudCkgQGZv bnQtbG9jay1jb21tZW50LWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJl ICdrZXl3b3JkCisgICBgKFssQGdvLW1vZC10cy1tb2RlLS1rZXl3b3Jkc10gQGZvbnQtbG9jay1r ZXl3b3JkLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdudW1iZXIK KyAgICcoWyhnb192ZXJzaW9uKSAodmVyc2lvbildIEBmb250LWxvY2stbnVtYmVyLWZhY2UpCisK KyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpmZWF0dXJlICdvcGVyYXRvcgorICAgJygoWyI9PiJd KSBAZm9udC1sb2NrLW9wZXJhdG9yLWZhY2UpCisKKyAgIDpsYW5ndWFnZSAnZ29tb2QKKyAgIDpm ZWF0dXJlICdlcnJvcgorICAgOm92ZXJyaWRlIHQKKyAgICcoKEVSUk9SKSBAZm9udC1sb2NrLXdh cm5pbmctZmFjZSkpCisgICJUcmVlLXNpdHRlciBmb250LWxvY2sgc2V0dGluZ3MgZm9yIGBnby1t b2QtdHMtbW9kZScuIikKKworOzs7IyMjYXV0b2xvYWQKKyhhZGQtdG8tbGlzdCAnYXV0by1tb2Rl LWFsaXN0ICcoIi9nb1xcLm1vZFxcJyIgLiBnby1tb2QtdHMtbW9kZSkpCisKKzs7OyMjI2F1dG9s b2FkCisoZGVmaW5lLWRlcml2ZWQtbW9kZSBnby1tb2QtdHMtbW9kZSBwcm9nLW1vZGUgIkdvIE1v ZCIKKyAgIk1ham9yIG1vZGUgZm9yIGVkaXRpbmcgZ28ubW9kIGZpbGVzLCBwb3dlcmVkIGJ5IHRy ZWUtc2l0dGVyLiIKKyAgOmdyb3VwICdnbworICA6c3ludGF4LXRhYmxlIGdvLW1vZC10cy1tb2Rl LS1zeW50YXgtdGFibGUKKworICAod2hlbiAodHJlZXNpdC1yZWFkeS1wICdnb21vZCkKKyAgICAo dHJlZXNpdC1wYXJzZXItY3JlYXRlICdnb21vZCkKKworICAgIDs7IENvbW1lbnRzLgorICAgIChz ZXRxLWxvY2FsIGNvbW1lbnQtc3RhcnQgIi8vICIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1l bmQgIiIpCisgICAgKHNldHEtbG9jYWwgY29tbWVudC1zdGFydC1za2lwIChyeCAiLy8iICgqIChz eW50YXggd2hpdGVzcGFjZSkpKSkKKworICAgIDs7IEluZGVudC4KKyAgICAoc2V0cS1sb2NhbCBp bmRlbnQtdGFicy1tb2RlIHQKKyAgICAgICAgICAgICAgICB0cmVlc2l0LXNpbXBsZS1pbmRlbnQt cnVsZXMgZ28tbW9kLXRzLW1vZGUtLWluZGVudC1ydWxlcykKKworICAgIDs7IEZvbnQtbG9jay4K KyAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1zZXR0aW5ncyBnby1tb2QtdHMtbW9k ZS0tZm9udC1sb2NrLXNldHRpbmdzKQorICAgIChzZXRxLWxvY2FsIHRyZWVzaXQtZm9udC1sb2Nr LWZlYXR1cmUtbGlzdAorICAgICAgICAgICAgICAgICcoKGNvbW1lbnQpCisgICAgICAgICAgICAg ICAgICAoa2V5d29yZCkKKyAgICAgICAgICAgICAgICAgIChudW1iZXIpCisgICAgICAgICAgICAg ICAgICAoYnJhY2tldCBlcnJvciBvcGVyYXRvcikpKQorCisgICAgKHRyZWVzaXQtbWFqb3ItbW9k ZS1zZXR1cCkpKQorCisocHJvdmlkZSAnZ28tdHMtbW9kZSkKKworOzs7IGdvLXRzLW1vZGUuZWwg ZW5kcyBoZXJlCi0tIAoyLjM5LjAKCg== --b1_msCeSg39A0HPzi36tLazcbtqs4LLRtvhjCzzATeVzU--