libmysqlclient18 removal - replacement

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

libmysqlclient18 removal - replacement

Simon Becherer
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,
today, 16.12.2017
tumbleweed, trying to update from
20171129-0
to
20171214-0
with zypper dup --no-allow-vendor-change

stopping it before starting, because:


will show me a removal of libmysqlclient18 (shared libarys for maria db)

i do not see a automatically installed replacement (looked inside yast software-installation-modul)
searching for provides libmysqlclient - shows me libmariadb-devel and libmariadb3, but
i could not see there the file-list, because only seen when installed.

a) how to check with zypper if there is a replacement?

b) i own a propatery software (lx-fibu) which runs fine with
   a symlink (manual made) from libmysqlclient.so.20 to libmysqlclient.so.18
   (because software normally worked direct with mysql, not with mariadb)

  - if there is no replacement, what did i have to tell the developer
    he has to point to (use instead)?
  - if there is a replacement, where would it be (to make manual a
    symlink to it)


thanks in advance,

simoN







- --
B e c h e r e r GmbH
Sondermaschinenbau
Mauermatten Strasse 22
79183 Waldkirch
Germany

Tel.: (+49) (0)7681 3134
Fax:  (+49) (0)7681 4378
Mail: [hidden email]
Web:  www.becherer.de

USt-ID-Nr.: DE 814912198
Registergericht: Freiburg HRB 701860
Geschäftsführer:
Dipl.-Ing. (FH), EWE   Simon H. Becherer
Gerichtsstand / Sitz: Waldkirch

Es gelten ausschließlich unsere allgemeinen Liefer-
und Zahlungsbedingungen / Einkaufsbedingungen:
www.becherer.de/AGB

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQIcBAEBAgAGBQJaNNB/AAoJEOuDxDCJWQG+8sgP/0Rt5TR5D+q0ylc1HsFHaIlX
7K5TpUBXx+RUTLJnXkJPD1BbZQqp/aMNxQnE/hweUK1dFkV282mkCp6rI/L/LON3
ocK0aa42C4XTXIgpVMU2F2im6qeXcjkCS6vZF41XhPzIJIe7a9M0SVNtqJcD3ZEe
UXrS3FOmCmhaIG1Ra2nF9IH/PZYER/F9sw/cCp14r/SB21OGepzpJ8MGIoaHkZHz
X1lijL3VOZNHlLpS2kIqXSTkWGoJFefJxV6w6dp+BgScyLZlXlFGyxUw2fF1Sjqr
3sUblAIb97Eq4+rQ2x+9NkkhoSRMOzRzmg4XT3C+eklr2E3tDz+bL7zFslur+m7u
6HqI6+DaA43uVhv7NXIXoZIWHSyqLDD6M3jSTl+Gk+J6cQgGIRPUQtUT56jmJ9jl
1oaZDu9yzjytW4Lk1oDOdyFfh4l84TOY86nboU5EogR9c18hjaJXIJO6J776gzC5
BRhyE591iPfp4Lw753l133iUQsM/oloc/6/UYbFzPTHt2692XlRFONRsZH8hPoVl
yyk/ZrDmYFt5BJQ4Bj8WRxz6XhEDUZEuylzqAOu3Bo4iuS+Sx1OLIf8UwxQxz0yO
MIf70ml4KUGlPRaKz3Ix/S5pUyiQAQeCbhQ2jWsv8zkGUsIpNoZKssp8gUcl9a3+
gP+o8P91d5xKDtsB8DG/
=iRU5
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: libmysqlclient18 removal - replacement

Jan Engelhardt-4

On Saturday 2017-12-16 08:51, Simon Becherer wrote:
>
>b) i own a propatery software (lx-fibu) which runs fine with
>   a symlink (manual made) from libmysqlclient.so.20 to libmysqlclient.so.18

That is neither guaranteed nor safe. The library changed its ABI,
and *expressly* told you so (by changing the name). Pretending that 20
is equal to 18 opens you up to crashes, or even silent data corruption.

>  - if there is no replacement, what did i have to tell the developer
>    he has to point to (use instead)?

