frr-devel-8.4-150500.4.23.1<>,<faqp9|^Y|1Lrglf9CG9DXuIMFvd}*"1ï3hP`Sf>wZ}K%jdޮg<}ro22KJ**e_8ɗT tH ?06eeR-!;>;k;?d   J5 Kk  D  +r ,/1447T7p 7 8i (888(99L(:;(FsGsHvIxpXyYy\y4]{^b?cdfekfnlpuvzDTX^Cfrr-devel8.4150500.4.23.1Header and object files for frr developmentThe frr-devel package contains the header and object files necessary for developing OSPF-API and frr applications.faqmourvedreFgSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/Development/Libraries/C and C++https://www.frrouting.orglinuxppc64leJ#1) $_h4:_ }M ! f#UC)*m%8v$*  S }+  ,(Q O! s  ^!6uL +l]|7-NCAn1 ^ O- @ q  { &xG@%&'} 5{ #/]+Ga i)(z? iA큤A큤A큤A큤A큤fapcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapfapfapfapfapfapfapfapc848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf58927d8c50a0ab8780ff9ab05db804db17a79b184a0f8bf15b4d911d11f3fc7fa361ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e55915503329a36731f0221b01b5253c9f699661c2f656d38298f2dc9aa87a08c5822fd713c8580ae843938c5d34e2e8ebad208301e96d1a5cadffad309985b56cbeb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71bade9f7d7fa468f6d97414d53d87e6cfb77540dc5d03f4a3a42f173d5493ab1f8a793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa11680947feec3308492fa73d3fcdf9b0865c0774572fdb287c4427595576afa9943b548ef38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5f1f5b13376a95d6990c5a4434748b21d4670d19e6172e3bd7e39db76be4ccf25b70dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714db1ff787e1e6b448fdd0ed463496842c0a5b19181308cdda3bbcb78a79f6737e3da33dfaacde641224913f4adc7830ae50943d88b1304008b1808d920e9e921cb1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d560569176c39880e4e12d23864d3d224bc4c21ae0cbc0062bdaa9ac230b95e7716e1647347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b564903d053f0f4e73fe174084ebd506002e3552281fdcd0a418b30c94e3db37f1af63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111de28934c5140e0a0ce88c8198a727b23c42d4e623903352d48292c56915d489aab60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e7caff905ccab8cc47afb63f25a53a84e28ed1efd64e61994a5673b5d7222e1583c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1da63eceb5a65a3ac287d9aee61f612c098d498ab1f691a73d3778f6f624fd9a45701424533712d06a2215dffb086690238df91f9a968f4ac100c264d8752fe8c1d6fa0d3fa3f983d4b79d7723e7a45382f61e432b323c2cfda66206f880b358fcb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b923c982f320422c3c7656826d509761f3552c9a2f8bff00b07399239d7665436bbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca50d0c8a75c900885619fe7c75d77b7cf61a33946f3556d6055e2ff0b49f7fdb4964160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e574389556699c28a616f1e13a482fd55e41395f9c9068e752b57f41d12327f6a53dee2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c9897553dff667c8851ba4b3442521f42883746c140a3d7d5903a0b27d3d8fc74a1de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c7343312e5c71fd2de032f9931ba6f22230362d9bb0638abc8dc5a7bf09086e0fa14ab4de07fc8ad5f9f0f875f817f0738bd966eb0df8d563337b4156f81ccdecfe20934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653ad6c969c84dc88d92e71c38757a8757853438e4cf378e6a926077f21ce13038beb882aa0653e686d5d11ddafc1a59981dc49ee52fce188e1e1d6d3e85ade5274c6975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf92ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88af1c2c60a5f0c9b403bdf3ca492794550dc20e7c6cb18ed72fb3637230a3199863f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad52159bd8d4694beae70da82ac1a377537f4c318b07340a5b7002e3d4224370262e118195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f0775461c3dd8f700e2b816b12bd7dd1e83db00b1d74e8f0dcaf70ad1f566cb526f20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf23dacea5c300b6c13f108ad461aaac0473e4918e014a4a7e2d0605ce39360fcab3a8805177ccf1ab9a7a127cde118d77e720eb2c1d06a04d131fcafee260a9584147b944377ad3379a703e89a6086acecd650404502f6c4319a31e1dcc8b26eefae3251c81beec3c5947fb2df8bc48b225ac66686508112aedba816abde8d189a3381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367f724a5ea0d72644cc994a6e7a40ee5e7254e6c4ff55fad7ad5023a396c47ba5228bfed601462cc2e7b69f3e09699d6eb384ea4ea3452092a41418bab15794fdba383a33c5ea1d828abb2e3ea5569f200e6fd186d9dbab58a9076e65702ca3172088e9776d4a87bbbc83d1f28373c62e8a8eb1eae1de0a13f916dd4fc0456cab5b59c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.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.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfrr-8.4-150500.4.23.1.src.rpmfrr-develfrr-devel(ppc-64)    libfrr0libfrr_pb0libfrrcares0libfrrfpm_pb0libfrrospfapiclient0libfrrsnmp0libfrrzmq0libmlag_pb0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)8.48.48.48.48.48.48.48.43.0.4-14.6.0-14.0-15.2-14.14.3f_f(@f@e@em@e?eRd/@dbd*cn9@cb3"b@aaaim@aa@aC1``@_I@___w@^z^Ӝ@^^k@^G@^"@^!^^^ @]@]@]]@\U@mt@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 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.2mourvedre 1717661977  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.4-150500.4.23.18.4-150500.4.23.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.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:34170/SUSE_SLE-15-SP5_Update/0ea57acde404d46fd222df4ca5c36a01-frr.SUSE_SLE-15-SP5_Updatedrpmxz5ppc64le-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long linesZQ_{75utf-8a12404ba70817faed16880b7f05c628c4a7c1ac66ffc262f9f061f135ced4419?P7zXZ !t/8]"k%{Huuy:?$ g,% SPvW2\{ncyyPׄo_  o1>S0MiA1 cG jVN,Ydu)]_y~[niQG)$XȯrqA2\1i5k]n: VRxpdz0f'Ҧ(A^AmsZy>ZdЭY%ܦq!Q2/f<%SЕӉk$@ac$ šIIiy3j {p<5A]񻁽!7h̃7Wa3F.{+ V|WkF52=')|\6%c0~\6{Zi)>Z-paLԙNUd;7cUoEiEdhWttI<[Gziȏ#7t3%]jQk 2 ,UߛܪUɝ K{`w55L5 +,/HO1>N ѝWݖ/*} 1_KFXq 2?82XLP/bp: ({Pˁ3%z*O+2` }hf~ϸwC̸,Y9CBhKDTQei/'= q$ V9H3̀i  ItG0:l^/׎l iC>4 .1xP oՕ%-"j^:YDSڶDЭN[ 4 l:~uTu:<6" g0.2Tw9gBdu58CUZ70ԇvLQ#dr h&҈"I{M#Q'*nJ8ѸVrBUbb_;1c?%w߉5VH>!Qpv3- (n5fzX}|ZJ4;!l0gRxO,9K# T;-lgs;!,iL)&a*JSIz>4<*j٭f.?dt ~Xk-؞u򙇥~F![x. ?CR)[bպBnwa1-O3)CYM?PcGE.sgSD UێCdn8`9![T'd%\7FwzVqW~9mqw{eW!װZP.o4וq̝GuюFIe9oAJMy}e;( YV!Be,D,{ ;?LYG 'm˴]N.R^)xY.I6KNDZ+U|fYmbKZJ3lKF/2~)i`ACv+kG9 yܜ"ҰZц ,Mj"Φ܃7N4I3|wvLMeTNx&qJJ|`a Y5\^Ab- =#:,&ޖ)*jun U7kBMnF>y RtEǠhۙEa4K,);:ᥱ+<Jlvl mţ!>Hx K_A(AC ױ.O IovA(XSqpR͎UwU颅ʻW5lQ3n#weOVBJA(Q%goM~EJ%Dlޛ@_ADC^\g)3-jV/?VYg?dhuEߴgb3/-coKoRCSy5%A@iO gU.k\PY(b `㙮e }zA}TG})[o]QC!S]}^VO|b:TQvmHqn'w3gu1Q<H)&& %$2C|J;< `_@MC=H uc@+t.ѳ`yēƑݴ`cďVP>l6Ol;ZHh @4oczq/~1s/&2rUOa"Y2jሹ IT})@kX=Q@x:c.0̨SIPO@arBWT§AfℋCwԜ!<C亖EVRva簃{%SYL̅2'YޭI:IbLĔK$P*pXXӖe/q>\ۗږ}ȱ@T/7Ot|j)bUls(79>FIv] [`O/FtO6HR3"H ~ڦzN\b)֤c?gel6ξ,eCgܽ={vDνX z^6"}R{yW` C,׀/K6]rf!J6$$ީ_DpL4z Oz_B:8IF ۦtӀ[֠]ŠXyW7ry{{cp,?f俭L42}fɁit.n| 3YGt56B&c,-c @12ZM#ς]qVU nS~Oz}@Q̒ߙ{A>xܾƃnZS狰mXz4#(pKkKjS%kϳ&]\V:m*ߦ+l$$bklbB"GLZeņ:wKn MkI8 4>XieFqg#Њxs Y[r0%?OV X/dìlȉUI.y V1:yԷE5y5 gNOgEvA7|Yfkgo5D֙Х(MyZ/>Ʊ,!7 ~s_P9Zz}!>XLZЖ &eMu7MU =dmaXm`2aT>nb'U%Z@BZ =X?MZ:I11Bs}>1Gu1R9oϿSwi%Қ4]|_8{ïm*wj5^=+OԑiW8'E϶a#\'V09ѕpAfKxO9 Dh*eZ=W8d%d-t;RkFυv#l!zdM᪒WpƑ:}yw~$MTZ_Jn}hdqamoغ<9X֏3v]k(0{;Ή'f ]l

L!Rs} JMIĦ%z/kU/uŝQ5M _<ҨITҥo~_k[<|z%;\v@Wd!#+<%DL#,2+R'):=TοDs=|[< h~ GE%r0(6q{"@T}uRAvV!gW;[ۦYmpRG9l9& NT^zuR2#/G?I9u`r|ʃzߑ<'pj'lڏ2q[vK IUW:aꎼopdʽ\U9{ APJ69 <&o8ѴbWd)<"zu_i$;þB\X ҫ hyX_c]yO\aSOs{ D+u2?Qڸ^E؃[u%k*7N O[;V~ܲjq=Kz,ɬ;]4el*v:wdF)ez~n6(+lWt-v2RX'[@5eYgw?73rzM~#vY,i kMrxYtߕ2,?nd8.``ɭtLM89nk$p Ϗ ,DBn67~Gf@ aTz) [[rUQgI᧥^ʼn3oaz16Y}S߯F51L@@-vewzgCz@eZ,Nfd %z.i֒Js4۩Q!Xs6X#'w47'Jbx,p X-6ԯ ve`odo!.IE#:,mje ߤ?U0?$8t燔.j c]>,R;aE1ix/L#$jb [@@ֹWĝ cl_MY~,+2)sVy\T/JR`1NSa(D{lYI7y`&uE50ט堩!LSڮ%{ %\Uf P#t%Z~Pr?º4Y LL(Dd>^D}lPNzj*5w Z|?kjekw;ro6TyQsBcl *SoԮ 2?е{ }ʿ&HQ%,â+Ti.Jv/PV#jANfꑊg )߸C)hLSo<!%_7Jl*!WKu(9Z-HF2(obAvYwƟz˶zC##hqedF}j,tk\߁ZeDƭׅJ1[:Y<&DMI_31ʆL**778KDZ=U K{.Q;ZP$WiӪn.%'XhR'ir+Z-iR X=B4tj< eXH$g ߁| X@3сuz =ɝm |r ׾m6b*ވWN_8GIu(sm{t{˞Qh?ܽuXαU˻X;Vs/X&xmS!G-{3l`0q'e~-F9]O`#phw;xsawiRtPOG Sd6ڥy,Юю6[*xV?Y>ȸ#[S36(m6N<}) Q|QcC]@BJor#kR.ܶk(%t4Oz``0$^낏(&f =9f\qd`k;Y:?^,,c2-)tXÊ3u{餝@%HPyJH[.a#r>i3uvLذ5viTɓ;!bA4=`xG]͗-`1(9AHz-{@,bġS`~lނ 9 MFy2QD9*`h@py`Zў/<KC@9Jt#1=fp:z{Z'N"Tt4D'ڋLL '@^E~מiu65̴x[[%l =L47}B|Zc`ſg{C?F";RF|^֨j~){%#2S:]k,Gne[%5i]Պ$N7T"C*&dPIz~6Xr=w<#ӳk%[PG옙o0啱A0eKx1n`JH &SlQl[\)]7oBoxzwf3Z ɾ|kC޼Ù`j_X$M5pI"'dslϦ@i5]q&< WhZsw[kFǁ5I~0513n}3ҖOriiOq W o~}^k8k=on|Fyrzmzsh8wOh91hJˑ+Y$O.w3 N2E@_`MCs5 Fbӫ5K ,ShU6,5emitCDŽ\Îb&(`dmzs !Jovxi)va)lm ZWq,>Yt[CJ4[قcGdߘr;%@@4K qr$W})7},K,PHݧv'O 7He`{p)ޜ q ܨ0{\}r/I RT'!^Q STa t3k /WxM'/ݯW9*uz L%XݍoyܮZI##?v=hU mPQ[s-G7taӬWa)x$Ow0`|nk>q$w5;P?>O]Jc/*۸zjvZ$Ҩ԰QYMLt̹B l6U"RBՇ5]_$NQsԅ>m2ߨg^6^THzX>S$wޝsJw;d֔N0΂Eᨸs 9 VW'jWɠ#)0=̷+U͐'XӂӔ{(ĐsRTjkxg-ڗ/1Squ.@>ȝԘ] ~u:/9E\cm:g]b0jEzs`l͍|{ ܶoK嬴et>W۝8NXOc9BKs.ø=2)~eRb`tq'kB6cܮĦhه /Tvfqƽk!s:E!HX*U|Pnv=]a.ri{0KC!&]RJ7 \s/hk*ΰߴE3UQ)pӶc\"s@Cٰmfv |Xq7៳,0U%IK_aY7jy*{@DXCuz9 Wk5_8r+# k܈Q-::u$ݦ̤.c\4^L_W3 Pf1e}܀5,Ϭ cVEX -+BvR'|Kب~K_:@haf4'^Qv9$[JPtoR4Vo ~NTm+M֟'oaVj a[.X=՛Gc_w u]Jf ]52&g0rrMPT𔪢*CL^M-1f _mwr$d_P=Ñ*pjxegcœ2kp_:}LIZ@єs%ErM^&*`e:Ny#wR*("ağN\-WoR8uE1W۴ke}ɇz7/ڧ.-,]%R܉S,WךHm_nf q@]SSޝEYl27t%+ .9yDi҃t Ik:{ C BW:vEzmaID`cp&nyO E/dAfHmctt摱AÏZ3_Swv-[mS=Nc@)yNjk2>z8@L܁(%}/Ծjxnd[!'}K@-މX-7CGߠ (⌦j)=&q\:LVjsYy7D0ߠN `첖>/TZRA%n-jX".5)Z? OxCD>D{ MuLQX1]Z S,w k d]B,)"CZ1I4Apfi6˵^vp*A|E D;\zx`9nmڿZ7=2ȲkUN)2lŮ~n}0˼+Wj3 OW[Pnq`б\E $wBvxejs*4\u\S:w.A]37\zDvG(Kߖ697ZXĬ9%L݁TyZhcK n:U`"<ş+%cլ.aqyzA'*KAu Fǭ8rSHD9L~۶٥G}5Ps*2 ?Su `_[pb:%30ByBIyƜaͻCSH,Ba? xD]mG)4&գ,)dXE baӀErA"3Q1KhJo}1l ɇ&A$ʳPw.OJz]@"7IV>xGA,.O0` ܿI actM7$MwGB6CܓbMo8ťW~dLD= tѴ֋޾dTU5nؒ5cOm,\ۚ%N㔝/ӕ>?c0C~vǮ@d" ssʝ~P~A:vYG+gX~#ѶOc{]貎V7{50*iP 1#'-)w R) e ϢQ b]+`ujrv S5CBmďC6,s[q@`"\NRR۫ˑpTA|pmݮ'Gf;xzy0ɞ"?3s9w/A#ax}cӥ/ ݚ}m3g.+YT<)@JG8=/ڂ&=Xikx8<0) ]>|*0WG )@Cܰť]glX; +w[Xdz2& ?yL]8"^]7">B5w)VZk  H@hK5ϪOL\4w+Y925"RbRNR0S3c .45'rs.v;TTf{? k8 Z⹥J$|~ &oKP)OIPZݼZ܄WYG4SM޹ZELM(H$ZN.!h#"? TAl7Ki`&*: O&4&TkАNŝX@򓪘lr'z^a6Vxo^֍zr6\MEC )L#N \ $EAgORIEr5soy(k?T汫NbJt2y1 Փ?R0n+𠚱ۆYݶE,P.s0X9 tIQS3J*[$#ƥ}_vl+]f@_n/_WZ t9س<{Turp\6D0tvJiJ;JX\^)j<[ko܆btOA҄WȘd..S?&%8Q{mcd|=zHK5p ݼZO#/[ȥ%_ilƸ}h;RH5;s*e%h;l|-}q%Flnb$7"{人J3z;'@RLq+A @7zVoҞPz<6gǒK'1(p1E?CaQ\{f~G@҄ܣoCU.A͗x$;1?G%Z2ks~ҧq4}gCw_ʓ,Z`!V{Uòކ>N`ˡ3r&ko2x !x,T"/)О#8g+xWw\@{y<!w%YVկY@=q|)ZYAIhՄffyXbGbfj]H0B8Btgᇉm|Cڔa0M+4GYb';vAV`u٫\zz6 ԕ¯*E%,uFLr"s~mHQ_nZu:V-_4̩[uv Ghsj0;^96;B*VFHU2Be*BB}McAn֐si8KAf-n'#X}/ ¹H䡲dÓPqϲ6r?XX"O߭ŽŝFXwRP>1EsfnEl]%ut\="OD:ڭKn\OkolEO瀹ROM`Oe.P/mHY#/Q);»X(z_LbE tד-9i/$z~9A<޷Ҽ Q%E &S>Ԉiڤe[3wzO q12{a+9w-AzQc/@YmB~Ͱ8"]$B$?`Y]RQfL F'׺-uZgG8)dkIE~ZC},T6y>]ÅGRȢhhicu_z֕p Re|*uaY?WE$|F*?Tt^oC!;'^бEE!8*w-}ޒBr:_*B*"=orTjEq|`rm!JINO%ַNN_o~)m}Mش9t' ~/\FKC^a;p8[Y\9d'vI+)}Uh}\"ϗF~JLJ|2*$[3*Akb$z[J0^".V.I¸uۯ@M%)A64)!4xK̳ϸur9kVV%2pCb5ntc]/Z1V_.3q_;{y`Fq57Zt1gCf@[=.m3`J OڝK]zCM0UB6EYC{l:b eL^`)U[6"fCC=-(݂~?̕r⋺`^((8)'^F˨`>kojc^nbU̖rFY=4H+p8DZ[ T'WR hŹoyg>Oe Iһk+W*2?(6w 8h2O 4ualENr#`Wϐ,ޙrz(gQ(<3Gam\+I\\VNC%OuW!WE8O} G TuW?@,kN˗xwkИd1DdǵR%3ʦF!n4\H N?4h*J|ԝpD&BShFY4໋!º[vNZjޙ g1-] d *I VvX\Q"y|v=>> ^)Y t8\-aM))yI ?m]݄N /$&dq:L]r@"C `ϧhՔSt6R$bGevGCA|R#]4jGXS {{QCÍ(@af|@̓*y\u#KOS ZUc<?`2ղ $< D_(RƵ>%j=gTTzj!B/րEV[vL/^lqԔV2,L*hvmǔ^aa֥‘[8maI#伪$$.AB(|i g|;[S*eq~60ݨе9/?j?!K#y 'RgKPr:uxM"Q|Ke8-Ca@x]ThQd rc1jZ891*to8+TKKnMqz RrOJ"/ykӞ=e=FkWi `6>.xKv 1y3*j=V.N W]wYe. w@@ݢoWz XSo7>{jDಥG'PSXg?d=ԵxB!܉[זEcQhe`$-o 2Qw9fWP|V3Е["Dw(YӔMfOW3!9*4ox8V}}WhѾ,nk-XgiMV<3J}AސYb! 2w|1CНo E;֚Xw%} C͌;@t_)xV`zy]uLVlÁb\,q1#'SE>e oC'-B"VٮT 'eMomķƏggvݥ?MV %%XBZQ=zrՕsNZ/ٸTC1Q? kR w G&v)BݤFDZ,vD${qE8>(X1H:?(9'Cdd|bL?!:Vt9*|J{OuA6뀣IZ>mgRݼ/*~R@\?2s|d=exL;qK??T1Ff)##,L\߁<jN]VXFcŪQ&9x@3C@0RGjey)ulHgdeLHI:/kKp)`BR3ZTSo{V ]{xGI,!Rt֏\ȹ%H#!!g6椴4x/xSu| ICjdQ7,BIJdB(`)΃]rrP0. ƵXgЧHmמ'F`Ry&mGY7i]4.kZF9C?G^|PɅe M][o? Y6Ӎ34KpZAun ]/zHUƙ{w MyU6szIgPd(وcCYÜ2 }㦞,W@&)J)\a.+\qnbi:Y=\;Ӟ ۭ s2)*AE\ACVSlD7 7+`yWQ#09V!)c;8cZ)㽃5jF=QHQa si2cm1IqFt\FW>iށ4H :ȠTT #3?gP>qV3#sbV wHgܓx[+PG2){<Ө'ʆ@KleIʽ-3X~9t?d벪x`J;\qVtDccx.߁!)j`&H[] oA'/xtG@$-<P}=mL{F,a,q,{6:>~Uk? psA_,HjGN3 v,rpX' nݢn'P ~Z/aZ3&b iYj]>EDLiƱ;R_6Тܯr9j p!O gg7!7$X..9=SƮy_{иvpD[(bJٙڔMY5z:F0E$< Ɨޙ%"Ǐd$} $D%n}i˲qzKbaxLsȭ5T( ^w wLAFK3TZw 6#L|>,}lK?/>CgX>ОL 5pXY.tRdHsKÚƮתBYc}Z [p0QίSiRgl{^(&\ }[2DŽb  ?3]?J:9_N@q[gנν4bWhJXhGJTFlks <"IUǨ?l/4%E}L1S5t ;C>rm YâsOWR,Ŀ (8xdᩬu|69ic7:$fBUczaSMTX"ߠPrv3 $cYyEo6/*Lt|X _UkdAܩ{(M0EM€mxbO}AGz$q {zh2ȍp&_Kne( 8P?s܆y4s46qJ5vwxMUˏ$S8+B:p'Yy!6S7K,Mf4}r#*9Ecy3;wڌObz'!x>8 w+Cfp!4zQ*3q dQiop,bBU$u)SwUx+hS}Tˆ8BHYZFӅL `@YY"/JM zOp%aږgpc*Ʀk7>csSZ~4{"3N'dgemKچճǰ%ZOASEf0ٮ$hb@Vbcrm!Űdvˠsc8PAoY%&'>,\̺\o-)TIJ P_ =$kJ|``2gA@ D 5$܆ xG S"ʷ!.i?3%$ ac0'Qzo|nYCq{1,^zVzZm+zuMC \rWVx-(ya3#`Z$p쩅`KT#QW%,Sޓm oJYe KqLjz-]ʜqR!ۻeLjS^sǙ1bi<Lp5֜;؍4y EJl6ʈ<2}]*3$n}pФ1;k(vrZ&$3uE+^: rzuՉ\~^S 5} ,5͓!k[)+ Qo0Oޡ3~מF۞hdu4Ym1(nSTz0僬:mEܱdؓ!סuPdGw荥Z|߬WмN:8/KcXELAl->=ˈZ@ˌ(*{K#plgC, E^eOݖ2KP@=:l 膿40H>_F<<;2S_"Ķh:muwb-a<ϹSo{発R#ADƁf>ӽ'w%` ţޮ ez~]ؘ&>4wLBkW)X}pCYu"h,|LiA<^E&+MBV8"]41`r^*F<0БfJ]\L UxA$pw]&zVWo5QK0AO# npY:. ˣ )PvBi/Ų}8BZt8 ʰW@C<N&vV kLYozYEН ?K@U-p@GY]fBӳBG2ZsRS4lcxSdѾt|bEv,'Q~„?xHȒ~.گokJ\Qϐ1`ej@j< )@`Z֮ ij:!ɧZH2p:5Xb4 ٬#GtmZXg測 gFfc%53B.86}` (6K$]^h֠R;a_mhHjo@;>;*ϼ{GdG4LίaY5J#KOsd2}#"B{]ڠ*{V82gSƋk|g+-`uBQ VaíPY=!]?ЩXJ6o6{gL- [fq&f0ž.Q9,'mFTf(4B{RAd#]{i}D$- :fP^ak|4"O}RC^AsqK$_8:S=)b/t7(9 b<KDo0Uπ!h-39]^B F2xFl4792Zvp`(,>jeR?n@CwZ!|u|@P;r;N˯[}*<RL&JוrI }lNWv*,&%!Um+LIUW!XJP\b.#+Ww4yk[L^zZGe}㒈'ߵ$@!cQL'. ^o URfD T'rbR19OG9a+"sb762,Ң['{czF~ 2^k@؀RLoYni/K\c }[ $-b4yӀ/J.!_9Y~F& 5}'՜c4$td|;?|H8;Y?IPsTT: }V6zT[91N5 JjY+(0Č= phJXN34=ҁk F.{!mz%|"L35iˠE)2b6(0?([[`Ѻ ԙ El$>KjxUaK"嘫=ӫ_ UCG`p(`۹h'FnIOytWg&aa H{ 98l8 WO`;s4S;:g:*V9෈(~j̗,xz-]; 9a)9>s\4(ݔo}:yNE |t 8,%[+t~#, <%P {7% 6v{c@k* T_SuX&ȫ˴Dy Vxl*V'IؚiU,* f^+Ee*\Z3vZxh8e ) ޖMn+5X:yflZ]p IsDZ nf+1YtQ+zSv@!-"?"1mBMI / }]wBj:5d ,)T8ƞ*ڴLz m42cC}]٬Z߄t?ֽR$ߠvMf+Rn>%TYBy~I vѿ.áKc n+U8s"rX t#厴MMR~L'0yslJW܍nV36!2&t?%ۥ9+6!Ca 8dE7 a9>,=\vv9xu_ 緯 Wl1֟|8蓣íD:Ae#iT(ڪ&>bT^Z$QdAQBWV*VLƘ~0q1U a-Q I5[mE=(T= p $`~tqQ]^mwC##sD7"z)_9*CY7IԿZKۍW9" r?9Cù6G7 Ne5*b*  1U*EgkPxg6ĺYUԄ o&jH9OIUf *&9.eWl%x]{!Y(:=V Xn0EXRM~je\ҤqA<:JG.46+}`N3oǡqh GT2z9?l9[XGgz\pWc~kty\яHuxjP]LA9Ԝܺ0/ƶ>\]v}<|[n˝ĈЪrK#?yѭؤ@Ѵuqw K{d/ڨj*-7-=ˀ?#}|\,YыJi&;BLY|c,B+LE껍EPd7Dp:-|BL9#sI@ "mm!ǣ 9ҁXCL]IE/T5/8%p`M̬pg^Б[zՉsc:6='Vr8C"r5? B'8m78R=9OGd|^/y8b!gф>@GQVp4a 2W y&Dr0F`Zrl(`)5H[L6ƀR!I5/vC=\zґgwIHw￴5SB-.Fʧk*LK?l_j ٓ-Sb|~";Ń)hF-r9Ҥ]f>n溢mGiNIᨠ%uU"~ǂNmjS%Vc˖,O!М*DIYe.W\b^3,. 91䰙?v$M2@ףJ:D!o*tJ]%ȟ[$ ć;7X 4nn sls tc<. %Et`p['NR zwy.* ʯ`Q]\Th_ ʑ"\+^tD"_dM.Ol5/,T]ǹ9*'`pm[հ;)7:/p m@,X27DKeɚz<'kP8TZb8mdhT@A}!7ʜwEdUG_au UQIJЦXOT|4Dʱeлu4h[=|EٛZ n\> AWTfFb0"^٨7~X #Jq]%'~L71[=*F:QkTW?I}s yŭA!7!xŇsI0 g:Dq<=k YD$5VAY baއd?L_4$BhY˺x/[E7e?#Ԇ٧9@䔬 ?0טefoi@ғ+5"K1:MS B_ҹAw?Gܐ$ӱ5#[EWYvl ǫ=}nu4t8UZc,5> E9V/ZzM$ +4ѲBSg@W2RP%Kl:cof^ixƬ"P#$V2cf'U},ηbo,3lԠMTj@(cVn(6kU$pWSioo%D6Qq,qUz83hHmti- cN'hĔtɤKF֨N[- JV?`0aĉ6I,Q@[ !w9w|{Ib@-s>`+ 5p^ Vum.8Nv!2Jˆ]Skfh"CzX}0q &M=]`bKgFǜ5ՂfGJ@.'TOofEYWQk DE6/8OrM,#~`?Eu?<epHyY>Wgh~ 4; \f;DxDO >ΰڪtrv7'mf xTÅ=0W|8QU@ &1upB'#l.v⪍"Y :d$0=| 9 ԅǰ>۪Q1$F?:2ʌֿQV$!`gNNcJACS/IzʶU ṉ=m3Nޗ a:b&XnHR/r\.G_o&rlY[YaCMU5R uBCZs־KR1YL̡RV1EkX"ٳNQAm=+U!rʒp3EEO@ޮIw= e8cu TtaTm`PNn2 Hk A |Q B;Gw $t*>3 &:?)1MSq3Rcit6\yv3-ծnUxMS6Cx */F F^q,g:4[Ea1XuF 3di$lnߊ 0Sz)U36ZBN-fC4xdl uReksz+ >4,uU5F!gWzo)x;v#>bр QqkhrśV/~#Ww~TUOƾKcQKON y;xԉg/w ‡~ZDFk‹g~6*Ġ] |SB@-ZEg=KәuU`Ӈ;(?=}H7ggLRLB!@Ν'5teT?I=| $j (!! ybO`S78M1hQ: /F )o/-@O :G&EM>?)`=I>jȓ,khU)zXGtDS*osVb7W)G)'yr^s[_zW=fjv ڎ5 <ޡŸo*6X)N=Lj MZ ,gǤ?* ;jej+merKQ 67ռPBXm .Ix=:+aUr@,> 2f<|Oi~SHD:,Ax('lLNtSsSM"}l֨1 | TR~_Z8gqR*@h&ERD翂{nfy DSCĘ˓cBQ~03t9Vk՜TF@ RikJѝOݚH?u*j?>V{^zꄣ v]-͵FTXhU ^ I:aT{nmJ *I H_'BPeC"\LeF%ؿf|Tb Q dK}s=Hs3&ވ#pHmjcz:^k(z9El@OoyKvzl2sK TKXVH{4-[icB~4"W@Ķ+DbK}!iTIsf?1ip|$s~>V5`)O#*e(Qِ_)!c{}\mo>|Y#qQHTE8|gs㵠k"cL+W |'k2a׀t  %#3~.JgkT1>f2-p`&X:0k&*+#$#2óRLI; t`K7mVm;o{A<1 䅰rSW3b24 >=2-afMRw*hzc-qX;7Z]U wdUU7(@a(~(-l̹]EYcvV pEdMk qF8ۯ#}>*2 |[YZ⊳>Am"W#P;l"wo5-YB,i xJa,GB<פ+xh8G%K5 {N6deZkp$ho ! Di6c,J{?0tZcjP.d)vVS8O'WQȖ,Tz0 *vVOFdچԄr4H% KG6[Qf0}gݗqff0S +Yzt:彣>|xt^S{@i:窈*˜܅@KhH8~Av1Yqd,}9HM[g 2BwڱK|Д:צf)O9dYę/ѩ Wsp>f5"DžT:'a։Kꇥ'h([qIzh[އ2czC y6 .9]9XPZy;q>ׇJbNKfSE

F s ܘ9\rM6a,:)H,ɪzҸSxpfeH@arϢp`Ap=LSNM$+v;,(L Op*'+&1e$0ozf6'1W|`7Ӗ'f'/[B&/~.Ir # \!vW8f.oRpvu-@.~_Tpcx+@uTHNH<]6g.n١$[Ta/rv=\&J=I;fz8FFN1l3Ш˾N!)/0;~$EU8D[˗3ݔMl*"cQAQ,jL!841Yt=cD7~ 5eW{۶Óot  ).$u ĥz]@$KaQq}~慎dq2}]H|Y>C0 yancn8ly QǽsQyGhMx\`{\oUF4O.%W繱dݎU]C_ # =VZ|՘xجo;tƙQ^^fU\N= *e hL7_7j4&rDQ 9|rRVju1n.},"XSb"|H#)ZB*떁vHW*cX>EULw++_^Fm:KfꇐQLuflw9 ^IE[)c<0yr4Kbc|vLwqk/q+ٓźGqe$kd5d!J+g,gpI4EFz[cѿ485%~P͒RiF %w<9cF_/16U8:V;G/r] 0$,O6/L9>²`*AUX.BE5|n)3*$V`sD>,D!G%8Eٯ693yRpA9t>m{Pt;A6l7<{-0sSB&I|Q(81.Q2@iݯss!UX/2cl,/ /9˸)$}[VGD#υjjajyG+F֓d9{aų y C]Ƹ6/X.^6's{VdzƮVk<]. ug%qt_[M=2x[i$R Rw>߈bD.:2]3/=H`ܛh>f}L3Tc䖇N?t" B9ɤNA?&1Yd#dcZOW\Չ&Ř w)B՚`_h(6:f3Cc?R?r 3DIma@|Oq<%:@G &[Rl7n|%[1LLt~ p!GC 3?R;IO>zd 6TSuo?0gB/>99ʠS aC dپY2o.P, $ &hGpZU 1"V3 ߁`cHlI< gVzj xv3OJY)?o%=SA'y̋$^?zT疢[`8igY fw$cX+Bl@@2rq+r+g^m|Oj<Ãߜ'u5gAЙ/~Bk.USQJ(I4#X>ccXө/?hژv8;hIRRP+ ꐾtǂ`bjnu6m/^ &țo̓СqIC=27Kɦ[ۡo1gG%Г1k5s?"ړ!M؝qZϫlPaEtQtEsU'"$jgG_M+QӭHEc8=ivO4v!ܢ8XVި}CK4M_So#D 6H|KW}`nFy> @D6@eD@Al 5lN do(xUکwܣ@ naiev.r@gr^ ~Z{}M5݋҅ѱ#nOkNxg0m%ye<>Z19 UpB!R՚YU| RvE3hD.vu8 p;h:Vġ8__ϒ6a=>znFUe.2mxhuO&bl'G{pSc3Z7^[TaK!wZa#Np ca/QE.7Ie͠VB5KT_ej˦Kz}Ց[[=c;z!Kzo:pp.y_M '5F39"):M0 @!kVXI.q* #gJUV}?Fr_LpBdq\ad=yjDy6WU]yh] # JjЗ3ab_;ʅI7Q5KP5kxHh˛$י1!X\I뱻n q!s .UC]Ի}S49JK,P̧OM_ )'sMW <.XJOn*FVtnKA#w16,҃>c>4חܑ^穓#$zpL7;Eq^ǦT iCA:+vSCS :OP:;sfV +1=rM F逛F\4z# .STыu,w ˹!Xp oCA `wdS/ ī PVZb &Q3fȋ3;Ёp¥$O~sC 5ܕKM<5W(ڌ-79AKvE]&q% {ZTD㚲jmsԩN[PûGwkއ4#$WߊAOC9Z.}O2+rr=E,Œ[b,I-WG@Պb\QvF }}kd4m,ĭ%ʚ)>CEEկnç'`OW ٬6YV]A2/Xe& BY!d}4>DQ#\ 7=YsdO՝Mg2y4e" JWI6 B"S =(spªu:ѧC5 ~9F9/߭2L:`x.jZ>ˀ'*g!x<aۘb(*/}"n1y\{4a29㸽Ir :06Rva*dSrp1{+e:cc&4-$ s{Fq̻HQ;.Y%V]xfo~uv33sDM@y 7 81rİW$@M OƟfURguM\^]6^as!ƴ76*N>LQ~ ^ݢwdbHAV&Rx,a&.'^w_E5RaRNnhߦ!ߎ{05#vb̗}/p8OQ._(7V=4ҽ=zO$!ulC]dBxI31F6* QՇG]aiApaBNuAWVB\U"i_U%x0U9PqW&/7j"cyNnGDi 6jh C Wc^w ]21 1rR!# 9Mi格 WK>m3sNG%nRT{j7Bx绲y䀏 m*(.uZ,|Eӫ\DazڍVa`uY{%4*xdYf=қq$& KV11vީ;Oiy˷nډlC.2qu,Z X s;(#\f@O̶#L2/08*uJR] #]=٪FWP %~5 E)riGO ~#E/cQ=E۝ cj\ds󅽳ˡ|,n/h Yn3N4ӁH5|t$zucIDX- @[5Z;' L8 |&.[̈'^|g8|錛b[8 MW`IL¹CLtƼs+׌;$󳨻 mn$--/dc⑩“5gvzm<:itW=ef/Ps)g)UiGt5 (%UT@If8x a>vcT*(I;7oW9Oe 2DH1ذ*e4[>bT!M$f h28wQ3xYԺ劃Eb%y/>ZUFw9N:=<r^L<ТS:p5W=.)vaG1gY&ҁvRt08}mr. Mnj4NO0tپoRƕ7j6?F-ms}Q VE}6F*egFI"Re]RoTWO߲73X7 {r/ZJh$u t[UtZE_NGAحC|~QmMN8ԋg"#3| Y0\$ @UNoulЦP43q(EѱUC]΄iT&x;]6zTIwJMl6qfOXXqrm|BRZyYaܐ K:aj5LմK~p%B-q!,BFlH  ̐">Dg?bZ,( (^F$*T謮sa_ЪļQ"*GK: exf^[B,yUBS1t W㨏 M"xu#dbzI+,: @(` سZ1](`U'Uƥa'cKP/(DaI B%P6C-=pZqꟀX– _4Psܕ%to{"L+ד٣ɲUHʤԐԤ&Q`E,3i==AQK<~x;" @L\Çn]w*)xyrmq dI3ڸuT{\ @o>Weя(c< zB bÖLmWbElH c50d}]xs?bҠ| ;:ףGEWG{J>)=?RSy,채{6h$oKLByݣ lKk^v (ԥt~ȉYoH۸]KSu›g.T l0_(?򭑈W(l3t53%2WU\Mͬ`^^dAֈ@elk^8&/i@[UebX&jfKTwl67g;R+ղzؖ[[.N*#1u@' RJVUϋ`6l+ХK՛x4> ,U?4Tys0{)@Nо9H;RhlםR+ȶ%DF<]p=X%[zWNڍrS'`*b2͗yiȲoRS}AGP%[*O^V|_30ơ&>.ZyLgLs#}ȓӕ2-!`M b;< 'f*%aa y>@D|Zg[=ԝZ2`{eD j%Ԩ| \׼5a!wOW4%5PߩwPc%n]=^I8' ;!u$~/ļ"cGC◀޵da+cbκx\k^||hևem]Do/W.2܁ :&DgCsv*;9cԚܾ"䣊*1gZ POI3 dfH w{b (X@K(FV]ojJ\gWSC{3;"La-StSĿXCiS[x9ep6.N"r`8G&FۭMכ}òDG}o4&1L_Yy#mx֭r 9a"2w"P\C3wpPr\V3=  &]_u\9}@߶g]uMA%L8 8i\8gA7;*4S.IYj_$ᐦ"N6'i@v@cN,#  n i{@'zm`F +$?ґYVӽ k,! ,ND" 3y/_g7^B<3H[*Az^ɮz:"-s1ʤ;auKV!է!Ђ >e!^n+(R@\Ws,2e6~  phiUC|?TmC rlauZ*0 Ґ2rx^tO8 O,v鮞 a[.ZElT`P Jcu JNj9?ӧ`T [ \77"Da=6mfuY~{CwU肑2n彥Go@-׾QM}rbOнb6j(1,wl )ucԙaJ7-m5M7-afx$hՔwͫ~ J>| PLf%zHNis1o4fk6YHTt7 w&q_b {͖'4}GGwARUcsJhٻ" 4-q޵+H\4%ο]J.ckDBݘ"􊴽mM^_+2DA:F} Pmm u>E!WzE՝a#Űa;03(EQn1+X"g6ZvSPɑ5zep֞9ӽ+T,RM D1Br;W7, vv0Zv 2};7ovU-{8r+;g韉x"}Ll'#:fuqf,~[fњiqSW)wswTkmTbFn,-`JMW]ԮQM'f_wf-NI@h#E"LHi{:n\+ zZAE"?Uh:np.=f-nb> <<8ˢ͒>{ڛ{R6r?VI[KZ54 :BΤ b`j! tE/to:ajxR27۩DǂdطTIpd»ǹSelnOx ƤFjŋ5m},BT|h"TqI!,afL]Fk ̨ޥwo^Rc\S::Qz,˯pɠ9t7"{HqPN 89lJ1]/P0:\QU(=NVhfyuԀ,-0:-aX9FAifp/oT7"d; ;R< 5ײKP"kgj^n\r(9BG;XIw,= iojۤYtkFCKTEjY$t<|>+4c~irȽP[T3hw҈"vmX f5wreuS2G̒Ν$W 3^lI\//Se#TҰPu숍1ae4&+;⹥Z!sGԺϪ Q'\]V~dڇ5h,Mr`|u 19oo L)KIJ#(7'C&'tEAbUg'Yto_!>YsD\BS"=StFX{ O k9;iT7,R, + ZKgӧŷG3CzcrE3WbτuuVVtLɨOs~oa k5-۔O[!qfB'SdA 4ޖ5"x}9d]]F\x)R޶/ }-%hFq`D?^ʬy/S~$x&A#QVzv߯vn`D}pw*v3n ! J\І\z#6 9t0fc;{wimȔ%,cVȤ&BATG<*9`[:5#M3KԪEjh[J"pn-a3D7C^U]hՁF4,JGK7L̵9Oi%½pK) bdL%k8m)&'Ux#NdWN8Q,KOm U®j_WN#dɐ-Z__ys̚/cg[sh-& <8q)W}pqIjW~ P )21QV|?3Ҟ05^$YNurU'8P+U,='lHjuhCHfl1cm5S^{ &!P7W0OS4\Y=9~eu`-Q* 4qoD3OJ'$MJ`y+yCrj/>)hl#e'Ac.k>vDZh+{܋Dsf297S66$ƒ}  ,D.Kp _v7_GLlI7~0mVBc}N1zsIMfmчaV7>lJ>Ne$Qw`0vD.k53@*]vMx#^bO:u#u- un0Covɿ=IuzH1}n-oA,yΤ ACP~A8Bs-[@UR7S\DK&~1o(Vc)4;}{'l"E JrDk7\o-;oFީ7c1 }{N)&vDyR9$qva>3]I(yֽe#3`!1B!dr-<]=İOg=MC3V>Ҋh [%0Ԭ'`#S&IzW2 _fϙ.͘WB@y Z-hV!60|F#L*U")hLZl͓dPw» -.9ձ&ZҐ*!Rl 'ֺMsì V} An]kugmo\ZiD9$_K(FbCxnIH=%m!#7f5>hљ?5G y젂dY 2䷢H/}x!V4Ԋ5 ֣o V -:#%Vd ۽1+ U\cOŭפTOEEnmEo {Ӕ+W T8FLYmO~" <a:B0Ɇw( ~h/} T3'EθS].4ejm(_)N;$GL kῳ5S;)}g 94}!>pލS/,p]߹m-MzL TwnڂG{|/kN!9tE zdb D~X]fW"K W3Y0j|uEN,J 5 }9CݿK !U]sһJ[5I5ST avo]Lʚ0Nþ[fvWDM3}ծ0&9;>n64/Pi_6KF"\H @w0@Cwx4w8iK~ *sg&$s8(3* v,bO56TR@&Di}Ⲍ1P4p膭36/ۻMLR1~' H%-tAYg!k3 M݂Ttx"q9s,^QANmeXl[!R1rٞFF 13i7Ơ.i7⑄!lIt|o\vJFe),^9gub-I:`2 R˹d88DZcKʵ$U^oĒ72+GWYwA"P'}Hc*7uN{QM躁K␉Zps@344H߫H֮dKaO/_:\w3ua5+!PͰRjD;wt)@"5 ئbtrT Q۳k ks 33~LwEt9O`UJNeQWLbV^oa!7)ƚmf[{Rn _؁g`GپGbJON1h*,edvmE*@S5%X+0Jl8o3XzĂ|]m:r PA=(NW8P;?8&yևbWɡyc hUU|D`~MȑUV $*Nwx,]jİccҠxS Ks <Hs.f?|+cJ@IW ꗨL_;q: IM80NͻO+hz"8bikxrˀRǶ0ǗR)aTxw.ۍӏ-{ ,';^Ӵ{-]'qJ:F4pt=E/5!j6g#;HҖ\Id`{WkZ; :e M_F3JHgU+\B.{#}6h]ۤQ@'C ئ)}X=.Uwn~Py[: O)i=)`mS l&3:*SkAM' t<>iOxƧ#GLbUӰbo}ݮhCFA/w\J߼^ɳfiyvXʦ|BqFDtGha{~6tl?mV!#!b< ג0|!g`q+spre/bf4G;9DU)*Dݐ@G$H{ˇ/ʘK. j}'Nى;lj/|w3yńI EUg*v1&B֔>&l#K 04h.dxRr#wu~X-^*uhBW%fp0 Rn>myyLh<}Ұ|fB5N)o-ޠ@QwSWneHX'tN * \c =Z$VgAM}q9xu&(RwO?2<(gӢSdcݏ.L.¸l< D:?D`_ SZ]7"" g1sT zS': _wY{_0\HR yRxIW>e)ni˭8шAڦql/+œ,PGcH"&hbdO㌉ᘵWJ ?k]YHma{nWv?-I VKʴ,h嗕mNOїԼ4lu*yJ@co<5!#Ss-D'cuk RCKB؉oKx5A`};:s:TsC1a뷌3^;:(4|BBێ1ꖙ̶ TjfIj;Lfڄހ'Za;f-XGH^_׀N̲ۧrMLm|c z\oU6T~bGr.yթ؊f ; Haf!?-$(.ig660C&րq`U`٩}#@e^l?SZc-'Hߎs%*26xZpZbU^2j[ 7[~sƚdM{B0FY ,5 C&v;;JXnNϮ#Cb-jNf-3 ^ U%D2PZ o*a7s"p%8Rv~F<;BuUτnC̮Y^Tګk]Õވѝ9 !sQoQ{B~E\Md{ɫms`mrW1hn5"޷3`f5qQ p a[ZbQ)8_H( eqSɕkݣY3V S,nOg$+)5:t [hE@XRb[v2 rZTX򼸩2s_Ern%DČaK e{i$$̧5L<?{ 1s'9; ! \g&cNZ|r'J9d*OǶButIGB&֤ $P|Un&rN&~ OO/U}C |N+WЛ4o=??Dn+=״2v,QMhL(WqԼjV C I|}>D0zdY&$-; :މ!oieG`(]X eMOʖZ $ݐc<]wN]<%(eXBIS+_pe~iGJ 0VatɫhkJ(0mʑؖ6ⴓLNR{>L'3ZRJLIP+rG!ofԂ`Jf&qqp-[]{w~YS"txG@NӶ#8xJ_D=Ed'S<[W*ˋMbz/L`${lAQ֡J )b@PqX? 839O쏉*̦hD?*{MvK*ckm>qC?9UfJJG+t?z>n*ŒRPټA <4 FoF^vKtZׄ F&g^U޳9֫" UŲk0jx\ 4k 1H?E\"@܎ t4@uu05FȻ ~I?m5upבJ,P7^3X|pH8F:[+|Ixa>6ԁ]cӊSK+\1!U}ݭzK35-cpЌD,>xbY" 8&p~Y\>qhQ ~:J+~;&,J8i.MЫȆ[XBq 2)Y48ipc^mX^B=D#V 돐䢞|ڑ2@]P-Y9FNoU]rҤjJ +I4MiDfT&Oة-YYx󰣶ƄGvH衼J~PݷMȨ7Ȗwʗ6J]&Z }$$lS\0E c ?Z NQ(g~v ^&{ߠ ~v8|0M˷e¿&NTV:̴ۆiSŒh̓Lň"4Wlv _b\[Bv5Ok0eon29RZ)0U68nS;H{:"=6v_В^2zXJ] oz2@tN+KEAҰgO>74Q+SX YTICj݅"iJ" .MTC9D=J=GWUƂqxkzdizֱ Òt b9ǜM^i\lV_s ܴll5Ar3iFxAe(okJkȊLIˀXj 78t !) Vxϡ?MD+!m) U-CA:p~]Ab9} h+*+A 1). fp;N JMuﺋԱċb]H'0}M2k?=bv uiIxm6OC!UBAZ-E-_qTXިԜĩ5Y}!rP{M>r&r%@joxrPjmǏVD۫ȦA-z;wi@*XZ*n[ItX}Ilf[.T%tn/6b?+sU ް@G28 'X2yS'6e,hڂi1tt'1 (ԪO},`9^Uax`Ul,AjBǘ)ODPB㬈 dܟ]! (ddv+mzޭ?]'+@+h@xQPCbXt+K>w^h*_dOMx{!̫SN5:G ^;GY3eejpIe7W坾m j#Ú?Cj谷\U_Ao8Kq:xymeNœ.-9:J\|/c܄%&X#ߧ͒$xO gvH^Fpo݃A`3 aXOu}z/::7zO8= 3,J3vMyZAnxWc+;m3yاv9[48ݡqul%&iI0Q>A蘿dfIY c@m*lu:͞;L8nt`LiޒLNZ4&S]УQv~"dbɖ,Wm؞f2kA bCW_WKi5"cZcB/<͸AXͥJ)$D G|w}70{[mz(XX\ {Ӆ5n:^D<)bЍKy*ۑ(E/)Ե1m@'H?QmCj!.B)36+ tˆVIx=J aH%XڂPGGeJGH)`KP׷¡<-(@BD7l y^ 72@|@!ހ7&Va` MadJ*N " iG"Lp! bT#[E syZ _ G}j/9ljHԶݙB]kJIN#>KY\m#s[ T <~pwgO'΃<22ba\u؋4 6NƂ@0Q͛M<ѻ %2~Δ6xVQ@QnM% -V}Gզ,"B.z0ULD!},S\2R܍SٖM#aֳ u@Ϛ`~Ln8As eӊ!3+(g8dl?jzqOW_p)؀n07TS 5QFvϔKn sHy)i""i nc [$t)sBޱr'P6 [nAŒ>}0o(k3H8\"S&!L \PzW OFϸ}4 Q [3m?&jr lڽ][ @XSWOUV%EմUspvBɖ"jfNlՐnwF@+PφpޑnœxkpݭF8pϻUjUyonGdܴ!lKf@$ϱ](7H.O)wKngS8jݺ!NyݶO> /N而WƛR+UGqY9ue(鳻yˏ^f-)L磐*w16ͩT nۂ}sx'TΣ?ḆCWd%%ѵj[e&۝p!so-RZjB(_Zn&_27qW8|MeinIpYIQ] tVH'3і2+ե/R`_ 剬ӚTQRb~n %+ <+nV9Nf-@rk3nʺ5OꮸI^ͯfBzfDas`IdO>m9Q--e8X[fh7;("6ƀ"2U2s >[~UxPF{r;wRޥ_Hθzc7Xm< nbt)#ήxMkİ0OPX-$5?z/+U2ؑr}Qpxʩo'kjw=zS *3uS;!)75P*q=8"tMH(Wfai`6W൰\h x "v9qvqRfQu-粞~h/Off%)Rxq9Vb%5ƽÛ?v? t6ԑ̘usnW |s +Vr.g:8hZb9W٠FJHdw|n,u}&:׎/[WFg._5RPt$lzZIy16q>V9u1 ㈪>Q25VX"'6uYSTT֏#\Cc=Dt8gINOҧD_L`V3ѿb&]pㄵHCs\u^l0#;>xM)etNNzߎ}8zC\?i ,茋o-Oʍְwt? N|o454oLD8m|{%d4/GO"܅{#o융8ktQGeE,g r~_EFcICAp%,6:94=吸QGێ<H/CH'dI/݈&yb/-UP\2`挽!bC"7 \9i8cp _rh%hZ!0\vI>VoX8:'DeeOׅb'1ˉb}:L>*@@g]EӲ ?󭟹p=^lL!!dxf/sR!u)Vcx\U>􆌒xD}>+A9EyZjnIM:A<$ W>s9m6Ṇ7 !5uFcTvQkH87\t\^JShs?c0XA0-~Zw?"ij+X: }"d>{'S9s *a!KKi8mݥcbʌi |>r._/܈:}RyKYlFjRB2UXĉEOe)nkk?Yr%Q\E0G25ydThe<}+zk#p6'F?9)WOƒ.* ܾӲ9W,&؄h1 XFL-N%nmNVBhzPw@)'o<Ӥp$`+{ss,KӔ0Gr=='T)ܲ['tG";wE%AY L/*(;SAh[aGъ/l+ lJ(3MorSOTwi(ZxR _|jg*4$۵KyM7UlmwwP,Z) ^"GCWYuON/A$'j8c}YN.2Epؤ*Ke7Nmv te|*I\"h,MM! \`<#Ȝ=/i%)4BXtZ!UVF_|VS5lIyAΜr+!7%j+Gzhl6g.+@IqIҔy'MfK$ 26^jSL-veTʌ'ķ?k ^А*i度"0uBِ TY(:Oo Vz3|*u#lm2:{m)8Oĵ`#DJjVJNLWVa 9=RsJMyGB9˽0.(0[I9<Hb(k뾥SUcqN2]ʝ\ oLŽsQ5,K txۮOz,&?<}@\ 4e_ X7 g7Sb (4ƺwcSΫ\ux_o ]->ثKb0L]I_,MY."^>-!Cjw٪Α& o 0-7҇S۠s9DUj\fhTw#TW[0< ,aJ-Qiv`B$i!X|љ@8y"1p{jbHo҉+Vm(HMc3fYo3B[rl_(fb qζH"-{M}bf8!m]j"zn$cW)Pwd"yו|5ɪpD+ ua) L.%*,kk"?w`p.;Rj{]a?/}= -Vp9S|1>Z߶[ZµBcr2gpz18AƄNVo*9$V18/zx%,P`C]OC y9 )nk[ңLVB4X4cDә9(#(:ޙχ\8o>!W4V^"MhEI@{|fG)]MEi)_)Պq1q+n=8U|j8D Q nFѣbAՏ<$b278]Y`y0Sa9,|=0H*`r&Ϫ3penW<.5f6JzC&JqR] 2J.iBpVMO{-qWfuQ$tNQ-#UW7 TĖ{"2屑͖y."p'ݖMŢם2sEn뱑Igo4\O7Uɧ&dAftC>w`w Ĺ7@]LQnm|;9'"J rcpPkBȵȔ ;}选x bgxq; ϼK%~zyEofFFsPՙQúP?YwYw#Im=ubK)־pm,FTb@x6I\ lOJYT{D }"Ǧ:IvRGкxĘϫ(MKc [CŭR5l*Cz qM;P=`I[fQng}}=ɂe3}ݴ+ؽܞ&8 R㾶!^YG?C޾YuPg!4'noL^zU`g6-砞k6Ή^Qga\ޙB<9dF د_FSh+w*wF,-/শ?"|@(Ύ~əUnA[f>Uf >u|{A>9~Wh72@}B#N@ .wg9?L?dž(>TYryqMX` ۲sShn 66tt~pMr ASKR% ˆ5J,m#yr }!nC64@LM 7 ^(Im7.޹mb Ԁ%{O$X82xY qL@~-!-No<&7ҕ UG,A~f%雿t~l.LȵkR>D;;$  1>x Xth!]"|PXn6d{_jiӕq U1 :1#,C緕\MfԄ?ʨKpV72Thc#x%t{bim7#vq9ajk0`Q&t 0v˖GLFnJc9'VȰ,}17PB;$ޖENpZ&DORKW mL#tOOFNa6;09BkC'v{_KƋHη YZ