Subject: libm bugs
To: None <port-vax@netbsd.org>
From: Lukas Kaminski <kaminski@rbg.informatik.tu-darmstadt.de>
List: port-vax
Date: 06/08/2005 11:55:59
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-851401618-1118224559=:14800
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hello,

after some work with my new 4000/90 i fixed (?) a bug with libm. It caused
illegal instructions on several VAX models (4000/60 and  4000/90 are two
of them). OK, it isn't a fix, but a workaround, but i hope it's useful.
And i don't know whether it slows down other VAX-types, so it would be
better to use it only on affected machines. It changes the libm makefile
to include some c-files instead of the assembler-files, which seems to be
broken. I will attach the changed makefile. Emacs is buildable and works
after building world with the fix.

I build 1.6.2_STABLE but i think it will work on newer releases, too.





---559023410-851401618-1118224559=:14800
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=Makefile
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.4.58.0506081155590.14800@ultra11.rbg.informatik.tu-darmstadt.de>
Content-Description: 
Content-Disposition: attachment; filename=Makefile

IyAgJE5ldEJTRDogTWFrZWZpbGUsdiAxLjU4LjIuMSAyMDAyLzA2LzE4IDEz
OjMwOjE0IGx1a2VtIEV4cCAkDQojDQojICBAKCMpTWFrZWZpbGUgNS4xYmV0
YSA5My8wOS8yNA0KIw0KIyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIyAgQ29weXJpZ2h0IChDKSAx
OTkzIGJ5IFN1biBNaWNyb3N5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4NCiMNCiMgIERldmVsb3BlZCBhdCBTdW5Qcm8sIGEgU3VuIE1pY3Jv
c3lzdGVtcywgSW5jLiBidXNpbmVzcy4NCiMgIFBlcm1pc3Npb24gdG8gdXNl
LCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMNCiMgIHNvZnR3
YXJlIGlzIGZyZWVseSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoaXMgbm90
aWNlDQojICBpcyBwcmVzZXJ2ZWQuDQojICA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojDQojDQoNCiMN
CiMgVGhlcmUgYXJlIHR3byBvcHRpb25zIGluIG1ha2luZyBsaWJtIGF0IGZk
bGlibSBjb21waWxlIHRpbWU6DQojIAlfSUVFRV9MSUJNIAktLS0gSUVFRSBs
aWJtOyBzbWFsbGVyLCBhbmQgc29tZXdoYXQgZmFzdGVyDQojCV9NVUxUSV9M
SUJNCS0tLSBTdXBwb3J0IG11bHRpLXN0YW5kYXJkIGF0IHJ1bnRpbWUgYnkN
CiMJCQkgICAgaW1wb3Npbmcgd3JhcHBlciBmdW5jdGlvbnMgZGVmaW5lZCBp
bg0KIwkJCSAgICBmZGxpYm0uaDoNCiMJCQkJX0lFRUVfTU9ERSAJLS0gSUVF
RQ0KIwkJCQlfWE9QRU5fTU9ERSAJLS0gWC9PUEVODQojCQkJCV9QT1NJWF9N
T0RFIAktLSBQT1NJWC9BTlNJDQojCQkJCV9TVklEM19NT0RFIAktLSBTVklE
DQojDQojIEhlcmUgaXMgaG93IHRvIHNldCB1cCBDUFBGTEFHUyB0byBjcmVh
dGUgdGhlIGRlc2lyZWQgbGlibSBhdA0KIyBjb21waWxlIHRpbWU6DQojDQoj
IAlDUFBGTEFHUyA9IC1EX0lFRUVfTElCTQkJLi4uIElFRUUgbGlibSAocmVj
b21tZW5kZWQpDQojCUNQUEZMQUdTID0gLURfU1ZJRDNfTU9ERQkuLi4gTXVs
dGktc3RhbmRhcmQgc3VwcG9ydGVkDQojCQkJCQkgICAgbGlibSB3aXRoIFNW
SUQgYXMgdGhlDQojCQkJCQkgICAgZGVmYXVsdCBzdGFuZGFyZA0KIwlDUFBG
TEFHUyA9IC1EX1hPUEVOX01PREUJLi4uIE11bHRpLXN0YW5kYXJkIHN1cHBv
cnRlZA0KIwkJCQkJICAgIGxpYm0gd2l0aCBYT1BFTiBhcyB0aGUNCiMJCQkJ
CSAgICBkZWZhdWx0IHN0YW5kYXJkDQojCUNQUEZMQUdTID0gLURfUE9TSVhf
TU9ERQkuLi4gTXVsdGktc3RhbmRhcmQgc3VwcG9ydGVkDQojCQkJCQkgICAg
bGlibSB3aXRoIFBPU0lYIGFzIHRoZQ0KIwkJCQkJICAgIGRlZmF1bHQgc3Rh
bmRhcmQNCiMJQ1BQRkxBR1MgPSAJCQkuLi4gTXVsdGktc3RhbmRhcmQgc3Vw
cG9ydGVkDQojCQkJCQkgICAgbGlibSB3aXRoIElFRUUgYXMgdGhlDQojCQkJ
CQkgICAgZGVmYXVsdCBzdGFuZGFyZA0KIw0KDQojIFhYWCBsaW50IGJ1dHMg
b24gc29tZSBhcmNocyBhbmQgbmVlZHMgc3R1YnMNCk5PTElOVD0JCSMgZGVm
aW5lZA0KVVNFX1NITElCRElSPQl5ZXMNCg0KIyByZXF1aXJlIHRoaXMgZm9y
IHRoZSB2YWx1ZSBvZiBJMzg3X0xJQk0gZnJvbSBtay5jb25mLCBpZiBzZXQu
DQouaW5jbHVkZSA8YnNkLm93bi5taz4NCg0KLmlmICgke01BQ0hJTkVfQVJD
SH0gPT0gImFscGhhIikNCi5QQVRIOiAkey5DVVJESVJ9L2FyY2gvYWxwaGEN
CkFSQ0hfU1JDUyA9IHNfY29weXNpZ24uUyBzX2NvcHlzaWduZi5TDQouZWxp
ZiAoKCR7TUFDSElORV9BUkNIfSA9PSAiaTM4NiIpIHx8ICgke01BQ0hJTkVf
QVJDSH0gPT0gIng4Nl82NCIpKQ0KLmlmIChkZWZpbmVkKEkzODdfTElCTSkg
fHwgKCR7TUFDSElORV9BUkNIfSA9PSAieDg2XzY0IikpDQouUEFUSDoJJHsu
Q1VSRElSfS9hcmNoL2kzODcNCkFSQ0hfU1JDUyA9IGVfYWNvcy5TIGVfYXNp
bi5TIGVfYXRhbjIuUyBlX2V4cC5TIGVfZXhwZi5TIGVfZm1vZC5TIGVfbG9n
LlMgXA0KCSAgICBlX2xvZ2YuUyBlX2xvZzEwLlMgZV9sb2cxMGYuUyBlX3Jl
bWFpbmRlci5TIGVfcmVtYWluZGVyZi5TIFwNCgkgICAgZV9zY2FsYi5TIGVf
c2NhbGJmLlMgZV9zcXJ0LlMgZV9zcXJ0Zi5TIHNfYXRhbi5TIHNfYXRhbmYu
UyBcDQoJICAgIHNfY2VpbC5TIHNfY2VpbGYuUyBzX2NvcHlzaWduLlMgc19j
b3B5c2lnbmYuUyBzX2Nvcy5TIHNfY29zZi5TIFwNCgkgICAgc19maW5pdGUu
UyBzX2Zpbml0ZWYuUyBzX2Zsb29yLlMgc19mbG9vcmYuUyBzX2lsb2diLlMg
c19pbG9nYmYuUyBcDQoJICAgIHNfbG9nMXAuUyBzX2xvZzFwZi5TIHNfbG9n
Yi5TIHNfbG9nYmYuUyBzX3JpbnQuUyBzX3JpbnRmLlMgXA0KCSAgICBzX3Nj
YWxibi5TIHNfc2NhbGJuZi5TIHNfc2lnbmlmaWNhbmQuUyBzX3NpZ25pZmlj
YW5kZi5TIHNfc2luLlMgXA0KCSAgICBzX3NpbmYuUyBzX3Rhbi5TIHNfdGFu
Zi5TDQouZWxzZQ0KU1VCRElSPWFyY2gvaTM4Nw0KLmVuZGlmDQouZWxpZiAo
JHtNQUNISU5FX0FSQ0h9ID09ICJtNjhrIikNCi5pZiBkZWZpbmVkKE02ODA2
MCkNCi5QQVRIOgkkey5DVVJESVJ9L2FyY2gvbTY4MDYwDQouaW5jbHVkZSAi
JHsuQ1VSRElSfS9hcmNoL202ODA2MC9NYWtlZmlsZS5saXN0Ig0KQ09QVFMr
PS1tNjgwNjANCi5QQVRIOgkkey5DVVJESVJ9L2FyY2gvbTY4aw0KQVJDSF9T
UkNTICs9IHNfY2VpbC5TIHNfY29weXNpZ24uUyBzX2Zpbml0ZS5TIHNfZmxv
b3IuUyBzX3JpbnQuUw0KLmVsaWYgZGVmaW5lZChNNjgwNDApDQouUEFUSDog
JHsuQ1VSRElSfS9hcmNoL202OGsNCkNPUFRTKz0tbTY4MDQwDQpBUkNIX1NS
Q1MgPSBzX2NvcHlzaWduLlMgc19maW5pdGUuUw0KLmVsc2UNCi5QQVRIOgkk
ey5DVVJESVJ9L2FyY2gvbWM2ODg4MSAkey5DVVJESVJ9L2FyY2gvbTY4aw0K
QVJDSF9TUkNTID0gZV9hY29zLlMgZV9hc2luLlMgZV9hdGFuaC5TIGVfY29z
aC5TIGVfZXhwLlMgZV9mbW9kLlMgZV9sb2cuUyBcDQoJICAgIGVfbG9nMTAu
UyBlX3JlbWFpbmRlci5TIGVfc2NhbGIuUyBlX3NpbmguUyBlX3NxcnQuUyBz
X2F0YW4uUyBcDQoJICAgIHNfY2VpbC5TIHNfY29weXNpZ24uUyBzX2Nvcy5T
IHNfZXhwbTEuUyBzX2Zpbml0ZS5TIHNfZmxvb3IuUyBcDQoJICAgIHNfbG9n
MXAuUyBzX2xvZ2IuUyBzX3JpbnQuUyBzX3NjYWxibi5TIHNfc2luLlMgc190
YW4uUyBzX3RhbmguUw0KLmVuZGlmDQojIGVuZCBvZiBtNjhrDQouZWxpZiAo
JHtNQUNISU5FX0FSQ0h9ID09ICJ2YXgiKQ0KIy5QQVRIOgkkey5DVVJESVJ9
L2FyY2gvdmF4DQojTk9JRUVFX0FSQ0g9IG5faW5mbmFuLlMgbl9hcmdyZWQu
UyBuX3NxcnQuUw0KI0FSQ0hfU1JDUyA9IG5fYXRhbjIuUyBuX2NhYnMuUyBu
X2NicnQuUyBuX3N1cHBvcnQuUyBuX3NpbmNvcy5TIG5fdGFuLlMNCiMgWFhY
IC0gcmlwcGVkIG91dCBkdWUgdG8gbGFjayBvZiB0aGUgaW5zbiBwb2x5ZCBp
biB0aGUgTWFyaWFoIGNoaXAsDQojIGFuZCBlbXVsYXRpb24gY29kZSBpc24n
dCB3cml0dGVuIHlldC4NCldBUk5TPz0yDQouZW5kaWYNCg0KV0FSTlM/PQkJ
MQ0KDQouUEFUSDoJJHsuQ1VSRElSfS9tYW4NCi5QQVRIOgkkey5DVVJESVJ9
L3NyYw0KLlBBVEg6CSR7LkNVUkRJUn0vbm9pZWVlX3NyYw0KDQouaWYgKCR7
TUFDSElORV9BUkNIfSAhPSAidmF4IikNCkNQUEZMQUdTKz0gLURfTVVMVElf
TElCTSAtRF9QT1NJWF9NT0RFDQouZW5kaWYNCkNQUEZMQUdTKz0tRExJQk1f
U0NDUw0KDQpMSUI9CW0NCkNPTU1PTl9TUkNTID0gZV9hY29zLmMgZV9hY29z
Zi5jIGVfYWNvc2guYyBlX2Fjb3NoZi5jIGVfYXNpbi5jIGVfYXNpbmYuYyBc
DQoJZV9hdGFuMi5jIGVfYXRhbjJmLmMgZV9hdGFuaC5jIGVfYXRhbmhmLmMg
ZV9jb3NoLmMgZV9jb3NoZi5jIGVfZXhwLmMgXA0KCWVfZXhwZi5jIGVfZm1v
ZC5jIGVfZm1vZGYuYyBlX2h5cG90LmMgZV9oeXBvdGYuYyBlX2owLmMgZV9q
MGYuYyBcDQoJZV9qMS5jIGVfajFmLmMgZV9qbi5jIGVfam5mLmMgZV9sZ2Ft
bWFfci5jIGVfbGdhbW1hZl9yLmMgZV9sb2cuYyBcDQoJZV9sb2cxMC5jIGVf
bG9nMTBmLmMgZV9sb2dmLmMgZV9wb3cuYyBlX3Bvd2YuYyBlX3JlbV9waW8y
LmMgXA0KCWVfcmVtX3BpbzJmLmMgZV9yZW1haW5kZXIuYyBlX3JlbWFpbmRl
cmYuYyBlX3NjYWxiLmMgZV9zY2FsYmYuYyBcDQoJZV9zaW5oLmMgZV9zaW5o
Zi5jIGVfc3FydC5jIGVfc3FydGYuYyBcDQoJa19jb3MuYyBrX2Nvc2YuYyBr
X3JlbV9waW8yLmMga19yZW1fcGlvMmYuYyBrX3Npbi5jIGtfc2luZi5jIFwN
CglrX3N0YW5kYXJkLmMga190YW4uYyBrX3RhbmYuYyBcDQoJc19hc2luaC5j
IHNfYXNpbmhmLmMgc19hdGFuLmMgc19hdGFuZi5jIHNfY2JydC5jIHNfY2Jy
dGYuYyBzX2NlaWwuYyBcDQoJc19jZWlsZi5jIHNfY29weXNpZ24uYyBzX2Nv
cHlzaWduZi5jIHNfY29zLmMgc19jb3NmLmMgc19lcmYuYyBcDQoJc19lcmZm
LmMgc19leHBtMS5jIHNfZXhwbTFmLmMgc19mYWJzZi5jIHNfZmluaXRlLmMg
c19maW5pdGVmLmMgXA0KCXNfZmxvb3IuYyBzX2Zsb29yZi5jIHNfZnJleHBm
LmMgc19pbG9nYi5jIHNfaWxvZ2JmLmMgXA0KCXNfaXNpbmZmLmMgc19pc25h
bmYuYyBzX2xkZXhwZi5jIHNfbGliX3ZlcnNpb24uYyBzX2xvZzFwLmMgXA0K
CXNfbG9nMXBmLmMgc19sb2diLmMgc19sb2diZi5jIHNfbWF0aGVyci5jIHNf
bW9kZmYuYyBzX25leHRhZnRlci5jIFwNCglzX25leHRhZnRlcmYuYyBzX3Jp
bnQuYyBzX3JpbnRmLmMgc19zY2FsYm4uYyBzX3NjYWxibmYuYyBcDQoJc19z
aWduZ2FtLmMgc19zaWduaWZpY2FuZC5jIHNfc2lnbmlmaWNhbmRmLmMgc19z
aW4uYyBzX3NpbmYuYyBzX3Rhbi5jIFwNCglzX3RhbmYuYyBzX3RhbmguYyBz
X3RhbmhmLmMgXA0KCXdfYWNvcy5jIHdfYWNvc2YuYyB3X2Fjb3NoLmMgd19h
Y29zaGYuYyB3X2FzaW4uYyB3X2FzaW5mLmMgd19hdGFuMi5jIFwNCgl3X2F0
YW4yZi5jIHdfYXRhbmguYyB3X2F0YW5oZi5jIHdfY2Ficy5jIHdfY2Fic2Yu
YyB3X2Nvc2guYyB3X2Nvc2hmLmMgXA0KCXdfZHJlbS5jIHdfZHJlbWYuYyB3
X2V4cC5jIHdfZXhwZi5jIHdfZm1vZC5jIHdfZm1vZGYuYyB3X2dhbW1hLmMg
XA0KCXdfZ2FtbWFfci5jIHdfZ2FtbWFmLmMgd19nYW1tYWZfci5jIHdfaHlw
b3QuYyB3X2h5cG90Zi5jIHdfajAuYyBcDQoJd19qMGYuYyB3X2oxLmMgd19q
MWYuYyB3X2puLmMgd19qbmYuYyB3X2xnYW1tYS5jIHdfbGdhbW1hX3IuYyBc
DQoJd19sZ2FtbWFmLmMgd19sZ2FtbWFmX3IuYyB3X2xvZy5jIHdfbG9nMTAu
YyB3X2xvZzEwZi5jIHdfbG9nZi5jIFwNCgl3X3Bvdy5jIHdfcG93Zi5jIHdf
cmVtYWluZGVyLmMgd19yZW1haW5kZXJmLmMgd19zY2FsYi5jIHdfc2NhbGJm
LmMgXA0KCXdfc2luaC5jIHdfc2luaGYuYyB3X3NxcnQuYyB3X3NxcnRmLmMN
Cg0KIyBtYXRoIHJvdXRpbmVzIGZvciBub24tSUVFRSBhcmNoaXRlY3R1cmVz
Lg0KTk9JRUVFX1NSQ1MgPSBuX2FzaW5jb3MuYyBuX2Fjb3NoLmMgbl9hc2lu
aC5jIG5fYXRhbi5jIG5fYXRhbmguYyBuX2Nvc2guYyBcDQoJbl9lcmYuYyBu
X2V4cC5jIG5fZXhwX19FLmMgbl9leHBtMS5jIG5fZmxvb3IuYyBuX2Ztb2Qu
YyBuX2dhbW1hLmMgXA0KCW5fbGdhbW1hLmMgbl9qMC5jIG5fajEuYyBuX2pu
LmMgbl9sb2cuYyBuX2xvZzEwLmMgbl9sb2cxcC5jIFwNCgluX2xvZ19fTC5j
IG5fcG93LmMgbl9zaW5oLmMgbl90YW5oLmMgXA0KCW5fc2luY29zLmMgbl90
YW4uYyBcDQoJbl9hdGFuMi5jIG5fY2Ficy5jIG5fY2JydC5jIG5fc3VwcG9y
dC5jDQoNCg0KIyBOZXRCU0QncyBDIGxpYnJhcnkgc3VwcGxpZXMgdGhlc2Ug
ZnVuY3Rpb25zOg0KI0NPTU1PTl9TUkNTKz0Jc19mYWJzLmMgc19mcmV4cC5j
IHNfaXNpbmYuYyBzX2lzbmFuLmMgc19sZGV4cC5jIHNfbW9kZi5jDQoNCi5p
ZiAoJHtNQUNISU5FX0FSQ0h9ID09ICJ2YXgiKQ0KU1JDUz0JJHtOT0lFRUVf
U1JDU30gJHtOT0lFRUVfQVJDSH0NCi5lbHNlDQpTUkNTPQkke0NPTU1PTl9T
UkNTfQ0KLmVuZGlmDQoNCi5pZmRlZiBBUkNIX0FERFMNClNSQ1MrPSAke0FS
Q0hfQUREU30NCi5lbmRpZg0KDQojIFN1YnN0aXR1dGUgY29tbW9uIHNvdXJj
ZXMgd2l0aCBhbnkgYXJjaCBzcGVjaWZpYyBzb3VyY2VzDQojLmZvciBpIGlu
ICR7QVJDSF9TUkNTfSAke05PSUVFRV9BUkNIfQ0KIyAgICBTUkNTOj0ke1NS
Q1M6Uy8ke2k6Uy8uUy8uYy99LyRpL30NCiMuZW5kZm9yDQoNCi5pZiAoJHtN
QUNISU5FX0FSQ0h9ID09ICJ2YXgiKSAjIFhYWCB1bnRpbCBQT0xZRCBpcyB3
cml0dGVuLg0KLlBBVEg6CSR7LkNVUkRJUn0vYXJjaC92YXgNClNSQ1M6PSR7
U1JDU30gbl9zcXJ0LlMgbl9hcmdyZWQuUyBuX2luZm5hbi5TICMgbl9hdGFu
Mi5TIG5fY2Ficy5TIG5fY2JydC5TIFwNCiMJbl9zdXBwb3J0LlMNCi5lbmRp
Zg0KDQpNQU4rPQlhY29zLjMgYWNvc2guMyBhc2luLjMgYXNpbmguMyBhdGFu
LjMgYXRhbjIuMyBhdGFuaC4zIGNlaWwuMyBcDQoJY29zLjMgY29zaC4zIGVy
Zi4zIGV4cC4zIGZhYnMuMyBmbG9vci4zIGZtb2QuMyBoeXBvdC4zIGllZWUu
MyBcDQoJaWVlZV90ZXN0LjMgaXNpbmZmLjMgajAuMyBsZ2FtbWEuMyBtYXRo
LjMgcmludC4zIHNpbi4zIHNpbmguMyBzcXJ0LjMgXA0KCXRhbi4zIHRhbmgu
Mw0KDQpNTElOS1MrPWFjb3MuMyBhY29zZi4zDQpNTElOS1MrPWFjb3NoLjMg
YWNvc2hmLjMNCk1MSU5LUys9YXNpbi4zIGFzaW5mLjMNCk1MSU5LUys9YXNp
bmguMyBhc2luaGYuMw0KTUxJTktTKz1hdGFuLjMgYXRhbmYuMw0KTUxJTktT
Kz1hdGFuMi4zIGF0YW4yZi4zDQpNTElOS1MrPWF0YW5oLjMgYXRhbmhmLjMN
Ck1MSU5LUys9Y2VpbC4zIGNlaWxmLjMNCk1MSU5LUys9Y29zLjMgY29zZi4z
DQpNTElOS1MrPWNvc2guMyBjb3NoZi4zDQpNTElOS1MrPWVyZi4zIGVyZmYu
MyBlcmYuMyBlcmZjLjMgZXJmLjMgZXJmY2YuMw0KTUxJTktTKz1leHAuMyBl
eHBmLjMgZXhwLjMgZXhwbTEuMyBleHAuMyBleHBtMWYuMyBleHAuMyBsb2cu
MyBleHAuMyBsb2dmLjMgXA0KCWV4cC4zIGxvZzEwLjMgZXhwLjMgbG9nMTBm
LjMgZXhwLjMgbG9nMXAuMyBleHAuMyBsb2cxcGYuMyBcDQoJZXhwLjMgcG93
LjMgZXhwLjMgcG93Zi4zDQpNTElOS1MrPWZhYnMuMyBmYWJzZi4zDQpNTElO
S1MrPWZsb29yLjMgZmxvb3JmLjMNCk1MSU5LUys9Zm1vZC4zIGZtb2RmLjMN
Ck1MSU5LUys9aHlwb3QuMyBoeXBvdGYuMyBoeXBvdC4zIGNhYnMuMyBoeXBv
dC4zIGNhYnNmLjMNCk1MSU5LUys9aWVlZS4zIGNvcHlzaWduLjMgaWVlZS4z
IGNvcHlzaWduZi4zIGllZWUuMyBmaW5pdGUuMyBpZWVlLjMgZmluaXRlZi4z
IFwNCglpZWVlLjMgaWxvZ2IuMyBpZWVlLjMgaWxvZ2JmLjMgaWVlZS4zIG5l
eHRhZnRlci4zIGllZWUuMyBuZXh0YWZ0ZXJmLjMgXA0KCWllZWUuMyByZW1h
aW5kZXIuMyBpZWVlLjMgcmVtYWluZGVyZi4zIGllZWUuMyBzY2FsYm4uMyBp
ZWVlLjMgc2NhbGJuZi4zDQpNTElOS1MrPWllZWVfdGVzdC4zIGxvZ2IuMyBp
ZWVlX3Rlc3QuMyBsb2diZi4zDQpNTElOS1MrPWllZWVfdGVzdC4zIHNjYWxi
LjMgaWVlZV90ZXN0LjMgc2NhbGJmLjMNCk1MSU5LUys9aWVlZV90ZXN0LjMg
c2lnbmlmaWNhbmQuMyBpZWVlX3Rlc3QuMyBzaWduaWZpY2FuZGYuMw0KTUxJ
TktTKz1pc2luZmYuMyBpc25hbmYuMw0KTUxJTktTKz1qMC4zIGowZi4zIGow
LjMgajEuMyBqMC4zIGoxZi4zIGowLjMgam4uMyBqMC4zIGpuZi4zIFwNCglq
MC4zIHkwLjMgajAuMyB5MGYuMyBqMC4zIHkxLjMgajAuMyB5MWYuMyBqMC4z
IHluLjMgajAuMyB5bmYuMw0KTUxJTktTKz1sZ2FtbWEuMyBsZ2FtbWFmLjMg
bGdhbW1hLjMgbGdhbW1hX3IuMyBsZ2FtbWEuMyBsZ2FtbWFmX3IuMyBcDQoJ
bGdhbW1hLjMgZ2FtbWEuMyBsZ2FtbWEuMyBnYW1tYWYuMyBsZ2FtbWEuMyBn
YW1tYV9yLjMgXA0KCWxnYW1tYS4zIGdhbW1hZl9yLjMNCk1MSU5LUys9cmlu
dC4zIHJpbnRmLjMNCk1MSU5LUys9c2luLjMgc2luZi4zDQpNTElOS1MrPXNp
bmYuMyBzaW5oZi4zDQpNTElOS1MrPXNxcnQuMyBzcXJ0Zi4zIHNxcnQuMyBj
YnJ0LjMgc3FydC4zIGNicnRmLjMNCk1MSU5LUys9dGFuLjMgdGFuZi4zDQpN
TElOS1MrPXRhbmguMyB0YW5oZi4zDQoNCi5pbmNsdWRlIDxic2QubGliLm1r
Pg0KLmluY2x1ZGUgPGJzZC5zdWJkaXIubWs+DQo=

---559023410-851401618-1118224559=:14800--