S/he has to rebuild your software (but see point b) with whatever
MySQL or MariaDB library version s/he has.
Or alternatively, you have to ship all the .so files you used
at the time of building.

>  - if there is a replacement, where would it be (to make manual a
>    symlink to it)

Symlinks are _not_ an appropriate replacement.
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: libmysqlclient18 removal - replacement

Simon Becherer
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thanks for this hint,
but in this special case i do not agree, - if i understood correct:

https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/
"The shared client library is binary compatible with MySQL's client library"
..."All MySQL connectors (PHP, Perl, Python, Java, .NET, MyODBC, Ruby, MySQL C connector etc) work unchanged with MariaDB."

... the newest mysqlclient (in 8/2017) for maria db was .18 the corrospondung of mysql was
20. so the symlink seems to me correct.
...  since 08/2017 working fine FOR ME without any "known" data corruption.

but this was not the main question:

a) what replaces the file "mysqlclient.so.18" (64bit) ?
b) why is this not updated automatically if it was installed already (and will be automatically removed)?
c) how did i find this file using zypper

i tried:
zypper se --provides mysqlclient.so.18
libmariadb3-32bit
libmysqlclient18

so i see only a 32bit package with this. i "think" the "libmariadb3" should have
the corresponding file, but how find this with zypper?


simoN







Am 16.12.2017 um 14:44 schrieb Jan Engelhardt:

>
> On Saturday 2017-12-16 08:51, Simon Becherer wrote:
>>
>> b) i own a propatery software (lx-fibu) which runs fine with a symlink (manual made) from libmysqlclient.so.20 to libmysqlclient.so.18
>
> That is neither guaranteed nor safe. The library changed its ABI, and *expressly* told you so (by changing the name). Pretending that 20 is equal to 18 opens you up to crashes, or even silent data corruption.
>
>> - if there is no replacement, what did i have to tell the developer he has to point to (use instead)?
>
> S/he has to rebuild your software (but see point b) with whatever MySQL or MariaDB library version s/he has. Or alternatively, you have to ship all the .so files you used at the time of building.
>
>> - if there is a replacement, where would it be (to make manual a symlink to it)
>
> Symlinks are _not_ an appropriate replacement.
>

- --
B e c h e r e r GmbH
Sondermaschinenbau
Mauermatten Strasse 22
79183 Waldkirch
Germany

Tel.: (+49) (0)7681 3134
Fax:  (+49) (0)7681 4378
Mail: [hidden email]
Web:  www.becherer.de

USt-ID-Nr.: DE 814912198
Registergericht: Freiburg HRB 701860
Geschäftsführer:
Dipl.-Ing. (FH), EWE   Simon H. Becherer
Gerichtsstand / Sitz: Waldkirch

Es gelten ausschließlich unsere allgemeinen Liefer-
und Zahlungsbedingungen / Einkaufsbedingungen:
www.becherer.de/AGB

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQIcBAEBAgAGBQJaN3LMAAoJEOuDxDCJWQG+iVIQAOkey975+7Rp86JLO2Uy79oN
6XMxML4aZ5MkMRkAPAr5eWArWf6Q996PAulKYWEW64dCLZEls237kvDpobnZQcg8
pB6MGud8me+lAY5g6psIPgrNJxnXXAbaLHH97kZydindQULvoAKq4lulz+MHM+c3
hv7k2bihXqLcyYbxuZyhA5Gwp+kOGEUhGuF6Z/BL/PvgKqlwkEbvpTDfloSxfla9
e7ZWwn70D88RYcQZo1FOKhp0voiMFPwh5ENfl/SZB+U8s2RNLdcM4oTcTvLdJdC0
SqBIcx7Dai3LXfDq9sWg/k1B9OabRxZNbdIOIJS29DT0FWDpORxpbWxo7j3Dg/GO
UBxratOkeBQTNUFjgLNMQgceDAl+DgWYX1NUxxmS4jrS3SH8OORyszjU5/vGGO+K
d76cakSXK+mqNpHkNsrSi6wIy3na+N/dt7nGAlGQhQN4UIMvggSF4YNU/stc23Y0
32QTSgjXzfXhcX+Nf8Vkl5wQVzQ+a3U8SNaNjvukq4cV2YlzthFX00irWKVlzcXK
7dME62NQsk2qRM+5k6q8ly+iVNVQBiMh9axzcVx06zpM+L3WIJG5FGGFt9PsqxhQ
u5aW73FNLNFCpuWwLUJTTHLobVfxtXnISaLBgtM3QSU9EyBA1klngj8wKBuY5H0l
SDZ1EsXnFYZ8lDvwrCOA
=PnJS
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: libmysqlclient18 removal - replacement

