From mboxrd@z Thu Jan 1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Peter Oliver
Newsgroups: gmane.emacs.devel
Subject: Re: Validating tree-sitter major modes and grammar
Date: Fri, 3 Jan 2025 12:26:30 +0000 (GMT)
Message-ID:
References: <2F1CA2E3-4C86-4892-AF6B-0C9CFCE26629@gmail.com>
<6768b29d.050a0220.1b40f2.5574SMTPIN_ADDED_BROKEN@mx.google.com>
<8DF80F0D-E50A-4162-93E6-F7F55B2E7144@gmail.com>
<87cyhh88ms.fsf@gmx.de>
<7DEA0D59-5856-4113-870D-4222B446EE5B@gmail.com> <875xn88978.fsf@gmx.de>
<774CBF6C-4667-4E18-A0D8-C42209D41A10@gmail.com>
<92eb9006-b7fc-2bb7-6ea7-166f9127917b@mavit.org.uk> <87msgi72r8.fsf@gmx.de>
<87v7v4582p.fsf@gmx.de> <625E7F8C-4A4C-4BCB-BEEF-8220DC74B702@gmail.com>
Mime-Version: 1.0
Content-Type: multipart/mixed;
boundary="-1463811584-1712113404-1735907190=:4880"
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
logging-data="37518"; mail-complaints-to="usenet@ciao.gmane.io"
Cc: Emacs Devel
To: Yuan Fu
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jan 03 13:27:32 2025
Return-path:
Envelope-to: ged-emacs-devel@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 1tTgm4-0009b0-8z
for ged-emacs-devel@m.gmane-mx.org; Fri, 03 Jan 2025 13:27:32 +0100
Original-Received: from localhost ([::1] helo=lists1p.gnu.org)
by lists.gnu.org with esmtp (Exim 4.90_1)
(envelope-from )
id 1tTglM-0004EH-0B; Fri, 03 Jan 2025 07:26:49 -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 1tTglI-0004Dt-Bs
for emacs-devel@gnu.org; Fri, 03 Jan 2025 07:26:44 -0500
Original-Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from )
id 1tTglC-0004dH-TY
for emacs-devel@gnu.org; Fri, 03 Jan 2025 07:26:43 -0500
Original-Received: by mail-wr1-x42b.google.com with SMTP id
ffacd0b85a97d-3862d16b4f5so7611935f8f.0
for ; Fri, 03 Jan 2025 04:26:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=mavit.org.uk; s=google; t=1735907195; x=1736511995; darn=gnu.org;
h=mime-version:references:message-id:in-reply-to:subject:cc:to:from
:date:from:to:cc:subject:date:message-id:reply-to;
bh=HUP91PIDPI7+ULH4cckA3GbeDcWeSRyMpSxbwrgdrMQ=;
b=J7KDpEJjy9FITnJxHNOAZMqgHcMwFG71t0wasPLcq0iXqn6N7snYhZ88y8oOzeqGPI
n3S7JgJSApjr0kRAWvTue5D1gUql7qFOWB4G+q4QYImbuv50QepopGrAqFXCoQ4Ok4ry
61hPeYgVpfwMVPce2O+q0mUtSrl1tJStI8cxM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1735907195; x=1736511995;
h=mime-version:references:message-id:in-reply-to:subject:cc:to:from
:date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=HUP91PIDPI7+ULH4cckA3GbeDcWeSRyMpSxbwrgdrMQ=;
b=v3K9AtO+iGHNUUH0XNA/6Pun8BvjNWaVuW70UN+TLM2TvE1G4rytdbmFP/iVNvS9KL
vX0HrJcY2kfnFxhwNfxk8gNH+R6ELxsbpf/iQibc1AaMqFoa++tDtQMsfz4JryWkZkmE
StIRWVyNexUHVZKRlkEdA24dzLpYmU4S9s6bYJzFkTqJZwZaHCnSKawnEtCXkFG8D/4q
smul2QjOos4MOmW+Iw9EBpaSEaYsnBEv4vr7mY7XQYMPgbsuWmhF7YqpvyJ+eNQaEZ3d
XgAsBNiNVcsDY0fHOpUIWL9KmdIeUH/0zp/CrZtR79mWWtUWsT6cBwe2IRlVt03hl44w
zocw==
X-Gm-Message-State: AOJu0YxiNNTwwSEOzv6330W5JQBYf3pEX5xGU5jOeQZzJckPpCi5j+Sa
jPZxFtl7suwGokcUP/Cwbz6Zm7FdN/RzVLJk068RwU5bWcgfB0N2yHyhfjLtXg==
X-Gm-Gg: ASbGnctl0dUnFcfIDUDmlZG5LdA7796zdeeCnUKB9QzNVcZuF9p2HeJB4WGy7tCmXzK
64VmQyCejN9/I1C30UVH38Ou5Hh42FNoE+/QbfQzNJQ7bLikggBYJtdVIe5+9yP6RYPZoqGeQeu
732EHj2jFOYvvI0SMejzF9CILx8e7Alz16Q8Nfr75JcXwzJrJIcKpSydRt0B0t8vZ8F1OwsTJWu
/9MlNJJQrT4pjbk2/dlktsSt7hlBT1lJXnTxppDgyPIMb9WUfwxKsBf1sn0a1y/2oNuAo35vyAI
mjpItDaWgCLob7Z6frKzLEwBypskku0CHehwPKNLXLr8HzgUcg/z0BpXHQ6gKf4IDlFi
X-Google-Smtp-Source: AGHT+IFdkHsafkiXMlZkUzzQA5ZCeAQkBGm2keLZ9cuUFQDK4nkk+fPNbXhcmEHIrnZzvBjB1q48tQ==
X-Received: by 2002:a5d:47af:0:b0:385:faf5:ebc8 with SMTP id
ffacd0b85a97d-38a1a2641cbmr44899123f8f.21.1735907192284;
Fri, 03 Jan 2025 04:26:32 -0800 (PST)
Original-Received: from froglet.home.mavit.org.uk
(dudl-14-b2-v4wan-165806-cust1021.vm31.cable.virginm.net. [82.32.147.254])
by smtp.gmail.com with ESMTPSA id
5b1f17b1804b1-43661219a7csm478878895e9.24.2025.01.03.04.26.31
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Fri, 03 Jan 2025 04:26:31 -0800 (PST)
Original-Received: from froglet.home.mavit.org.uk (localhost [127.0.0.1])
by froglet.home.mavit.org.uk (8.18.1/8.17.1) with ESMTPS id 503CQUSv035468
(version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT);
Fri, 3 Jan 2025 12:26:30 GMT
Original-Received: from localhost (mavit@localhost)
by froglet.home.mavit.org.uk (8.18.1/8.18.1/Submit) with ESMTP id
503CQUfL035464; Fri, 3 Jan 2025 12:26:30 GMT
X-Authentication-Warning: froglet.home.mavit.org.uk: mavit owned process doing
-bs
In-Reply-To:
Received-SPF: pass client-ip=2a00:1450:4864:20::42b;
envelope-from=p.d.oliver@mavit.org.uk; helo=mail-wr1-x42b.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,
RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.29
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-mx.org@gnu.org
Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org
Xref: news.gmane.io gmane.emacs.devel:327624
Archived-At:
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
---1463811584-1712113404-1735907190=:4880
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8BIT
On Thu, 2 Jan 2025, Peter Oliver wrote:
> On Mon, 30 Dec 2024, Yuan Fu wrote:
>
>> Anyway, as a first step, I added a command that generates a html file that
>> looks like the below. I’ll try setting up a cron job on my machine, then
>> we can figure out how do we run it on EMBA and how to host the generated
>> webpage.
>>
>> Peter, do you have any suggestions after seeing this example webpage?
>
> Looks good.
>
> Rather than the latest commit, I’d be more interested in the latest release
> (i.e., commit tagged with a tag starting “v”). I’d only consider packaging a
> Git snapshot as a last resort to solve an important bug, so tagged commits
> are more relevant to me.
So, then, something along the lines of the attached (although, actually, maybe we want both?).
--
Peter Oliver
---1463811584-1712113404-1735907190=:4880
Content-Type: text/plain; charset=US-ASCII; name=0001-New-function-treesit-language-git-version-tags.patch
Content-Transfer-Encoding: BASE64
Content-ID: <7c22cca4-1ebe-1841-446c-11b333c1949e@froglet.home.mavit.org.uk>
Content-Description:
Content-Disposition: attachment; filename=0001-New-function-treesit-language-git-version-tags.patch
RnJvbSBjMTQwNWRiNjU2MDI3M2NlNGVhZjBkNWMxYjEzOTMyYjg3NmI3MmEw
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogUGV0ZXIgT2xpdmVy
IDxnaXRAbWF2aXQub3JnLnVrPg0KRGF0ZTogRnJpLCAzIEphbiAyMDI1IDEy
OjAyOjUwICswMDAwDQpTdWJqZWN0OiBbUEFUQ0ggMS8yXSBOZXcgZnVuY3Rp
b24gdHJlZXNpdC0tbGFuZ3VhZ2UtZ2l0LXZlcnNpb24tdGFncw0KDQoqIGxp
c3AvdHJlZXNpdC5lbCAodHJlZXNpdC0tbGFuZ3VhZ2UtZ2l0LXZlcnNpb24t
dGFncyk6IE5ldyBmdW5jdGlvbiB0bw0KICBsaXN0IHZlcnNpb24gdGFncyBm
b3IgYSBUcmVlLXNpdHRlciBwYXJzZXIgR2l0IHJlcG9zaXRvcnkuDQotLS0N
CiBsaXNwL3RyZWVzaXQuZWwgfCAxMiArKysrKysrKysrKysNCiAxIGZpbGUg
Y2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQ0KDQpkaWZmIC0tZ2l0IGEvbGlz
cC90cmVlc2l0LmVsIGIvbGlzcC90cmVlc2l0LmVsDQppbmRleCBmM2M1NTNm
ZGI4Zi4uYTg5ZmEyYWUxM2UgMTAwNjQ0DQotLS0gYS9saXNwL3RyZWVzaXQu
ZWwNCisrKyBiL2xpc3AvdHJlZXNpdC5lbA0KQEAgLTQyNjIsNiArNDI2Miwx
OCBAQCB0cmVlc2l0LS1sYW5ndWFnZS1naXQtcmV2aXNpb24NCiAgICAgICAo
c3RyaW5nLXRyaW0gKGJ1ZmZlci1zdHJpbmcpKSkNCiAgICAgICh0IG5pbCkp
KSkNCiANCisoZGVmdW4gdHJlZXNpdC0tbGFuZ3VhZ2UtZ2l0LXZlcnNpb24t
dGFncyAocmVwby1kaXIpDQorICAiUmV0dXJuIGEgbGlzdCBvZiBHaXQgdmVy
c2lvbiB0YWdzIGluIFJFUE8tRElSLCBzb3J0ZWQgbGF0ZXN0IGZpcnN0Lg0K
Kw0KK1JldHVybiB0aGUgb3V0cHV0IG9mIFwiZ2l0IHRhZyAtLWxpc3QgLS1z
b3J0PS12ZXJzaW9uOnJlZm5hbWUgJ3YqJ1wiLiBJZg0KK2FueXRoaW5nIGdv
ZXMgd3JvbmcsIHJldHVybiBuaWwuIg0KKyAgKHdpdGgtdGVtcC1idWZmZXIN
CisgICAgKGNvbmQNCisgICAgICgoZXEgMCAoY2FsbC1wcm9jZXNzICJnaXQi
IG5pbCB0IG5pbCAiLUMiIHJlcG8tZGlyICJ0YWciDQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAiLS1saXN0IiAiLS1zb3J0PS12ZXJzaW9uOnJlZm5h
bWUiICJ2KiIpKQ0KKyAgICAgIChzcGxpdC1zdHJpbmcgKGJ1ZmZlci1zdHJp
bmcpKSkNCisgICAgICh0IG5pbCkpKSkNCisNCiAoZGVmdW4gdHJlZXNpdC0t
bGFuZ3VhZ2UtZ2l0LXRpbWVzdGFtcCAocmVwby1kaXIpDQogICAiUmV0dXJu
IHRoZSBjb21taXQgZGF0ZSBpbiBSRVBPLURJUiBpbiBVTklYIGVwb2NoLg0K
IA0KLS0gDQoyLjQ3LjENCg0K
---1463811584-1712113404-1735907190=:4880
Content-Type: text/plain; charset=US-ASCII; name=0002-Tweak-Tree-sitter-compatibility-report-to-show-only-.patch
Content-Transfer-Encoding: BASE64
Content-ID: <33d66fb7-5d05-1984-53d8-bfdcafbe392b@froglet.home.mavit.org.uk>
Content-Description:
Content-Disposition: attachment; filename=0002-Tweak-Tree-sitter-compatibility-report-to-show-only-.patch
RnJvbSAwYTAzNDhmNjQxMDc3MjkxOTAwN2U5MjJmMWNjMzM4MTU5ZDc0MWU0
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogUGV0ZXIgT2xpdmVy
IDxnaXRAbWF2aXQub3JnLnVrPg0KRGF0ZTogRnJpLCAzIEphbiAyMDI1IDEy
OjA5OjMyICswMDAwDQpTdWJqZWN0OiBbUEFUQ0ggMi8yXSBUd2VhayBUcmVl
LXNpdHRlciBjb21wYXRpYmlsaXR5IHJlcG9ydCB0byBzaG93IG9ubHkNCiB0
YWdnZWQgdmVyc2lvbnMNCg0KKiBhZG1pbi90cmVlLXNpdHRlci9jb21wYXQt
dGVtcGxhdGUuaHRtbDogUmVuYW1lIGNsYXNzIGhlYWQgdG8gbGF0ZXN0Lg0K
KiBhZG1pbi90cmVlLXNpdHRlci90cmVlc2l0LWFkbWluLmVsDQogICh0cmVl
c2l0LWFkbWluLS1maW5kLWxhdGVzdC1jb21wYXRpYmxlLXJldmlzaW9uKTog
SW5zcGVjdCBvbmx5IHRhZ2dlZA0KICBjb21taXRzLCBhcyBnaXZlbiBieSB0
cmVlc2l0LS1sYW5ndWFnZS1naXQtcmV2aXNpb24uDQotLS0NCiBhZG1pbi90
cmVlLXNpdHRlci9jb21wYXQtdGVtcGxhdGUuaHRtbCB8ICA0ICstLQ0KIGFk
bWluL3RyZWUtc2l0dGVyL3RyZWVzaXQtYWRtaW4uZWwgICAgIHwgMzkgKysr
KysrKysrKysrKy0tLS0tLS0tLS0tLS0NCiAyIGZpbGVzIGNoYW5nZWQsIDIy
IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0
IGEvYWRtaW4vdHJlZS1zaXR0ZXIvY29tcGF0LXRlbXBsYXRlLmh0bWwgYi9h
ZG1pbi90cmVlLXNpdHRlci9jb21wYXQtdGVtcGxhdGUuaHRtbA0KaW5kZXgg
MjNiNWI1NWQ3YjMuLjY4MDMwMWQxNGE0IDEwMDY0NA0KLS0tIGEvYWRtaW4v
dHJlZS1zaXR0ZXIvY29tcGF0LXRlbXBsYXRlLmh0bWwNCisrKyBiL2FkbWlu
L3RyZWUtc2l0dGVyL2NvbXBhdC10ZW1wbGF0ZS5odG1sDQpAQCAtMjMsMTQg
KzIzLDE0IEBADQogICAgICAgICAgIHdpZHRoOiAxMHJlbTsNCiAgICAgICAg
ICAgd29yZC1icmVhazogYnJlYWstYWxsOw0KICAgICAgIH0NCi0gICAgICAu
aGVhZCB7DQorICAgICAgLmxhdGVzdCB7DQogICAgICAgICAgIGJhY2tncm91
bmQ6IGxpZ2h0Z3JlZW47DQogICAgICAgfQ0KICAgICA8L3N0eWxlPg0KICAg
PC9oZWFkPg0KICAgPGJvZHk+DQogICAgIDxoMT5FbWFjcyB0cmVlLXNpdHRl
ciBncmFtbWFyIGNvbXBhdGliaWxpdHk8L2gxPg0KLSAgICA8cD5UaGlzIGlz
IGFuIGF1dG8tZ2VuZXJhdGVkIHJlcG9ydCBvZiB0aGUgbGFzdCBjb21wYXRp
YmxlIHZlcnNpb24gZm9yIGVhY2ggZ3JhbW1hciBpbiBlYWNoIEVtYWNzIHZl
cnNpb24uICBBIDxzcGFuIGNsYXNzPSJoZWFkIj5ncmVlbiBiYWNrZ3JvdW5k
PC9zcGFuPiBvbiB0aGUgdmVyc2lvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgRW1h
Y3MgdmVyc2lvbiBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGxhdGVzdCBjb21t
aXQgaW4gdGhlIHVwc3RyZWFtIGdyYW1tYXIgcmVwby48L3A+DQorICAgIDxw
PlRoaXMgaXMgYW4gYXV0by1nZW5lcmF0ZWQgcmVwb3J0IG9mIHRoZSBsYXN0
IGNvbXBhdGlibGUgdmVyc2lvbiBmb3IgZWFjaCBncmFtbWFyIGluIGVhY2gg
RW1hY3MgdmVyc2lvbi4gIEEgPHNwYW4gY2xhc3M9ImhlYWQiPmdyZWVuIGJh
Y2tncm91bmQ8L3NwYW4+IG9uIHRoZSB2ZXJzaW9uIGluZGljYXRlcyB0aGF0
IHRoZSBFbWFjcyB2ZXJzaW9uIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgbGF0
ZXN0IHRhZyBpbiB0aGUgdXBzdHJlYW0gZ3JhbW1hciByZXBvLjwvcD4NCiAg
ICAgPHA+VGhpcyByZXBvcnQgaXMgZ2VuZXJhdGVkIG9uIF9fX1JFUExBQ0Vf
VElNRV9fXy48L3A+DQogICAgIDx0YWJsZT4NCiBfX19SRVBMQUNFX1RBQkxF
X19fDQpkaWZmIC0tZ2l0IGEvYWRtaW4vdHJlZS1zaXR0ZXIvdHJlZXNpdC1h
ZG1pbi5lbCBiL2FkbWluL3RyZWUtc2l0dGVyL3RyZWVzaXQtYWRtaW4uZWwN
CmluZGV4IDM3MTFlYjBhMzAxLi5hNjkxMzFjMWM5ZCAxMDA2NDQNCi0tLSBh
L2FkbWluL3RyZWUtc2l0dGVyL3RyZWVzaXQtYWRtaW4uZWwNCisrKyBiL2Fk
bWluL3RyZWUtc2l0dGVyL3RyZWVzaXQtYWRtaW4uZWwNCkBAIC0yOTYsOSAr
Mjk2LDkgQEAgdHJlZXNpdC1hZG1pbi0tZmluZC1sYXRlc3QtY29tcGF0aWJs
ZS1yZXZpc2lvbg0KIA0KIFJldHVybiBhIHBsaXN0IG9mIHRoZSBmb3JtDQog
DQotICAgICg6dmVyc2lvbiBWRVJTSU9OIDpoZWFkLXZlcnNpb24gSEVBRC1W
RVJTSU9OIDp0aW1zdGFtcCBUSU1FU1RBTVApLg0KKyAgICAoOnZlcnNpb24g
VkVSU0lPTiA6bGF0ZXN0LXZlcnNpb24gTEFURVNULVZFUlNJT04gOnRpbXN0
YW1wIFRJTUVTVEFNUCkuDQogDQotSEVBRC1WRVJTSU9OIGlzIHRoZSB2ZXJz
aW9uIG9mIHRoZSBIRUFELCBWRVJTSU9OIGlzIHRoZSBsYXRlc3QNCitMQVRF
U1QtVkVSU0lPTiBpcyB0aGUgbGF0ZXN0IHZlcnNpb24sIFZFUlNJT04gaXMg
dGhlIGxhdGVzdA0KIGNvbXBhdGlibGUgdmVyc2lvbi4gIFRJTUVTVEFNUCBp
cyB0aGUgY29tbWl0IGRhdGUgb2YgVkVSU0lPTiBpbiBVTklYDQogZXBvY2gg
Zm9ybWF0LiINCiAgIChsZXQgKCh0cmVlc2l0LWV4dHJhLWxvYWQtcGF0aCAo
bGlzdCBncmFtbWFyLWRpcikpDQpAQCAtMzA5LDcgKzMwOSw4IEBAIHRyZWVz
aXQtYWRtaW4tLWZpbmQtbGF0ZXN0LWNvbXBhdGlibGUtcmV2aXNpb24NCiAg
ICAgICAgIChlbWFjcy1leGVjdXRhYmxlDQogICAgICAgICAgKG9yIGVtYWNz
LWV4ZWN1dGFibGUNCiAgICAgICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUg
aW52b2NhdGlvbi1uYW1lIGludm9jYXRpb24tZGlyZWN0b3J5KSkpDQotICAg
ICAgICBoZWFkLXZlcnNpb24gdmVyc2lvbiBleGl0LWNvZGUgdGltZXN0YW1w
KQ0KKyAgICAgICAgKGxhdGVzdC12ZXJzaW9uIG5pbCkNCisgICAgICAgIGxh
dGVzdC12ZXJzaW9uIHZlcnNpb24gZXhpdC1jb2RlIHRpbWVzdGFtcCkNCiAg
ICAgKHdoZW4gKG5vdCByZWNpcGUpDQogICAgICAgKHNpZ25hbCAndHJlZXNp
dC1lcnJvciBgKCJDYW5ub3QgZmluZCByZWNpcGUiICxsYW5ndWFnZSkpKQ0K
ICAgICAocGNhc2UtbGV0ICgoYCgsdXJsICxyZXZpc2lvbiAsc291cmNlLWRp
ciAsY2MgLGMrKyAsY29tbWl0KQ0KQEAgLTMxOCwxNyArMzE5LDE0IEBAIHRy
ZWVzaXQtYWRtaW4tLWZpbmQtbGF0ZXN0LWNvbXBhdGlibGUtcmV2aXNpb24N
CiAgICAgICAgICh0cmVlc2l0LS1naXQtY2xvbmUtcmVwbyB1cmwgcmV2aXNp
b24gd29ya2RpcikNCiAgICAgICAgICh3aGVuIGNvbW1pdA0KICAgICAgICAg
ICAodHJlZXNpdC0tZ2l0LWNoZWNrb3V0LWJyYW5jaCB3b3JrZGlyIGNvbW1p
dCkpDQotICAgICAgICAoc2V0cSBoZWFkLXZlcnNpb24gKHRyZWVzaXQtLWxh
bmd1YWdlLWdpdC1yZXZpc2lvbiB3b3JrZGlyKSkNCi0gICAgICAgICh0cmVl
c2l0LS1idWlsZC1ncmFtbWFyDQotICAgICAgICAgd29ya2RpciBncmFtbWFy
LWRpciBsYW5ndWFnZSBzb3VyY2UtZGlyIGNjIGMrKykNCi0gICAgICAgICh3
aGlsZSAobm90IChlcSBleGl0LWNvZGUgMCkpDQotICAgICAgICAgICh1bmxl
c3MgKG51bGwgZXhpdC1jb2RlKQ0KLSAgICAgICAgICAgICh0cmVlc2l0LS1n
aXQtY2hlY2tvdXQtYnJhbmNoIHdvcmtkaXIgIkhFQUR+IikNCi0gICAgICAg
ICAgICAodHJlZXNpdC0tYnVpbGQtZ3JhbW1hcg0KLSAgICAgICAgICAgICB3
b3JrZGlyIGdyYW1tYXItZGlyIGxhbmd1YWdlIHNvdXJjZS1kaXIgY2MgYysr
KSkNCi0gICAgICAgICAgKHNldHEgdmVyc2lvbiAodHJlZXNpdC0tbGFuZ3Vh
Z2UtZ2l0LXJldmlzaW9uIHdvcmtkaXIpKQ0KKyAgICAgICAgKGRvbGlzdCAo
dGFnICh0cmVlc2l0LS1sYW5ndWFnZS1naXQtdmVyc2lvbi10YWdzIHdvcmtk
aXIpKQ0KKyAgICAgICAgICAodW5sZXNzIGxhdGVzdC12ZXJzaW9uDQorICAg
ICAgICAgICAgKHNldHEgbGF0ZXN0LXZlcnNpb24gdGFnKSkNCisgICAgICAg
ICAgKHRyZWVzaXQtLWdpdC1jaGVja291dC1icmFuY2ggd29ya2RpciB0YWcp
DQorICAgICAgICAgICh0cmVlc2l0LS1idWlsZC1ncmFtbWFyDQorICAgICAg
ICAgICB3b3JrZGlyIGdyYW1tYXItZGlyIGxhbmd1YWdlIHNvdXJjZS1kaXIg
Y2MgYysrKQ0KICAgICAgICAgICAoc2V0cSB0aW1lc3RhbXAgKHRyZWVzaXQt
LWxhbmd1YWdlLWdpdC10aW1lc3RhbXAgd29ya2RpcikpDQotICAgICAgICAg
IChtZXNzYWdlICJWYWxpZGF0ZWluZyB2ZXJzaW9uICVzIiB2ZXJzaW9uKQ0K
KyAgICAgICAgICAobWVzc2FnZSAiVmFsaWRhdGluZyB2ZXJzaW9uICVzIiB0
YWcpDQogICAgICAgICAgIChzZXRxIGV4aXQtY29kZQ0KICAgICAgICAgICAg
ICAgICAoY2FsbC1wcm9jZXNzDQogICAgICAgICAgICAgICAgICBlbWFjcy1l
eGVjdXRhYmxlIG5pbCB0IG5pbA0KQEAgLTM0MCw4ICszMzgsMTEgQEAgdHJl
ZXNpdC1hZG1pbi0tZmluZC1sYXRlc3QtY29tcGF0aWJsZS1yZXZpc2lvbg0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAodHJlZXNpdC1h
ZG1pbi0tdmFsaWRhdGUtbW9kZS1sYW5nDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnLG1vZGUgJyxsYW5ndWFnZSkNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtpbGwtZW1hY3MgMCkNCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChraWxsLWVtYWNzIC0x
KSkpKSkpKSkpDQotICAgIChsaXN0IDp2ZXJzaW9uIHZlcnNpb24gOmhlYWQt
dmVyc2lvbiBoZWFkLXZlcnNpb24gOnRpbWVzdGFtcCB0aW1lc3RhbXApKSkN
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChraWxsLWVtYWNz
IC0xKSkpKSkpDQorICAgICAgICAgICh3aGVuIChlcSBleGl0LWNvZGUgMCkN
CisgICAgICAgICAgICAoc2V0cSB2ZXJzaW9uIHRhZykNCisgICAgICAgICAg
ICAoY2wtcmV0dXJuKSkpKSkNCisgICAgKGxpc3QgOnZlcnNpb24gdmVyc2lv
biA6bGF0ZXN0LXZlcnNpb24gbGF0ZXN0LXZlcnNpb24gOnRpbWVzdGFtcCB0
aW1lc3RhbXApKSkNCiANCiAoZGVmdW4gdHJlZXNpdC1hZG1pbi0tbGFzdC1j
b21wYXRpYmxlLWdyYW1tYXItZm9yLW1vZGVzDQogICAgIChtb2RlcyBzb3Vy
Y2UtYWxpc3QgZ3JhbW1hci1kaXIgJm9wdGlvbmFsIGVtYWNzLWV4ZWN1dGFi
bGUpDQpAQCAtMzUzLDkgKzM1NCw5IEBAIHRyZWVzaXQtYWRtaW4tLWxhc3Qt
Y29tcGF0aWJsZS1ncmFtbWFyLWZvci1tb2Rlcw0KIA0KIFJldHVybiBhbiBh
bGlzdCBvZiBhbiBhbGlzdCBvZiBhIHBsaXN0Og0KIA0KLSAgICAoKE1PREUg
LiAoKExBTkcgLiAoOnZlcnNpb24gVkVSU0lPTiA6aGVhZC1WRVJTSU9OIEhF
QUQtVkVSU0lPTikpIC4uLikpIC4uLikNCisgICAgKChNT0RFIC4gKChMQU5H
IC4gKDp2ZXJzaW9uIFZFUlNJT04gOmxhdGVzdC12ZXJzaW9uIExBVEVTVC1W
RVJTSU9OKSkgLi4uKSkgLi4uKQ0KIA0KLVZFUlNJT04gYW5kIEhFQUQtVkVS
U0lPTiBpbiB0aGUgcGxpc3QgYXJlIHRoZSBzYW1lIGFzIGluDQorVkVSU0lP
TiBhbmQgTEFURVNULVZFUlNJT04gaW4gdGhlIHBsaXN0IGFyZSB0aGUgc2Ft
ZSBhcyBpbg0KIGB0cmVlc2l0LWFkbWluLS1maW5kLWxhdGVzdC1jb21wYXRp
YmxlLXJldmlzaW9uJy4iDQogICAobWFwY2FyDQogICAgKGxhbWJkYSAobW9k
ZSkNCkBAIC00MjcsOSArNDI4LDkgQEAgdHJlZXNpdC1hZG1pbi0tZ2VuZXJh
dGUtY29tcGF0aWJpbGl0eS1yZXBvcnQNCiAgICAgICAgICAgKGxldCogKChr
ZXkgKGNvbnMgbGFuZyBlbWFjcy12ZXJzaW9uKSkNCiAgICAgICAgICAgICAg
ICAgIChwbGlzdCAoZ2V0aGFzaCBrZXkgZGF0YWJhc2UpKQ0KICAgICAgICAg
ICAgICAgICAgKHZlcnNpb24gKHBsaXN0LWdldCBwbGlzdCA6dmVyc2lvbikp
DQotICAgICAgICAgICAgICAgICAoaGVhZC12ZXJzaW9uIChwbGlzdC1nZXQg
cGxpc3QgOmhlYWQtdmVyc2lvbikpDQorICAgICAgICAgICAgICAgICAobGF0
ZXN0LXZlcnNpb24gKHBsaXN0LWdldCBwbGlzdCA6bGF0ZXN0LXZlcnNpb24p
KQ0KICAgICAgICAgICAgICAgICAgKGNsYXNzbmFtZQ0KLSAgICAgICAgICAg
ICAgICAgIChpZiAoZXF1YWwgdmVyc2lvbiBoZWFkLXZlcnNpb24pICJoZWFk
IiAiIikpKQ0KKyAgICAgICAgICAgICAgICAgIChpZiAoZXF1YWwgdmVyc2lv
biBsYXRlc3QtdmVyc2lvbikgImxhdGVzdCIgIiIpKSkNCiAgICAgICAgICAg
ICAoaWYgKG5vdCBwbGlzdCkNCiAgICAgICAgICAgICAgICAgKGluc2VydCAi
PHRkPjwvdGQ+IikNCiAgICAgICAgICAgICAgIChpbnNlcnQgKGZvcm1hdCAi
PHRkIGNsYXNzPVwiJXNcIj4lczwvdGQ+Ig0KLS0gDQoyLjQ3LjENCg0K
---1463811584-1712113404-1735907190=:4880--