frr-devel-8.4-150500.4.26.1<>,fKp9|_9ێ"x)O?Uީm(ĞҎ)12|o[sbCqmZ7r^tR%iCLowϤ蹯]<~ xb%ݱuUmKe*h0pzZX@Lku ]^+.RfD@+*{^MXH}N)n%H#P/N>]e ;?d   J5 Kk  D  +r ,/1447T7p 7 8i (888)99P):;)FtGtHw0IyXz Yz(\zL]|^bWcd~efluvz\lpvCfrr-devel8.4150500.4.26.1Header and object files for frr developmentThe frr-devel package contains the header and object files necessary for developing OSPF-API and frr applications.fKh01-ch3aFSSUSE 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.orglinuxx86_64J#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큤fKcc9dcc9dcc9dcc9dcc9dfKcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfKcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfKcc9dfKcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfKscc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfKscc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfKfKfKfKfKfKfKfKc848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf58927d8c50a0ab8780ff9ab05db804db17a79b184a0f8bf15b4d911d11f3fc7fa361ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e55915503329a36731f0221b01b5253c9f699661c2f656d38298f2dc9aa87a08c5822fd713c8580ae843938c5d34e2e8ebad208301e96d1a5cadffad309985b56cbeb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71bade9f7d7fa468f6d97414d53d87e6cfb77540dc5d03f4a3a42f173d5493ab1f8a793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa11680947feec3308492fa73d3fcdf9b0865c0774572fdb287c4427595576afa9943b548ef38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5f1f5b13376a95d6990c5a4434748b21d4670d19e6172e3bd7e39db76be4ccf25b70dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714db1ff787e1e6b448fdd0ed463496842c0a5b19181308cdda3bbcb78a79f6737e3da33dfaacde641224913f4adc7830ae50943d88b1304008b1808d920e9e921cb1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d560569176c39880e4e12d23864d3d224bc4c21ae0cbc0062bdaa9ac230b95e7716e1647347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b564903d053f0f4e73fe174084ebd506002e3552281fdcd0a418b30c94e3db37f1af63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111de28934c5140e0a0ce88c8198a727b23c42d4e623903352d48292c56915d489aab60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e7caff905ccab8cc47afb63f25a53a84e28ed1efd64e61994a5673b5d7222e1583c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1da63eceb5a65a3ac287d9aee61f612c098d498ab1f691a73d3778f6f624fd9a45701424533712d06a2215dffb086690238df91f9a968f4ac100c264d8752fe8c1d6fa0d3fa3f983d4b79d7723e7a45382f61e432b323c2cfda66206f880b358fcb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b923c982f320422c3c7656826d509761f3552c9a2f8bff00b07399239d7665436bbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca50d0c8a75c900885619fe7c75d77b7cf61a33946f3556d6055e2ff0b49f7fdb4964160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e574389556699c28a616f1e13a482fd55e41395f9c9068e752b57f41d12327f6a53dee2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c9897553dff667c8851ba4b3442521f42883746c140a3d7d5903a0b27d3d8fc74a1de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c7343312e5c71fd2de032f9931ba6f22230362d9bb0638abc8dc5a7bf09086e0fa14ab4de07fc8ad5f9f0f875f817f0738bd966eb0df8d563337b4156f81ccdecfe20934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653ad6c969c84dc88d92e71c38757a8757853438e4cf378e6a926077f21ce13038beb882aa0653e686d5d11ddafc1a59981dc49ee52fce188e1e1d6d3e85ade5274c6975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf92ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88af1c2c60a5f0c9b403bdf3ca492794550dc20e7c6cb18ed72fb3637230a3199863f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad52159bb78e8948e9a47f36d55d662ad527ed429c1a2f971c6350a6696f07caf589124195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f0775461c3dd8f700e2b816b12bd7dd1e83db00b1d74e8f0dcaf70ad1f566cb526f20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf23dacea5c300b6c13f108ad461aaac0473e4918e014a4a7e2d0605ce39360fcab3a8805177ccf1ab9a7a127cde118d77e720eb2c1d06a04d131fcafee260a9584147b944377ad3379a703e89a6086acecd650404502f6c4319a31e1dcc8b26eefae3251c81beec3c5947fb2df8bc48b225ac66686508112aedba816abde8d189a3381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367f724a5ea0d72644cc994a6e7a40ee5e7254e6c4ff55fad7ad5023a396c47ba5228bfed601462cc2e7b69f3e09699d6eb384ea4ea3452092a41418bab15794fdba383a33c5ea1d828abb2e3ea5569f200e6fd186d9dbab58a9076e65702ca3172088e9776d4a87bbbc83d1f28373c62e8a8eb1eae1de0a13f916dd4fc0456cab5b59c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.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.26.1.src.rpmfrr-develfrr-devel(x86-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(@f@e@em@e?eRd/@dbd*cn9@cb3"b@aaaim@aa@aC1``@_I@___w@^z^Ӝ@^^k@^G@^"@^!^^^ @]@]@]]@\U@mt@suse.commt@suse.commt@suse.comcfamullaconrad@suse.comdimstar@opensuse.orgmt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.comdimstar@opensuse.orgmt@suse.comjsegitz@suse.comlinnaea@lavia.moejsegitz@suse.comlinnaea@lavia.moejsegitz@suse.commt@suse.commardnh@gmx.deolaf@aepfle.dertorreromarijnissen@suse.commardnh@gmx.demt@suse.commardnh@gmx.deerico.mendonca@suse.commardnh@gmx.demrueckert@suse.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.deidonmez@suse.commardnh@gmx.deerico.mendonca@suse.comerico.mendonca@suse.comerico.mendonca@suse.commardnh@gmx.demardnh@gmx.de- Apply 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-ch3a 1724402618  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.4-150500.4.26.18.4-150500.4.26.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:35334/SUSE_SLE-15-SP5_Update/c91f298d2f1f7a3c1ef1cf88369f53c3-frr.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long linesO+^ H/l utf-871ace2e22e0b38ba75bac6f7fbd7ffaa3ccef6e79c2f3c7ce008f44ec723cf12?P7zXZ !t/㎀]"k%U8uy:?$ g,02]KR,O[n$b>Z eDϠnKH$㼋+-;Bd6y8N.p3ot [Įw[*܄u9#,]Z :\A+ ׿E=_P&`c;)1'K|?gT3^voJ _;-{z C{<@~27ڸ,ѻ* `6DvT76i%8kַd|(qH'Mوu.9^XoS@FP;`K+lg`803eHTumB鎵mo! ۀLg+$ Wa{'v~:yv6ɑv䇿 in0 A$ftiN{} =B=Y*IGR\2qdeFvL1,F[Ɨ(Im=@e?>?,a܏;o.Dtmar1MG:T0&x 4L_OJ:] ﯝ}2Wy!e(̇_4S+.UΒU@яN|[i4x]A>UQV?e6QpNvS,m52AVn|6"9Ѣ@1 a|k!Bz6XiZ)n ki龮偨WKjtmX90~4H?oSN'KPNY7fwK0h?)<]ʋdHWHiSdPMi0 ,csXi` "3N~,3C31$.  ~[GZR,-Ϫ®2ѸrEۦwf{1?V7ZPpdL#nIC`qP%iåz`,l<6W@YXXq-SHqxT/Ӹ%)*ۮ0FPnC„qAӅW1\a|ް+fd^%E/cN 1;c960B]^IpwpȀƣ7\<͇%Nf],_1x5$C(zw6S D`!) ?δ{clx d $vg(D j.^$pr*Ahw8uNڵaif-9l4'iJ?zr{H e3'8c'\Ig >pEt1?lprɴ "(r(]!CU`mbkFp` G@r[g~Z1)dmm(4L8 lx[t[c\RhՉg|gU-P)unU$Ј iH7Y}HM*L"wWFn=0=?Xk%Uv_C>yE`pg{y_̟sÔ-d|q`z*42a>?yʤ$TW@p[boRP XJ8OrAP]Y϶({piVȢjn+"3Sm*0[ZLZ,\3f58L3]c֔!Ҫ1d!G󘏮 gu=oA0ɜF FԤW.j0'Jgh~6,˲7.O. _ h:u2>'+L񃘭,G5?x8Je|4\Z%[~ƊO]+ [Why?~CHWqO=+O~qpjN`[ =Lw7xw)/ZJV\}Y([!PU˦!ix{[)vnW_#S;b*1N|ڳm Dbd!϶9ҒTcTϊ2*g޻lu:p7O'9;$4l&T;8čV"Z \t ̤B 2,,L&|-57ܑBŧ0!jITt ăgl9̿q~Wف&G_|? qN#ELY:o]Y3O 0&jG֭*mnXPZfy*@/貟XsM(Y 9 ϊspM `:7f+ )W@{->H'd<==%ָrwZ^PճHLJ BMۼ@e@;_况 w~nY-C;Ζtp㓆O8Z _ D.fʬN(ܿlwqCL(,o,F @E%x xO/ߨPz[J _y|AP }Ɩk^x'-;IG$qe+2 hɰ $6VQP l |`JI2v7h쉾` ZՈ =p7V)E!.h7L׆pˋ=x$.{S:}A P3I/+t e`,]o{b1}m +%ob0{>{nop][DᰍfsC|!"Gx*b~6.&ȐGyVG!=w"M*TWΑ2ʃ$f#"ʮhjFQ8@*,涼0{ia78V#++&  K7*ң}o{RLGD56vǒ \dWܭʱ| }UY}H|LF#w U~=FLbJ!Jw֥&yPFELi; ӛ-HlmSM"d˖}nH0SmȄ>jAI/8~[n j5}UWO뿛RXdJaA(p !0RJzI_\AnJ/N/8 EI'cj1wNUz9a^+nLaX AzzZ#;53 {N2LJFuFoYbaSexR]ƀ3,ơ5CŒBJ<ZL:-HƔP0clkeX޳xp޺n@7/{BFnYtoZE䨮^6_s$nИ?,=t-G|BMBq7gi.ս6JmJsQSuI4~)[8?ڑT9c[fY &.?=Gs\q%)FXg%m,ϝ ʹ1bpCPa;5ËԅrLgBP6FI2b^4WVv( |2bM8AtЂM6oTReGhj zSR%=laFQyy[i`v;/U(at_[mڐo{s(8 2! Cp`F#=a_4p^s<čy⸍P`$98b)j7DhvU&61g{ƿJ a~^fsifN%K<9(n"_ae~}G_ƯKDX7VrPl>Q⒳^;$t_x&9Ii U,O >h@ۖ<&N}rRi_XXlCXܗ~Ȟj"ڐWΈBz LԾP4žXC[mI֐(ũ"9=qnnQ!穠h16ͯFfeZ`IA5m Ln/yy{۟Z,nwV;eY@v@콡=F1=9?WtE2͕[z0j! wn Ӽ. 49 <ȓ>+QV!je$؅ジ^ NxV<CK*gRuC4B,V#V8+w%UNJٮ4(Iiv/4zvt6ߏuK@ouFݨϞ~[JBGg2ji3KX4BS@aHqbYZ@0?q:,>#yu߲H‡@O~OuW3v~mDž0(sHrtzWc~.V"ͤU vS5GJ`x=$zK `zlFϡ%@|@GyG $~>CdfKt4,vx-_tΰ$GƘ'o#t3GE|Lvj=_!sP!?@jjkfH$`2?"gVAD[vj;Ư/֛K`@j}W6x9eZ#AUym1*qkøm4 Iv Fa"Yi-0r|ܿvg VJ_, T(djDdEoS_̧LJ(Wc&QD)TGm&cKV*)8c;I$hصm/\Wr=8Rcm,R zf<<Ǝ¢΢{YtgP:Y{%ۥ>nLY/."mXGVi[σ}ac{PSg}>wv(>Bߑ;pc)sF33NnOuꆫAv&8 9 /VG5HcT$@|(XJ !Yj̨wk&Ьz*5̣'| _h=Bnn//H3}c0Mp&0ugBI!#J1 F.``nWl,%>2ۿ>À Gi6 9)|\CBw̝mʩ̉h@`N^eٞ8UuyMÝULU{'{ ?0G=ne\&XQBQ 7Y)D/UXP79 XxPɾ:@TX 5sTIQ_0vLTzg`$Kckh-]I_) mWEL1DWĖ gM[)H%2#_Z3 Dkи-x`x~Dj0chH+czusOJ6p teJ_>wªa[GX*vMNȢͰ Omne;Tdu/ՋmHljn~j6۴m Z86j?OiNI|Ώn^hZnؙ>hԺ`m2S̃ BW "qa;Ezn9P;Z5 Iu{ GӚWFjX7虑e)tq4_ے@ b_Oȍxeꪵbْo|pOHqX݂<H2Pl) 1POFx~OQS_:7փR:t5 j{zW7da~U 6Kw Qԑi5pdT'/h[ 2Kŏ~@pujш/ĥC?I:n9Bj_>)Xp. Ȳ}iޭ0 I rmScVIƾˌQR܆d3Qhm}t!ۂM{]Ҏ1ϱ~3l-8v*&ls37chLKqN5,s9Un?A׊OLS0]yjI ^!&'j_m=[-J1S uxk j_xԞG2Um*6ѯULnFyAbIBf]Ǫ)L#ua R-*PoV_MZh'[ d`?W-L\jj^]f.t#uSIzB5EPQ7Yy N6hnpQ6o#| ~f rET$:AV&?/L[p~$"Gx h (ZtJhuUs;aΑoP&;;m[w=z})/7pp({Hu bXjR\:xl~&L>uW2Ch?M(d?hom ԧJ%N^sCI&FX: 6`4 jvЅ|߸2q0?i C>x;]Vͭ׌e%G$%j.+ XCXH2ۨ<e5g_ vjAQbYmʜJD `i&3rC?Qz-N<ѭZTE V]$Utsjyɏ󣘹x/х 8#Wa׭5.v۬\قq_qMz90;/yw1V}i?%b\$kN0+{yf²6iLar&:zDVB I`Ċundq}llLeׅ#|')[_bk neR:Byg.E&ilB# #1f7n Gk4-3m462C)h#$x胍ti`*Sc89;a/N^I/ȄuTw gBiK59 "֖챍k=ߥMy.A?+6-!;/ u~V&&s}4c+'OIDT&ΐoޅfԘ)`ړ3Eיy`Q`Z8ףhC˔xɗ"W&4z'᩸U>ol!5Y+muZ߃`U,YhCW@.#BHXڹtLgwB-% 7_xV6`~ Xp^1т}A'OvgE`_X\M^tċPGm?a#T&+ 㯨I#!&9BK!'+:wL `2V{Ry0E :DL7p2%v?+vI@*zgЗ ,w)Z.b3T\%F="gI8) h0_Vі^M0PSe fVnYƠ9[K/,X3nYZJXq&^j yxX *ڗw:LzitрZu$9hy1"H1BO<۽4SfߡD8(G-LGtQ5u8E6gWݖRZ'3x#EG}D4I oo2mx; 'dT+}k_oUY`BbW(q).m 3U?#/". w(܍Tq Gi6"r&Pљ s0Y* 4?%% l_58 W`Q)ɮʹ PKB֌ZV'^ W Y"<`%T9]ZuZd;v{p1f>0Mɛ]uQI1lSZE c8`v6G$uK-(.)DTY\wR.G?T#P7-I%JP1wo7d}|D'{ʮjԋ4R @:\,1E[UnhH; ?@)B[#08߁W:"-H`&Wh{_0B]VrqR='-Шmԅ>/bKŸpFG}\&T0RoR쟌?7,ٻ!Xr{Wb΁$av"U{)UGnnߊkj>j|GhN6Џ/mo>2h .fG *@ V%.i4nKA30Yv<4b@$W|pZ*', yWbSśFMd>"uVEfyiqƸ#V5tҀRtր+=qM6b17Z4ݸ0 cUO1 h:xUŴBjcƴP?\Z8sJYfHaZ~)~&.F`!+E*Gl$ ;rfk>ԴMO}Z\@vN6 u<9="`zKL1H &Hkȕ{;䝛LGl@cTsI{ EڄiWc*g6 A7gDh磥 yZhiyp҅"f ʙ) fw|bGQ6Y/ޞYzY^㊣ 3qsL:GW)2@} yXY|kyBJE5j2,u*=FG| -E/;>}-ڌYbR{vKXɍڗ>mqd8١W.bp6YT^~ euQ ɛ %Yͅ`gԓ(U.!) U;Gc/Qv\pנQ!FIu¥*UO&+~KDO]ylS@Pc3 +7s,ײDf 4-pn^1C`Qh{O8 v׋[[=|"@Ӽ iYc3x۸TހӬд XSn(l=aH`< !fSØc1TԌ'D$OsMo9uc59ƶA/K04v3 !9x-yGnVEk.|=*:7=V'EGkU%QD2 ZbQĤjȠOI%X̊<%EqTxp ։t7|:sR/! 7}i '܏I/ЎN@Ɖft,Gv0zJcgN wwkh6:L{;5&>G2' O;Nh,jCL%_?pYl1 j:V[Ax4jpGAAG~nZ,H6o!DfxPM2/j*/#:i_u@^ђ{|gYp/Kh̺uUvjNFfw> qOBNmf 5}Z\\,\2Chy~wgM]ͼ&3wuݤ1v /,tk:FMa=6$0፭k±"퀼Oۊ W*XаyYa?=A2[CE SFCF]<*(+s!r81 2ʵ5oEmYCMxwG}{;QW('b@ Ti0FqTkL&~NpX~ÐRM!eX3O Ik3^,]omY1NϞBم U%QpDpX$͵A"B֬H18#a䔯u>Q"Pɑ* T)3RvaA[fP/R2yU^- si wf0RNVLmw"#7Ƕ/!7x92N ?J//[?e"mSCϗ~;9oǯT@Ӯ0J|\|=}[[Q;̈́]sU Ѹ?$y[OXP(MO3G 8>EBTt8mnc/^{>MDTN.o@ Osy/7ڟ[2C"gӰ)I#!pIW)jqNvmar˰?؍2cg ۵WO"v75M2uCj3\zuUĖPVB<,ᵚ+ϭ >/2-Tڵ*j v%9Sp(g:9Vy_&!;KOoMkd<mFZ־/+}5Q3șMUVs׸De qT>jlmhKE>[.И 0L9 :Vh<{م)Q!/wkq12ӱEG% idFrYh̺!M0:(I QXhI~_evd+`r22`ۢj,H*|.;r$'"|rISo]^!cP [H*[?[zWXnw< J- mV,0&0Fٖ|'R˝^ Bݛuh%ԅWe,95}Q˫/jGN$iO)d: X\&K%_ͻ՘lg8%rOMGrpIBw蛤٬Ktg$ge^* PCJ_p1c_e[(Ew='gf_m5}W,{5dPO1BS/P1#"T L ]SD$ܞvM+/Wni\9k=߱D$z;Zgxŝ #>~' 3foA~SP=7R.\AS:i)6/'u*&c`<7z40GW="QmIw%`Wl8V&'!ԘbCkv9?ZG^b켻DG8ݨ7rn:zqh`9T±֕KdKcP"~ީc2#!5:u u-c?z7 ߏû5wjP6b׹ 'BbQHFْp.mg@9d0-vȟi }O5n0mRZJ4bCO߭S96Zih\+Q䩄 Xa'ZEp ,h\'D"-31R|V 9B߾ɎMxEӇN\050^[*`O i'޿5֬X<{*0n7G̈ѠxhU5 mʂZXCV(r7yȦ:|Y5:ОSȔfRT}n|eAAomZ¼ŖQ:4zYjܹfH78]+4vkLs"yi=X SÇZ ?XMDkv]2𛣘ZVlwr2pe, ,UdRw/=I$G `_gilܴ ƥtތ}ˎ%{c6Z9k Ƚ30ݟɜ٩hM|p"a%AN[]G/Tzw n!%^ص\Ǩ ۗR|bIV@?3ř5Ll :u+oqeI0ʶ'Y+r՛"k@Ugy<6 !@n?1@H79%) Q ,:߯&aғG]YF4NF-ȞozvSP @̢ $V]w͂9n$B nvA!L7jff~КЙ-OjT˳ţ2 nӕ&]ɵSJ9aBhSzG=Z 6yIa9vt]bcwD|!!(=~XBy ^6^[@ШhV pSto 0r>EGoHe0ݧ. q*Ni8]_z*CD`kE[U5[@/R43 >T%r 94P1G@Pc87H_dp7=8Ul9gIbلntؗ<*X<7Ull7ǶZz tX!qG!ŃIbA*rAw[eCADebJa~ܻ,0z46Llďd6xeJH4DG0I↜A!-ZcM6F!䱂}]nNjm\$p ؞şϝj mV JCHim* iFc5c)i7 ]G) s`]|Da#oHn킔|7+Oͅo!L\yX'GoUlr1LxmKk!ƀ R~"ԙU=EuM$fdJ"`Z],hמK=[ X;GkXՅl7(/k,pL@oZzv7<]Ug4 p`Afl3+[aA^D!{mIbuSM)k+R}x{n!Of[h[ΡehcmXׇrr &:3Pi1P{zݘ-/J2|v/}>,QYKXK Lˉ?T3rY"#$i,XaiKG pZ+e]"Suiɛ'h6@yRfˑQp! %-ۥ[7`s1!4 S= ;;&vPZK5hi/07;~>H6:Z^=-ʹVe';/9Rw@.؃K!^|8;0[ Ьޚ|U~s92J:Wﬧ[uazPdx\0:Je4~<¸7H^e.CIzg17%HGY6 j^vZfefB[Xr^noS^p EtTtq0)SHg8;[h;̷X,D4L=򅖆MQ/yOnn*{{pFP@nNv 'qaC"<imdE_c,T^|}0gϵZ-D5^nxת0ut$:0WYs i (Dv+6Ǽ[ ?takbka*{/?If=P3U,2OHCI'Ck-)4 6o4\37[&(Χ. iJVXceM<%0 X)]cܪbOIѯ8RjDqf e8hO4eV]Ĉg?Q$}&:!4a=rj,7H 3+j!鉿o]WadvGCRk7 jne޾5\P+l0cc&>" 1ĖS9&'E*tmlFA1o#+Y\T#Wh~FWLkcrP1+'}r)Eyydze(9'۱-$%ÓgaBS,QYKb\qPO[Ld V'fX("D~wqZ/ xia# 8+rj@LTIQ0+OZĐ|ʛܷdMZQp6e4"ѱJ@Y<'8 Eh/FhP݃|(׃ڛ6y;Y:z' Id !zc ]i(_!.+5sQA.H&m[;+'WR(Jq'u '*R;%XE0?îm2M[$,B#` QSƹ:a I6?\HyGG,5pDU@jR yG-%w/8+cg+y?_[먝'^.!&!`+TS{?ƧT02Iu ATY1ä 7 Cob'3:FkcO= q[|Go9Xvtx; u)&\8n\F]Pyquwѧ(g,lK_b> P3re ;+w{I t{ֱV uȑ =&O8K >Zif{ V|OVa|2dRW34ٲ5 V` Jq@ޡ|Nc4YCǝʩ30!v@y)cL7 xhVcX<al z`yTF(;EOz7<Au HYC}#LWnD)-!LY8"ԨHhZt8+:^?saNXiFO9q7b Is6P#)Bx̓g^pġL& R"2ber:UATP%6E<1XK5׬aʅ 45 &6x$ i -Q/y4O (ja(9THoFM>Jy3T`|VaW'㺣v"Q_' KS. l>@E2v~_%3W Gk@Y<= ޱ;!V> &O|/OxmuQR9RxZ[̐+QYyMNt/}K𳓤nNC&GY8ϨQFН;(> \X"揑="<S-Iߖ] )%jzKSNR vl`|VmV)lrnv9NL FBMҰx4sk7y_?_d(O}d"N{)Sg0wK z0A8=4sfT#x~ ۬Z{?@xL]2G xo0%y?]IupS(QD|AGS_{ybG]%^|4і;=eT  ^r)Vܨe\yo:fƛ=bk'wt`uw6nώxDI=G j҇93њiVgrRʃy-a;({?>d:HArcP,Aol 2$ js+Y=KE0u`6p7UL%d#`!vfҧ[_ OF2+`+!Lex=BI2o+o B l<*|YQ#Ff"[>4f㼱eifQw!VSr@WfɆ~1R]|9ˆyMh)8AX>xOh^E{ɶacV߼*gfr2Thr3>7[ r{ 9opm)<;/?81f џ+g3p~_1A )jsb+ U"MmkyϘP|1B1/,SQ2 $%a}M.VXrΆa0[2;Z~VjJcf - eX,NnbպUE5[V][=U4?8mT]RlǢN fG2 {Lգ *eoBؘcAK{W\L1<c*r`u'RfͥExA[ }1*n՜b[țr@Yd$ :6_7AO5 N!Nl];m^YxC(Co28~|pT]-+|oHYBeD6%S/\k>/mhZA:7 2n KkOV/ty|_H9 WL"I#ɪ?b6(潏2s_aS!e 'WkHƏXEḂ?'#&,CR/Fa e '蕗ɥh#b.j,B;>Z0ViTu(-E.C$7);Į!정R\(ښ/wRo~@{KZBŧJɃ $:A7'c)*n[52AfN1uBL~KĜlE9w*3bZ7~Wמ3vV|DnB0Op pNCqܭr_Ms>ɖ-bf<+QĈVUh'>Aq*<>$Xdcbf]αr㠜UL8K:Pߡ,XBwwZ!SGum$Q{nmQ!NO?u@Hf>sP>:㳇Q\u' XK:1 V.U?Q[Na8VI֔EiI 'Zxlj.]'Zk1UZ} ]DZ[0P+>o;< ?7x^ܨ7jDzX3V  7d33k"$Ѳ2 3WiL`m8̊ bS)UZ@m&}I%6;c̹7-r%1Ea~`quUm5ĖUOs,*"+cmY ])2ƮrB|?17%i1,u.=v?"Ō%wj>1[w&hWطdIgυnKZSiwzCFpEF+2RpI=x&V\"yj W&9 aS0 `q|BgҬ 2nAZ6P_LU=bA@U"iNTxmRF©lhfopGW u6gPqMb^qN^_o&X@hdaN$>=+NJss]W4ilc1N zy`0{gE8"8k_{NA?k}*D.ժw>Z\j-͢ZWHg sm4ΉHjga$VC>h] y J2~FAo*%%WJ-"E-6ca"<Ʊn6;$kDHs v,/zm١32Gr~ڝ%Ӎɥc^c,yE}pmtkst^<,M`2UUEH`oͷ$iqxo(֑xu:O(c™{+ .-dЖujT3WB e D"?!a)Ye%FbGB;#͵CCŽӱyT(= }ˆ* \w~>UDF}Q#".6 PX6Jw5 ;Jڎ"t6GX$ 2{_{-BSH V|)DUlD/c(P:nDSH,U;aPK q8*nѻ֌+ș? ^,}?:˒x-E_ ِؿ[! :'=!ti0r\onc6n7uHpȅ?cluØѢA fBH~8M[} f-{GMT֐R|MZw,{v42l΀% 4Kwԏ技84<P[H_.J1(kӡz#`N,&? 3s#e%RCp8WU=eN0`" + xOf;B!q@ErY5Ye,Jlwj ;VD~uI 8IbffmL)u THZ(J9VxϹ!)ykQfw+ ͍Ky`.*uvWS@UtZ#o~i >GXdJ$sPWf;؎7S"M (2Cз24Cs9AFݵQ7M'AkN@,Q$-rȒ5%fAh#-Рr^ΈRظdrFF.)HY@`e ÿo, O_Lhݍ;x U_JCԏ-Eh9j H\* m3@9n{Z+/A,4aJy Kඝj6B7m N]RZteJءuv*Lq(eGu2-0/0-c0pwwݨō _$Ei><-x=ƭ,>%[9'7Ճ&„LԢ,^@~u,6UrU1*(ᷕNaAubIOkhhh2'NV9]W;]cޤT avG KX~gU2om+]_[Lp \pަ7yw8G߹ ֎K,#PJ=2Y\dNesQݚ$Iaڨn&퍀&lN${[.3Z)%}rx{ p,G@7qǴEkXzxġ-UE=A|]gk&FzXT<"iwx2Y'[#i*qLrϩYbdz%),]jX!r;7kv?fƜZ.UTnj C;ҫ1 :sf]Y|Uդ8;km;=^VIsSu,ʶg*49 g#1FGTן a~k`1BHmk1l?$\7'+NqjC 㧌:qE@H6^K\e1kn&EI|#H}}CCD=bB{HEX= 0^\Bm8U=yL><*8ګAz4KJ~~!/(0{`&0J^v{d2<p ިg7#2G<$5tKL%a'`tDR|2e բjڄd ›h}IW(Q WV]}i&;S'^ļ;x .W UWDvbq@{?n-.X`nW-v;2em_ty";+G8b&.<{T &gF=)&' o3?F~DF0gRB8V<,XRdf>*3Vc(2lO(>w /W$UQRD*ZcS7ނ׷ 5NmB3)wY _DYr4q[,f@j(bHw5߹-cߏE,,joLRf>ӑ:&♼=ʕ<NOyFo`JkГpzdv͜}0CqP֥`-ܓ$4+xKo%FMם;%"bxPC:=O1հ?KSW^luC-+qZػd?G34a '\ٿP ~UY[gi {C rsVK4Rec .^>gm47K( C,Z{Xwh J~XahF(- < "-u"9떣){h A(c{: (^ jնlk]f3kӉrfo 7Z䰲V5P8FlboK-atU;k2 ot/H.k[]1x9x &.Ln7)ьn:o ^~@j7>5Ƃn5'[ W؁#sa۶Rz02^7!^#ND\ܻɽ]nji/lV; H*(AeNjPC 4K?k2<z?F\En_U]x/ d^ݗ-Ɂ22L9ɒ]r+E^F,[,jB7]!mgIT۵3Ek-f!gpj ? - 35]Ě6oÙJ .7I1bVԶ3%AҮWHc#5#4?۶&W3Q>퀹.9tXV@ `;E|onZUX Fw}U=ku瘍5qž&d::-!RPC.r#KJBhӕ5:~D>l˖56@VY5~P1Hbu-+V9y0Wl#iM,s9gj3#`lsN;h)-nԱJrts"WDXS7MMV'zL"%2ò҂~1}ŃfA)Zr<?)2.ÅQQO /slj1LyݮV+obN(bxyBy!5+j6J\MZ' NkH$֏l`l1De0!~;\KtClm:"9g[MJr[%eifmgCLuÞ+j? g~O;[Zr¬gģcII:(&sg\.rYǁUrmR ~h? -6; U*JEJ/`dҋV;+R,i`O0v],t 1}4#;Xaw!EacvO R[|))IhLTW,2:o1xy-X(YBuGe!t[Ixnow(h[uhv,>.%SmO"ExZ =ԮoϫI*` =f'7{z2FN2=hUwtE/5 9A*jWHݝn 69sqGR]]1/+0ĿϜ[C/"@s:ØZhRIZc'#*>SWvl-" ؟=kyEͳsz N*1 3 l"^g|iZNqOMr&Z@:e vQ\q<R;lHZw]:Y^tCBk9rN̜860NRHF Q @ `Sp Y;*Y6褾gD}%6Vn//);}#G  tR[1B~kX3<q3yeI"tgd^n=胃lPnhnq$ G@ iׯۜyQ[fF "Pj@ޕ7hz$?ofE_m䘌3][_s cS

>m?ͺt^Q!<Ш"8WNL(FS` H6a0ߜ7'`]ShV$>%WpXkdw?F.Ҏ53R-5OpGٯoaek; +.Mx Br4$\CIuUXVn١ 'K(u ޽j|:>8^I[ugűšSmu ?R=&*l1%EHBV'S$?uR2ȟ?Y%V9x[AL}\%KR%Xʞ,b^T(Jzpɥ4 i.[wC}͊D"^m2PYPb#;8$#gP3Tl\ȳs⸄_W<;Td&eKMRHu'nՑeP5{폨ˑ3yq, ^xOCY$m2S2uTO#<\J?-hhD޶$CR>Bfx$m 8\)eoɃ8 )Lo,!+eB=xiA7//J|Si`r{4HOua<&h|A蚕h?2@h4nSMgء#) WK/ ZK_mcy)v hl:An!p9h]κ~YcwT_.SYs>A_D7^M] |!YT"ۻ`3]RHإVӣi8ׁ%Smv}Σ03 "1<4$#bP46S-9ʭ`,AGc> KC@ qlߔkSh*gzHEˀNO+<ԃCST֞QM li 9`!J/B\vx"OVwYj7@kN OƆ28Lyӹvơ&gYX#Z%%[(JxhR:ۓR~i/E'@ SRvwjf,P+u߈ZT̘+zQo}bmki4 ] _a$[ğ`ڿ]`ro![N!a2{0?D*A1 3$2l܉0؛QT?nS;S3WGaQ s(ANR"> o_^NэӚP}! ͸5״l|<> b~7vҢ?e]RU}$o};O &B־pdL[{D#? ͸urK]E&,;͛’܃5xb]v% Ac^:΁gre\暶4a5֊d/DÖz h?{e}o5`NJvpoHE+벹*C; Klݠbc/*Uc= d32Bx?E df){V˺_dA o`ը iW3AF!M4/gJռ2|_K1gObi{0]=j}-cU'tq L+]C6>_ UrOn(#|P}9#sz9[k~=V7~ yA6v0yC4QI#Y1{U,T7 pr%WܴJZܡ'u_xKeSIm2@֫lS]F.Z]oBfcQNyC5^n[HB(ʼ öǢkc8F߬ ayQ& 5@$}212CN[Sb}՝)Y~M_M1ӂ'q·۰eFkITPtHN3>'38g㱔x)d6^wZ:~fJ.R\`FxSά=p DGї?_m(tvCB7 6(Ebg̿UcкfvJ]֐dx|Ѿ޿ɋ-=wvê>g(G.G*.m3rLg+ ʞx1sbO?ȥK);*<Ϙ,|Js{`hoݢzMjslY-%,CS(Pȅ7F7Rю.42_D*U\ZʙnA0j!JvܨܞuaOU9uq 8=W ,HcѸsֽ8 қ(f~R)#O_EdĊ!6J)1%+39%+jN) 'Z7 a{…Q"X/F#KVAx$Z泥\p~߲ũ2^-uVSHTcl+M'0Rø ai_;PfvhzGGQ'. ~Կy@GaŒ|l} Wm3KoM%ݘ멪ƿV{8HUKץVFjni?8p}=.C?yFHm 9M:a{lcJLYU^4Z T> ,y x+@^H,8QG\v8VPiHU.K7;3D}H-. WGF,i|wz`gu^3,At k|\}'o0R+j3 Dk% [j[lZ΅)8`d%gR[DeL.[do7W(?f(5@{l$n+D RC@">_׷<[] yD>q]YiD͞#{,MQv6 v [sio?UВl<v,oq](w:Xˆ%jo]Y-:4ǙI2]࡞e5` K "}\<P@09;6LGwCy^jYǶf[gBWz+ B34ȑwQ ΎQvRJ3ȥJ:ʯ¶ n>iu\y5o]2>sFlo@0I nΕ_F3@]5Wbb:@G}UEs }ݹbJ۪,&@O]"&S1n==Gg !7_9mO~/a@ 01+4[?[Zx!TOp4`'$-8ȓX.j5/%ixvfy&N _"NDRb G;v(r/Y!d`1 D9MS]41]c=lv[RPo q&~xa$!i 5B+㓧! w^KXFeM44BT<2{ڬyBm ~rJ:ht~6/'NIlY X;FIf49v!mՈ? ?T%b]ɒ>^T4ﻍ_m0iKKh\H)H6T9Z8P`t J>"| X0s@ftI AD~Įi|MSy"n2⪏7d7 =uQFn 2BaTcs5U#H- JAr#K\Y]I2+'hgq&d9)2clSICDw+e)}$LN(k| Fjצ`v.rzc,TDh.@pIYx~ʭ9Yj.F-+oDs0JH&u`iKuy5K0쭅x)At8ȫh %ikplZS +Ϯͪ1NĆ?ۓ^p y'jE; ̑eX;bɱmV3]񰙩Qܭ<؈iQW ttӞIZ~gi Me?G~RDM_KqBh AL30Aqͩ'gqق[5t/X/#j%nKgsdϑt5T!H":\tպ0%zш#eWR3'1咂'&[nъC|f̓4 ҝ6/mz7cK.Y9}Pէ|= ɰ3xrKχ^9_]`686:xE<މDeet%(^aL2L7 R,[[!΁]A2M(B(7jQD޺ BO weDЖBZWV?p[ w 9Vm 1a0 LdiCqF1?3EtY舯)y">%:*$6)-&|o x5Rˎ>mGP&sײn@KPҹ_ !/8h*Y*@ug`nACe{|J<,wiLH_@`l h]oK>܁jq0ra=dIT'zM#jSF׉){ b0K' tN*͌Wd*?1$Sg_s/#|<|6Oon!>tK ڽON lhhvf,slԊ[CG#(V0MIF^NΓ5a'>8o\c{L>ɻãr.8(\û.M D9;*dTu?'E{@*IecVݺA% z#PԖ=xnҨYBa? 1Ѐ K l667Y8No(1D_ޤtP=WYXmFsG=0ip;+8C}K kE!#N{>Ȃjh9>LZ@\ r+% .}ƼzvḺ,Q5Z*V@C~EB)̈7ʊ6!.|eR*$̚hAOSy]_[%#rT;ޟC9ʇnkg.[ZVuX՝Y m$h,fI~宙h_ 5%nf i|q9k`'?KgtgDk]=6`%H 4W֪B/MlOEY]t헨Q|-P-7 ٵrHB,xy2Vv7\ ߨpօ=Ø]/"i/U6L<YCޚ]\.{4aj0oa7e(0U%z]sD̴#~lq:_ xmISYQp1ck [mLW7)u$&W®M`0ҷ_KH()xe\ci^>$T&0 [M\Xh;|ln7 @Պc_|V=lWI_@MNLJ#^)6h3]BG^+Aԃ_F,!9lRG)CqU߽y?x9N|/4))ŪS01d-F&4apc+,]vF^alh8!?!ӏ,u cOX ne(l"*Qt14{Mc]v^DY$%#}Ѯx=a(^u ] (VTfc\&p9,zU%8ң?s^HX( PvKp4kYňn.# J,ra {KY$ܞ@VZFsԴw`ÿb߂'>K TDnOJw:$gٷ"Nr@ˣ 9iv%8#ѦGSTރ V߀Ss::9DkvA)> '2zq&Z#BB˦?k [b~[mUS݂M}VuN|F݄%_v]p1NL$*J r,#8l+e%ux˿ `@_3rs3UK)LdMW!Qޟ1/Jߺ;/5iTD+)֖M&$mCo޹~`0 S[|wj(ϧfCunF[gS٣(X &M6J壵Hx/U p˼KW7/dZlX" NЅ82 VC'_THvtzTH.&\<č{",ڼQiWu= d2# T8SM%jxT)UâQ68+~J,f5ZchaHZ-ǣ|9{*͛seԬ(zx zE4R O8f-h%e-²C,8Ebk4PqZ@2ٍ{|v%$}XYN>"~g\ N|m.yl}F\p?dzkgfvg3KU@ 8I)eF:5E>έi&qH"8 ;.'2l Ii+zYYz qθR0e=O`ƾT+vPffxk.YU0V3?K6%|B " ^ʦ ] +ͮP^</{{W[FSs9@{wC*[#)inrSu\)8X3w:*7+9[uX|0H6v݅iՒ)f3(.Vy][u"68I)^0`7 *œw q<.2Z&F&[l$%y*[9d?'m C޾gI{>OXHD9ZZ- ]*aD0G9NbrUæЩssڿe# 7O1.5̔2*g⼍Q-7)H R'<+jQC~2a0:6xޫB֞_a1cJhxme5Wz/E䩻^`E҅JB0Džtq~3Ś "rL\¹,KܖWѮr$3E;xy\P_ڱ mLu@rОpk ّ֭%K~5-1i)?UJRY P/GSLZmGA.Yd6_PXT413!IDxpL5B 0*zH3mQK}~Pb);5,o g:!.[wλ="|uYՖ酷WLx-B@݇VfuQ8WfW.ҲL?6͟L>9Ց?z voR:insQ>!(7b&O˵'e]Ηu—,yLhON$iN/|~BCSK kQV揤|;UQHG,2'ZOt43| 'hg59>KZUd7pBs˼ P4% s\#>tv(CIPÔ-,.a] aT$[2l]_ LYR[D/Af 1h9- zWo0-ٹ⤤Ota` OµƜpenC7U~\-m=b$ v𻊵C2!ӕGd윅NR鸲2gV %S{w<uJwx'W6Ztγ$G- wU`!Z۩> Up9[AWp,/LȬEU:C1FCth{T7\C秴ћԑ˫|Ѯ̉I ^,m$yNXVeHjPa$xw0fK ֈ`ؙ@VݜO:׽S4B ƣkYfS08ަS^3Ei?Uk'!7Ct`~|uT({B _π)י􅂐Nyi=٧*G4@7zHquIѽ7}?Vs@^J`v{6_ bǷ4gIGD{r̾٥EQ~GOVD KCiX!TNePn\;]'a*dwY~}<_Ճ SWҶޖfmvrʂ&}97˴zsC{B@02FeU,T>S lZEc88aN˙3(#u,grto*@p,l*t>>S ̀s¥OV)GL8z+e'k^IgMVǺ u!>|6.[JkA?\4p[ؕ5314l|?H x@Ӥ)Als$I2tw_9 } 1U9@V9LJ{ڬ/"KbE@ܮx *:z+ʈ쉡Olj}jCGiuIs=ꨭI^ԉ8J㰳dB1j(@?Pqt/!j؈K)a = ^̌.MU8Nk$vfJeLi`ŇE^deI0#o >V*58*ƶ*Vh@%XJ`{ڨ[ʷcSP]3rn3J`hC N'ʫ{^U 4 ܬ G{S^)7/dA#SLP+\w4 SS!,z%FH/9V#lPII^Yu6uU|Zm Ij+ 1O vTD4lR[ۍOsyq=ۛrۄ;zZ9:9f(!=3+S$℗ty9g\Q[x|}~Ey6~VzgģfgnMd<3Z`.|iUJ*Z&A޷7`u/aSb،NKь3wEIB.2 vW0?VxV IJس( {;[51ۂƚ-Y$Iz+RQP5>kJXPx޳ElR.1&P{e듯d[-p-F}*˒=W. 7.Ѿk(uP^i=*n z#~"K-!QԞANkt^fuX0q]^lSHB gFvAlSSATHς!|-.MuTH4v+/ 3rY}ˮ9|AƺsEbHhdh@t{fL+B*r (O@1季Qw;gR s:->ptƶ{pp#_Fu02V#)^iLwM 4NLk?wQ#{&0_U4bx;G9B TwP D9 )Jzfm/Q6]vX'TAnJLUotzDJg 6jB{ kܑJkOJϥvcr(o Zu.F2-TmؒMc " tPpX\lF@ q79Vo$6Tg ax=yTtS}e/$ZyC|RWV1/̓als& I˰X,Ix-ȩֲ+'ĬV:ŁW`>Tr<̐<%8[K"B i 3s|~߸PfBv l&s/R 2iX䲽HH+?OMMQ/] lIr9߇#=V2?Iގm8X@nx3 P6m; 6fT!~ HQ*Hc6V$o`$4ʡ+&ŀ2iJmMzX'cLO3Fp^Dlii #ύ"E" d1$RX/pjQ{)iC#_2Әc@fMM"6ELR|~Ua/Nmk6QWF x(ܯO'r7vOb D65\@:aY))扡G9uw0~p4xw-;+ژ7Je1:zVW 6jmؓ7Rֲɣ+`ZMPK5W>PO1}i3#_1:Yߛ65a >xnC\`4`Wl+Ce+m=|e[JQlmPX00R*( s\Kp!\GDpkciRWm'v6魛+/Jb 27eVrCqbL{LPq3dkC Z7)xDer{:ofțwVW?g{km[Wbjˈ@Uӓj3Ɍ\JQS*MŃ%fA_cEXZ 2MbloMAن=H>@5CQ?$Z0蔅_! r7Ѫ}+-ƧwOvQ$48^(چR'@#^:6Zz֒5QW| *%s V 5+xxg=Aqކsp-x~y}F卻QG-4Lj߅4 <A .Tȥ;5bXi&7+uGf09ql-CFek)қ:8/ 2 ՜EP+ݗ*Z2Y<l`&1YM~ }#\8dE҉`"V@e-|uإr͊\ieHىd`uOf/IPQP'IBUvB_.[Ѻ^!G+6ܣy"5);ou(w+~z/Aqj88_Y%h [|cF=u4ს4}i]MejESף;(BdL,>3>ڽva`,M_Fnb=$h`3x(!kNQ.e! n]M)K^'PڗW DC#T^k~ 9eNvN;]6yh뼾/{Ant@ (6Up3E@@D%L5;{J-Klrexb7 /:,fn^n,ilMp[4á3%HR͕ifk=΀Q\[wOk3CH > yK?~mEejh9v\S-Q4޵uDN9 fIYTͥ<I᪍oD"R+btF֖w܀ˣhJż m8uEHd[ (8`.#9!;WΤ>k 3 2tmmg!A ѬhKkATٲ6*FHGRǘXP0dw))јG -`< 9%{NLH␓xp9b/lI0mh ,Zo2TR[h\nTsV4*muƌCۿbӿ?1d2W_>yrWAw96r>/a 鋯t910~J9Q2wܞD(pY­OPHpYT+|MKJd̽P}e)c+aa6+p7\dՌfǻ^g%oBYU^k3/DN)E , t5b  "6yUxLܹ$:33::CӗoOrx>26_A ǀuE]  A̝]r Nϳˎ@ k֛I5 ݀8&oLG g wZ\dFdEB`c^5$WTsyX6Š39)iؐ/_j+,dtsΐe AjX('ev@$1 -CS@{sN4ǡtmk-g,=K:g[+/zSQ^`9l]w5)hOg wI=&z V_VC>O|HXvF{(aJSL}:VcMW|KC֐ˤj~i3/ۤQ[TU\Tq%Ia&rycʩx06(6lyK9Y\.55b9j$&ܡVS 3jɥ2$) ~Why&.Q5b' S} ֯p 5ۈ{*j`j VQتnċ-e8ѶZ ["Uhvhܭ獱e{>ɱcǖVaO|P\O8^2ٌ~%;X켴I-XڊL-^,@l;\Om@G%HiY:2Y :"5QbQcp/q쁁?ΆPJ1"̱&0?A1yYYʞ(v,KP嚜~}r&c]Bdc~|ޮIph@wekuvB,|+teE.jtl+ByLV~%ND_=CUm͎!2whuBl`ڼ.MELýUo>lݚrlU {l\"bۓH+@dڿ Q{@=d3!!WO7N&tR[M#kGo+H2z{8ZjkhTܟ w 20rFv{pD|<6AuC';;h'1y,a\}}4}t3[N]!;;V 䒛lZ폪mn~/lD] %ytebΎ# QOl,y9iIJUewh%+V}ƲsҖF~v B \=I@V/4a#>6[^0:S…JʳfVW>=P}iZNM ܞqxJ&Sс9x:rƵ$N~ ]l_Zo5d>ŭZ 5WGU-#LcSR&56۪%(\{n7aT K~.ƧB]j]ܙfE:~'h81ݡ:'Uٛfe`#W8tF!kjPY׭J_QvMY&)<]©cˑKL6ьTIu96H2lUqǪl{+XtbU5$+rRմ$f!HN$zv !E}kzʞl$r=RhGBS5cJE|c"yq[MÍؐ R Pg!_qf'֥m'{ xXb*XTg{9du5(sN}Bj\F!ACrT7}c«i|o_|ll%dP^w -bC~%Í?+8"?/O6Yd~+ar WDvGi82h3mȟ㗜VnsGui(6{#'N%xK'?egdL5SicIs<:j8§WsrinY!^>ӏ?H'L l0/@xrs%;x XʆwT2d{P% 4n]1 +;8\Ԇ$[#OءHT%vJa EHJJ >[hdNQbӑ)؏[VZ,a.關lY\S:_GF?zEx-GtoG:զdFT/Z'DhC5hپ'9=pݭU?Ps5ʴKhumslgAjJcIVԩ߯bn|^ك;讹94ʓi3nmM ܼ.pa+M,fbDƀ=U _dAWiGa!fvydp|=wL2{mP R`|m'@./l\]b>72,i9VUN7f8Rs8=iV)YePŊa!;Gv %8O]Lt|qQg>s)/ ,ǟ=(FB=,fsJ( {F[M) (h Buˀ{EIy keg2V ^:iE(MT/OS]Y<@kalPOh^NgֻBsJ.\2TϹM>&ΦK/+T ׫C P]O$FUpKSޛmkWJvߚ"mPmp(t P03ܰbkE` <-f6&}&Aeҁb;NcMuzN(,몎I]y%.0?e_41k{ g =W?bp=NQHY~);<[~o*Q>zW< 6L6ҮWӻ=]#rQ(-vMO|3FhJB 4HC0[zm'$0K[yYQwێ2M|!!$C.<3ܢWi r; VӐ/밎TH.; " BWNܓRC:%UTfq$Le3}u\&,as+`cl> ŷX#5auV2D65.k]c6d,jr_bp^LǴZ&2k{|NsPe=Lǟ]~gI٪ ,|A_O?"j`,WwzDf9&ɳ\FjՑ`f$['.-(FL#%{XyDgJ%&m=w2`K20w=׹S3:v imS[4wF%j8/$ነ&I3@>Z%02t46i[Y5V&6s ` )xB]yDp~?n+ڲr@??Q@j=M&^`&ΤƲIMvElľx/U[ՍRJFKw zMY~oSJOm-kѮx SrOoAG pq33ox{_ᵶ`.-͑_pkW Zs7p$Zi}\=:`)~̿ѾHc~VLvYHM`cKϜ^EыѱsMGad- ?.sckM2ie5v~E8{e*uWafuhP!8%8V|o6X?S'$*tm0æm_ñ!aVZeoI̘9+7vfBYeWd.ɇjG_ _A/?_Osϭnm/c/ri19/{+6t&'9R%O9x5-W2(8He^%1>)0ڇs61")WyciuЊ sܟ9kWs0,(HPN7s&c;oS{Uz SQoJ\b'ըi n$mc(P:\pzdtqדPu0X'Q#T>DgT#/ wT@y(BFQg"c S/R^E FhC[ M^&-/u(Gv nG/ //q/P0\oöݼ/S#Ƀep F{?_]}B֑>BXR[k_}3]GxIXN?+ńݧ˔R$ aZjQ1ĖPS-`H_@Qd6Ω/Q$|N(ܢGȾk>a\I >;_V_[.MD)v_#\n9ZܳCA\8cvhKY>d)ޭzEq*EF A6XZK'[QL%{rwʰa? - Jo /Q mVѻฝ-Q)_ YN;UsWPaԞ^a[`m3)iiv5PxxEHuOP e7j8J5Zt*X +8~A>m1^tJL{ ' flF 7M ϮNqAUb{֑&v2f]#Ѥ}Z.aoK},Qq7JEݶ+ۚvqϻk7.'^0!c[]FOcBƀ7PF+""(ύTpm*ys}x~Zy6IkAf@!0x E2b#hP0eA8g <7"u@5e1Ƌ-k/o CFXՀGV@'^p0,l@ӋxK?QJS{'O>Z1TҩϤ-[hMe`&@W?T2ic\Nln29}qWRBߝ>SkC_;pު.w6|쫸J6 n$ex0)V}c7z@~=Әj^ l_LrԯkBH# Ue" ә+:>n W*}&ΣT_{|!]vJr`_Pz\5MȎorv|"Ԕ2S'u:,Z}ǐ%u@ar|kBh25=PL`cWDsCs#BG+8oɐF\ljTښtˬ`׺c!|NGuO$k21jŦ, ks/\˕[Ä붉tWV6d<xx! IuÕ*jzS{D(Re|j.24 7J̫HODŽv2'IMçHč"4¶xszqw_fkJ͕f2/ eɆ8գ>{Pk) x@zC.H)Ү3vL[sQak> 0DUP+(mx<}wS*,AND=(9g!#D+~ >lsmlvֻ8Hpks W<SYd(oEؚLjaH ܔhRbqa/k}d3 V6X,u1^׭k)CkҰQx T)~Y] ՘>_۾pcڔNCu}&G6Y6̦̀GL buj&Si59-1=VRAha•Izcn+ij i(ܳd.s+!$cIvcs+X#wQV˘BU6WH9d_@HՁ7+ldK~_į[Ƭj*'"X>ى:аNǺ. ` RvtC2ϵA9RD}2VHa5h. EqĽgҒXa œeǮ \Ӎm#aI~;.s$EOVخF> e~G{r{!b`/nn1 Rd{GM4QM& r{v+c0H́2A5sBV ) ln-ÂW%J_rbY-\,=?+SwNFt%e-פC掓Zh/8x H+SOͤ* ÐHkKӤq-;]q4Tg0XYDcĭH4^85DcPQFQ 5z6Ca=!chѮ.1O.*; B Ǫa97R^љj0#8{o (H@!ڞ"AAD \)=3l0ެHx~7a" &9fXo0YJg/YϬH~O _vn s<?uvi?a3(,)/_Mq;lX{~]D0v<JRI`"XJU=)k֬ oBǝvS{7dAm?bTݷMڹ!)W"'3Y/@ވ0vWI[WŘMFA7;bQjG6TUr TF,$(v\JJUUqcؤCH]\zԎVg_H⠭N d뗣{rtrAp"qX$ قbگ8nq.7-TF7 Ks<ҵ4HezɪD/"հFdF59hxV e:єׂ$B .$tdDeޏR:ί]& lz|dGy<nngH!PZ:bWd2u0Z.TP|2a:/@:{'߼g(SR <4  sξEkh%}fV; $>L-tVGWe۷FFG`ڶ5)i\kK*<8Y'Kx!tf1+¾2?HBЖ62s:H]kn׎7E=+%VҀzn#V?åwl4aJ]Hh6vqsA 7S{^O[0t%Wm^8HD#N<Ċ]ӽΌuiPVx)a57P:=k#4nkjP(ӷӭ1KD(٦4"3 F},%e-XtWpŝjF4O T62sB]&HT?ZW@B_9j;ԏrQ $J@u1V - ` Cvb.pu$1"Hm'^Aޟj[t6Ozt[13):xv"IRFɈra鏇ϵpld}&]jE53gbh/  ,({ިNDv/JT =[&Xol2x8}FrɈ C< Tz70e4Syj1ieL")¿?u'صh1Xkš䥝f(hԧݿ^J瞽?کV(> e vũHnbu! ɱ'freYBS=hG gt6CO9'ٿK,W]wMs+ҧ{&Gዒ&Fh^2h`^+V >\Ys Y5`շ/=~09yՓ{U:/ʝEdjTį(gHoBWӃaE @HXTόt= ҉|SSoU΋%ŚL(>W ׷y  7qOwҎZ᠎n}(w\Of"۝~'TRϟ_d+D03 t3DmbrcyXC²]Xȇ}; λ c! n573h? 4^9@'1TSKu$>L7$V2 &٨Qa3BgXԙב:_)Am~L"`@g~TqkpV' QI(AbQCVt(Ew虜`!@4I 5 Rɐ忊l?D8Soa9H d/vqaж0skɲ D"|}#PFR=rN0"{G2FIؑ e5Y6&*4 řC%%׊x\b|d,nuK=xǣ=!0=LWgVl͑FRvd9u\>⫍,PAt &3)CX̊,[Aɸ8Ӿ4K/A G:1kH>]NyLK`_N=6T7v!~ܬ1%6 *1W%DtHJm(wCfQ)r-^K38Xii f뜼KF_`! .\XsQ%J|x5SJDhYCiaD;P=0B^aF lW9t>ģ +;,yl #K-K㴧eT1=TOZI(:k.% mQa'^Ӷ?qcɢ@@IȩXnF("I:˘^2萝㠳 5;t׷17o 7Nzfzfm(_eXѩ持9ɡkDٽm\ F_JH-8z&ې.Ilɑ+q'?3XMN+Z!mUGuFT[A _;@^i??޸MJ $$l%W" f-gp<٘ܙN܏v6^=SaMEc~UO:%w|#?C٧*4ɂQFP1oW78s4rBi3<3ȧ-j,ՍwQ>7 Ɖ]5l4Eo2h2DžC$Jt-}G[\$$`Lk/=_st!{ad q9OX-V&rbfrD5B {bDTe ̿V ڣĘ %d*2w?Lī?z_?*O]z^oІ2P ah# B6b[?#:cCXO) %,,ic_`+-ۢiwB7IܓMLɚZJ-x-~VXD5EOQM /=5ip teS3'% OW# !t b1#[&XnZG)f#r}& T%g]e8RPqcB'uk pO4a (mPA6?a ) ^'́ ۨP Hk~}%1ɧR8Ų7C7fm'ž"CR![_.o5RjӛT)g}?Pd4?|[bYeW\~g<~B?SZXcHwFL$xQG*.V6ʋʶ'[` BHaDj'eaXdJOB,L]eGٲ 7?-+):׼P,For&7 ['~FmJ@9 5A0=| ?,exm)ΎxM,}ѹjy-Bw)1oj{~¼ÃOۏgb.437 'ԡB#0'#U6Db$b$Ol5S'3EAeq@>Y V53jS>4F}j--gDZ.l;Yfj;!jQ[9I坾~]$;d%A.npgz Vڲ˧{c)$ݞ tSaڨ);`}!D*4]?9QKIGmLjێO7kx sk)qB۟ý x-[.Iܳ:c!!ĚҸ)bg~}F3 Sp5WI,[:JW}t\+# bceguDO#3Ԓ΁7 X%"ޚ K.>8zd'aS  K&QSp{Kwr:-CAik(LA"h:ulf2:M#l9d/~[@otI{S4пy3.Ӗ%RhxRSĊ!4Tq{C gg}CDjm1sL\4+9| EVFkɁ%J sŪ%V$^}ɖA: ukVj>a*Lϔ Y3 ,Lǔc W<*AiV1UPK>4_fh{z/;{NͰ%|3vzʗo&| #]:f$b >޽u?[CGTf hf;U­E,zݙ{aSP:D8p՚ 3jcu _S{ɁU`asā.ǀk8x蘎-QqCgDm%O)/݁K7%A=>wG]3w>F\N;^3Cognp Sg`xNܵT">Ȁ-ԅsSaH|9q|mN?% NݬC/8 CK:*T>dYPJ4QPnن(fMk?Ĕy|GMG6͓Ȉ1wlRDL|[ $I$$uyqf,PHQ߮~5So}nMop6)Y*ƙ MVi[=*N]eT>g[6;.%ڰHuGZn6[/dmNR_&$i7żheЯ 1p_Bp%-oQuь=1Et]n/6`dQ a~=  P]%BTfjVFk\Wv@ -i&5%ʏH+p=O>UqwL\KڕCCx- hXU*mm@8]YkZUVnc7s4q1s7ad)$3g@5y:}a {<鷣;Fgi>y5t2f'e@4hm-k&G ʬQy/m#(f0vaNd P:N0['|bɪdeBʏbj <,q{ڢm vfWtGiuxvd wdR1FƉa;=fd Td<~#\nհiY=鏛{~ y68@{Uli3 |@SWXvA$Cn[ژ~.Ħk~.l)1 ᱙BXགྷt)JJ)]UL2AwY1'9ΒFy/hSŌ[u {PbU G G9ܨ,c}W#Ef-7:1!T~$֐wKC>"rn# ˜8,CT&jd2aLNjVR섕61]=7^bo=ם4b$a<$Ð.Hϱ-|Kd#@lV[,SS[i$4qK)o2Jiog`rpJ~rsKJ"FCGW*Dj~G +:Q CV3Z(&fPImtí\;]o*u/f95٪82YDR:=KYQݼg'#x,^@aMC(h\2DaDY;ѩW ϮƆÉWb ,?*8h_?M; /ۈ]mPlj!XNސݱ]\=\6Vi˺^/|G5ԃqQ$?ɹUF_+ˤ*R|\?6*NPwv"6/4ۉ3Z\bi;PP0 [zJx(-"`Fl»I=`kK<(m^^2cw/^Jx F#E #P* 3/RM&TUv˹{4Ŕv$ u-⹦wdY~AV4VPxIBh"g/,8O;S;#j-༠WЖ4: cl̥~z =Uǜe]79FVږ]_Վ7l%P3|yL+aa…J†j_q*`}a;!]I#hDojs$׊\tSPħ4g)MXkpl틝۲z)^]{QlYT.w9Jk]LܝyZi/6>@ ')K ̓W}tFƍ7)IT_&AW<`g ~7K4I|g 4 :DrDΐ(2UF(Ii\CAvb&e-.@"i0ߗVU.2iO@k/ /L3'k`3dwy*EQe z*=w/+)-m{Lr Y͹zLYKaȫ ;d.]])fVq.tl57VZQe}@M?u-t!c+\Jl*?IʫCӽ~$v~*! &΋gn^t4XjAHp\,:Jz#>gΨ5QC׼zF[t ɦx-{0|>wʼnn;ӏqպZ!gCh3aP 7rɖ ']3Vp%=Eo,UbpS]̊T`Vsdaj a`ɋFmN!% %Rd%xty◡U\D둵hs+X亸)Yo5r oy: |pNaT1[a| Q }9x~=q;/e[LUX2BXGE Qw& |r7Ѳ\Pv;ψGx 7 Z/Y CՍG9Y@LOzI%{~bgr-S(L<O[yN2(8MWu. =9iXjzoЖۼ5pt2'}€н,Wδuݚؿt7e.,ؘ&ş#_UD+7_W]sMxb'50=su͝ƞvG,$ȱluv%[qvߎf?=тܕQG`wj\nLzM 9L!Оf(5A̜?naeKCsߴ2VF +gYx>+,u5dO@H; DD#K=Fus5^ Տ* u:@#b7@*E6mn2 $@k bw-wH7U+on]2_3!-phG[U5Q.ּ+Z7= ^hln9}9(( Hm/S"e-hI(c3@nl'N+yaל!@Iz1q4:Cn)2 HhMh-Dm+V-T q~~pz\])p1'wGlwL~G$un/Fq(qʧ0vѤYɘ4rJoOc~@Za1| ?kQZBp["jE+ X<<7-&0E `q^a,dJxUbKV<G?l~Ą>¹reOgd$wr .:}-w2(T}qEŎ q^'Q>;r)_}Sق.]({Ng5pAl>pՐ) i% /{'cRg˜hRUEh\b.`7lG(-nEʼcښ%U_jjt~ e͂5U{t;3Ѷ6& րZ4Qӷ`2GAY4zK%sH!wՖ#9YɢMIQHutɱR_]Ā)y@ TT9V6QֆHrLp]eqxk1 nk|y|iU~1@]`n#f#@hRgŽ`])ei4樫+EJs%>- o bps łS vҾ?" cGR0Z@`a@Q*zϣ:D 6@:,]spn~#ZCtZq :խl0$KV|*Y8fFU٤$]'#lsPB91Ԁuq`E-D+ܳYAs,%$T[ skҖCל+Rg&of,3^ه3&b1?W6D0N}ewF0=.·&r9Wae[Ub9aXȘ%{re_p!7 ՊBV {O H9Y+Հ"T"#-0D/F;/Ln]TL҂6bPlWPd9Y3oX,O2V`Z #[8ӏOD/!눑PRf-Y `2;px[N$Qy hZc"/]I q/T=&ZޅIgƑimɊ:p UP@-1ǝ.i"UDv&?˓Nʪtbdrz09+8u- ؆?nn ? A\rhc%Y%c7Q*@,xtv1ck41Fu5cVK^B!j?W]ph+i 17`9gLz[%AEo3$֤gX4 JDz#mHe荨ho!0+,s}a`{,e}۷C/J˧4ߨnWOdy_vnD`ʼ7#%2 tGؽŎyzv&~t Rt&.E7I!)} ',B,NTȆb,