From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id OI9QEDz8/WIQyQAAbAwnHQ (envelope-from ) for ; Thu, 18 Aug 2022 10:45:48 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id zTlmDzz8/WL/eQAAG6o9tA (envelope-from ) for ; Thu, 18 Aug 2022 10:45:48 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 153AE14380 for ; Thu, 18 Aug 2022 10:45:47 +0200 (CEST) Received: from localhost ([::1]:33294 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oOaQy-0008A3-I7 for larch@yhetil.org; Thu, 18 Aug 2022 03:59:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50756) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oOaO9-00053B-5n for guix-devel@gnu.org; Thu, 18 Aug 2022 03:56:27 -0400 Received: from baptiste.telenet-ops.be ([2a02:1800:120:4::f00:13]:52760) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oOaO6-0001iv-0N for guix-devel@gnu.org; Thu, 18 Aug 2022 03:56:24 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by baptiste.telenet-ops.be with bizsmtp id 8vwG2800820ykKC01vwGYD; Thu, 18 Aug 2022 09:56:17 +0200 Message-ID: <2dea77ed-4f1b-b799-62d7-149072fd2103@telenet.be> Date: Thu, 18 Aug 2022 09:56:15 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US To: =?UTF-8?Q?Aleix_Conchillo_Flaqu=c3=a9?= Cc: Guix-devel , guile-devel References: <33556713-c85b-ab0f-554e-94a40f9d418e@telenet.be> <5331d2f3-13a5-e40c-f3bb-398438a0b103@telenet.be> From: Maxime Devos Subject: Re: (ice-9 base64)? In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------Z6y7OghtXE5Dt6s0o49WLI1m" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1660809377; bh=BM7Aj1M6HynIocA5wN8ag7gPyop0Rd6Uu8fOx49oUz8=; h=Date:To:Cc:References:From:Subject:In-Reply-To; b=HbTMRD8hCD5azQidnjh7uUl0jJHyxjJuQc8114xKuXlYm+SJvMDojhNYzbLVb/CE6 D3deaPAwH4SE/f814u7pjNaUaK1xZ35afG3AEhl1nCtnOOnsTLlhE9Q0tPz4swsZ62 J4Ggg0jBI/k0FWFW8weSBaFBBBWp3ytyxK7KdyA9QKwnkHEeM1c9Y2gD6jC9qwJU09 cpe53hRRHHUDjUEm++ykfbaHeS1ySrpMd0EWgIlQX40pQEKaqX6/RsbULkkMNIbGVB emgSOMwNzB02ig5mxUet8Fc+//TU8igJmcfYkvUAoMVTy1SfThwte2l35RnAeepfe9 cYernMerLgMZg== Received-SPF: pass client-ip=2a02:1800:120:4::f00:13; envelope-from=maximedevos@telenet.be; helo=baptiste.telenet-ops.be X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1660812347; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=ufCBJQhdR5qQLOgagDffEQy1JFzIsUaNB2nsFomdKf4=; b=m1lGNsnZpE9b7yy2u8khwWOUE/oQcrIRs8HpE9gHAKTpcb/4tRNdw7nkG6JgVHwF51qXQw ZNgv6tLth55QQOOWD0K8+ntb+8MBJu5cPttW+AF6xmxEhmrTeZpHYOSOT6CJBkdZjh3KVL ub0b+R+RB1HEmXTMZ4au4RIdb3uKbAvqOSor5iJt4reCR9tAzVFleyGVxjoVaXL2vZvHSu dozQ4FVZUMmrWhW/MLirrh+zSpGYj+oYlfSHTxTMrA+JGOGFXALTTBZSDnjAPml0eHsw7t +dZCGOIZkxxvSyCeeCpt9mB9d9EmGqpkrYFLZ9tVFnOkeuI4nlmQ0SGVFEY9jQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1660812347; a=rsa-sha256; cv=none; b=FON8DnHlboAGSULNrn7DjXZHwhNMBE2bjrHEqpEnRw1l8qsQ45sppX9EQM9aCjgmiVRAXb c1cMsDbwgYngzLEG0Qv0V1GG2yHzlEL1ERRXCTVUuIbcN40k4rFUB8+a/TYOORaq9Yggu0 ozM1jng/oTl5r2MPJKKhTz0mdu38/Gli7UM5YWqLzUVsj12OB+BfGMcCy0rjt9qXP1SZm+ ToYRhuD0yOOYJCi1TmDyrDpD9UMcPdctcQmRtNo3IEJULpA9tJE2tNVxMlyY6JCS9n+fxZ EHzQTC/kh3j8hSps1FvoRwrTCRiHCjm2uQibMlLi2boTNjWXhr/RTRKQhYvzZA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=HbTMRD8h; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 6.84 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=HbTMRD8h; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 153AE14380 X-Spam-Score: 6.84 X-Migadu-Scanner: scn0.migadu.com X-TUID: /4x23YtPhUu4 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------Z6y7OghtXE5Dt6s0o49WLI1m Content-Type: multipart/mixed; boundary="------------aUjh8u0Jv1PJc0n704R9ZfVS"; protected-headers="v1" From: Maxime Devos To: =?UTF-8?Q?Aleix_Conchillo_Flaqu=c3=a9?= Cc: Guix-devel , guile-devel Message-ID: <2dea77ed-4f1b-b799-62d7-149072fd2103@telenet.be> Subject: Re: (ice-9 base64)? References: <33556713-c85b-ab0f-554e-94a40f9d418e@telenet.be> <5331d2f3-13a5-e40c-f3bb-398438a0b103@telenet.be> In-Reply-To: --------------aUjh8u0Jv1PJc0n704R9ZfVS Content-Type: multipart/mixed; boundary="------------Bc4dSw3C2pTJpMgum9mLfYC0" --------------Bc4dSw3C2pTJpMgum9mLfYC0 Content-Type: multipart/alternative; boundary="------------IYDsrrVNn5fmJhLl7yBmgPDS" --------------IYDsrrVNn5fmJhLl7yBmgPDS Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 PiBUaGVuLCBpZiBJIHVuZGVyc3Rvb2QgY29ycmVjdGx5LCBJTU8gSSB3b3VsZCBzYXkgR3Vp bGUgc2hvdWxkIG5vdCANCj4gcmVhbGx5IGNhcmUgYWJvdXQgR3VpeCdzIGJ1bmRsaW5nL3Vu YnVuZGxpbmcuIFRoYXQgaXMsIGFkZGluZyAoaWNlLTkgDQo+IGJhc2U2NCkgKG9yIGhvd2V2 ZXIgd2Ugd2FudCB0byBjYWxsIGl0Li4uIG1heWJlIChlbmNvZGluZyBiYXNlNjQpIA0KPiBm b2xsb3dpbmcgR29sYW5nIGFuZCBHdWlsZSdzICh3ZWIgLi4uLikgbW9kdWxlKSBzaG91bGQg YmUgdG90YWxseSANCj4gaW5kZXBlbmRlbnQgb2YgR3VpeC4gU28sIGlmIHdlIGFkZCAoaWNl LTkgYmFzZTY0KSB0byBHdWlsZSB0aGVuIEd1aXggDQo+IHNob3VsZCBmaWd1cmUgb3V0IHdo YXQgdG8gZG8gd2l0aCBpdCwgYnV0IGl0J3MgR3VpeCdzIGNvbmNlcm4gbm90IEd1aWxlJ3Mu DQoNCkl0J3Mgbm90IHNvbWUgR3VpeC1zcGVjaWZpYyBxdWlyay4gSXQncyB0aGUgc2FtZSBm b3IgYXQgbGVhc3QgRGViaWFuLiBJdCANCmJlbmVmaXRzIG5vdCBvbmx5IEd1aXggaXRzZWxm IGJ1dCBhbGwgdXNlcnMgb2YgdGhlIHNvZnR3YXJlOg0KDQo+IFsuLi5dIGFsbG93cyBbLi4u XSB0byBtYWtlIHRyYW5zdmVyc2UgY2hhbmdlcw0KPiBzdWNoIGFzIGFwcGx5aW5nIHNlY3Vy aXR5IHVwZGF0ZXMgZm9yIGEgZ2l2ZW4gc29mdHdhcmUgcGFja2FnZSBpbiBhDQo+IHNpbmds ZSBwbGFjZSBhbmQgaGF2ZSB0aGVtIGFmZmVjdCB0aGUgd2hvbGUgc3lzdGVt4oCUc29tZXRo aW5nIHRoYXQNCj4gYnVuZGxlZCBjb3BpZXMgcHJldmVudC4NCi4uLiB0aGF0IHdhcyB3cml0 dGVuIHdpdGggR3VpeCBpbiBtaW5kLCBidXQgaXQgYXBwbGllcyB0byBldmVyeSANCmRpc3Ry aWJ1dGlvbiBhbmQgZXZlcnlvbmUuDQoNCkJlc2lkZXMsIHlvdXIgZ29hbCBhcHBlYXJzIHRv IGJlIHRvIHVuYnVuZGxlIHRoZSBiYXNlNjQgaW50byBhIHNpbmdsZSANCmxvY2F0aW9uIChh cyBhIG1vZHVsZSBvZiBHdWlsZSksIGlmIHdlIGRvIHRoYXQgSSB0aGluayB3ZSBzaG91bGQg Z28gYWxsIA0KdGhlIHdheSAtLSBqdXN0IGFkZGluZyBpdCB0byBHdWlsZSBpbmNyZWFzZXMg YnVuZGxpbmcgaW5zdGVhZCBvZiANCmRlY3JlYXNpbmcgYnVuZGxpbmcsIG9ubHkgaWYgdGhl IHZhcmlvdXMgdXBzdHJlYW1zIGFyZSBtb2RpZmllZCB0byANCnVuYnVuZGxlIGFuZCB1c2Ug dGhlIG5ldyBsb2NhdGlvbiB0aGVuIHRoZSB1bmJ1bmRsaW5nIGlzIGNvbXBsZXRlZC4NCg0K T24gMTgtMDgtMjAyMiAwMjowOSwgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgd3JvdGU6DQo+ IEFib3V0IEd1aXgncyB1bmJ1bmRsaW5nIChtYXliZSB0aGF0J3Mgc29tZXRoaW5nIHRoYXQg c2hvdWxkIGdvIG9uIA0KPiBHdWl4J3MgbWFpbGluZyBsaXN0KSwNCkkgZG9uJ3Qgc2VlIHdo eSwgdGhlcmUncyBub3RoaW5nIHRvIHdyaXRlIGFib3V0IGV4Y2VwdCAib29wcyBzb21lIA0K cGFja2FnZXMgYXJlIGJ1bmRsaW5nIGJhc2U2NCwgbGV0J3MgdW5idW5kbGUgdGhvc2UiLCBh bmQgZm9yIHVuYnVuZGxpbmcgDQp0aG9zZSwgaXQgc2VlbXMgbW9yZSBwcmFjdGljYWwgdG8g d3JpdGUgYWJvdXQgdGhhdCBoZXJlIG9uIGd1aWxlLWRldmVsLiANCkFsc28gSSBub3RpY2Vk IEkgc2VudCBzb21lIG1lc3NhZ2VzIHRvIGd1aXgtZGV2ZWwgaW5zdGVhZCBvZiANCmd1aWxl LWRldmVsLCBjb3JyZWN0aW5nIG5vdy4NCj4gSSBkb24ndCB0aGluayBjdXJyZW50bHkgdGhl cmUncyBhbnkgdW5idW5kbGluZyBmb3IgYmFzZTY0IG1vZHVsZXMgb3IgDQo+IGF0IGxlYXN0 IG5vdCBpbiBhIHBhY2thZ2UgSSBtYWludGFpbiBndWlsZS1qd3QgKGd1aWxlLWp3dCBidW5k bGVzIA0KPiBiYXNlNjQpLiBBbmQgcHJvYmFibHkgdGhlcmUncyBubyB1bmJ1bmRsaW5nIGJl Y2F1c2UgdGhlcmUncyBubyANCj4gY2Fub25pY2FsIGltcGxlbWVudGF0aW9uPyBFdmVuIGlm IHRoZXJlIHdhcyBhIGNhbm9uaWNhbCANCj4gaW1wbGVtZW50YXRpb24swqBob3cgd291bGQg dGhhdCBsb29rIGxpa2UgaW4gR3VpeCdzIGd1aWxlLWp3dCBwYWNrYWdlPyANCj4gV2hhdCB3 b3VsZCB0aGUgc25pcHBldCBhY3R1YWxseSBkbz8NCkN1cnJlbnRseSwgaXQncyBub3QgZG9u ZSB5ZXQsIHByZXN1bWFibHkgZm9yIHRoYXQgcmVhc29uIGFuZCBtYXliZSBhbHNvIA0KZHVl IHRvIG5vYm9keSBoYXZpbmcgbm90aWNlZCBpdCB5ZXQ/DQoNCkhvdyBpdCB3b3VsZCBsb29r IGxpa2UsIGZvciB1cHN0cmVhbXMgdGhhdCByZWZ1c2UgdG8gdW5idW5kbGUgb3IgYXJlIA0K dW5yZXNwb25zaXZlOg0KDQojfihiZWdpbg0KIMKgwqDCoMKgwqDCoMKgIChkZWxldGUtZmls ZSAibG9jYWwvY29weS9vZi9iYXNlNjQuc2NtIikNCiDCoMKgwqDCoMKgwqDCoCBbYWxzbyBy ZW1vdmUgaXQgZnJvbSB0aGUgTWFrZWZpbGUuYW1dDQogwqDCoMKgwqDCoMKgwqAgKHN1YnN0 aXR1dGUqIChmaW5kLWZpbGVzICIuIiAiXFwuc2NtJCIpDQogwqDCoMKgwqDCoMKgwqDCoMKg ICgoIihcXGxvY2FsIGJhc2U2NCBtb2R1bGVcXCkiKSAiKGdjcnlwdCBiYXNlNjQpIikpKQ0K DQpGb3IgcmVzcG9uc2l2ZSB1cHN0cmVhbXMgdGhhdCBkbyBub3QgbWluZCB0aGVzZSBraW5k IG9mIGltcHJvdmVtZW50cywgDQp0aGVyZSBpcyBhIHByZWZlcmVuY2UgZm9yIHN1Ym1pdHRp bmcgYSBwYXRjaCB1cHN0cmVhbSAtLSB0aGF0IHdheSwgDQpldmVyeW9uZSBiZW5lZml0cywg bm90IG9ubHkgR3VpeC4NCg0KR3JlZXRpbmdzLA0KTWF4aW1lLg0KDQo= --------------IYDsrrVNn5fmJhLl7yBmgPDS Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Then, if I understood correctly, IMO I would say Guile should not really care about Guix's bundling/unbundling. That is, adding (ice-9 base64) (or however we want to call it... maybe (encoding base64) following Golang and Guile's (web ....) module) should be totally independent of Guix. So, if we add (ice-9 base64) to Guile then Guix should figure out what to do with it, but it's Guix's concern not Guile's.

