From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org
X-Spam-Level:
X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED,
HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI
autolearn=ham autolearn_force=no version=3.4.4
Received: from alyss.skarnet.org (alyss.skarnet.org [95.142.172.232])
by inbox.vuxu.org (Postfix) with SMTP id 2276A21785
for ; Sat, 11 Jan 2025 16:15:47 +0100 (CET)
Received: (qmail 7727 invoked by uid 89); 11 Jan 2025 15:16:13 -0000
Mailing-List: contact supervision-help@list.skarnet.org; run by ezmlm
Sender:
Precedence: bulk
List-Post:
List-Help:
List-Unsubscribe:
List-Subscribe:
List-Id:
Received: (qmail 7717 invoked from network); 11 Jan 2025 15:16:13 -0000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sopka.ch; s=default;
t=1736608545; bh=tJ1+5VyklgqQSaI3keMcEvZrK5HuclrGFKulmTbSsPw=;
h=Received:Received:Subject:To:From;
b=TXv3T2yBZ3XgbpzrfwZp6Z4eBASBuXYbtCJ6d9UeKMj8cUcOHXp3da19RRgHweWAC
QPVt2J+EYZcLTkU8hWo3DvvMnTbsUM/oRshZK3CeunNfziPTfh7RgD5Qc0pP7V27L5
5jupLN41o5FsXPIFFWl/gLkEF0YzNRfLjJ9pEeKwa8Y//U0uVXsVlpbt+mpkyGhVLl
fyiZaSfYEb3HGEdh15c9riRgdT6cdYfkmy1XgzMkOOgcGDqFpmcr/rxibxApmLTxTL
SRuczwNb3GR/qqjcfFYHN5+onO71TV0xPw2t8Tz3hln3xB7peGh4VSGDNLUYhghUL+
M/5UWQ6WbPnaw==
Authentication-Results: plesk.origon.ch;
spf=pass (sender IP is 127.0.0.1) smtp.mailfrom=psopka@sopka.ch smtp.helo=plesk.origon.ch
Received-SPF: pass (plesk.origon.ch: localhost is always allowed.) client-ip=127.0.0.1; envelope-from=psopka@sopka.ch; helo=plesk.origon.ch;
Authentication-Results: plesk.origon.ch (amavis); dkim=pass (2048-bit key)
header.d=sopka.ch
Received-SPF: pass (plesk.origon.ch: connection is authenticated)
Message-ID: <261837cb-6c20-4dc7-b3f0-c9423229447d@sopka.ch>
Date: Sat, 11 Jan 2025 16:15:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Scripting Stage 3 and 4
To: supervision@list.skarnet.org, Laurent Bercot
References: <1dcb4b00-db5d-49bd-8598-fd6b2e5febdd@sopka.ch>
<9ec5e5f1-35f9-4e6b-abd0-79299779b515@sopka.ch>
Content-Language: en-US
From: Paul Sopka
Autocrypt: addr=psopka@sopka.ch; keydata=
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
In-Reply-To:
Content-Type: multipart/signed; micalg=pgp-sha256;
protocol="application/pgp-signature";
boundary="------------yry0Yd10H8zZhw0WfF0JGPKn"
X-PPP-Message-ID: <173660854309.2719684.11033848623696606336@plesk.origon.ch>
X-PPP-Vhost: sopka.ch
--------------yry0Yd10H8zZhw0WfF0JGPKn
Content-Type: multipart/mixed; boundary="------------IaIdrhUH2sQEjvxO5iqvT9Ba";
protected-headers="v1"
From: Paul Sopka
To: supervision@list.skarnet.org, Laurent Bercot
Message-ID: <261837cb-6c20-4dc7-b3f0-c9423229447d@sopka.ch>
Subject: Re: Scripting Stage 3 and 4
References: <1dcb4b00-db5d-49bd-8598-fd6b2e5febdd@sopka.ch>
<9ec5e5f1-35f9-4e6b-abd0-79299779b515@sopka.ch>
In-Reply-To:
--------------IaIdrhUH2sQEjvxO5iqvT9Ba
Content-Type: multipart/mixed; boundary="------------a7uvjvRrlivGOy4LuqoBXMoL"
--------------a7uvjvRrlivGOy4LuqoBXMoL
Content-Type: multipart/alternative;
boundary="------------5DcmGl6o4fNi2AcC2gJcHDWB"
--------------5DcmGl6o4fNi2AcC2gJcHDWB
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64
PiDCoFdpdGggbm8gdHR5PyBhbmQgbm90IGV2ZW4gYSByZWRpcmVjdGlvbiBmcm9tL3RvIC9k
ZXYvY29uc29sZT8gVGhhdCdzDQo+IGdvaW5nIHRvIGJlIGEgdG91Z2ggcmVjb3Zlcnkg8J+Y
iQ0KSSB0b29rIHJlZGlyZWN0aW9uIGZyb20vdG8gL2Rldi9jb25zb2xlIGZvciBncmFudGVk
IHhELCBhZnRlciBhbGwgd2hhdCBJIA0Kd3JvdGUgYXMgb25seSBwYXJ0IG9mIGEgbGFyZ2Vy
IHNjcmlwdC4NCg0KPiDCoEFuZCBzdXJlLCB5b3UgY291bGQgd3JhcCBhbGwgeW91ciBjb21t
YW5kcyBpbiBhIGJpZyBpZiBibG9jay4gQnV0IG15DQo+IHBvaW50IGlzIHRoYXQgdGhlc2Ug
YXJlICp0aGluZ3MgeW91IG5lZWQgdG8gdGhpbmsgYWJvdXQqLiBJJ2QgcmF0aGVyDQo+IG5v
dCBoYXZlIHRvIHRoaW5rIGFib3V0IG5ldyB0aGluZ3MgYXQgc2h1dGRvd24gdGltZSB3aGVu
IEkgZG9uJ3QgaGF2ZQ0KPiB0by4gV2h5IGNoYW5nZSBzb21ldGhpbmcgYW5kIGR1cGxpY2F0
ZSBsb2dpYyB3aGVuIHlvdSBjb3VsZCBqdXN0IGRvDQo+IG5vdGhpbmcgYW5kIGtlZXAgd2hh
dCdzIGFscmVhZHkgd29ya2luZyBhbmQgaGFzIHdvcmtlZCBmb3IgdGhlIHdob2xlDQo+IGxp
ZmV0aW1lIG9mIHRoZSBtYWNoaW5lPyANClNvIHlvdSBtZWFuIHJhdGhlciB0aGFuICh0byBx
dW90ZSBteXNlbGYpOg0KPiB8IGlmIC1uIHsgbW91bnQgLW8gcmVtb3VudCxybyAvIH0NCj4g
fCBmb3JlZ3JvdW5kIHsgczYtc3ZjIC1VIC9ydW4vc2VydmljZS9yZWNvdmVyeSB9IA0KWW91
IHdvdWxkIGp1c3Qgbm90IHRlYXIgZG93biBvbmUgdHR5IChlLmcuIDEyKSBvciBhICJtaW5p
bWFsIHJlY292ZXJ5IA0Kc3NoIHNlcnZlciBsaXN0ZW5pbmcgb24gYW4gdW51c3VhbCBwb3J0
Ij8NCg0KPiDCoFRoZSBrZXkgdG8gdW5kZXJzdGFuZGluZyBob3cgdG8gbWFuYWdlIGEgc2h1
dGRvd24sIEkgdGhpbmssIGlzIHRvDQo+IHJlYWxpemUgdGhhdCBib290IGFuZCBzaHV0ZG93
biAqYXJlIG5vdCBzeW1tZXRyaWNhbCosIGFuZCBzbywgZG8gbm90DQo+IG5lZWQgdG8gYmUg
aGFuZGxlZCBpbiBhIHN5bW1ldHJpY2FsIHdheS4gQmVjYXVzZSB5b3Ugc2V0IHVwIGENCj4g
c3VwZXJ2aXNpb24gdHJlZSBhdCBib290IHRpbWUgZG9lcyBub3QgbWVhbiB5b3UgbmVlZCB0
byBnZXQgcmlkIG9mIGl0DQo+IGF0IHNodXRkb3duIHRpbWUuDQo+DQo+IMKgV2hlbiB5b3Ug
Ym9vdCwgeW91J3JlIHN0YXJ0aW5nIGZyb20gKm5vdGhpbmcqLCBhbmQgeW91IG5lZWQgdG8g
YnVpbGQNCj4gdXAgdG8gYSBzdGF0ZSB3aGVyZSB0aGUgbWFjaGluZSBpcyBmdW5jdGlvbmFs
IGFuZCBhYmxlIHRvIHJ1biBzZXJ2aWNlcywNCj4gdGhhdCdzIHdoeSBpdCdzIGluY3JlbWVu
dGFsIGFuZCBkZWxpYmVyYXRlIGFuZCBlbGFib3JhdGUuIEl0IGlzDQo+IGxpdGVyYWxseSBh
IGJvb3RzdHJhcCBwcm9jZXNzIHRoYXQgbmVlZHMgcHJlY2lzZSBvcmRlcmluZy4NCj4NCj4g
wqBXaGVuIHlvdSBzaHV0ZG93biwgeW91J3JlIHN0YXJ0aW5nIGZyb20gYSBzdGF0ZSB3aGVy
ZSBldmVyeXRoaW5nIGlzDQo+IGFscmVhZHkgd29ya2luZywgc28geW91IGNhbiByZWx5IG9u
IG1hbnkgbW9yZSBmZWF0dXJlcywgYW5kIHlvdSdyZSBub3QNCj4gdHJ5aW5nIHRvIGJ1aWxk
IGFueXRoaW5nLCB5b3UncmUganVzdCB0cnlpbmcgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IG9m
DQo+IHBlcm1hbmVudCBzdGF0ZSAoYWthIGRpc2spIGJlZm9yZSB5b3UgcHVsbCB0aGUgcGx1
Zy4gSXQncyB0aGUgb25seQ0KPiB0aGluZyB0aGF0IG1hdHRlcnMuIElmIHlvdSB3ZXJlIG9u
bHkgZXZlciBvcGVyYXRpbmcgaW4gUkFNLCBzdGFydGluZw0KPiBmcm9tIFJPTSAvIHJvIGRp
c2ssIGFuZCBuZXZlciBoYWQgYW55IG11dGFibGUgcGVybWFuZW50IHN0YXRlLCB5b3VyDQo+
IHNodXRkb3duIHByb2NlZHVyZSBjb3VsZCBqdXN0IGJlIGFuIGltbWVkaWF0ZSByZWJvb3Qo
KSwgb3IgcHJlc3NpbmcNCj4gdGhlIHBvd2VyIG9mZiBidXR0b247IGl0IGlzIHRoZSBjYXNl
IGZvciBzb21lIGVtYmVkZGVkIGRldmljZXMuIEJ1dA0KPiB3aXRoIG11dGFibGUgcGVybWFu
ZW50IHN0YXRlLCB3ZSBuZWVkIHRvIGJlIG1vcmUgY2FyZWZ1bCwgdGhhdCdzIHdoeQ0KPiB3
ZSBzaHV0IGRvd24gc2VydmljZXMgaW4gYW4gb3JkZXJlZCB3YXksIGFuZCB0aGVuIG1ha2Ug
c3VyZSB3ZSBjYW4NCj4gdW5tb3VudCB0aGUgZmlsZXN5c3RlbXMgYmVmb3JlIHBvd2VyaW5n
IG9mZi4gSXQncyB0aGUgKm9ubHkqIHJlYXNvbjsNCj4gYXBhcnQgZnJvbSB0aGF0LCB5b3Ug
Y2FuIGRvIHdoYXRldmVyIHlvdSB3YW50LiBXaG8gY2FyZXM/IHRoZSBzeXN0ZW0gaXMNCj4g
Z29pbmcgdG8gYmUgZG93biBhbnl3YXkuIFdoZW4gdGhlIEFybWFnZWRkb24gY29tZXMsIHlv
dSB3YW50IHRvIG1ha2UNCj4gc3VyZSB0aGUgdGltZSBjYXBzdWxlcyBhcmUgd2VsbCBzZWFs
ZWQgYW5kIGJ1cmllZCBmb3IgdGhlIG5leHQNCj4gY2l2aWxpemF0aW9uIHRvIGZpbmQsIGJ1
dCB5b3UgZG9uJ3QgaGF2ZSB0byBjbGVhbiB5b3VyIHJvb20uDQo+DQo+IMKgU28gdGhlIGdv
YWxzIG9mIGJvb3QgYW5kIHNodXRkb3duIGFyZSB2ZXJ5IGRpZmZlcmVudC4NCj4NCj4gwqBJ
IHNwZWNpZmljYWxseSBkZXNpZ25lZCBzNi1saW51eC1pbml0IHNvIGl0IHdvdWxkIG5vdCBz
dG9yZSBhbnkgdml0YWwNCj4gaW5mb3JtYXRpb24gaW4gcGVybWFuZW50IG11dGFibGUgc3Rh
dGUsIGFuZCB3b3VsZCBub3QgaG9sZCBhbnkgd3JpdGluZw0KPiBmZCBvbiBhIGZpbGVzeXN0
ZW0uIFRoYXQgbWVhbnMgczYgd2lsbCBub3QgcHJldmVudCB5b3UgZnJvbSB1bm1vdW50aW5n
DQo+IHlvdXIgZmlsZXN5c3RlbXMsIHBhcmtpbmcgeW91ciBkaXNrcywgd2hhdGV2ZXIgLSBh
bmQgdGhhdCB0aGUNCj4gc3VwZXJ2aXNpb24gdHJlZSBjYW4ga2VlcCBydW5uaW5nIHVudGls
IHlvdSBwdWxsIHRoZSBwbHVnLiBJdCBpcw0KPiBkZXNpZ25lZCB0byBoZWxwIHlvdSB3aGls
ZSB0aGUgbWFjaGluZSBpcyBydW5uaW5nLCBhbmQgKmVzcGVjaWFsbHkqDQo+IGluIGRlbGlj
YXRlIHNpdHVhdGlvbnMgd2hlcmUgeW91J3JlIGtpbGxpbmcgdGhpbmdzIGFuZCB3YW50IHRv
IGJlIHN1cmUNCj4geW91IGNhbiByZWNvdmVyIGlmIHNvbWV0aGluZyBnb2VzIHdyb25nIHJh
dGhlciB0aGFuIGJyaWNrIHRoZSBzeXN0ZW0uDQo+IFRoYXQncyB3aHkgSSdtIHNheWluZyBp
dCdzIGxlc3MgZWZmb3J0IHRvIGtlZXAgaXQgaW4gcGxhY2UgYW5kIHdvcmsNCj4gd2l0aCBk
aXNhYmxpbmcgc3VwZXJ2aXNpb24gd2hlbiBpdCBuZWVkcyB0byBiZSBkaXNhYmxlZCwgdGhh
biB0bw0KPiBkaXNtYW50bGUgdGhlIHN1cGVydmlzaW9uIHRyZWUgYW5kIGhhdmUgdG8gcmVp
bXBsZW1lbnQgcmVjb3ZlcnkgbG9naWMuIA0KVmVyeSBpbnRlcmVzdGluZywgdGhhbmsgeW91
IHZlcnkgbXVjaCBmb3IgdGhpcyBkZXRhaWxlZCByZXNwb25zZSwgSSANCmZ1bGx5IGFncmVl
IQ0KSSB0aGluayBpdCBtaWdodCBiZSB3b3J0aCBwdXR0aW5nIHRoaXMgb24gdGhlIHBhZ2Ug
SSBjaXRlZCBpbiB0aGUgZmlyc3QgDQptYWlsLg0KDQo+PiB8IGlmIC1uIHsgbW91bnQgLW8g
cmVtb3VudCxybyAvIH0NCj4+IHwgZm9yZWdyb3VuZCB7IHM2LXN2YyAtVSAvcnVuL3NlcnZp
Y2UvcmVjb3ZlcnkgfQ0KPg0KPiDCoFlvdSBqdXN0IHRvcmUgZG93biB0aGUgc3VwZXJ2aXNp
b24gdHJlZSwgYW5kIHlvdSB3YW50IHRvIHN0YXJ0IGENCj4gcmVjb3ZlcnkuLi4gc2Vydmlj
ZT8gOkQgDQoNClRoaXMgd2FzIG1lYW50IGZvciB0aGUgYXBwcm9hY2ggb2Yga2VlcGluZyB0
aGUgc3VwZXJ2aXNpb24gdHJlZSwNCnRvIGJlIHJhbiBieSB0aGUgc2h1dGRvd24gc2Vydmlj
ZS4NCkJ1dCBub3cgaXQgc2VlbXMgdG8gbWUgdGhhdCBpdCB3b3VsZCBiZSBhbm90aGVyIGNh
c2Ugb2YNCg0KPiAqdGhpbmdzIHlvdSBuZWVkIHRvIHRoaW5rIGFib3V0Kg0KU28sIEkgZ3Vl
c3MgaXQgd291bGQgYmUgYmV0dGVyIHRvIGhhdmUgYSByZWNvdmVyeSBzZXJ2aWNlIHJpZ2h0
IGF3YXkgYW5kIA0Kbm90IHN0b3AgaXQsDQpsaWtlIEkgc3VnZ2VzdGVkIGF0IHRoZSBzdGFy
dCBvZiB0aGlzIG1haWw/DQoNCkZpbmFsbHksIHdvdWxkbid0IGF0IGxlYXN0IG9uZSAiaWYi
IGJlIGFwcHJvcHJpYXRlLA0KdG8gYmUgc3VyZSB3aGV0aGVyIGV2ZXJ5dGhpbmcgaXMgdW5t
b3VudGVkIHByb3Blcmx5Pw0KDQoNClJlZ2FyZHMsDQoNClBhdWwNCg0K
--------------5DcmGl6o4fNi2AcC2gJcHDWB
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
=C2=A0With no tty? and not even a redirec=
tion
from/to /dev/console? That's
going to be a tough recovery =F0=9F=98=89
I took redirection from/to /dev/console for granted xD, after all
what I wrote as only part of a larger script.
=C2=A0And sure, you could wrap all your
commands in a big if block. But my
point is that these are *things you need to think about<=
span
class=3D"moz-txt-tag">*. I'd rather
not have to think about new things at shutdown time when I don't
have
to. Why change something and duplicate logic when you could just
do
nothing and keep what's already working and has worked for the
whole
lifetime of the machine?
So you mean rather than (to quote myself):
| if -n { mount -o remount,ro / }
| foreground { s6-svc -U /run/service/recovery }
You would just not tear down one tty (e.g. 12) or a "minimal
recovery ssh server listening on an unusual port"?
=C2=A0The key to understanding how to man=
age a
shutdown, I think, is to
realize that boot and shutdown *are not symmetrical*, and so, do not
need to be handled in a symmetrical way. Because you set up a
supervision tree at boot time does not mean you need to get rid
of it
at shutdown time.
=C2=A0When you boot, you're starting from *nothing*,
and you need to build
up to a state where the machine is functional and able to run
services,
that's why it's incremental and deliberate and elaborate. It is
literally a bootstrap process that needs precise ordering.
=C2=A0When you shutdown, you're starting from a state where
everything is
already working, so you can rely on many more features, and
you're not
trying to build anything, you're just trying to ensure
consistency of
permanent state (aka disk) before you pull the plug. It's the
only
thing that matters. If you were only ever operating in RAM,
starting
from ROM / ro disk, and never had any mutable permanent state,
your
shutdown procedure could just be an immediate reboot(), or
pressing
the power off button; it is the case for some embedded devices.
But
with mutable permanent state, we need to be more careful, that's
why
we shut down services in an ordered way, and then make sure we
can
unmount the filesystems before powering off. It's the *only=
* reason;
apart from that, you can do whatever you want. Who cares? the
system is
going to be down anyway. When the Armageddon comes, you want to
make
sure the time capsules are well sealed and buried for the next
civilization to find, but you don't have to clean your room.
=C2=A0So the goals of boot and shutdown are very different.
=C2=A0I specifically designed s6-linux-init so it would not store=
any
vital
information in permanent mutable state, and would not hold any
writing
fd on a filesystem. That means s6 will not prevent you from
unmounting
your filesystems, parking your disks, whatever - and that the
supervision tree can keep running until you pull the plug. It is
designed to help you while the machine is running, and *espe=
cially*
in delicate situations where you're killing things and want to
be sure
you can recover if something goes wrong rather than brick the
system.
That's why I'm saying it's less effort to keep it in place and
work
with disabling supervision when it needs to be disabled, than to
dismantle the supervision tree and have to reimplement recovery
logic.
Very interesting, thank you very much for this detailed response,
I fully agree!
I think it might be worth putting this on the page I cited in the
first mail.
| if -n { mou=
nt
-o remount,ro / }
| foreground { s6-svc -U /run/service/recovery }
=C2=A0You just tore down the supervision tree, and you want to st=
art
a
recovery... service? :D
This was meant for the approach of keeping the supervision tree,
to be ran by the shutdown service.
But now it seems to me that it would be another case of
*things you need to think about<=
span
class=3D"moz-txt-tag">*
So, I guess it would be better to have a recovery service right
away and not stop it,
like I suggested at the start of this mail?
Finally, wouldn't at least one "if" be appropriate,
to be sure whether everything is unmounted properly?
Regards,
Paul
--------------5DcmGl6o4fNi2AcC2gJcHDWB--
--------------a7uvjvRrlivGOy4LuqoBXMoL
Content-Type: application/pgp-keys; name="OpenPGP_0x71C7C85A2EA30F62.asc"
Content-Disposition: attachment; filename="OpenPGP_0x71C7C85A2EA30F62.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
8QRhtw=3D=3D
=3Dhu4K
-----END PGP PUBLIC KEY BLOCK-----
--------------a7uvjvRrlivGOy4LuqoBXMoL--
--------------IaIdrhUH2sQEjvxO5iqvT9Ba--
--------------yry0Yd10H8zZhw0WfF0JGPKn
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"
-----BEGIN PGP SIGNATURE-----
wsF5BAABCAAjFiEEklpwGqZx1YzBW1hqccfIWi6jD2IFAmeCix4FAwAAAAAACgkQccfIWi6jD2LG
fg/8CUl3i6ZKxcNuEZcpM0Ehvm/Vi2g56xZxq7P7N8dDFBYT9rZq9LERPUGLskLxyh9r9hHVe/nz
Zdt8UUgNSu0YE2rpQb7ifAlFN7yQ+uRDgspKvUIwVtFL/zRMP59qkvdXuLMhTmTPMvbKIS8qdKkH
RwsHvFlkwyNkC+mQ28Wrvgoi5z68TQQFKK4NlBJLCh4IqF7wy1i1TpDQjNYIizPqxKhFH9NxTUTc
lMjbpi2KdRNiMCYWRTl3Yp6k1wZ8aZqqlSoEVHYb7HvEHvp95uzhErVR2EUgkfcXoLbFKpxCYIEz
svvnEcyP6Ebr/laUVfdu6Xa/QqKgvjfa0LDdsV/rF0+Tp6bX3qT9nhogIeGtdiitteP8a4yCwVQl
HdfuDfOzKN5dLjR6WatBiM6cOr0A/Xn+UPcq3ssiMcL3W+u8EmhbTWcUPHS0mwV2s1ZR8hRvGntA
AgejV8fXZkBTvxpGrD49iyB3ojGtRuyNAIxtaeyxSPZesn59DNg+HCOYKjqsmP6xehREnk3TWgjy
9GuoAwLehXGFvY3ojoIhS6Oox0kxM7uYUmnjlkWCl3D4DmyKKctSX0H5NpTtPNDUhUjVYCSMPrl+
37dGRtKwHxLqUZkH+7co2B1iAiFoK6hr6yiHvDjF+Ji9mh2dq3CeuasaQX+p2BvbXti77aC8xmfO
kGo=
=ge2p
-----END PGP SIGNATURE-----
--------------yry0Yd10H8zZhw0WfF0JGPKn--