Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127705 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 2D1A41A00BC for ; Wed, 18 Jun 2025 11:18:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1750245405; bh=Qm0FIW+2oAf/3Z3+MhbIy7w9Ae/99mtlo6f/PCp0nww=; h=Date:Subject:To:References:From:In-Reply-To:From; b=V44a/zgH5fJcqplMEtrY7tBdTLVn5HnpGwHLSrno7QkKCgpfnmLdBXOOG91PxP8Xf vM3I0l69DyovmIxDEG0QqYsZBEGLkvS1mBXi8spUzSPzfGIUZB0EC1KylXq/w5uMvD w9HHPYMf30xnHZvw9xtrgc2Gw+L3eDj1itfxM/9kBUPkbhxTfqusfwlanJBfKX5BiI cZKvaXwjo7sCmXk/PDIrEO/PdHj2XnFeb1HH3PZKyrDV1f6EQYgSUH+CbRQYz3auJu ttiOlAlwHYudisQhjbCSfvtSF5iXKwKXtUapx2k3KoP2uLXkICthlpRXGfLQs49Dqa esGtkCKtbc3NQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B858A1801DA for ; Wed, 18 Jun 2025 11:16:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_20,DKIM_INVALID, DKIM_SIGNED,DMARC_MISSING,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from wp160.webpack.hosteurope.de (wp160.webpack.hosteurope.de [80.237.132.167]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 18 Jun 2025 11:16:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mabe.berlin ; s=he194859; h=Content-Type:In-Reply-To:From:References:To:Subject: MIME-Version:Date:Message-ID:From:Sender:Reply-To:Subject:Date:Message-ID:To: Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=tUsykahzf/nbo/z/TnnoLf2LVeEnVhNjsY0K2fI3JvI=; t=1750245522; x=1750677522; b=E6YQE84qslliIWCMACrefehWiMc+bRJdBlc5sdiUl7QlK/7l5878Ij8vsGH6dWAoBpVSL4XdP8c hVQhOD9MfMm1aYP22AXaqJGir38GwDzXmkbteWV5fgN2dU2L4cRhyPd4ZyLEkZwI4r4I3KteaTVAT Say3HrP0jpGgzxmtee2IWaqEdP38BJCYb1GREZduamRQSiwieSssDBKgSDayXuWeo4weJqzwBjI5G T3PdvoDkIiBHphT22ztvBLWEhk74Or3dsm85GNFwNiBogS1thduusLupwiW+sIevPMfkDbxwTNBhx fOBQJd5rUxCe5EL5yTB5xiRFc4kUVcBPvtYA==; Received: from [2a02:8109:b300:8f00:2e29:409e:e6b0:b136]; authenticated by wp160.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128) id 1uRqoT-0001ap-1J; Wed, 18 Jun 2025 13:18:41 +0200 Message-ID: <4b5da64c-36b9-49db-8ec4-3247e05bf286@mabe.berlin> Date: Wed, 18 Jun 2025 13:18:40 +0200 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] Year 2038 issue To: internals@lists.php.net References: <576B21BE-D5ED-49EB-99D9-731F89DF4DAA@garsi.de> Content-Language: en-US Autocrypt: addr=marc@mabe.berlin; keydata= xsBNBFby8roBCAD4qHjbk9+V3SmB5DfpkTtX58jYJ9VXVfF54MDoI0fQiYvKyrrghfO78alH c12RsEZxLH2F5kEfu8WO4wA4apg2gBnRRxqPj7krsct1ySOAdMrRVp8Wtaeaznpdcn2gJZyA MSI6LTzebT25N77ksvSrUi1BuCKyOa7SmYff3xGgOwYsHQlT5opMNGPCVegiPmO/K37anwts gj6L7RVtjXtp2Z3wAs6r3EmO318PL48xDLUgYMvEFAPJglth5FGH2En6n6HFIhxh43LqXQiN eHVjLjS2y8huNBswwc9ZVxk3ip5z/GCmpWnNkgGBOSJ7loJRsq2tOaU6yU8KWb5rhOoFABEB AAHNIU1hcmMgQmVubmV3aXR6IDxtYXJjQG1hYmUuYmVybGluPsLAeAQTAQIAIgUCVvLyugIb AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQOTar91O8iM6jzggAwvV6MqU/hcAI6ldp xVjucGz2J9cAWtva8GL+rm9zvEs7EENtamehJiZob/CTw50WiI/zsJzPblktpT0D2AFBEp9k P5/8CmCpZzxYPsxnLtsFM52fOBpO+aP0PSStBpJjndjBH7HPqKcTCXM3ZM+SL6lyRweAJR7G +JXIZbuUrbjB2lbGx3itNZ6TeXqqnE6KTXNKLEbNHfVdzE4sPDkmuZRo/M2h+gmeS1iQb29W BmhvL6czugCQI9rYl7C4Nci9wPii1lTYyfCWQfQKID4/F2HiOv+N/vDMCK1xV8TUeCy8w4X+ nYj+wDog046ki9lUM60oPij6WoSJLqfsXr1kNc7ATQRW8vK6AQgAq7QYLB1Dz+8RSi5AGJP1 tOFQXtcxyOhNVQZsI1mCQiHay4wteQ+5m4EOUuR+FrFIlnbSrPdTkKD2wvQDHVqpZivThBpJ vara/ick0wi2R3dasu1sPMu1P6h1EwUsydhviNJB07aLfPAWD6eoqmGTd8236znIIq7mbnNp OnxIQxviTyELUekrNw38uQtVzR6XZv9PAThA2o1J1JZID7QUpKcNyo9ebYlwxyS+xzhA4DLD qfD6O5sKoKvxEf2fIZeP0ETPpHNYk0WiWnmNoPy8eEY07LriYALVidBwPBcxus0wGoKf8Nun y2aE13SHmj0ioBI1bXMGJx3hEbvzXK6WrwARAQABwsBfBBgBAgAJBQJW8vK6AhsMAAoJEDk2 q/dTvIjOkowIAI70P8U4j3eqyK/7x1bnCZZRcpwZ1aH+LR1yMKTINo9NDqlOBWQTLT69YMfV 4UN+nTSiD/uLw1fSeLSzBwpoalCMLPVOX/d3Mq5JtL5cKtWUTIVf3Vb7VbN4Rvb8HgWjeSnM 1PiG9yQBmLKI68sG/gdgvA/xANdUatkDgG0yj8PCdt+Vy4EblXbIAXZXJ6eRugSKowTjst7i HXKOJxivomHFcmqmkiqjwGTGx/jrhbDtEpPDRk+U9W45D4CbUcyPR6lMSrje5JPGQDv/45M5 wPe286YelBjnb0cWRJpA7GZCWDKZOsQ2H6cCRBi8i4m+vfRk7GLA536XnmvWxKFVP9U= In-Reply-To: <576B21BE-D5ED-49EB-99D9-731F89DF4DAA@garsi.de> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------T1R8ngA0ymAZfICuUjOgefgs" X-bounce-key: webpack.hosteurope.de;marc@mabe.berlin;1750245522;e34f6bd9; X-HE-SMSGID: 1uRqoT-0001ap-1J From: marc@mabe.berlin (Marc Bennewitz) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------T1R8ngA0ymAZfICuUjOgefgs Content-Type: multipart/mixed; boundary="------------pz80UW2P0FouaVDePc58NV40"; protected-headers="v1" From: Marc Bennewitz To: internals@lists.php.net Message-ID: <4b5da64c-36b9-49db-8ec4-3247e05bf286@mabe.berlin> Subject: Re: [PHP-DEV] Year 2038 issue References: <576B21BE-D5ED-49EB-99D9-731F89DF4DAA@garsi.de> In-Reply-To: <576B21BE-D5ED-49EB-99D9-731F89DF4DAA@garsi.de> --------------pz80UW2P0FouaVDePc58NV40 Content-Type: multipart/mixed; boundary="------------sZUPZyJy3RjxoopnrPnfP6Th" --------------sZUPZyJy3RjxoopnrPnfP6Th Content-Type: multipart/alternative; boundary="------------2ZHxrBifU9oEAWFRhgYIdVFS" --------------2ZHxrBifU9oEAWFRhgYIdVFS Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAxNi4wNi4yNSAxOTowMSwgWW9nYXJpbmUgd3JvdGU6DQo+IEhpIGFsbCwNCj4NCj4g T24gMTYgSnVuIDIwMjUsIGF0IDE3OjI0LCBSb2IgTGFuZGVyczxyb2JAYm90dGxlZC5jb2Rl cz4gd3JvdGU6DQo+Pg0KPj4NCj4+IE9uIE1vbiwgSnVuIDE2LCAyMDI1LCBhdCAxNjo1NCwg QWxleGFuZHJ1IFDEg3RyxINuZXNjdSB3cm90ZToNCj4+Pg0KPj4+DQo+Pj4gT24gTW9uLCBK dW4gMTYsIDIwMjUgYXQgNDowM+KAr1BNIE1hcmMgQmVubmV3aXR6PG1hcmNAbWFiZS5iZXJs aW4+IHdyb3RlOg0KPj4+IEhpIGFsbCwNCj4+Pg0KPj4+IEl0J3MgMTIuNSB5ZWFycyBvbmx5 IHVudGlsIHRoZSB0aW1lc3RhbXBzIGluIFBIUCBvbiAzMmJpdCB3aWxsIG5vdCB3b3JrDQo+ Pj4gYXMgZXhwZWN0ZWQgYW55bW9yZS4NCj4+Pg0KPj4+DQo+Pj4gSGksDQo+Pj4NCj4+PiBJ IHRoaW5rIHRoYXQgbWF5YmUgd2UgY2FuIGFscmVhZHkgZGVwcmVjYXRlIHN1cHBvcnRpbmcg MzIgYml0IGJ1aWxkcy4NCj4+PiBBbmQsIG1heWJlIHdpdGggUEhQIDksIG9yIFBIUCAxMCwg b3Igd2l0aCBhIGZ1dHVyZSB2ZXJzaW9uIHRoYXQgbWlnaHQgZXhpc3QgaW4gYWJvdXQgNi83 IHllYXJzLCBjb21wbGV0ZWx5IGRyb3AgMzIgYml0cyBzdXBwb3J0Lg0KPj4+DQo+Pj4gQXMg ZmFyIGFzIEkgY2hlY2tlZCBhIGJpdCwgYWxsIG1ham9yIE9TcyB3aGVyZSBQSFAgY291bGQg cnVuIGFscmVhZHkgZHJvcHBlZCBvciB3aWxsIGRyb3Agc3VwcG9ydCBmb3IgMzIgYml0cyBi dWlsZHMuDQo+Pj4gSSBleHBlY3QgdGhhdCBhdCBzb21lIHBvaW50IGV2ZW4gdGhlIGxpbnV4 IGtlcm5lbCB3aWxsIGRyb3Agc3VwcG9ydC4NCj4+Pg0KPj4+IFRoZSBpbXBhY3RlZCBydW50 aW1lcyB3aWxsIHByb2JhYmx5IGJlIHZlcnkgbG93Lg0KPj4+DQo+Pj4gLS0gDQo+Pj4gQWxl eA0KPj4+DQo+PiAxMDAlIGFncmVlLiBXZSBhcmUgYWxyZWFkeSBydW5uaW5nIG91dCBvZiBz cGFjZSBvbiBzb21lIGJpdG1hc2tzICh0aGVyZSBhcmUgYSBjb3VwbGUgd2l0aCBleGFjdGx5 IG9uZSBiaXQgbGVmdCwgb3IgZXZlbiBub25lIGluIHRoZSBjYXNlIG9mIEdDIGZsYWdzKSBm b3IgMzIgYml0IHN1cHBvcnQuDQo+Pg0KPj4g4oCUIFJvYg0KPiBJJ20gcmVtaW5kZWQgb2Yg YSByZWNlbnQgY29tbWVudCBieSBEZXJpY2suIEhlIG1lbnRpb25lZCB0aGF0IHVzdWFsbHkg aWYgYSBmdW5jdGlvbiBjYW4ndCBiZSBwcm92aWRlZCBvbiBhIHNwZWNpZmljIHBsYXRmb3Jt IG9yIFNBUEksIHRoYXQgZnVuY3Rpb24gaXMgZGlzYWJsZWQgZm9yIHRoYXQgZW52aXJvbm1l bnQgc3BlY2lmaWNhbGx5LiBUaGlzIGFsbG93cyBmb3IgYSBwb2x5ZmlsbCB0byBwcm92aWRl IGFuIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uLiAoZS5nLiBgZ2V0YWxsaGVhZGVycygp YCkNCj4NCj4gQ29uc2lkZXJpbmcgMzItYml0IGJ1aWxkcyB3aWxsIG5vdCBiZSBhYmxlIHRv IHJlbGlhYmxlIHByb3ZpZGUgdGhlIGBkYXRlKClgIGZ1bmN0aW9uIGF0IHNvbWUgcG9pbnQs IHdoYXQgaWYgd2UgZGVwcmVjYXRlLCBhbmQgbGF0ZXIgZGlzYWJsZSwgdGhlc2UgaW50ZWdl ciBkYXRlIGZ1bmN0aW9ucyBvbiAzMi1iaXQgYnVpbGRzIHNwZWNpZmljYWxseT8gVGhpcyB3 b3VsZCBoYXZlIDAgaW1wYWN0IGZvciA2NC1iaXQgdXNlcnMgYW5kIHByb3ZpZGUgYSBtZWFu cyBmb3IgdXNlcnMgb24gbGVnYWN5IG9yIGVtYmVkZGVkIHN5c3RlbXMgdG8gdXNlIGFuIGFs dGVybmF0aXZlIGltcGxlbWVudGF0aW9uICh0aGF0IHBlcmhhcHMgdXNlcyBhIGN1c3RvbSBV bml4IGVwb2NoLCBvciBudW1lcmljIHN0cmluZ3Mgwq9cXyjjg4QpXy/CrykuDQoNCkl0J3Mg YSBsb25nIGxpc3Qgb2YgZGF0ZSBmdW5jdGlvbnMgYWxyZWFkeSAoc2VlIG15IGZpcnN0IG1h aWwpIGFuZCBvbiANCmxvb2tpbmcgZGVlcGVyIGludG8gZGV0YWlsIGl0J3Mgbm90IGxpbWl0 ZWQgdG8gdGhlIGRhdGUgZXh0ZW5zaW9uLiBTYW1lIA0KaXNzdWVzIGhhcHBlbiBvbiBhIHdp ZGUgcmFuZ2Ugb2Ygc3RhbmRhcmQgZnVuY3Rpb25zIGxpa2UgImZpbGVtdGltZSIgb3IgDQoi b3BjYWNoZV9nZXRfc3RhdHVzIi4gU3BlY2lmaWNhbGx5IGV2ZXJ5d2hlcmUgd2hlcmUgYSB0 aW1lc3RhbXAgaXMgDQppbnZvbHZlZC4gTm90IGV2ZW4gdGFsa2luZyBhYm91dCB0aGUgYWxy ZWFkeSBrbm93biBiZWhhdmlvciBkaWZmZXJlbmNlcyANCm9mIGZ1bmN0aW9ucyBsaWtlICJj cmMzMiIuDQoNCj4gQWx3aW4NCg== --------------2ZHxrBifU9oEAWFRhgYIdVFS Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 16.06.25 19:01, Yogarine wrote:
=
Hi all,

