From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 2Dm2KFM2LWHHvwAAgWs5BA (envelope-from ) for ; Mon, 30 Aug 2021 21:49:39 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id KHNoJFM2LWG2OAAA1q6Kng (envelope-from ) for ; Mon, 30 Aug 2021 19:49:39 +0000 Received: from mail.notmuchmail.org (nmbug.tethera.net [IPv6:2607:5300:201:3100::1657]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2756EF5D8 for ; Mon, 30 Aug 2021 21:49:39 +0200 (CEST) Received: from nmbug.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id B6B7B20563; Mon, 30 Aug 2021 15:49:35 -0400 (EDT) X-Greylist: delayed 312 seconds by postgrey-1.36 at nmbug; Mon, 30 Aug 2021 15:49:32 EDT Received: from anarres.sindominio.net (mail.sindominio.net [IPv6:2a01:4f8:10a:3925::4]) by mail.notmuchmail.org (Postfix) with ESMTPS id EE29620560 for ; Mon, 30 Aug 2021 15:49:32 -0400 (EDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by lesnaus.sindominio.net (Postfix) with ESMTP id A604F362F01 for ; Mon, 30 Aug 2021 21:44:16 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 lesnaus.sindominio.net A604F362F01 Received: from anarres.sindominio.net ([127.0.0.1]) by localhost (lesnaus.sindominio.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wpJbvGGTj5Sy for ; Mon, 30 Aug 2021 21:44:14 +0200 (CEST) Received: by lesnaus.sindominio.net (Postfix, from userid 108) id 71F76360E53; Mon, 30 Aug 2021 21:44:14 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 lesnaus.sindominio.net 71F76360E53 Received: from localhost (209.red-37-10-136.dynamicip.rima-tde.net [37.10.136.209]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lesnaus.sindominio.net (Postfix) with ESMTPSA id C9E70360E53; Mon, 30 Aug 2021 21:44:11 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 lesnaus.sindominio.net C9E70360E53 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sindominio.net; s=mail; t=1630352652; bh=qGYWgilsKrwK0PQ1IXXXssNGl3Lv/KoUmc4EjB87xjA=; h=Date:Subject:In-Reply-To:Cc:From:To:References:From; b=FNUXgXmwfDuxrFu3O7sejEC8OmgMqp10x0h71kyZViOzOWIvDXZiHkdtqMmaK8m65 CqJFkDTW80ALw6rDp+C59+QzqO5xwrSEMRllTsPE0YuH3hTjaxJqPlhdB4hl8qlokV Eg69xaGcanMCpnHa3DFdii+w5MpYf1vEEh4Th0hYCMw8bdIdg9IiaKv8bTV7wAjL5N YC9Juq37q++Cm4Wnstu4dlxyvDPLPBYCH3Ph5wcekGrVgg9Fj2o33X5Y26dGYZQQB6 707tMVtcG3GfF6UqT1KbI59OAqCqqRwxieGSPhasXi7lY1SM72NOsCt+30JMD+1uC+ E5vsdGpI2SjNyiokiAB1YLbSF/7gjl3NvFEc+SUiLemGk6lAiUJyfYOpCyf2dBdC07 l15zXRpqmSbcpVLpkg0UdfvhXj4ReLRaMyf/6k54dBs32cV6LeMWyjiYNSZK+13TGu tP92My4tC14LgmHa02af71hfEC2bHjdSHF2C/MG+Ltsq3CFTlMF75zMb5YNisBdKNF eGpfwEqNKTmhz+/uvPFxKsZGdhlOg7wzHSJDzNno7iyU2TvUJObWof7IXzDhEprIeg zDboRLFrxRrFlAmAmD+Ef8kj/SW/Po2FH2BJwJZt7gYGCwwcdiVLEm7I23KeksFM3t dn17l85OA1pKUrqfeSGdUqgo= Mime-Version: 1.0 Date: Mon, 30 Aug 2021 21:44:10 +0200 Message-Id: Subject: Re: [PATCH v2] emacs: tree: support fold/unfold thread or sub-thread In-Reply-To: <861s2vrmtp.fsf@gmail.com> Cc: From: "inwit" To: "Julien Masson" , References: <861s2vrmtp.fsf@gmail.com> Message-ID-Hash: ZA6FIHIRFE5BPDESIRF6SRWB6FONWPI2 X-Message-ID-Hash: ZA6FIHIRFE5BPDESIRF6SRWB6FONWPI2 X-MailFrom: inwit@sindominio.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.1 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1630352979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=lpYMYjjpEizER4KMsAY5rnREVY6HYWGz9wIY69y4fbc=; b=UIDCJormx7pnKK3k3p7029UqAfSHHj4Nnnp73ZvsFU91qMjtmZM+qlvafPIdDDWI3P9Itb Uxml0FMGR7YVj5lwx333kqEd5HnoL+NaI3/eGbL3PRBH+zOD4xYmlOPDQxqnY+tmtpbeh/ JjjVUCwaTLfJaLsH9FGr2C43LaBCVCvrpWNAKYdi+VgJgQS4aBM0avUD4VM/K2iJTdG/na EDZj9QaxD+A/aFWDGiWmxT+jHPpXKZy1eYKRGyc2OeGPq1u5wZOnH9onQO8tJe7N3gb9xv l/d81P3ilvpOS1ua2GE11+CLhtYwjPoaZznA9SF5GRUYZXX9NjS+wfDHGs22Eg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1630352979; a=rsa-sha256; cv=none; b=GHzXYdki3JWdYXj85vMFSo/g+bSii9rHwtTDoP4qJA8jUs7C4CGdwY9KJ0Isl8p0mXdOuc Q6EPyxHL1k1cIreEaps4nNZwetibbtpohyhVKZpvM3MTgYQzc+tQoo+T1+EMz06WKwQA4Z TfqFqRWy8oR2XKW8kcx4Aa8tJ4wNR4Jb+/wgdf807MulLwQ0ZbhlG7reADorKreXbsqz/G fVcvbGs/gfuVoTjmf5ae9NbRHYEisRH0Ps7bJmTBV7k3YXPZ24FfWUC/Fp8dyG9Bd4pxGB Kx50qK+Ewh7fc2FnnIQNeoSxgRiN+waVcXyqflF9TNFhm2Vf4n8H3IuTfIDgvg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=sindominio.net header.s=mail header.b=FNUXgXmw; dmarc=fail reason="SPF not aligned (relaxed)" header.from=sindominio.net (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2607:5300:201:3100::1657 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Spam-Score: 0.19 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=sindominio.net header.s=mail header.b=FNUXgXmw; dmarc=fail reason="SPF not aligned (relaxed)" header.from=sindominio.net (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2607:5300:201:3100::1657 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Queue-Id: 2756EF5D8 X-Spam-Score: 0.19 X-Migadu-Scanner: scn0.migadu.com X-TUID: aqy28TUq7TXu SGkgYWxsLA0KDQpXaGlsZSBiZWluZyBhIHRvdGFsIG5vb2IsIEknbSBhbHNvIGludGVyZXN0ZWQg aW4gdGhpcyBwYXRjaCwgc28gYWZ0ZXINCmdldHRpbmcgaXQgdmlhIERhdmlkIEJyZW1uZXIgKHRo YW5rcyEpLCBJIGhhdmUgdHJpZWQgdG8gYXBwbHkgaXQuDQpIb3dldmVyLCB0aGUgY29kZSBzZWVt cyB0byBoYXZlIGRpdmVyZ2VkIGFuZCBgZ2l0IGFtIDNgIGNvbXBsYWlucyBhYm91dA0KY29uZmxp Y3RzLiBBZnRlciBhcHBseWluZyB0aGUgcGF0Y2ggbWFudWFsbHksIEkgZ2V0IHNvbWUgd2Fybmlu Z3MgYW5kDQp0aGUgZm9sbG93aW5nIGVycm9yOg0KDQpgZW1hY3Mvbm90bXVjaC5lbDo3NjoxOkVy cm9yOiBTeW1ib2zigJlzIHZhbHVlIGFzIHZhcmlhYmxlIGlzIHZvaWQ6DQpub3RtdWNoLXRyZWUt cHJldmlvdXMtbWVzc2FnZS1idXR0b25gDQoNClNlZW1zIGxpa2UgdGhhdCBmdW5jdGlvbiBpcyBt aXNzaW5nIGluIHRoZSBjdXJyZW50IGNvZGUsIGFtIEkgcmlnaHQ/DQoNCkl0IGFsc28gc2VlbXMg dG8gbWUgdGhhdCB0aGUgcGF0Y2ggaXMvd2FzIGFsbW9zdCByZWFkeSBhbmQgaXQgaXMgYSBwaXR5 DQppdCBpcyBub3QgbWVyZ2VkLiBBbnlvbmUgd291bGQgY2FyZSB0byBoZWxwIG1lPw0KDQpSZWdh cmRzLA0KDQoNCk9uIE1vbiBNYXIgMjUsIDIwMTkgYXQgNDoyNSBQTSBDRVQsIEp1bGllbiBNYXNz b24gd3JvdGU6DQo+IFRoaXMgcGF0Y2ggYWxsb3cgdGhlIHVzZXIgdG8gZm9sZC91bmZvbGQgYSB0 aHJlYWQgb3IgYSBzdWItdGhyZWFkIGluDQo+IHRoZSBjdXJyZW50IHRyZWUgYnVmZmVyIGJ5IHBy ZXNzaW5nICJ0IiBrZXkuDQo+DQo+IEJ5IGRlZmF1bHQgYSBzdHJpbmcgaXMgZGlzcGxheWVkIGF0 IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG92ZXJsYXkgdG8NCj4gaW5kaWNhdGUgdGhhdCB0aGlzIHRo cmVhZC9zdWItdGhyZWFkIGlzIGZvbGRlZC4NCj4gUHJlc3NpbmcgYWdhaW4gInQiIG9uIGEgZm9s ZGVkIHRocmVhZC9zdWItdGhyZWFkIHdpbGwgdW5mb2xkIGl0Lg0KPg0KPiBUaGlzIGZlYXR1cmUg d29ya3MgYWNjcm9zcyBhbGwgdGhlIHF1ZXJpZXMgd2hpY2ggYXJlIGluIFRyZWUgVmlldy4NCj4N Cj4gU2lnbmVkLW9mZi1ieTogSnVsaWVuIE1hc3NvbiA8bWFzc29uanUuZXNlb0BnbWFpbC5jb20+ DQo+IC0tLQ0KPg0KPiBDaGFuZ2VzIGZyb20gVjE6DQo+IGh0dHBzOi8vbm90bXVjaG1haWwub3Jn L3BpcGVybWFpbC9ub3RtdWNoLzIwMTkvMDI3NTcxLmh0bWwNCj4NCj4gLT4gaGFuZGxlIHN1Yi10 aHJlYWQgZm9sZGluZw0KPg0KPiAtPiBXaXRoIFVuaXZlcnNhbCBBcmd1bWVudCAoQy11KSwgdGhl IHVzZXIgY2FuIGZvbGQgdGhlIHdob2xlIHRocmVhZA0KPiB3aGVuIHByZXNzaW5nICJ0Ig0KPg0K PiAtPiByZXBsYWNlIHNlcS17ZmluZCxmaWx0ZXJ9IGZ1bmN0aW9ucyB3aXRoIHRoZWlyIGNvcnJl c3BvbmRpbmcgY2wNCj4gZnVuY3Rpb25zDQo+DQo+IGVtYWNzL25vdG11Y2gtdHJlZS5lbCB8IDkz DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K PiAxIGZpbGUgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvZW1h Y3Mvbm90bXVjaC10cmVlLmVsIGIvZW1hY3Mvbm90bXVjaC10cmVlLmVsDQo+IGluZGV4IGMwMDMx NWUuLjg4Njc1NDIgMTAwNjQ0DQo+IC0tLSBhL2VtYWNzL25vdG11Y2gtdHJlZS5lbA0KPiArKysg Yi9lbWFjcy9ub3RtdWNoLXRyZWUuZWwNCj4gQEAgLTcxLDYgKzcxLDExIEBAIE5vdGUgdGhlIGF1 dGhvciBzdHJpbmcgc2hvdWxkIG5vdCBjb250YWluDQo+IDp0eXBlICcoYWxpc3QgOmtleS10eXBl IChzdHJpbmcpIDp2YWx1ZS10eXBlIChzdHJpbmcpKQ0KPiA6Z3JvdXAgJ25vdG11Y2gtdHJlZSkN Cj4gIA0KPiArKGRlZmN1c3RvbSBub3RtdWNoLXRyZWUtb3ZlcmxheS1zdHJpbmcgIiBbLi4uXSIN Cj4gKyAiU3RyaW5nIGRpc3BsYXllZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBvdmVybGF5Ig0K PiArIDp0eXBlICdzdHJpbmcNCj4gKyA6Z3JvdXAgJ25vdG11Y2gtdHJlZSkNCj4gKw0KPiA7OyBG YWNlcyBmb3IgbWVzc2FnZXMgdGhhdCBtYXRjaCB0aGUgcXVlcnkuDQo+IChkZWZmYWNlIG5vdG11 Y2gtdHJlZS1tYXRjaC1mYWNlDQo+ICcoKHQgOmluaGVyaXQgZGVmYXVsdCkpDQo+IEBAIC0xNTks NiArMTY0LDEzIEBAIE5vdGUgdGhlIGF1dGhvciBzdHJpbmcgc2hvdWxkIG5vdCBjb250YWluDQo+ IDpncm91cCAnbm90bXVjaC10cmVlDQo+IDpncm91cCAnbm90bXVjaC1mYWNlcykNCj4gIA0KPiAr OzsgRmFjZXMgZm9yIG92ZXJsYXlzDQo+ICsoZGVmZmFjZSBub3RtdWNoLXRyZWUtb3ZlcmxheS1m b2xkLWZhY2UNCj4gKyAnKCh0IDppbmhlcml0ICdmb250LWxvY2sta2V5d29yZC1mYWNlKSkNCj4g KyAiRGVmYXVsdCBmYWNlIHVzZWQgdG8gZGlzcGxheSBgbm90bXVjaC10cmVlLW92ZXJsYXktc3Ry aW5nJyINCj4gKyA6Z3JvdXAgJ25vdG11Y2gtdHJlZQ0KPiArIDpncm91cCAnbm90bXVjaC1mYWNl cykNCj4gKw0KPiAoZGVmdmFyIG5vdG11Y2gtdHJlZS1wcmV2aW91cy1zdWJqZWN0DQo+ICJUaGUg c3ViamVjdCBvZiB0aGUgbW9zdCByZWNlbnQgcmVzdWx0IHNob3duIGR1cmluZyB0aGUgYXN5bmMg ZGlzcGxheSIpDQo+IChtYWtlLXZhcmlhYmxlLWJ1ZmZlci1sb2NhbCAnbm90bXVjaC10cmVlLXBy ZXZpb3VzLXN1YmplY3QpDQo+IEBAIC0xOTYsNiArMjA4LDkgQEAgaWYgdGhlIHVzZXIgaGFzIGxv YWRlZCBhIGRpZmZlcmVudCBidWZmZXIgaW4gdGhhdA0KPiB3aW5kb3cuIikNCj4gKG1ha2UtdmFy aWFibGUtYnVmZmVyLWxvY2FsICdub3RtdWNoLXRyZWUtbWVzc2FnZS1idWZmZXIpDQo+IChwdXQg J25vdG11Y2gtdHJlZS1tZXNzYWdlLWJ1ZmZlciAncGVybWFuZW50LWxvY2FsIHQpDQo+ICANCj4g KyhkZWZ2YXIgbm90bXVjaC10cmVlLW92ZXJsYXlzIG5pbA0KPiArICJMaXN0IG9mIG92ZXJsYXlz IHVzZWQgdG8gZm9sZC91bmZvbGQgdGhyZWFkIikNCj4gKw0KPiAoZGVmdW4gbm90bXVjaC10cmVl LXRvLW1lc3NhZ2UtcGFuZSAoZnVuYykNCj4gIkV4ZWN1dGUgRlVOQyBpbiBtZXNzYWdlIHBhbmUu DQo+ICANCj4gQEAgLTI5NCw2ICszMDksNyBAQCBGVU5DLiINCj4gKGRlZmluZS1rZXkgbWFwICIg IiAnbm90bXVjaC10cmVlLXNjcm9sbC1vci1uZXh0KQ0KPiAoZGVmaW5lLWtleSBtYXAgKGtiZCAi REVMIikgJ25vdG11Y2gtdHJlZS1zY3JvbGwtbWVzc2FnZS13aW5kb3ctYmFjaykNCj4gKGRlZmlu ZS1rZXkgbWFwICJlIiAnbm90bXVjaC10cmVlLXJlc3VtZS1tZXNzYWdlKQ0KPiArIChkZWZpbmUt a2V5IG1hcCAidCIgJ25vdG11Y2gtdHJlZS10b2dnbGUtZm9sZGluZy10aHJlYWQpDQo+IG1hcCkp DQo+IChmc2V0ICdub3RtdWNoLXRyZWUtbW9kZS1tYXAgbm90bXVjaC10cmVlLW1vZGUtbWFwKQ0K PiAgDQo+IEBAIC00MTUsNiArNDMxLDgwIEBAIE5PVCBjaGFuZ2UgdGhlIGRhdGFiYXNlLiINCj4g KG5vdG11Y2gtZHJhZnQtcmVzdW1lIGlkKQ0KPiAobWVzc2FnZSAiTm8gbWVzc2FnZSB0byByZXN1 bWUhIikpKSkNCj4gIA0KPiArKGRlZnVuIG5vdG11Y2gtdHJlZS1maW5kLW92ZXJsYXkgKGJ1ZmZl ciBzdGFydCBlbmQpDQo+ICsgIlJldHVybiB0aGUgZmlyc3Qgb3ZlcmxheSBmb3VuZCBpbiBgbm90 bXVjaC10cmVlLW92ZXJsYXlzJy4NCj4gKw0KPiArVGhlIG92ZXJsYXkgZm91bmQgaXMgbG9jYXRl ZCBiZXR3ZWVuIFNUQVJUIGFuZCBFTkQgcG9zaXRpb24gaW4gQlVGRkVSLiINCj4gKyAoY2wtZmlu ZC1pZiAobGFtYmRhIChvdikNCj4gKyAoYW5kIChlcSAob3ZlcmxheS1idWZmZXIgb3YpIGJ1ZmZl cikNCj4gKyAoPD0gKG92ZXJsYXktc3RhcnQgb3YpIHN0YXJ0KQ0KPiArICg+PSAob3ZlcmxheS1l bmQgb3YpIGVuZCkpKQ0KPiArIG5vdG11Y2gtdHJlZS1vdmVybGF5cykpDQo+ICsNCj4gKyhkZWZ1 biBub3RtdWNoLXRyZWUtY2xlYW4tdXAtb3ZlcmxheXMgKCkNCj4gKyAiUmVtb3ZlIG92ZXJsYXlz IG5vdCByZWZlcmVuY2VkIHRvIGFueSBidWZmZXIiDQo+ICsgKHNldHEgbm90bXVjaC10cmVlLW92 ZXJsYXlzIChjbC1yZW1vdmUtaWYgIydvdmVybGF5LWJ1ZmZlcg0KPiBub3RtdWNoLXRyZWUtb3Zl cmxheXMpKSkNCj4gKw0KPiArKGRlZnVuIG5vdG11Y2gtdHJlZS1yZW1vdmUtb3ZlcmxheSAob3Zl cmxheSkNCj4gKyAiRGVsZXRlIE9WRVJMQVkgYW5kIHJlbW92ZSBpdCBmcm9tIGBub3RtdWNoLXRy ZWUtb3ZlcmxheXMnIGxpc3QiDQo+ICsgKHNldHEgbm90bXVjaC10cmVlLW92ZXJsYXlzIChyZW1v dmUgb3ZlcmxheSBub3RtdWNoLXRyZWUtb3ZlcmxheXMpKQ0KPiArIChkZWxldGUtb3ZlcmxheSBv dmVybGF5KSkNCj4gKw0KPiArKGRlZnVuIG5vdG11Y2gtdHJlZS1hZGQtb3ZlcmxheSAoc3RhcnQg ZW5kKQ0KPiArICJBZGQgYW4gb3ZlcmxheSBmcm9tIFNUQVJUIHRvIEVORCBpbiB0aGUgY3VycmVu dCBidWZmZXIuDQo+ICsNCj4gK0lmIG5vbiBuaWwsIGBub3RtdWNoLXRyZWUtb3ZlcmxheS1zdHJp bmcnIGlzIGFkZGVkIGF0IHRoZSBlbmQgb2YgdGhlDQo+IGxpbmUuDQo+ICtUaGUgb3ZlcmxheSBj cmVhdGVkIGlzIGFkZGVkIHRvIGBub3RtdWNoLXRyZWUtb3ZlcmxheXMnIGxpc3QiDQo+ICsgKGxl dCAoKG92ZXJsYXkgKG1ha2Utb3ZlcmxheSBzdGFydCBlbmQpKSkNCj4gKyAoYWRkLXRvLWxpc3Qg J25vdG11Y2gtdHJlZS1vdmVybGF5cyBvdmVybGF5KQ0KPiArIChvdmVybGF5LXB1dCBvdmVybGF5 ICdpbnZpc2libGUgdCkNCj4gKyAod2hlbiBub3RtdWNoLXRyZWUtb3ZlcmxheS1zdHJpbmcNCj4g KyAob3ZlcmxheS1wdXQgb3ZlcmxheSAnYmVmb3JlLXN0cmluZw0KPiArIChwcm9wZXJ0aXplIG5v dG11Y2gtdHJlZS1vdmVybGF5LXN0cmluZw0KPiArICdmYWNlICdub3RtdWNoLXRyZWUtb3Zlcmxh eS1mb2xkLWZhY2UpKSkpKQ0KPiArDQo+ICsoZGVmdW4gbm90bXVjaC10cmVlLXRocmVhZC1yYW5n ZSAoKQ0KPiArICJSZXR1cm4gbGlzdCBvZiBTdGFydCBhbmQgRW5kIHBvc2l0aW9uIG9mIHRoZSBj dXJyZW50IHRocmVhZCINCj4gKyAobGV0IChzdGFydCBlbmQpDQo+ICsgKHNhdmUtZXhjdXJzaW9u DQo+ICsgKHdoaWxlIChub3QgKG9yIChub3RtdWNoLXRyZWUtZ2V0LXByb3AgOmZpcnN0KSAoZW9i cCkpKQ0KPiArIChmb3J3YXJkLWxpbmUgLTEpKQ0KPiArIChzZXRxIHN0YXJ0IChsaW5lLWVuZC1w b3NpdGlvbikpDQo+ICsgKG5vdG11Y2gtdHJlZS1uZXh0LXRocmVhZCkNCj4gKyAoc2V0cSBlbmQg KC0gKHBvaW50KSAxKSkNCj4gKyAobGlzdCBzdGFydCBlbmQpKSkpDQo+ICsNCj4gKyhkZWZ1biBu b3RtdWNoLXRyZWUtc3ViLXRocmVhZC1yYW5nZSAoKQ0KPiArICJSZXR1cm4gbGlzdCBvZiBTdGFy dCBhbmQgRW5kIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IHN1Yi10aHJlYWQiDQo+ICsgKGlmIChu b3RtdWNoLXRyZWUtZ2V0LXByb3AgOmZpcnN0KQ0KPiArIChub3RtdWNoLXRyZWUtdGhyZWFkLXJh bmdlKQ0KPiArIChsZXQgKChsZXZlbCAobGVuZ3RoIChub3RtdWNoLXRyZWUtZ2V0LXByb3AgOnRy ZWUtc3RhdHVzKSkpDQo+ICsgKHN0YXJ0IChsaW5lLWVuZC1wb3NpdGlvbikpDQo+ICsgZW5kKQ0K PiArIDs7IGZpbmQgZW5kIHBvc2l0aW9uDQo+ICsgKHNhdmUtZXhjdXJzaW9uDQo+ICsgKGZvcndh cmQtbGluZSkNCj4gKyAod2hpbGUgKGFuZCAoPCBsZXZlbCAobGVuZ3RoIChub3RtdWNoLXRyZWUt Z2V0LXByb3AgOnRyZWUtc3RhdHVzKSkpDQo+ICsgKG5vdCAoZW9icCkpKQ0KPiArIChmb3J3YXJk LWxpbmUpKQ0KPiArIChzZXRxIGVuZCAoLSAocG9pbnQpIDEpKSkNCj4gKyAobGlzdCBzdGFydCBl bmQpKSkpDQo+ICsNCj4gKyhkZWZ1biBub3RtdWNoLXRyZWUtdG9nZ2xlLWZvbGRpbmctdGhyZWFk ICgmb3B0aW9uYWwgYXJnKQ0KPiArICJGb2xkIC8gVW5mb2xkIHRoZSBjdXJyZW50IHRocmVhZCBv ciBzdWItdGhyZWFkLg0KPiArDQo+ICtXaXRoIHByZWZpeCBhcmcgKEMtdSkgdGhlIHdob2xlIHRo cmVhZCBpcyBmb2xkZWQiDQo+ICsgKGludGVyYWN0aXZlICJwIikNCj4gKyAoY2wtbXVsdGlwbGUt dmFsdWUtYmluZCAoc3RhcnQgZW5kKQ0KPiArIChpZiAoYW5kIGFyZyAoPSBhcmcgMSkpDQo+ICsg KG5vdG11Y2gtdHJlZS1zdWItdGhyZWFkLXJhbmdlKQ0KPiArIChub3RtdWNoLXRyZWUtdGhyZWFk LXJhbmdlKSkNCj4gKyAodW5sZXNzICg9IHN0YXJ0IGVuZCkNCj4gKyAobGV0ICgob3ZlcmxheSAo bm90bXVjaC10cmVlLWZpbmQtb3ZlcmxheSAoY3VycmVudC1idWZmZXIpIHN0YXJ0DQo+IGVuZCkp KQ0KPiArIChpZiBvdmVybGF5DQo+ICsgKG5vdG11Y2gtdHJlZS1yZW1vdmUtb3ZlcmxheSBvdmVy bGF5KQ0KPiArIChub3RtdWNoLXRyZWUtYWRkLW92ZXJsYXkgc3RhcnQgZW5kKSkpKSkpDQo+ICsN Cj4gOzsgVGhlIG5leHQgdHdvIGZ1bmN0aW9ucyBjbG9zZSB0aGUgbWVzc2FnZSB3aW5kb3cgYmVm b3JlIGNhbGxpbmcNCj4gOzsgbm90bXVjaC1zZWFyY2ggb3Igbm90bXVjaC10cmVlIGJ1dCB0aGV5 IGRvIHNvIGFmdGVyIHRoZSB1c2VyIGhhcw0KPiA7OyBlbnRlcmVkIHRoZSBxdWVyeSAoaW4gY2Fz ZSB0aGUgdXNlciB3YXMgYmFzaW5nIHRoZSBxdWVyeSBvbg0KPiBAQCAtOTY2LDYgKzEwNTYsOSBA QCBUaGUgYXJndW1lbnRzIGFyZToNCj4gOzsgRG9uJ3QgdHJhY2sgdW5kbyBpbmZvcm1hdGlvbiBm b3IgdGhpcyBidWZmZXINCj4gKHNldCAnYnVmZmVyLXVuZG8tbGlzdCB0KQ0KPiAgDQo+ICsgOzsg Y2xlYW4tdXAgb3ZlcmxheXMgaW4gY2FzZSB3aGVyZSBzb21lIG92ZXJsYXlzIHJlZmVyZW5jZSB0 byBubw0KPiBidWZmZXINCj4gKyAobm90bXVjaC10cmVlLWNsZWFuLXVwLW92ZXJsYXlzKQ0KPiAr DQo+IChub3RtdWNoLXRyZWUtd29ya2VyIHF1ZXJ5IHF1ZXJ5LWNvbnRleHQgdGFyZ2V0IG9wZW4t dGFyZ2V0KQ0KPiAgDQo+IChzZXRxIHRydW5jYXRlLWxpbmVzIHQpKQ0KPiAtLQ0KPiAyLjcuNA0K Pg0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBu b3RtdWNoIG1haWxpbmcgbGlzdA0KPiBub3RtdWNoQG5vdG11Y2htYWlsLm9yZw0KPiBodHRwczov L25vdG11Y2htYWlsLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdG11Y2gN