quagga-devel-1.1.1-150400.12.2.1 >  A c5p9|v 2 w."͌kNwٓ@КqUeh!gS$kd-dno_Tv(+2ʛ1=%;>s_a0cލ[c}^N԰*]Gp57$ {q 3 A];1O{hHmMuWz$<æ;u5ǂkEѡ߾KWRM$yk[f6,Ƚ^~y !V@;'sM 877c0800592a2851b5f8827e5e895eb3b9fad0acde53b565f6740fdbf2e4c30042181fcced745b883874841af2a06eb607639ed9Uc5p9|Tr3 ]@ {'G2@'.)lP6_kd<2B?`?M':#RDW|ky9fAӤz&\,+kn $s2Dr22&CoAQ7qR졨MTٻCe*9@/<3 6'aah\|KC ͓n HQ|ES3>1yAi6p;n?nd # g8<HLe == Z= = = E= == =:`=Tx  = (w89:FemGe=Hfx=Igl=XgYg\g=]h=^k4bkclDdlelflllul=vmzn#n4n8n>nCquagga-devel1.1.1150400.12.2.1Development files for quagga, a routing software for BGP, OSPF, RIPQuagga is a routing software suite, providing implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4. Quagga is a fork of GNU Zebra. This subpackage contains the headers for the Quagga libraries.cibs-arm-5MSUSE Linux Enterprise 15SUSE LLC LGPL-2.1+https://www.suse.com/Development/Libraries/C and C++http://www.quagga.netlinuxaarch64Wj@0\E / K *O .j~ uMC"- (- k"J Pb"< A큤A큤A큤ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc94a48c22212cadb857f66e6dcf6ab0c679bdecb97e33ef3f1bdfa65341ab5f3006c6d711aa3ca19a6697e4392aee6a4102f2a1d75c9391a765ef83da9d5101d469b0b5dc87733d0c689e0f0f816e74641ab71c2d05993b7817281727dc7e4299ff8ad89e83edc0cf9ea63be0c5da64a86ea1c1efdbb0b1ad1d4fc52bac566bcb8d1aacc475fc4ba774d4611189322d6d1b5c819d1eccad225ae425340b00779385c43a11991bf05d3031cb1fd3684356c801a4662a68a5a6933e37cbc3a941d2ebe8c9941b553f69d5d1826180bd2194e3245c63743d1b63bd45bd6296aa5d403834f8c4ee04ca18b863d8093108bb9f1e04fd9eb5bb8fa322bfcb993f1cc3a7b67607b5ca257747ea9d64ffc7f8da6df6b73711d3d36f3ef33b6a308659da7a4491a1bfe3c27e44e8fb017a0b1c2f2293350ece030d256809af26a6066458f9a370f2f45a643dc22d783bddbea445ad6f79b0ba787df343cdc4ab22f967bfc44b6d0dd13ba2f37c1c2849e7f92531c7108bda5d954ceeca058c5bf24d060b8b9d547c16eff9de8484d546009b220aa44a429d65cabb8e322da7a8f38a9d45dfdb1ef287bf825b2cdfce63e497497df69745164da1cfc729c4c8d6c1344e04efae0dbb3caa69ced18c24bfe0c061c07e25c3a3c9e98b79c2cc182780e931f739ea26c5f52821ada0f0b60ab0701c91ce9fc034c6834b09b7d6ffd12850bf7f7bb2fd4cacdd5a367804272d810237998bc8f797e3f51202baab033101db01bdc09b578397fa4c317caaa7efd738b4cba7800b20daede4647a52ef8d34a5166008b4227db703d70b2d456dd6874968f70d40b750fba0850ff28e92d52fbdabe99667e5fb7dcafb102c247321e1feb47450fe73c4d960f5fef9340f4f6563ae6cfbb111f1d3090e6774e90ee2f8f23a35f0b4c087067260566558b2c16c258895d282b2a06e153c31fababb60720867eaca52ebcc504410a77e206b122fb8595efeef9d61b9b87698e39270efe50c608c952ff5c420fe403e070122dfc48602e919ede223a6159590734bf2ecb6138c4ec5a5e51f5a9ec223e1d6a0c6a0925af87ff4b54c941825af2dae11a77635d05ed1aeae3a409b5561dcd56fc856ba07c6db7e0d27dfce44077709994c6ef838d91f805005907f87e2c469081799e3bd5a5ddcd237dd0bbcf5a4839e352ad25965213b7b6e75b733b6cf33bd1f515d56b0ae472b53462420bbaff15e33e26e21442e7090a4686f5626f7fca67dec597f2b6ee16d774a7e78f4f5fe10710f8ce024617bea040d37c3c062ea1b741d08db02839c0cb146883ee1232a7971c27cd6b480b451b5a69b0255a7d8444bf8e13ac215fa8a6e7e8787ae82d633dee75a2bd0789d1397123f9abaf56cf132de9ee6490ad26d52ecdda669cb7de5fe400ddc595b1e298ed031de85c08acf4c23f45d03523dea8ab72adbf900c2696229356f694af49d0129ff09ed13602b63110de5b4b08454466d7abbc28ec430e666f03cf5972a5b3e2a2521765fbdf2356eb507b147ceda6e1912b7b3d004395e725b7b399f3dc175e587550672d7060e6c5f4c41ec26b753b4f1e9c48d6a0234d8e849049f23ee23a89e6c9d504c341abf8a841736a5ffb7c9f5a9fbc1fca34f8d643e0756ce6f217c27d9742d0952fba4ae483e50a5b7aceb7c0c8655acc86d48b957b16fe639a221bf82f0d9f6eae8576696c584489f5cc491bb2d2a32ec7ead70d7e988b305bfbb2c55eb558ff7756434022c663478bd53aa60721eff922999e1eeba47d810aff95a07005cd69cabd5b2e5435f2685f539e67fd1a301e40eef3347f6ff8a39de7876eef5f3c2aec86a4b572e009637c661b89a8f38e0b181ae2c9fba2b3952dfa9839584f1ee99d4a8945f7218ca63c70326a0e02468e7944c64a28e03c586665373f8cf7e7f29297a0741b2c72ecf5a2cf6ffe44cd43565843db63363a5519a1b97ae200f4f4058f8c92d65eb59ee67ef6575c5cad474fec5784a6bdc8b5806bb4a9c7b1b0ecc8bba0681c039846f9d2a8325711a673e9320be37dab44f144a1a28137c55cd4521edfee96291d7692e8e51969b8dbe40c631cda034a2c31c4810e4713aaae350bd0188df2602737528f838c17a1ec18f82d58b5fbd383d4333f93fd69baa90413a93bda69b6387757c3bf49403da6d96d04754eda641e2544ee0912617fd2f4a67c61acd07b33156e069b8136ee24038a7e7f0ca00cd3cf687a92c78d1d0aca08edbe755c6820b788cf277461ab8a71306f2902336298d4fc2616cfc11e5db6e0448017961a2cc58dfe0d239e1edc579888af1902170df57f35f7dd3e9fe61014f4b81fe11a7aa19b8efc72dadb3f965cad1af6a2009fad6dd021b452fbcde8ebefc6753f847libfpm_pb.so.0.0.0libospf.so.0.0.0libospfapiclient.so.0.0.0libquagga_pb.so.0.0.0libzebra.so.1.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootquagga-1.1.1-150400.12.2.1.src.rpmquagga-develquagga-devel(aarch-64)    libfpm_pb0libospf0libospfapiclient0libquagga_pb0libzebra1rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.1.11.1.11.1.11.1.11.1.13.0.4-14.6.0-14.0-15.2-14.14.3Z}@Z@X@X9@X@X TXW{@W)@WKVbVbV@V"8@U ]@U"mt@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 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.patchibs-arm-5 1675949000  !"#$%&'()*+,-./0123456789:;<=1.1.1-150400.12.2.11.1.1-150400.12.2.1quaggabuffer.hchecksum.hcommand.hdistribute.hevent_counter.hfifo.hfilter.hgetopt.hhash.hif.hif_rmap.hjhash.hkeychain.hlibospf.hlinklist.hlog.hmd5.hmemory.hmemtypes.hnetwork.hnexthop.hospfapiospf_apiclient.hospfdospf_api.hospf_asbr.hospf_dump.hospf_ism.hospf_lsa.hospf_lsdb.hospf_nsm.hospf_opaque.hospfd.hplist.hpqueue.hprefix.hprivs.hroute_types.hroutemap.hsigevent.hsmux.hsockopt.hsockunion.hstr.hstream.htable.hthread.hvector.hversion.hvrf.hvty.hworkqueue.hzassert.hzclient.hzebra.hlibfpm_pb.solibospf.solibospfapiclient.solibquagga_pb.solibzebra.so/usr/include//usr/include/quagga//usr/include/quagga/ospfapi//usr/include/quagga/ospfd//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:27725/SUSE_SLE-15-SP4_Update/2b72bd87c25ea79ec380c1525377d3e8-quagga.SUSE_SLE-15-SP4_Updatecpioxz5aarch64-suse-linuxdirectoryC source, ASCII textC source, ASCII text, with very long lines 9i.}tT3utf-8963d8a7ca2b8d7bac2316a704d248cbb1d904cfd87bffae54b342a56f9b20cfb?P7zXZ !t/q+] crt:bLL $Kԡ PT`c&t ޏ5(vd,{39V&o\,/k=HyA72g)M&<4@( oQ᫴oӜ{mP(h1 M_.G&G; ܏`yx ¸BTZ)8ⶉܯ y!UG@(P <%2L/_ S>+7o׼ $";>BnPZ눚 Uz8K;΀@]ʪU:PV^ XK]M(t5Y|S{H? ,%9D A?̞_I mnkZ i >$y7P[Il+3$tP1Wt:\tq4G?ǐV/{wrḦC劊rfMkFHٕۈ̕ SKU~܊N486n!K2˰Lw7cD3I0|L!AV¨?4"7˜KUrP#+ }٢F8rEUt3V%/0_jo)!(,"c_&Ev-:rgZ E㬩kąZ{J#Y^"u5]fTn7 su0@TFl)$nn!4/FM, ,񛾬NEZpSr"[Q*-#;Q~Z7|[9ɋ_B|(yj!71?|e;-Lʣ*[62pY]?Se7h:KSWthds_Y}{| -IOf!L_z\]gJn_5 wUX@d#ś4\a8v|u3Uk ع'z5 7'J&2x.^`v tGG#Tm* j`lʷCb:Z+Wwb|UA8f, RX[±t٬A<({6Ix>|⛾_;jOIC] :Z`Dʏ_'*6W(3u=T ,T֝ TɩYXQm~}G84~Aѻt6jf)J<èK+[3 5D[?םW`_Aʊ\3I8'ញ9r}T6[ @ D cU uk]C!3Rj}' "7RuZa;$Z,l"ۑdqSBn7Y N$ہ:觳ӾU_RK>㿖zk3-'zإƇ1gRzByɔ`Y8ߓNI1Mkk)+wFDc<,<Ȋ@ζ*C g)pNf 'xM>ݕC+ɨWU<ll_| ބK#ۣGĥlBHԐHY("?Y1(IHeϒ-`n49gp򜳸McKG;^X%d?1^_G$~X%#{6#7&b59`j9$ A /#hؿ2G,Zw< ( Rʡ>$D +֬Uc>t=W~꟪S~pcqRhTEy]z'Q0/;=*D@S `!qW{bP:~wl͟07J=Q<3^Isց D[K͔-]جݢX-Nl\:LȖa~zM"'RP~~ԵӎbUyg8j4Ȋlw 刺1/P.;Hȩ"h9זKh<+JV̈́ ț^3_zy\i׀|p/$]YjyzqO)Z_ݍWfZ<fm~^o~?2m|#i)8*(F#jxR8"Ub0p^d2j9n[^uvNHsY)!T`N9',|DrӺPaƷ&8d8]#$ʢ] ӡ)گúTaD7H@0CWY=*gm#JQbZgZYG"9'~tEY, !FX$o~q~Q.v>GifrGT6UBʶb{^{Ӛ`[c񂠗 %m |Dn<Ǧhmغ·{r6+mJ%Y˛aVE8Wœ>NW؄3E*L!,0M uO3B˵!&^^%Y-o)ƥLb#1Y&(t;(}+kt_pY&x _3=>Cڂ!_%޵^Wi;7Z Q^LċCLُ ˿ X.y1]pn-%=2'Q;k#C$>O#?xȗC. KA65̳bq۸q H/_AQ lݳs%'1"*>%|(U$&JpL='S5&:Y@HNS҄5d(T} 'WuzlABAFRKʣp2g8lVK[%,?RVa[T\Bg=edY=4?St6r-@(u,n c3 qq؆Ivq/}Z.Bϧ幉P*wTбW{;͕CHpTF n?O%\{|'EEL*Њ˖&d],qKz LX%[J3,VUZkuO}RTK(jT^G-Rdl%XA*`L =XWNz #T>k~ &CETI߁=WkPRdE"oM2+.3}oF̕ JP~Jک@+:S@NjHt5{ٱU"xS2m9K+ڇSOjVp51qu+$/eٚk0=?MֹR7?:[1:\))]v]#>I"dā`XSlzSR!lXՑ l5:o3T7=_daupb I6tBUgFs̃ - ozIfV_, `d10?cO6SjmD VI58!{a 5)N%a<|ru܃ Zcȧp;@z}/;{[7Ds7~f]-6c9T= fsȫe5ge7Q#T]HJ/ (hgk$MX=TJWw9X6@٤@TSjk* z`A f/xm52mmBlxդQFN(;rxċyaF/+ ҽ 11(A'b)}pёpOBJݦIFuM~H͙^_]zT]tsXyjjQc#} ɍ9jtT3ӋeSWL;Y+tMoP!@͸in7"oJi-owax e t䥎M-M!땅Ct٬֔iחe+&g1p3 ǡȍ\AqL@7!F1˻ nM X㳁G=6Qh,+H?<'Vo^mg7&eifdǡw?[v*q/Uw_WWlr/U&<6M dTn8mP$%0uxЅEq2@'drѫvG@/^2ЬϱrȕV~FP4g׳-`?5k;\ wix*3O 5k)GRӇ lc* B)j|7֒38gtgChTFTqL&^d6 XnP¸? py(C*Eg)ôY,1]vY$8W]zqFE@oDM(^7&ŭOw:dAV-bB Ԫd 4˭s0Yٹ9D灙Z|_3TlG]KFE@Db @և@MKI] œgE!m9\d-@FhTqr6HnY_¥ 6, w Gx/OZ>:={Hem*\K^wW?q]F@_YKM4ڪ{cȞ}3dKCȝ^T eq]Ocw5UVr:J3ȏO,1)LYfl@ }9핑>LM묣^ 5;Z& 0wO;{|Kx3CBа&$:yA*% CVʟ$f ۖ TG?\@+v<ч0|`v@&)zW}jd_yW]n$"pt[OFUU7fTN'[4@H.'sh=̟' Gmgdi0X-QJ)\Eqv=E`r:B`TDchge1{teؗN]k }>֡`+ZmZ\ J/nڶ:n&  mm nIO5»b>]ݙ罝: }" Y$+7?R@|$~G?aYti#J̦NSg$P՗?h҉o kNfVgt9#ew gYd:y,B埙"9 G}h4U5cdTÍW+~3UT<j+9PJ>3d,l"ua-FcPP{,TjN jp5r'qىW#DGߒq6ByP\ Uoc/m~İ銆zhSK1 aR5n<n|:~Lx@5xE+ 0d\P.\&7%y^7B y##)Wm 2nӤ& E˥ؒ]Q Ll H1ؘp~㵖a̯Q sٷ\vC/6=c@Þ (:iE>7Ý!.286tj6f|)H&KK~%NO~>\RVQPvF-V3GfW\0A{I&jXbR+ǰ'+Nd^t:XgGB9m :s/R2Qqr&̕Ѕ6ء5kW}\XYS˵+![ާE,7d! >iSoߧIfǹ{d^4\]/ Hwv0(aP3dfƈl.C1[.ZDqN\6= Gn!Xzl{˃qfbzxya:{pJ˜})]ꭔ$z3û+:Ȑx'g1r*P 8Rтn+XҰrݡn"I+V *#imi']-UW0KIbA1ό>鼗$l^z㬂~MZssAj˳2_3j[蔟"w_W6\NS.G~Vx'U4Gw]m"ZsTĶ ,죝~+3Gk&moVW{4:f(|(BVΜ+6~-v S8*DR-åE9BeL~ [EϒXNu 37fRspb.,O;4r4 RyP<_M+cƀf{1usiE`3Gwyf11!vH{D7{3Dr֩J\'*4;,ĈQRv 76^Y8P6\LdcGkR` \|QdǏJ"dUzAGY{j,IQ T0ø ,{(C!|!XL"b P\R3Od ވL޲'5Tm%˾]?.~wԹyM7P޳ɸh1:}[ʍOV DU9ڣ\(mKkQr:䪙L%9|F߅#ί u9TeQ$w;dھgB#SWUQ?$03]*' ur2G#]}P=\)O␐W3r~Lf~< 1O;3#K=Nu_] j8ci Ƅ&j+kݤ INR=#TE/Oo {jR8j+F8:'V!Q2 2"f(iy/bXvy{n\u\"6P.ZU.Fo<-,Дr {UfR+#lsaWT\^ʖh7HK&j6: +;9d%-_5K6@1v/!utNofut?管S: EMdI!Fr3cڂ= n/:kds!#3t]@TiVdO2O5b'3jƇzy:uWrP:̗ؓuoΩVvBܑKNxpq a.ܠ%hwuLjHbKhx^+O)+`^kTpLbmM 8 Ŵl(M,ZWcsp# 4U@*Xj} (5{q(zmTfU!sk<fѲcXX,L46<7w,ʠ5_"sV!6 .Y]icNtSyis5Jj6^ e _"k7QENWYv3 ɸ5U3تKk^sr[c R>,gWS9&W5Rm5j'5ILP=㯊'A;Яt+Bh'E+. %c+/g^Fe1`Q `t&5i /5Mut#:ư$o [&mH!u Ex\'LPzoj_Q^yE[^DN?:6"4" VEzQ7Z.4{AlÐ14˒DMd&b(@ (y[ $8R;?ؐؔ=tXcDU(y="OeJ[S{ϴ'ߩ6?31a)A-i">jr/ER;C'dd}|LGRSw,ȒS>r-IJ>qT|\hbo2{÷ @VC喙e`q ގ\i' s`>c~@5ׂե_V%6 !EfI{ȺALJ'Ci>P']]LV 6mM '͌|r;1^u30W:tu(,c#fX3chjf (iI.ieH1-&ZgpzN#<8A~5XОL)F`d._ZkO(n薴K8_xԂOƒKh;x3`oXq ȧm3߁ +h?t^ 5sA?e6E=!uR%p9NL8shi t /i6'"4i-A"vqKT2<l\ G!c[6#}t#Gs}UVI:_i㞏]~6^&ӛKt05+ig18Ss/Mxsd*n#Ѭ kVLlPc%RSaF\fzX3nɢuC0L,RElƟn"=@-S n{Dv*T Wn|@\?ǧDpD哴a7Ѩ7, %o(DR#]Iutks2,W.q~5|PTNxjf)V<%{"ʰVqL5.8Iɰ9IY͒Qſ8b N8Jru`ز/\Hk-|:d 7+џ+kg"\h^~E5X1cɩ}Kr[c^ `j`Py`bWHYo[%{طE8B2 ڬYV"[pYr* dO7IE DŜfu\&LDWV9EHoBqyqaю/M"_ǑU3`|vr O^Z{Rj=X6Jp3l,շeY~,uVL_Wn.){g!Al#G,Q s5H#KLuDڈ/nsDST k{d ч3`Ƭ"#7R'E/$Z6喷N {Н5Kp g=W Loy,ͽ߀Y h8ۤK35>2+2ָr_ azAwA+f=t=']Cee {ʓj]9@h"R(GvtF'Gڇǥb9$D TcxN)ьxn m]Q^i!'4׃K!šU¨,\Ls[IE-_|=k#6tuU}P 5+Ze4|G=?+LƖ2*h7 M|iT#jsYr P}+\^7[drUk^I-q7@ulG;x^-BvL#ȻJc._ pG枋']`e=3cX1/EtNOC/07v[AuЪ6S79S\ roϿ9r!#hqkyEΒA6]bw{[j:- 7!G׿7l׮j]|Eo_1ֲG2l+s |wda0Q/ʩM?Y|I9*k,#y}'b5sʷMДRl.ɱ*9ͷ23Xw;8L"@*AhwSpGꌇLuTA'3Pa} lb|#.:1'= VIh]w-Ű4k&.FDfCT~j|MVl|@}ΓT];Ɗ6~֯e]Jgv4"ȰW `x]˽h?0[ S$]Ո"D5îz4RV*^<ܞZ6~656cxD4* \!j@h&](84I0P"s]:KjL]-7b=KӆOm?Zs־n" 0{Bp[@tEfY̸C B,BxH:6%:@#RO/%tl0 n+YU:)|N&ʥfjK1HzP9Zh$(4ASyQyԶ 颰9S=iCq% " bɶT^5'Cof.1s?R{=s5XzQ!+XǸ8;0k(cKAnTv`Q6hg6J s Y%"'L6 p~h̒Աq>` [/4+uHg7B=j'Ayz]l]$.1.!/g#oj84'HA$cx_DD>I zTm+z*LiWC"N`E-h2ݑUNdH77 G~"Zm!dɷOk.?AbK/d ؋hi!1[(0wG5 9O)LV:0s2) s3MOs ܣA$I9sxҸKrRfNJAM- T% E ĒY wmPA A$|/kěb#nJ'+(iJt7g i k] ֑18*F*t7)^<$D`=UZ9SWy ߛC `cJnkOqIL7i.a׃LY8;փ~3>HC!h,WV J   |0f-ȏ ٣U7Rp.+vyx)Yt>ؗX({Ky;Z%j췺q懬m)g!tBbx+sO;nvݔ~tfR7 Aq*6m;)!D'X!~h1rkL-3aXA5ylȅ_E s1R.47r&b%xq}5hV?DmJE\In|}SE.%SғS̼]˙b{sp:SMpDaلH17S,m .dabV(O`"M`+9 L{=jae&[m f5;?_yӉNg'j$X [xYd3klN Qa8J]9 +;6VH*E͖Zz@NIv0Y?3J6OOG8M7+zf 4 &w_H_cOv%XG4L*ڋL+-P8< ܔh 9bP ["8HSI v{9=3I1oIH^ofiOMWk^XJ@ x Ţd S≭A7s/]C&rp8qU'AtL;KE)?~H0J=ٗbb'ASqJ乍 sV^w> 2 dtFJ8 ExȎ,m߼oث!yn2YصᧀT~ɰ%R|;IbhC\"2^T?Zp) 0(K.rKOG9$(Q\V`B%v]a72d3mWgW}A% oM@>5şEtU +Fz- \?>hc Y,TGsJqqapaseOXgkNXs C2.g 6"8.(0ִ;:=C Ȳ:,|7 :}=Z>pܭ(Og/`%&[iS]%w=#Pì ]ݦK3.*(6QwfLmg Quc?m 8j- \<vS!>NڇR7d!J**T~͡AwA[ hf5{qҥA|;Yp¦Fg=>p6ڤٟ@aiX2GP(S}cY$M#ٹ`LMS:J /XTJc CfYۡdPd{,H[ 'do|0ߏ_2 )+9Vn}1즞 GQŅ36B6]\m&A>;yFq$N?k&Z?R>+5l3FU "54i8?]Qk4 BJ!=ϩR1 ¹{.zsS ":)=bXR_N邖A6).W|tYS?s2 snj;"T3ZTw%+Dn{\" uXade﹭lq$IK/f:v)T֤NbH=0=\MRU+\fxbA4~ :6$S!յ&3ZߛGOrԚv U1kaK6OZ5O ;f!Zק6D  .TXE96QTVXBH tDߎ*UG:}og5/l9ϓbr֠+ljzREl ]TidB^B.RB>(@Gehgf^"~Jg$ ֡zחGa+/%"Uu-ZĖb6-&z wk`PN P=(maǨIbȈg6Og ebwsg#KZ{.ῬOVD/xPH`=ߣ] >[3h ˒P[Fȩ#*&?LxKZPfiSȵ.WKKgv(_Ƿ<4- 5_vW1P>'BB tIRGIC٭L/i.NdӲiy N%*meo!tq^?qҩU,siEg=,&j1&o Htض /7$4NKʋhq9 `/@@ "Z%vXQF8;BKN{[Z>N3{}2ġ;!Όt)Ҷѫ{cY(9:x$[xA5ތ*mAE&W"&?/ ';6J|71DmrXySY'8ȧ=SڋmiQ Io}q?R-X !֔i99ßɔ7ҡ@_m1,' #NoF|[Lm 뒈5ވAkZ氠H tL ]x3-0A$#uTF#FޜՄ~z\\ N~҃$*hϦƠ%Tp1[0ij=KzL$xe>6_!:' ~ErA2*Y7@Xf$AOUiXZpf|' D+y&{g]2`TF,uBr.d&ͿUæfT;ת?_(:t6r{Lbw0 ~7# d"7(tF18iw-S(1k4ֹQѝ#R,a=T;r3?RJ8gZ['܁SLmF@)qVtmx .qɅ[@8ǜTZ[rCrFWdњ>S-$4S/.x˪ 10{izuЩo;i Y8Q.޿O3cJsuem9Ri{-<YLqTy7Z\:Pr\2Kb{xDYLR+n`Kk?AJ45XؘL[oU0-xy~ 5 i;+ߕ ɽP.F7XAعQr8bMl&zFy #cB6₫_b`.+Ny-#ҝZLպyIrPRv &cqөS?母^ۇKM/r\ .41oRb=Nyz}'{)@߄;Gr'5G I Ҙg.G"N1En9B+/&}L"p4jYkD|%ӕqa(s/k"[8X|fY_^aijsG' `O 6P4=(=&_S a^aI&&wS+oB宦0@eGS֓ܢcxcyé_~+m:TWm%sl@ȷYXC(J;Ҧ?-ǰ$iӈ3 л1 = #!ig?.#3E=}VR{ 'vRۭH.[ʛ䳹"+t;3E!G;WW )%%;``3#jcmļ>Erث0 bĤBO5JS`hmN(Ȣަ7}G0H37^s} ƒ21$(P씫3@jB)hf5<8;z-m[mZ[pC1];? p̉9z;C68hV?Jtל?()*$pY(]'߅0uàI0>`ݝl xIgkwn\x$~TD+o h_! f.K: gXn|1!+sl1U0M1VɏȌ#  {w8m L@r)DB52?L`y됗5YoC?R4}zC>ªpbXi׳iT ?re`z鑿u1tn G#XY#eRq 7- ;/Ng~ )v6rC %z)o0yޅ[[`7̈́Zw;v64=&R;!*yiI:1 f UqШ/ hQ$ {Aqw޹yMZO.4fi5-jnZw:(4v &sG*y|Dz@E_•ުbPՄel źo9 &@jF`\z185Ɇ?R9O'Ic y,?[VktTu Z⼡pRb{_8hH@.%k|)&Zd^9,뽰*hz*?8;y@%)'u#P4%Xtz#Q,$b}HwDo5c !2m11ׂäcGl^@=p0!z EqDaεyD=fO-cBiA\+"(?0͑8zq)17\3g$00=/=lQ,1BRQ*ZCElyGۉDkezȥ8>鍷Zy=hZ~:4!1R̗[NA >-!tIv=10[%#g7o+V`(W*(uV.(Vyg~Uk,#NzQ6}\v&ч*JS*Bhtwas IG~U| =`潜Gfjfo饨̼hCHu+iOj΢N0'\agZ^ .\*cKc$l{i5XUXwZJ76fy{ 뷵:180t &g01sZ5(jݳ,ѵM yuN=su#{~U>eeJǣٗϲQ!yJФ`âo,##EDvKmuZ sҎSalQ+=k$,tZQ >d !'=!J;Htu?I*iT[|E옆AR}#榷3 \k5(g8"OBw=n/4>Ro 8R`Ź{ ۉ"o2nڶbޤOljq =p3-!],R{lO=|1IwRӌ#[%ڟ6zqޏI0M4Okުu{a;hְExYXbvWb1uw * 7bDENԽWwT=pŸY<ˣchʗT#,8Q籸LuC ɱkLG8u@|+e` v/rV?3g fw)`Ǡ)G!*~ ѐ.~\K*:s#ƷV,(++ּL淭[UPԶf2v øudXnJ)ьVl1ΗrfaneN:% HՂ|p=!JƃU7-eH^n!x$@Lfi5~ghQ2;6X8U!v=Nxb2aػ`鼊=4Zk^[Z$ =:N⫍zWFRAEװ!Rj{0܀KW;ɱ|m>z`˨1=F5 U ZpK8vܳ .4!GmǠ~-KFCK0Rp ݎ-n*h<}VG#woOlkQ_0W]Ů j*Tf&KgH/J%SI+c;ո uZ29{S9Ar>^m`ycl1 A+@D{x-m~].cEU.vi5v|YrqAz~o{s@0nȟ:{PAoȬ]N} 9+W4S'wiv^:Y_pSwm4[;.nw̠ræ+A-[dFUts獬{|{몽(^98,'l6;nW,2?Rx%`9YXw<$&_ȥ4;zdJ^e[ tt觵P7ev9 aa Wp,rlF0Yw㔞Cþ&)6l vkvtnAI? mz2@Fr~ ʬ! ]W-Poݍ{;Fp8 \%ӌ'2!i|t@8 TP:C7g5=k1=@P"#-xrFov}Cֿiė _ .Ay0uuжWp+4&VӴ9Ȑ6ѫQ'=şS w3#/|Ds N{!0+-6Gɦ 6{LOgqeӪO^xb:?fH w Tbb]V%sN*3VF:MF! `TE)ڳKŧT^sk_669!F9uTĻ,Գ GېRZşL^{ڋVӜ{PUCRC}X׹JՐ=H9~ju*4$_,m5#6)K[.+ڡ}`ɧgʷۃtTqE0UMţ%0湳V{`N f ƜN}!C.f20Ђw#'2"zlrd2n9pVRsIDMze= F>crڅoK4aE>NTgʮI?GuY)j.GvO{m`8ϲ:'gvÂj#h Q%8}`&qw7^A($":ŷ1,ɳ"zܼ>1᥆m9b(3L1Kt5Ki_.! _|w?RYQ=lx9iȥ${}HYOxj V^=%lt#1=7~.BSp@P*2tZ5$yt>!ݎ7-3COژdEpl.M`TI0X(7t:e=g ٹW?џ(d 8o:8Hu̯5 N%8$vHƵJo{~ 8I.&Ӈ*h1{vRa7ȲaHuk8]J<]!Z$K66Hí3MXSIm(3JTm]V 7Olt`Jo!-!Q 1%h ^_)W4K@m[KvHf|`YU@aTP.hvh%跀R'Rҋo3|Yz}]ۉfO)DױKrQ~/s7eXAsh񜕝;KULS$ݼr SD3~A(VoZ7 ƒh?ݢ&"o3o[7эI;ԋbpdSA&a)J$5Z+` .>J!ruC$ӯ 1xlvq8JoCT#oSJHYBu߽EXͩR B|5Ll 6MNg"ރn*~RTUL4/ΐ 0W[9a-H%Pk<[xCRj E/P۽#T^4[K#Vc,l?8\ iTV5EΫuX,vIŲJĝeJ}iE]=>o0h'$ c8i(rdζJ^k/W\]_(gxd$uO0n2؈ZOΎfR$]ڭy1_K;E)m:,C \Y2P:`Ԕ:)_9"G.n2GؽqgӍ_*llI!Jժ'X6݃$|UESpt}>GhQ.-X=OPؘan 6HyʌnnO) a_yS}ЍyDM@Qg6,u2Xލ(֎ܞF8sn>PeʟXNeCWI'mjSQ)OOcRjC(vᦡk@0 xɀ  41g觨@<1L7r.$b:BFN?YST$ፐ;d'`uCƄn0X9)"FgcvP"}JQj&@Ldb9iۚVԲ#c 7S7'*/}v\ҏIl{3h+8Etrc^U 8L>㈗@T*Xl+JFʿ;ΥͷzLI=RGx-v%ǯL p-D84s$miT"> D} \TŌ;RMx#KӾLp*/`o; TZTqL TĒv&l|\OoHOFVTԺ)Z19\ ;T\OahpyRSPL<z a]{!ܷK gn9ꙕ^4*>-1ʮ'%a<:qIwY~@E-DvVj$SH_{ }Yz)2$ȉloU1`B5撥:ƘSAz6 {io K."[}.8-`"n@W?lNNh:/ò6g w쒶J+垌W l3t}Yq" JuCL@\Z\~heʪRa`]R0RNGfc^@kQs/gڄ)iEiRrZ1ÖZt.|U(%X mwWQهŀ )T[g՝Cax\?Qx#&Jٝ!ЅaUj')=m>;^I|UL6 47Fp-VM^6"9O$e 8KƠA8iv%p,N zf:̤Zx O SgQaH]fdQ%B˛K wa`MmVctF[#dVG%;n.O4,jb5 gTFhD3vh5 H*wOhWXaL}A䘰 X? N fH%b,T洠^{/%m1+~سJoh bwIqFW t * p򑥽 ]!WpR(xA"f/`Ft)gк \E 3wkF1H e)2EmcM F,m%k߫YEX!ȱ=v?WSٟoS Qu" XfPb>M,ge*]]_uw?5$JgxsQ1(n~hI  E{O~4w߾)gCuo_% Y?^ 0gA~6zM!'Pc<)-r-54` y0`RޓkUl^ C& kRSs2慚&Sƨ:>35wBp8[,"ه;T֩)eQw/kҭ`XHw%Eëhk]r)'!](uû>Q^H *gb Hu5'fʌMv5(yM妿2ԄN*xg!c}zՂ:)PL;E =ʶt⽑,O0>֫ K;+8>v\y7YQ6;#wGCV(sH@U1E\*RX0X)RH%iIYq 4@|;:u~H=-KMҌl$zumn} T5n2gbȦB#ALR+^{m2\*_I)@"\#p+- 1xk îl.ZIj7*-W s O_%U18OAyYXkzniRA)yxzaE{s$9}1`b򨟩(T6A/L € D,3Gq$Nϣс4!9u~+$-CK{@62F'ߠ^n>&+egYu {J zTR'j`|$+gH_ud1Mi9N5$Ln=k hpQrwqoլ!k62.fۣ)BF20Zm+^]&.E%g =0xGPm+,\cwEF}/m1{ :-^ybKϿh)Pw-jo* }[3l8zdNnw$ŭPi2TS83bv}dGUEm8P+~v 6ɒL.ot"- }{*Xy75bQGh,?C_EnjŽ(._zSurcqW?(:{Ua{RzVt:޹Ս$k$7ocgDia@+lfز7Hb-ȁv^3$AXB 9m ZᘌpJ*FӍ L5$ɜ4\0 >+'**NbTmʌf׋MwWdu4\ ɛx>:t. |"jHwmyhg\UC !@N?+N<*6@&%|0u0z[ޘ^n8E\_A|כ24ޠBU{D4%Ҳq\"Ci#82WDaoCnu[|Ml:%(/\TXz Uꔾ4p>n]7C9_)45qn P ݆$Gm:L\xĤ ٜHqKaUt /ˋ M'`ݩ>%_x4ݧebeHA[9pS7ͶpW)Wϖ 絢^.1b98MdriE$V'nTg03ʷDWiW;p-wnW$+A$0'5 qj:{ǥb#SsXdj1zLC!9}&b͡GCA"ޭ߫X\P)c{\ϟe"qp^P jffE_<}}N1Y%b?zdK 5_|so)RX,{27{e)C9G6[H2i{Pbn0_, HOHΌp%J;b|Ngy`#Yl)T,@F4ll]}>`"ȗ8 w2u/bY BvYV( ;`r.שD]CV>-zžl}!:3$Bԝ:8ZR燍n<: eZߡEу_* e[]19HӻM̟7b,zu&.8@29?ӗ o*,ن~ G*0tg۲D6SIUwG݊Gg80$f0e c,F1cih[?ZƛK^ z.>T^CUxOsdW$ձ%Ba}pv}ɯ.9sM Pq$/dQ"!0ܒoA][ ۬s~Ϭc|6gA,&{JV׹T(4Gf6<[XXV`ie*ns;}OY4mHˍOZykhL Gz@ScZ Sn宔Pxˎ/sM3z=h]sfw .j{Qb<>^9@tc޴es $SƔg\15ٜ_XCe=T 尿y73_X J©`NatsI`'fN07S ;"W|?* N?Fc=tcO33hH^0% ˥ߜFI#@B͛}˲*~B{3K"XKxP#GW=c)&g/qYou,k15E> . :Lt *E"U<7e**[p2 澢C_c˒bm,2C5ޫ%FH⁗@fLa@tm51zf;/kTrz3yb&09CYՋ !#^sJϜc)M4N>\BhCuC䇆Inmh kilJ1~JHo|:2;- Dlgqh~~ID FUp4_rjk'6eH1ՃʗՄX0C9艽89eQJ,d!{@}"s_+C{O?RY4tS#(msu=uؖ|[c 1Hcy򩰝mN5ՀdtQ`0TP!'晦27æەɯ$=ٕ%jeɰ6/:Sl4xMmOop0PئZ!\ +y0[a~uHgֺx(DF+ wqR@lM=K;gϫ Wel+{1݁P^ȧ?ӂCI0uZVaHﰗĭJ$ܷm;ZSs_l3 x5h]E{[59-8F 0$~r9J|-{_ #2! +WdHͫU_Ph(r |U( !ws{*+案x\ hXHK^+vBȐ!]meKq4?9 >Úggۘ<`skݑGX=&`yNc:ly=61,G>p(u+&SBXQoכ7qgaw0A}Mϛd',MˑO'/3x( ̂^և?Ιs7H~=GYթlW5 A, pCsck^3V#{xk^x-ѓA\]q)dC\w.y{;ۄR^GG*ޒ=wnT # ͯ0!@[=M㋓ea)d" -(MeYINʣ \ XPJnePWVAa:д ۝_[[2nNe\.W}TCI;? *!9;t2sePѩt^}bO -PΪAi.`};'m"U%35BM.ۅRN]7X;OQs.$D6,q N!{ d ۘ jmW{_j KbXr~L\s$۴%݊j uQZz?_ D4ɜ]YW0NutgaR8rMA4g㔷vP%N%2h>{tP'39u'{m}m,ؾXᣪ vC4R|—}JS(ߟhYh#ժLS}Dp" K|&\l+$2H;yao~AքR쏌gUpZtj&O?[#^u)ӖET ?=}ڞ'ZSflvgTʿ=!]ydVb/%3YGzzSQ :C\oҔ`3rȀr5zQWX-clM|;$BHp=H-B]2@/pt.oFʅhǦ6f8#$F,i*ڄi_z⺗ճOk^t>knꊱaܲuںۥc!.+ߐ8m{ɍ^¤nv6 Yӽ~QqAF'ӡZqҊc~by͔Qd3 .^29Ф;LP c"6}@E ]\a('~6, 4C_ "lܘU=*+j뉆umigE$IJ6ne|ri;y\c؝_;O dom)"a[$0V ة&Fϡ:3xsH 5m߁~ׅ@B(>@Ur;@c{Izi̛ hY8I8ML"IA&h*ԅtŦ41~ӡƇU& Y "I]FܐT(7W͏*K6952BU^b*o\'DNK[SHm]OgO "DƑMna{^iq6_IxP|$10 z{qU& Mu}T-X45LYArĔ bT6 Z5,5%B!p=Rc^`3cuFE53tra&[a__$8:=>0p66h&+n֛h( ?dt?ko+;֔JU~ +BL_|yM)J+-U)6,e[ UMO*IB}t~4;M?w7jC/TN*BHz 9%a`ŵK吽;(Z^Q8v;1Ql$qC|.M<̓Z^M8OϜ1]PwXlb=gLDehB eU3l/=X܏a.ڿ8\ظ^RIx`%ň# c Dž(\ =^b ;`B*N\^ 2.Fd)G w /8d,ޓ@&$s9|pF+cLל&DV*{?mdمn=DĚ޶h/L4ב< ;_8uÝou1gWqƌkiÇ'{t+8){Vmym;FlFtzB#BzH,ϓ:FʼnrH9ڋ9t𽮊D,U/:tvS˹I(](c5+pCNlẙ`t՘pcgLܕoɈ,[qaѻR)^w,kV hCNĝhIzVQi70;v,G*d\{3 Pé '"[qW!5c{K]"n/פ"bl]5>_vEkƢNVe08T"vx[I*) lWw*X! nBEw|(%,ԧo׋DrMzz`i(kPnW*H+/'+)v^c ݹ ,wB(r;EP=mDHrfCC۲}FݛpyAMA" yɌRk,~UM6{?ެ>'v0 WhwL}E=tJ2waPZx~ nw&3=xbe *TxXC2Mw)JCqO@2ϥϦ g / E6ZSB5L„~'`R[5o8=u}+{Y]q?.8^l$}ܥLm׵]ծq}ivVaimD+#̃2 ǴvOb-B)l긣ۊsN1!6-f̩Z[Ң?zUvR M"peGTމXhe1VØS@1I6H%)[ qGJf+ 8-~ T˷PR /@ɬg,G3\x,!"%;XhN), nMH/?q& /z8} 5d~@ .-X:&Wr:5hyT {+Cf3nj3J4JOVGgDZ>OG_CO͗ iP ,SN"a6kF%Boce G1wx@}~d Ck̵Ʋ/rlST+*2),|KL'5O ne^/{Nd5rVU<+ S2)`3/ ^AJNlA6*̪hGV?&h%[@F*4?'pceP=o\Zvg[}UO ++xH"g{*UFqޓYl)_%:/.wg`ɪP7˚BmLn&# >u%z_K7̑iKhY" C{;?]8nGe'+ڼhB">A> l9 I Rj.SĎh:ظTc:<'dʾZ$G'O)cyTK~͋>s{uBk=pqŢɌ8!GY!5.+J6yHՀEʦRq.'y=s6?94Og)N)MGsEh$6b  ~Oɲ $>0mdczcG4gSO_l7fH!xFa-iIY =+@/!Gt .c\{o, M=H # />j+O:B-aӵ$n0=v*"UD\E(7~ˋx8n_  IpB[P2NYèbwf(,a9ޜNNzcg=J-䑙/ݗ,HXOnƚncZig)i:4bRDڈVmI|;s4 /^pT!@N6LJa/Cz.T=B9WiQ2̨OETfIT]-8UT!*d0*ါ@w9YK#v>5>wsW>]s8W. 8r>,+YK^)S.UL\9,PXDLi88sM<՗yk/GmBe* QG>}Hc+ξ&{c~sRyEt6[%̌ilo% 3m6d\#Hh)X(d0\?ܖA~/'c;-#Sᢂ_BEmҟM)#\O)\c5b̍?% 6$>fټ$*c3O(,`rE1bPjtzѥ"o!ޝ_q*mW?v$+B 63iꚢ-@}Z0D䛰f)BXA66o&\[T_gzlWn됒E)ݷWs|02PnQ}2߼NHVwf|f,nC)|)9i2YQ An/RU%N; 02$6]4!9NO* F7[G&ąu NK:q| 92Ga/L6{[_HH/:JHpf5˨O"6I`&fgI{C32끥^?w`Vρ`4oܪōJwY b =Ne:0[v -G;ƮgҸkGӖ|ݲ`Eܭх?cdZL]kN-pgNI& K;H`u:ݛ;е8n5Ap)72e|9Eȏ6:*&l^֙GC|.3` |T,w: y*_ ='AKID4*O#]ˆYoɩVemC };Tso#_TɟzQ9FƋnrQWhU.nxg*竢?4\L;Qo2N]wl&ICL"/ zs@*Z2Z]lUX RpQi&$3e2E\ wN v=UKɺf^:;̚Mh 3Ձ }uBV~`ʌC圷c.,jv*e-zPZN[fm;A/ "!Y1C@@,?4a2 Tww "&ocm *Sִ_LϿv."B%OzWz *%6pQ}'bwrCĕnŹ QD쏼"MAm6q.91;E | >,Xi,3NȔ5n÷JBȬj墇Kk0i=*\/K=غZutf RADHL;#I=јX3alc?e{ e~P/7c:ٔ~GM@soFhN;(y5B ai×S8}HwfX$>9hy[M{.Lo] x #w_U TF^#!ҷZ_DBQ g-8 &K_ι4qO \DžYپ܅] Lz^tvUS@B9Yޛݨ0E]>3Y;c*hybVʾ=56;t[Ȕ'[yl+deޒGj͌@nf8 GRU:1WFJ]3 BÁ00|oŷ:dGV y"A2L o޷{Ғ+؊҈% y=(lg~LY[Z*n Tr}rQ4[٠7m TjkH$Cf!2(83Cb+'mkXT\!ށܿ~M溂qXI-D<{>eYN21n_a38[CY./}7DZ(3BZn\#Ry8 s=pXia'"䦊5Z1EF8PbN%O]3)@K| aO*K)T(IZ4HW&6Jߺ)S߂1%,h0է :I6hiq]tM{{׿N 鄷W TĊ4r HקrMÄYFmsBvtDխ!TYTJL+Pn]+*Aզ¡vo-I#0 yg:vu5Nt0?{صĉr5da YF2~[?y'!4C|[cߞ=ejĥDz).ZS2q]&yfUnF:5}+ޞ_ZV?wjԾs$Ҭ0gl~GP?sjT!m0 =0!/$O#H6v[Ikc_KdEq{魯: )S?Fw/ݾšnF G]a[MQ+%@[[G,\h>JXTVH@M>ߤm-@s =Nu+ f|w)q鋯=K3E(+'Y*'[ 3+ 6"Q0}{Mԙ m6/}q3`wi^-#pt.S]47&dnYA Z.y |F'KBt-^c1$Nբ5kKaM-}Z=vj#:$V> hJ 0b<$v'v@,K#¢fllB#Lو=l^~ V6N1>)ilwX%d>C/iW_ NO0qX*1-D:Kf'F| `b4Jsz4u&b)` U"zQ} tZu4MPdGGpƆa}Ŏ٥uz 80h)p&cn(IAF^ 67/iUdst{b `!MB-3.eP'S,ҹig3opU YT,TQqڟ|Y;{& z{dٹ]]-U;AEnv9${Zb]sruLjOV p-$xaҎ:[# 1ِPi\>2!L-Z#R**vy> r8? /ES J"cl`.ML}X]qaHW6|3>:d *0Flw Ffg.q+ I6M.*.FВG2|Id8g~$lMؤ:2حU{X0c3vVo~[b,`,3PL$\M>BVs1K5W5\[C)f(VAß(\N}DB&jiҜz-w?I:TJw.wyߴeHuH8c.˙#qߤ.k`)G҃0[B+ {ciBmBrr5;БeÌQ2 W:w 2֚ꉯS3[%ljeJx=¥>}yI.sOY0 *./15nKiYſZUjr?gIH.K*xĈLG&KmDT*v^ gۮi/Eiwsq: RWD('IS.#-KtG78"o}oR_ơR^&`+ys9^K3˗ٶG(y4YN<J yWh?N45+^Y׬.2ssӿ/sN-V p.#Bt^nyyUME~ et"`~?XDe܋m &9ad͠z5vzAn6€o݇_TȭG./dߎͬ]+GƊ(|veC ;F޺bq4-1Gۧc3YSvG0`bAAG0CPգ~\ctX;(Z 3A$FHAsAKgb>BTdĀz<)#lnZ5+Ƣk3^rn%ȲXڵ?4ho%WIFicFOq[ŐWUˉޢIV3-i2Oʝp{yexE _ǭj2iZC!Aݵ`MMc qO!.9EYP2R߇0$)CUBT8篢xFr,^v tG&!&p/qK,H TPƈH_DƘTJdwuya{$ArlrJ_#o؛U;9"\4}$Հ`, j'N/~j2DBxKs<|13>e@wtz"\'۠{xOi-9ƽ^Ef|p xhp.;e r 7z! UَW+6;as'&vdGA:%Қh|ߟJN #TSJ.ESFB$ ,~O{!pFdp'=/Ȯ9< xUr!/%}H*7Ws 鳍(*_Rl䃪V,Q8uħL05!33Y1 oaV avh3R @o9b>iXh ՆMt}*[sOq7(#09d5^ϳ*!QK{(+!-ŽmB/"j$l;?kBkl%&]yerZX=w~p-daOzD,vOjd݈*ս*DammL[%Y| Ӭdd{?$,/J`!3 m!>|#2E߷rD;Y?'pr>vŕC<_X f񌬓\@פBK~2'CaߢK_s0Ho38[kD<-b?l={` $I?L2Q̩R#E8{ Ƙ*G 8 qԲ=HTXŋHs?BaXgYn(kAamd68!߫͊kIV #'n`U)0nڒW2'VrCi,˜So r,6q xyTwR1Fr ;+. .ԗn"̨D(H,3~ iڮQҼ#c07tX}Lx1C Zoc7h!eƒ̢W܆ȺowgC$8*SsB#zfҰN;Q\7#Dgb@1c.!LxU+TPO`ꆲ[!EǕrMw /;1 :>pP}Xk4i`(p ymƷ;1y{ˉ-qnr~.gYIVB$B'.u?`}eRPGyӾLLoNII GV# g5n Zo;# Zf)K):M>|~U 7$ 铗l:tJAL'ً-±UvM5a炙(kwx0 s_#A\d!Ttho l5OGj'W{v,NT$)p&=xȂ6jwK0+Ik(<OdϽj~(5tͪ\^1KƠl9]L+})8⊃\3  ^~YcRҹ%V}}l?a2*! pYVZ )i\NB46vP$4åu~eVOYؓɠb*s