On 16 Jun 2025, at 17:24, Rob Landers <rob@bottled.codes> wrote:


On Mon, Jun 16, 2025, at 16:54, Alexandru P=C4=83tr=C4=83nescu wrote:


On Mon, Jun 16, 2025 at 4:03=E2=80=AFPM Marc Bennewitz <marc@mabe.berlin>=
; wrote:
Hi all,

It's 12.5 years only until the timestamps in PHP on 32bit will not work=20
as expected anymore.


Hi,

I think that maybe we can already deprecate supporting 32 bit builds.
And, maybe with PHP 9, or PHP 10, or with a future version that might exi=
st in about 6/7 years, completely drop 32 bits support.

As far as I checked a bit, all major OSs where PHP could run already drop=
ped or will drop support for 32 bits builds.
I expect that at some point even the linux kernel will drop support.

The impacted runtimes will probably be very low.

--=20
Alex

100% agree. We are already running out of space on some bitmasks (there a=
re a couple with exactly one bit left, or even none in the case of GC fla=
gs) for 32 bit support.

=E2=80=94 Rob
I'm reminded of a recent comment by Derick. He mentioned that usually if =
a function can't be provided on a specific platform or SAPI, that functio=
n is disabled for that environment specifically. This allows for a polyfi=
ll to provide an alternative implementation. (e.g. `getallheaders()`)