Jan Engelhardt-4

On Monday 2017-12-18 08:48, Simon Becherer wrote:
>
>https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/
>"The shared client library is binary compatible with MySQL's client library"
>..."All MySQL connectors (PHP, Perl, Python, Java, .NET, MyODBC, Ruby, MySQL C connector etc) work unchanged with MariaDB."

I have not checked *all* the possibilities, but quite a few.


1.

Distributions can in their free power patch it to a certain degree that makes
it _less_ compatible than what upstream promotes.

That is what happened with mysql-community-server. Comparing Leap 42.3's mysql
with Factory mariadb 10.1 ("libmysql56client.so.18" vs "libmysqlclient.so.18")
shows:

  [C]'function void mysql_close(MYSQL*)' at client.c:3954:1 has some indirect sub-type changes:
    linkage names of function void mysql_close(MYSQL*)
    changed from 'mysql_close@@libmysql56client_18' to 'mysql_close@@libmysqlclient_18, mysql_close@libmysqlclient_16'
    size of symbol (in bytes) changed from 302 to 114,
    its version changed from libmysql56client_18 to libmysqlclient_18

Which means if you had a program which requires the ELF symbol
"mysql_close@libmysqlclient_16" and you attempted this symlink hack, it should
not be able to run on openSUSE's MariaDB, since there is no such symbol
anymore. At least it's a verbose failure when it happens.

(The results were obtained with abigail tools):

  abidiff /var/tmp/jng/D2/home/abuild/rpmbuild/BUILD/mysql-5.6.36/build/libmysql/libmysql56client.so.18.1.0
    /var/tmp/jng/standard-x86_64/home/abuild/rpmbuild/BUILD/mariadb-10.1.25/build/libmysql/libmysqlclient.so.18.0.0


>... the newest mysqlclient (in 8/2017) for maria db was .18 the corrospondung of mysql was
>20. so the symlink seems to me correct.

2.
subtle change(s) from mysql-5.5 (so.18) to mysql-5.7 (so.20), among it for
example:

  type of 'mysql_option st_mysql_options::methods_to_use' changed:
  [..]
    2 enumerator changes:
      'mysql_option::MYSQL_ENABLE_CLEARTEXT_PLUGIN' from value '24' to '36'
      'mysql_option::MYSQL_OPT_SSL_MODE' from value '38' to '42'

Possibly not part of the public ABI, but who knows..


>...  since 08/2017 working fine FOR ME without any "known" data corruption.

3.
As for silent problems, take for example this 10.1 possible code:
        mysql->reconnt = 1;

In 10.2, this no longer compiles because they have changed the API. And the
behavior (the memory at that location is ignored now). But the ABI stayed
largely the same. So if you just symlink it, your program believes it is still
doing auto reconnects, and if it does not cope with the sudden drops (because
people fail to check error codes and fail to test the error paths), it is now
susceptible to fall on its own feet now and then break in spectacular ways.

So to summarize:
 - Treat the incompatibility expressed by SONAME changes as exactly that:
   being incompatibile.

And because they are incompatible (at the very least in openSUSE) -
there is no drop-in replacement to suggest.


>b) why is this not updated automatically if it was installed already (and will be automatically removed)?

Something else might still depend on it.
Yes if it is an openSUSE package.


>c) how did i find this file using zypper
>
>i tried:
>zypper se --provides mysqlclient.so.18
>libmariadb3-32bit

That seems like a bug, that package has no libmysqlclient in it.
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: libmysqlclient18 removal - replacement

Simon Becherer
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi jan,