It's not some Guix-specific quirk. It's the same for at least Debian. It benefits not only Guix itself but all users of the software:

[...] allows [...] to make transverse changes
such as applying security updates for a given software package in a
single place and have them affect the whole system=E2=80=94someth= ing that
bundled copies prevent.
... that was written with Guix in mind, but it applies to every distribution and everyone.

Besides, your goal appears to be to unbundle the base64 into a single location (as a module of Guile), if we do that I think we should go all the way -- just adding it to Guile increases bundling instead of decreasing bundling, only if the various upstreams are modified to unbundle and use the new location then the unbundling is completed.

On 18-08-2022 02:09, Aleix Conchillo Flaqu=C3=A9 wrote:
About Guix's unbundling (maybe that's something that should go on Guix's mailing list),
I don't see why, there's nothing to write about except "oops some packages are bundling base64, let's unbundle those", and for unbundling those, it seems more practical to write about that here on guile-devel. Also I noticed I sent some messages to guix-devel instead of guile-devel, correcting now.
I don't think currently there's any unbundling for base64 modules or at least not in a package I maintain guile-jwt (guile-jwt bundles base64). And probably there's no unbundling because there's no canonical implementation? Even if there was a canonical implementation,=C2=A0how would that look like in Guix's guile-jwt= package? What would the snippet actually do?
Currently, it's not done yet, presumably for that reason and maybe also due to nobody having noticed it yet?

How it would look like, for upstreams that refuse to unbundle or are unresponsive:

#~(begin
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (delete-file "local/copy= /of/base64.scm")
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [also remove it from the= Makefile.am]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (substitute* (find-files= "." "\\.scm$")
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (("(\\local = base64 module\\)") "(gcrypt base64)")))

For responsive upstreams that do not mind these kind of improvements, there is a preference for submitting a patch upstream -- that way, everyone benefits, not only Guix.

Greetings,
Maxime.

--------------IYDsrrVNn5fmJhLl7yBmgPDS-- --------------Bc4dSw3C2pTJpMgum9mLfYC0 Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------Bc4dSw3C2pTJpMgum9mLfYC0-- --------------aUjh8u0Jv1PJc0n704R9ZfVS-- --------------Z6y7OghtXE5Dt6s0o49WLI1m Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYv3wnwUDAAAAAAAKCRBJ4+4iGRcl7p0r AP0RtvYhL9zPqATlto4SUh0uA8nEezPs0ajx8iYEXe581QEA3V090e00uc4v+h3RrMgwy0vHiuhS nB7uj74IjL/UtQA= =ILre -----END PGP SIGNATURE----- --------------Z6y7OghtXE5Dt6s0o49WLI1m--