Need advice on how to include OpenSSL statically in linux/windows crossbuild DLL

Benedikt Hallinger <beni-RPPEtnDHq6RrovVCs/[email protected]> Tue, 05 Jan 2021 23:20:17 +0100
Newsgroups gmane.comp.gnu.mingw.user
Message-ID <[email protected]>
--=_f74cc5b7e738ccec11292b40df78db07
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII;
 format=flowed

Hello,
in my project fgcom-mumble (https://github.com/hbeni/fgcom-mumble) i 
build a windows DLL from linux.
This all wents good so far and the DLL looks good when i do not include 
SSL.

When i do, the compilation succeeds, but two DLL entries are reported 
missing from the final generated DLL, and i really struggle to find out 
why.
The missing bits are OpenSSLs libcrypto and libssl, against which i link 
statically (i try to at least).
I have seen this with https://github.com/lucasg/Dependencies tool.

The makefile generates this command:
x86_64-w64-mingw32-g++-posix -fPIC --shared -DMINGW_WIN64 -o 
fgcom-mumble.dll lib/io_plugin.cpp lib/radio_model.cpp lib/audio.cpp 
lib/io_UDPServer.cpp lib/io_UDPClient.cpp lib/garbage_collector.cpp 
fgcom-mumble.cpp -L./lib/openssl/ -static -lssl.dll -lcrypto.dll 
-DSSLFLAGS -lws2_32 -lcrypt32 -static-libgcc -static-libstdc++ -I. 
-I./lib -g3 -DDEBUG -I./lib/openssl/include/ -Wl,-Bstatic -lstdc++ 
-lpthread -lws2_32

./lib/openssl/libcrypto.dll.a and ./lib/openssl/libssl.dll.a are there 
and resolved (if i rename them, the build fails).

My impression was that the "static" switch should have included the dlls 
into my archive.
What do i do wrong here? I already googled and tried different things 
several days now (some -Wl liker flags like static etc), but to no 
avail. Please be aware that I'm fairly new to C/C++ and cross compiling.


Thank you very much in advance,
Beni
--=_f74cc5b7e738ccec11292b40df78db07
Content-Transfer-Encoding: base64
Content-Type: image/png;
 name="Screenshot 2021-01-05 215355.png"
Content-Disposition: attachment;
 filename="Screenshot 2021-01-05 215355.png";
 size=13625

iVBORw0KGgoAAAANSUhEUgAAAVIAAADJCAYAAABxA7rbAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAADTOSURBVHhe7Z0NfBXVnfd/UeRVFBEQRRCVt15y
E/ClUGgFH1lW7QoUE+MNWty1Yl31gc8+VcGHEONlK5Y+3VDbKmx3hSqJIRGVtkipYtHComjhJvEu
ElTq+9sKVd4Cgfuc/5kzM2fmzn1PcpPL/yvHzMw5c+bMmZn//M85c343LyIAwzAMkzanqL8MwzBM
mrAhZRiGyRA2pAzDMBmSVB/p8uXLMXDgQLUWzf79+zF79my1xjAMc3KRlEdKRnTy5Mn4tN90nH/J
dPTp08cRhg4dqlIyDMOcfKTUtF++BXjjPbWimDRpklpiGIY5OUnKkH7yySfYtm0bfjZuM0a2bFZb
DTZv3oy9e/eqtWR5Hrfn5SFPCxOX7VFx2YTKNRGtXpQ9yzCxlfLds2wi8m5/Xq3F5vnbzbqNPq7M
Y+Iy0GZK1zHqnmE6MdRHmgyPP/64WmoN1kfmYEKkskmtynVEMGe9Ws8W7nJ1MJoqIxMmVEYSFW/9
HEQmxDwJVddWPk2Rygkd+JwZphOQ1qj9ypUr8dxzz8UMf/jDH2Sa5LkGy5sqMWHFs8InZGKx5/dr
gBu+i2Fq3Zvn8WxjJVbN9U61Z9lioFLUtVqHyG3uwnzMW8o1zzDpkvbnT2PGjJEDTzQAVVhY6Bh8
GjlypEqVAsO+ixsmrMCz5vMsm8Nm8/R2ZWBV0/t5O87RLI23z7Lb1fbY+0xctlttVKSTn2gwL5to
7pMHoxXu6jLwzNdrP509MOwoGUgjrXXc50VZVFMdzz+LFflhLDXzN7cT4rizwwux/Ltq3WS4DxMa
d9vpGIZJiaQN6aeffiq9TAq0TNDAEw1A6VxwwQWtMIovDM/wNbihKUJdD4isBxZbVmgr5gmnahVt
F14s5s1WBirBPuEZavscbJ23VBkv2mce8tcb+6zCGqyQ24l08iMDNxxrbmgy4kRYfo2M0IiR7/NL
MS9/fZz9mhDemo8R0tEUXuSW9ciXxxX5XQus3zLX9lRXNMKn8l+fPw+zZblF2WaL494TlbHIbgTy
t4bFERiGSYekDek555yDW265RQZa3rlzpxx4ogGov/71ryoV5DINQKXHBPiGiz97dqORjNVw5VVd
uwJbw+ZjPgGVq5TRGDYXC+dshYxKtI9pQK6ZgTki5W5pW8Q+EyphRg2bu1DEKdLK7/dYs3UOFsZo
Vkti5Ute4YprXd5tPK7BcmGEr80jK7pcrGnMWQizCNfMEIZe5L9n2Wxh4FdZ250Mh2+COgeGYVIm
raY9GdPp06fLT59iBUqTEtIImR4XMQfrlXcmQ7SLJtiD3Y1qUZLMPqnQ2vmZeOQrXgpbxPIqzJYG
NomB+RR4FkvnbRWe83DDeAsvfOvWeRhuNft1b5dhmFTpIINNZhNbeVbU1BSNbLsprbMVa36vtisP
cAbtFHefGMgm7TyY4yw0EGM17dPKz+jnjbtPgnyHzd2CpsoJaIxyD91eo2rSU9/AtWY/q4A85BWL
VXeHaM4vXoE5M5ZjuW64aWBPeOJNZneA9Mx94ggMw6RD2n2kmQ82ac3bvMWyT892+IxRfJFAxYtg
uWgTkB82vDbyrCzjG3efWFDzeA5WXGukn40bhK9okk5+Zt+lvU/0LjHypQEjtT58Xr5H98AwfPcG
qJcI9cVei8bKe0Ru1+CeykZca3mXlP8NWCPrdrjsd03oSDeFsTV/hN3HyjBMSqSlR0rG9Morr8Qf
PrhADjY9fcNeq5/UHGyiNCk37xMivDBpdLfE6OvLcWi0fzawSh9YyhgyyjLTk7NOGaYVSKtpT7TN
YBMTl2FzseqGNRie0DNOnudvJ6/VHpxiGCZ1OplC/knukTIM0yHhnxphGIbJkLSb9gzDMIwBG1KG
YZgMYUPKMAyTIWxIGYZhMoQNKcMwTIawIWUYhskQNqQMwzAZkrd//37+jpRhGCYD2CNlGIbJEDak
DMMwGcKGlGEYJkPYkDIMw2QIG1KGYZgMYUPKMAyTIWxIGYZhMiSBId2DVbPGYuxYOzzwktj8/lO4
dUoZXvgM2L/lIcwqewFisV156QFVFgdU3llYtQd4c8VMXPfTbfhKxWSbPatmOepxFhUyLfai9vZx
uG/DIbWeLey61qHzjL4uLt6rxj/duBK71SrDdHaS8Eh9mFe7Azt2GOGBK8WmwTfiP14IYsoAI0U2
uHLSdDy32fXE7tmCjZiKicOA0XPW4rc/Go8zVFQ2IeNSvHEqalUdUvjBu8UYm9DiGGxbeoVmOIei
ePmrePjqnmqdYZhs03mb9ldOwvTnNkM3RXu2bASmTuxYv4a5ZxXKK4fjZ6tnO8p15QO1mNf06yiP
jmGYzkd6hpSa9iX/ibfUqs77T91qNV+ntGmT/0pMmv4cbKd0Dww7apgratr/sO5juSzWsGKm2ay+
Dj/dJhr8n2zA/Fk/BS3KFI6uAJH+DjsuI95/F+Hpk0Rp3QzDkOFhvPs+LW/D0ivuw4aXluIKVXfF
yxtxlGKEN3pH1dfYuGAixhYvR+NRatrPwvJGihXsrcXt48xzG6t5rtF5OuPMfYrtvFqdffjzj6+x
ynbjyujG/L4//xizFj2DdVa6G+GRjGE6NEkY0jAqi82HLrpPTIeM6I8O3auary+houfjeIQ6UtsI
R/Nea9Y7ISP6CPr+UjWrn78TXzyyAtt6DsZFh/fgg4NGmi07euCMHX9GmIznm1uwITIUF7RCv8Ce
95rgu3CwWnMy+EIfmt4zK3QjFmzwY4Osu0fxzdUVeFwYuPH3vIxHS3tj6kNbsKP2duR3VckJMqIl
a3DJf7yq6vxR9PvxbM0wank+Wor/+o8nhCGm3R7HzllP4FW5j8jDkWkq6PeGEYorwyqOjOhd2Dju
N6psz2H6y4s8jeSXv/0lXlfpNj1SgJpF3H/KdC5S7CNdjdkx28378d67H2P3Izeqh+pK3LUmjN3v
7VPxbYDWvI/ZrP/kfbyz71X867XqYb9mAf4QJgM6GhOv/gwvbBFeqzCcOy4uxfcGfyIN6yfvv4OL
pkzEuSqLTBg2ZDjChtvpyfAhZomn4qHyq2H0fI5H8d198fKW3dIrjckne9H8T+X4R8sQuvfT8hz/
HVz36Tv4oAUYOngY3n/sZpRlPGDl7D+nUDvPp+K+xvt7wvjtj6aq+2E6frLjC7zz/ucq3qbvdQtw
91X95fJZ374J3++5AVvZkjKdiFbuIz0L/7D0D44Hq+afRqq4tsBs3lOzfjh+EMvKnzcLj27WH/jH
UCSs5OiJV+OzF7Yg9P7X8H/7O/j25C7YtiWEnX9qwfiJrWFGBYMvhM/Vl2tgdEXEcFbblvH34GVR
D99ruFoYuLZs2o/E3Bq93l/Ag8pgMkwu0YqGtA+GXNgdv/v333n2nbYVsnn/63JsHO7VDykYSE34
1Vi50ewv1Rg9EVfnbcMz23rgEt8ZGDhmMro88xM80TIerWVHMWw2fiCM/b/MWiVMpwl9OlSMyuE/
0Dz8jXjpZbsPs/aRL3HFxBGI2+geOBTd/tPoAjBIcj8FdRs8c38Snm9a9MbgYX/Dk0++iGgf1MmX
WzejXiXa9+cn8ZtDV2PCCGOdYToDreqRDr7x/+EXY+pwo+ovGzu2BP/Z1laVmvfhMIZP8jSjgtGY
86uH0OeX16oyifDDOhhmVTTvx76DN06/BMKOCsM0BpMHf4Te41unWW9y5QOiyTt1I4qteinGxqm1
2CG/JTOZih7byEOk+Dvwxf2rrL7L8d+5Dv9lDTbJTQZDhTe57JtYffM4z/1isbf2doxTZfnemkuw
4B/zkzK8qXEWvn3/ctz6wY8wVR1r7JRFeNHDqvYddQp+930jzf964Ah+9MgtYDvKdCZY2LlDQKPo
z8C/4WGcbJ+H0qj9XRvHofLBq8CNfqaz0sp9pAzDMCcfbEgZhmEyhJv2DMMwGcIeKcMwTIawIWUY
hskQNqQMwzAZwoaUYRgmQ9iQMgzDZEjeTf+2hEftGYZhMoA9UoZhmAxhQ8owDJMhKTXtB/fsjUE9
T8cZp3VFXl4eepzaRcUw2eLI8eM4ETmBw+Lvx4cP4N0DX+G4WGcYpv1IypB2yTsFl/cbiJEDz8PI
kSNx7rnn4tRTT1WxTLaJRCL45JNP0NTUhLc/+hCvfvExDrYcU7EMw7Q1pxZcPeUBtexJd+F1Fp7V
H9/6xmhMmDABZ555Jk45hXsEOhLUOujduzcuuOACdDvlVBzatx/7jjbj2An2TBmmPUhoEQf26IVv
CE/0kksukQ8s07Hx+XwYc+HFOFdcN4Zh2oeEhnRAtx4YMWIEG9FOxPnnn4/+3fl37xmmvYhrSPt0
7YahZ/fHOeeco7Yw7cm+ffvw9ttvy987+stf/iL7QD//PNEPd0Ber4vEdesnXoIMw7Q9cQ3pAOHV
DBk0CN27d1dbmPagpaVFGs0333wTH3/8MQ4ePIhDhw7h008/xVtvvYVwOIyjR2P/yhJdLxoQpOvH
MEzbE9OQUkO+f7eeGDBggLHBg4PbKzBaNPnzhj2EHWrbScdHz+Kmby3CqwfUuk68uBicOHEC77zz
jjSaXoN6Xbp0wZdffom9e/fKtLGg69a/ew+cmpew94ZhmAyJ+ZRRH9uoQefHMaRf4HcPPYGb/hJB
ZM8CjFVbmcz429/+hs8++0wazDFjxsiReJPzzjMG/bp16ybTkLGNBV23YecOwjnslTJMmxPXkNLD
yN+Lti9mHyg17/fv34/BgwfjoosukkaU/n711VdWs/7rr7+Wf72g62Z6pQzDtC2ehvQ00aQ8p0ev
uN5ozcz+uPGZt3H/JXkY9hA17A9ie8VoObqfl9cXgV8txUytyf9FzUwVl4e+gafxIW08uB0Vo41t
FIx8CMp/GB76Yw1myjixvEPLv28AT8sMvAk9PArTq/+Ih0cZ+U6v/ky0sm9CP5nXN7BItbVp27cW
vQqz5a2vG8vP4omb+sk8vkHbQw9jlMzDyFPn42fM/KPjTOwyiDC9Gl6pDhyw+wGoif/RRx9ZRvSL
L76QfaT0AT6hp/WCrt8AcR3pW2CGYdoOT0NKzcGRg4egX79+aoubfihZ+zme+t7F+LFo2u9ZMFYY
ypvxzSduwl/EQx6JvI9/+XwlnlGpqS910v+9XMVF8GX19RhERvSbf49dD34gt0Uin+Nft1+FgGUh
hZG+4x2UibgDr92MJy8ZjJ/lbxTpDuC1ufW47zfxe2XXlf4CQ14W+X74DHrffQ6u+svd2Cvy+vCZ
S/GrH//W04i5aQouQNPde8Uxd+KWNePRe9EQvExl3bkEbz34C7vvsymIBU1G/sbxboPblpIRvV6V
gc5354QK3BbD4OocOXJELUF6oqYRTQa6fsPOH8zNe4ZpYzwNqdmsT56DeHfXx7jx4e+rvtJeuPzO
RfieXD6I8PoNKLDiFIffwdsF/46fXj9IbeiHf1gwF3vrthneKoSRrjX6XntdOAojL74H98q0vXDh
qJEyhWgAI1x5ueHhidD7npfVdmBa1b8jQKdw3oXw95uGRXeNw+ly1S+OlBzDy1bi3nG0V3+MvGw8
yu6/DrJW+o/EZX1oQTG8DCvvNfLHeTNwzz1v4akXnUby87dex7agMMaqrGPmv4Xd//2u5Q2bnH66
zEWie6K6Z2qip42F9ErZkDJMmxJlSHt1OQ3n9T4zRUN6GO+EPkfBRaZR1IkXlyld4Ju3XXppFL5e
eoXa3jGZVvWpVVYK//2gMr4aZ511lvxLg030Yb3ZnDeb+eRldu3aVabp0SNx/yddR7qeZ5zWTW1h
GKa1iTKk5L1cLJqDZ5xxhtqSDP1wVUkBlv5E9X1Sf+kvH1RNeyPu/mLXJ1I9LsLF9bfhR1ZTnr4C
WIahRePRFibXC/JO99X+Hm9Kt/AjvFa3AftlTIo01eL3RibUhsfSpSNx41XOF1H/kZdhi94dEIOz
zz5bGj8abAqFQo4+UTKmO3fulE18SjNoUOKaout4gUjHzXuGaTuiDCmN8qbmjRr0K1mBR5uLcL5s
ug7Gz/rfopr2FPcEXrv5SVyimrVysKnX5Sjf/Ciai85XTfP++L+Xv4hqq6nfDhTejCWX/grje9Px
r8LTZ34Teos9aYZfhv+pGGqcx6AFuOj3q41uBY3zZjyJF29Zo45FwR700qFvR4cOHSrFYZqbmy0j
akJGtFevXtJbTVY8hq4nj94zTNvhkNE7q2t3TL1wOK6afGVSzcZ40ADTlJ/lo44GltQ2JjVoVhN9
fE+fOZFBpT7RPn36SCNKxjhZDh8+jM0vv4yN776Fz48cVlsZhmktHC7NAOG1DD5vUMZGNBvN9FyE
pnmOHj0a48ePx7e+9S34/X75XWkqRpSg63nuwIFyphrDMK2PZUjllNDuPdG/f39jQ4pY00VlyEIz
nYkLzZCi/u8urCXLMK2O9VTRqO7AXr3TVnrqdXk53lSj0RTo21Km40BdAoPO6oszTzNG/BmGaT0s
Q3p2t+7y0xqeEpq7UGvj/J691RrDMK1FXl1dnTXYdP3116slJld5+umn1RLDMK2FNKThpg/UKsMw
DJMqliEtmz9XbWpbqqqqkHfKKYicOKH6U+lXME/gBC2LbUePHUOvnj0xZcoU+f1jqiPUDMMw7U27
G9InV69GaSCg1oQRtf5nsGZNDcaOHYvXtm/H30+dyj9zwjBMh6fdv4Uhr5M4Lv4eP07huAwtKhA0
q2fsmDFYv369XE9IXan67EoPfiyuV/FxqF9cmjhd/WL4tbxL69T2XEfVa7zzrStV9dJWlRJVhjqU
xrkObV4ehvGg/Q0pteXlAv2LyJ/LoHnlxs9mRORXA2vWrMGmTZvwVQK9TYuiKoSCAQRD9udXoaBf
RcanYOFMhJfEf+jqltSgRMu7qkhF5DqyXvPVijdFVVQntbDbGK2MKEOkVs+9CFV0HRzbbNq8PAzj
Qbsb0hMnDEMqbndpQLdvfx3Llz+G7a9vl+vTp8/A7T+8A3feeZfwXrU2f7IID4ackYKFVVhYoLYR
plcZ5akUYSYqYnilhvdTXN2IskIPT0fzhP2LFxuekhVfj8V+tY8IpRRvHcQZ51fb6xf7xboov/Sq
SlFn5p/QuzLK6S8tlefoX1yn8je8ciNf00M3PTqRP63RsfzimJTevxh1Mq1dJgPbC6Q0ekw8jOOq
/dTxkkM7Xkr7MUx2SNmQUjP8n//5n/GLX/xCbUkNGlgi80geaPVTNegzYCD+bsb16NlvIH69cpVs
8pucEGmTp8EwdsXVaj15iuaXoMbTKzW8n9pAvu3tmu4oGeYKH0LKSy0Pl6E6P4iQiq8rLUS4XO0T
CcFXUyZKaOCMo30LlfFvEMeqRoMvhEjIhwqVfy3WJjAmopyhICBOvVzmV2zkHypBeF29zNf20Omc
QjAdzaIqsWzsiEh5GMXhclnekvA6y2BWF1fAZ56/SFOY0LALRP3Mknmp/eh8kjLC9JLRjkf7pXFN
GaY9ScmQkhG9++675e+spwuNzpMlDe0MYfy3v4OLhwxCePs2jLrgfIybPAX1oZBIpbzWlDxSv2Hs
YjT5hDVBAz2YXu1yEVce0yuNwe4w/OULYTq9RVV6c7JOmL5arQugAAsbImiQLrI7ztgXa03jFEC5
cqX9JdOs/CWaB+zl6fmD84WZJAKY6XGaMfEHMV+lD3jsmB9cbXv3oqmd2LALRP00Vhfb5SwsQ2Nj
DYRdj0/9OoRLtOOJa7M6QfcCw2SbpA0pGdFbb71VamTqv2yZKuZg05Ytf0avHj3wu3Xr5ESA9b9d
hzNOPx2vvPIKWo4bacgjSRnxoHvZykTE9ko7ENRfSC8DR6hSxrPt8I9ymPOkCdS6y9rg7G5hmBwh
KUNqGtGmpiapPpSsDqYX0iMVTJo8GQcPHsT0GTNQV1eHqVdfg73vfQCc3hcvbX0Vhw4divu77QkR
3pujny9mH6kiVa90hA8NlhdJ2VdQA1kR3e8q+wvlsSnO5dHVrUVqLmQ6NCC821iqXzwLZY3GcjJU
F2v9lKIeK8QZJCxt0UygIkFTXnnYjutUMA2+miVa/dRhSSqFZZhsQN+RPvhQpXAYvBHGLDJ79uzI
hAkTIiUlJZFAICDDI488olKkxmOPLY+0tLREjhxpjjy+cmWk8a2myK53/xrZ9OqOyOodn0Y+/Ppo
5DdvfBR54ZWtkSUP/0TtlYDaAFnnqJAv2voWoWBENBAj5CbFhNLo8eY+etDiQ8F8bbuol/xgxD5i
bUQ09T33i8pX7WflR+sqDe1WG7DTeGMfy5Fey8NxzEAwIlrLMk2Q0sptckexnB8JhkJGvEofCOrl
DYijKbzqR4+Pui5aHKHiHdeJcOQryhM0y6XVkR7Muk1UHoZpIxJ+kP/ss89i/vz5cpaR7okWFRXh
rrvuUmvJ8+hjj+G2225DS4vxzejr27djuwjHuvXGzTd/H5vfO4ArhvTCS5s24b1dISy47z6Zrr2o
K/Vj1/x0mqB1KC2lmVtt7VkyDNPRaPeZTb969FHMmTMHLcda5Dq5DcS2N3biox5DcOWwvnhxz//g
8rNasPapKty/YL5K0QGh7gIaRJErNLLPfYAMczKSfmdnmsjvSI1/lhElxvhG4ux9u/Gnl/6E0V2/
wqD+fa3+1A6L+SUAD6QwzElNuxtS+o7UgTJE3bp3xxUTxmHG1EkYdfFQdBfrUWkZhmE6IO3vkQqj
eazlmFhSPmme+CcFnkwf1QjHjh2zZkExDMN0ZNq9j7Ry2c/ljCX62J48UfrESf5V26ScnlgmI0rb
H1hUpvZkGIbpmLS7IWUYhsk1Oq8hfeMNtZAil16qFhiGYVqHdu8jbQuoC+Do0aM4cOAAvv76axlo
mbZRXMpYc9pjKw/R96aOWVBqn2T0PDo/pnpVcpqvOqYilFNdqnXQ1aair4OhKJXe9VHnq4muWMfy
EmJJ4v5hcoucMKQ0MLV161YsWrQI9957rwy0TNsoLmXUnPZY+idEUZXrcyexTyLtzmyQlHB1itAU
U1KXSlbz1cJUhAoFkeKeCSE5wEJNbco9L6KutAK+YJwLGhcSnQlBP11S1IqQipbXiSRx/zC5Rac3
pOaDU1NTg8OHD6NLly5SHJqWaRvFtSqWtxHLG4uj3WnO91feymLLyJn7kAejL2v7WHnZ8YulVyTK
IfIx8hTBcrkML6qwrNrWUnWX2ToXCsl7T2RE0prARd/dprOjWU5ZB7aWq32qi7GWpAdj5S3jV2Ph
KLWeJLqH61+shAoYxoOcMKTEaaedJsMdd9yBGTNmyG1tgvI2YnljsbU7hQEsDEu9UBkX8qGmzFQo
NXVPq1Gcp/YX8WvJ6hVMQ0l+PoKrTck+kZZcncBMLJT6pY0oq7F1UUO+CtVsNqT7nL8coHnRZKA1
PdXk9UKzANU5nbN/lDirAkwryafp9bYx3x0W/1tnvaSc3QbC8M4KY2aqsyWE8dY9XNJ4tS4Xw7jI
iaY9sXTpUhmGDh2KcePGyW30ULU3MbU7SeGpVpO8k7Oi3LOhAqg1t4n4KmMBC8v9KLMk/oRhqGhA
0BQQFQQ0XdSChasdosyxqF8XRollnAXieKtLwoZeqMNzNkPq/aEp4fCOzaB5ydR1Il4StJ0MnO58
1u9qQHWZ/XMw5eFZdlnrliBcnrrUoHG57L2cerMM46TTG1ISUunWrZsMtLxhwwbZR0oP3MCBA0kD
EEe++kqEv8m/Rw8dkg9bW5GudmdciuYj2KBk+YRhKEMJplmHyYdvhFpsLRxTX83QxlNglafvDNEG
MKD9Aq2O/gIrmum3JQPJyBYrw1xcLZbb+IXAnJTkjEdKDx593P/HP/5Rrp977rn4P/Pm4eizT+Hg
D0txIPBd+ffQ8ko0Hzwo07cFMbU7o/Q5jb6+5EaRqTkL6ZXWra12eKCAaNrrgtSkMO9zKeubkNen
DlgwzSd/hsSmHuvCPs1AdyzMwaSqKuWZahVXsLAc/jJbw7R+F6yXizEopAxzbQCBWvcLQfU5u7o1
jMulXS2H3izDuKDvSOPpkXZYXn/dEY6/9lrkyJYtkbsnTJCBlr/6lzsjn/WBDJSG/n7YD5F9//bj
SHNzs8rIjVOL0wym5KV4FqPipJ6m0taMqd1JuPQ5zTy9dDSjNDpFTsIXi9IlrQ3kRwIi2Pu6jqnn
HbWvuY8RrPIkIFoT1NAKTUhS5xmNQ6dVuz6eerMUPE7EPld3Wb3rlXDUj6nhKvN2ac3KYOYb//5h
cpOc+SCfvFH61Im+HSW6du2KA/94PU589olc7//C6/h8ymU41kW44YOG4Mz/2oUePXrIuM4BebCF
qCkJqd9+MkhfP5VhmNYiZ5r2JuZ3pMSJzz+Vf4lI8xG1JLZ/9L5a6hzIn0zOK5Q/D9Jodv4J6PMc
66eik+sjYBimDcg5Q2p+BkWccu4g+Zf4n5lT1JLYfsFFaqlzUFSlDcBoI8mO/r9Y31C2G/b3nV6h
LWYyMUxHIecMqfkZFNF1+g1AF9GWFw/y2WtfkH+FlUX3W++UH+0zrYnx3apl2F1B745gmFwjZwyp
/hkUBeoj7XZdEbrf9r9xyvlDpEdKf3suehjdb7nD8loZhmEyJadl9MgTogEo+jlpE/JEyYhSc5Nh
GKY1yLmmvQ4ZS/JMaXTeDLTORpRhmNaE9UgZhmEyJCc8UmrC57QeaRLliUX6+p8uFarWRJ/L71Fh
ssxpCqgY56tdG+tYXlNDzXNso+vGnDTkhCHNeT3SJMrjiTAi6ep/Sv3OUBtoatJLQVfBcn+2Jctc
4q3zmQT0SZhDmUvpBnirdRmqWzSFiWEyodMbUvkwitAp9EitfSmuFKWlWrzupQkvsLS0FTxBMiJp
fl8a9aJICvPcjbqx9Dwtd68ei9eSdF9sNaa6JcLIVk1Ta0mi152oc1YOZdqbnDCkhPkhfsfVIzWN
iBkn0mr6ltKAmHEhHxo6pUIGeXgkN+cHiWAVTCtBfqBW8zp3QyqHmh/ue7xoKnzzYxpZb4Tx1j1c
UefFLBzKtDM5M2rf4fVIScHJV4NC03MqbtDEmkXSmUCxGVdYBr+uXRoT79lEbTuLSPO4tWD3MQpj
Kl4EFbSdDJzuEdfvEi+IMqkXYBq9WXZnpnzRrE7VDXbrvFKdc0udaWc6vSHtTHqkjimdoRLU6PJ3
ytM1Qq1Lci8W3rOJ2nYWkepXdIWoHoRAwFsIOT9oG0vx9vBb2gHCWxVG1njRFKKMlnkEiOkk5IxH
Sg9zh9YjpX68mIZBeHlpjlJ3OMzBpKoq5Zlq9VGwEOX+Mthi/5pwqMNAhxAMBBFyWWezz9VRjW6d
V6pzFg5l2hvWI3XTRnqkUVqcum6oW99S18zMQN8yTf1PIvo8XTqnXljHM8rv1BE10c/HI884uqJm
flHn7tB5DUSCMp2Rd8zrJYjWVRWBhUOZNGA9UoZhmAzJmaa9SS7qkTIM07HJOUNqfgZF5Ioeaauj
f88aFdpgJhPD5Dg5Z0hZjzQJHF8IuEPqP13MMCc7OWNIWY+UYZhswXqkDMMwGdKpDSn9xnme8EQj
J06oZikZzxM4Qcti21FhRHv17IkpU6ZgwIABbDwZhmkTOrUhfXL1apQG7Pkz9CGg8T+DNWtqMHbs
WLy2fTv+fupUnHPOOSqGYRim9ejUfaTkdRLHxd/jxykcl6FFBeLMM8/E2DFjsH79ermeHM457KV1
dShNYrpi/eJSb0UoTZ3ImAevzVeX+XrMmVcznYyfYjaVpvR0NLruMe/dVU5LgUmPS1geQs9bnJd1
bqIMumpVZyeqLjT0rxsc9Zrofohx/2jHsuPULlZ9m9farn+ZxmNfs7yOa6wFvYh2GrdqmV7WWIpm
iVB5aLPzrON5zdiz6jWHvhDJ1symI0eOqKX0WbVqVUQYzsjRo8cizUePRg6LPA8ePBQ5dPhI5Ehz
c6SmpiZSWVlphJ//XO2VGJoNY09wUTNxkprxUhsJeKajmUvRs3hoZo1zppE4VkCfBUREHz8UDNgz
n0LBSEDLw5EnzfjR9qPzMuISlYeOqc2ukrONtHWRb1LV0arEqtsMkOdl10NtQJ9RJo6nzchyXyvH
NXAR9/5x1B3FadeByqOfo7ueXetmealsxna7zPY2Y9m+D6LPy87T+75Ijhj3btQ2m9pAusfqeGTN
I122bBnefvtttZYeJ04Y7fiI+K+lpQXbt7+O5csfw/bXt8v16dNn4PYf3oE777xLeK9amz8e4s2/
1hfSRDiUMIhDxUh5B1FeSRFmoiLGW70Bu1zbd4cb44qc2AQQ9FU4PIxYFCxcjZLwOuEFCC+hgoSR
7HIXVYVQUrNEeQGJymNI4UmkOLKmT+qe3+7A5Y2Vlqpym9ttr8fwtjXPSfcAdb1Wub0Y1dXFdrxe
GY7vYl35Uz7KW6pTXpLlecrzivW5VxGqGmx1LpIE1IUTC6b5nKIzJsncPxYFENna10GUZ7V1nYVH
WuHDfO/CSYpm+kGaLySG485e3ybFcjyP795X3L8pKGfpnrB/8cmtAps1Qyo8Uuzfvx9vvvmm2pI6
NLBE5pGmh1Y/VYM+Awbi72Zcj579BuLXK1fJJr/JCZE2KXaHhYlJn6L5LlUnyQj48o0l4+ajJk09
djXk25odCRi1sDxpRahRCGM3qSn5lWCKhfngJiqPePhXKyk8l3EyKML8khpbfESnbgnC5TTwRyEE
nyWsSscWfq0mM1hURdqlAcyUhRSGNpZeq/zuVaQlbVMz3nr6DYNj7Sd2DBcaTUZ6cQQhjk/lIZ1S
+rUAUSbjRWNjGvQKnyaB6KJuSQ1807RIEmDxemmmdP/UYUmZuLaObFfDV+GH318Bnyaz6IVD8yUh
ZldBnHzFS8AS2UmEeHkVyvo06r08XIyTWQY2q32kl156qTSo6RpTGp0nSxraGcL4b38HFw8ZhPD2
bRh1wfkYN3kK6kMhkUp5rcl6pMkgPRn9YdaI9YChUXoPu8N+BINkzISha1RRSRHHeKVFgvKY5yiD
bZxMCmIZdkNYVRngQpT5azXPqBz+MtMjpue2Ag1BU8g5vl5rTEjjtNGU36MgPFfx31rzIP6g5dUF
DIsdRVGVaQxmeVw3w9B6GVnvl2Ziqq36IRFwt0dMLzHh/ZZ4G3V73zxhyGbGNPzRmOpa4lrO8rhu
1Mpy68fGwZCBtdMaL8WTl6wPNmViTM3Bpi1b/oxePXrgd+vW4frrr8f6367DGaefjldeeQUtx400
9KAkxQgfpIXJgOgHTHiJol3YsEs0+8Qbf6FoFobXCXdCbz4ngfRW1ib6KQ3hWcInfGDhdTaYotIm
9VgX9mFaQarlEUZcGlu1Koll2J16pbWOlwrl0yDsL20wvLESzcuLq9caB39QCUVrIUl74ICuW3id
fpJGd0SFaKp7arx6vTSTuH8CtaqctX7UOI6XGGtfCumcpLxuYTgOS10j8lcGeFZbunSIUXv6nSUK
qSI9UsGkyZNx8OBBTJ8xgwbPMPXqa7D3vQ+A0/vipa2v4tChQ7L5nxReD4e40RwjujH7SBUeeYyg
tnQ4bLTFCqbBV1OG6nwyeKkgvJWZYVTUqFUvRNO6xjdNpBRphdNYrI2a1pUWqrgE5aHzc422ihZr
lJH18kqjfl3VBfU1grxS4dJUB8ptj4qOGas+oyADp44jy257ualA3Rr6da1ztLOpKVwouykMIyrW
PcoX9dJM5v4xKaoSXnBhUn3f6aPVlcTZnSC7dmTXiGFEo788UV0CrvvB6Ca3t1Dr4qSWgc3WqH1F
RYX8u3PnzsiuXbvkcqo89tjySEtLS+TIkebI4ytXRhrfaorsevevkU2v7ois3vFp5MOvj0Z+88ZH
kRde2RpZ8vBP1F7JQKOXsk/ACA49TYGpmWkPd0bjGoGVI6fayLfUybTi1ciuxzFtPU1zX0prLrvK
qe1nYhzXiHOOOscpjyh7QBxDz1ffV8c56quXN/Z+Rhr72BKzTq0QPaKr5+2o+qh9jbyt9JSYvmCQ
21Vdqwz0PB1llentOBkcB7VxjvYTMe4fvZxWXkZaY9V9H7hG9K3t0Zqs+nWOjtfLo5fV475zXxdz
X/czIHBc60BQq1eP+9LK1+uY0efT2cjaB/kPPvggpk+fju7du2PkyJFqa2o8+thjuO2229DSYnwz
+vr27dguwrFuvXHzzd/H5vcO4IohvfDSpk14b1cIC+67T6ZrL8g72zU/nV/j7EwIj8W/C/O1Ee5E
kBdUWFOCUAr7dGjIm14yKu1fbGU6P1lr2pMBJWHldI0oIV4E5oIMl152GX54xx24vDAfm5q+wBWD
e+JF8ffSAl/rDjYlSXo/adzZcH4mFBf1mVJhWSPQSF8W5Ag0MMdG9KQma4Z07ty5GDEitR5CN/I7
UuOfDCZjfCNx9r7d+NNLf8Lorl9hUP++Vn8qk0Uc8n08sMHkDlkzpCR1lyn0HakD9ZB2E97uFRPG
YcbUSRh18VDp/UalZRiGaSU6xKh9upCXeazlmFhSPmmeod1sratAUnrmLCiGYZjWplOrP1Uu+7mc
sUT9n+SJ0idO8q/aJuX0xDIZUdr+wKIytSfDMEzrwXqkDMMwGcJ6pAzDMBnSqftIWY9Uy8cMrnIa
oiSuuITlIfS8WY/UWa/x7gd1jVwzgbKKdR5OvQQL7Tzdp2UKunjFJYuRh3bseOWxrkf8GXIdjawZ
0ubmZrWUPtScNxbon9FHSvJ5xnTQiPx9pjVr1mDTpk346sABI20S0FRKh4JRBQlhJKZg4UyEveaH
F4yCHwHUivyM6YbGfPRQMB/5Ur5HSa2JYwUDQUPJSH2bKRWM8htRJvM10oWCAQSl2IXIJxREQJtr
HvJV2AZB3LC6Qk8tio24hOUhY0CCGsZ+kZAPNZa0jzFNNclp8K1IPOOVJvTQyjnmxnk6RUvE8TRV
KUe9ivqa71sb40GnaySumV+tdgTUZ2e1duPNhoyadZ50rzsNHukMyHtAxqVn3EgUxnHseOWhb3Kp
vjtUBSYma4aU9Uhp/jrrkTo8Hc0z6rR6pG6ssikDpXnAFPTTMFsPVD59mXCci9zX6c05Wh6xPE8v
yKjFmlAh4myxFpJBTMG46dckmRu3k5M1Q8p6pKxHmpN6pB4EpGITGWxxjrNsD9jt5Un1K9HCQFmh
1ZIoDxsvPse50L61mmiIMM6ztJYHtSAqUupaMF9y1BKL9WKpw5IaUg5Tq/Ggl4XLmy/OcUWTrPaR
sh6pikqKOMYrLViP1KSt9Eh300tKGBRb5Z7quFpUj1lWUT+NjVFSelIWUFVaUZVm2LRzccj1iZd/
o+6tF5ahsbHGKZUXF9XqcjftLai/PLHQtEn9ujBKtLTUSgqqF3eukvXBJtYjNVIkA+uRetOh9EhN
GspQLM4v6mWge9UqeOadIobXq4d0dB6EQRXvR+slRMiuCOovPxl0I9In64aUYD3SZBE3OuuRCsjA
qeN0ND1SE+E9hqI8+Xh96BkQt886PuRt26cl6rWiwe5uon5OORinjKhYd1eB0S3ivOZR/cfiniSd
mpyGviNlPVI3MfQkTUxtyHgiipRGi4+r/+ml0ch6pOLsnOh5O6o+al8jbys9JW43PVKVv7wO9vWx
846+Zma27rrT68BxLl75RpXX3DeR/qczXj/F6PJE64YaaVzXUqDfd1QXQUon6yR+ebyOGeve60iw
Hmkbwnqk3pAnyHqkTC6RtaY965HmCs7PhOKiPolhPVIm18iaIWU90pMQ9SG2EWJ9ZsMwnY+sGVLW
I2UYJlfoEKP26UJeJuuRMgyTbViPlGEYJkNYj5RhGCZDWI+UYRgmQzp1HynrkWr5mMFVTocqkBmX
sDyEnjfrkTrrNdb9YF4f53x14xrYs39MkRQKpYsXG8E8jrWvs/7lNq2scpuaaeS4xnp6Qj8HLUSd
ayLUsR0zwczz8KgLq0wpiad0YrI1s+nIkSNqKX1WrVoVEYYzcvTosUjz0aORwyLPgwcPRQ4dPhI5
0twcqampiVRWVhrh5z9XeyWGZldEzfxwT+nwpDYS8ExHM1GiZ+rQ7A/nrA1xrIBrFpXH8UPBgD2T
hGYhaXk48qTZLtp+dF5GXKLy0DG12Spy5pC2LvJNqjpalVh1mwHyvPTZQ/oMHXE8bZaY+1o5roEO
XQ9Rd3ZRKR+xrhI78zGurVx3lcXAiDfycl0zmV6fEeSKsyO0a6rSWNtShM4tar9410UcM+p+zk2y
5pGyHinNX2c9UpnGPC/de+rMeqQl5VJcho5CClcoKTG2K+w6Nu4tOZe/YBpK8jXVKqJ+HWpgKD7V
L14LnxTzVsiyxxBnobywy6g7h6aowmubJ/q1FPWaMzMoWp+sGVLWI2U90tzVIx2Bab4w1tWT2lYJ
5k9TmwVSwavCrFe9qUwiMwFUa5ZUiqiUGCIzu8Mp3JUkEiLugmRMZTycvxQh6rW4LKNnI5fJah8p
65GqqKRgPVJPOqgeqfRYC221LRvVwlF1Wx4utD1yUXeBavPeqcPa6gDKk/IcCU3nlF4snq5qKojj
w752dP9V1doDu4yTrA82sR6pkSIZWI/Umw6pRyriVtfWYnUCQ1jkqFijnknomV4y1QG7RZH4tjR+
g4vOvdafiqgz0xp0iFF71iNNFuHNsB6pgAycOk5H1SMVFBQVybq20cpt4qpYo35mYZa4xkFbWj+l
ui6qim5BxMXzfnb394uyV+T474VkQrZG7VmPVN/fGJ21jqcd09ZnNPeltOayq5zafibGcY0456gz
65ESep6Ossr0dpwMjoPa2KP92vVQ10Gv/0AtjWLnO8vqvrcEskwe291lMsvrPIbcpNLao/Re+1nE
vJ+d91cgaKSTyaLqnIJ5zTzuS/f1zjFYj7QNYT1Sb8gTZD1SJpfIWtOe9UhzBdYjpa4cNqInN1kz
pKxHehLCeqRMjpI1Q8p6pAzD5AodYtQ+XcjLZD1ShmGyDeuRMgzDZAjrkTIMw2QI65EyDMNkSKfu
I2U9Ui0fM7jKaelC6nEJy0PoebMeqbNeY90P2vVxXD8K9kwje5upR2of1xHndYg4eB3LwHktU8zW
QNWTYyaYeTyPglr3nWuGXK6SNUPa3NysltKHmvPGAv0z+khJPs+YDhrBqaeeKrzSNdi0aRO+OnDA
SJsETtWbEHwVJISRmIKFMxH2mi5YMAp+NRfamG5ozEcPBfORL+WWTCGLEIKBoKFkpL7NlApG+Y0o
k/ka6ULBAIJSUk3kEwoioM01D/kq7JtdGIJCqXhkxNWi2IhLWB4yCBXwhYz9IiEfaspM3R9jmmqS
0+BbkVjGKwPIOBSGUa7qxylaIo6nqUo56lXU13zfWo+XpqFhEKgV+1jXj+oviHw1/ZYMDM3dN66J
uLdqNEUlcb0ccRXxp9vqkFGz9hXXq0Krq7pS57WsSMe40bey4jzE6VkYYi+k4BWNoZsg7l19hxwm
a4aU9UhpmjXrkco05nnpHmAn1iNtiK5YNPptWTtPPVLCoRNKsoPJWyEyava+ThwTQ0irNOls9Wsp
6jVnZlC0PlkzpKxHynqkuahHKsVgCPWyJXtfv6tBefq0Wyw9Ujd1WFJDSl1qNRnMFzx52bFmWlmi
NolhPdLkyWofKeuRqqikiGO80oL1SE1aW4+00ahYcWhDIo88fRvVwlF169AjtaA+TdEcT+b8dcxr
5mraW5DnLl46iaT9DFiPNBWyPtjEeqRGimRgPVJvOpIeaYFRscK7BmYunAaf8H5lzca40E49UoH0
KqlPMwOdBlku57WXLQ/y3HNFKKaDkXVDSrAeabIYAz2sR0oGTh2no+mRihdxPsLiP6pLw8suqza7
TLRym+gVSx6jHPxSRlSsJ1clVFatxSDqsqLBvrfIo5aDjsqI1pU6Wxfe9zPrkaYEfUfKeqRuWI+U
9UjT0SMVqLJYeem6oHTt4uiRuuuOQoxDRuOoA73uvLRBXXVr7ht1MNYjTRbWI21DWI/UG/IEWY+U
ySWy1rRnPdJcwfmZUFzUZ0qsR8rkGlkzpKxHehLCeqTpoV5A3sHV38lkhawZUtYjZZgkcbyA3IFf
SB2BDjFqny7kZbIeKcMw2Yb1SBmGYTKkUxtShmGYjkCnbtozDMN0BNiQMgzDZAgbUoZhmAxhQ8ow
DJMhbEgZhmEyhA0pwzBMhrAhZRiGyRA2pAzDMBnChpRhGCYjgP8PTuAsNiOES20AAAAASUVORK5C
YII=
--=_f74cc5b7e738ccec11292b40df78db07
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluR1ctVXNl
cnMgbWFpbGluZyBsaXN0Ck1pbkdXLVVzZXJzQGxpc3RzLm9zZG4ubWUKClRoaXMgbGlzdCBvYnNl
cnZlcyB0aGUgUG9zdGluZyBFdGlxdWV0dGUsIGFzIGRlc2NyaWJlZCBhdCBodHRwczovL21pbmd3
Lm9zZG4uaW8vaW5kZXguaHRtbD9wYWdlPW1haWxpbmcuaHRtbCNsaXN0LWV0aXF1ZXR0ZS4KV2Ug
YXNrIHRoYXQgeW91IGJlIHBvbGl0ZSBhbmQgZG8gdGhlIHNhbWUuICBEaXNyZWdhcmQgZm9yIHRo
ZSBsaXN0IGV0aXF1ZXR0ZSBtYXkgY2F1c2UgeW91ciBhY2NvdW50IHRvIGJlIG1vZGVyYXRlZC4K
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCllvdSBtYXkg
Y2hhbmdlIHlvdXIgTWluR1cgQWNjb3VudCBPcHRpb25zIG9yIHVuc3Vic2NyaWJlIGF0OgpodHRw
czovL2xpc3RzLm9zZG4ubWUvbWFpbG1hbi9saXN0aW5mby9taW5ndy11c2VycwpBbHNvOiBtYWls
dG86bWluZ3ctdXNlcnMtcmVxdWVzdEBsaXN0cy5vc2RuLm1lP3N1YmplY3Q9dW5zdWJzY3JpYmU=

--=_f74cc5b7e738ccec11292b40df78db07--