frr-devel-8.4-150500.4.23.1<>,fap.p9|TFެç٢ UMO(yWXcȏ_=o$5@N'%/y_Z]@R{U"R"lJ8zaajU[RhXo56S}4Vulo0iRvw J[ZKS%(1s5Uoh#/Wh_<]Hl&xZ>əzƗh݅'Y㞛PC.*SI/FvZ5Rb.;eg>;?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.fap.h03-ch2cFSSUSE 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큤fapcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapfapfapfapfapfapfapfapc848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf58927d8c50a0ab8780ff9ab05db804db17a79b184a0f8bf15b4d911d11f3fc7fa361ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e55915503329a36731f0221b01b5253c9f699661c2f656d38298f2dc9aa87a08c5822fd713c8580ae843938c5d34e2e8ebad208301e96d1a5cadffad309985b56cbeb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71bade9f7d7fa468f6d97414d53d87e6cfb77540dc5d03f4a3a42f173d5493ab1f8a793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa11680947feec3308492fa73d3fcdf9b0865c0774572fdb287c4427595576afa9943b548ef38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5f1f5b13376a95d6990c5a4434748b21d4670d19e6172e3bd7e39db76be4ccf25b70dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714db1ff787e1e6b448fdd0ed463496842c0a5b19181308cdda3bbcb78a79f6737e3da33dfaacde641224913f4adc7830ae50943d88b1304008b1808d920e9e921cb1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d560569176c39880e4e12d23864d3d224bc4c21ae0cbc0062bdaa9ac230b95e7716e1647347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b564903d053f0f4e73fe174084ebd506002e3552281fdcd0a418b30c94e3db37f1af63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111de28934c5140e0a0ce88c8198a727b23c42d4e623903352d48292c56915d489aab60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e7caff905ccab8cc47afb63f25a53a84e28ed1efd64e61994a5673b5d7222e1583c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1da63eceb5a65a3ac287d9aee61f612c098d498ab1f691a73d3778f6f624fd9a45701424533712d06a2215dffb086690238df91f9a968f4ac100c264d8752fe8c1d6fa0d3fa3f983d4b79d7723e7a45382f61e432b323c2cfda66206f880b358fcb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b923c982f320422c3c7656826d509761f3552c9a2f8bff00b07399239d7665436bbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca50d0c8a75c900885619fe7c75d77b7cf61a33946f3556d6055e2ff0b49f7fdb4964160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e574389556699c28a616f1e13a482fd55e41395f9c9068e752b57f41d12327f6a53dee2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c9897553dff667c8851ba4b3442521f42883746c140a3d7d5903a0b27d3d8fc74a1de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c7343312e5c71fd2de032f9931ba6f22230362d9bb0638abc8dc5a7bf09086e0fa14ab4de07fc8ad5f9f0f875f817f0738bd966eb0df8d563337b4156f81ccdecfe20934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653ad6c969c84dc88d92e71c38757a8757853438e4cf378e6a926077f21ce13038beb882aa0653e686d5d11ddafc1a59981dc49ee52fce188e1e1d6d3e85ade5274c6975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf92ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88af1c2c60a5f0c9b403bdf3ca492794550dc20e7c6cb18ed72fb3637230a3199863f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad52159bb78e8948e9a47f36d55d662ad527ed429c1a2f971c6350a6696f07caf589124195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f0775461c3dd8f700e2b816b12bd7dd1e83db00b1d74e8f0dcaf70ad1f566cb526f20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf23dacea5c300b6c13f108ad461aaac0473e4918e014a4a7e2d0605ce39360fcab3a8805177ccf1ab9a7a127cde118d77e720eb2c1d06a04d131fcafee260a9584147b944377ad3379a703e89a6086acecd650404502f6c4319a31e1dcc8b26eefae3251c81beec3c5947fb2df8bc48b225ac66686508112aedba816abde8d189a3381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367f724a5ea0d72644cc994a6e7a40ee5e7254e6c4ff55fad7ad5023a396c47ba5228bfed601462cc2e7b69f3e09699d6eb384ea4ea3452092a41418bab15794fdba383a33c5ea1d828abb2e3ea5569f200e6fd186d9dbab58a9076e65702ca3172088e9776d4a87bbbc83d1f28373c62e8a8eb1eae1de0a13f916dd4fc0456cab5b59c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.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(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@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.2h03-ch2c 1717661742  !"#$%&'()*+,-./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_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long lines-qlф"5utf-8c30d62cb5e0f12e7ff541565b549a0fd9c6909bb512de64b03061f6882c57491?P7zXZ !t/㏏]"k%{Huuy:?$ g,% SP6*kU>=>Ԕ2Yh(J1+ wnc(§SaI#Hw: kѻ퉉OL6~=bt+'oiKa dTQl;M#X}7ZʟxOԎpy ꃫ޸>rS{W\ `VAIi?xזxƳޞ"9pq2ÓeX2IgՖlC )es=$=QCGUyWF8z%A^g IG X(=I6kaA-H![PCr +| m_:ꖝO Ǡ]6Ф~oFVrv76>M}!ˋ 0u$ 7Q'2~]i$ŧXGUT&7=tY$*h\k\9W-Ai; b>mY!A<_j&G`ϼgk`&q*ȸ7X,GcU ͡ʗW}{7'%$vo3t6Gͺ0iC<`^ܰƯo!.߶'P},]o!R}Tb"1^CQ/Ƃ! Ualb Y^GG#{71]MW&?8G1Z8pҙ')ڪ8巋d'1Ӭ ĩ:=͸{I[d`qbDė] gaJۢq{(Q>DCJ+2y9aD[ S͢'<1*O ˿.hv]Uহ\U+`t˶"jw´ {R~6~~f=X̂8|3~)cU:[O"o:~א##k䴝c ڴ'ϛ(LVEiZ ܯ$oMbg ;.۔ .B~]Ill—DVA#z'"O8 z]b<5.( qSv^[6p OCsҴxLFLDb]Fn'̓== Th!n~єba U0]%eqS#C~PLW#ܷhŸȱ֤O2|~% !M()NJP-sBGW0;*Q`u5:I3\ 2œ!>SC&틑[17Ʃ V` ơ3J>&5w]-B*f?D:g$b~%{/xUJG~k,C$c&^ 33L~wN~ڜnѬ[+s,9.YvG("zz>C;s%E[$PJK[BXK-)']fP~`qp{1T 3!z%6=;bSҐQP28 DRUÀxwpo24+.ݘn {v!0{bn<)ͨ{{4$O~@ܼG g84q;\!Ş9̌`hL='6 |ŘUס-6=;Q^'W,|*`"+,*f1e&}&\ uM.5Ց!PSAB\G&Hx]vC2iۜa5煱nmxu>| 蘌`/DCI4K\8py]O`85$/!%"PCGQqqk Qԫ}땞`e3O02pMZnZa|DBk^v9 6n+}[ *8!G9ekau6ӭ @ؠ1% wd80dt{);}aęhx:̰);:ZeV;o#3k;ky^lX N\t<_~N,V?wn,^\+i] QXqGΉPh֓,d J z _paz$ 58$K)vxv[pcxob:#BH pEZDѕC,ginFDx"&⥡kGeLbw21D.o9pd@(خ4Ͱ1 NkL1F2 :4ϝMYc RO%i l`W_S6 {Q^"þ^/efci}ڧc.[%[ !GՇBG4xNQn1 Q/ۿك%ٝoIKa|B`Ze6!-K䀱ygkOiJavܣV<͖ąv`|o#ULl'-u `|6mRQHB źz|!p)`H -3]D(OMbJG:õ15x"pQXoqFNyN|KGzEΚ7Ta Ӽ@:^.qA*VkMmE v"((ۢ/Sp{c :ms"B[M+ӡ5.QN P8?ē aV!ZTT+NJji\3a jh@4!p;@5}yOY~͌5;(YvjS]P|{~}Bc.A᧘}̖$2Gw:բ|4Gac;ƿD`t"Bٱ=Bb0MKKvR[Aa]0 3qSTmȖy~s*`Qql՗(#cg  et %U5K-^Pj;"SjhAD=&ڨT> Ee_ eX zύqXSF`Ƥj6Ds/bHNxŸR$5hH<![JV~-~TA(҇k.>UxveD&I7?":?;kyZ#{ikk6F~drSAɶƌo6şRߓԏ , @GnZ47[Ϥcs$9'aL[*ҴS#׈C)gj{?*w81ÝI^7zw@d r Qrه CvP{kdSgj5}<ȳ68N3T`r$9"5!!OR+ As&xBl:]C6e:4sNXQ&0Q< fLeɱK+:ZzhGnbė́ .e;|\ ѣ JO<% &چf}~#+U7y/,qKf>('䯥hk(~˚'B5WOʢTN)jzȪƎj;J^O3Yt_@iMt&Ml_g8vՆtVAe:U r^ώ72sZҊD _vY>kn D]Y_D>5`/&6R2Y;Ob}JQg5m]I+t-$ =™H6J)_-J0|/Q80V EI`l>w\0+^gՖ8aH0O({""XEU[jg͌9~&jMl43墷i= ,*$J?MPyO4onyL W} H]0jbh枮@VG̡琮V٭3C6 }w7H 5k/p{#'c{)Fti%G^q_Du L "瓬V廆b*ce?ЄL;t^&nQ+a/e@"bN={\YYoFI #}qe`EunC詀zptzj|rEnMk\n m =N9f(|}rDᦾ9_*fok1jRu--p{<~ݴƚdV\M1B=Nd璛#||,)BZngv?|$|7@!'2]{chUq6:,btgjuAqRZχJ:Q lQ7sɍ]pRu9 ۦ0̯19D!;i"9z}IʒOBBZUJ.ΚP!>2 "YG2r8yq_c ô8-TrPbzLc^Tto!7!jsm UΞ}%|Vg<")kC h.!jr??#]Nr]{~C⡾x#HwvTniLi DkV)d$†@NLۛQ'Tm^ _+LM̕L~VE?r+0^%$|mg+}SL6۱ t6Z-ǼfRJS[/p˻P={hlDΜGj$B q7#guc+14#`m*zF~5)zJ7$#?xtr$;ߴCqJ /sr !>ݢ:p!fRT5Fm$X^6E;L‹BZo0-orh1+MHVE"!A&P-eJ6 ЁX̒$l4 =qOv2 Y>%_,TXNT"ilPVZ V??DZ) )^Au{1ë lxszl (26H\-X8UIg:3Jk DJ2Gb`F_ Vt7_Kz?GG3 0wveXo/G8xQ)eYOgM W&1I]O5tz=;teu( g'۱9ɀ,4m@qze_ZP9dFhڈUM?&N'\ "vUlI08k5eL1>q :WddI-d_C|&W(A+S{.Yz>JQ* L@%ʓ\<,a &Z*D8WxDc;2#~OuFJ{١0\'%y6Q-)+Z7pDž[ |OBY?Vރ%xa HbI#ˇ~1dUWo#.8iý5; 5Kb9fz$ʶvntEnJ؉5I^Il %SVS83|wj.nRu΅5|w?k>)QjA1yyU c3X&/VtZUaP3+[Pj;*c(F1۷ {*i j+ϭ8U~HTYs-_!>=ZK@-UDBux"c _HluLaHԙJMvٵNs򷳄O)%OAh!DVS=2V-%:ԐTijY=܁'6ByѢM$\K#nj>A{3NܴnvAu V$0o3{/Q\. ĆwIu.c~l]Ǧp",#"ꡄY7EZ*2D%"2<Zh\ژbQNuZY b䥵g5WiLU$9Ҹ )0KpXlLtXX@#"ID܁Cm$jpÂT)kLVE;GMSh3.L0+bTs|'"1@cWӅc2.F܀G?(%پ\>0"WQAy#[o?˶e HO&<K9*OIdKvgjQ3] l;TȕB>|̶t߷K* )[*'k&BSy8yN|5C/Uq0o2[\ϑ)qBLuj128 2GWwIx.[k[xߛBAP {P9' IGV]Ak|9ۃ;c+Df@Yeir 6}ͻ lH(C/X u^xxRQTi3k mx&_VR5OnJ*ik$f"luzPGBFel*?%Z328qOKSVs²yRcNEʕCxзXN 4.˜EGɹ![ӯ@ FuEX–oDBYh bo9E:t~DLB]}sr~*m@0TK~.fsu-^XAT,Dw$zL}Ch֡ qKٌ+p}!9e\@kO L#UɓsP+ݦ_)[̳ހ@ E߫;(Uc_L[|)Cv@WZЕV; Q{d!Xsl1/'n!jAt]2=1G a]BGd";/nyG$!{;Ehy Jv |h1bГ{)P6oC1qYn`W9r=֧G0^4@Li_I oziJħՍ@؀<ޮK\ U~6W/Kq=-D)6Q`T͌{jB%2ȑ!!ݲ[MX0J ^x↑Z{ }u($Iĥ&P.'`Q1cy4&i2颹+ =M[M!~TɊ(]C}Xj&ԷX6~b7N6Є(]XcZs,PXuP#:)3ą(!ѽbÄ́?~4b9PXW*@}b}UQ8YӞBElga8wCdDLLpcw]rQpb|)bl \yiopQ\4#[zBOIˡ7ڔXmLKzssIBݱRY/ܶÇ #X $B?cNwVb{ M6v`jnxdh1>&.Gt6jjaNs>r mʒ$G{+9R̬0&h ݭی,}IN9zJBl 9F42 $.]PxMEvn,Nn- Z.]AZ|^*ykꕅv5*x\e 5}EW 9D2oĶXWIIisȏ`d_^4&:ܯeg*ޱ|ϩyK{S\ h2m㷺m";;g@u/ τŽV,*ϜH^ ecq6A) Lew(=C*r^A0/Zx*k}W8oVauF5BkHeWA.M>Ojm!O] V륗fb+BBs!bRC2xCP4K#*NqmL,-hlYI+h`('2Y`8G3c//yj80^])/3sZf2]i/ |QJ^LXXhKX|iT~ [8'}ݰq/K@ⶮs_$  =D9Q,^$Xp 3MIK eEn׿Ɖ\9Bs FGDQd<Y6XM$W>9A-U#nQNfG,ÂK}*ʦRg댧^{oHUxDXS]rojc`wY^iB&a˝0(pTq4,iNEYnpBvڛӦh?r1$NVJ}0 _@2Um[뛐$P P/2b5Y([X2[τt}0WхG<grHƉ9ME11(߰uNDCY0sX3E|I:U%}-*[]0<#\-N XXl]k[Erm']`k7ZJ}< |TW>DY)iv >%1fVbm" r4~9"G^i" ׼p0|S WQ5VOTtЕtVZ26'Yxm?- 6RbH \# /ɋWfpTȚА%tm`vuBSD6q81mt8nM)F'D1N+ -V:jpP?u>$F5bQMB:(ܟ`U$olfIzP$Juʯɢơil1ݛMYmH͊B2CxO,pjj+9}cQ윸e0~/<&]#&F+'ϐ#~q]71HG=Ɗ`V8ECODoXTw jwtkH3FDηB1nU*uG51-99Q]K _aEpI34YXAiHU3? }7]IЀ."CUt'G~0&2?iEh`P}۸~$B1lHGn ȎzvHHk& ܨ#Ⳑ7;J쯼k BnrD"P[9AVQ[Uj|˭6kcK~I+L׭Q? *${+Ich\TC*m9+REZ[S:}r^N+?QĢ";G+ ›UpcApyaJtݨ)$MAr4c8v[87G|lDh:YU#pd70"r/N3?WԚ;c?Q4E%~وt pRӷNC#E#|5gk)sKU'ڜ[][F(Vގqٶ^B3=B]rakJImr.AM*}BՋ"#L|)ʡ\kd(rkWMo?S63Na j3T$Cw1"6BI,ЙsX̉uѢtYCWr4ؕt$;xJʎGBCPzhSHTmepq/` ME$iz])lӴ 3荂/+v0qZs+qͨy`G6}e$dGGM '}jxbr\l*y& Tj8s54ۄrU4z%xMU>j~ؗV.x6E#c~pq&{˜"[JCx|j0X[p"9j91hv{#.e0(fm9igBfԏ¶'GlgcQpN7@it LuwFe/50p|n onT;Ӯd:~:2+ݫ+8"K(c<֤v/a2'vW7@v( D$,ȋˡ;pl8dPvTj9xU/h4fj $ hJa-ne||:0yq Yze0/}ޅu Hk2\ r w\B *Z&BscOnӇ'H8goDn0d"QG\j@ r]ltEv\ـ)b&yMϥ9 iquBIuCW̡ I(4IJ_Y(y oX4P7ZiC~{b ӗ'rgoik.(e;,7d d?2 !+&wxAPBInKz E q5D?kEzj,ql(C:kFCr QhReaCc9+oSQ~Gd.W*OiX FH:z/ijϔccU bϷ[=pEh䟝ZvH7(."{A~1>DfUi#)ᴿyRcEjdc]pU]! u;|`+BR7`eKWY3A-lhY\|ђy 7uJ-Xc&=gQTcH0&]QR@>);g!MOE~8PQQ!ܬC󕐂;o  JM#5a7PiqԷ$.(ƧIӇp'Ǭ8Ag@iHQRk'F ^ZY ρH|Iu{#&z7DpPWXӻpW[n!K/ Bㅚ;X3| Be {r^4}u;_L%I Ƚxsh0aۀ8!y`KmXbk2/?Y77o|8{"Mz7ɶ0+.50׺`R㯫;VNRSkb}yVn'uS#q;׏<'Xk&j4D*|]8 8W 5*sag"vIM|!YHr`WŽ̦7L2Kr9W7|aJGLPp3Z6З0`5><,_)庙؏Mu8Y$-\|`8 K#ppAys &}"~dȔ?jאּWg6Z;IuF zF=YEƐ4۩mфK8@$c5ZK ;GCĊTjѲYF?n[&g'g3wV7xO(sc;qJJӐQ6/(&!s}ݰe4o)!DGU(I4nO#Pth[>gInt;x#!Ndͻ4K6>,l[z*^5"p-'JVfiP4TJtDCxtPJ(*-b큿wC^E($tsv 梳TkH].rGXc{ƙk]i=1|W* V<=}/Wv\q1-~ü$, b1$,i Jz:O,-wͨ" wK6k ῂŶTTr"bbbl[mjuQ#wS`\(DDӯ䅿^hC y ʘNYB3 b, /P;YgbIĢ,[u>HIr~bKo qg [ أXd8N&y-wdq!={R_v:7+CVL3WƷ:Kɂݠ: ()wr >~iտ'p3k V2r=6겓%GU  vivOސ/Mj[pPDX.@8L[;A$X)r}*+}bňyb5eEDX$ώ2S>ڶCܮfԌwOǑqR@MsB95C/Qr3cm4ok`pMYv)Fl)|% 1&|~*nK)u4[ ݷ_4(DrkH#ȏGϱjJ֨kߘ_a)v0c& <ӱn @!8q$;ͫj$mk5b>$},- !{ u Y+{udoBl/qMu/U"qN !mձO1J% b~np}w(5 XE!W&*坴 H8/mPaur!(EU#7) q7ϕRуnh+},"mձfF!E׏c[ʣ̨D@oj_44bqoK*I5lBʘlӓzv˜u6* ʑQla+Lį@ILw>}9q]rV'ʼn9HRCP֭ֆY&Y9?E3Mw5٥eop[]Vfȉ:2i mmj` 923\OmaR%`u,xZ:YP@QAEB|Oxc!.esir?ݞܜ{HYgw :q -bp3; a.=m XgnF XЊCUG=ch2QF |.?߮xgO3n= d4"`) x9!lH~1Ls(y>NE3/j#u[E eN*]")=Z oқ+0-Լ{$f4yͤ)T! JNd|T@ C'\faHy)Ph(Z_?vËի(ģ-8+o~?~k&xJvu^J\(hעN=?߉pK ?ziJMƖ]J H|^ ہӌ`Kpob䱉t,FL(30}t )&KYrR$b?ڔΦp:TB I$ .Z^wŽޏ%U֨/:p>:u PMVKƢ#f02B=L9Gpw,5T"j)j'!;+Jcm}KQZP j eѻ>SdK XUvj viP0т.opZOD4%VKZeJ+5ZۯgRԹξ̚m^O㕩+tZeo9Wsl [ b71:2U~ga9&k /:„wi!`fy(@Fr*F ۸iWz$n h]#!سQĶ84 ௤I+!/Ҡ/>]lxuͪ'UsK.ZkT!;UF?U3.cjEkE՗E^N6LuU5`C<".ȝ:6b%Yq!4a*L"P- ?ʩ"1?`4VL->/e}G;G8KF X}frWͧc O{5 )¨ r}ıQT\8?nbnIg^}ek8$6B7?`re<΁ >4wDLR5zsz9EP(ם ߒN((͍;юK@}c8^wvٟwAaK< aY{2%#!)am9en x,n#ѧ9:WKw@Eyl8\FW`5u14 z;TM *բނ#,C.i(@H}17U$KοL<,,d 7p?4iX RkR)hs0c褟edo4(S.ׅaSy(K*);pL@)c0]K H H0bV"172;%0-`5bV}D/Yx<2 \Qi<ڻɶ(¾8MnQrF~M>fH"$W\J?Y7'\pf%*01lY]41OH-R 65AWVLG|Þ>~˲ՀBu@~;6ϕ!Mbl{/w" F<)n"g>XʇH[uqR@л!`#F]fW/8Ŀ`.ʩ9ґw}cf';:+f4-fPoܱ$ %>C({jFT$Q?p|ZeJ(~i punbQEV<=9qU\5LJw , r4лg~a.`:'weN_CDHFuԻeG|ܵ4fhD|_(Y_`OV s ?Urح\Ahh5#嘵ҟ%C|ǝi2w?jܷ :fi(3Ġ Ct̢=m9xVѪMUn5(MrbNEͨiC >V<#{J=Q  MdaԆQ*˒-) or?Ex),zb+5+yң<vI?Z0+N ]nD]}hV_x2iSeMTm9c.OGLMC ʛwc3y;PEBX|ʫ` rNIG2__L\} IJMk~,~MT]VU7_cM'?dPflZu[EX' UM?y9D2@g '7Gh\}oSh%LvCue NHK}hPeݵ-~M :eϫ+X@7lyzMrpvXȊ,ӊS81~5tZO{!X)Z:-vb';4V 0+yEj>lsj[ {1,(/NRL0.^YmsncfB#Zj~8qbh:zZ4bA5~UHޏҠ`L6NU M!kMZ6h2ۋUG]{j`\sdw>|Ϲ#^F5t|a+jsw\e 3?98N%mwۏot_ҴŖ8@g(HG^Wd30BYI$9]:1f{(I=܁І & XٿW(uoZp=ZN9s Vaq?}@)8kEhoDӆ#_ jh@_=9FIlZ^zl Q6I/ >%(4ƃ)i$6E4'Sa"jRBv6A_lQ9E9:H/ 99,j.E;%1lC 9Szjy-!kkbmS1[9`gDy40^T4>~|W­uAo}f=>]ϻGJtܗ 2<[+ԮN{ Ic$rO)o-o1 _Om?X-K~\ א*&6DZ@LlA-k=ew`Z}+L"V囉 UE>LHK۲@~;fȷonʯ>ߤO0説\;#Uе5$gLhCV0m`pOOb.R1b^ aLX՘GH O?=Q&tl y|}?eFra?x۰'Lg-t~$-kv wl[{nvc?ְgaSfqvX"S7;t|`IM ظ|zcO͇xvI5|v7@=Mv R BMѿ(׮ʩBߞK t@"Ӹ* мiaXzX $vE ~M;LԩFWq&GVWk͔sXUTu1up}@ wIZO͕[x]jnWc 8ژn* \;|op(`-~ZΣjD!x*3rx,'qfA1,f$~tOķv&V+68'0C!0fG]m/_t@0J` i+\p})K*z Rz -eֶ6X81 ۬yIӻ'0>ScD{8󘜰i{hQY!;`qL2s Mq@X$J" D:ݪE¡L jٞHؼ/pO -.=fZ螤R1w- 9:ﲰBWP6 סG#CNR,:i:Bbwqp.O>!EaYf=)Ky\[:^ol^dj{l]4ORk5#_݃^>!=4+IG FopHº$2p }zD:d+o;"LQ<:~%&0?޿Ǟ8*%!_܆!TLDُ0^= DA])!L--eUkg0})V'VaW;#nE}0^Q0.{~ϤKq _5 0Y#+3,HM֣Cftt+]\G)TTpmTL{ )a>]pL4sՖζ)冓WO+QN.S""OTTe_j } ~i-1u Pܚ 3-U.Y?6D0)^*5Mä6[!`O:"U=tk)@#HF)V/ז(&w^ BSFVŠ׬ukY㢿IȣQƓE_?aiQC 67 cy *NFr<8j\ܰi-dȒ%AljfCk$&k~3quZZll޿YQ3U]*eHL$oW;3kv ? NVہ8O{Q_2mZ&`71&{MXbU:P6~fYWdW/_W/O`^ZuKhhl2sfP:X@2Ā<Ԩ5aAZL9h:A`-v*t/;%v@(7[ =j ӨL˪ZIŻ(iQ8tbli6! cuys"&̢cxOڇ]ٓMKRfh¼-`q◸RPd| a0 Wpi0%n$=!~X^ƏvbY.cM25x0`?)p؟bdCxO:nO|`T'f6ZtqB\ǧJQחՆ2M_q!OSbj %Y{bNA7M0wyd4kRnз3W?RNH rXST62ɨ2h2hGtT %2:6Th450YHAd2x/靐@%GoC15'l>^V<& ӽȩQ+Pݧ]~P [uƓ=4((Xb",G:ʼnv2r?J֧1&-/]h#՛TTH8RrjL%VT0AN'*?uq?ʾ9& hco_`>M[D6,k8w6M :_bdTHu+ی(1Yx9xFFէ>$V5p|FA@74|yԙ^.PMƙ&]qwh#>w7%&%57q\{$*ǵLxLBpOjUsK rF6:Xºo/.{ۻY4s8~kt=ŮnG}F*%"_g=3uzDfs"cҩjt..qT .B=[gM)DeǸ\/& %FVs0ôu39|ƿ3▇<̩OoPhqu\Bdz N-4z+#'_o*3Q}}./낗rQmpM )uQa֍xdBQS%NTfw.F\Ɠ_B#@B,gk|?ҡٮk)N_8TkJh91tq~(UE:8!k.b'BoEt*`zڱ'l:>8.z-#).k4B#[v.phAo'='v!xsd'Gk嵌 8N3%­~ac5 DvEZܺ>~HG=:aL /?HR"< 9A:5͏ۨ#Uҕl,FkdY"Qu ve\fhU=#NB ݿ?WF-P-8n,oA[yxԜ3o&bt!-֝ <j);LJR+GsyIU{ J$Adn!z2Gkv+|#_s=uRAe T{?֡\|Z!Kh0qM04'XOc"6s(%>߯BO}M 92Ek|l-ԴDMQ%3yTwz 瀙 qz,`gkGJ-܂ 2ݕ ErѥڢAg #}4­Ζ]p8qv׭-S`0DiaO]Ș\͏PvKTk@UBoqbرHͰyXBSTx|2I>. ՛qh4_) tIJgz 0噋1&4dM>qsi`/ :./}vpZވ>9;h^  ?ތSe2SV9T'N`7Cgl /Κ. ;eHx4n-ל:v/2dZ3Qh S.5_ZGݩRJ#fE7Z~Aos.~8[XO*9?q 6$![3eeH8/BZL6`h00D^$=A{?~Ir})NkPPP]\NOv9/HC̓{# }0dȴLϰ|oș'Y{M"Q:VPE/ڱuͬ}KГx=Ͼн#e蜂ӯDWʝ4WX3el?0!YNڛDYeAT}0UugTlv"¤:yK1ƅQYn9m{y9u:\d]C kͬHMILDfNE2R קkD 1)CjԼdA iT5;~y+ /m. >r?ך&@..(cH4d ]UY{#nGM3'x4`-׻ĭ_]ۦ'jdV*G^uu[p}2yP0p %'Y ;cPwv Zg gh=gG %) )9 Y/Z~_jߨa FFny{7L\m"t w$kqt]E1'%cǭ#?s? vX89})VjP%̉\q>SG-rLtwa\c@?  9a`uA"/QPJ']b@s◈!L: RS&قV+x2[l'fvv8QL$2l]PC'#Ƚze0 0~GN[^wj, }g?xʿ:0̞Sĸ[Z-$bf<\#SΜm5~*`44?2r{_qm/-7Yih*Yk{|Ɣ 1;jM\Bg;.׳%iW ߛFېؘ9ruQeXuOVs^pSQ/I.2!>0C)EFʯtǝL>2=Gg3 P~eZ\*YD] -<[ݬLXX+IB@5mc1>+f2+ŻQe1[)\&9kŇ}(6}N72Ο0UiC@eQ-Rנ|F!A-{3&Z<:Nk _Akpgln&8&U.]O`;Ås%V T^@c~?pɲk9 0C!FD'a@yqqPM(_ v1`MHZЦ:C5 m݌$W biJOI(zܔ {)#EeUF25H,'Tp[I)Hs1@s9O6i|UY@3re.jdpZIag+65i^ ork_C2S03| q`$ՌNHR3D?ǀ-5:yR` j!(*9jn0ѡ~slzE 3PBڎ ̓wR RWq$~~.zpկס7|I3Re{~D_6_ʞf1"WBFÿ́S^QcPVk>eKx7sSTNDcR7޻#j^7h7Պuk<7I d lܶ $6Y'>3Љr]U} B҃5lI2BehmQz C_VVXN_ K3z}_'2@j8;8{Gdw3LvߌĜ>j$<(KYyh pU)087ܙpZ˿Mߔ-sR])PxggqL4"\8w-dDp X =mjQC1pԌgY8 %gvϱ~X+!|أC-%y7a_c`#5Fg(毪u$(4Q"Q4#`dR$D.)o3f}BIxqI*@/ ;h$&K8vipS墠 '4IT9Fj1N؊Dߢ,fH~ը6]XڙHO m .$ U?fz\gNj)bĭr$=Aip.߷2б"!W!1sB$/3i8JZYB/Jxz*K}Dv;.n}%+ }Ӊ+AtļxuLꈘ6E5#RAbC 6nHvaZ']e<ԑD7r2eY,XΆQizpV98\C1/'{ِ?m@38-,[HR~˷u 5(;ygIm(Ő)|2:X/ 懋T3EHtnmC`C~4B.5£ؾZh# ž) 8xVCPh4c zaKi IXP He 9l攜H敯8&{[w@n 9bbf; l, MhQPy*Ucs+'Wn㌠ҳspSвMM}Y/)75fj,"|ce܆ap Sȫge`,Z 83kxH\ķLvWt}deokҸ 64|\B=dP{"!Ai6bl#HWf&3hP|*DiјדbcهtkVd9Me ޫ:[D@`7,wY}^snU:|rCi@7b. 씥S^?<6IfxĩVnwZt.lyqѵ `bzT<{w'0V!KxVxZq|^NˠMPo%lw&tQ \_49#$"0ԌaSEY-RjF'7 d 5}k1ԥ>r.Kkf*Q3\$ G.nVp c a]&w/tCrP$PoguiǑ6 ]d. Wp :=jr?]<.e26v /4R@wK!E_V]V1SNɥ?ʌsvA\9Lnğzm%זVϤ_{hLR%lu}7G y9OdGBIc=>zM!"V8f|1i'3R+ )Ufp^]#V{ZM4"]MJm3jb[[H!7L4K\|01$RmJ.1 ڰ=lƱ$,hq ԎB>hXQ@^5[PRFoT7Df[1X@<8a"? qPf>!6).*nR-;mG8il9׺d{SWlO>=)K$T]xX ׭4J)+,a{1m/j,ҚGȐf_Tᚬs~ET®~ha7OgB0Votn{*}wK6 40]]\cajRpIrlaf@AθD:ED.d2dFXvRN$Ծ7spΩNEtKbqfg MVlsZI,[Dz OBo"!iXp̳*5kں2FsfT";+, }K̈́]s?(:w:8(,ӡ%\sʮTw*NtpWپK6!s!"E>d8yŵШ$~0l5myn99*Fy)'.ɝQ%bW'aM'X+Vc` Bφ+b:ؐzEnW ۆ*v.M3v=qՑ> X :aHU)΂ܵc9n+4N\LX\MbzJ@p7;̏p}C"Uo&IidUҺɺ@qEO֋|JX<,t]Zs;4YYml)guX>~C { ³]4HU~ 'b!ן.[$]uD (YR/fJϫ&: ,X*IɅe;\{cX\F; ?F*ruU䰜׉Զ:QA5J*'ͥ{\9.,;xakdf'ZajL])pRG&zDAT\! YgeԕA

BH|65`嘵?8J1H9ɺڥ ĭ<6SEpweZ;Iȉc - 9@X{Ĺ/{6`5̎g̺;wM~x @ՍNLC%EsyV!L%G&ӻ")l_&g{%T3҉TY%)EqFX??9-n 7 fϘ[<* 9z ShT?p7-md3dnkjypat0 ' rx`&$I[roc(A ukjW5L&*-C *ԭA9ՇC3i.*Vң2A\\Sp6Rsudp.D߭(t*'ϝ؞9HCD>u$!uh3e"o|j^_ mk-Ob3dB* ~:YIHѪ-#RZ k&zM'bxNW3J(U~ۘcpd伵`71 lIeԷd_kj4 TDRlRdG{39bMlv ^:!+""K yypQ'gm#NS&+u9ؙTzדPX 6Dd#{ĩp$0AdS˯އy:^ v)& H1nninED!,׈!;xrlhr'1)e-[40iwYhoQMC j@031Evr7b{L#8^} H7X=O`34&.H1L߼WYtx .8OJr) s 5@D )'^XADk<h/Fc֏~|vH߫Z3ɢ?q]H#C2&ď2*pdoX# ,2h/SY)8Bj6ϥisP91Ή~M\?l*h .Rٛ^j 1DW i&'3 m8+V}WLP8UjNI?jv/i=oeȈ 42ff@"&Idq8G3)xDž\8[7+Lg1/BI<+Ȍ ҌU_ ;S.6J۷N@Shke(5M;CПV>XƇ|B8qn$|s4By0i׬방"Hהx%N Aƪِ kN Ndwy\t4 DL=wPv0]Y(U끁t?5B.hQæ"II.z13LM0 dV&MUOJ粱ƁT0@7޶ >WZ+XO t,ų4J>o[\1g"6d'8E`9=V)z:!`A. Ηk]1;hގ-X|j"VBh<'(n+F߈ʧB hr:o9Є]$`CRѯ:?Va.įs{Q|1H'efdzU í:,8| x ByLh=\lϿ]?jGdZʚ{{^qI5AߥM}Q*0Zigyf&+_q"WEAˁe 8jifAYyKKd2 6ޖS<_'aտ.xPS<A݊ 7f^+ L.Hs`KM3OrĖ~x6j1isB5}N3zZ}+oOc'xۥgpޥAӨf /B%N#xR}VKD]^SP1ZBcyJ%<{v.hk8 \~ujwm;;fHvD.E*/8HߊHX^Krx\EV5 ̴q0)C' ܣ{jnv%q$)#C : L err 63ɠn(~w+eI;Z$ÓӮ8[kڑd%c\ ɵ8[ED LjDjZ't<3q5.;GAB-9頤g6a).\@$N!8 >UCgf(ږqmϹ[D# pS:Ǝ㶽Mos0%㞴c<'Mz>Ɲ˂So%rkeĜ#ٞaqiD[GH#3C}D[½ Z1~ ,4Y^FĄla j)W|>Ams%oukgy)7⾃* Ǩ-}Qӊ<bQ6 l_C%P=AU25mgKDzD<( laf= }cILMJeP JF; o*H2?F"8ɬe籔؜0n mzz0Ktr-O4!TmDB@4F&Q"zizKw4t8bMіrے>nlj#Għ%zig zd"9[QB )pGTtk,mA<]Ӊe;0`MAO]WuD Dg"/=>r5~S\D qϱA/%Vk +Q]][ t;wz|s!J:5G (6nmT+i>.PeP,zAuEC"*9`!7Bk~j7+&'{rdR8?%N< $W{W5%0:܍*Fɬ9VYJS )pŇߡ}˨mwR֛bnzDyy&R^|H3t/ˆj.cYBO _"_dJb + ?u!JN_>CSB |1 Nۍ#IEOL%lΰў*-yGs/?&<=Zf 'URŁfui ޻TR пy{h;Bl2'lU9Tg 4 )cNA}1̚^brP;=>ރ5lA 'cݲtu8CId6? e̲4s?Vb:?!JEu[JzruvB?B==){n e  E(h}Rٺ+j(`y\o@;uǃk-8Kձՙځ2Aʙ}Gf n Ҷz薷V+;aoBG-bJ JDAȾBgu0f ]y8PHPKNܩqq"T,1-Au2{cSq cDŔlyш]ıLjqiȚHPiD RgtWRD3 ` 5,Iܺ xayN JV3BxB`ͭ2SgQ0dl({W6JGR҈L15RuYm +P&onJd15+4Ҧ6{N B^};c $Il[.uW;+102*E||336l@ jC% ۵)25ņiS^7Qͳ 1b3g^kϟ¹l> Kq~]ǽkf,C>ϸO5U0G wꄲ~5s>h92OK9iHs%'FC9/)J¶\8*hmMlHR=>Wm;'K6 Q1!zڍR3rx,}fՀnͲfst9K'gP`/ +I?&@ހ襣ɐT4=@B UN5 HG-Lf WP ^dÿ|wZ/jF2^[Na5}ݣ?yHCJ+b` "1\+\4[VbB dlD+"M &#_4n`YA2~mG`([gW*y8|7_̡=hiJСtd+ x-|LPwcOLVvqj=$VMLC>% ËQR& Ez@2j:slՔqU9sf\&|Lvl5Ez&Ef|qZcu&nonaϮvN_叓Hs]*eJt crk\>Ё@z4d6ܒ>y VYgDRpk ć)i`ZIx$;@kFyLN* ,,eFOV R`@Ff62bjtR8c+/Ξ!kecU3[y)%=@!\Š1|)Q;C'_ k:_JFwn< Ka +M̰'YaYE&[Y Y k2Q!+ޥnQ 8Թ`G@Ϻ8ZARi, e+EDdi_7% 3z$1LlT]G4_Ov}ԠķY醰KB&j2JІKt g.P7 D #CLUͣwzf]TD_bБ1cW0s\=>]@W`03 {+؀ ᳸`O? әPt00u~ Q:k3KR7].TZ9L)w-Ρ/Q֨ߺ@QчIc@a32ڕgv6ͩ%YA$Zt;D;B9[u+bّ嗺: S1\jG>Ç5#A…V(_ %@}7Xɏbu=m7+ tiGʉch0VvCtK~__OS۸9HV8Tb9s%CUY"*$q>J/H͝bYd<' _ь;NՓXwMh,34Ы}l=7g3J6>=`#O9|a n>a⇩A}v,t^t\G[BXat }x\B‹YHPmI|zUcHV> V`M ?<Ѿh; -p4PUcHԶd<j@e6l|ڐX[^8 Z_dT   M[v$] =~yĸֈV&Tpp=:ל͏"g9D@LZǍ]Pj|l&"T#^d٦WPWު 2j4mYNX0y3D4dAkCBֈpXxZ|Ñv{ZJ=EAka|4>Ɲ\VnG)71x ph[ ;)x. 6(Mk# =Vu9'z"WƇdoV,ДJA|Nn$5Q\o|?IN{ ʉ._(8uŧLF ff,(X(Ͽ5;ahC1?.1|k?t^ngo~zH3yAѶwWq4Jy@傪';~m+T& ݸoJpO5VU_ 'Nvc]/1!`/Fϣ5w LʻLich/>}T_! S3YpvY;'^R1l+5ћT]s7mE2wJ*&k$)GƢZd8{=Щ= $->LoLLQ/jW}7+` C0‰pR̨ЂU K ¤ΤȔCVBO[_ WUd1ߍ*sNxaw l֍߾~ Gmd Nl`ef_#KL{jv4]V055ǨN|BR{6*$\ v2NCP\rOcURz䄈6X(ښ&֒o1P7^r>9P%wBJ<*Jt' ٪wXak;dn2Oﴇ#L>0{'@z-u޵uG.ƐչShX7|,tuG^kÚu4Z#ۿ%\!*wi;swlMEm{ 1Ja2i%KKF;8^U;<OLITH2Ȕi`_~984aVj5jkZwbٙ~'qX7M늌algy֛+p<s1I,J-c&kA3%2xOzI*O:<*7[醨`%8} aӅC@k6> ?|q0ϯwozZZE`uy0. 9d_LiԠP;WI=Q/ ])~+4Sܥ CLASf%n[^fK9$MF9VAboy\jyk!9+ dM]A( =JO*Pkm끪Xۮ1Vk_^/!d]srO=}77R0;#+ՠ"Yxd<)UC+sD֥y@s _t -)swq:sОW9q\6^R1&:uNk [mtbI#)Xe}.,J]mp=zW]WRpؠ4ѝ>CL}bS濧/XO-YE&֓ p<4fw׶Ih UTs#ÉbǢyfBgܼRwKIl\??e0ց%<ۛ;x\Q*M%ƙP-YB'j05t.}z#pT<{Cz$LskMŬq"gY De`m xw@{{fo B| ӭC7(R}as1M⬏c!|\q̤G.K/C:_55I Nm0=/ƃ tOI;a $c; ?Yoƃ 02]yg!I&6&#MIR&P_ 7p,LP"m-wSͯ!MDuc*R& $;x(wTz3dql'zE?1`{~:M5N930ˉ0+܊ԉO48}Xd![6|Ui.O_0R01ToZ:j~E ż,@w-z|\VSSo:xcD^Mpcrа% &_j!Ø ,%J@D͵Cu%# ¢m9 @P݀k`['5<~reUڎꎽu+8 2%le %}>P|ږ!6|y&EʢztDޑD03k jc$"1YPWh6=8\6Q_kcjPxX(#"i'1=e؀V .- _MLp\`"t>ˢ1?@6iS) N= i.58!MIёzWҲAA <4^\F0#ki7Ԧug$-al6q SͰLhUvdFāBf:6E)OOW(ѧpc.cwlL+>rB*ya=B):,vc-1,1k{$0@Ci+)7 {|Ǯhr$Fl yˑu<+W Iu͘W4{h3!T+go">*PH=]PKe7`Hͮ}p FNP&Wr$_H7k՛ǣ}g4) i@Do]s<Ԁ@`Zxp`-lb"@o."O]HFPw‚YE~iu^u sL:)Po1R| K{{#uNJTl\'Vg?&̞MBTimd' V٬؎~:YC^\"RY7ŃɃR!NaØh*@ 6U7w5âKx%0O)o5^6gPd}'%Flrzu q~n$5?7LIHNuI7vz4K5[:l3;26AG^gr,Ŝ.V0x)^Ś-&}tWʭ,DM1l[a@,ZD!7F9\{\.;mi]riF`\7=>lP~s :Mxﲁ4/%r7,cbr]HAQ&e@! ߆\$m+!s;Xd28= ۲]S%-%䌪t1kPri?;L;ڌ}RF9:o Ą0˒ľ!24,y`8iDޡapnc-WJl[JR|WN-2~x85RXtzSkͰR;,:7B,j{f{^,Wt82OF|[)͞O3-V2I{LJ 6}! Abx1lSޙLMg^R0[8@DBdpD5WIF:ŽH!z: T  ,PTf%azڧ/maW<Ռ B-].Xu2sSdQ,sy@e]kGHJB0{*1Їрmò }k -GѠ.ӠK!syې AdJ95"6߿ q"6aS@t6TYw Rw% (iry,@o1)t$d-kV&; e%Zǘ'/qۭI%0J1cd25Y(w4HeR`@XCRkفq .͐`1ah+["~}:ThlWmܙxYeO)?i~9D˘.{c э`3ͦ,4o '6U%Y e:0<]> cTkdȘ:o@! խ:][Λ^^/u%qP ^pu = !xY n$CךZ'zdq+ D͔|ۇ%ToȔ΋PRLKARʱm=7vI5<_dYs*5:r }ezfWYZgo"ʬ,YG :ؚȟ0#H!0}3a1 xx Mu_0&ǀ:3414µUF x,PH])^jaBD1ILzb[BVw=v58 Ldg2Z:!~;J6ŵǀL(GU,1tGsnHH=* EjxhPH!T|2̎gw<$qEsyr ^EZ&o*Gc qFp>CkrDŵkeqj7E9^y{;HgB0@Of$#1XZdQV%<(T<f4 nrh|2Փh-50 GBFCf;ͬG< {r84mv,T~c Ŗn }["bP6)Æs@(%i" .Vl3Kh>%<4D$ hpV<6(.]oIh ;pFq?NzXg~/ s*?B!$)".#ɦ0^!-,/cb3(uЬ7KdZ݋%=h}˾WK[SPphWS{H,zcq62#ލA,)~}U#[wf>:m܋c^n .LQK7Jwq% ipv?])!Y>h8҈1t]]X(HDVݠX >2RެQjtfb\aY,o:3RL i@Dz'Ƴ{"3{t %?,M,#F})ԝ!"8ukTg>'Vq)iG}ށ)+ƪ7G;d ڄ ]5?ϠvaS~hU:B]PrN`US455 o0UҺ)O83)8^lXm`]x% DCڿ6SB{.<MظMh*BGC͐ODK?Xve 7~]ZhFw]:-6}΂/ >2H5ѬQ1M*Z1MT`g&#QInLc%LME Uuҋ7cunbKȦ-z0 M':l7vWi yN~{1T'Svg;IkZ/THqpϫ!v#{x)z(3fsSex06wp.ӏ|Ζ&s^WB#%WYo\ͽܜ[_i9u4?0 L_yUbyNZn-?q\ӽ(3R&7e]G.)젧b3)xy|yBirCjz IBKEޖ zwCSvKX m$WDmg0%8m8C R=#39B6F]&+y ?xLXF)pPZ`"-}8#T9I\) uMyq&&1D-#)>@21qA7dNaʮR=f w<hȽs%"otCl|5W:A9āH,,q5إ7ѻZ͍FL9Oԫx[08K15^*ȥMx=W fuB ƣ j 88\KX64$q@޳Xaes]-}T!3J-UZzgYr[rF Xhc *uZrڝ r"jiAKҭ.GoJD!s$:]C naL\`9=:o#rF̩]V!!iZVH^{a qI}LD:DK+tHr=f"(X $[%:@OT(wqٝ6r"aǓ`Z 9^WVʬmy/FƷc6]:YwǷ lڧJ *FgOgLܿ R1r"X K~jtk])s!8֐g{R@]w%'jޙJ:I*FaYJs'궤 \t Z1 ppc9wXS,XKbA!>zLdA|%jJF-z Eboll,7[t˾un1CVZ?c H3<\TΨDo(%J>S600 m0QNGw#8T.CpwQ3s9VH׺TS(i(tiȯT셁Arߜ6M:rsX0 ׄB O>ŧ0> 0"r9qWU)0ρ 6&-_$aR^*Y IƤ\f>G.v11jص<=7ٓ}y$i°Yf9-$%qKKc=ؼ A~.nuJ7th pM5pBSBv.wRtP5,Hxi;Q&Ik/蚭EN7ˆF}!҈BD(K!Ә;O$Q5p vJrp?Om:+Kn&Xu.{.|8fm<is3s3 )"(L$\xѵ \׽8*Ʌ.& ;8jQ1z|ax(zCZu+qzÛA~iB%Y kr[jw4{Np}Л0'lX4ospU% cCS0Z kG4gAIçqoϒO7V)4~_ bͼ@ :0‰Nܺ޶E2TTg-ܹCa$ކz* 5Nm@-:⒧f<2Ճȳ 8nHNz]!Gyjl9=6Wqԏ5ɻe$&Wp(6Dʫ=$H;JS=4y߭G=;^Uz;Z>׸' E $"$U=Eg])8 .DUW(oRcJI Ux?+odr\$l:<ڲ&a~~i]Tf5}Іf3_Xn Heg+kOK.(8څ?5=bG2SnFXr6.)V鄧?P +ת0j%Z^j+\LH;m{6@`wڇ³a̡lIX/da: y[6\X_zƈ=D5gi!>Y7ugU .Ph͢G!!uJZ>G}C7Ϙ0R gOL0X!19럣9lf[L0Fh6^/&ќ?0ף4r}QD f]4;b촏tSq% !\ӂп|\{5/>fYB6V{.ZC6~s@ 2M=t.jNoF"xa HQV*1KݱJuӸOszeXL?r:&l#"dg-ł3zT^ CgB5VЖ/K)Y !~SiJ?{^C @g_Iĉ+¨~gˎ9|ʙh-kZ^[9mwx9`~oz+bs8#@6_Xꊱ0p%u^YBmxEY |:t]rqdc@E\eWT׉\I\of ݸNOʮAgw@yp"~Göݚ \VTo'a#Ul 8^3+rȁ2D//f!dd%n n]l^D6~S ~tGM¼kXA<&+EDCv+o%uP&GԆ3`*mgQA0x1uFA`1㎕Vu)}$’e }!Y]W:B3IѴ F8FF 8$P5>_[dm1AZ4#W6WNNp?+ Lqob2*הV˄`˅C0yG[D] PbnjJYS1)D%yOUD07oā=gXVW[T*^Zsc:>=#~5:^E"+oUH< 7$[ab`-W@&\&ӎ!w[+3AJ 2#=xn4QeA 9V*VZ=bB l`qg|ELI*v@N\ korExh>0e>;1ߘgB4"ߦwNU&8- DJpE1G| ê"PezT0w8%MgJkK5@U}P Bb1lkIt;lAp3 Hx;*K!eR=3si\ eiPSr9R!L7^X u"+b#)3R=jeڮ%c|,~o` |B`aYTnA} ,&_<4b7{vqoM `kDL0O[(Ͽ簀 E 9+#6@P"אЙϚ|&7kz+ A?)ć i}J2 `n lsUïkω۫_֕uREY%fWZX֚BI~bQfis8(Lhq9,M8F8hlג5)f5,vӪ/_1(XGc,4dmnfV\\>:[$,XO,},&.k|j):V3Pz,HgMqTN~WXl_?ez 65#qPJ~sZp]aAAyCv9ҁb[Mt}I(A5Wz>B-UgG(RP\~L /uwT5+&߾氣}"u a(R( Ml OCМJ7Ѱe| t$u.l\9 rD[jIe·[wPޕ^],@ Tn;'Yn`^ æɷpEyח}iU oۊ֍]!]Թo.3dM{Zl٢ɒl/I+L1d<,bQu "7 9|AK#fKnuVep$7s3$ 01bJ O8XܢG¶?L%brE@-  ?7kx ZqJhD6,Hl*W3wNKXZ=y9v<wl3 %q_z J)Z,-(-3UQd ]@Qqx*~n۪Y󉠀/X v܄9d n.KoU}9ȘuPa P#͵Y2 oyK+bY'O Ju(igX o+Yb`|hm c9Lhy fDm\ ־5/QMZn` R*b -wOt;BDJo=\62zCA(V(ۊy@ANgDw}{`V"W\ѯKKhl`=u 5RIDN]x 7vlbVv>Zwmzhfc 8*0 Q)q;#: } ڳeĮPtHY^\f.Xǹ+?pw SӰWnSK6̶fw"5F0g?ڐyfڼVuFI d#Ơ2!n7yAԿSa(XEP벇\(4U)<lv(6J s C9T;Eلhlɥ3,X^Qx[{%49 O  @X,;1bhaL¡?FN,#"A6O&. JW$fkon<~WН8{`q_Щτ3Q?< QJ/ЬjᒎwIȇj*$%U)x56Aq4ueuT9*ߴ# E/ Iٙ8D/+p\’T{},m0NˉIn I$GG)y"ʖ.鴁DS>gPj@̋X`KDIj;i1$*,*~~Yd@;kptY,6@=,g\t'J"03g_ ;6_kud4` PVY }QޯrOiAx Mg37Vmљ >X| 9SKrV;wJolSE_9 7nYܫafgt7QG-\ƲOšx^F߭Y9 kDOj|l,gpV؀f-gu#7 țoO~#m~+]nHu;UBڽ˘ iMx6,W6Ԣ>1 +vsw'M5 sPLwA$`-UimC6=͎3<u8(xؚzE! + 5ZHKJ"#߫J&%I^oe8|V& |ܖ< w"ox+^`6"Jeh݄N(Ʀ5TTu3B3yM;׍u7+m!ʐx08^ZGv2)v;W۸**i5:.ۂkZ 2X! X24Zb g=zQ'j_elc'.!0nL4v`QZiٖ_Ifos<}u'q&ٝoM_OW[=|F>~F4dzg񏾥aτL3}@;mD}J$BBU}S>X/V=W;k{{9U.- (sLF[,R ct"CxcLxA9t]k7&,lոG!2}I!l @`V}<'UUZSo.{;yͦfpb^pdOPI3]|9 N/7n?16JŠE1ڣlB >jD{ fɫ,kU}r;fQ\@L֊S!{s  ;l4QLj5qZW^>RqU"Zɰn>>nV>GbA<'F(v36Y %ت{QNcӯfkyTLy!Ⱦ~yxu`ap6>k|>GTOCf~6SΒ_L([: ::TvUt-,=z?'FTBH^$I0DuC9WIER@y<2mp(2Ɖa\E fdQ*.l9B?Tnٳ)B.Uw-/C:r"ьۆO1x,jCA&tgư {cqv\ĵ>GGkpQjYdX7IM*qD!v5( yD;hbgfLP`e0A`Byԇ@` Px/ ԩNRGrAœZ)',-홹 TOkoRDr6pyD %(&"zނQM?TKiYX;}D==ۙz܉6-*C=mO5 3pC G 3Yh R6Uǎ&{ *dDftqzYʭ`22,D, G=R=X/QO؀%&H* / R(K'K"KǎdŢDž\6͖gYT6P5Rq%6@Qo2\vwtFzL]yw -{FG2yߵ}13{gyx @0vr ˷{hP>V:Sd=$neTl?>U-իmG͉w^K'xC8b-'K@qA'ۃpZ&*ؼ'+5먕,Y@34gg\zF?R"QNuѓ?yKV{nW[iW"w+a'S`f nG,4mRxwUIhzQ\eJ׻;6HSs X4̃ 2-hU,1o/DTp懓*#pعt+WUGe =srG+e˛[a|Ÿ HT?ꟍwᖭ`h)ܱLzpɟ˦9`Uh'ؖla4WqƓ &p}<?Gd.>%1ѿvCF@C- 䴲*R3 •(AiL$f"|[ <I`iŦVlM3)3UMۂеW'H͒o% q}y??T<7."w7bdO\W_,oH% ݊sbE1bE;5hk0n7Y ~ԧSSLeWNf*/F3wDwc,πOlW "~+WDt yNEnޥ0M#jpͥ>_{?㼖4R & ͑7(B |#{jhz0K쐰kcŨ,WJ7t7xo5c,)qqw<թ'Vw^9e~%ˣov32\ $u#Q򞀫3l`^]pywutS rf- o,͊;yn_i `D uEq{sK_ꤼq@GZbϤ5;P+Wgs{XE"GQO_%BJL5B UgK@EnZLf%E)ZM^3:jFXR`#z;o#+` 1'} 9BhC ΰP[6r& \K-q"]RbP>EW?!s'i ߭:vj@gHIl2u,<=j)wA p)ՠ8|J%rv eD].FAUE(w*%T+#!Z orzʍcquFү3+'=DRe#wl"4.~b9~ZK}8E 2u㹌eS̿M*lb)#"+nFxuTn(=tL6H*J3*aMYFjQxS Ο}͕p`8 [=-oN+tn/涊j6rB*{Zܥb[WEGνNih־d MC9 wז^l NhqFJJ}| rVczSzf ,?DHڗPыo[/>^BՍs0Q#"}ڗu((8?kġ8oB(,8:)MJ)"6uIs&QkO>k+E$8/?ǜ9+'X:w^׾c{!2zPࡸԶ\YvrYfz^7ώWm/Sw%G=zaIƓߺDE~  _S>$pNf8klڦ R플ݨnʙ[,4 qMSsyהeviI17'c}WA]T&azY%˴jO#hu1=w=T;\DT0W$4,[뭂@=hE57_ q 2$YI1I?$w;Sމ;%&*J[EocN8@ ݒTX IK{ڽC#K_dS-Uu9lyM46(ćSd:X;-BnF~סVMz?e\t਩)vl.Nb6]INh"-Yil]B#jX34Du{GIM P[lNqH'?ۼ+$C)#qEJhPJj'G_Dy0|SްgUwoRߊNz2?[L2ɇPP3}Z#49"! 80GF2S ceg[ą&\LIH)\Х:vy:<~_]{[ʈ47#:IeG&̶vY?h5a1 5|Z5ύNOeS*vV&DTsQ<£}_N\  jl⑦p}LByQ\ rnw4*2`³7Bq_`)hb| O\"#d#.WDH5uRy/˥W,I\p,F5.r0َ&H)Ӛz``iYfr֭#_RʏDžkYpܬ= .h| ^+O8;~ZFA5551Vȩ;ٟoP@3rqou@d1V]v- kQ Nr6lg͵`q*PVso[]넹' %rliCN䒽ߧкPQE:)d/rBkՈ^ XjTxFnN^S⾽1ിP4tvnb0H~q3g8ŠљO+Mpt4&gH fݝa8-8=Xz)2+mKeumvMT9 f;cm4krrDie3ˍi|ڱ>#i,TwI = _9IaAN UyFJ R䯙㸚a || 6K8Zul='"+: #(o~Z;DG4>Fж3 Yv&Qysf.tg[VkLGr]L|gaz;Uf~97N^"99韆͇7>F!LãcĠs°opSjqjW}~Ng-HiSRSΙ12e|5&G]#7n*B-oC.3l(I 3X.GAH{⾨BCv^՜^qC3՚a_0:>I`cď g>1? x񰵋X_'JLU{. ;$i!n jE"͊%YYA NEhCpjt;]H̉뾶 YZ