thanks for explanation, very interesting.
everyday i am learning....

simoN



Am 18.12.2017 um 11:38 schrieb Jan Engelhardt:

>
> On Monday 2017-12-18 08:48, Simon Becherer wrote:
>>
>> https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/ "The shared client library is binary compatible with MySQL's client library" ..."All MySQL connectors (PHP, Perl, Python, Java, .NET, MyODBC,
>> Ruby, MySQL C connector etc) work unchanged with MariaDB."
>
> I have not checked *all* the possibilities, but quite a few.
>
>
> 1.
>
> Distributions can in their free power patch it to a certain degree that makes it _less_ compatible than what upstream promotes.
>
> That is what happened with mysql-community-server. Comparing Leap 42.3's mysql with Factory mariadb 10.1 ("libmysql56client.so.18" vs "libmysqlclient.so.18") shows:
>
> [C]'function void mysql_close(MYSQL*)' at client.c:3954:1 has some indirect sub-type changes: linkage names of function void mysql_close(MYSQL*) changed from 'mysql_close@@libmysql56client_18' to
> 'mysql_close@@libmysqlclient_18, mysql_close@libmysqlclient_16' size of symbol (in bytes) changed from 302 to 114, its version changed from libmysql56client_18 to libmysqlclient_18
>
> Which means if you had a program which requires the ELF symbol "mysql_close@libmysqlclient_16" and you attempted this symlink hack, it should not be able to run on openSUSE's MariaDB, since there is no such
> symbol anymore. At least it's a verbose failure when it happens.
>
> (The results were obtained with abigail tools):
>
> abidiff /var/tmp/jng/D2/home/abuild/rpmbuild/BUILD/mysql-5.6.36/build/libmysql/libmysql56client.so.18.1.0
> /var/tmp/jng/standard-x86_64/home/abuild/rpmbuild/BUILD/mariadb-10.1.25/build/libmysql/libmysqlclient.so.18.0.0
>
>
>> ... the newest mysqlclient (in 8/2017) for maria db was .18 the corrospondung of mysql was 20. so the symlink seems to me correct.
>
> 2. subtle change(s) from mysql-5.5 (so.18) to mysql-5.7 (so.20), among it for example:
>
> type of 'mysql_option st_mysql_options::methods_to_use' changed: [..] 2 enumerator changes: 'mysql_option::MYSQL_ENABLE_CLEARTEXT_PLUGIN' from value '24' to '36' 'mysql_option::MYSQL_OPT_SSL_MODE' from value
> '38' to '42'
>
> Possibly not part of the public ABI, but who knows..
>
>
>> ...  since 08/2017 working fine FOR ME without any "known" data corruption.
>
> 3. As for silent problems, take for example this 10.1 possible code: mysql->reconnt = 1;
>
> In 10.2, this no longer compiles because they have changed the API. And the behavior (the memory at that location is ignored now). But the ABI stayed largely the same. So if you just symlink it, your program
> believes it is still doing auto reconnects, and if it does not cope with the sudden drops (because people fail to check error codes and fail to test the error paths), it is now susceptible to fall on its own
> feet now and then break in spectacular ways.
>
> So to summarize: - Treat the incompatibility expressed by SONAME changes as exactly that: being incompatibile.
>
> And because they are incompatible (at the very least in openSUSE) - there is no drop-in replacement to suggest.
>
>
>> b) why is this not updated automatically if it was installed already (and will be automatically removed)?
>
> Something else might still depend on it. Yes if it is an openSUSE package.
>
>
>> c) how did i find this file using zypper
>>
>> i tried: zypper se --provides mysqlclient.so.18 libmariadb3-32bit
>
> That seems like a bug, that package has no libmysqlclient in it.
>

- --
B e c h e r e r GmbH
Sondermaschinenbau
Mauermatten Strasse 22
79183 Waldkirch
Germany

Tel.: (+49) (0)7681 3134
Fax:  (+49) (0)7681 4378
Mail: [hidden email]
Web:  www.becherer.de