Considering 32-bit builds will not be able to reliable provide the `date(=
)` function at some point, what if we deprecate, and later disable, these=
 integer date functions on 32-bit builds specifically? This would have 0 =
impact for 64-bit users and provide a means for users on legacy or embedd=
ed systems to use an alternative implementation (that perhaps uses a cust=
om Unix epoch, or numeric strings =C2=AF\_(=E3=83=84)_/=C2=AF).

It's a long list of date functions already (see my first mail) and on looking deeper into detail it's not limited to the date extension. Same issues happen on a wide range of standard functions like "filemtime" or "opcache_get_status". Specifically everywhere where a timestamp is involved. Not even talking about the already known behavior differences of functions like "crc32".

Alwin
--------------2ZHxrBifU9oEAWFRhgYIdVFS-- --------------sZUPZyJy3RjxoopnrPnfP6Th Content-Type: application/pgp-keys; name="OpenPGP_0x3936ABF753BC88CE.asc" Content-Disposition: attachment; filename="OpenPGP_0x3936ABF753BC88CE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xsBNBFby8roBCAD4qHjbk9+V3SmB5DfpkTtX58jYJ9VXVfF54MDoI0fQiYvKyrrg hfO78alHc12RsEZxLH2F5kEfu8WO4wA4apg2gBnRRxqPj7krsct1ySOAdMrRVp8W taeaznpdcn2gJZyAMSI6LTzebT25N77ksvSrUi1BuCKyOa7SmYff3xGgOwYsHQlT 5opMNGPCVegiPmO/K37anwtsgj6L7RVtjXtp2Z3wAs6r3EmO318PL48xDLUgYMvE FAPJglth5FGH2En6n6HFIhxh43LqXQiNeHVjLjS2y8huNBswwc9ZVxk3ip5z/GCm pWnNkgGBOSJ7loJRsq2tOaU6yU8KWb5rhOoFABEBAAHNIU1hcmMgQmVubmV3aXR6 IDxtYXJjQG1hYmUuYmVybGluPsLAeAQTAQIAIgUCVvLyugIbAwYLCQgHAwIGFQgC CQoLBBYCAwECHgECF4AACgkQOTar91O8iM6jzggAwvV6MqU/hcAI6ldpxVjucGz2 J9cAWtva8GL+rm9zvEs7EENtamehJiZob/CTw50WiI/zsJzPblktpT0D2AFBEp9k P5/8CmCpZzxYPsxnLtsFM52fOBpO+aP0PSStBpJjndjBH7HPqKcTCXM3ZM+SL6ly RweAJR7G+JXIZbuUrbjB2lbGx3itNZ6TeXqqnE6KTXNKLEbNHfVdzE4sPDkmuZRo /M2h+gmeS1iQb29WBmhvL6czugCQI9rYl7C4Nci9wPii1lTYyfCWQfQKID4/F2Hi Ov+N/vDMCK1xV8TUeCy8w4X+nYj+wDog046ki9lUM60oPij6WoSJLqfsXr1kNc7A TQRW8vK6AQgAq7QYLB1Dz+8RSi5AGJP1tOFQXtcxyOhNVQZsI1mCQiHay4wteQ+5 m4EOUuR+FrFIlnbSrPdTkKD2wvQDHVqpZivThBpJvara/ick0wi2R3dasu1sPMu1 P6h1EwUsydhviNJB07aLfPAWD6eoqmGTd8236znIIq7mbnNpOnxIQxviTyELUekr Nw38uQtVzR6XZv9PAThA2o1J1JZID7QUpKcNyo9ebYlwxyS+xzhA4DLDqfD6O5sK oKvxEf2fIZeP0ETPpHNYk0WiWnmNoPy8eEY07LriYALVidBwPBcxus0wGoKf8Nun y2aE13SHmj0ioBI1bXMGJx3hEbvzXK6WrwARAQABwsBfBBgBAgAJBQJW8vK6AhsM AAoJEDk2q/dTvIjOkowIAI70P8U4j3eqyK/7x1bnCZZRcpwZ1aH+LR1yMKTINo9N DqlOBWQTLT69YMfV4UN+nTSiD/uLw1fSeLSzBwpoalCMLPVOX/d3Mq5JtL5cKtWU TIVf3Vb7VbN4Rvb8HgWjeSnM1PiG9yQBmLKI68sG/gdgvA/xANdUatkDgG0yj8PC dt+Vy4EblXbIAXZXJ6eRugSKowTjst7iHXKOJxivomHFcmqmkiqjwGTGx/jrhbDt EpPDRk+U9W45D4CbUcyPR6lMSrje5JPGQDv/45M5wPe286YelBjnb0cWRJpA7GZC WDKZOsQ2H6cCRBi8i4m+vfRk7GLA536XnmvWxKFVP9U=3D =3Doi2m -----END PGP PUBLIC KEY BLOCK----- --------------sZUPZyJy3RjxoopnrPnfP6Th-- --------------pz80UW2P0FouaVDePc58NV40-- --------------T1R8ngA0ymAZfICuUjOgefgs Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wsB5BAABCAAjFiEENJIbKB0SAX2RmUKbOTar91O8iM4FAmhSoJEFAwAAAAAACgkQOTar91O8iM45 iAgAwvhQXZXfWOra5o9XVyD0XFWXqCEX+EXO2H578h9ByfsU6qEnnYMV6OAKxltwIukGo5boiuQT 7fShy5RiOX5xCwEhgLkBSVQxsboE1WHTH7s6ZEgCcDGlRd77+55dZAIocHpwVSFkwxC2LKnaELxn 2yGnhKGJH5ek2bEQDAx6uGXvq8rIdCCM8Zg2leImHMzg3dIDa5KqaSuUdxGt3jgXH2MLfopSJ3cf LKxNiCDVzmWoubcyt8Fsnc1wiSbqlJRZ9vGiLSMg/G97mnbnh8HpZV8uxxCey+Ol95JqshN/e6wW 2ILGPfBDzefNxBhGJ1Miw4CLR6C0DeDfOtEBVjfHgQ== =M546 -----END PGP SIGNATURE----- --------------T1R8ngA0ymAZfICuUjOgefgs--