librelp0-1.2.15-lp150.1.1 >  A Zf/=„GDh*f}ҹMO$Jg~hy dѱ)9e>4<`6$Es1YZʲoOQGVf^gJv]jxTvm"K R]kwI|M_^vr2p .~p@+<?+,d   7pt|      ^ px,( 89|: ~>(%@(4F(CG(XH(`I(hX(lY(x\(](^(b(c)wd)e)f)l)u)v)w*x*y* z****+(Clibrelp01.2.15lp150.1.1A reliable logging librarylibrelp is an easy to use library for the RELP protocol. RELP in turn provides reliable event logging over the network (and consequently RELP stands for Reliable Event Logging Protocol). RELP was initiated by Rainer Gerhards after he was finally upset by the lossy nature of plain tcp syslog and wanted a cure for all these dangling issues. RELP (and hence) librelp assures that no message is lost, not even when connections break and a peer becomes unavailable. The current version of RELP has a minimal window of opportunity for message duplication after a session has been broken due to network problems. In this case, a few messages may be duplicated (a problem that also exists with plain tcp syslog). Future versions of RELP will address this shortcoming. Please note that RELP is a general-purpose, extensible logging protocol. Even though it was designed to solve the urgent need of rsyslog-to-rsyslog communication, RELP supports many more applications. Extensible command verbs provide ample opportunity to extend the protocol without affecting existing applications.Z=lamb56-openSUSE Leap 15.0openSUSEGPL-3.0+https://bugs.opensuse.orgDevelopment/Libraries/C and C++http://www.librelp.com/linuxx86_64-ZfZf90833d43807963200bce70caa1daf511668ee7b1236ae2df81cfc6f4ec2c5d29librelp.so.0.3.0rootrootrootrootlibrelp-1.2.15-lp150.1.1.src.rpmlibrelp.so.0()(64bit)librelp0librelp0(x86-64)@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.9)(64bit)libgnutls.so.30()(64bit)libgnutls.so.30(GNUTLS_3_4)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1Z=Y, @XX*W8WrfWW@V@VVUS_@S*@S&S"@R&Q5Qޞ@Qޞ@QQvwP`K@OO@O8@KŮ@astieger@suse.comastieger@suse.comastieger@suse.comndas@suse.comastieger@suse.comastieger@suse.comastieger@suse.commpluskal@suse.commrueckert@suse.deastieger@suse.comastieger@suse.comandreas.stieger@gmx.deandreas.stieger@gmx.deandreas.stieger@gmx.deandreas.stieger@gmx.deandreas.stieger@gmx.deandreas.stieger@gmx.deandreas.stieger@gmx.deandreas.stieger@gmx.deandreas.stieger@gmx.deandreas.stieger@gmx.deandreas.stieger@gmx.decfarrell@suse.comjengelh@inai.decoolo@suse.commrueckert@suse.de- librelp 1.2.15: * CVE-2018-1000140: A remote attackher could have used specially crafted x509 certificates when connecting to rsyslog to trigger a stack buffer overflow and run arbitrary code (bsc#1086730) * bugfix: invalid handling of snprintf() return code * bugfix: invalid assert predicate * some code cleanup * bugfix: error message on open error was truncated- librelp 1.2.14: * API extension: add relpSrvSetMaxDataSize()- librelp 1.2.13: * bugfix: duplicated lines after server reconnect- This updated library is needed for latest rsyslog(fate#320546)- librelp 1.2.12: * API enhancement: permit to set connection timeout * cleanup: replace deprecated GnuTLS data types by current ones- librelp 1.2.11: * do not accept more than one "open" verb on a connection * fix potential segfault when high-numbered fd is used in sender * make librelp not run in thight loop when out of sockets * flush the current recv frame if it exists if the client session is restarting * API enhancement: add configurable connection timeout- librelp 1.2.10: * fix a problem with sending large buffers * improve sender/receiver code * enable compatibility with older versions of GnuTLS- Make building more verbose- fix build on sle11. the sles_version conditional is just broken- librelp 1.2.9: * Ignoring return status when handling syslog frames now. Otherwise valid messages in the frame buffer will get lost when the remote connection is closed during meantime.- librelp 1.2.8: * fix segfault if KEEPALIVE is used- update to 1.2.7 - bugfix: librelp was incompatible with C++ without a real reason - bugfix: potential misadressing in wildcard match - bugfix: always last wildcard match was reported, not first - contains changes from 1.2.6 - report error when preparing for non-anon TLS and this is unsupported- update to 1.2.5: - permit to use anonymous TLS on platforms where GnuTLS lacks certificate verification function- update to 1.2.4: - correct API/ABI change in 1.2.3 - revert back to previous state (return void) * relpSrvEnableTLS(); * relpSrvEnableTLSZip(); These functions are now deprecated. - introduce new functions that return a state * relpSrvEnableTLS2(); * relpSrvEnableTLSZip2();- update to 1.2.3: - add ability to build librelp without TLS - API change: two functions that used to return void now return state: * relpSrvEnableTLS(); * relpSrvEnableTLSZip();- update to 1.2.2: - add capability to enable tcp KEEPALIVE - introduced new API relpSrvSetKeepAlive() to support KEEPALIVE - errors binding listener port are now reported via error message callback- update to 1.2.0: - support for epoll() added - API extension: relpEngineSetOnGenericErr- update to 1.1.5: This is a bug-fixing release that takes care of a memory leak on connection close as well as potential misadressing on session close. - bugfix: memory leak on connection close - bugfix: potential misadressing on session close- update to 1.1.4: This version of the library provides certificate wildcard name checks. It also supports enhanced performance options (burst support, requires support from the caller). It also contains some bug fixes, especially for BSD. - fix build problems on BSD - add ability to specify a non-standard RELP Window size - add burst support to the client API - wildcards are now supported in TLS name peer authentication - new APIs: relpCltHintBurstBegin, relpCltHintBurstEnd, relpCltSetWindowSize- update to 1.1.3: - increased performance of RELP connection - bugfix: potential segfault if no GnuTLS priority string was set - includes changes from 1.1.2: - add capability to specify the GnuTLS priority string This gives callers complete control over crypto parameters, like ciphers to use. - add certificate-based authentication - add capability to specify number of Diffie-Hellman bits to use - API extension: relpSrvSetDHBits, relpSrvSetGnuTLSPriString, relpSrvSetGnuTLSPriString, relpCltSetGnuTLSPriString relpEngineSetOnAuthErr, relpCltSetUsrPtr, relpSrvSetAuthMode, relpCltSetAuthMode - includes changes from 1.1.1: - added compression support for TLS - API extension: relpCltEnableTLSZip, relpSrvEnableTLSZip - includes changes from 1.1.0 - add TLS support - new api for creating listners: ... which permits us to set various properties before the listener is actually started. New callers should use it. Sequence is: * relpEngineListnerConstruct() * ... set properties ... (via relpSrv...() family) * relgEngineListnerConstructFinalize() This new style permits us to add/set additional listner options without the need to introduce ever-new listner create functions. Actually, their number would grow exponentionally, so this were a dead end. The old-style APIs relpEngineAddListner() and relpEngineAddListner2() are still fully supported (and supposed to be for a long time), but flagged as deprecated. - includes changes from 1.0.7: - ABI change: removed relpCltConnect2() API which was against librelp API philosophy This was only introduced in 1.0.6 and been in the code for a very short time. So we decided that the best thing to do is actually remove it (there is NO known released user, this changes was for yet unreleased rsyslog 7.5.0). - includes changes from 1.0.6: - enhanced API to permit binding a client to a specific IP address - includes changes from 1.0.5: - bugfix: compile problem on Solaris - includes changes from 1.0.4: - bugfix: busy loop on syslog sending as a client when server did not accept data; this was broken out only when the remote peer indicated that the connection as whole was broken. Now we properly timeout. - make -devel package require gnutls-devel to be useful- update to 1.0.3: - added relpCltSetTimeout() interface function - improved timeout handling - provide support for user-settable shutdown indicator - includes changes from 1.0.2: - added capability to support only IPv4/v6 instead of both- update to upstream 1.0.1: - added capability to stop server without canceling its thread - bugfix: interrupt of select() was not properly handled - add pkgconfig support- license update: GPL-3.0+ No indication of GPL-3.0 ^only^ files in package. Fedora also using GPL-3.0+- Remove redundant sections and tags from specfile - Enable parallel build- patch license to follow spdx.org standard- update to version 1.0.0 This version of librelp matured in practice and it is now time for a 1.0 release. Besides that, it includes a small number of changes: - bugfix: user callback never received remote IP address - bugfix: offers builder did use a fixed size string without bounds checking. I don't think this was a real issue as it was not exposed to the outside world, but now the buffer dynamically grows (which is the right thing to do). Thank to mterry for alerting me. - additional changes from version 0.1.3 - the callback on message reception did not contain a way to pass on a caller cookie (e.g. for an instance pointer). An additional interface has been added to support that. - cleaned up FDL license specifics - added libtool versioning - made librelp compile out of the box on FreeBSD - thanks to Michael Biebl for the patch - additional changes from version 0.1.2 - forward compatibility changes in support of our plans to use the rsyslog runtime in the future/sbin/ldconfig/sbin/ldconfiglamb56 15218928001.2.15-lp150.1.11.2.15-lp150.1.1librelp.so.0librelp.so.0.3.0/usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Leap:15.0/standard/4baeaac77ff10bf0c51953bf7269be51-librelpcpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=969c0f51c115451710875eb3b2192a8764987ed3, stripped PRR RRR RRRR R RXŀeyĘ#_utf-8cba8c43fb87e21f2c3561e491a1e88db4fd8e77636acc96171f2c31a60ed7218?7zXZ !t//Gj ] cr$x#U\~f3WGE 8띩Cω $D4= S iA3WE%XtQyK٦LLe7i"dOl|"4e ttx\?>1Zm=ɥ.𢡄.Z$zGٟtݎJc+p\d:4֤U˙BysGE0‚}ps=qcQ_u9Z4m;쑤wmH^w0%uD34"ßm}K1_NzkO9F@R׳k~Fo=r@oPPN!빭x42#XVjB m,q):7Q.9c.9&l|6v##)hDj?RH (3Lڃե`o٥tׅ(_*-0G Dg6Bg)iY``v_1%]«#*A1*Q[c #݄8@jBcRIuD\,4@f R#HZJPK#C WHv.'K+,HlO]Y~p5Lݤ(-e=ay{p ]I`Dh J tǑ$_0`GW:=4dFW*[nߕb\W2d-y\n9y%\QԈ jObkwBGK_ ҮHx H90 KyC`E@G5+{/E#oO6|{1J?U> x ~aOƩ5ؙځoEx.v']T 2w#!] iXn[LWzd,G)|1_پX_O Rn1| T.JTڲG|RtoMHW84Sg k2pzl&5֞NLke :W4Gul0}LK7m*hE˥8D5Eן%DtĵojV nd"Q6TR&4@}l.bFOOth36+bqzͷ݋q9c>BC9V9Ď(y&̬ʂelp,bPX :nJ: eυ'M ϻ5DurIgs:C!j#\jx׾r^6.3Vw G<,iF]ӀP{N{i@n+Lcˊ(|r]:D\NA+bJrs}Z43k 4y|ܵ_^ӄu^Z_V~dat s*ܓ$rtb'E]q1J+;HVm}~)6ۿJTA(1Wbj8Pf6 } bիg!p3.l ķrGGàHm'X2#Mg[Q]ϥS#\Lh,8rVH-UrhZ_)k mk .P&J˔3Rfl!!Yf?7z 1^=!(QF@_#/ ;@}PGqxf U}^Ws\U;fA@e1\y/+66jVy,.?lQԑg? 뺳)nrB1"$kL쪋:%{Uk%}[B|Ȟ$PCz+oEw!`eo_wqT%KUk׎)(_0I"f&QfM*21K̤odԾv4#w%uF*./!gϮ8a}NڱrP|qaU\XjJodkjSn=:MFu[bGEGm>{i5% 1?d/16BɁ_Q"4;sP>[3w`3_DN|#*%Ls oCFg1X(ғYBMyA2ePt:&&;PXkQ$DaLGH(Y> %WGKM̲KC;SzQ~7fw8'&IqFk6_EN}ᡀ3ٖFvQp@"tXj4p΄#<tx}{7]bkQ&ez$ԋfChSSIsfمG'1&hTa|4k#rLM,]+p%;̴ mG!޿{uȫ`IP :PWxvǎIr_tвӈF.E"ES#evq 2[Ș60rfczI #G/UMKa'Hck6k$9_/BAqw м6Q2$=-! {iHݟ4bznF)ksf2\Xdu4ڷdD@^],a%E;ƺe"pё.lUٲ0?&5M2aP W2OaA(~vVRV50 \ђ ϴ2ItG1bS$݅Z E4I \#LO' LK50 nр .Hgs8 #Бq*s"K@@D/#\nQnG:baSWjɖzq7\ 8^sK{;syԫ$sZP%nw o)1Q\r2η- Հ<,>Bu{20-8]P].Ik**jyӂ鲙D+"OQ?KYа44N2ӛpmj!L𥡋;)Z. d ;W(3ҥJ#V5 Ƶ[q]R_s{|T4_P}HCB_n#c;R0 '=NPJX,≃Ó2ܜ{:ƅ*⨻WSI^!bYg#K88Jt==x}X>ƟiAR@04u,Q:_?dl?,ĜE һG!B&z3QX1iqI,*6.*֖ zam]k~0`d~=M,B`FTl *mE,$; XR9}P SO'l 8A\8+Q砼7=iZ 36/۪ nu[@ƳMg k%x:!?[tc7,n]8ĩYSh99g(ZgQ gD˕If4+G~uVZ{^OyKr`2U׳X{u͹z[< $OeZ%Y-u+\K}\Sś QF)uIx| lmOu疉:Cm:3Pe"G6u+9i:&&n83i %rNBo? iY0ͷUqSS\SϘ}ZZ :ՆGACZM]y|ЋGfY C@t*q=wuS!3#k8MqZ 5 )i /g!/ *~`T\cZѶQ'\Jc4"xIw97:Ďk}͵xvN14}(2Z) +mTz=qT3lϯqR*?-%a7~Iʯ2LY^r P+T?韲S=Zy1}:eo<0 'HcffxrthT0h&imy $}e5FLz&wxY(X¿ '.ڑH,cdXCo_IRQld`cv8d" 0fB0w;z>j:e-!&"3 Y!F'6LBYr;N'}j9؜lXta|SET#>զP }x&5;JSg)yLHm~^5+_FO+:x]*S!BN6C4xO>j;So?Wvw~/|=$P_&>nN*l!/ˑ!t j%_zAwnrV鬡,(\~ƻ{˱GN/̵qEZf(BE.<˻NM x`@Mv%]V풘2IQ&`Dn`H薁l?G 'oF ҔldB"*ywt+o}a;ȋ.C( :lJC5U؜8؞{R/7G欑ZlX2<ۥ.!4cּSOs&o3PÒ/FR-ZP/ĈdozijSgcFomcYWa6 Ww \FY7pBD"jsD9 }IC+C<w8P+f-c^8I͞e56+n{u`?duV* z|UŞy&o)e[0jWc!]!DE_U~@tbW dK|̄W1?5+VT1sѲUF~l؀o Ԣk-IC|ЁsA3*|D]B"3 v4^]D= 0Z 'Wp.[9%Lp e:?@i;p%?-5pQs1e#/A2\*P:>+M̓<8݉T-IFȚ- 2zdɏE| "+b_$16 ]ODj˚, +vlކ<ܖW\rMR"nɭ> {\ClArƴOI~MGB7f' Vt%oh1u$ W-!ae06؝B~3vZ:f뢑j=[ '27 4I]gkqj'dwN9#Q@I`b̗t)hy#¼ƴh9=/)GybleVR=W.GGd"=ss+axXs>P]xʆĒuӫFŤ%oO1,4P׹FV6XoO$?S?u &hF}OUD,R Ĉ!݉= /|ZkdkG-B+ɾx3 "YTx0Um )Iҁ-i^-|φm+r h^)NÈ5p 7[PXBr \'o>tpY}b(=Ӈf X mX?[ o'LaQeMn$|̂֯k;p 7 ,3<\Dz'D 3]Lx @\_3]LD,2R2HxD 1)p|j?v1:ALgG! $_pXpX kiM}g $& @UOav>xQ Ǫ. #իe.;(=N\Ӧr2n qjTcəl3D=R`^:F;!`uH{GhUP_W _6}MD~N=zM7$8ny)Uy2[7iV!1_\㟒׆a_dg+[ *o}FoC D]8>ܾ˫{{.Mކqt<~ªs5iGƩ`3bVuނOwnF*(Y<0Ҡk: K&7Xx/d޻re Dl)aŻV/k64ΟljsՋ>c93Q0'd;=..0lK{GZq<=`a*N\|V#,{=.U*=@ʲ9^w-?cCv e B5l/%>LMʓO=t5 bz6FyS}Z@wH?/Kl /'{=a4D5+G~q7μb Qy2qYYlAux}JO SoH) wҕ4kL3@I^ʍfuYP \x»h~:P8S*O*E/Pb}Ug\VJz&p_ ~z؋&Z}&dDT2x"s%;qWؒ"N:+Q26DF` Pf|k}@ssP|_Kۭ4 C^܋6uW{%nԫibw/i]&FMǜ^ Ux!gW/j ԟ%oEΧ8rOZB 0`]~.q#{<ڱÐ3#3 }<@Ē#0=f&ZeYp-8$P@{` s\֩@YAvʞK1/s(NJv XHYl Kި.ķJf Pɏ駹L~$?:bdKQr% >7ήDԨ#w?=[q0}?4Rwfcjy>*i,3gSa)k+P/]I:ϽIt0&i'# 4TD%\Y;,ԖN 1LQjN2-\ca9Τ<$2FXXʑhCKtr*sKf&^ 3(<埰YӤď]GJӋ^t *8ojb+4;!@\~lڳ[ i*NBmՊ#C0OM ?Ru1 WJg|ZnE,8x*3Ԓ]ˌt-+t#I0tۻӛ'͵cL9KIF$:i1p{p:PjC#d#[6,3oA#4RpE+RifEw+ci7n~vE!uT r($їPxTϋ3Z{55b97W $@]n?wE7xy<OU!KA~3}&!~"I0q9?aL 8Q$w"1YE`G|?*_|Kitn?e@;jiJDyDh{6zXW!5@^D/6–n]6{}V$oe ` >Xj&L`{7l%\`b=DK=y/w*c̷m0W=2 15[E_xj!,IDxBX;< T9*XPh[q"%$+Wb dH2^wIyP'bns69sGn \#+I] R E@ V ֙ͬ3Fd[e "^2P(OgLKR ^u wGW0 ʍ΍>HM%ʽ6h7-a|+2ƃcݑQC4JY"9 >mlF\ 6E *&bb)9`gCc{:KWi&='^䯑$FղA=ppYbmHJ6D1Ԭ:w3t\2XzoG0"0vzDbV @sa[1yZdeBږ]Km27,B5 Yi !S,έe@i5A}2_@ 152\jl8n6,fI~?g+ޢ,p t>K8y+jY@i~KFS\iqӤͶ˥MPmlu֭"<SaQߑ~C~pݒ3X$hiu:Vj\._oMr Y 5@V= (8I;u{:ERoL:_mv'ňXA# AsXM=(hol; VY>>D}ˈcQ OҸ){fWɶ{,E|1˕ILt+~Ϗ;}n`/ 0 s3"Vgh BmV.:yG6\pÀK,CAl'g:wQtdmv :b&_nWl|M<(Zi|JDjU]˫ Am^=^m˧n|ᅒll^* 8,i_).PkV<]Ъc%ږUD+J,>%h-v{8B"apNpfcv /5Y$j>g(za/ۅeRN"~KAR1-}A>tAv{G1T\Slݫg4Qɚ;3Kפ ¶q̤3Bf($sZ}J8 o&窸|OsGuѠI爎vbr߅fn. D㶪 FOm 3VGrsDZU:Tjhk5Ckӕ/헿JQ{"X3J>eMqtӬ\.y:e&x5UOb%'v!8YF-)30d Oʾ `3jbU*@τʕp@䕨zB8T4L;tnKVFl :Z. K FəI?TgRDst3!P8]~R-zr'&\ͲryNF]Zͻc؃i5)-&s"C~$vi~л~++mi=cU`z-E KifiMB9.CI` ͩg>q1oZd9[i>o(h^4氵}S~АzEy`N̤u(aMW?Sm ={3zB*܎(ךoeD(W{”9'0q_vF;O)1BgOuTK/d%=-ϕ34r `FAÚe0/K8k-|/,,TY)x["t~Nh^J]֐f.@ӓǠLpn9MJQ|:&l` }O ɞycdf"L۞7E|# (#wlFXO@~2ʎ 8ihk/ŋrBـ{.62W跬uLV@)}|ϼyOSc={j@xesޮIrl ( 2d*3x.G(C͘x¹zov@~"Bs|v\Ro4+6/Z=y;u\*ծ0 qg8 =2Ro'ʼ_H">QH2/7vk<A|1mP4&2z ܖ3#:* 6C-tДz*@@&%5ygE;y8tB!J5:bsGƛ߯?2*M22 uR]pM {@2K J n*ޛ4޿h)[|L"cpbƄ+?٬vN3= }@}Iݘ, 8UBȜ?cls~-"aOax gT"B$?ƑSt .<hcdeH5~j>BDO Ɠ Wd )i>)r̐c@DEUcN- 1Zu9Guir̂!q#?dS3"-OnoꁔPׂ#u J跋YK.{jBՃ=(L*)/jrn|PtK <xIbSL 1 _CZfE;L]-+Eg"}[_F kL4$㑀1V:[wĜ<AkTL1= ZG{hʕ)k8fAp-vdLMtuAE l0eOŢj (:&;l1zH̦.p;0`(Y3!|YQ)`oBVt?Qa| }WzI`RgZ#/+Gsg)W3A *X97wv_J˰~{1*8g˒0 P(ζO[,͊ 5g~ZOUk[dwQOUп"֓·0ʞp{iR5uxXm.#Rڨe!a [J}>%9"԰56j h]T` )>pڭT%ԸywD{VȾ<`+=;2*s?e>XZp(Z0paxR ݣ2͗fFϡ)yhED94sRB8;pҐ9V&mmq9!_l 4P>:I+z39 Q\79Y+]POjR3 pN'VC[d٣ <t>bZ>i x*z? :ڃrK{p_(n@5ђ q*gcļ{ &}|q%Zƃ\V"`.&#bLjrc 2U-d2G^d@-FA!)CdvO- \=ZFrUFMg;A 8[ sJ``"Yʓz=fnN8AxD}KFb᷸(*8U.H6hR֟NA? qd-n(11ZS?Q%$eNu?wtS h m&NcUc4`t'ɹj6^lڣTS| cSzGο  j)/D$pޥRh>tu̗m+EU~H:\uN7ş&l#JC K@gP?&̯J~$H^:ҡ_C{FR@jvyln=&LPsC Ln=f8ўUCnR2'|&<5144X9Apyow-*MO@H`Vj݇+7\@ݝh bG՜"1H/ HG6 mlYh;XJMi}iQ%Q_g~QIDHv7t9O_C 6V%ƐOm4w[Wd tY=B,Ӎ( %u{sXyO\SU-,Rg,!͚EHTͳu8gC;A=T-ݭ4ks̮%U2U_ S3=2B͗R="'UZ<:;q(pWN?Dz²ػe)s-*SkܪwI,*(.W:ټTyΐҶ _]Ɲqzw'י4vf JTdu }2xHT|]l]c ޡQ49I%F5_]QҵvN UZ- ӵA-֡pOK*|'=bz^׃4}Y;\2FUwtoJ$ A\muwJ\|eDP*YHmg ѷ(Ge2CڗH̚T/axR H-1)H MÌ;6d ;ox4 d RH?1Nu>ÕS ƥo'}̔djNJ91juTyNY8 V=\+1]u|^. 1ͤ 8|g- m% $`~JImXf!2*Sk C`A_џ2N,li!T"½ -(cSDbWvh &p biB$4.XޒP̳U%| Vi.a0 VAҲ_dI.+PXS:y.`'HllPM JI)3 ^Co|0 )18qrZR5/+昱AlKn8|a?lJXZ%K*9$âҖ|hlpQ !z;M S:-im?cQr=9Wٌ(YxkF;&Gw$ w)m#;^2ڕ(i2wY!qEA1Rm݈Z $?/>yd$,ZYP}pП@^ۈxM2On)WUX:0ZL{CBD0zBdb{b5xW?6 'K CV@iN}XWs#傼F켐6C0,_6vgL YgvQGU?> ̿ 2j8_tßfcT=7a>mȖ nyC_'(,lI3PՋO ;2? ϖ@ ~7**\.-STa Oh0 '&G"tr~41XYМ"%oNhҬIlJ+x t)4۲CDlgm@9Ohs.HNW $Aa’'QAy 1pmKyaGPw鰈@ˀAwct8fԞђR59X-_X8Oi jӢ~z. u'6tn - lBꙢTT޿ԙ &_ & ]<}OߡEtv;!Q?dވӉEq`kS6˜2;0"W١󷧞]۠VzD7$RaGwyȈmeL?M^v=¿ V CҦbBUc\P#dkxD8/LG rE^oGi#+0B<Ơbn8F%~0Sp4,+`M xdfٯ2K\_JV:W]. >^1,ѯz:mEnZDrd}2,֦nCSyq譞*腵Ru`#f$Q5[IopÌ;%x< fO+%6_!'/cf $BY,u$6"k>%Č ԴNstm\&nBo>1؀LČ,UCX7)ࡴ$w؆@E389oe]qUX*e-'%Hǟމd{tGh7yygXq;e4߉KN2 *1]{ll-(t$wE&b%|'7EI6xռ7$^UB`Lo:fEEH/~wqZ]oc,5k Hmu/={99]>DˑT\!>GndFˢ*ׇ "K?yrԯǁZŖhs: ơ:IXyj뚗mh?Skkr£{1Q.S|H%==绐bbujEð(VŨFZnGd{<:t5R1/&SU#j7G]CNIX0ĿP&,SyOAUmy?~-isFr~Tq.#ژ?co} .UbtKdL`_Yeu Y!fEp ZZ>3j^O<1Km{l 8_:q2I\gu[䍎Mj3XsoL*GSH$tl ]NlB4[E-c CkQRSNe.^.옛pO Ix̌K#(} zgpe`^] W;ץiMZ=h%I uNܚ=lj{- An^j i╶(OAv;={n?"Uʐ0&z DyD.$L46s+m.O:#-V|Gv4zNU=roYR=4L<$K(|플cgj`_ss:>RY!<-2. mS&CrR a!7X>BtYj izZR]I$ M?#km!3`^ͤ!ݖ%[[#nH8˪IS wc6œB$V[/ !aH^pM,"s\8΄+ͨ`MnPQv'{q3$|gVXڝimt6Y[Tl`D;q">䵨̀ze ".b! XM.ƒ"t-tßwLB0 OJ:YOQneUu ҶpK^#Έ쿔{:b#G6n? |oZR Ax?&`M-ӘH\IYtـ^LH,׏aXdJHոeY m%.ɭЦ1ke5gЮ~ZyFϊQWmR,ciE;:bL'w?ЛnMT:s- ǧR1KrF4 u7T{--G( Vp-DaQ& N[ȥ{ $J b# 哾~2r\K13\} 8J57%"˱h'H$0_wI ~(ϝ"c C//릩BlzI7'~i*ܷ[h T JbxNki?4 _6bүBB1 u5xKgj6D{ ͲE1s'ð*:G^©C*3 ّfSYzSP]+FboS Qݨ7,caB)sdR ;']u~CtA1.LtÎx'| $B'1iXeNbݰNF^W=:KOẹLH/ϓ6Y Tda󪃒5]*Zjn ^ƒЋB*AFh~t覽s+礯q#c%iԟkea~Ɇ;NWaoڍ}0uA(WK($㤞j)#/.{z68Xш{ xRb .@SV_|qf:iJ ueKsv䎾hMgxוNjg)Gk&y%R'3=* OEWBg1xX5w!?ߺyB Qub ;CMϦſvSE2D҂}sXqɉY ݖI'6Gt:zK2@% Nf&qtb\ȈKQ8A%@{TVh}~MHP,ݼl> Ckޱn_$m߭fQORǓa &\0[03' K9"BA{1lUp-*# ?~|96D0Ж;,72XGH(b'sHmאpxJq>@&/f;a>}pSt\j?ٯq [F^L'q_5E6iU7.]O]HM9U8ya#@~lf?|m 2KP^ܳ?J9Ec3qEV\2:#ñF%J6 2U +@ WuL=_ҚpF 5LQA~;!JiBξIVs}dkM!Ѹbiِ!4Oq?ShaԂ+3(G _7s9(Tá_Ƣyw>f >.e?>* ^j'g #%N>lֳEB)XɌ/tQ"qYS|S2:k I4xxv>('xgBxB9ouڬQ*eGpeWTGb"a#!|uPH2=b>.~5'M97VJyhp+G+GMIr)=qu1JuڲosŦc(b- 8eq8t]cZ2ܧgki\%^G&kG[3޶]g粹M. R t5=ó&V}j{CuҔW{lDrxSAX=*sf)^_%W&2v-\Qj\E-m>[W6q2EnvX#[fWU_`m߭qu5E IHHNM2CkV^4a@ [@{Cf̕MY}3mCOSkݹc5!@y(2jl~ݩݖ$f1$3OS\4[j pX2"3:=I*k)O.X9+|EfrFZ)đ^~!>}U⣭+yP38>>n[ΈJlF5K eymC7"MG%nwƳ@ָ6|LU"QMS\5'w='*h4X4a½Je!9<_.;3e,&B&>_9)Yj׬ oB߯[Put"T3oTp:,c|lr6 Z񏺒!DyGqRC=@U]%0trE/o@a7_ܱofy@ )޳_,8šC{poocP# pNFx jVF".!$C|~fw9!':|'R/ \s@"kOay%[1dZE7R DUT8eJ(y,;%TʺJ ]xs %JF`&]ӝmW{g߅-iWz]'1ٚw~]22NmuMWjKE|'=N:W/o˽ު Ӆ(RLq3Z8 v|Uh7/$[">QXV~.usGL -s :fpӫMc<ϧ;?:Ocּ%@Ee&5Qb NV(iX\nz򕕫K*Gj0]vTaUwuIؚZI[bDX@H#m,`ZIy!?,We۶fׄćq@_í~"SN:$=ί HdL2pY|kIOnIίQNז x^+^+$mM&s=50ݚ\1'\FV-a4 q *JBwwh:<2f/8!M %d-12eb^b?eNz/rW[XlIMpkAm;>-1p t /M[2S:DT}ćDP88:= >o%$d+eLWPwevgxʥFTGT:fړt:%ҵ% FҶ]NiLar@%ڔ4T9pVkɿ]o3!R\reIY7VR0,eIN+*r‘|q .01ojڲf&2%^"6&&^fEzy/e @~fYoQExRcȞfE򨁱]m{S ܘ.93zƌ{RG s?jsh}%ıKxNVDK*6DDP Sz{M^@]hq(X*ٲ].Of&vZq;n]!% ı-ͩyyDK~^l^0(Iȳ̕ӧE˟~~4D$Ur̺bNb\ H]Z[:Bć쎤<µ tKy4%N0P2$란UkDmluJX|1N-GkxzCdfI UhÞqK~VdF%$aoŊ:(m3 ڄqԇ? ~.pRo fW.mkIj'WzGƁ .]AL~-{`zxW63)xžF ڠvW3<Ǖh.LڌZ+X(^9ŗŽ HZrbo#nH*db3sZ߶ubiɟ!kV"`o´*Rߐ=|?%z*0ՙ>`Ӝ͝$C"RPC }}{ftM:2Ha6\6 '~kHNB"h_ZnYSpBz׊JuADh {;:l{$󅃴 MƌCcV_\1ӊsb%s̕$DžVJ~z6T S6eE)+(dfG6eD' vdNޠf,ף79K<1D3PT4s *``RmB1gS ,UV'ǚҋB ٩Ӷ6q'v e/-.ćÏmrR}xe5˪Eu9;EC>!ÇJRo7dYy-h&vn y3#x#0\I?ꧣ.=Þ`m%s&}f/BD^ wh(t5ZZU:|Z֍; _+a luMy 5ݍ6"^#->TG!S|$1u8G_J]SQ(UAzv_G8 HAĄXF*֝gMV X{V@'`G];&9S 1Cѥ1w5xb3$,nJc*|vrό# "(:8cIda#O*IZ<3Bt7[D?K5p=`Xg}8KAox( $^&kC2^&nX 4|ɰeK&5v揑PÛFh,j;e|ʐt퀩?p6m7eJ/ﳔlLҕ5vc#Ny T[ AO.?a+Iy&鵁yKt)u{I QXՙ'$I`mKMw+k~nhUYLGc<θ2ĴZ9n_?= L{qy۟+'MG;Ue^z9ui#}vT6 YZ