USt-ID-Nr.: DE 814912198
Registergericht: Freiburg HRB 701860
Geschäftsführer:
Dipl.-Ing. (FH), EWE   Simon H. Becherer
Gerichtsstand / Sitz: Waldkirch

Es gelten ausschließlich unsere allgemeinen Liefer-
und Zahlungsbedingungen / Einkaufsbedingungen:
www.becherer.de/AGB

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQIcBAEBAgAGBQJaN5+pAAoJEOuDxDCJWQG+J7wP/ApIJOzQRWqW4ZDVJpwH8wnu
Kim/toQslzj1QGHUoV7Y/vZDnNlq2NQcXYJNg2V/yLx0Wx61nKvV8p/l4XeWe7oD
2kWc2Fp142L8qkpukQEp/kLBYnleJuUguXqdbH8flZ520nAwECLIBK/sfmW7f8Ju
ctX1Be4MtUDJe/eGH9nUEy6XHmD7yqUsxN/cRo+0t38ghwlc5yQuNOhrjeZFZ23g
ZtLEwspCTgKb3APZGPX8wTknkbsQVbk0rOyiE5z8hl59VoGuo02Z6zHGWnTAdav0
7JB9NLB6EP6MeM3cqn0dSjmBSOq4E0bamoqwWEzX+9xNyAxvU4HxYT4hQkaUkG7k
B3XM7gH7kp6NBub5qYnZ0XlMfcTQjYsGtoHQkIhVIXs+oySgxVN9iHR5hTShXJJi
EyN7SGxlWlquykrlL5NbnOJL4+tn96pMnqmzFcRDVmnHQj+Vs+8HsU9lNgZ1gN/D
fqWiPxwbImbfO9MgOEsZ1WL3pl4a5fngMb3V2myw9P3d7yYDc/K5D0X3xpb3kBKD
TX+xXrgB+19iSOnXcakPgDLpf0hKY/3d2bUbSkcsdkUws70f6sSvyKZzFoYXmcQK
knd41056KIXFb3yFiaNFqjcVcoTegoGacd8Qjuf63CFi8OjmifWJaTw1WoUWJmA8
QfcAOiZVe51hw+WNl+8M
=KLku
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: libmysqlclient18 removal - replacement

Adam Majer
In reply to this post by Simon Becherer
On 12/16/2017 08:51 AM, Simon Becherer wrote:
> b) i own a propatery software (lx-fibu) which runs fine with
>    a symlink (manual made) from libmysqlclient.so.20 to libmysqlclient.so.18
>    (because software normally worked direct with mysql, not with mariadb)
>
>   - if there is no replacement, what did i have to tell the developer
>     he has to point to (use instead)?

In that case the developer should have provided you with their own
version of libmysqlclient.so.20 in the directory with the executable.
Then the program should probably have set a static RPATH such that this
developer provided library is used instead of distro stuff.

IF they want to use distro provided libraries, then they should provide
you with an update repository where their program is also rebuilt.

- Adam

PS. As it's been indicated already, symlinks like that are bound to fail
and eventually will burn you.
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: libmysqlclient18 removal - replacement

Carlos E. R.-2
In reply to this post by Jan Engelhardt-4
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



On Monday, 2017-12-18 at 11:38 +0100, Jan Engelhardt wrote:

> On Monday 2017-12-18 08:48, Simon Becherer wrote:
>>
>> https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/
>> "The shared client library is binary compatible with MySQL's client library"
>> ..."All MySQL connectors (PHP, Perl, Python, Java, .NET, MyODBC, Ruby, MySQL C connector etc) work unchanged with MariaDB."
>
> I have not checked *all* the possibilities, but quite a few.
>
>
> 1.
>
> Distributions can in their free power patch it to a certain degree that makes
> it _less_ compatible than what upstream promotes.
>
> That is what happened with mysql-community-server. Comparing Leap 42.3's mysql
> with Factory mariadb 10.1 ("libmysql56client.so.18" vs "libmysqlclient.so.18")
> shows:

...

> So to summarize:
> - Treat the incompatibility expressed by SONAME changes as exactly that:
>   being incompatibile.


Thank you for this detailed explanation, appreciated :-)

