libzebra1-1.1.1-150400.12.8.1<>,޼fKp9|6]9±6TucnTQ؉S^W %G*|m\R"Ύv*C`MI:GMIhd;nM`GziyJ%5D6p>PwyԍPE$W(]n`!sZZy俴WuIyɰa ӯWp 63_LqkO^H\j37:@P?*~y?𨀐SWbO6h>@Y?Yd   7 #9?HP T X `  4(89:D>V@@VOFV^GVtHV|IVXVYV\V]V^VbVcWdXeX#fX&lX(uX<vXDwXxXyXzY Y0Y4Y:Y|Clibzebra11.1.1150400.12.8.1Quagga utility libraryThis library contains various utility functions to Quagga, such as data types, buffers and socket handling.fKh04-ch1dSUSE Linux Enterprise 15SUSE LLC LGPL-2.1+https://www.suse.com/System/Librarieshttp://www.quagga.netlinuxx86_64渡fKfK3237651513b1f54aa7ac8ae315d106b08caa0921f7b49ab6b523ae67a20b8b94libzebra.so.1.0.0rootrootrootrootquagga-1.1.1-150400.12.8.1.src.rpmlibzebra.so.1()(64bit)libzebra1libzebra1(x86-64)@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libcrypt.so.1()(64bit)libcrypt.so.1(XCRYPT_2.0)(64bit)libnetsnmp.so.40()(64bit)libnetsnmpagent.so.40()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3fe Z}@Z@X@X9@X@X TXW{@W)@WKVbVbV@V"8@U ]@U"mt@suse.commt@suse.commt@suse.derbrown@suse.commt@suse.detchvatal@suse.commt@suse.dejengelh@inai.demt@suse.detoddrme2178@gmail.compwieczorkiewicz@suse.commeissner@suse.compwieczorkiewicz@suse.compwieczorkiewicz@suse.compwieczorkiewicz@suse.commrueckert@suse.dep.drouand@gmail.comp.drouand@gmail.com- Applied backported fix for mishandled attribute length used to send a NOTIFY with data and an overflow fix to use rewind to not pass a negative argument as size_t (CVE-2017-15865, bsc#1230866). [+ quagga-13-CVE-2017-15865_rewind-fix.patch] - Applied backported fix for crash in bgp_attr_encap that were missing a check of the actual remaining stream length before taking the TLV value (CVE-2024-44070,bsc#1229438) [+ quagga-12-CVE-2024-44070_bsc1229438.patch] - Applied backported fix for out-of-bounds read in the BGP daemon that may lead to information disclosure or denial of service (CVE-2022-37032,bsc#1202023) [+ quagga-11-CVE-2022-37032_bsc1202023.patch]- Applied backport fix for bgpd: Use treat-as-withdraw for tunnel encapsulation and also other malformed attributes instead of a session reset (CVE-2023-38802,bsc#1213284) [+ Quagga-CVE-2023-38802-bgpd-withdraw.bsc1213284.patch] - Applied backport fix for bgpd: Do not process NLRIs if the attribute length is zero (CVE-2023-41358,bsc#1214735, https://github.com/FRRouting/frr/pull/14260) [+ Quagga-CVE-2023-41358-bgpd-NLRIs.bsc1214735.patch]- Applied security fix for bgpd DoS via specially crafted BGP UPDATE messages (CVE-2017-16227,bsc#1065641) [+ quagga-CVE-2017-16227-bgpd-Fix-AS_PATH-size-calculation.patch] - Applied security fix for bgpd bounds check issue via attribute length (CVE-2018-5378,Quagga-2018-0543,bsc#1079798) [+ Quagga-2018-0543-bgpd.bsc1079798.patch] - Applied security fix for bgpd double free when processing UPDATE message (CVE-2018-5379,Quagga-2018-1114,bsc#1079799) [+ Quagga-2018-1114-bgpd.bsc1079799.patch] - Applied security fix for bgpd code-to-string conversion tables overrun (CVE-2018-5380,Quagga-2018-1550,bsc#1079800) [+ Quagga-2018-1550-bgpd-bsc1079800.patch] - Applied security fix for bgpd infinite loop on certain invalid OPEN messages (CVE-2018-5381,Quagga-2018-1975,bsc#1079801) [+ Quagga-2018-1975-bdpd.bsc1079801.patch]- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Disabled passwords in default zebra.conf config file, causing to disable vty telnet interface by default. The vty interface is available via "vtysh" utility using pam authentication to permit management access for root without password (bsc#1021669). - Changed owner of /etc/quagga to quagga:quagga to permit to manage quagga via vty interface.- Remove FIXME's added by spec-cleaner by using proper phases for the prereq deps - Remove code checking for the proc mounting (build scripts do that for us anyway) + remove the commented out autoconf - Use content of %tmpfiles_create macro rather than 2 lines of checks - Use version in zebra provides/obsoletes to avoid rpmlint warning- Update to quagga-1.1.1, a security and bug fix release (fate#323168): See http://mirror.easyname.at/nongnu/quagga/quagga-1.1.1.changelog.txt for complete changelog, a digest of the changes: - Telnet 'vty' interface DoS fix due to unbounded memory allocation (CVE-2017-5495,bsc#1021669) - revert opsf6d: Update router-LSA when nbr's interface-ID changes See http://mirror.easyname.at/nongnu/quagga/quagga-1.0.20161017.changelog.txt for complete changelog, a digest of the changes: - isisd: Fix size of malloc - isisd: check for the existance of the correct list - ospf6d: fix off-by-one on display of spf reasons - ospf6d: don't access nexthops out of bounds - bgpd: fix off-by-one in attribute flags handling - zebra: stack overrun in IPv6 RA receive code (CVE-2016-1245) - bgpd: Fix buffer overflow error in bgp_dump_routes_func - Added libfpm_pb0 and libquagga_pb0 shared library sub-packages, adjusted libzebra0 sub-package name to libzebra1. - Use tmpfiles_create RPM macro to create quagga rundir and adjust tmpfiles config to contain proper rundir at install time. - Removed obsolete patches: quagga-CVE-2016-1245-stack-overrun-in-IPv6-RA-receive.patch quagga-CVE-2016-4049-fix-buf-ovflow-bgp-dump-routes.patch quagga-autoconf-detect-AM_SILENT_RULES.patch - Do not enable zebra's tcp interface (port 2600) to use default unix socket for communication between the daemons (fate#323170). - Added quagga.log and create and su statemets to logrotate config, changed default zebra log file name from quagga.log to zebra.log. - Cleaned up the spec file using spec-cleaner.- Implement shared library policy - Check for user/group before adding them to the system - Trim description- Add quagga-CVE-2016-1245-stack-overrun-in-IPv6-RA-receive.patch: Fix for a zebra stack overrun in IPv6 RA receive code. (CVE-2016-1245, bsc#1005258)- Fix Group tag.- Add quagga-CVE-2016-4049-fix-buf-ovflow-bgp-dump-routes.patch Fix for a buffer overflow error in bgp_dump_routes_func. (CVE-2016-4049, bsc#977012)- replace quagga.keyring with the newer upstream keyring.- Add the %{_rundir} macro handling to spec in order to distinguish /run/ vs /var/run distro versions.- Add quagga-autoconf-detect-AM_SILENT_RULES.patch: Fix autoconf issue of missing AM_SILENT_RULES macro. - Add build requirement for xz- Disallow unprivileged users to enter config directory /etc/quagga (group: quagga, mode: 750) and read configuration files installed there (group: quagga, mode: 640). (boo#770619) - Add sysconfig.quagga: Fillup template for /etc/sysconfig/quagga - Update to version 1.0.20160315: See http://savannah.spinellicreations.com//quagga/quagga-1.0.20160315.changelog.txt Remove double read of stream - Update to version 1.0.20160309: See http://savannah.spinellicreations.com//quagga/quagga-1.0.20160309.changelog.txt Add code to extract.pl.in to prevent further cli function overwrites Fixed if_add_update possible null dereference Fix _netlink_route_debug message Check prefix length from zebra is sensible Fix privilege dropping to use system defined groups Additional centos 6 -enable-werror fixes Fix code to use srandom/random Removal of 'show ip mroute' * : add/cleanup initialisers, missing includes, VRF ID in the API message header, assorted warning call if_init()/if_terminate() from vrf_init()/vrf_terminate() fix "babeld: Remove babeld from Quagga" (336724d) fix in_addr initialisers and more initialisers (for BSD) fix signedness mix-ups use an ifindex_t type, defined in lib/if.h, for ifindex values use long long to print time_t use void * for printing pointers babeld: Remove babeld from Quagga bgpd: add back old forms of 'show ' for compatibility add "show ip bgp dampening" command tree add nexthop length to AF macro add some peer_lock/unlock debug code add support for timer commands with peer-group syntax allow using rtt in route-map's set metric bgp_scan shouldn't queue up route_nodes with no routes for processing check capability falls on right multiple of size, where possible. check rtt later after the real peer is known cleanup vty bgp_node_afi/safi utils compile fix for clearing-completion FSM fix, using workqueue helper. configured suppress value cannot be less than the reuse value in bgp dampening crash from not NULLing freed pointers display of configured dampening parameters do not allow a timers connect of 0 drop machineparse / random "show" improvements enable "bgp log-neighbor-changes" by default encap: add attribute handling, add encap SAFI (RFC5512), extend extcommunity handling, encap show commands fix: bgp_btoa to compile, crash reported by NetDEF CI, ecommunity_token initialiser, graceful restart capability minsize, memory leak in bgpd/bgp_route.c, Null pointer dereference in bgp_info_mpath_update, race in clearing completion, small memory leak in str2prefix_rd, SNMP write support 'struct peer' memory leaks useless call in bgpd/bgp_mplsvpn.c using of two pointers for struct thread_master * VU#270232, VPNv4 NLRI parser memcpys to stack on unchecked length (bsc#970952, CVE-2016-2342) general MP/SAFI improvements handle AS4 and EOI route distinguishers if route-map does not exist DENY for redistribute statements ignore stale entry candidates during bestpath selection. implicit updates in BGP may require a withdrawal from zebra RIB improve cleanup in bgp_delete() memory cleanups for valgrind, plus debug changes hook up bgp ENCAP and VPNv6 CLI node lower BGP's default keepalive/holdtime to 3s/9s lower the default 'timers connect' in BGP to 10 seconds make bgp_info_cmp and multiple-path decision logic more regular and robust to paths that do not have su_remote info make bgp_nlri_parse_encap conform with other nlri_parse funcs make _vpnv4 static handling SAFI-agnostic modify maxpaths cli's to use MULTIPATH_NUM for range only use routes from Established peers for best path selection OPEN parse errors should send OPEN_ERR and UNSPECIFIC subcode. peer_uptime overflows after 1 year fix zAPI parsing refactor route-map objects modifying integer values regularise BGP NLRI sanity checks a bit regularise bgp_update_receive, add missing notifies and checks remove the double-pass parsing of NLRIs 'set comm-list delete' stops as soon as it hits a community-list entry with a deny speed up "no-hit" withdraws for routeservers tests - add null pointer protection to fix bgp test failures update dump to allow Extended Time Format update rtt on soft clear VPNv6 show commands warn user that bgp is setting maximum-paths larger than MULTIPATH_NUM wire up VPNv6 protocol processing fix struct/pointer sizeof mixups fixup afi_t to be an enum and cleanup zebra.h remove 'struct fifo' from lib/zebra.h refactor FILTER_X in zebra.h bgp: reorg cleanup to align process and bgp instance init/destroy build: add --enable-werror ARM compilation warning fix determine CFLAGS more intelligently enable vtysh and pimd as part of default build list actual release procedure make libraries self-reliant remove the old PIC/PIE patch, let libtool sort it out rework how MULTIPATH_NUM is delivered to build distro: fix redhat/quagga.spec.in distro: redhat/rpm: remove with_ipv6, package pimd binary, remove pam stack redhat,CentOS: update to support CentOS/RHEL/Fedora, upstart/init/systemd doc: add AFI/SAFI show commands to manual add 'OSPF Fundamentals' section to OSPF docs distribute a modern version of texinfo.tex with the docs older versions of texinfo seem to be sensitive to location of unmacro update bgpd docs, inc. on decision process, and with a section on MED. fixup of history handling fix alignment assumptions on non-RT_ROUNDUP platforms. gdb: Add a directory of files with gdb macros git: add (generated) cscope files to .gitignore HACKING: Change format to MarkDown, fix spelling mistakes rename to HACKING.md in prep for conversion to MarkDown isisd: add a debug mode that traces LSP construction add a slight delay to lsp_regenerate_schedule add new adjacency to LSP neighbor list add support to import routes from other protocols allow to adjust lsp-mtu always print adj->sysid (clang 3.6 warning) annotate some function arguments with const assorted fixes (unused variables, static) Attached-bit in LSP header don't corrupt memory for long hostnames don't use POSIX reserved y1/yn names do remove ipv6 routes from Zebra drop packet received on multiple interfaces due to the time gap in binding socket to an interface fix: assertion in LSP refresh timer calculation a typo in a log message crash on processing own p2p hello IPv6 mask application LSPs not being regenerated after adjacency change minor & vs. && mix-up misleading wording in log size_t confusions handle lsp confusion (ISO/IEC 10589:2002 7.3.16.2) initialize circuit to match area is_type make send_lsp more robust provide more detailed log for failed address removal purge on correct level remove superfluous checks after XMALLOC etc. remove unused process_is_hello() show interface's ipv6 addreses lib: memory cleanups for valgrind, plus debug changes add: CMD_RANGE_STR macro to command.h facility to log all CLI commands function to get precise remaining time of timer thread getgrouplist() for Solaris SAFI_ENCAP type, safi2str prefix utility "show commandtree" CLI command zlog_hexdump() for debugging allow caller to provide prefix storage in sockunion2hostprefix reduce strcmp in CLI hot paths fix optional arguments with description interactions constify sockunion api don't have log functions change errno fix: bookkeeping for libreadline malloc()s duplicate variable name in smux.c and vty.c Free Pointer dereference in lib/filter.c POSIX capabilities on SunOS platforms "reduce strcmp in CLI" fallout "sockunion: add hash function" for BSD vrf_bitmap leak in zclient_free() hide internal prefix list structures make prefix2str simpler to use, and use it in zclient make sockunion2str safer to use memory reporting fails over 2GB move the interface list into "struct vrf" display more info if cap_set_proc fails. don't use CAP_NET_BROADCAST remove unused 'show memory XXX' functionality silence type range warning in macro straighten out ORF prefix list support stream: fix stream sanity checks treat realloc of null pointer as alloc Now use zalloc rather than alloc with null. Fixes issue seen in bgp check tests. use const consistently for zserv path vrf: enable / disable a VRF vty: add separate output fd support to VTYs add vty_stdio() add vty_stdio at-close hook don't clear output buffer on input EOF put stdin in raw mode for vty reduce unneccessary C extension usage support multiple VRFs by using linux netns add trivial work_queue_is_scheduled helper wrong #define used for IPV6_MINHOPCOUNT zclient: can overflow (struct interface) hw_addr if zebra is evil consolidate error reporting for zclient_read_header add "vrf_id" into the "struct interface" move "struct vrf" to be a lib module unify link layer type and hardware address handling configure an interface in non-default VRF ospf6d: fix for fast OSPF convergence fix pointer arithmetic warning fix uninitialized warning in SNMP oi->cost is uint32, not short use existing union, avoid strict-aliasing ospfd: add missing unlock for ospf_interface_address_delete() extend 'ip ospf area' to take address argument + rationalise ospf enable fast OSPF convergence fix bug in 94266fa822ba, nbr_self rebuild didn't add valid nbr_self fix for 'no' + 'debug command' does not disable 'debug command' fix unused warning in ospf_write impl. per interface 'ip ospf area' command lower the default OSPF spf timers to '0 50 5000' make ospf_passive_interface_update calls friendly to static analysis move route_unlock_node() in ospf_ase_incremental_update() ospf_ase.c, external_lsa locking fixes. ospf_ls_upd_send() add missing unlock. ospf_nbr_nbma_set()/ospf_snmp_vl_add() add unlock PointToPoint neighbors are identified by router ID remove another odd flooding hack in opaque LSA code remove HAVE_OPAQUE_LSA and HAVE_OSPF_TE remove the blocking of opaque LSAs origination and flooding 'optimisation' self nbrs needs to be rebuilt when router ID changes. split up network interface enable a bit, for per-interface area cmd trap on state change seems to send incorrect value for ospfNbrState use route_node_lookup() instaed of route_node_get() pimd: add ability to set DR Priority for an interface add knowledge of different packet types add support for configuring multicast static routes assert when no route to source from a new igmp join cast ioctl values when printing them cast to sockaddr_in to sockaddr change ioctl call failure from vty_out to zlog_warn cleanup interface startup cleanup zebra debugs to be protected by debug commands create ability to modify hell and hold timers per interface do not display some default values as part of a show run ensure new generation_id is different from previous fix first DR Election, leaked fd, out of tree build, size_t zlog_err format string warning limit pim hello log messages mask unused zclient_broken() notice when we receive a packet type we can't handle yet stop DR election on every hello use IPPROTO_IP (not SOL_IP) for IP_PKTINFO 'show debugging' collision ripngd: add ECMP support allow to enable/disable the ECMP feature sockopt: add support for querying tcp round-trip-time sockunion: add accessors for sockunion address add hash function solaris: create ioctl_solaris.h drop duplicate __EXTENSION__ define more warnings fixed no ROUNDUP tests: add CLI dummy command-exec tool add more AS4 capability tests + little fixes for couple of GR test cases. add testcli reference in/out & do DejaGNU vrf: add a runtime check before playing with netns vtysh: add missing show thread/work-queues commands adjust bad_cli_stomps in extract.pl.in to reflect fixes & fix build allow display of individual daemons configs allow --with-libpam to build with --enable-werror don't use '\0' as NULL drop unused variables & RETSIGTYPE fix Quagga.conf file read in. fix the fix for babeld removal when the config file is close to the boundry of size of buffer vtysh hangs. hook up bgp ENCAP and VPNv6 CLI node fixup of history handling reduce unneccessary C extension usage support multiple VRFs by using linux netns configure an interface in non-default VRF zebra: fix struct/pointer sizeof mixups add "vrf_id" into the "struct interface" move "struct vrf" to be a lib module unify link layer type and hardware address handling configure an interface in non-default VRF add hooks upon enabling / disabling a VRF additional redistribute related logging atomic FIB updates clean up misc_null pragmas, RTADV define configure static routes in any VRF don't print uninitialized string fix: addr sent in ZEBRA_IPV6_NEXTHOP_LOOKUP build with rtadv disabled change of distance on ipv6 route creating duplicate routes leaked sockets in rtadv.c NetBSD interface stats printf non usage of VRF_DEFAULT route deletion on *BSD rtadv detection, check for non-glibc linux VRF code for *BSD implement per-route mtu handling let FIB stand for its respective VRF let the route-map rule "match interface" work for VRFs the netlink sockets work per VRF lookup the address in all VRFs when set the route-map rule "set src" maintain RTADV and router-id per VRF make RTF_LLINFO optional to fix FreeBSD make ZEBRA_FLAG_CHANGED internal status remove HAVE_IPV6 from rib.h and zebra_rib.c remove metric from kernel rib->nexthop_num is double incremented show interfaces in a specified VRF or all VRFs show routes in a specified VRF or all VRFs silence zebra_serv_un unused warning simplify redistribution code support FIB override routes use link scope for interface routes use prefix2str for logging where possible use SA_SIZE for RT_ROUNDUP on FreeBSD use prefix2str and unify show ip/ipv6 route code wire up "debug zebra packet detail"- run systemd-tmpfiles in %post to get the directory set up.- Fix build for openSUSE 13.1/SLE12- Update to version 0.99.24.1 * zebra: don't print uninitialized string (3b02fe8) This crept in as part of the MRIB improvements and I missed the compiler warning between other noise. Unfortunately, printing an uninitialised variable can in fact make zebra crash, so this is not trivial. - Use systemd for openSUSE > 12.3 - Add patch from Fedora * 0001-systemd-change-the-WantedBy-target.patch/sbin/ldconfig/sbin/ldconfigh04-ch1d 17270896631.1.1-150400.12.8.11.1.1-150400.12.8.1libzebra.so.1libzebra.so.1.0.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.suse.de/SUSE:Maintenance:35806/SUSE_SLE-15-SP4_Update/d6462ef4a881297be02d6375333ad899-quagga.SUSE_SLE-15-SP4_Updatedrpmxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fec2c8dee5cfbbc0d8d6557bc34b77b821b413c6, strippedPR RRR RRR RR RR RRRʓb>o7"Z-qqJk5 EZTwMޏ J_}x4ՓOC >'=2N i}.#HOdIΨMC+HY p Hr#*[d&]i "k簖"5nشSvh_`cv&T z%ƠH*30%fu 5J~H}1=WB& 9f W9cXڋaD`\۞BFzbs̬":#b P/- FIئeut꙾˹u$d\y8'{#b5f "t({mAXt`L#6Ts=$GU P{*e%~qAE AϔcݜaIa?37g¤̇ Og+ LW(9֖N]&ؒ][L + vF[-k' A`?@IהN!pḿuYZ ${ s3li24c1^_''|,~=M_]>,Zom WfO^J~tiM"TA)q!:8ƬPa)ewURMU{q3|o~ړ=mztj[6=Ps "H0 NZ0'GٔصAY̢d=RqFx~|4F-,lʴvOA)cqeԇadnCڈNWU :4U_/`E-Kx{<'l -rbPA#lMy4{/N[hIU )(%˗ B_㘄LOtu(4StrAzy죯qVypAvrBM!V h:p'W|쥶& ;ZI2T:| `;-ـhIgu*M cnx=^xJOehUs6 cA{L%3!D[#j%liK~{z>;ISU5(y:@;nCV`)uDgn N>3c\[Ϥ5c3_f^qH"}V,T0xI0 ҵ NL.r|x3ZBw=(i?Qم4X W W/C:d۝ sRMnH?<宔;}l<㕩Q39 8BUL#lb{vH+5]}HIgx;Lf7 ~PJ,iwдaB3^#< e'[)eoɡ[ѪܽzQ* yR j<-O~/u]Ny@"vdɀqU-,+s-1k8`0AdL;Gܚk1xOyP8ݣKMM}۷Am3ؠcd E=yNɴ8G7Kw - eݝōLhU|Sw$s M$e<`'>K/$X C2F Z>DȪH$vaA8}9?) 󶿈N#p䷱婬•8:M=mR&}iLѣ4):|94z֪7P_ $!uBJ(;VpP-}JT?O1EY<'/w2DaA-PQB[ Df,ֆOh]ĭ'-%II&i>^I@)^舰9ZH 9~["KVh׶=Rt~9CLW\YqGm7%dQ= S% u`{>gQߜ.Ìa=)ȵٌДl_Tlޣ:ȮsM6Y [,Z[E&?|)eUEd|)m6E.ylzndV tKӷiW& su;г.KhZeR&dEKteپɷ?hv!KlcedRfmCD1XΥڲXs!j[0-zQ,mFwx`G'wv>ԧ.D6/$-vT}pdȼ$4X$D/v.53AzgkE$ьD{VpƓ=:6~/aF\{l{p6܏S%WfxOyRnF!i"] Q$穑ׂ'v>pV+e<f=a^·{'̆6z_g|05!`ܔen]{%['Vsna=`ҴcT/u8VZĔ=n",(M:Nd k]syPGn,%nŊ2lTZd H=j,V#̵θ2>ٱY;ކyв7St<2f4+Z %%+ST٭4X$Py&_agOFrн~j (ouKR0-P'<zHLvOf4+H#%?G%1ɝ~vX I#85rWԑ!3 (j$FFiBP#Z[Jwǎo^T)UP2{W]sH g.Z0}v<"+82Ttz)p]u}{'h'Q(@l8*+c)f62r`@ح8Ώ i>q:+䀖NXviqNS4sS*f(x^f;3k({AŇqMJ}6ƘY*O] :c3XH` MjsHkW<, {l^D_ڙp"'x)I& REx7~c\kK:&'907(L P OdGs}n෦E-!Y栍 uuvzES-/ Yŧ$Tr z|A#?QP/j P̨M}u('7^iD*P 3T|Cp \7ez*F0v}U  3EV,lDžmy]s@K\ ~I MdTpvWx`OKU,P;jLڴwe'ffO`t  PcÃu$GJN@ۮCpGAGb a;AU 1n eW~M+wj' y 2+XoJoGhBO:͚j8lJTČ2/L˞1^PԌ-,Iy9RK`K3fl[NXad'ey8.q{IdY ,f_KM>U M-J,bH􎭫㘤xze$byBxoI\3 ѭfz_ˢ\8e@4^IA}l%"0Ū1Sg5 h`lx@Z }ƈkmWz,S yl.| н ("Ȣ(sZ][hK&ܦ}k'Yd+C #R!`lEb;~JǼjb0!t;\/%y+d,OZ&yE4] h覠}Q:Vd~e nb~q%lb6c|Gx 꼑ga_QA$_F Qkt\uhU׳7ɽ}L+\T2n`*z:ׇe:׆9x،΀~}@L  D8;jXwa`fKcRVÓ& } ~>2ڥ Hi.I&Λi\=a8}6/W#"+vp/>Xڂf܏U=lx \ L6iIYi%ƙͶ8~ny1Nnjdۡ$N֪l|%Ւ%=қ>q L?dezC ͊)ۊ 3Rj|)zhfpL#[LZ Ԏ~,%WsQ0 uDE//Di1hLDDG-cH>O܅U*C˳RϊꭧyOq'd+IVzFw+s5+OlGoqXuF@N+ixHؿ4aWo6"LH*|W@QGS%?d?pDǍϴK6Y7D"g&m[R~QG*8BMwWpvt;w!c}NKw6ܸ;KJMM 2"B6hbad<9d+X\b.a{:f R/=w1:}4=V9["D!ZH9بui4ƌAn8H?*Aw6{4i`;ٺ%wubcӡ AE}@χ⡏vEec|B J"]EHl"(wy` =ƇhR(vQԹ# n#k*О&cWGV7@TcH?@XƣF5>3,`(g+Ik)[iΫ:O3.A0ҹJ3R3M3b23TQIb˳*pi02^-`\LaإwYW hq"!U(~R/H6OQ[}.,].'vНnkYhZeGMœU/DF|g CʶKP8\V2[" Ŧqոq!) *$NY4:Ar8k/Vߛd#)(ķƘ&ذ|F5@'ؘ!u.J 3KF@eA5X'o1Iz !ݱvryUC-t{  ?hV@ n-7rW{ iC`u %/ο,XIv\LI+o uHwJH]%|4n`vW5Y#pEsjѶi5]`8?g+׎ 5F)㾯)tD?ЕPvi,&8ÌϏ/Cb3`"GJM ;hhd'ݼ%əQf4w1ή~k W\Hk*%%[[xaqPĬj քƁQ[+.*p|$Rh)zxL 2Te$w,e@(Y X~c~sU/-; noylGAKޥʍAvތQ4rDѶb/ٹ炁.rh(!ve"+7넗lrމAu^lLp2@q42R !p d3/E+1D"ٮYCɋq}`LA)wGE<$TjYѺ7Kӝ9ٯ b0 @ZجQH pKKq5& Od~jAk)3݁ӂAZNhJ{GV:0-G/y\qÅR4ޠV1 R̾gx`SxyؾՄP)&<4zuk :KX!=AsuRޭpQGZSNx?^vBGd;K;ei6 ש` q_xo~45ap'.U5b1W6Cur:hǰWAsluUԌ$TFTw([K.yrk7 !`C)} Ѳv3q$gb7^cAV9BhVX㖫2tG+CJ@L,V=eVYi^Gzk_.d^yN1X诣ѣ,Jc5s@Lz黡51 2''mLŗ  OodDaY_g|+?XKpw56L|50:NUHǨqT<$.}X )ruG@iiq ;Q\"Х PX؂SiZj@5\dԪqdk'%eh;:nZ%iB,p)2ga~rF؄h% >M6,aC_&n> vJRܰW9g@kvB·»3Z$ CR5J۳;  PũX Z%4SYk &n(Oh l늾j*,ڔ~T܂$;kJ Mo/[kw#]sAϑo`3lfOc? V1'l3p~e~jz@ջlұ=Ylu[g'ﺟ>^+DrZuP6\Dү1u-A4Zw8N Aa~MpOAsJ)o16}bHs ?}[ȭPj`)K5--6#MEl9Z+re* ԘF}DYs-5-wQI9v"X$.-V*TE?Bb*}{1Ṡqiy%w4.O,APs g-6?9 +:icV d2%ζPdߪCBy~DU(>eBz؟k=qg3S OJS>0oDmֺQF̽g2y2x$f/]7g] i;bgS\$,% ,PgBfYlZkylF+:NZ~hS!_Z}^!85qPq҆xԗ(%re%EQG E3zBSf „ ,Bdo`MmLbɜc:sQ4,e2gXlmjFkK 6P@i>Y-?u5qVV=at_=1-Bl5 ~µ̷F:F ): ET\xk{Qڞ沆ӯ6]F /\@4xC s"k6aOڜII(>g1>|"$Jwcĩ{1ٗ+PJ:dӕ6a.ˆd^nh"g&XG]/$\ ^_4>%04%d._xwfD稂ImX3˜@P-["أ;Q/T赍pxJcwg`0@˅Ix/|#9\[eo̿I_$aR Ec4x0PE-D> d "kTv6g>> ZA0t񸆳8<=X(#u4ɤm>:>~Gv`?,[[PLKtRDhf4. NR@(9'a8bߚLKu8qcOJp$|erɉ5ĈcB3U'd@\ y3>)M\}ZS?hm,]7ܐ:AX_gH0g .?2҉ݜB߻p<r`JcCvb{UXlEѯ& 6ǭ8C;TѦz{-2X8lbP"ZT ٤p;ay-8V VlJ5&;L20O$^Ix1zJ0-7F"Jr+Wmŗ-sYD@T/;KǖNUZ?wIL>if ׭~q=m__ȴ]M9WZeB:65ӌw \=b4 Exl6fަc)UőQ# .+ѹk1k=`ZDw?!SAΨGk5Ac:?q2wcVDZgyԊCJ_I'u9sa*injf$zD Gד5 `,5/=vy\rni);!9Qgv{M}I`n+/{G$StkSPZ=# d8RsL!`rw_Wa`8!Tf`\5@n>T !1E8~~3r8 =jF^.,8ı ם ̉aQ6̤f{aK79,{f~-O EB¶doiXv+;oˆ@-~ ]}.e_˜;UjV&„Nn:`"n2#_njGbJ,#B' =y<;7 S~z6aSYBP$ÄyJ10ܶ$w\?'# ^/pVW63+6p\OsEؙA[ 9395<`Wi,EL]>N[C eP]v55Ȼcؗ3PXbUx%.7q, pIug{.E|V'rL߈|,t:q^B_XR[/Xr5MQb 3@m7=U,L`!#_u!m%Qf6h/P_fP n2՚SeS]ƬMe.AmJR++=9T!#^_2ȿc 46>#TuDDVU_DzYrJu2f/綪췵"ڐ.Cpc+yGW"LO! @?& N[7,uRDMui[>\% WtЧf&5mV 3~ZdmYk6-s^O<OBczUs~r0O%9OCU"^zD 83FlbwKEL-:}O MBX1˦c0lDm}2/5NAX@ro]I$~"Xaw9: `f˵i&@m u V?82x2#lVOa7T a:3_<]*1;t{8+׼YMqD.N/uӆ7BCu_Pe5` ݚO:ab!Ѽ"삡ɌncH Q?_Ջuq¥2W ;;>)y1$Up3۬8wE|>:GRȃq!n*0oyRESfZO>PSAd#aK|dLdT */ؔ.Tv>ekqj`"8mtx]>7t!sG N/s^KefvZmJ`s@ \]6;bjPt߂!   ϜkQ/:Occs![Y:e rV?4 [Aj+ڲYAA3je(h<'qE@^YT(G11n&+U3p{ 0EHA}Mu,Z*.`d_o?ė wIb^)3h|T% ^Cuё+հV 0Å\e)Ϭ\?KiDBkIGW0g.K}Rl ;ݺQ&>#-)PB+6:7#ROhbVf?6&{ Đ  $6kJu@ީUjT\vӀk|%P Z`_*Ļ!6|kVQ<(RoXphiӘq;p dD 1,x[w+{@{!(w)\n0$%_?8-m]& 6>EC r*ؕq/o)\z$"tE8og H i yv 6M_g֒V y02/u,P$˒~Y@}u*o9XM`Ph%5qEV))I"I3!?1-`OL磶!BA>;4T2(0ՓX ԓ949Ec[ʗ-M)/8oWo%0l6IF܂dG'fFVž@F&%;%M3g, e;NHI&sk?ЂmC,REG%-8qfX:PY9Z( GR@m#HjU3ֱibEV xN}C^^+ꢲV,2؜#qp/$Ʋٗ/)Aj+e+wz\?U&QP_vdi25RPx^ùMo_Do,(R:sPBj`}P9{/Žʹ[r],YD]o#VygI³nkQUƠ+Յ+WNh\` =vƱX'8k'@LȇUo/~oT%l-&vBw(GF yoMB_U+W;b>` Qb{̓~>}ŜI6hpH/˱o+18gRb! 贓'6QΩUA{OYt=A j׹r3|o>j=Dś]c36^7~V )njI ʁea~i՝b ,yqi;:ӭ}Ob&U &Zӎ h5$3 >8B[ uD^[J&7xQ9糜2p8-& 5ё&LL p4BIpjf@wJnLFZQ5̢ !VFP7#xgV >ja [d8;k%vo'ZzJX0y)*=?4_==u̒].Q5//Zr"\+ugZ_٩g/~YW}k=;C]y5aT#jW=FăȪ6LPZTkI[;r׬EJr{rv"Sņ Wg; Op>r+ʂbkC NJ5J@#"E4ʺGk ^CIY#XْT8l;~hxF(Q2UKXcj6y}jU,=j<}$RXcM̛{سacU֊`MV.RUխ|484Ɗ4!4+EWH+ Rl9?w";T[K6VAB  : K Vgn@0l/)=Sߠ=6et_w=>`[\^k2RlE2@ۓr v"r z5>ɷz"*N3i0_VBТ%d˼6810?=^Q/*X7Ith Z;KZk}e%KZa->PE-*i`#8_( 7DYE˷?%2zpxЦ˄d@O% ym8`49݀nȫ”EbD3A첞pXJ;} TՐc{i1dm_v "0L*z4VB kUjEέeC@H]Jfozu;q mnœc;k̭)w&>~Ze; vLNѿ&0l6{M$V0YeU Kzhf3n:d^W~6n WNcz[5`ίVDW/`JxTxi([#_k1p T!݆g5$IsB9%v>w]I,Kcц\&^! %Ϗ!ɔDrIFiSɏf+}#+y'Q5Dp۸2bArs(4%KH)~Xl@R$OVegg* jB |H9G-sy>ToZN0͸1 @pؙₚ7$l<)VT K6,U/T\",$foޓ{I@dXB`b(ӧDz ^=C&H2_+`511M(o2vl@`\(6bH6/nu.4ioM ЫZB{q"_jZ ju{0ʭ{׎|Czr7pyђ $ z'B56ZEE ¸Q8s '8NRlWIPˀ&?V<Cx%!d3 ֈD"zVVfsݲ7%?4`z>M VQRn>iד2Jl}d;A8NR7  ܍vEat_ktFBZ^}F,O"P"6Z'R0,fiv>6E~ޡn3 =_ЅKcK|gW{- x{^wF"@6^Z[Ms{) ˌdPWmZnԤܙ֮nĊi&η#'5v$oK½ -r-ĉL2R<ȣhIxz'эô|P0dC1tc3QyǕx[h;6~>_wk*RHnj*X @S ;U)ƒ`Q=LG!؅@JŖ˖fm Aj.3[6J(c1r㩸dr^-(KjphW xdRG2Yl #F| |Kb%ڦb3,"q iX@ck_G<)@08+͇9Wt8UHNT41 =5Bh;%  Jb_\l:ҁ6k-)4hGw5'7xK| Q@!Pi?BIA-8:|@A3#G,g{gS/  B؂ >#ԬSgw͸WLa" a5ܨCί9w 㽄m97x[V +|Mjo*4Cxe{#hGKH$aa$%y yw O?`ܟ oHw)"kϷ^Q1I1* ItכSa.NhL![Rmťj%ϫ΍~i#O/Szw`4ILaEX\phX.LdVoB;IqNE1=e?MmcugF'rg}lVN} l% zlJdtk7îoB Pc$ '踠)! k`Wl8quHX+2Icm %yI j~EFd2oO"o$%vzm@oBm脿yLtӯ;d& m` ~3w!4'xyoӑ>wlpuaS33p{TZVg3(<! :.St\p\jkW xB~u~~V̢ClTD_| )zKSrw.d㎛Fr{>&2ZoXM?I @aFcV";iupc :&FarЁWvY&i/Q/H k䷾wVPWz L߭Q\OE瑁q2@%wv͓LC F\=rI*fKD~ߊ BU~FRomKbAak.\\zlF4MLmJ* xv_2/JJӚ J}`>gWc"CcWFGζe_uۿ$ȑs(z[iky0 D{ O,zN'?|3+Flmos:I KPAo!ǶJ#9vOṂAi?Z>2<*ruԵ*=Oǐtx~LAAЈE>e4؆!9Sw[LKv";nlܷ$ pRN0)d35grE]y54y%O :\y=+r.eE4\w%—8(YH{[|I"2m>e˽9BmZg4ۙ@.eESeG<ꍬ- ŕ255a-V"H:2̨u1 O7G.Q9.o z?T3``&ӱ$Ne#MVk {]5? H3klczk]PْsaMǏj O'p@<IkOa1wE8G01yά[S/m4o{frhι2_fOL )%W#t|FUa/wH_E ?<^T,to$Ȑ ȋ^`Y4.W_HVyT / 5#:oAB0r%P*ND}K}2eKVA_oVɰс«ݰ7AW R adS6MBm~GG)R%]ц^l׿0ek)W@ڻlٻJG* 7y:Z+bӖA_5yj>O1Z~2bf8$DSwOQ.S SCɫG62sF$ ׻̋7YȥAވ7%fFq0][w"rU_>ηoSpO1IGWm %Wϣ:ed_A%Exs8j >7eGX 1O.-\W]Jg^Gû~uBOÙJ Tj;!i+|k ~m,aR\~r9#_ I͟WHKęFܯ²)tLGƕ_ Lo߲A^TWo W} gc7M&oQ.Yi+98_a[x UⰝ^sUa Ul2}O\ ],Qũog2E10`>r-C>RXi*d8ɡp(5 KK˚PYҸ>j;BS C6/( BaS}C2%%UBKυȇ1Z~x[>5XB>#E_(0 Wi{L2fXD!IauO݌TGD>)&=7U5?ou6)N$.ׯ6 BČjYK2r*}@.[BvR" (ѓ8XFcMňꯓX\v]0zoX̄šsU"6 Ox, ;) nq2(}GOm&b( fC3puRhU!BfaOJ]iR&o295K[DCϏm]͛^_]~D_.k/j`Ph_BՄ/rJ%Mݫ!m=wNe:.qvŭC^(M-du7YAU-H\naA- ,VI텝?%_O^a+t )+:+iq1!Kэv̅D"\.~e!RV"UkvL`[FB_{i- 8JėYR(;[y"a%#K)V9_bœyg#9L#Z5fWQqSnuy<mZvp 뜷0;JPqhs%-҃;pnNS6~?\ܜmUXY/ffQGŒOZp|{!(brށeo\}ᆇH1{OCvm ԴgF/{p\~#T7!l)^MwgjRtKb!'QhDD~h QBU7 Pg,^ @X$De(SbD0 T[ yzi-ٺk&jG1|Պ",i60{t'5I\뤡9 0JliAK_( TwDD<4Ld*">E|I;w YS"~ < #J^i#%L~0ȿߔ%nG#Sܬ?GfIwM8 6 _Sf֭c9j&0Zh0h^3K1}^1vǼI"V!qLd;ɦeZw"Gf@@FVP0q (!b4~l Kcə>;El4w+g(D-+쳶\}6&w?v6ӑb u0cK_^w%VCKFƋ"Bc/f'߮SIIf z_*|W-SlOsBg?pOi\YL Ps]E4|SxA!r"4J_:j7>d[=r2H+%2P߶R*gHmmX6@74e|<Џx{X!diλL1cس6"8=9P(mlόP%_sBW.eZ:vRhdl[5Xz2[6K'[Pk˪E`u ޾9G>}'^:~ḵ5kdx 2^` s ڇh*KtE~ IfSİ̤^#hl: Hk&Nk'M-v{C2;>F.WO$f ;GvkByoo<ǠX&_< l o?#)I 9Oa"!uW*4RԡuHKIR*Uʠu(:r|.hee OF-g\hMbg%itgI%˖)̕:`< `3T0>*9 t@(4Gx)t;$9Q^! _,c x*\ r%}}fysb H[CmQH5|!+Ynިˮ{yFe>xSN:^DtA#D|ǜbKzڽYM u0b8A|$_du1e. JԃͦVEF_fÆ$ rk" +G{( Ǿ\i1 6Sऀc/ Gr.nWӛ_OU8?<zO]`?pVL{̂j+!sC;RxA^Q@ ftDd|0lYi/ko?hyM}Ez_e8j-G:q"}cWG%,@G{B@Jȟcİ0Z:K^ HMZ0&{FxRP˞l{BQۻHֺ, 8sr/W7X#"Ojx5_/ڃfWG<Ͽ`5mu_ߥn/e=Ri#in8qp7%] ,ܙx^(V: |/7nXH:K ct-^R /G'G4#֢p(}3PuO.PM+1#çpx-RL0i6ymOBݪT<}?hV=w=\<(RC.X&<"#'iEDx7=BBK'@5l&p`H]oX_2x.rXC@{ȓ=_伇pkj:D"5=0o"*fi/R~ThGai%qx_Rw+5aQ4L"#%!)ʸ<6js)*ci=N3E"uzB$ypa^-{yF݋Fbܽ Bw@PBqsBD eQA^ңބ&U?7Hײ_Zܟw|_P]7|pmt)&*ZS"kl. gUBncTb:ҌLaua߉SŃD´?P"%F6g•1O@3꣆oR[kMn쇵3ys-X=ثN Wes]X wY\LZw3C+ fPPe X8Ж7֞J"*v:[̔-pd8*~)[ANk!/ @5KGfr%=f˯tbz"uoНErɕȔΖdf4S\+JT#A%BlohQ8֍sl}}aAKz"!f+rc O^{p;xwWy\ϼdKq"2hI&7d{D#qÍctk0[34Om.r]~\X<畺|@jڜ JlwJ\ջ QfŘi[?|WS 5r-hXH35hV=xVT^ /+<j+JL'\Ӡ!k] /#,]o T 6 #i~ 3$U~rTR]l9 :R3ҠQ7dA1\CϞ|Y@dA9F)BOƹ~ޝ.\?{ QͱPO xB\A.01!$O̜Cր҉X.B׍$Xϑ6Ò-zf@l&6+tt<ha17HqljF>=&7q85FVC]Ϊ-bǣR'9Hz:- ,=gqoO *?M =w1Z|>hqh^vָ,AV$73W'm'##CQê%lQo=6:m!%+l #`ٰEa[4VPM[ ҶwC4֒j[)}` + V!7R<=d.}SJߓYIާMiN>$(f7ܓY$}:_a-nP@&J>a#H7bk<)H ށ[TI H ԕM9O{nV?pC,@ԥiW-U-$S3/%Fo$9E z}<&K:h{6f%/<d K|Z9SzERpSwZ/*ԤgqyqUN,ax栳_76GY ō{IVO9h[.F5>Y~6XOf+DXC0L! r04}Uepq D_<'xS)[a%3]Q$mFdS^` WWbjcT5MѪbiO\~Ri7@p tuMRcGG͝or0&0dDGۡ֬謌\;t}7 o8/ؗ,*қ1{#ͧ4m/ M2\]+ ֮@C>ȿ= 9ζ YZ