frr-devel-8.5.6-150500.4.33.1<>,4h{p9|ɣ] rmO33H#QK~p^A,6߅P gW/qݱXLa8XII [dG߮i'+>M-C}qK< >;?pd   L5 Kk  L  + ,/P2C565X77 8 8 (989+99+:GPL-2.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/Development/Libraries/C and C++https://www.frrouting.orglinuxx86_64J#4) $_g4@2_  }M ! f#OUC)*m%8v$*  UZ 3}+ %Q O! s "-uL5 +l]|7-QCAn1 ^ M- @ q.  {] &xH@%& |'} 5{ #0C- Gxa##)(? iA큤A큤A큤A큤A큤hzfL3fL3fL3fL3fL3hzfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3hzfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3hzfL3hzfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3hzfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3hzfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3hzhzhzhzhzhzhzhzc848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf589200c8ed7146d80cf2bad9ce0f42a8b89c64a6d264340bbecf314a702d1c6dbdb9ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e5525b478e4cd82ac76c33b32db3655938c8ef9b02b12733c250b32a590e3aaaa28ca56a0c40884a24688bd23bc2399b77e6b8d5508e41dd303c6675057747904b7eb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71baf1ffa8b32be495b4ab483c3550a1caecde73ea5aad8955e3857d80e850b87471793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa1168094364e02c114772ef43795cf627baf39b92858c76f9995da58eb566310bc9fb64def38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5fdff9b3516d2f0e0d4e137437fbca293fc025bbd40778afd0f4fbb3ac402b349670dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714b27cd0ab838facd4b47655416a35ce105ecae35b142ad06a86cc91bef1839baf9412cc6b4a2876c6de1f33c3d353cdba63068f798c68f0ed20264742931226a8b1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d5605698d2691f1cfc7c38d6e31b2efe124e166f479f64bcecdceb6c63812ddc8c8e2707347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b565cc1cc69cf49f1aedf991c4b8cd246428db7b7e2992669ee08f348ab1903fadcf63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111d3958325667a82ddd1bccbb8659dfbdbe39429606f98ce5d7a3d4e91600a63dc6b60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e785cf831c9bbe911bb5d7cf3b41d197295226a5356195eb60545e09f049ed2f87c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1016ef50e7a062b7aa96a174f79beaffca5006a0d10fdcddab5a4bc4b1837231cb22fe6428fb5c0e7a8fef16b7eed367feb525b8554d0df113f5bb66bdc868536314014239704e2e67cdcbaa6b75c346fd61d77fdfeb6537395896e91ad490584cb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b83fbec55ed9912d0db7171af4f973e50e1845aebe9a15e158bae1b4bbe2cadaebbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca5ff5464f11952c1e576e1f7a8c1afba9c1091235cd15aa3a0db1f6fecd9cc813e64160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e57438f6beaa5e17ce086999034e7056c832e55521a9f4b7c8d3dd99c370c42f66781a2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c986584e55d004faae40046870bfb28a927dd5711d0290d7ba78c2f7a3339d05b43de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c734382a69b9b4d874887a8506bf52587c6a032525e963adf6d232d12e4a5fdf26d5123cc98b2196d045516e8d0018b3950c511b4850ea129ce4b4795256bd8edcd53934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653a05210b8db0440d05eaa08f10cfa27fd1b420ddd11ecb7dab74a15c3f8ff7f17139c6623cca5c55d29252a19d33c4594dda87e7b3f55aa979b14a47b4a15e41a46975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf98c24cd632dd7e692544e181e1c00aa894320ecaecd7f4f9b5cd6bf07c96ee2152ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88a9bb74edcc4f56894967c3cca96ab0b80118adcf3ff3699a0991e7cc0db4430f13f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad5215969d53be3422dab96b064e770386b12d541a5560f70b3d34e0e4be62f0f3e5dd2195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f04b47f371b4ebc0c49c8ed9f990f77883a07705c662da4eabac6b27c114eba0aaf20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf233b43e20ac1735251b9b6f3cb043decbba20f21ae2e125d3e42b3de0ac7428d7ef516e557a94946bfb5a3e5bda29d737971a6aec16bdebac33805285d8f76398be00387781ec072743c608215859b51de244ea0e98505342999e0d2887e8bb0360aba0aad2bb2cca38cc0aff9af6e82122a32d0d7894d44ed5296ce1645a46a2d381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367fe0f43039338bd927a6dfe728564564e47fc99227bb8fd3b169a22a79469990e6472c9c17f3fec580a56e0be7efaaf2dea08ea052557322ea47e26b917626242a826ab637f16b040469e41ffbc8dd3d2483c40ec1364947a7ae13b5cf4e14518d32aafb044cea9fbd0b014b84a60b5444fa0a6495f974f5ff268c00f458e6bbb759c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.so.0.0.0libfrr_pb.so.0.0.0libfrrcares.so.0.0.0libfrrfpm_pb.so.0.0.0libfrrospfapiclient.so.0.0.0libfrrsnmp.so.0.0.0libfrrzmq.so.0.0.0libmlag_pb.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfrr-8.5.6-150500.4.33.1.src.rpmfrr-develfrr-devel(x86-64)    libfrr0libfrr_pb0libfrrcares0libfrrfpm_pb0libfrrospfapiclient0libfrrsnmp0libfrrzmq0libmlag_pb0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)8.5.68.5.68.5.68.5.68.5.68.5.68.5.68.5.63.0.4-14.6.0-14.0-15.2-14.14.3h@gf(@f_f(@f@e@em@e?eRd/@dbd*cn9@cb3"b@aaaim@aa@aC1``@_I@___w@^z^Ӝ@^^k@^G@^"@^!^^^ @]@]@]]@\U@mt@suse.commt@suse.commt@suse.commt@suse.commt@suse.comcfamullaconrad@suse.comdimstar@opensuse.orgmt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.comdimstar@opensuse.orgmt@suse.comjsegitz@suse.comlinnaea@lavia.moejsegitz@suse.comlinnaea@lavia.moejsegitz@suse.commt@suse.commardnh@gmx.deolaf@aepfle.dertorreromarijnissen@suse.commardnh@gmx.demt@suse.commardnh@gmx.deerico.mendonca@suse.commardnh@gmx.demrueckert@suse.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.deidonmez@suse.commardnh@gmx.deerico.mendonca@suse.comerico.mendonca@suse.comerico.mendonca@suse.commardnh@gmx.demardnh@gmx.de- Apply backported bgpd fix to validate only affected RPKI prefixes instead of a full RIB (bsc#1235237,CVE-2024-55553), potentially leading to a Denial of Service (DoS) scenario. [+ 0004-bgpd-Validate-only-affected-RPKI-prefixes-instead-of.patch]- Update to frr 8.5.6 (jsc#PED-11092) including fixes for CVE-2024-44070,CVE-2024-34088,CVE-2024-31951,CVE-2024-31950, CVE-2024-31948,CVE-2024-27913,CVE-2023-47235,CVE-2023-47234, CVE-2023-46753,CVE-2023-46752,CVE-2023-41909,CVE-2023-41360, CVE-2023-41358,CVE-2023-38802,CVE-2023-38407,CVE-2023-38406, CVE-2023-3748,CVE-2023-31490,CVE-2023-31489 and other bugfixes. See https://frrouting.org/release/8.5.6/ for details. The most recent frr 8.x series provides several new features, improvements and bug fixes for various protocols and daemons, especially for PIM/PIMv6/BGP and VRF support. See https://frrouting.org/release/8.5/ for details and links. - Removed patch included in the sources: - 0004-tools-remove-backslash-from-declare-check-regex.patch - 0005-root-ok-in-account-frr.pam.patch - 0006-bgpd-Check-7-bytes-for-Long-lived-Graceful-Restart-c.patch - 0007-bgpd-Ensure-stream-received-has-enough-data.patch - 0008-bgpd-Don-t-read-the-first-byte-of-ORF-header-if-we-a.patch - 0009-bgpd-Do-not-process-NLRIs-if-the-attribute-length-is.patch - 0010-bgpd-Use-treat-as-withdraw-for-tunnel-encapsulation-.patch - 0011-babeld-fix-11808-to-avoid-infinite-loops.patch - 0012-bgpd-Limit-flowspec-to-no-attribute-means-a-implicit.patch - 0013-bgpd-Check-mandatory-attributes-more-carefully-for-U.patch - 0014-bgpd-Handle-MP_REACH_NLRI-malformed-packets-with-ses.patch - 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch - 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch - 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch - 0018-bgpd-Flowspec-overflow-issue.patch - 0019-bgpd-fix-error-handling-when-receiving-BGP-Prefix-SID-attribute.patch - 0020-ospfd-Solved-crash-in-OSPF-TE-parsing.patch - 0021-ospfd-Solved-crash-in-RI-parsing-with-OSPF-TE.patch - 0022-ospfd-Correct-Opaque-LSA-Extended-parser.patch - 0023-ospfd-protect-call-to-get_edge-in-ospf_te.c.patch - 0024-bgpd-Check-the-actual-remaining-stream-length-before.patch - Add RPM_OPT_FLAGS to CFLAGS- Apply upstream 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,gh#FRRouting/frr#16506): - 0024-bgpd-Check-the-actual-remaining-stream-length-before.patch- Apply upstream fix solving ospfd denial of service via get_edge() function returning a NULL pointer (CVE-2024-34088,bsc#1223786, gh#FRRouting/frr#16088). [+ 0023-ospfd-protect-call-to-get_edge-in-ospf_te.c.patch] - Apply upstream fix solving ospfd buffer overflow and daemon crash in ospf_te_parse_ext_link for OSPF LSA packets during an attempt to read Segment Routing Adjacency SID subTLVs (CVE-2024-31951, bsc#1222528,gh#FRRouting/frr#16088). [+ 0022-ospfd-Correct-Opaque-LSA-Extended-parser.patch] - Apply upstream fix solving ospfd buffer overflow and daemon crash in RI parsing with OSPF TE (CVE-2024-31950,bsc#1222526, gh#FRRouting/frr#16088). [+ 0021-ospfd-Solved-crash-in-RI-parsing-with-OSPF-TE.patch]- Apply upstream fix solving crash in OSPF TE parsing (bsc#1220548, CVE-2024-27913, gh#FRRouting/frr#15431) [+ 0020-ospfd-Solved-crash-in-OSPF-TE-parsing.patch]- Apply upstream fix on error handling when receiving BGP Prefix SID attribute (bsc#1222518,CVE-2024-31948,gh#FRRouting/frr#15628) [+ 0019-bgpd-fix-error-handling-when-receiving-BGP-Prefix-SID-attribute.patch]- Fix build with RPM 4.19: a stray %-escape sequence was found in the files section.- Apply upstream fix for a crash on malformed BGP UPDATE message with an EOR, because the presence of EOR does not lead to a treat-as-withdraw outcome (CVE-2023-47235,bsc#1216896,https://github.com/FRRouting/frr/pull/14716/commits/6814f2e0138a6ea5e1f83bdd9085d9a77999900b) [+ 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch] - Apply upstream fix for a crash on crafted BGP UPDATE message with a MP_UNREACH_NLRI attribute and additional NLRI data (CVE-2023-47234, bsc#1216897,https://github.com/FRRouting/frr/pull/14716/commits/c37119df45bbf4ef713bc10475af2ee06e12f3bf) [+ 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch] - Apply upstream fix for attempts to read beyond the end of the stream during labeled unicast parsing (CVE-2023-38407,bsc#1216899,https://github.com/FRRouting/frr/pull/12956/commits/ab362eae68edec12c175d9bc488bcc3f8b73d36f) [+ 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch] - Apply upstream fix for an nlri length of zero mishandling, aka "flowspec overflow" (CVE-2023-38406,bsc#1216900,https://github.com/FRRouting/frr/pull/12884/commits/0b999c886e241c52bd1f7ef0066700e4b618ebb3) [+ 0018-bgpd-Flowspec-overflow-issue.patch]- Apply upstream fix for a crash due to a crafted BGP UPDATE message (CVE-2023-46753,bsc#1216626,https://github.com/FRRouting/frr/pull/14655/commits/21418d64af11553c402f932b0311c812d98ac3e4). [+ 0013-bgpd-Check-mandatory-attributes-more-carefully-for-U.patch] - Apply upstream fix for a crash due to mishandled malformed MP_REACH_NLRI data (CVE-2023-46752,bsc#1216627,https://github.com/FRRouting/frr/pull/14645/commits/b08afc81c60607a4f736f418f2e3eb06087f1a35). [+ 0014-bgpd-Handle-MP_REACH_NLRI-malformed-packets-with-ses.patch]- Apply upstream fix for NULL pointer dereference due to processing of malformed requests with no attributes in bgp_nlri_parse_flowspec (CVE-2023-41909,bsc#1215065,https://github.com/FRRouting/frr/pull/13222/commits/cfd04dcb3e689754a72507d086ba3b9709fc5ed8). [+ 0012-bgpd-Limit-flowspec-to-no-attribute-means-a-implicit.patch]- Removed protobuf-c BuildRequires (source package name) breaking build-system setup with libprotobuf-c-devel 1.3.2 updates. - Apply upstream fix for bgpd: Don't read initial byte of the ORF header in an ahead-of-stream situation (CVE-2023-41360, bsc#1214739,https://github.com/FRRouting/frr/pull/14245) [+ 0008-bgpd-Don-t-read-the-first-byte-of-ORF-header-if-we-a.patch] - Apply upstream 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) [+ 0009-bgpd-Do-not-process-NLRIs-if-the-attribute-length-is.patch] - Apply upstream fix bgpd: Use treat-as-withdraw for tunnel encapsulation attribute instead of session reset (CVE-2023-38802,bsc#1213284, https://github.com/FRRouting/frr/pull/14290) [+ 0010-bgpd-Use-treat-as-withdraw-for-tunnel-encapsulation-.patch] - Apply upstream fix babeld: avoid infinite loops (CVE-2023-3748,bsc#1213434, gh#FRRouting/frr#11808,https://github.com/FRRouting/frr/pull/12952) [+ 0011-babeld-fix-11808-to-avoid-infinite-loops.patch]- Apply upstream fix for denial of service via the bgp_capability_llgr() function (bsc#1211248,CVE-2023-31489,gh#FRRouting/frr#13098). [+ 0006-bgpd-Check-7-bytes-for-Long-lived-Graceful-Restart-c.patch] - Apply upstream fix for denial of service via the bgp_attr_psid_sub() function (bsc#1211249,CVE-2023-31490,gh#FRRouting/frr#13099). [+ 0007-bgpd-Ensure-stream-received-has-enough-data.patch]- Enable pim6d providing PIMv6 support (bsc#1206234)- Migration to /usr/etc: Conditionally moved /etc/logrotate.d/frr file to vendor specific directory /usr/etc/logrotate.d and added saving of user changed configuration files in /etc and restoring them while an RPM update. - Declare root as sufficient also in the pam account verification; without vtysh use causes to log a pam frr:account warnings (https://github.com/FRRouting/frr/pull/12308) [+ 0005-root-ok-in-account-frr.pam.patch] - Applied fix removing a not needed backslash causing to log a warning (https://github.com/FRRouting/frr/pull/12307) [+ 0004-tools-remove-backslash-from-declare-check-regex.patch] - Applied upstream fixes for frrinit.sh to avoid a privilege escalation from frr to root in frr config creation (bsc#1204124,CVE-2022-42917, https://github.com/FRRouting/frr/pull/12157). [+ 0003-tools-Run-as-FRR_USER-install-chown-commands-to-avoi.patch] - Removed obsolete patches provided in the 8.4 source archive: [- 0003-babeld-fix-10487-by-adding-a-check-on-packet-length.patch, - 0004-babeld-fix-10502-10503-by-repairing-the-checks-on-le.patch, - 0005-isisd-fix-router-capability-TLV-parsing-issues.patch, - 0006-isisd-fix-10505-using-base64-encoding.patch, - 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch, - 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch] - Update to version 8.4, see https://frrouting.org/release/8.4/ * New BGP command (neighbor PEER soo) to configure SoO to prevent routing loops and suboptimal routing on dual-homed sites. * Command debug bgp allow-martian replaced to bgp allow-martian-nexthop because previously we allowed using martian next-hops when debug is turned on. * Implement BGP Prefix Origin Validation State Extended Community rfc8097 * Implement Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages rfc9234 * BMP L3VPN support * PIMv6 support * MLD support * New command to enable using reserved IPv4 ranges as normal addresses for BGP next-hops, interface addresses, etc. * As usual, lots of bugs and memory leaks were fixed \m/ such as a fix for a possible use-after-free due to a race condition related to bgp_notify_send_with_data() and bgp_process_packet() in bgp_packet.c. This could lead to Remote Code Execution or Information Disclosure by sending crafted BGP packets (CVE-2022-37035,bsc#1202085). - Update to version 8.3, see https://frrouting.org/release/8.3/ * Notification Message support for BGP Graceful Restart * BGP Cease Notification Subcode For BFD * Send Hold Timer for BGP * RFC5424 syslog support * PIM passive command - Update to version 8.2.2, see https://frrouting.org/release/8.2.2/ * BGP Long-lived graceful restart capability * BGP Extended Optional Parameters Length for BGP OPEN Message * BGP Extended BGP Administrative Shutdown Communication * IS-IS Link State Traffic Engineering support * OSPFv3 Support for NSSA Type-7 address ranges * PBR VLAN actions support- Apply upstream fix for out-of-bounds read in the BGP daemon that may lead to information disclosure or denial of service (bsc#1202023,CVE-2022-37032) [+ 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch] - Apply upstream fix for a memory leak in the IS-IS daemon that may lead to server memory exhaustion (bsc#1202022,CVE-2019-25074) [+ 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch]- Make build a bit cheaper: do only BuildRequire the primary python interpreter and its modules (python3-FOO) instead of all available versions as done using %{python_module FOO}- Apply fix for a buffer overflow in isisd due to the use of strdup with a non-zero-terminated binary string (bsc#1196506,CVE-2022-26126) [+ 0006-isisd-fix-10505-using-base64-encoding.patch] - Apply fix for a buffer overflow in isisd due to wrong checks on the input packet length (bsc#1196505,CVE-2022-26125) with workaround for the GIT binary patch to tests/isisd/test_fuzz_isis_tlv_tests.h.gz [+ 0005-isisd-fix-router-capability-TLV-parsing-issues.patch] - Apply fix for a buffer overflow in babeld due to wrong checks on the input packet length in the packet_examin and subtlv parsing (bsc#1196504,bsc#1196507,CVE-2022-26128,CVE-2022-26129) [+ 0004-babeld-fix-10502-10503-by-repairing-the-checks-on-le.patch] - Apply fix for a heap buffer overflow in babeld due to missing check on the input packet length (bsc#1196503,CVE-2022-26127) [+ 0003-babeld-fix-10487-by-adding-a-check-on-packet-length.patch]- Add ReadWritePaths=/etc/frr to harden_frr.service.patch (bsc#1181400).- Update to version 8.1 * Graceful Restart for OSPFv2 and OSPFv3 * OSPFv3 NSSA and NSSA-TSA support * OSPFv3 ASBR Summarisation Support * BGP SRv6 and Prefix-SID Type 5 improvements * BGP EVPN type-5 gateway IP overlay Index * Lua hook support * See: https://frrouting.org/release/8.1/- Drop ProtectClock hardening, can cause issues if other device acceess is needed- Update to version 8.0.1 * refreshed patch: - 0001-disable-zmq-test.patch - harden_frr.service.patch * LDP gained SNMP support * OSPFv3 gained VRF support * EVPN Multihoming is now fully supported * TI-LFA implemented in IS-IS and OSPS * New Segment Routing daemon * See: https://frrouting.org/release/8.0/ and https://github.com/FRRouting/frr/releases/tag/frr-8.0.1- Added hardening to systemd service(s) (bsc#1181400). Added patch(es): * harden_frr.service.patch- Use skip, not xfail in 0001-disable-zmq-test.patch to disable zmq test as it is not expected to fail but hangs (bsc#1180217)- Update to version 7.5.1 * Maintenance release See: https://github.com/FRRouting/frr/blob/stable/7.5/changelog-auto.in- Requires libyang 1.0.184- Disable ZeroMQ tests due to sporadic timeouts during package builds (bsc#1180217) [+ 0001-disable-zmq-test.patch]- Update to version 7.5 * Upstream does not provide a changelog - Make grpc support optional and don't enable it by default- add build condition disabling mininet build require by default, needed by the optional topology tests. - removed one occurrence of vrrpd binary listed twice in file list- Update to version 7.4 * Upstream does not provide a changelog - Drop patch (fixed upstream): * 0001-build-use-configfile-mode-in-init-script.patch- 0001-build-use-configfile-mode-in-init-script.patch: Fix CVE-2020-12831 (boo#1171658).- Update to version 7.3.1 Bugfix/maintenance release * Upstream does not provide a changelog- enable verbose make rules - enable grpc support. new subpackage libfrrgrpc_pb0, new BR: pkgconfig(grpc) - enable config rollbacks. new BR: pkgconfig(sqlite3) - enable realms support - enable shell access - make sure we use system openssl - fix shebang line of the frr-reload.py and generate_support_bundle.py script so we dont pull python2 - do not delete users and groups. - add Requires for libyang-extentions- Update to version 7.3 * Upstream does not provide a changelog this time - Remove patch: * fix_tests.patch (not longer needed)- Update to version 7.2.1: BGPd * Fix Addpath issue * Do not apply eBGP policy for iBGP peers * Show ip and fqdn in json output for show [ip] bgp json * Fix large route-distinguisher's format * Fix no bgp listen range ... configuration command * Autocomplete neighbor for clear bgp * Reflect the distance in RIB when it is changed for an arbitrary afi/safi * Notify "Peer De-configured" after entering 'no neighbor cmd * Fix per afi/safi addpath peer counting * Rework BGP dampening to be per AFI/SAFI * Do not send next-hop as :: in MP_REACH_NLRI if no link-local exists * Override peer's TTL only if peer-group is configured with TTL * Remove error message for unkown afi/safi combination * Keep the session down if maximum-prefix is reached OSPFd * Fix BFD down not tearing down OSPF adjacency for point-to-point net BFDd * Fix multiple VRF handling * VRF security improvement PIMd * Fix rp crash NHRPd * Make sure no ip nhrp map works as expected LDPd * Add missing sanity check in the parsing of label messages Zebra * Use correct state when installing evpn macs * Capture dplane plugin flags lib * Fix interface config when vrf changes * Fix Interface Infinite Loop Walk (for special interfaces such as bond) Others * Rename man pages (to avoid conflicts with other packages) * Various other fixes for code cleanup and memory leaks- Fix license tag- Build with support for pcre, protobuf, rpki and zeromq by default- Cleanup spec file- Fix build-time dependencies - Remove superflous comments- fix_tests.patch: correct syntax for Python 3 imports in tests. - Enabling tests- Update to version frr7.2: * zebra: use correct state when installing evpn macs * lib: set entry to xpath in if_update_to_new_vrf * zebra: capture dplane plugin flags * bgpd: Autocomplete neighbor for clear bgp * ospfd,eigrpd: don't take address of packed struct member * bgpd: Prevent crash in bgp_table_range_lookup * bgpd: Fix memory leak in json output of show commands * tests: Test if `distance bgp (1-255) (1-255) (1-255)` works * bgpd: Reflect the distance in RIB when it is changed for an arbitrary afi/safi * bfdd: fix multiple VRF handling- Updating to version 7.2 - Adding systemd scripts - Fixing build and permission issues- Update to version 7.0.1- Initial package, version 6.0.2h03-ch2b 1756723993  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.5.6-150500.4.33.18.5.6-150500.4.33.1frragg_table.hassert.hatomlist.hbase64.hbfd.hbfddbfddp_packet.hbitfield.hbuffer.hchecksum.hcommand.hcommand_graph.hcommand_match.hcompiler.hcspf.hcsv.hdb.hdebug.hdefaults.hdistribute.heigrpdeigrp_dump.heigrp_topology.heigrpd.hferr.hfilter.hfreebsd-queue.hfrr_pthread.hfrr_zmq.hfrratomic.hfrrcu.hfrrlua.hfrrscript.hfrrstr.hgetopt.hgraph.hhash.hhook.hiana_afi.hid_alloc.hif.hif_rmap.himsg.hipaddr.hjhash.hjson.hkeychain.hldp_sync.hlib_errors.hlib_vty.hlibfrr.hlibfrr_trace.hlibospf.hlink_state.hlinklist.hlog.hlog_vty.hmd5.hmemory.hmlag.hmodule.hmonotime.hmpls.hnetwork.hnexthop.hnexthop_group.hnexthop_group_private.hnorthbound.hnorthbound_cli.hnorthbound_db.hns.hopenbsd-queue.hopenbsd-tree.hospfapiospf_apiclient.hospfdospf_api.hospf_asbr.hospf_dump.hospf_dump_api.hospf_ism.hospf_lsa.hospf_lsdb.hospf_nsm.hospf_opaque.hospfd.hpbr.hplist.hprefix.hprintfrr.hprivs.hptm_lib.hpullwr.hpw.hqobj.hqueue.hresolver.hringbuf.hroute_opaque.hroute_types.hroutemap.hrouting_nb.hsbuf.hseqlock.hsha256.hsigevent.hskiplist.hsmux.hsockopt.hsockunion.hspf_backoff.hsrcdest_table.hsrte.hsrv6.hstream.hsystemd.htable.htc.htermtable.hthread.htrace.htyperb.htypesafe.hvector.hversion.hvlan.hvrf.hvrf_int.hvty.hvxlan.hwheel.hworkqueue.hxref.hyang.hyang_translator.hyang_wrappers.hzclient.hzebra.hzlog.hzlog_5424.hzlog_live.hzlog_targets.hlibfrr.solibfrr_pb.solibfrrcares.solibfrrfpm_pb.solibfrrospfapiclient.solibfrrsnmp.solibfrrzmq.solibmlag_pb.so/usr/include//usr/include/frr//usr/include/frr/bfdd//usr/include/frr/eigrpd//usr/include/frr/ospfapi//usr/include/frr/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:40391/SUSE_SLE-15-SP5_Update/77a3ceb5e1706531f6ce4334bd029178-frr.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long linesPC.'wأ outf-8183f4823c97cb6632d59514a7cd1fa902f319ff73d547fcb24e811527a6da765?P7zXZ !t/S]"k%U8uy:?$ g,02]KR,O[޿oW4gl2r$#cR-p4U]w0s1 Ksq⾹F" l1\͂&pt nOsj`6Hj #oK0 3v* +&rՂVf69=<x⬨[́2Zp!Ԓ|"Ls, m.m,A:H `\9Η -S\}@!`~X'ɨYF) *+z(I:M1Qyj(o RD0qB 9 6G dޘZ3N@Jj-"E>KÇK[kd'Z G|>GLZxg2$^k#^Q!'ǁX&b92);æM1lOȓ")onxW<+فսWJi') JqN~3~`wNYUna7􉟸O LƮU rshwڅrL*5f=$I&w"ՋA;279`No<كnIA=?r+!cUgH )ٔ~MZmEn+Uzhn5%s%S-^B؟?{_f>e wEFU%㙗P]6W6c'D9gr雟;I.vnUnW—ޘla{YƑ 27 D=4qsĎ119)7q1y_:~9Af9L1 4YL=bhtZ##)D.=$.vӘWga{f~$y0USZ̘M,Um*z!d-4 4X)N1_ U6YEmP  r vݖDg7_}^3ǨO}[fd<6|zv5\++-Ƒ&!@>A'iίJZ NLO&!:Ri$PR(?2NFAqC&~܍ZɏYIfjb驶^zֆ0T7 `_䥛4c`~i!_V0;LlQ#˂Kz=V֘4pPqFMihzf69{H ʓzW"K"Ⲷ,RY&h xXeqT)A` bu0iABII' t;uɜ`wsBj \liVJۑ]D4e͍FA`^cy 40q^54rmywRKNނY|3D _H,%WαL&#ӹϖ?,@I5.M6y4ƬO)7pњ F_ DyR]7Z.x-6o,2cLs%.y4p@e:Ped)x B1mll~b˷ a[=u϶3ꑨ84CgQ<^3N }Uɻ pޙG/,zE-ߥlhW? r}Jp{0H+tu,f4Fͼm(`Р;4Vt=~VPVqƴ B/ pP9 X3  wI1sP嫯\ouHd$L(]y\.6^SCɃ UTׄjb~R#ݲYV#w݊uFp2WDN^фWKۥ;|;b(`ƬҪ ɗԾԇ~0?C4>* `R?gZ]jG!&użvPV&wks*<[TikW'F*Ip9Ϡ;f1r3SĦÍW#s-a d8#'BL-BG!Y3;64Z#(%\☪R_?~OK\TiQ=Nܗyȁ 4AxQqsQBO0Z ݖL&2ct)(*;wG>#7ݢ7-X?,)蒰q ,?VX *b_"hs$d f 5[skVG8y&+2~^'9·uUr׎F-ئj27[QL$`*w0428ұ?>$;km2Q(Lb =BiKVP>,='x_ܓ6.B]Կ.XI|߾WdH=${F$UMX5KO1:]2_ܿr>~z=Ӏ,Nsd?xPZ<7!*ܹd8a Z7'٠ܡSƠ,D)4G_,nZ`3E`Dn*6 2 ;%0Gǿ+evNpOozjӯ>P*3gV% 3N22ʑc_$ol"unBS^WnD+.syScn]NPMkrfZfL\"L; kPOuoKb BBo "Qp#RmkT{;nl6Vɏk _%|).aBC^:ƃ5DӬ(nq[ f:Lq-a5໧%_ ȶxXaM5RJkdQ%C\O1oEg/v};Δȑ6u-k?Ia JTY; D~$붮5{75SJ5S o6>#i?> fboޜkIՀk4)2x6=8 \8([m)3~͒R/Ol AwPt`LM. <a84:}pӸ%A= qՋz..tʉV8ٱLME-v%nRpP&SQF:}]JD2~+o!=²XilKBȓ mIlATVkqfT\ w䵪GH^$1CV*|Ɵ<HDovQl: ٧oqo7*UJԾQt9׎E欂 6 !t N,VAQ<@[t˼ˆeEvBZ`ߝGy2|y!W"7=PEclXIâŖMS}n-4ρ/sF괆e.+T.ۛ H Sq#Z~GY%|E?E7?U2S= j ')Fy%%^EXNy1E,\*9T/3=./5- dž{ }} GHXpc'f@BMDYd~Ra=6`O,ҪPK[eP >,1uDic44O%ȏGwaؚ7Jz˵ۂħ`S@t"V*;<'B˛/bih%m +Rt*Jm~oʔi-o-!j֭= }LDA~'/8o4~}.(G=N/b#NaQX iƧ.r %}/7kHzxd˔+'DO4mъ pt -;!Td׶5,Ͼ"9 *۸p#/eKbG &:X`#FoyR^XagE_˞ay;?n}%#1٘ + =u_t˗Ufm yEbؾO.kQqIRT5[3!m8Dv8_6[{OKDz0O݂(>|+Z+LWZH= ^;" {9*ژC\l̻F~"(7 lHY) Q'lxrR{b\YR[ahm3AH ݶ0gP72"wo='\lL } 2th" )M nG]:o']K}GL'|"afK% Տ&IVGf$7 r\y20wvCF( %IK5-LIkm+o. S_YP<=V4˪%EphtJ#/}VN6]w)vCe\⺃L˼BUM$dnLunuiqx^I&49:~NEWtP}ص/Nm:9%,b4㣯ړ :?e^NWrTe碙n@eGɪ̾sW;-쿈x-GF46p>Zg{~!\I,xW/w i icjz炳튡#{زu K2P}N錠V(q/j~iTv[I˩r=mBsB0?yvžd\-G.BQJ1#~1C믯t*`e[ pADc[&R/(zc|bG31ǰK1{ ^t7Tc }9$WW<:ݶMb9&Epn>YLE4VtRW|94m,l2#o|ן ]e)޼ I(c'HځeƢiT,7!U+ACn5{fg=i=\>> W`UEJc-%΍[j3 ~u;0/}!42DX0Cu=oRO( + {zP2"A {9/lck-/|dNTIuy&jy!"h[΢r $m> O Asrt?aEr$gӯTy#ȇ>nY?dP_Qm$';Ht47YT_Q)Ȩh$H2 p /+Ѕ (ҪG R^ׂ˳g-s3֝ kNO_L܉7B[6Kz^Cs=%T3g&QU7VsD̳1V~`7$ETXYWy9SFԭ3]nRyFͼgHcW@qv 75V$C֤^B+΄iFb ;py .vI1XI ea~*Xˮ䮁\b7e!E9\Ft"7bOytv^6w-|xb  ) y)+7"OAa'Vl!I:{+z'_e.KT$xK<y+m^T^]D]"bQd3)2wzB-s7ݧw!ĭ,kc2[AOͱe*AS:\67l$rFsdͻ0hshlU1/~t(%!6 X&L/6 ۗ]);?1`Y0QWY{\daU#tb6fP\'q)rk~/S//p?פ۱Cn}O!|f'liFmωvؔ͡p]qc Wxٺ>g$b˜4TQk'/zlC`ô M\èYx`])/+Hћ}[ٙZ(A&Uu\Ѡ.h2#:w@p^@5j,֘ 3mn Ёׄɡ0S%ؔk&V8}͈+J@S*H46ѿicwm@`a+#w& ;CH'RƃdLH1ŔRppVa_QI Ϭo#@y5?PXCYgH Bʼn}mZ ~|Q+&R7ηs6_^L@EeI@5pE@ݮe39]N0 G4m 2y)/ $⣶#~;,fs15rǖc{" :.pQ3US2J8䣏-8yyUNKI;9e}SoL4 R mY$ٖ,l~_*4q 8w09e||&reټc9$v&yE470[SDnAVQ >fk0usa4 f ڸb9iĶmBp\=юf2Ps!8$kg#FAt_5b].Z`~>DU^kV># VAUaϢxa@t1AneEK{wIѢ@%^`T~9ez9~\@y1`/dպ1 ].lkz FƯ '-GӍE'6&vD`X7!bGά{>|(''X35Ͼj˲ۮ'ͯs 7#P>Y}+5pU#Eco#]QJ_@6Lis0]$vTB[3X=z#zUv;=Ž^5]t2=!QZwfSJ{YP3,ʩ͝0Bp,dXIg5Gb GjJ+t Hl: 1#է8OR͖9rۋhQ>Ӱv?.Ip6a(\xKt(Yd/0Rc)8{ R0@o Kr:[m]Y'>jX(?FGP>I 6cgRlaB%1ضXڶpm7S/.9À%ȹ)G?Ōc_ƹF#}iOfV>z>G | gtRY3M#`g] rPczݾ}%&Hlq<\b"峇=~ ڢ DxXO}XVie9?iܸ;`эk;ɂ{{UVvw\R΂mq\̅hY>rel?+;`;ָ*ɔYO Z Hz(/ʩ̩coCRvd[Xu4I0yp&pcRÖOÍDXUD(Lwr)Ƭ'*yfLlA49(lnEdF | )srrWZ;RF 'f^o<bk$d]z: bfON$x}$ԵF`8}c^ rT- >Njd*o EK)+"6w͒"͵zfp;^OتuO!kp!lF!EK_?S$#[!m 9=Zć=IޣdooMAjȉA(6jB~a*D/> 881ܻ^ke.V]M'g7T< |YD͋ S;_@::!FP2ӯU+CR\#/NIMVx3B[>+襰V v_cR}Q |W*Kysv[WYOȰiy:raQR,X@wךAK}MM\<:淡;d87ci"XKGhGAWO.X|ھdJ8mX n}nsb_kCkx=ԭO6 s,y65[FMx=M3SY_ߞeOLŠvA̤>'OSG~}Rm/cHΒ$A(Ś0o؋&g5~",,c KK7fP~-xAkn~~xq(bo\F*#lhCgs|!-[BZο IW'e8)r#"3r[P\I{ެ6BU8R(oK'BXI/Et|$F!NAUxt+:F#mcYeW\K{#C HcTH"I*2 {QO ekѹmޕux4#{8oi郝u, >Zmg7p#ik?hn-1G+B-CȖ3ĄhSCCYb[F}$iv&vC9vSp/:Y^T ~M`C9?ʜkV|!fZTl*-OL CQr͏*˕8^n mX=kfnS+~i¦6l]3J('"6J˜7lDVxZ|Mіe1co˳.FuV[JoF!7XďܚwJIf?ajJbB[eCVy^E:.KҒhpO8ֺ߆P!=]ب<+q_`%.[k*D{m0N˖lHr%Dέ9k`\{ UbQݱNGh<Ơ d蔮TkiNn[!Y 9T s=2=&hD%*HQEH+)^A)!6dX![U)YU`&B]t+>kjOR L*E EWWuB&8cWcp̏2!JM9']Jy,= J*ݢ¤. Jki6CsHPۇB?rU ïθ2MΖ^@T- _;o̶350v6V#KQ0:#?t|0vMWl/Es5CxMzxz!dEJqO4#]mv{پ!E%qAUb*2PT k! ÚXrHthn j"K#k<8Y"D3Q=RaY$~8 s[@;#4Dy+Tpp-Nک(,RIddyS|0Er= z_Q^A+VH8:4@G kB0WWA&7KWٰ&)ROV'Qh9 LI SR5"7/$#p}Rs THBe1yw' j E%rg Y$TOʛe NvV'ȲW"1u_w\Tw(;n9 D{`Ǽ}(v^HK .Ut%=sq>mz !"+HX@bt\Obude1EqV;{" FPfhn:k[}\HqF:wDk 3M%Rws5_f ߁bᛚt P\!fl$^eiavErOʟz)yLrl8@ej:p'\9fj GajI zL:"޺' 6$^똰|i wU+ÚOj Orw'+,^hDuGy癴7&h]ɱ\`Gtfk-]86] zلw{ؼs@]O]+ Qv69uBW(UsaQ:+bxnx@" 3$8ʩHK8`t(`pC۩K!qAZhLOb!:CT.~r|1m+3. 0N9c,#3,w]nAhqPrHV2w}q,}sʏ׳r67 }szYX߮]~-"ЄG<q;$@HރfJ-vc)Zå E&R &a6}AK(tPd*C#4w\^MmyM. _eO%]~W3ӫz d- 1guFٜBD~K:-4'dS+bo܃9R=;>s02~SX1z[ydt!X?Djrt*ߡϲۙA`EcwsΧ%2xϻ\K sؕmFPj09cK?lbo5(GMqXg!bo@sC>zFc.S?gT+:cz1De Y,-PgSGņ;gu$wı!ךoO5As .<=Ee@#+_ӡ23otv u0ޕ5 rd֌X->{DDKx@"+#²>1ڴ![Qa45U zލa"ӎ[f<7UhM;:Iׯ]g+. tO5K!FMb^b&2P17>KbوƉ&v:;vUsU N層Pg4ytS|?vFHy$@ޑKHkǤ0'x\ e3wƞDߎ4NQǚ_DDC~[1ʚ"\I;vܛ!!ܰ@Y4=&;8T'KؗJ׾o}"JV:/R4|Q9 ףv0`${@"ɚX5lUiQ!F"do$=crӖ썐pG:;blW烏05)M^5$;xLO6eƓڏB%6]u C?l2գuo4W-9%3p}M=/IQ,wPΗ ciDk:ՀY?@R ,T֎NXR(0yȔ4$ttն #YdĖF)mkW[J_w&~~,S2ϔƁ=TC^({d9_MNث#D<鯋Top@r䪦YҖhqa7L~@=⺖ UAG5Try 9O*J6. O9YjRtO<`Gv\8T n?pu$ mMW68uUi,%0r/ <bïCw(H)\nz4|}JwW~N,s['^po.K_=I&yوD&P{_rHtlO~Z[;KX]p$,7)|ߔa7DndN fpiv 2# \e'He.:'[E: ;&pit0=% `|+f*hlp7f@ Sϖl*Ԗa'_nGlvV@u=ߋC?bX/ka$nc3 "1/l6{U˸Ag?J^LB*;|Eexjޡw mCf>gB3w`lHbzε:&^jL@@8bg,ٓ"\sƇ&+<ťl: tCЕD)x aT錛!ɑ-0\,г냯shF:A~ezD&f&wNBW,jC2.<v169|M<$u .vR,مgCUiw TO!57XA~ϩrEWZ T5oՠކ}NR 4֩NWtisk` $Gю4=0sԛz`@JĦ4 q6FZ\tФ1[hWՙPPnВ8nQGrF>E cj4ꕞ=|KMCsm≨V))\wr2/=Hd/M^&od$4zWB5ُPdz-UWe YL-f el'\3ک(#N-.i˟i?I%~ДetxWS+#mHȄekFh@G>j|iÕb*~h0aJ9C%]%ԕc="W Z a#`f8) FNZ㊠#דk/LkN~ZoFoDJe O&gSTz0N J0*R+c3寋.uK50Y;LmV/Лrd}. i*)5B~QrjV4"-p@l+0*'2$&wv*!AC5+l>7xpvg AM)uΉL]y7l4_/ÁVO1I4R5i 0B\WLnWP,m3T}jϮ3v!c%剝mʸ1 ﺹL|ӈPa=PS36O)S"tiP pq3bRV/0(P ﺩeBU>J?39_θzH*{)]!Q[Ͽ` YjP.Jv7ʴ-n_$BCV/~-:!ˆ_Yݡ$f=v)g ]q:x[D 'p$«Ah5P骅p؃*%mz9)!vz:R(GZ;B"fn۷a40ٰ5 LHޞx'G)ZbF;*-w-5щ]"1it R3tQl,0 5>'*4J ٝr 9Rv LID\ _ sCslhپBr6T /pQ޳++ke.F#:uC"D.Mz |U#+ׁDP"eڝ$UKd4 |'5<7!,6#֙;~BϹȈv3 T k|#ݱtDzeG t fBPwռ9E@+3՗s0 zn+Jqébn2)*5J|Ss{O9c~Xptf3:(-?k]gFxW$IuL]Eͬ**Ja*B -qh 0 TnOT0Fi[{8IC~QRL-͊0F:Gyl˧5B\<_[Aq7fUBk?pޝ$; 6SHw_ 1F:vv \O[@6 )RI b oO KYk)7Fdp%S:6w%" q z#\K=YzsOc;/8_~0 pcoÍT?n#g8B cLq)ƹCMd? [56V"FҮ//'ţ0IlJ z gS(>?:;\g.Ra %u懞ְ|vbp0ccAI:F|/DN)C\IW{MQ_dnƧ͌T6cCV3#Ybxpp>lzCn\'W򱊨=K5 iOTՑؐH .+,`O[ :|.Q–vbk+g|wfmV-ZGڦeiN/sJ,5[x jGZ5oaYڲ3dUEK,7߃gW DJ]c@ P ໛gxbV ?'$ m<|HͥDMòqq4OhZOUSy? e~̰А3kbަzOɠl'#~@>I{}02{H&oVMr&q =miyPP*_$qg,1ֆ9ԛ~c2ÊݛFŢlWU9@%աҫ#X؇_WIeEU<7gTށUHP `Cb לC"+/YBp/0?疼oHxuc; UG}BTesDkŗO(D%uuppؐZ% fw ^)-Q4*#opH}sD4#B@vk)cFOCC_`̌[|yYeJ75Z;(۾}'7JqjhPJ~|Cҥhh$@GCeURY4WRži<$R֩뭾( wwTDJ>e;-*EIwOj mQElmt~^`$r7nֱ.f+T,b  Hr 'S0a{&ȅwz&sYfEW3<|1оiRW0wݮSrJ}AfQDN{Z tORd^Km*G(W]p0}>-Hwgpo4&ʰЏ@KΐԩmՈU{n~(|`,'D2VtX_4Z׊̵ );#! ~OʘUܠ;@Э̱LA W .btu*C:i: mF TN]j*]6~69U1 N؍fHs=OP>:=8L\XS7:\i&|)E5`f6yb._ VQX0].^c޺ `yU ķR8!bb# nI}Yh;0,^^ϖGpvI_ƍϴ2Vy\i~0-cܮ՜9 UAsU1 .򡬐xGҁ#dܹXJ{-V7-CcG bQ%(lpV>H̩vi[d@Ir puGdXn[t́Q#0,XtɌ]l+ع%#F~F b,QVxSar(jX]*ߵ䑮xƤ.tvႪhv$v;D{x_~5רCQ8͘cvBفxb@Q= ^m=+$@ )%W8~|]|{茕HE(}j=ySDz 3aU+i6N^ xh\6H\: x1>E"6͎ mp^19,(/!q)̌hjNJQ>RGFV:̐zûʕ|NHО5Ƒ%iIEFlUrrCx:|r\!ӭh8)_}5R ]rۈ _֜T=L̒ݽᒔY[K?xBM=(ZA5?1/ s#6E &H8ƒ" k+&So.0]B,Ǿ-ݮɽZQ0p,ϚO8ohVD-0+[;_~.PX&B\~$|}}֧To#+B&0%:su x_ᡲR ȕURv8|r׵]Xhy=O (KlFltez,^='( C_^5 )H1:V38>J@jeuژ&YAqZľmԥcJk X_ˌp-)3gDg{ť́:r7;Yࢻ[<R{\"r Z #vf)?lEا-{Yś&xW.1:6:<4 =K2R/R]E|@xb3;x,sm2p&K̙ur&tACgt9[;].`/B:z޹&˫uj +]t D-VJ 鮗NJWՀ[ 5ԝkxi~N0 O6V=}d O"//Kᔷ%}UgZ!5`z@rb1?;oATiƳ{Xm M9:#v$VI?P\ kG!0Ʒeh~}#4:Қ)CQ5@QyT)ɇa8fZ@ݔJ uq8V9E%'#yg'ѕ~b]]}*<1JyQ3Ыbb4 KDr]|<> *sko[_l7j:wF \!UD#F䢻Ӓi]l`B]k֦Es`LXX U$4œj$뿔6B#gG-)h:cSW&ZmAZz{zh1 taÏO2Mp!zsfkVU){>jK^d}Z5Y\ܧʡ{  <ځZa'x+g;hX$L ċjImA=낵?g{0Sjo)b0ħȪoֿ6i?3Ċ]# I.~Y9$v+a?![SthUaCer^5:V֡N/IlP (dwUIDNn{ZIώl/̅L!xs^ N%qoy^b%LHaNߠ15vFg K[{G=kFUTsW ٨GlPoTN$rud樂tK+[c3q+X!QujL hY\&"|tkYH]V_Dm3>R;(j]m<m^'1ġEU$+%kdqOl@DX7Dx?)]BXbD ]dQv#(G/J*jĢ[(H[. 1 ;H+.Nb4 \=4@C󛼡i#pI3aP#EløC7O;ӊiŶtSN*xi|ƣ+Iw&i f|&yVfz'4Iȁ b \bQ~2M@7%݋ϳ$#6r7O5%Nȵυ`o,>T'9"]f{0'zA.$iR.gXׯQQv N=Q xwݣ.:Zƪ9l?dI }X)Wʚ΋$<ƷbK w%gLxtkPvaѳb}7>2HG!cpEjͬ~nQ•q"8cu5luO tOOJجN9$) 홌vҠPXldg5DX߮J-8n?\H'ɧ4RhӅ#^}+#lpʜ5vfA_)Ɛj&6<$H-[`_b?FaL&OWጩ0^θfִgaqEpA蠼\=1 ]@mQG AOf -N$ 5i1Q÷rcZ$WW v&B:LY7A[_FAec"\6Vw"zBc?19%V8jI{t_yN |:LܯQ\|,JY-_ ۯKg#=y,U5B_g^04&IB9/ }wmD 81Dfedaڢk6:kmrH3w \NY~4łv&}ؕx>ᛪ)b֒]kp=apnl=6(;69zR8%q\2hfE~(\`+t[P0|ėPGU:P N cqB{ cZd}CGCNاA{NUmӐ+ɎLPC'" 4(2mޡj%MԌu·-)ԂR|`/kq++vfxzit\mt6I2-b?P.ڒ氄er7,P!d]o3.TjVQڸ&eU|Gpu8޾VjuB`x6N%w1јʣgOR2F 9=~̦FARvdN7"W^Ei[s K ^,tXYTelVsob:MY਻Jd",ዕjsyplS&;ܑ[œT.: Cn,~hRQΤ] ;REӳ~ n);R3Hodz5i.~5ZhYSgfyІBLdϙp@y2Kezg=}?s(òm/[nlHM]rҜiؚEu<4dcJ{%-DZ2d̈ޘeP7ҲMNK;SMN1:=#1_W%h9StA{5K\ȠNSiSiFvwlf]W ԚKJf^rL%Bh#i$EO>Uy+\2ئgvzRgeBF57lOD6mV%3'W"NbIpy{FIXYČa:.,Iщa[,rF^3juVO*w*z }'10&-P?O%2=+Ǝw ݊(.8*~~o>ucG&irBSEyeU/eUS;!v8ИϓĢa/ËF0>N5E6Frti^!o+;K01F~'ǎv"H=ږ4PA%Mx(t^A$*;ޢx7;ãZN;yk%d)sEL`PfQaJ{ Eoc_Sw+=U I 0h\>OKP3o7nK"feTo8=WzQ4abũʫߥCRۍ@9idq.L͸`z ]H~MIޒ/m&s?;bC)-: 6/R}0kċD!8?H8̒?֓!82 Zt @$9 ֶ94=O1&1y]3aOF ޙ)Txw :vp[u k\OM<QÖeZ˩E[da ݪ\H]꽴UjZdX_^JIA;pμTF 4>5DN奴hxEm(<2|޹6ds)>[3=?xk{tktqIBsVOmM AGP%|o%ûCj[fo}֋_BK r] tMI,&t—O(Vq6ޛܨ(O f.l퉋)yjzʍjoR!8 u{%enT@60?H%CK e8 !YjT%rSF26OdJXA#̠`BpsyM"($AddG^26u'є2)Z麭d')096L8ԗvbIRr8fA0kUK4;Ti9$ x MUyWd!MO/hSX/ %L|ѽ +G!|.1*[I̋M +a[1J*U*59SaL! E2?W$NW_GNz3U)^|QurQ czN'7c 9N{Hb<@&#E7M?^PئvL\Sͣ`aɱB2)\A6>ZFB4:.ݻYzp]{_.Ľ3Zw8:6JlgIL*[v[i qܟ=kVe,h%Gi=RZ6#(1>Tʾ8i? \CRx]&! s;߀r} و|prѨ_Jaӧ*, V.Ö;%E49&ƒSummBpuak);w-!"E>=S)N{l'[·9XeXTHDۖWX~Z4>bl8\EOom@kt̓$nzB 9ÂK!ɀ+4j7)LMe=qEYA?+re:sy3QqGwL厍aE|tl\:Y-@Ԣ$jqSA)3L/O?C,< ېTB?@^p_+0,ܶY;aӯؼFIe)liu䉯&(9|"% G(5R_-mdujZaD:uIAT9~ ya.NO .vuB߯[vcvaS6i6ŎPٜEf`c4&j. ;%(ػWS%r/j ѵ74S'[TzSލpNiAe9xƘ >yVE-qi&7\\xCQ=' xSZ~ i,|DC.}<8e ҧ` -a,66OM Z6Iiz$[$1m4x= NJl~ f;n ꗭQ1>vpa,1ADW ,PXIˆK-:ɛϾ\^XDQA*aY"UpXr=y>ε #3إ{g׀Ʃ #|1FdtxKh$j O㧇c'6^;+o>FgjalBujdLNtcRogJ%]vWHez(<٘ tDip5gB|{7t&k_dE!r ]Jqp,oNhITr({rzMw&sQ]ÙT7J7~>Ht9d:jX}5bdAm!e3>0|SSr MMcw"$,* h(^cyxǞlȽΗv)?KV q|gתdzCѓP|GlҺԝNjʆUV%B_(ƹ+w`x i9P`Xb-:-K;a~Q/EpOd ݳUsO)[lOg|ZheoȺJ*ZB-[{2&0;r.4Tu^}^q-X\Rc<賖bՠ7flI:zնzSi ~ ˘OZt VŬ5"~p7ƍ:9J ;v4Æ{zb(JbӔ71d3?X'ZOw4 FԃR <8`polKgWU7y|QS rM+x?8"Jf@?G03}X}ѩ3Qp]BD<5뭯&$4vW]#u(Q:y0t_R!9@") ÞH|دk dv~`@! ϓR.- \ߦy!o b@N"briϗ‚T Y_DR"=Z{?&Y!"rkM\Y _+}bB6TLn>Ujd0M"!Kps@BЍo7bIuNmP~C yR`sByWoS6ɖAs~֗Id%7LΊ('8.h/rf̒[;W.1û/2i>ۖ ,?w6RМ''a_ZIПQAx pG1C QJL"ٯg} Ձ\'>śk7p܅g ~ya_W=+RĆr3WyCߌ$I|i_˵%tWdk{9UaMwU[V. 5W  qkV$ fMs u0>Ht*忸wϴe&dױӪ:SoYXx89aCod|@"*{Sު ؎3$n~ǔqӴU7fØ)"6SPRe,@PU L !uUǓEЂ873lVE dL9.E>~)n7ak71no}V(#7w!9sVuImL1?Vm5dG?OW&'\diE+׍?c3(UtKb˦NQsLףh|)( .2gQf9crO2ONvͅ핵izx}\Q>`2x%L]ΝC{ f_xl}<;!+9&YX^ignx mD0-loml6wy+}!2˲ˊmOY_aMIJA'A\EMv1#{uc//r/_ƠSK/$_܄S57eȗ"hg*zl`>WiNh?EJ;?a vط$Oq<mWJ4J6뗍w)1?[I:FF WxF :5((g>c!tKqjzCÆIܬ9TaNr9-}uDjFQ7P ژm? Ӯs:rpڰ]q'Iì@cŝ bY$Y!f7(KkD"'7> yeNoF$τ,#,,ZA!r8A_cH^ SZrxI<%)1U˂8yMp뜳a܃F^Ad|tMrL|,U5AlP=.п] P}Z ¼%vhprpoV5{pתۇ4W; ӣpEol)|ki#AɏvsoZ5ܘOp_ EX d-AN>XiJm.G.fBV%b8}WT=R5y Nk340~4|YO-*aon#<njAo1Jύx$Z=3l$ TFpP>c!>ԯ-Y[j*Y]/mp7vgdOmhKa9#=*OB q72[&BqGInc:1҇y+(]Pnxm>FR8b㠹} 7vǫ3r7FA4X?Fl'0f&‘«?h "D$q Nh;l|"o4N#z#)6n΂xBo_<\ǗI^!9ru쥔!A I̶J fplwZ&]dȰ#Tޏf5 4VتUFr܇HQƜre n,q1&ԋWl Lj߱&`x[&N{F2V";׸VxAU.r)Fو#<[()9dOP%!kf_!> G Ś\M I:VhBL}GPRq[8Kr6v8^}i^Z>һKta_ܝ*ì_n:~`;!іnEiMF4dM>qDRbD˜떋&[EhEsQ fP}}cKJ$X~ hU`Sz .bܵU6k"FG${ZFftGw;㠁߸?_$أ`<[`D&JksbhwIa'ՕĞT56S8w].g}0ost 0.z0>ۘkh:zI @7foAdhhV%sEYLYjYuҤ֙ Z _H^.<ֻr $w caA# Fd6CLͷٛ灌\ Fٰi]$n=>^4ͺ&'R҅j"뉄oȝ_F-e}Ҹ#DL`GL#ךЫD*/=ns wҾ(Zs 8n!N h !:ˆj ^uqPR" PWնl?ޒ!,|"AnڑWɘJfnOurFdՂGfW]H^1s3D@dun@*^HhsT?} o Qbt,wQ{uI!qό_܀s uA|k"hab@+m2WƔeJje- B"&3Ar'Oia p!̛sgٔ`/Vfb{Kw(,0™*o- T @ 7vSF)s'N468'n ~)K#A4TfTlK)s;+ v5RzLtO j.tߞ<edw-Շ%6b͉lSWD==:{Ѯ x8 #8S\aVe\i8ti _$ͯ~f{\B1[Toan -+XW܆0i'77F%!,/dk Cplnɜy`;;lkm[3%(+o~]˪1 -ճZVwхp> |d1J!RSi?2G(_iU \4ZX ճbFscӄlX晅iFF7 qd!('/~Y<}|\A=5-c}˫$B6sU51@M/hVp991 Aj`4uFBgkJ?wL=Px H E" t>M[+'BjG[=4 cw2 '*扩f#m:I]fGQWH0Q?ݔa|ݐlHBޚ!8W<- c,#oQCD7cX[ȣeQ,!G'`DɠM{qdYڊtgk>E_-pѻ}LaO!} fQMo[0&Qv@J[Sϻ }x[{Sf|:R4nHyt>'Ik?;KYZQlב !WR.r3V̓Kf&þx;'ؘVQ𦺛BSK$ +_EvsFbT"~q` qyLq9ur0?@hs&^(p<.e lR*<&ҳ)e.:̰ѿ蕣sh'Qe: K-ܔ7d_\D>_Wjrz @רBc@hXu8h]X8я=HP T"k%R[L[ȑC3wtun%\_pl/ L1դ}S!qSaB/=e_n.ŋ˷S> J$EY@^-R .)-VOHbW~$ V`v,~Q HmQT2mz$V hW"8Iχ³Y!ݦ`=jJY26yZTI`U?5qLQ g +GBU#p7;,$<$Lhv4xTN  s!: =qxi<{~nZ9EΚ&;U'ۖ0@!kE|VvATOCH!́q4T UD 9Q:}d%kV\ZSKN|_hjss])3X9M+ZvfMir˛k=ҵLĔf;a4O򗫝"Z+袨 &bo|2ҫlb,p;Auc[Ё;MKҷ}U*)5 s"(7ux#ᣳ vOzdvT!'^](mV=|"qªr.Y`Ż{g/ iO'1K}* 7defH B4K rI¡gE*9g J'e7<[SV!Z@@ow-)i^9pIQIP)a@}h+-r.Fgq;q"phƣo"l=bWTVbۯ6?1p6ʭ&JO}%e.2&\>GT Y"jw ilt0Uh86 -} Vd3A~W.c"'5+ޕtMY$-juα`o.}=i)2YEJFpNWeM|xWV\cHqnKSyd`_+u_ l=.g"4c:x# 'Lϣ/^iƛyT-='5oxJ8_1mnj ģDQk[({-,0jO%dRKaKsJdJ:DUxz3r¹lyQ8a`%gL1K ڦŴ5Ȋ%m)(Ff!oߙ yJiʄn x/2|9]9phJ́<9&P67a-8:"xMGob &RI7` < B;)SC„h ܑPPW'ʢJl)")u,K#J>VUA`^ K8uVXq@Kxvvץ~CMNtF%l޽+kqd%k$aN5A? w"9Tq 5x 3A=p!$#@%s4M8Mc$4`M0U\~ۧ)}1XΌYœ8"0TuX+M1J kۦk'nX0\q-ŝhx(HgUਚjׁر$83JŃ [&a"_S&3:C4ĸQ!3x75 }†}%^]oC_vG:8)gQ- t/m$5 "n@ַ9"}*K̀d_E;ޱ~ u'XjJc-\O/{=rFW LȠ8ȨZ7r{HŷU˹Z]4YKIsW)QxqL5,ЕO\QsꄍJWO) 5б[zr~iy5fxfQs]7ᢙ7vYp =rO3d{ CZn/ :.wQ)Y0萿{ih[4#DR T nH1SPE>ZMbv0]ȕTVO ?PL?UW3y? Q_W>՗F xlq7s(X\2>x.*cGZ9տs'eTᰁv D>s FB8A|,)ov?膒@IJYQJ0Pd>'Em^b5?˯݉ M3q{Ry^eX}%0}0V)?RvFNJzxYwc=`'5h*"19H!Y3D:M taIp WVd1" VWycf \Rm"!oo lmfO12\?]D,qd/|#p]l8Jfv&|BJ!] ɤM'$+$a/jLR;w#Vib~X  cAX(J[rRT@Ꮇнs.]'3[+׳Aoj ɼ>QfL&1#;쎀\=$U%  㗺cqg8kԉ#ˊ3*6E* r:δ9Ixwk"kDN3ʈm ~yTe)9 p&'sC9UqQ ;1&!8a a8̼dj!>\VV>ڬh _ 2g4P3=p,bH㚁SyNDùqJA׶Aer1i{~Ojo!o('v^?r^>];͕ZgBx`SZ39ՎQzAR;׬(O3F=ؕ>m+q:@_5;xdozff-K@zیANOXs SղWчΜrzg~Lseiˮ@ZQTtvr2X7烎 KBSQ?9#ʲ*lk]Nk?k ,"% WzLNuU ;"ܵfKǑ{ldB}kQbO1"ExB&M"Wd=W b/* QL r2L瑃G;1=S3&G/0"ES9w qLB0 9h%Cb6v]VJ_?ENOC5 į`zˢ ¶vḶ ZmTL Q,;,䃶v_]r-^*FGhSouԬES?'_i[|sez)s36PK*3*/&>{.Ɏ*&&pǷ(r{ 8jׯFv /`u*ptB_sm#\q|, .w0S{/`߅oNwQ;O5psS̰Wb1e7l{Kڼ.k}ThE;^L:i>g4_]0=JpT{vŸJ+P@'!hkgkl FK9{V3so{5ת3YU{5Cp1RQ0E3ၹ9) 4_092Qr_ۨ )i ? @ܚ4xV4[80:l~Z({V89;]CKkPt#خ u6A_PMO0gu>zY݉pQN'4*DgUyR3DsaEkmMfXQ˿eee%~UePv`kucס7'$5VҊY2jWUXhI1R H1JZ tL[h& >#n,=;X/#ȹ\,`/R^'Ks1釮F4N!Oxh?ke$MyKsͣfҏv-{3Hp [hnWmCBz99ijߒ |1=?(4[XEMVcjo{"Qdҟ}*"0L[7EZPK"r&Ϣ ։h]pBLߠ("HwyZJm7M(hdhyHq F;W 8N7%St@fWy~c\>eV܅J㫖o_&:bmkf-U9ifMi4p auNѐ8L>/BO:3 !ޕZUO>ĥypsV߬1.,s>eQ8|v\|Y!e(5Y0+Gqo(L*xDBGHuZa[vnTΟ]%72f+nur'|7Y*0c)Ky}W$C&Hu}zM^!T ڋR 6UxgfRhQs |9p,p\(x_ Y"IӞqB'=b}yՊ4^L j϶9Px!ޔ'Qy:#uwH%E|xv s&h>+@ρXը!N5% :` w *w1ʯ-nJ6-r3bhLt7Lp;D)XxU۱rc**K+dƃQ@&fNSHk@;̠zl,h|Ʉ}E#>s\W!+ˏx8L,;e^_%pI5JBIϭf\(l#J3Xn,m&dih9Xl搊~K*E XQW"z|認#`YL(G}g:p "f?^Rinmc0 }r{@@vhc=85' Em)H63 ,Ucqx%$[*v%ְ8j4q,KOwTKX6wujeCH$4W8@.#?ƴa:a!UŎ/:@hzȆf_4Yنh"6:CW-Ͽv=St awмQ`9狺~(σzmȣx`c?{mܪ)0-\sϺSϙbU{N[ S䕳<޾v*;ڸy[3E8(ΗRNZlޮO LLy Ib1~mZǹ9)N%jhnY-c4`2Jd>͈v'Vo9V-VeRBtYL }˰G$Rɴ @9 At* bP YތH+b9܅nV$m`O9 lF3}hQҧw@"TnS+K n [hJGY$yLKx4XkzީGKuZ w,IP!-B!.ϣ؈%qӤ.U+vf#8]n{knu4zfM}{/7G@",|C Hgk; d~z( h\k+76gd/~k?=)G~va꺍>/ D I09uehsngTagvgD, R݉zn}~npw1;$K&hϠj9qD,9k,Ij6b5-F$}Gm&f<9 8@&2'6jv&rY0prZAheիggJViſǟҝU:xӕnm{`گtF1K =֖O,vwAɚ܇_RUG\vwo O?f֥Q"_%~ lȆRŬ"NF5u\!Y`{u=.M8NҜ..|Wp ;Q SrȞM9 yvk1z-#u\ƐRN- BL r kHSpCP}hH*YVv|9Hy [ 6<5p.J\ ua3mPT޹P$󠙕JyM1k|on3cq{5ZKµVmZr*X0Q鶴p^414~|&Q+6ّ%̴hs|G֝LP ᜳb/ueӾ#%^#ݛf9u}%5ɻϒoōSW6+W|oE+Zih!0@t^N?ߣSoRN.%Ș[k2< b̲!C0U2QS$6ْE+RF~ph N<_Ǿɰn5B>P9޿,/iޘd3l1=6gO0b5OBЎ:tNChDSLDD ]M~8v-1 E!7_pť=$"^!KmjOz̩qS-ӞoK-C|go{!#64w27qtHzenk쪃R>bKCyݓ/M {|iSNN-rGU~s<1*#Knih#,&s2xI(MٛWVR_Cm&qP O%/]#ѕ j"IxtWe9Ip4=w!}V w6x&EmWfluGH:&^EYt=4 Ş"L3Wצp m CH9N1f}I+ x5~#3rbǨ^-5ɗ P*tP"NR!N[:aP@+/ kd+Tdgi wBC#毆St-ߺZ][LwlL֢ DSܵ706n[[# j'+\ϵh@DYV)K[>6Òrk9qZ0mcm&`}j.Պ.  vE0]Nnij+㕸ԐwT`v(lv/htA&XzJN]؟YtT|v´rO"ZA P2 =Ɗ~iLn}pouPLruvaa+%WRxȾ 7Y+ 7]A =.|Q($[yuVǡR =M@<P=צ5. ge)r%%%G|\0,rEf*bGd'Te.(^-DU d$ mf@0e ᤃ#dLfkSaaJY;}zW-jHe{zPV|?.&z_fDuFʃ2dm ˜ɓIF#ϳznZ"VJ)CໍK!17r{btR·:ckKvڊ(@vx؜aSnAǤ#"R2Z7r,eT7ߑb5*8T 7jzKPRҫSRUD>̟޷LHr3K¤>A+*v眲䆱8)qjΜ)cACD|_kzîx@'>%7c/W&'U?м gwshc?Ԙ9x _:/~![-#PҺrrEѠq:.&v/r0iQIk_3|_*_N1 ~``:a \7T$).+-dA N20ORl:uuu |J}:`a`ꏃdx{QR?HSas<$J^MI[VB:.abQeK76|C%Dv񸎏Dp96:T>IZM-K,]$墸 ghb1B\j/;rp;`rͻ\|scY=W`W18;9]Q^RVBv87 XvxDE2KT9V`q-l)KuU1Z2^#119Rևr%3#66a9<>_H2/z'UG"u;h~MOs9ٞr絚OHfN Gyc@[{_^(ī|LT Lӈ'N :<RBuQ}nXBr:@> O4ȣ壹䞗 7ȸ359.Y)9p9|]@UޜG?\sP;w,#ḷA܂_eD(q[co?2yKn?+˝Dd& WAѧ 0Bx!Z8A*]2^)@ :aTIs4~E9oX!0K=͕.+}[,R(~O[عq!a+nZR>,T13-jpJud}Le.Mм|& }c'~Ѻ' ܗta@=gQnA9^j{Hm0ڷWg(0ȴ[6>CbDo)5-"[z&8aS@L&|GWu[Cs~3w9YYow8[xj6G}"\~{ aUIH{E`wZ5 A xb#+xޣdia~=[ iS"A\ 㒀[,@q&˯'lE7;F8VM _W>EkHĊ\e R}3)Ϲ.s7L..(zf*⬯i~?p:ݖ:Icw/yx hGF%%}uR@HbHoX:@fR0RaM %R㋯Ry2=FnuTOsŇ]wA+t-R‡swZQNN="MލPSݐ/{o5g/G[edUƜh$iK8I\p!͂3'NJ[5~^i 4,NqJr~ۻջ:nK[䚇!<Պ'`v,mO"K]uTw's 3dq"/ǫ%;XƯPqGQPWKeMNFTpMncUjXHE9jhQU;H.nrAy X.ϗKwq?[@03cIX%7^I8R"=ZA> ot>hv&WVST.mƃzC%gqhECo6wt$dЕ\%WhBk,y [ 9Bgj\-jf.uH3$(JXɞQ(%PK=4_0R1>/uUҕy.>KيIgGh'|. n{%-?9ljG15r+v'ĵ /tHeG^-1^3{LMX5*=h\r1b^5c,{=~XZX 2JOd+ֿ5̸Yi 0=Hq2SAwٕ/<(td!rVx_yW$ 1X$Br\{A_ ڡ }6x<};%ig{BYhYР ڤ=QNܤfkrsM"RXb9a.(V g0@[ {!qKb?Ilm;JPPnF}Po9&T`-?C(RQVQv׆RbGvHRl2mr|s㡄[ 4 <"ٌiPh^dQJ>E~/ ]C_dtS~kdɱ=L3-C$D#ecaYv7 NkǍ0Se#Li `oc+N:t>ۡ^kXѓ۲&KY1kKxd"E4垁nDSiLKs8!nY|VxajX"8 wAβPPY ݌Sӛ%#4!1<\xR{ o{E@U=WBlKJ+K nѝSl?-MdY"hY#A(6U}.N14P׎*PqCc)6W~eNz>`t#?W@^H#(d)M1 lWwn:%ۮ0g# J hŃʾÖ矎\[L%4ؿj9C8ӤlVJgnٲ U/[:jxsr;8W(x7赓ɨ1瑕_ELA>sϾܬwa@;:Ws "{m!yzDH0m`C>J,'HϪՆiʢH1u<,f%7o`?ã{=gAx$aMtzl\ $FlE?c%m+RqrJCo}a"!N I=tNRƓi|)}TT«{!tCU4xgf;NzhcuH  욜 eFS ʍtbBql#<NGBT [# qvE C3r{ab)%]˞!`_0t$8eOH|KmFv3|`QLOXL3YT},Bz=ʌzjwozNy VYv%Q&hm3[q˾R.[Mͺٿp)ѶƔlh"k0J8*TRlAFê رLQl)klSׁ˫H1޷m9}4& “T7Fmoǔ7Бō&kҢm06 VmPQF!n[Hahĩwb=:uS<L^qELdw~q>ܙ1#[e9FBp )2OOBz*##̈`aw Ӽ5DKocw*"J6!@@ʣm3^=GRŤ3y%8%nFlI\1+?!ha}F+ #e,S4> Wަ)4+γ@D dfa+,q2I者w:*X)3dY?}+u d0qqJgg(V(~6H~%!GD8ads;?dݒ իAigߢ7L:Ő'Z- ]JoO',*Iw> [ %͊1 O.- ֑WW;dSYHڮ2Gr4||AG:]+0wj |!^K+ޱħH%Xix5_976E)*j1Kkja1 mjvPe^Ylo”jyD";hO D|+ z["dpC ,ۖXt[FT6^A<(T@]'i`bY\ENۤ:ք-J=j 43_6JJs0| CO@ul̫ V'noVhAlVYBUjI:[.s{ğW(퐣NW LDwZdv8XX{(p2Zfv Av#y>(gy,x8IV3d q ke§շXF&^ DOs# TvCQ1P54J/Hҍg+T ő^2Qvp=ǘS|_ 1U/P+?ԳGTI9՞ߏ &gfyi??GHDPef(;lR_sM׽a#ʘ *?Aw iZ+Q woD#;ԴV _2.VVQ:*q# r)|rTyihd745^XIMzm{_䧘V\my0$r#Z䋲D;9L kX׫W),R2k,j+8YŷzUoA jFQs'6OVjd+%<ܮզi< 5'v/9mAHÇ[1m 1{Sqx~F^L; ~ߧrK2@,' L`q/kYCCՄxە7`9ƲWY-ɕ@U.i6ue|i~(0H51ϱַ%*}'#Fq'IIftMdo#(LDW2kIC91lښʌ*/@ȋ{_ }h~]|Y;2'n;3jA9#"n\:6D${lCi lLI릙A2>!4Ԃ$.S{p_o3ZEÚK(nJi貌I(6 ө%! ~u4]LںO`IG ASW=5h*4' CEOl/yr8zC<vpP{Vw~p/RIb"_Ygf %ږH}E/—v#-oᐃP {=?rWA|~j5im2 ; aĐ <ifRX^/\W71l8uH[ ܉-V)F 3؏P揚ɼ4r%I-4!J\'WiڇPvK2_ "[1N:-҈ձ(UF;k7NM3 6[38`e.K#k2FH'ho>i[^V8\aϮ3@uo1&8|z%KUbIf߱&G@ĸPBZsÉdo~_s/vg":߽bl^d ŵ/f8u3mYpV`6E2{yąXXK+t:Qzyn%|1{"=Zx\UvDU SDWpWRfu ҧO~hG PQ6".{&ZʽYM%I%V:JvPdv[\uV-~-Ԭ 8/H/<i9(] Ӣߡ'DP=uq1C@;2`3t݅f UH-P-֕;B$l?5_<# |:u'PSVư DA>Y#8w'[6k>ŰDZP7g0>l:]Xc}seBd&]Mв[n'tuM ՏH86\4ۼdWҸ_:,hOYS?_ȆM5n 9oϱ1-r}j4&^j'.LъFjccyC2mҼPqò/;Bк#XY90Y!dX#Ӆ*iZ %-ؕ:uq6=IU@2. Hhx|ܥlST A`ƈǺY4x1x^%i,f*Xxa?s3 ve@Wϣ5]o( ihFkPmmyK8axSL W`D!UhAcVde[m@[?%:tSv@Ǝ~鞖2Ker>|_D#trHgXmޓaL_J2wj2B'fEe8q5I9Zdu8W,k#=dS)=i^,CFvri @f-I.8Ň#{BXU\H4*f+vk(w0TOXu֝ egzp. Mt,04lq6//}?اz_O̸@38ZHu]KhD:rop" %JݼK 4_ Gg3ũH4X_Kθ-_17}dv}N^/ cmoUoEktU]<;}䯲o {3T/+AV[;Zo O.m"<ץ tq(Vn8~XtL;,*{{fJلR=tnsk}}ހP`5"NENn]6೓wg9X~,iXuX]r&P/bu^zfIal`!9{<EP3ka!tH4#copk34Ec>Vgf̖QNC*(8XXm>=Lf"({'f2X~w3;G1d tsnQE[E\T{1W 瓭X\_.tD%s kv_l[+)I*p *jUMxC_vUdo9eEI}?;$'$p̵v;pd&IPKX~-- Ao/cu`BQIj/G3GOV&ͻvϰF@gKM»/kጼeѾ4AmXNm&;Y:̔#Ex.Wn(tAWcJZ{ϙisM%X˜4[*QV tFmQ91ݰ%T6H6Oeb2 #k".)#}P\Neh5W9-1BNbGu O${Xl#Dǝᷢ/?mQ)fV =g?I#lt75rq1D5Ѿ Dųj*.Umb_A}VkܛD W= =rS}6ekR T0a euXeL f|3#]AA9rHmE5Dװ:;}+ HkE_5ۦv!-ϱO9C~Tݭmn)l7!K̒BmB0=܃Gh(6Cѥ~лkY9Kt Vklʹ!i=jʦ4"?Y'm >&j`G%Y"4x-l͛v{*ժJAEm$@vٽKIѿ}@?r<{-̬rs,,zUtly| upet 𐅷'zfc;)!T-Kx!qO6esJh RJXgSq|!ߑ rc5v![,oO`Co ׸/WW␼7Nba 3P$9plCG5`,Rr޵szG4_h 0L)zv".R4klShNletSn1?((ĹZb˨=-V|%R5/ºpQns>^-5H`\Aa/oVyW0뇑8@84vJrX?M1n& 2,ά3y5#>h `saδk(T!.xԂltĝ@`RPIxdJ ٨"JݴaUnI0np ;kThضB&JjH\dxPZ<1Fr[2M*fj{%|G)iϠwGgfD 'zH4C%jb ^E>/]۔"PA6"P&d-I{|b!xQT~b5q3t |nOdX,_,_ e3$^ !1 V1|m01jv?FIZ]j@5M‰S|!6649l }3xx-QaI-FB!٭P,+cLuSjIjRpMױ]R-{'済RRDqJmJ9vD/ao.T F#뫉 &4}@v$3 "|8WW(Hds<#$;(.k32#k<F/lk}qi9ԭ\ -+m11)suk9f!RǙ_Z zLȒ?dļB,#%27/kiuV )U:Z9&= u٬4y4*99DQ*@uH;8鳯(BMgK6#][,iPOX=- HE`Z^stп!LL/ǻ'PsmRz@a$ G{\񌬅$/gG|gN; i# '1ތ-F\l'W%c8MsICF?x]ٺ-핂 ?\hk䱊I{6`WPެ7;d_/$+t!'iZۂB$l$B*@E1SҤhFׂ)b;>lNdd`FT<}I5npE{o3"# q]c'2una;dwe\WW˕_Hcs۾gRstVm 3W >5w@ީYKoJC@`疓7͜ae:}wOV@A&2q z$o&&f 6zxmO#Ơ!IA w: f LIs?jp8]4M,đulJjq֜n&dhX}H72&Dofvp %[ Gg__9`gwDpZkfq{# aҲ~@@5[ R,J|hOϳ\uf?x A OVĹ,n" E,YPoZ{^l5ɮ7ԯYriy05&ϡ&6h1& X:P Y%`i _SqJ :\^\B] tW~,.DZ,l8`ƦKiAe$|{tk4FL>d/jgAWؘ; wwQ^QS#@z3@h{8p$oDq;x9 >X6Y1{#=g7BvQi3ՁyE̋X@}2 vE ,^!EKXf}q<0T)+j.+opf2Pt7G5l>`ugk 58)+,$M=Ӳ^\^`ÛHHr IHGT" 7qX^LuF2%cD#iȾw򮨖Z3=qXHK-as]:Yd P#8f |Ng>C 8Ĭ/{eb)#gDH&ej$9G;7Zz3sB\ 479Q^g6+ͯ۝AͧFՑc|7n#핌_6*le? rK| JhwGaf AB'FVRZjFR#-\İ9r]Ad e^;h nڷ/>M[_P/, k/NO;*BPUDm0+ʿ )t6&/<ǝTm*z1},ŵ54Bȭq _S@ҟ(ɶL˟Vڷ { ZFU:g/lX㲐 JbXM 0Lzli9^؊P>"hH2yV!FLa],_Fj2 ,`\v*b6/j].~21Cψ݃4g+0U=cSӹBvښh.'X3bbk|wLT^9ЪS"BrUR3CVTx&lvfh+`Dq ۦHJWGjy빷0sLó{~]78\dN" u]]C¥fME:{IjAt}j"+L=D/E*H`n˹oS9v|+_P/:܈vs X&.TT>'[:{D;YQU?E8&Y 輐阵zC0.sF/X1wu\j'<KlYu{D7.iP+NSm#0NUAVzz\q<p#Y\7qD/K(NsIu&|5>4(K_J(ܢT1ݫ|T뉳ҍQ<^ EcMoJCy6hYl% ܱ{p2+Fb yZqr\ZI5(glm ze yv9<y-Ou(7N ߓqb~Fimֳu@h̙oIrLd 4zPm-ct9BEYSA]%#T%ȆsogVO?^=f:M?_-W mY1ؕزz/+Ⲕ6FX2?Jp<Ԙ L 姮H$ M@ѐm޸4fR\QMsLEJҭ01[Q3ceRټ۬LUWmM5@ 3h@i!!Pco4cV"6*B!_*ThiZR;n uho≧Žy4G>s'v ye6J5z\YսN۹3W!wǶhi n`ceWBӎrR\`'{a Hm#jT&CNQwW9ѧTkbiG;hѪo! $\ iH,}=4C6U'TD0 + CRhc ؤ& q|=-& 8 &M# J:^&Z5a$w H^O: f޲9`zP{1ш#]80PAt1ؠ0Q"x@SZ`P6F]aSd۽`yd^][o*qY{* JSr$G^̾R6wܑ G'%|]%y- jJXHef?/e6o NܐඳM#k~Iy%Th$hy[(./>ʡځ/NH\nGk?7ΈcOKC4Uɯ@"R6\@H7Q#J d.64_/r+ԧJ 1lj4hCL7ًZ[ I$eCXG` gIKT "L|"KXB (ǑJSy{NHlud@<؞k2=.r9*ҩpУo|~R+Ehh)nؑI{y֜~ugĈ!T}aH:x)n:;{lي5͔ $݇k{v,!givV⺃P>Jh6ڔ/B|6ICݷelGq*_MI6 [oe= ^+ѥ$G?yT#̲!b>vVZOQC{d.ԪZ^Qݰ Y_XB[P".$cWF`xݺcs444uNjr9 4d3ԠqGFxXJ~ ~O$V2MS IJp`1p8 ϻba B[$rl{ ~)37?/j7"茈hc^3T߷sJ{h=kDuĄǕČ$ bT4$<=/ ϷQ ΄epvI |,w`Tm? gJVRC49?-oTŸ*(iOA S5b(e-?d(3+s0`<=P%pa/Ǣ|L @~wyJH;"4<-zZ -|I^T2pȪz#ق@ǒx$P > e +4j~e0Oj.=)e.!s|'=3-MTi5ܨE9"U]Lւ(>gTlt9!nJoGjFfvaD }>+a ? $(IX- (AQPcj 3e)+FGY*Ȇl{4ǵ<Єln2Y4xAzKZ;Ov\ʹRN06&mOhH60tC6޹r@y<‚йt'[V´Wo0X Յ11W3iP*7o1G[qѴ H;oۥlnDJQQ% " hqdk`(m,J\e͐20Ϝv%yk(ᚬ/pv%g&I] A pc6vX\G (L5&l{7?iac}ǁKlR>KR1n"nǛ?d4n}Z@\ouV$-ۺ!.HLP 5aAMC7;);UD-F~Unxӿx\DUOsxa8GB: .iW eCt1b/ Ngp'3L+D ”"3I6 <~1R.7\7D뚌M< 2rů[ux7%rU2)xCyX|=@8*MG"P~U}hr`']woV}D[bLΨ ؿڧ8h^M ItqҖ/0E߄mœ. (SA@1VkxȔc3CNEqFG**ȃkaf&yWԴ3|!"`̚PҡX*jH<@MRCgȗ\ɫbOy^*_h_ {Vn&,IP&1"&W!m:s,F3$Yg>)IRɐwCAdsQyϷ\0u$]ۗE^:<]ϝK Q$T{0J Y]Įkմvuۊ,![eYv9`eUldHI\<ICځc@`H,yDied]z:F 4R#]Bjr|TG&6c "-ED/cN1 24. ;ά[>F Wzg:6!^ &QVshsqpflc~AULC[Xpgw#o `+qէ;dd^TR+iv +d&d ٶŲX˫gB}`p*8P jPP_!^<[?\𷏖InoN;!KL%5\6àŅ˹eyה}]@[OUqʷg.ڪ9F=ag{# $aاrʫ]@:7RP~^^fr lAܤJ?yR[Q67W} >M9:<=)ϼM7ax.^s!K8rĪLˬJ8 PUxsʐʓZQ:i< &o;pr̤^ MU'g\eNи`/XKFOhƇV; cgݤNS8j?Qx/ Ͽ" z%+bbo