- --
Cheers,
        Carlos E. R.
        (from openSUSE 42.2 x86_64 "Malachite" at Telcontar)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAlo7qooACgkQtTMYHG2NR9UcYwCeIJ4DHInI9Es9EQTuLZylFfUW
A5QAniJQIcTiGglmXNy0QnG+puSdt1+F
=lr0y
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: libmysqlclient18 removal - replacement

Simon Becherer
In reply to this post by Adam Majer
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi adam,

thanks for info,

i am already in kontact with the developer.
- - only for information:
   in the last (8?) years he compiled for ubuntu, and (i do not know how),
   he have made rpm's from this compiliation. and they where always without problems
   running at opensuse.
so this situation is new. we are working on it.

simoN






Am 21.12.2017 um 09:38 schrieb Adam Majer:

> On 12/16/2017 08:51 AM, Simon Becherer wrote:
>> b) i own a propatery software (lx-fibu) which runs fine with a symlink (manual made) from libmysqlclient.so.20 to libmysqlclient.so.18 (because software normally worked direct with mysql, not with mariadb)
>>
>> - if there is no replacement, what did i have to tell the developer he has to point to (use instead)?
>
> In that case the developer should have provided you with their own version of libmysqlclient.so.20 in the directory with the executable. Then the program should probably have set a static RPATH such that this
> developer provided library is used instead of distro stuff.
>
> IF they want to use distro provided libraries, then they should provide you with an update repository where their program is also rebuilt.
>
> - Adam
>
> PS. As it's been indicated already, symlinks like that are bound to fail and eventually will burn you.
>

- --
B e c h e r e r GmbH
Sondermaschinenbau
Mauermatten Strasse 22
79183 Waldkirch
Germany

Tel.: (+49) (0)7681 3134
Fax:  (+49) (0)7681 4378
Mail: [hidden email]
Web:  www.becherer.de

USt-ID-Nr.: DE 814912198
Registergericht: Freiburg HRB 701860
Geschäftsführer:
Dipl.-Ing. (FH), EWE   Simon H. Becherer
Gerichtsstand / Sitz: Waldkirch

Es gelten ausschließlich unsere allgemeinen Liefer-
und Zahlungsbedingungen / Einkaufsbedingungen:
www.becherer.de/AGB

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQIcBAEBAgAGBQJaO/2OAAoJEOuDxDCJWQG+ybAP/2qJgeMdcwTWgoUy2r/gs6Cg
zH9Tp/n90xkOsU4F/bdCcsGZOgEXVHg5+0iPMV1hL8Na+qfmw2mO1PBMaDqDsxOO
uy1o12CFfOXejEOmiPKVP69i5R27oKpF5N85EAgbrqSWRa/jV/aw7V1mckhMhTl2
XPDGRg+DhgSMhx77RML6tH0Ngfjg1Gm95XZTR30tOT3UrP9UnP+nF4SBHG/nlQRC
g8TnB8iRG+6ab7NxFrpeeTcberqitGk/mnnCn1Vf7/9cSjjZcyFaVHDRXZdnh9C/
tJLnXoyAoD1PIwQ4RrAjktYG1rePpGIUWLgU79ZhtPubWyU8ZNP2TEjsEIX/sZ+t
ObLVP8O6Mb8UklEKjUn/XByetqplZGgFyal9+mZvyjC/xQqoHnB07dnjNcMOzVJN
2IIpUC4dQgqd7Jyp84UBAPlnsOjhGmLpk5lkCYB+2L3lC69Vx0wlVg5+uE3pdpE3
GdYx4UdHqsRH7g6hNAmckVFckgxUtxJRsk8ybcglt+bFgx2LG76V2v0hLHeG/4sY
pbdFvffL3QjFbh98sLQs6KGpc32d99Et+l21h/PBIMTcFbv398i2DGsRoXsEoXCT
bqZ5jvAG87PJIgDEEhi+3IIQCmMYqKxDS+I+11l6zYZJBGLGXHA6egq3M4vl0QV4
V5BlsWhGDMFU1pUHru5o
=OOzP
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: [hidden email]
To contact the owner, e-mail: [hidden email]