frr-devel-8.5.6-150500.4.30.1<>,LgDDp9|@y\˕,7GJ{G)B1-3͔c!ee =fM_[Br&g P`,;n#k~uFz(zZf?teZ+df_q`vԭSH`;t?dd   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큤gDDfL3fL3fL3fL3fL3gDDfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3gDDfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3gDDfL3gDDfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3gDDtfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3gDDtfL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3gDDgDDgDDgDDgDDgDDgDDgDDc848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf589200c8ed7146d80cf2bad9ce0f42a8b89c64a6d264340bbecf314a702d1c6dbdb9ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e5525b478e4cd82ac76c33b32db3655938c8ef9b02b12733c250b32a590e3aaaa28ca56a0c40884a24688bd23bc2399b77e6b8d5508e41dd303c6675057747904b7eb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71baf1ffa8b32be495b4ab483c3550a1caecde73ea5aad8955e3857d80e850b87471793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa1168094364e02c114772ef43795cf627baf39b92858c76f9995da58eb566310bc9fb64def38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5fdff9b3516d2f0e0d4e137437fbca293fc025bbd40778afd0f4fbb3ac402b349670dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714b27cd0ab838facd4b47655416a35ce105ecae35b142ad06a86cc91bef1839baf9412cc6b4a2876c6de1f33c3d353cdba63068f798c68f0ed20264742931226a8b1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d5605698d2691f1cfc7c38d6e31b2efe124e166f479f64bcecdceb6c63812ddc8c8e2707347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b565cc1cc69cf49f1aedf991c4b8cd246428db7b7e2992669ee08f348ab1903fadcf63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111d3958325667a82ddd1bccbb8659dfbdbe39429606f98ce5d7a3d4e91600a63dc6b60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e785cf831c9bbe911bb5d7cf3b41d197295226a5356195eb60545e09f049ed2f87c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1016ef50e7a062b7aa96a174f79beaffca5006a0d10fdcddab5a4bc4b1837231cb22fe6428fb5c0e7a8fef16b7eed367feb525b8554d0df113f5bb66bdc868536314014239704e2e67cdcbaa6b75c346fd61d77fdfeb6537395896e91ad490584cb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b83fbec55ed9912d0db7171af4f973e50e1845aebe9a15e158bae1b4bbe2cadaebbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca5ff5464f11952c1e576e1f7a8c1afba9c1091235cd15aa3a0db1f6fecd9cc813e64160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e57438f6beaa5e17ce086999034e7056c832e55521a9f4b7c8d3dd99c370c42f66781a2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c986584e55d004faae40046870bfb28a927dd5711d0290d7ba78c2f7a3339d05b43de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c734382a69b9b4d874887a8506bf52587c6a032525e963adf6d232d12e4a5fdf26d5123cc98b2196d045516e8d0018b3950c511b4850ea129ce4b4795256bd8edcd53934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653a05210b8db0440d05eaa08f10cfa27fd1b420ddd11ecb7dab74a15c3f8ff7f17139c6623cca5c55d29252a19d33c4594dda87e7b3f55aa979b14a47b4a15e41a46975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf98c24cd632dd7e692544e181e1c00aa894320ecaecd7f4f9b5cd6bf07c96ee2152ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88a9bb74edcc4f56894967c3cca96ab0b80118adcf3ff3699a0991e7cc0db4430f13f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad5215969d53be3422dab96b064e770386b12d541a5560f70b3d34e0e4be62f0f3e5dd2195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f04b47f371b4ebc0c49c8ed9f990f77883a07705c662da4eabac6b27c114eba0aaf20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf233b43e20ac1735251b9b6f3cb043decbba20f21ae2e125d3e42b3de0ac7428d7ef516e557a94946bfb5a3e5bda29d737971a6aec16bdebac33805285d8f76398be00387781ec072743c608215859b51de244ea0e98505342999e0d2887e8bb0360aba0aad2bb2cca38cc0aff9af6e82122a32d0d7894d44ed5296ce1645a46a2d381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367fe0f43039338bd927a6dfe728564564e47fc99227bb8fd3b169a22a79469990e6472c9c17f3fec580a56e0be7efaaf2dea08ea052557322ea47e26b917626242a826ab637f16b040469e41ffbc8dd3d2483c40ec1364947a7ae13b5cf4e14518d32aafb044cea9fbd0b014b84a60b5444fa0a6495f974f5ff268c00f458e6bbb759c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.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.30.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.3gf(@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.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- 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.2h01-ch3d 1732527319  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.5.6-150500.4.30.18.5.6-150500.4.30.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:36493/SUSE_SLE-15-SP5_Update/effdc8da4f9c495c20d56eb12920a17e-frr.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long linesߓSH5_-ٲutf-8fed7af4f22cd9ae8a5763d3fec992d803a72d730083aeb50eb4831d52b226d81?P7zXZ !t/5]"k%U8uy:?$ g,02]KR,O[ h5IdLTp]~@zq usAw0}vѮd:.Y]C/Y}.=׃@+(Yi/x G1$ߧrzaO1@X F_ye˫ǥTuv ( Jw&!H'Y]-SbH6Y* c\3ǁ )=3{ʧeĬNs[J'!dpvIҾ\ d3Oş 19NVF4,k˶%+ jqп΀4g~#3 b7G~.oYų( |0m儺k"U$ƬW# ޅi^JM[tkgFi9Xz{|3=*p2%jIW AKF*.ING*p7;(Ƅ`>nV?}{=gz \1 \O9);7 R5| ߝUeRXUg]s+ו4N//JK@DzcCH6k+Kxᶕcb(ĂU~pT&7bu'պ-S!zTb8:,ya3Fy7D{  l UK :HlSQٌ30iea8!PYVWt@K Q՘۸z=iٻF#y:zX- ԕb1 4S+i SimK>Dn4=:X\<" 6r`^F{K/V=;|-`v%/yT$YE(!iK\ҧ~]ۙAU](hݕ 8BG7S~|E5ȋ +M8o10jGx)fSDjqOaF`M d}PbC,av]A W>br 5|m^IATg6ڤY%qdx+Y[R|O9,uR4k!.ŕ/ P= {kඖ v16MEg!DŴ0/@"fTTӭ{z.S \'Sy8N5ǍPՅ*)iƊ/ `:fhk!%-9'qe=&UV-YŽlxZ(VymH){_ţpI֓701-ˆ- >4'eS͎<}k&W帖ijD"xFC>p0K{Ln_搎Eײ_}l ezG5}R2Ή6 !wת^eЏ2d#풘#*XqE;*HiVk$N{z5L\:VknG&`YZ' e3EkEeseK}?!e#kg~s|@t3#ghp 0u?eDZBa ϡFX%9PQ:JK@O\A-oI 7WHHEjS;ʩ&'o_}hN6:O_=4bGCGAs̬.$dEu+C8PLPGoR-ޘ,BlogIZlRC.f峞wKdp,uJ]UMâ)!2> \:W^× f"q2KWaՆk/ũF^;xۦ3N$7 駞|ӏwm#OFwr~ZDQ ΓvUBJN88gHJ%rN%5͖?/CaeD5r1G܅6]jvl8 T~P Ue ^B;)*9距fJj{!E?! c?> JRWqN{v O^G$]lo7V5D.pIaC|տ@SC?_/= @◥)pD,ϙ!2ZI]h#.|pe@aH,os٪7}/c|_fяHU\l;w}oO|+0?X mg:*Z!PtǙ?,3 '@% _7Q# J7s'2(,DLp,J;^2@Te'GkU >JHWYaHY^f"ޕAcx!.J_qJ=i=_ᔰp,Eppdݞ?@e&2"FsR[TIWݯOmQex0~jf0|4]U@of[YuVi  9%fN֟ዘڋ<QxJGxгCXK9 ``N\3ۜd9pܰ22CLb:E Ts0/|W)H44G%e6Et<\0+3}FgX}Pu+ }|ǿ:Àmct6rP]tPȹ .1c9P{j/c߃lōLǷݼݨw|.eZeC:f~aeӂ>s8m=Љ WlR{$)Cn!>[ ϖÚ2spྰ7'R5\_Qt V&[" nY:rNjʮ:sHG3B)%qQhL ѐї/m7X~bB"g7&3I} EsE>K^-r q[ky1hKAd[?vZхt__kd^=qyKA#2kTz/ivퟋ;OJ$Lfd QNanԸvO#UH3-bTY 2qZ" N5ivJije,I׿`KxQC0X6}T ƛ u ~{d'H;ّA<^Ǔџɫ([Ӆx%@7|O/ӹ!K _BY,]cpl2\ov~&ZFk٤RH ZFzQ-5EJm`(/%@RRb1h؞wG@5tj1a8ns# +tjBéw4@M a_+<8Uitp қ_ Ln=3jG.:|J6sKk7ۻc7n5]jNWvܦ-Q(-@45At;Ia5bp66S,|b! Ć_}j^3M+dNKۋya;&ȫR5d)ޛїF& M-SYd?r5J'Q~J!J'l;I?gKBJ2%һWu(j:AxieK_d@f54×\S "b 7|MlbRX N%D 59h\W`Z+&L c.L[hsڮP kB5E _*Uޚ958 Bޙ' ]ZT ^\ Z(4_uLˁ^;riF(FXAmP8gB㋎0(|D7!G/`(Ǔ;xǮ UQi'ۀ}u,y4ȥQEv^'_Z-f|-vO2S^բ AFVğD B {#0s5R=HR<6}vLoWs3*5A Zc q"(0SI/ݺ$&6 %geLY-m@k;9;2HIjzr\뗠n$f޷2h!-۸]x9"Tt'[p{վK5m9?h79УvK'Dr/朦#z=jH 5Yƌ`b*Z9" 3rH7g`g\ulqck9g;{$,x)X"r%pj~Fɢ~x93dCtrLq%2(JEj 5fXƗv[K,@3+trf=!7qF/da {ₜR6_6e+!-#.:^DxWL "k0-ڛl+F˻ԾZpF&^Devp'āy=)XJ"ZoL߮f7ezeq<7qg_O&Sz6V"uI9Y_v sEey^+_=}Q$ 0tݵ`E m^ V #glĬFf #_*AYz \ !XHx-n\'h>`5v戇i,n ZBMaY 5SRz&ĊU)4rkerCV'4Տp49( Qa.g#k\?dR9&E!S#r-26rzAȗfeknlˣ$f4ī'<237nGjWITh7fӇcʧW%/\u6/t421:IT+hiI08HXWm/HsN;8{kZB!+;HN۝:jFcB\л>z?Ѳ9qt)Zw(mO2uEb%y"#SP=z|<ac m)REO&5>ԭAY} ̹fs 漏 )]6hOCi̗Pq;>%}@^*DqF[U !PL/Bpc2Ed4I${"GtgC@;\ybcܹAqʿ|HG󄰄'⽪DJ}|0R84 v_SP, Iv=J aV YuݿiTV0k]6+ʷIA$6V2i9n˂6:iu{b'(@lL-+eH*75m4t/zu?qaqpbY_ &j OPA;jqVƪ'O 1f%dz}|K$ȁj]k6&f ZHЦ":e9d ع/GEC̺kr1NC;6-\OJ\.GBj2-$#{brWZn|b*mё2msHlƔtM/+kn)y1/LN~sѕfDHy?]dT)V,}CVY<8p |()5SĥpehC pFjsRާPFK00/yXp t& % gZ^=#^ <#KźkCF nE|L̼^e^w4xEUvR-Үx9ܱTؤ/\}t[+{PQW~80г{Z M.08PK#=Qbٻ*jD'$c#/@irO'n[_IoϓvhI{ '3^U)w2tq_D%jN\&[HlFQRwz]{`1+z@ƒԃ߭ogvɖIN",l?΋7PX5pw\F3*gE%BqDĺJOcԵ|q_6vP@D~ +F(5Jg.|ˁ >)9E%ͮ.a +5f VvP8,<1bB cX[S$@Sv&Xsj6T1ݏAgѮg8̴Ϧ9Mmg B7;8 n2CVd6O>xT}:.kb|-5. P̆UwD5w>sZO_,PLR6ZER ._҅zc0'-GQC!:`e&c&g{H7 K6]pf:(;ʓ݃[HaBsr)y*e9p3~_ D2 ŷi&f|=`OeOYDk^&v?w*B]B_*:~R Yw*MNᐻ_"7E 3}Q K'HQz~ dm %|@8dm4E04݂y1ks~p-tkl95[z"KcM♮]_/KXXUhKB^><0B&2RsHHx }pg0islSd&SG坯IUdʺGL*@kv=";}jʽ%݊ceϙiC'DG[4pJ]KVXC?\k$!ewrJֆ/0g֕e%!EIf6Y[>"W׳aFOH[PwesV{B>˅qP9V!4:ZPBIgڗb›kp#T@㳎2(Vh`;J㝍P*H.r DuygHG.T 3x%oޚ&:;34g^&K{\x^~Bf.‘ ߈ ~s}* % ^Ȭ<-EޟI,/jg[vM;ނ3P9=R ACa1Uˬev2D6{hrJI% N@1c^w Ɵ/3C^3@t~cUROyKupf Ԑ cJ Jcρa Z$ձLTB!sybUJ:Λ݋-Zr+V^N@ὠ-p8(wySޘy6Be0>31< |\a6-XlAհ*ś_sTobB>ԸT,]e"rI? &/ooa($͋[AFE ҿQhws@R³6*5;=< 9bv>Gd[}OX`%TfBH\qrO_I@.qmGd؊3G6?vNUoX]u. Rccrէ{|76_ĽiWjÓ# i=F SKÏ@ϙ2U8ZDL՘찢@uJ2< )1SFeU}nZİ\gJO]yG-7.>h}xI)4Im{2D6ܛV0=ljvhC;rGfx-YGn,r<GÒpEIJ8G`9#9ҹ% .$,-y yKk;)DԦy1Ԧ@*2BW Ai*mZKMJpzL'~01TTb9HEtRl*O87{LpkɞsDXQX(KԨT4ȉ#[I0hk0{~ß>ϴ>\6K* c!D$GBY(Fﶍ#ub3ߧЌI}Rs*?US^LG^$d%6wny7,@fUTER\.Y0= J8y}yHJ\ vpZN w]i+_ +ڬkji K"kXP=G sPm _vAXcn,X\|߾7 2+,Tgӛ+xQKʢXx"I# j6pyvbHؿǎ|&vFPy9R⿔XEKp46Dڧ̒As\_aܭsn ~4|7uvD ^QSo0*m @x 3vxrK͏5OZU$fd*)k=f;Oƒ5-ns(=Zk*Byi_c ?g6;%P\ 4#6 |a5N E4:(VB3AgȂ?uFrqշě\g g@ml-¿#^I,3;wSBQ6 ;W$$Z^R@TT5 C%8wx +-Pg~p[]IL!qU4Q[RӗV8( =#b$@a҂)% ܓOUWIV26E!LD-f2icJҋz :M@T P'0{u2^Q"ݍ%\:3qblqMlf*<6)-WjDl}'$_ʖUx,_%8rAs֪=ʆ+L1)+,ߜ|2p[dsp!V vT@!;f~\~l#띤NEk?4 &)jYSDCK.AA~ CNi*vdfD𥒧%YҪ)iC B<2y0$`T !oU<)׭=?9/ҙ7ʼxmRωONcP_3N%[< Xh R5@o8-sGo!޵43Mo&nC`G.̀DH-JLYjaT6Ě)@v:l=fl9potT_H<|^{^t+2SRN.}\>¦('|:>ak࢓?@oXEVց<o ).exogɀr-qבڟ"J`(KǞËP'T7ӓX-Yr=9GBmK[ayI}ϐ}kV=&Mmjb=(Xʼ͝AKHNGKSKQcgP^&Tn\ZSD,l]udmTuĨjuݧ#ϖ<8TQjɦ u:Im:#sDYbho}aiDs`~l @`pj 91 r]~PW kw2Q *\z j+3TN薜8kV<[oiuԣpG4K,)̈́o(A"bߛ]o#9*oQ, ]cV,pyMðJ5_^ : }&{A MN%239eje sI4d mgfLLp,3zlҩZŶVUtg#,l4 /(OT&jiMcQPX.N@\ %HK#xYӆZkT瓥4!ѬOgL\ mGwO,p'IgM` x$j6W!%TD$=nۼKeT26,?/HEb7>#H/6{H|z~ DDF/ٛUŅfXU>=}>ˮd١Z Ucڨ߈ITj[%i`k# wUU_O . zD;p5\Dg J&ĦS[ uKtf߿62HxԽX p^B[jm0xA2"Y&So -yi˽W+9)xuAAZ7H.-0pos@)ܙB|E~N^ր 5%qʷh]쟺j"C!g }`U[@=RzTb0ͬu.G최5{7wLww`kAchŒhd N6KD?#4A#,6%4`;B3-_j5q\ 'iԧo.PnM k躵aS`/xPit˰;I! ,×DD! ):GId/m!Yldi- }8޳6}P6:it-K{ +/ ag+=-~MZD>5}Ąu$eӪ MĿ`LFQG|Ֆ~6]kz' Q<0wq =kDi^iXFr;XDD_>MqvS*޲sz0, īc`PMC?wq~g{-JA"igC˃zdƭfy?Pb?[)Di qImV:h3C`nBŸoAϕʩJGܝ!#[pJ&^9::M٘͜yj07GPz"ƽ`%u[ׅpA6FM=elj=1eam-+Mx`:g6b ǘ |'[ %Op{Ї_?7:̆L(LxP ʢij{ js݈5R<~Wh3IkKC4h3_yW_pU$U?ⲗI\K~&A19;P?4ϲ /@]P{7--􌇂4Bo{֚>4vPUaɭelNn 0oA wIIᘭ&6Ov}FS}7hVyyLMO.;ݬ7% 7 GH0bsecA >L|WXW4\&,'5I/j CžsڷOSS| a NX?~&I ؙ=՗0(jf!l{PYbt x. 0 0Y2\f&?@R#M~2@Ji`MaKk ԫw*J[:x.+^H6vPڽ>B\ǧe (O5K5wBq 4LK-Z ϰSYupl2GjR,1o>?YӸ< yn64+zi!!tr}eyW$]\@gWx)>M=Cq4j=QZdh߿٦wIQ( 2뼮p_$tUBۺ,jǞ$MƊ9Li 3<*d逤DH'Ջm11[@gŃt0|J7@tI# ⃹@DϽ@ԾER sF 3B!8AncG)u>cDsr:,"STua)գxgxj^+DH$S@aTm|4 w$E_' W• +xOG#h!(}vRjG UgS7wFE< 2epGV x!ry+<+7 ymJ>51OC+zD6 y2Ɋc5!x:eӿy UIU@,Ӎ`]Xy}!( wimeTM҉KZ Oxƃƈ̄*G8i}CTL1V'c Fe5͍Epx9 >H23A!ӑEaAws.L*"yWZH)C#hU5$>DuߞoRf$-.Вg.КCm?oWUG>c\_Ē;Z0;|M_[v6xG1# k#oH-3#}<عeXYIXBEslFDXG~_ CN x beCF{?5n486̹9_hVlΨ?Qm畛-o3M dT {ro5T&iJ$_9 KB*Z ӦXX43K s>_'t_O3_Y(/r|*tͻoPx& V{d&Y 񸗯RE7_9yFU+j_&k$v6i;_y!*0olSh L|Cnc)'Klp&b)I;1{V{V] F'\a+@[ʈw6MsńW 5 ,HzJ+ľY躩҃;#22қ*YKSi/yp`-tau.H4euZx,(l}7aj9k H?lLha`@ɈqDb#v +Y;Vu{ڂZӆb_ _,A c$9AI5gZDʉX=t8| 5mQsX,ÆoI%.@Wv(ja O*3klr\ZٻTulOuIv6 ی>+́K6m`˰0d p:Fؒ(5֩JaH)[HiiZ,eH`%g't6V Oڮ Ӧ$Q $mg,PCٵ] M%=##VHqtA+w6&L34]`/1Zs߹B|g {R2%6_0D,savy UBїхl\o>0Lt*fX)DuԹsp\,n[Ji';yV(TeHXd2/_@{HJ"[f1 `(!v>H=,w4$0}4;7Ǭ]b#wR ŊzGA-%o#1:땇G'U 5^4|Iyn`1`jwL d(!<38Cul^S! R ԧHD5 c,Esbu2U݂w ]&"ľSZ$i;w-FRzf>zP!e.җ$GW.aK&֫d6|!g\=^r9"dv]L8ϺHm~8a,Jh}2Y ֯"p^RtqU{o{nX%12gcvem:6%kb]bvB+3{^"W%GaW7\x2=к/ܜg9U|_bENcIb_r5nᛤO0dD>UѡͲ'p-Nȫ tI`R9ϺuV+Rqq|-s@nm%tr~JL_'9G\,$E.ꠏqulb dئ\(vږn[5՘fp"fРZE#r{"7̈́^1n'+XP[^:}MrBel\$xhp}} on OLM&&}IGYJ/㯚>-] ϭIiUHN3i`K>~ʙT z 0HQ]<°)>Dڒ_QR Oj-dɴj>vbs.' +uQo՟Jw"GZ?KAՁ{6.-PJ9HgCh gH/wSQD|'ĂN %>bIzwMX(&?yY7@}VigenBQRe,`q0$;JIhnbTGWZr]1y |Swq JP]Re(c^[9S0apԩ;(& }b0exs\0 qՉhf_O%Us&mfUDeD`/絠 S FPQDwhj}S•ْ$>\=w&u)]>hÐxC$QiGJˍOt BX5F!7Ab1oHQ}y~`7`uo0,Iڸ;^:>ø*ĒPNc3Idh۰˻ 8ȅM*mJ0-D4" v4SšqqUv6^-[!KZ_7CAlaz,R{8j4׫0%v wn2?Ūxa^t0g\ba&lyAQ/R+p^-IqS= {s"& \MEЅ3D}D)ɱ~|ЃPC04>gT|Bq2"o4f *-VYB_SMΉ?S{5Ee\thitIC5l 8g41I:Ҿܲ7;#l V\zCͫltLYU#v!O0jDBFob^Zեb6.I4*=[|yw`>ii ^v ~ -wUQI->ozC2 lFtGM|?0Pj&>^Ygun6: U#~滗$zQ=IU\hxT}B"Q>5Z$T.qY䧬ڤalJBY$l6b[A{$?4lϯcqpF@؂S^nA(|ĩ JwNs<j{Cq;. 'KY̌c"=g|:.ZMJ|+"-bú= HVjfxJ؉29 U[HuMÄeC`dnyQ3/yV Y$FƝSH/ݘg~;EFc2>M6bRof>f, A2kX4rDz9h4v=C%+Չ悬9'n];nz S Eޫ`Z ']Y&J"<M$XSOq;G`vwwBtXgs>TΤ9;_e|֎.' Vf myd>Wu'nR{ PH˶a3lШmkK\P^,a ȜK JVfC+k\ .#3<Ӹ^ҪP/X|Ym|5SctM 7KS+9jG{lgY|óx13i1 Ɨ4b!S8h$lȮ)!~ g9q,2)PxtoCeUA<@Q$'H-`HKb\94,4={9޼ fC[Y]"(ٺF8.IL@Uֿ@Jv% *vpnq%Щ'gQ깰Mn Ztq9~D7:i/JM8Ql67aK&H37f(\ T2u#+I+! щ N+󡠩pf$"H ޝ~\X;Uɏ*zt]*5[$э,,m2vE6}/䬕s;CbC1;^ 6i8}zF~5wNSI~Wlt!kVp,[ D!XXoV}BOmFZ QI u͔++J&/=iGذ̉2@ 'u@)'%1 ^jQuv*"[YVAex) c@}qi'l뜠`F<Ds3@YUu{=heZ.oZ91jD3:yw91'78ڪGj8Xފ+Y9/+B)}<څ7^AWBUgϹCzRJlYW^BwQ-OB. Ya IoQUiy·̚3wEt!*,W rji}//;6qL-m;% wHzkzFV+,]g:g"`ݣN޹z5gQtJ݈? h3؜,M p DgFjVqn!A~1zE'³}褛o?a4⚓,&^ >E[(٩Qr1lKFO=Vp R>YSp96|-'}=XM-wsCij!cu}ExH4ʲ*l>6`VO,/ruuxJ,~T|x=|d/uw=NO26LD#EH5 o^ّ.blT}&(_M=#(ff0^~Q٭3*]w@W+1K&34*->\d8HB5Pѐ+uۿpkbI¶6Y`aokC8Xj=Lt9ߦc:M1yB`97C. T(O֪Lmė\~8+HQ*Ǒ!Ђfgĕ`Z鍢<J3#7g{:28S0`;v-U.W~"H0g A) M#Vв3vM=7*)<.7L>#-# 'Et,INlV=[2U,L/OThﮓ]+E@Ӂ)2an"nD ,nmSWeV_v{0ItYg 5kěg[Ro0ۨcńݎw!# "PU 4 Os$=@iĔL1ߐ5҆}W0t+>}!qÏ7m.G4؂N/~, F9?Fw~k,g`)pFOWdZeܺ0 o #q$O*sGJLtv~L0M˘h͆?{GXZ ) &Y2\ Vp9e)Y+&VITh[FB̹`9'uL8vxP۪@"{r㵟Wڹ@G av$AE!}#IPXκ-[ QN jH%xw΃VV8ٶ5EdfqGB3Dqȯ]deʳ%-^"9#o~%`ށxGyf福^FVӿZZ0#:3!L XG}`3L[+W Al#N |__bj(6:.߸rj>W;*hߖU|uu.b0P&MDw~Ju-?r ?[}$v㐜.4¶ս8w:v_+Jgz)R[uZ| /Q@O1r;piC, VK`R)5ц6 Xj._hD LAT/oH 킅vW9]y= 7{;du+747m. 4fPJ;_M5Eje({I?lq&!X^MQj$!P@9,8V{.49./ў>tF^cC'볛+;C4aUowdwFy(>ۉүsYgq"{HFQ| ˥C1:"LŽw3 Ne哀 Ľ:$aZEN'/' X !,-iAkW}>V(\5mzKj4d>y:S_؟p_X)n2`0ϢhtvC ɨ_\*@U]dmPLnS-$u\R*N2^N@'1ZNy47_M/5?ğzljrIUB6|DHpXP_k^ 11r6R&8[Gb/A6b4C) 7- қV5k sc/Irb)[`)X;P5cѿ^4Ʋ/Ÿ 6k=p*bI?* O߬Qێh)5/gv\daYKT3ތܒT|n,iJ\ -]}Ր+Y=~>iYi=5=%?ߴ﫽? rމJ'Ƈ>N"ik=ݳu! EFRܦಭC_VTҴKg69T_QwTC둸2sJP$}n[|#I5DiSWgEPvL %'OHY,}T ?{@( y,.! d]XeG4Dj `k) %V9lCaLpp<7~U}X CRXԋ,=`nޝrwCvL73t +pʉ, 9.}nl! u: Ͷ#B$Ӄn;NaOU6wI `]CH,f)m;,ln轤GjJ![CmMMچd MϔB2; e* ]W*ӂfx%!F +57>G^ 癑U΀WVm:֡IyW,0$5Ոw?`;LG.H'Sf1i l8trBE%  2( N| =~e.Ci&q\rSl46yVˢڨh#y2j 3ʡvTx䵉y xz}|tnO!3)ef!CVsxQ@ ]e܄!0~Ԣ^ ?PWa܅jl(N蝺G AFv)U./ʖjr_WCO wW(;!aFtY/bϟ˗<%k|zmU!FF)e%8}+h̐}SWRag,/J{D7DqZY ە'jeE]g ]>x^Fڥ2pΙ þ%a^?q=[h俈'VHyU$r5Κf) ] pp爗\ )uJ:@Co/Sm&U^:ݕwvy7`m5u;C>+x C&ÇU>١e0hppzu@Xd^n@5AN8~,@ F/?~>`\jBdlBxc)z*~ι;"!%bQHh}_ea ʉ: W-3aO|қv%"jpLUDD .H:˵w[NƑϠHʿǒ;| OB scΠ{~ꎙ H8Hof@wddۃ)$Rg+!~ҚxOX0MiZ!n؅”ISQoϞ#WbrTuk%]V~yn PF7)A\&fq6"AYy@"ƖwTw [ 9&OQ}I*F#?1Ԃ)N{`I6fvJlM9Y{jg\<as|/Ko!;M;v15Js(26!7W` , .GoJBDse]|}8ǝLAD8欅bPd]fMToo5q'S^OwζnC0]ʞ|N&|r4L0d5 /[k]s(ب2iaPom1T's`'{ZM\zġxAj)HK5S'NEn! D{R56͂-ra{aF  >C4+#Gv"mm*u3ӹq4 53] JO;.^A ̜jE[qptO%]izV 3pz&YuFg <˙`3+ix/#F04GPO4W sOJOs` 7$>n2ȥ@u.OŊqMNVe^V,>T1T0Clj;VcVOA67$ZU@N{1CRpg@hHޑ1i+} DIX i1dj)Y>& O "VPZ3]+?#"C9zu&_v\dj)6Liv1 J+{U%cpߴR6寙Zd't]3SV-/ljCrrzWV¸Pc_*ٹ{UPaWμֻa VwcYSWq[!z\64וMA P8mWF3gdž~B Kt7 sa \l=bTGL5ZJdOBma4Ļ{ dZ9~r,?[EOVY )W7?)_eEuj{ mi* W`^ jg :^#Sp0m':Ef0kcjV F_#J ‘iC^N"xߓnS+킴ڔ%<ݿ{mi?`}4)R!iQT36ZSU2dǭe^J_puA{HCWkF9mњ"ph^قA$W1D^ْAѫMH<8gh5ÞZ6F)U)!rX, / Wp/g^iK^6ޕ $FЧBMU脊wgOmbdϝ48(=g5adzcyiՏY8JtKA-r+X,R۞4L SJ!-LknV8'DdtESc\f"χA ˯dے/ڹk=:i *ςI7m4V+.v/~ޝ)"W:~R7h;]%VrDҼuo=:x.x8D3+1ǖ ˴d6>~% '"+5 zs=Z كHʼ^8`' A}ZL)6k!'yHf%&zseQ*tN31#f5oU`ѯ@Y"PҡiyR1u2 Mp_L|׽u+zx7!,zMJV㐳@ RNJ{BFLڱk׬ >7ݺ' ,=?%pۋ"Uy6^FZ@Ž_U=Fyo8;@Akuq(oDwGֶ&-Mo̪ngv=Jwz?_ ӄȩb4rJzPAF{su,N[[j+D}džhaW+T"߾xv ^ѯ,$ W zFj4=Ry}*+285evdL[S.٘rkfY{!0e|^ 3;MF~⒞5IPM'9M~"{O g X^y hEs4^6;Eu޽$@ogmL]w+EϬi0m6FDHP:ȯ6Gjv0YgxC;y%@YvpFFx(  z@X < 'Kee uk+7ġ#wg^,IDP?h1dj9aw$OY!k05בM%YsI܇"Љ?Gvh e)qYNm*g/i@:mUJ0VQh15lEs*I?GQ3Dw%ZN{%\5"R_~+Xaeu}s$" c0͍rUh@&k.K1!&s~#.Dٓy~ :Q?Jмb4r&Cn:cVmGvg_pOabVa5a&\Dx P̓*i"hYrbt&J:طӏ:RWTMe&q2aT!!zfTXf >rq fFk>iᦨE<A3wfH`i' ;UfKm"8tEf6uznSr_Ibl1,9 t,Q|%3=eퟨd -AT[s‡S xPBo+B0oq?Hk4VK,֙YTw7,;s7w֭`!.4qa1ڣ\8`hTEz? ʝKlLqDMFwTw1!p+6F.w5-pHuvgoqq_UiGJyQ̼ݳQ 20 'Dmɤ4 s:go_% v|)+F%gkyկ ГݎL4NYkN*bMj%arVi i7AGW[H?/5޽m^/:,"_bg`u3~7{_rz7P- lVD|`2mF]'~gQ$O:Rhuc(=W5\͋ ÀV{>O) ^=H@R}Cx]`-0La`~K7ªSiu xKO#5@UۆEAaem"nf8.eBǏ.9h{us!޵9Lg5 JM[CC7a\}4zKA.s{f|Ш/6ZJɊ1T\lky9Qx{ȹ@ӚzYq\ WwWҴՔ1Bl!vd_3Wfy3_nk K,8e{jTxa5:hv;X{8Foh`)7^[_G7`Ҩ@UFķ͍X{gkNBVM-dzv-S8? nڷ x' u&jj<Z{`B&PPhh?V~sbnԑlSw E!e2Zpvn\vWڸW&!EAYENUN*AS. 8XctŴ#/ [kmdr+~v H}&AG]^:WF,']QkP<֡_S"~ƬGca|dp27'O 7T %t/Yh~ЂZ!#Q">D{#\6SFu[͈J#w(F<Юo\HL \ yT䔔x h% 6~}w`ypg21cNqvi^ _L5;ǜYYۅG/\B,!G_0h`{AZ6ش%&\?(|Wb_̠Mp}l= ~(w\(rK|_/s5k Qc B&G-D 4XFq.#!=L7IxVy2kti0/!y+JU{cz<( F^Oy 1DBN*@HLX,۪*':eyU Lhb4(dM< R٤iefFIOݮ4նR0r RW/[p^Hk7:OG\fd9]/ yCeD$;sV3'7Rb 4E 'dIЖz 7PޅeQc-Sź!B4CCkAGQv1u=JI^bzD {^1+b`k{oW!7_$MṟrX/Ll= 1q-Θhi56 wV/uμ6D#Cal}B,32wDH4G!B49!1_][Fރr[<>,U:k;n|ZQJ"Ξy? s1v6^ԳJ@pD{t#_heiK*JMt΍hOr,9l$ntL\pI q=e' ⍌ ..MC]XҼ[@f7MX(ֲ)"M y%AQL'3NDĬ5'Aa])+d(>%#0_6$Gu鮶޲}n1*t\rto']\vBi˞$].;dpR=FРeltU:~4(tKn61<ݳ{~dS} ]mk r z^*Z`Xpy0sL Tnz"}JIǢ,-^{`R4sy#PWhضdWH|fuJח̷ 4J)gt.9H+RﹻcȔ|:ХsE߮wdy*؉X-W\^bI 4C?nNm}>EM6B%\'oVgI-QSUUtH\%U)&iҜU>iRgl<`0t]}#q}Bpt<ㇶM߸ z!cRf\ȽXs)zPD{YĨ#!7 Pegjg{ns!~!=HeLk `(4Z=O:;&j.f:kS9kbj I0g 桿2 ]0n:_Aݩ9Ml{i> l`ON|րZ,G}iAKތ;\gJ+9&[vԎ4^>xi17"tCV E3)?|[(W\-:ӫKܧq…o33E5iCqcrjvMgu</sO7.`.ӣ0iCq=DKNBxlHs۱ :jه쾝́bMz΂ 7i"~iyWɳL"Cj"tKM[LÖN aT+F-[ Ɵ,Q.)+uj/A=Б€UyS0',UjM/ͧ|gÖF5^N/4fu-^"S0voĀ:5yM\G=.b\Mo/ܨLGQ~ zr+\* 0m_wD:DvrlfM)9ػN]YVS(fJ,h1f7 Ȭ™+ hBK@տ('FN,5&| h챵]*yެ_=k'`7R"D2i ЫN$% 6Kv.*.M].LˊH|*)vT~:4a?S[`B_]R7~. 6?Oa #JyƑ)q3uv1EE{s61baIl}~ۭ;dqĢzEw42:7kvt0,DܩkףF&v}P-99%b,3<1?xas.ȵzkKm\ <3{Q ׁ@\^-˪:ud}EŝY؟͒S@A9u 9]*lY6lMFUXrM޸TDQ|]\D_ٳ|@%f] !Hd )! eJxA @l(Ely砢]­0YOd=5HqE-+X*1xgKIYN؇$|%^sW ;WP,h;_ 0޳"ԡE_֋0T{ 7^ؘnT4u 9.^Ee,W^péƃkcڊ ,]f+|qe{zRWro-ܭ_إXUe,q`mg^T(`'G<’ͱ&/]A}gktRY)[&M C2"+5G] Vڀ29I\AY6fpsn*҄MGӶF'1^7j8UY%Sn!}t8SJ,+c-?ɤ܃"{&kJ:7\}LdN~UMuX-ASM@h$DJ:>',c-/KEmBvpq@Ng,V>"^dsxq3*3<āQK҃.C(щo\.`=l37a;~L΁b(>aOv7@4,34F&))0I5v =$=eM3aH?r}Q<Nt̠qT7k!:tX5 &*$^#VR%Aj&]7Zq!2,G@ Zhz( 4 ;NAǹF6tccRVep^b50;\s3SQ }y77 B4vX/ z{o\y%FCe-Y 0#En IެԤL, ~otƥXPJI jJJle[ #us ~ B }٢> bJcミfMp%]e* @Oc8gZ`5 (S˺uf|@|JDOOsO.vf#82|EE'Qs Me :i*J~@[%<1) MӇK`5Ą& :Y>\EMݮok$%m7ybƀ̝W{=LW24tЩ;ճ@)#|M7NFAnPQL`@CG 1bq D{4s}" };Tg:o))j\<{1ndCahApze+] 8?yey!%]jy00U1|db+ pE#=EN%TuBCc|HtOL.4`ϞE|: I0SfZm&q \.bꀎ7WNeJo(v60 xM]DR'56ICw>e;L.f]Baʈ*t/]ƬSKPbBLB0Zco yN9xxYp<}!#\Gvqwhj>Pogit%`u¤c)IfXv1W'6 B~ߓ#.ĠL'9t'#s}Ŝ9_N:&xZV,p`[-g5ۋ9L/<n06=j.hu$ nja܎TZ|1 GDHl7k\ CҺjҲ%!1|΍S+Z=:.T\$epًwk F[@'}Q QM6WzX\nB"59U!g1EzFqGs鈒H6xs,Oe҈;gR&xhA9IDΥ%s:1AǼ˘6rDR_uV~D_?|f^Xk'%)s%h0 _ŊDuqrTx`,BrRȱxK푧ۮp|@Le۸zb;!zlߔr=jT4˰79쵔JT22!`9|57sn= Owo/_\!ԑ #HçP'j<\|WEDzVƾx[m}m^Q$e</ZMy b&w5 `t;bmN)abOJw=TBzRTXɱw^ 2 "ʚ*gVjFXlM;5yjpMM?ina(AK;uHGS,>zC_RP4cVTDuQm,x(64\IU0:Y%6vM,YJ$gQ G0G™WCF&׍SG  S-!teTqJv#˽bM,eGRϑO*Elͬ\$}?D cREμhͼK6o:{d!mrX q ^.g5lBn!nDIP)0/OïV)Z$,!rޭcO0Q,-Cr3dIAOh5I%G:3OLGZSތhmo!AqZRuY~]6|h:"Ȍ`#;m8NuFUS2. k3p*u /] 2}sQ=0 ,2Ŧ~~1|[-9XP=" ʬtjbdE$xOHWFil.ޠ]sѡϊAmRF/4(~*;.917NPfV(Lj\h\-l-gZ4WN29sv}N848@(4Z|.N@N̲N].P ?pY>;("* `zWi}%5T \G^e~ sI|$Sc_D.'9#,HiAth.N@h'=(,b d\hŏ<C6X5~<)#{M#9ԅWn#ʂRC+x뜨kPf'#7_Tāg2H|] Sf>~)-G!h| >Gϟ!|oYն6EKZ|#Ywcf8F C4kuejN,edIO%43nq(l]g!&vQJ T \q1`"vt53-ht4@qZR(C;2C%Mdj=AE5sᗓh+iJ8bޔ˸VCP=QIE˵IWf -/ZTe*SO[z-@I7n7΋v'IӒꬸt"RNn]B\S/|y IP'Djm^iwt=ڦ2wji}[d;HL HW6ⅼ(D;p"+e͢6H)\'XWQNh99kq?!NyX% u]`ME,$upx~Br;llXa"7O*`dTNCkGUǫSy;z6GP@_r4S4hHJ*>%q>6]eCܐ3ͧKkaQV7BD᧧քin1[ ?@[tgւ0kGghBD̼={7TPng&;Ѵ -@zƉ&V1"ؑuȧx߯tE>NJxhA2 -O؎7, M&_vIpFڟ$Zʻ}Ky⣋PkngC`͂J=ӎ$pS(+ykzٰ?GU @SƞSƱ7LqwSK%𖍖͢V47 =dAlK@ MTq@ŃB6:()hHv g&fđ ދ0˒[N0*lFThkdA? 2vaUPp(.FpХ{S)h[tc7 ֑C_ ȓq C D%e]ͧ*P6_Ҽo=-iyf׮ɵD43$SI[+w41[tSqV-eb,䚎ې`A̲;ǧ~(WH1{rXx[;q.EOI'o)U!pX8>ՂPJԘ˛c,z Ch2=õbt]cΒ4v(/Vwjk6ҟr\;goG nG^ '};8 (1G!ڥvuw&ʎji&z;zPS;Kz.8R Sl_$Q ~> u<*Gr\<[T/}Gu'6Ǻ6gOxX[ܷ I4ì$}@*̦؉E'qg{4X -(n{ͨ1: uZa'܏[VE`Ս!g3C#N.Ѱ&2r΂,H^5'{6j,j.sxLZBeGo݃N2ey+ʧwXf:2atph=zx+f"P'ʥnȀM:G )Nmq?+kDixoyxv\PUk(ra@/gUZϡqsK}\Xuj)ԔY_$Rjr5_FT6)ei5 ej_\,">\Ygރfׁ-\ %D ,CatcmRM4Ԃ [_+G+[/vC6CwaMX0K2mvbl@u-y򎆮Z 1B_)g隇A }{u֜86x;}V 3DzNrx" ʹ_-lj`E$=O5ĭc,yjJm&L7 _|X"/7!%J_76|S'yוP#oA>lSjH6u90\t"A^lythxݶ9CdSʇv"1 -?mk|}@~5l%Kԟ*Y}# υHWH!Y[ݎ=QAȭD|0uFWWBM_MXr˗ arLQN~?BwK+OerZ=xz31>y3bʋ(:;&Kl/jwpn xvmֿ['}r~vr9OQ$ 7p1jŸbdkU.Ceu)N?t9TdyA=~3ڠkxW.y e dZ͊VRȑ?+j)?c/ْqU_*RTn3",lQP'IFA,76>">L]A 1Fx|PkFdQXZٕO*eh>ethvhK s.Hd|n6Cל^._E:$ xW#®npNoxV[CiEaKue?c|Ѐ*cPMMK-aUKMvpeَ:bfkèBĸoGw\_0bUVV=S`w~#F*([.yYxwźyb1iZѤE\B\tP Kgb߂j%/GUg3<b jTl@dQ"*^:H_i""PbzkF5zXuXQ<­Zو}//-pE!帝o!*$^E ƄRCP$VNQ<:0ybdC&!w`U[gcgz: h;o|QPaΝwGs4Bkd5̂_z~R 4;jJչ@/[v,z)˹rBvX=;wp;fˉ289דYI$+oV,ТT+8]e͞bD gjݻ'`,=jW*tKM.P V6T0v _XD|dq] .cf'hz(ffB{C\6QŇr6$'&ɞ@$ E"{~2i@ޠ >)הvirм\H`X"K3 >z{<,ݿtPnl R :$|LsofhDO@W^] i,C^|@׵> jŪ[u@h"PE!e:i[<(ڎ[i%1(k0ȕ QeǼjLixB~SC#Mri [VBw.!K˝_ݘ;C JB+v[%}=~p\E;R܏b'Tv4vޘ)3.͘c,Hi)AZ}o®A)gDZ>}rT wӰ`v_|<"s/m|'bK;g:P[e U@K҂ó`5wٲU}lRJa/s5k/'ρ>7,nY&/[Q)aw]N ]j#phmlcVij)Mc[4^XKF={_Hvnabb&}w3}iurV2֠@U;}ĸ zjSe9dHh~3a#@p-]G2Q/צo@DR U>!zէڨs7h*'#ʨZvx)Ӌ5[}jSMf)-.48ڞ, љ L.|9^(Gky´Vv'Zs'glqϛQӾluQUrI @8O]Kp~Ɔ_Use|2Q=;&n:#=Wlb it5S* }r"捖.6pfJM;\q3\JmR,TZNݬ= J sYiQ.tOc"?Nȍjp+j4Su۠襝_5[?txnZ"B/@ഛk8aFwC3kl6u*CJ܈˳  M٪'oU iLQݕԦN-.qD^M_$]?7Tnyt`(4?Oo:cpZ\ό( {WJWք^7 *\L[ /cHȩq6 T[hnQƨ֒upp=ف9IG_\z( XA 3f| ?Ƥg=&Z$+' Jȏk7, 6b_P_kj,TRd'XҬ3k:?m*aPD KC)g^!f3>p )5?`KS+̈́Bs ̑F3^WT?ifkp94*20"0\_zJt:#toc&guAD\VuăN~ ۭ&BYH,[(/n/4St=ˊ:@^m= `tDUܻΚeW|ZL "g#N?5lЀ6!㸝H06PIv9 a{-Cuj"7J^5MUA(uV뀢xN_-$6OBW~[$ ߔp-]Véoi2Ɨ1R@?_$Aնw޼R޴UC2 H:O3J=աŖ9}9V\kY?:"D3hY C%#i)`|߮\Q q'wcܺ?d |0 И_4:pkb'{PfqQ@͍F/D ,qD(2}#5K}ZNuʒӂm7] ~)>vci!@zݝ|=!{F ^Ff_]7;L,e<֬zą|8MʔMr,:eOU#j"jP tOk>-҂jܹuq;/]x[-J ? J}SV%ͿKHU%Qlr uzv] 2"CFbVn+E/*hRqi,`[R!̨#'%gh@OpGdbcoYkیkc2HQ|K4H &NrJ߁3g $"Rݭz& /QMN(9mz1q+N^gNtxߝj`wGs҆z 9@G# kNB36N~fCh΂%NǤ(xL c0 {uBU#Asu6,jr \؉a y7 %n¥W^6ܷiY$ CV^ߚb{3")u!h/u?AQMd%Tk)#`<*BjASߌTj8,i2el6|d+c&Qc0p&4Jq/rzK=7>6?@+ys^.@}.ݸt7esT?%z&as+IC "~CSn_V:Ee:8h-9cnٙ2\EZçq@F̼5}릆&Z- zsj3S#;Gq&:p@YrI%/= yԩ#Ib 7u&(.7hRsqVFёmW0^|.+f?V]rռz/*g3בs9|$00%F49\5Q}RB2n4)-3·Ouj6 xFͼpX&XTGPj kӂQ?OwJu(, \^tA8)Zlt=yOKL/X}"XvT] bC}M_A\4@9e +=eĄ__Zƒ'gdc'yaݶt -$;Z7؆VrtA =WF!\2rS]m.,eMop~' ^sHg ɕunUht7F.~z=8WC\6+.禤a>dV">Kȕ'u4Ơ+D{Tѩ5 |'cvN#^ΨMҭ7dXKAkX&|Z.n:!.ȫ/Ll?f#Gun4Q h}?G =jLjRQx\SA#QRGVQJEn_Wn*uB)V" 8*Č3FRtl!uqvj??l;Y;4mW#*/CGS{FH_dxĄY$k)t /%ϼ pYY؅v^XVx V)6m?YIQQ-0Du9vߒf)kod)s+NMn/paKcQҳLuǛ6|3)896 ,lgjH2T`-/d:ݛ[.Φ7#`F\ANvq)3,eĿtWqxǙ}׳c/Ḃ1]lC$c`cW98Bo;B9Sʰx H4M*8۝U@M˭e(R?ú=磩S HG(P]cB+ j/)V|u4.`rQ"Fh49GG׆DNi`93phoo0[֯m21CQJN*FF& 28'"ƲMS#&@;cՊ|ş0kqiHJ}qmAg1?.i ZȖt@M/tQ)7{(/\aKT< fxtH( Is^* Sc)80aOմi^YiLip9EEb`XÜ|kos<:*[CLC V:1+{TE&.WO32D[,'Z?=N1/(A5Ht.@ H-ʎys4b5 u9ZphaEs$@43: WsTMx<:?r?b [{5.CH9nsIUo0yl:f/}@(KKȊAw#A.0T;p4n #h>IHߘrK qSZ`M8LV#rpg򵅄0&Pgv"@1VJ) {)w|e uIxf9(  h!.d$=IVfVl.H?[TM0~IOYێ?dC">. c$i*Ή9Oς>+V̲;Q6! 3b0-=)9 džBZ_kĬL>С'SUq{ԙG#R]RR%P+*su 8:,s[ иwf?6*u+2]-t͵ԧJ4,$y:$#褓Zʑ+ )9! ldu |'BRe: gPވv7fXVN1]-+j_kw Os`=5%&kCOaF4ķHUj,eR"F|5m~./q]%fh`tv Co]M515hD 1:a04aIk9@ +<ѭI&u9sײ&w8tJb1$5egq&sw+6"n2(FEpeUelo\Þooj7?-7LrIlC-ؓئiҲ}I~Ϗ[ B畾_1`hY^vցjtAn &jSg]u;x a۹WmJ !D3&E25e*uCI륭M~]>ӵH u%@CBOMC 'A& G߄cNw^͌ XXf#(ljWT#(l&S/a5[`;$u=O%(@0!7~3Cc ƈQVٜ\@D}[_8%&}ەR6v䤿&y vkssy*V"nԞ@`)D.r+-kl&"MGY }"ut˄dʡgyDp'5"=H[ 7f4``=`{nTnL#[_ jׯ\օiM!A݅SD=Eoirj|KyI(ޑIOT;Fxv>~^5 i%=~em8dL2̛D5Y'8=`@dfhGV3 oq(P֥ZKoG;b} :Y8Ͼ *G_h0RҎr]7 >/ԦYo鵛ȘWnc7%3s4TRhC 89T-Mf5-Q˓4qf* 7q+Yap5PB@';c FHh9~c.Lr6h#50A}İ]~߭}dcǫoM<6Ve|Տ('YĢعWZ"1i?- A:aˆR&z8^~cм2ii`pG*C()af߈Ϣ$k;ﯝ>Kذ6b&UL,KGPv998KDXC ?qhdy=V${mv/ۖ,pON3;@zn2v..)ޱ"𥏟# &b@D鵤-ˠ gf׋7_Y,E@#śTh=7GdkMR1׽>r[{ 04 k]/ PmVVLY%4 ED;`Fb ʖ΄U714ُf䈀%o٧11Ƥjˢ'rwVc0ㆺ } yOMP~&[*~pC!X+ ha٤{9YnuQ-𭒓o}TN6?FTbڠϘVJ|m}l/ Sk:z$z?3>@S9.y}6RJ2l'뵋fah!H9ʧXaF-H{F[#A(" ` Y}k_Wf:Ci[uu[zMM7;ۮn6F`"'6jQ1NQQ+[C#h`(SGaFCtt5,C]n;Rҧaܬ܄b%hȚw ?e0l1$uQ#^1p"lp R*4y,߷)u괸%m Ef ^WNų{||Hƴ+6ԾMe4d$ ք?7-YgH+ۘ V(wuofj%`)]חE5 1KD?zyeEp#ϰQ,*CeNj IGN0„!9# (=|u~E萦UE/)V$G gb<饁wC(SF~ԩnWq3/G7u<+IqLE Zm@I!"74@BH 0{8E(Ps:wUqI75LJFj f˛:Y1vy(\߀{@j\3Z?K &8Z5C HLwGQݼXl<_e#nWpɞ WEsD7&l-oK>/::`0}RuFV_9EPhml.?]sa'cHyu)he\&xZilY{bxHVJ@̓-B0iv#gUyQM Ts~7L(Aby|^L!FiV ݳ0 wVߤlQyV8&,ںw=R v!emu(s3e;vJ7]`Ԩ@E=U,Ec hf QfnݒEc DI>}~lT;_A(Q@b5&Q#Զ歒2o5_Z@"D&"eԺj49P-]Yw蘅P8gHTi P@j֐ut|N9lX5#3ʳ 3Zy6S@bmhDzSFɯWO!gF-؁,IJ%r!BM1;4;zP8X@\xp!Pvj{(TvmqCNĭ; U2kN N]FRWqiQ]~ڬa2cZ-.;?qag`c\x>.|!1@BahTD[5r8Kݚ#2j8Mb+FپL7yFFN<ط(`L48g_LNQc`#~e Q O U x7Eן7z蠵0Z &My!jzdamJS۪}1[} ?l^q=lHɍ$r`o+6'v{юtJn 0OBh毅_;7£Zx#,dE œg뉏k5ijdZ~˗N{\ 6iq6 D)+WF؉.MQ4Rgd @xky.aĵƎ>PoSIkVb`ξZɜi\.3Πڞ@Σ*fy_YK {  q$wzWJa/bWbw,O{ ."`(T,%%ېZy?qFǫໆ&Oy*M{J9PIK &ᅦV*e sSIrm0&lruGe\ ~Ky՜3_Mn\DNIHU cZ?SW=AlA\Kj%D= x ՛O-+!0"#S0sj/)bUN#9F61*Ӣ,?}}T=❍#Dymu{2Zt~?Yu5$[lwAYHhspP!P0/Tv6V&F2K64o<|+o?m 0nTq$3p)ٚibD4KmM\T# ?EU%Tc!Bt˘|PP`ֱs, L[$0pc~,j3rqݧƲ굘PXRƮZz䆢ALpHb Eůcf^#iCkb|mhk/J>+@S?'z+4Vה8P 걘␞ nJ_0 x [6%OM*0צ0Avٱ奛7hWm>m&P$l~JYv@jxg 81d,F+5Lyqꃸ1`[`V4jDqXބ'u#e{%Mw:qʭ42xY=R :5C#kqo;uZ{=xUfÚ”X ^PԭE^f/w0Ђr8rh#fڲ)=KL2eQ2iTtGרVrq!./9nxw-៘xVmRYcx7? v%]Jk؇h>F4q x  )Fɏ#(C%RxbD1Y4e&xg9Uê]ZC `V_Q#XPTLԹ 0xB={5īgH{NP$sRnOkۼ'XZ 4&TJO^jΕuj do@1j&L8&fcg7,'z?p(XET3jZ*5\6-fSbnx~"rӒ4Y 6?ltnrQcW.6{aqʠw#gSHuk乼1iHgYh rɖ!!捩CzSLc`aZF)7Ii]>_o<ӲHoQd1x[)a2Ŗ:f&5/;[ZV3)ѫY40K{wv3X Z{ ܓ 1 ZӨkᛟ3KyAb Spd|id@vae 5P{\Qd {§ %APl;_Nٮ_u&acabѱo "\o!;!%䱛?rȵ<.DxU_`*AaL(+~36s'm*ujNaУh$!׳DR CbO[8\U{+gt6YwMb%͖V EXe,\OO6mz̐wȖ(qN5F"ZV._w&YNy/vZb]f(Rk.vZ\q@d 9+۶n)%-]P hM$=e(ˀ#n!l0Fk** {}?QRXjly}A3*lv% Kؚ?R54^!GJJq=_/dJڶ.&XXc }`}d5F >jE%mjIP}^)GpdBn=&9k4Y<.a2u!lk3"#TKlޓ )wk<\؏hȊWl6%Ͳs\rrǭwγ0-c&̆jC;*bߚ f偋vEÊ )N@7*Z/:dkFj 5iC"iZxh9&^n ú']0INGhol#ʕܩ}V|΅R[FSVm (*EJ9OA$\ 쳦*">31Ayvezqjq$FmݯUY0t !^&^-; :\/0WmWԦMg1lBG;c~t1-V↶mkY8ڞMإ͂502{5'G?JCUW>&$ :6 1v+im(j˧Z1_/@YsOWf'+$wHLqM@tFZHT Gw߭^W@f5oگXQ4;'t(/uomfѣRjZX?,M3vdKpN'tjs5PYhɒŰRmdWÏAn9 1ύ,;! ZTAC`>S0JqAhr_u4gB^V탞Iz)H2|( W/*}UиGE -whdžj΍.Y9Bs" !J_-7BAl$LDq@B<)%:qN(n ad22B~Kn JNJKd*=m#JYKYmz*cĎ+[jh.АSI rDTDe5iv8@螰X?O; DE-qwJ'GjVG`4^M;L>\pY79j+`+{)W[ b?K{Ǚw4O(N6KQwK,f)U<v; |]Ze[ Ëó6~u5W Dli(LVW4~*8n^tfq $k7>Zjs0:N6/S]1y?ё?J{ urf:Łs"O&ȝCչgQ]@YZ M󠡉&*&?q$q O^wbT*ꦓ- $@tZP[“O)rkU4ab0HbX.%wAju3rPi"aA$i??p:l=%$&TJ[yo -8HD~ k_ [RV: K'^†EZaE 63Qp2["čM˲`˗1]e7rO_kezOQTn*Ã]7([syA$g& y-ҘQw:dC +9B[YQ O(}&," JivX \ɒOCsN IS"R46 tm99n?<| WxM@-ȳ-F˺'\XIDZ׍$=.?Zn>m;<^##gUc4tX,2#sH _bBKGp ftK(J?jtVHsOxԞ2Iᤧp_Df,*V}o.MYӕA8n-eF|D%Ʃ>Z9ai1,> Y-DlQW\QaK&ń#h|P6DpvH Ŭ;@.u.|X_OXZReєV܅nC=3 й1dQq Ptq=1˅ ^QYJ:GpFdua6_т2AB.z[s^tY '?Hخɗ.o8I,AGNWV-׮7c㡮+S C˒ S  .P Y|OpgoN$ '1dO8FR#`?Zc 91ZQJقiÙ>0|]Z+s1_}2 R Fuu{%`qMJ,/w,-0<ŵpչt?/ #/J~`;̵m+8'P^@Z1e쨩OJcB' Z!(S fVA352bo?y*Wҝ?_G+IKQ !]ˢ|Uku4P-4]gEqWf]"x|'n1ƿWRo86wZcΨ8捂̽ў2T# mr-Ɉu'c4Z5la֞k,~F-U('ьfvLn螖䃘~K6ቷO yp *4wP\4Z%@n}9U`wְrI覍4<"&ØvQv!g%qsڋiwG4pJYa"D,'.V#"Ls^EW=PBۈQ@F&UgSMfuC] >+3CS1•P=/9X'-XQDsW3385$^q '=Au.5<UK`^k1P)!awՒڼ| [zL$g0*"y&.%8عe]*CkC6Hjl*`SFrɏlxrw\3eDT]AJnnQJLΡx @r-WT[eAň~lxL),y {JY̾ NB3"0y2uǖec0f+D/r9Q=wE{`(w/[2s]k_h˸QwX60~vMrw^%4BN'M)JI|XDO~FPr !y@{-cXRFzcžؾ0 (lkܕS^)Pь i[WGڶ!jȟ=k./g ɸmYqQUV$ aKCx7 qoX"G|!%j$z-{Z?UcJW;>Tb{Ŗ",2Hq|ŒI2?^kKy#3pvfBrGO#F !rAXԻe582 5?+^4 o"h̥.%{q$1 PUKnmZMoX+h"-z#EED >T{AQũq*"G5et4V]z(5Ͳ@O@ F4f.g^RfW&fo#K0jl &#PV (ϺVeyiyc\ʠ:5+e3U `Mո}ʼn_\ wԪC/1 Z]+<9u5Ҏmw8ƭyo?_U.\p'uP0 F?78>OjleS`-YM **mW}E恐ʮ( N!2!Z_ 2Ə8OA'.ݩËĖ/m;b8KBI|X9/*m=f[jD __M6Z,> [Fo&< ߴT'F|fQ(0!;.AIAň0NG]υi>U-Cr @7/b<;)|tyNlN7|J7NV9kLLkhv\@B@[d!^| # VnoJ)[9wpyJ9q\oW$m$R3}eK 2~-8t D&夅#i$]kNz21E"@rЁ!033eG ԧU풪\mhZH}o3+yW]?D~'Sس{ E!Z9bzU_\qHLW(sUO Ul crnTw2ő!ڍ"N9OHF{֜%Ռ&QN#oཉ8N/NC5+7~а"_9,*dHQP+~1['&,1/3Ͳ)8a~1xtKOT;g d&#A/h(d 'Z& B}2ik )(j-0kReRA/;&?,Ӂ3JS,0 ILbkΩgԻ%'A聴*"IU q3\Sj;r c>x  YZ