python39-doc-devhelp-3.9.18-150300.4.33.1<>,dp9|iR8W?0孹VJtXd$۷Dr!m)|œ3?3쾱fhƷCZ X2شqʢ .|՗F;S&kfsK*i9tc>W mbT*VonQO R( z޳j;5> WR=#fcUqKV0[U xaXo=t֠1@;zQlbみj Er"ZTu7Imܕ>;?d , l8<HLe G G G G 0G 7G GGGbΘG״[(w8؀9:TFGGH,GIHGXՐY՘\G]G^bcd4e9f<l>uTGv pz|Cpython39-doc-devhelp3.9.18150300.4.33.1Additional Package Documentation for Python 3 in devhelp formatTutorial, Global Module Index, Language Reference, Library Reference, Extending and Embedding Reference, Python/C API Reference, Documenting Python, and Macintosh Module Reference in format for devhelp.dh04-armsrv1V7SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Unspecifiedhttps://www.python.org/linuxaarch64 y+>U:I*g= 4$a6R*_TZ@Z):`/lc &7J.=/sq,/>1m[r3aNY6Uo2f2kRЋ?Fh~l<~3WV}%~{IK};=\E/Y`W?'ler;@<{ur9jx*se-0eCgvz=CP|-q`8D#Oi=sRQ\~^.$x:mFddvb8ش(poO+Vg$3<$Qxd461O0d0A 2b(<-;Z[6m/'2*? .>m:H`O19FOS z%$HK6 XFg@&3gC"k9(qA"3DC3u^HI'Q7YD E5K,X9"Q`<lPb67hsȦPA@ r6b97g#wa(*ZG/q_(r_t[?3 <y"Jko:@hbf --4;b1-w!xYmv.ET=-t;;*]RH"84.oln) Rd{@}YEarVMeE%&p\R\kc6/i8oIErXciPAWHk8E8I$2+lRИqsy.T C7X3"ANgDg@Y :#7:tW%* *b9AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddff92da1ba2a47c4fe2b984a37e04c89a61ad059edf7d8a657856116686bff34424e0b77173426e7416c6bf454cdfb490a33cacb5fbf6f9d1699483c608b929c2382828d64e88644e47e695d717ea8432ec1ef79a17f2d209b11aef4fdbfa4bf570d752f336a9ee7af4a56b8e5b3696b962b69793b274f76439165823c69cf5e04bd5db0b21f178fd8b16f7d999d0da20a00ca8d271cd556cfb1d26dea91aac88b21a9ea9ad785299a282cccc4b9a93cf9b1f028f65b0e90c0c41deea019953beb5528a56a8b0f2e5da3d6f20f47057cc0325273ff152816c202f8a114cd07138ba9abf87cadffa7027ca298ba11ceb6418f3a9abb32ac988c8d342e7c2b3fb2e5d045fd991ddf2b208dd9bf39a591f50e6ec793416e2867f54e8c6c7e89b68c2fa3d6cf351f97f403ee8128e55317e4ab17d88010ff3408bf10224deba6d778697e48f22946a092e28d4306491653c06183fa76151614d10b8fb7b51dbcca7add5cae8d8abe8a32ebd9a01374bb520640353c89e0d8a23d52d21fbbc7b04f600acc84d1ad3e40648425cea6402468fb4ae5ede479b5314b2aacc6e164272dde80737b92f8825f5ed0740482819f3fba7826297908bbd44ff00b64ee95d262d60866319c7cf09c3d5b2926ea9d9f068801c8ee0724dac66604b03ac50b18295775fb8b0b215a51fc05bc152a12ab32d44cda758721c5df53f2aeab1b1e3490aa5f1af795443875f7184331d307aa28dba3fed73126d1d27baceedcf376de52a30f3d74d09f9a0d5c08e9ef211afed3397ace994a39748325ae53bea62124348b1f63a9274a946b68069af217f81e270b89473c8c61280d4fd5dc663d46a00bc6e4e4ddedb396e3ced6b8b9b892c7df07239c9b2bf27b2cf280aaea6af604bb147c89ca40639d0bb71502306afdbc8646f6ef362b79c54a8f9211aa290ad8b363575fc30ab04aa494f8ab239fba636663b950ccff763bd3b95a3c214ee2344ec895c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3e0d9027289ffa5d9f6c8b4e0782bb31bbff2cef5ee3708ccbcb7a22df9128bb2187083882cc6015984eb0411a99d3981817f5dc5c90ba24f0940420c5548d82de4cd39856438b0eae2c0155ad15e281513959f7ccf998784e83e803b9be5b1b47d0fbeb27b75fd2c9163de2f25926bdd72f8cda9e2ed8a97c3002675f0847c9d647e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc0088393f1fa0f2f66446fd10975b5d237bbb35d122dfde0999ed7c5e561dee05add54115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac63ae173dc4842351fc1c8a551afbdb58cb2b295490782130daa4f359a6a80d72565865be8bcc0af888594903ea0112f6c8d923c5726c4081e8c856110cc7339cef0e2d097ec6582b8a0e035a7630ad3052bbb189f3abec9cb29822cd92d9ed86ab7029cabd6297c2a33d33024ab77167f9d7b2dafd5445ee24ca6e13a366426d46af21e4e3f5dd5c44358c0e41840e73c7e9617bd6c5ef05ee30a46b2b9c066259d23c599fc95a194340402cec351ecc78b946ea27cff1da0ecc2b1f8b1a648b1df808f0aa32fbe90fb9c9c846917faff3fdd4e236c284b76c02dd33753dc9017742d8fad13bc28fc726775196ec9ab953febf9bde175c5845128361c953fa17f4cfe678a4446900f4081ab8d74ef3d1f8b1002edbf8cae3db292fcca0637310ed108f280badfe5ec5168738c4f70a59bc6ea9d1e9243ff2b951386fb668e93502180fb63dc404b6f3d32584692fdd10755edc8f0a2b79e60ff73cf40e689b4c1f292dd58e89b7ebd32dbe53be9f28e5c8089a2ef2552d057e5ce588af90f862a67245ca9a3f0227c287662d0224a620f613aff4c8babfc390743181034e65b94f7d78bb9b2b2225231f4aee589ce2261a1585c1baf2143b168ac2755d32dee966e76f34b062f35589ad53b38158d4f5a8bd0998d9b599bfe7de3f12c9d279fd11a9a5393e0e0f3e566912d216083c124db98e7604bbd401aed89d35d404562fb85bd76a3a73c393150a0d7021d3821f62882f73213d98a3577f541a48336b56153b785c32a717d96c4cf202edca7acb23a263c6c30d116c2981f913d2edfb83cbf2d66b28eafd55e6cc454c3b791190201e1f12bd90fd352afb27f10eab5cd1c1c2c7901b9910ce028d03aca0cfa4cfc645eb792ac96cb154854e00e261382bb571adf2248a25ad4cffc5a170869bbb7b6c13d45806df7008665358488e501fbec4aec17ed482663da753ff89b019e98de29490fcd9935906609010d6ba7fe1a5066e04d4077aec255a0c45fca208a1f4f7debeda86a3612238a00231400c7bc0ea6c7bf4ea1830cce02d6e30bf53e7156f41a479fbe0d711eb4c9a69b02e9c095941e7432f605ba0fbea4a7917afbdf8bbd87ba11d43bb1cdf6dd56962e7a7f6c0b5ac3d53f3ac18c2ab9f3b413aa529232356b5ef02a56e8e6e0bc1b7c3e656868382c744a1d6036e296457d9013026b332d8b5b981fc722e82e0f715376f8643097378878cfa9efc5cd8695c874661c60b609674cbb4f7d529e16731f76dc9dd8517353a41cafd2348afa017700ac2a69afae57d6f717cae3634537fee109745ee3e0f90691f926aa4ded0051bc4fe6dad3abb359d7ad7447dad25135731cf8d251c0c9156a9842b1576dac20b00efb057e1564e0252d647ee0f82c0e027eefc5cba45ed65418f3af3c5f7d1119dac3793f30219c02f24522a5b3f0322963fb79f3a47b7c47fba7cc1f4e3b62fc42299fac93eab7be1526e7cc6514f358a6b089301021bb2596999a5ea26b47e631c840f050961e2f2476a4eab1eafb9413aa222c117c808fa7c154ad6ff98d063e5c50a75b12e1dc32ed4642cf437defe994d082e24c8f5e752226192dfed9fbef8b743ac8d4d0e0af49ab8468345151d7740e5c6a1c138517bd8a9c7a82249e57c5d31b7c0689a24f6a00246293be35f599a7cc7af024db84546750640c26aaaaeae495376c8c1c08f2665b6575ac30ecf83e47c86030cccced426fee1aa88181480ddbd6856eff7a4aff04d48709ebf4720349048551d96d8da21ede1dd9a5b2ebb5f205504715e729a3b3f34998b8fe4da0e1e82b483a2c6da8c9fde588bbb3cfd77ab45521881bd2bd80a11e9688a97d1f0a0789b4e905215fd818cf920a27d93208119483d27c40d9501071751ca16b1f090713051c2b107b30c6b9f4d622a677e822f589f226b1c218232c5f48c82b3369c3f1806d2edc90f1e0dcfdb64c1474419e64713cbd67d04c8b62297a44942fe2550408ca7ddfc14da2c30ad48c0ff025ea06293b186c5717cc0312c6b2b63ac799c944f629e529d134d8e40dd379d321f0adfb44692f5fb363a59f2491f8495e67277c574c5db13d4d4dd4d8dcbf8c76474e44a79d01fcd1c1c2aade257b4f101777003a9d00e07885e17a140a23bc0e35a72d46d04db33c66ec42707b965d27e7eb1e6e1a4ef5d74bdae3ed7760abba21727f5e6eb70abd0c6d4d07739c84489085e99d5514af0dd1ef92fd8751ce292cb23af4525a86f26365d7f0ef9657bc95b7110fd7a5280ee9f32ab20f82f1ef88ec559042185bf23d7a5de85f9713801149e062aca00a8345395e2c91f3fc8adc73ed6a294a42275fd11fd94be3658f89c7c6ef21e6179a1b322cdb7119e24fb3650834e7b904cadebd6483df8b7d45881e28b97e7da82b2cacc85d58b92b455311d11cca424e89f5611dfbe9677513324298c783d23f669b0f0c038bced49e6bcacbe79bc860c405cfdceb5f27dd46860b048755fdfdef83f1eda5a9ec21fdd38c7d597ebc9b2db2e2694bdb9358e0efce2e3b14da6a30937fe3e3bf59eab6fb657e7dbc53cd3be0598dbc447b6cacc27f25a09403b8cb4d95a7719050c4d65b76ea9f9872b6b36ecd0e0c2607b2b938b53abf9ea86aa55518bfbd66972a8badbff819fb7212d637c6059a843613fbe28c8d0ab17df6348b7ca85d8792356c7541d4d5cb85043ba1aba410f0992e3ccb1ac8fd1a13114fd066b2018a53a4dabe710090aaad460f243ff10a906cae8c62353a3bd530e6ed837acce530431e16d44c1715331d630e35a94c14bb49e0508de78e0cdbc227daa92ad979c2615def215d08d9941525b8e649f49ab0daeaae324f6e67f290c6943d920b608fa072c106653dfcf39bf65c6320efc75ba1e8ffba5468fd38768f5edf9b45a8cd0d8302d80abc4ed00d83943fafc3b879a27bd1a33984775778a39ee3ef2ee9ce4370fde2ba890776e8ded8efa16ed6c7bb2c49a1fd4d41a3496b352816e5ebbf5b41b27eb8816f470af4e10ff2ee5fe81ff84e6594c5214ef949d4f1392cfd7db778ff772bdd784944be8973b109187ed6918c6430c3e3ccc394aec1cab0adc0041994fd89887b0f394b787cad15b378cfc5b6a6463f7ff44e3793fb385afc48fa3d65f72f7a7cf10284ad20763f7c57b474433a5bd9f14bda87d03d6bc243bcd30443096b604894657f4b19ad75287ff65ffd6b5b5d1f8343f819413ab530a9b9c82a47e53961dd8c216bb9be11e763b8652c1572fbf493ac17cf018708f36bd0254529cb2ceeeb1588d59bf6d10005a711d81aca58880251b61592cffbd5d8a5307474d8690326d653cf491cc5ddce889c4894d299d8c7fd1f54ada01b5f8b179cf28a4bc3030cad9b9d3556b5d0c824b90b302ebab58e93dcb3f3e82942e8006177dc656fc5271960581bef9c431dc3850e63a7dcf65d11f9c095014fd17f6bfb7f60a629719832dccd1b400c0c3f2c908b4f7b6610295c06536c90d458a81cd8d0296b6c0ffbfeb59f29672deedc4582658b9ac63e2e8d63acb66857085863d171a79476196f67b606dfcd175d8d2fc2c19654dce0219750faa6caa9832304b2c4cc68f19b74996b99de7721240660d14f9998f5473d03f11b49a53e372920b136fb8e43b064de9c5660233bee5722e0910b4371ac6f8eeb9ba0946c4f35a30954e39f1ab223931761b3ee9163b58a4b7bbab1d31e075208c6b68641bcc5e58a35ca370adda1f8b480d49adc7979a4a19c064c8892ca4e3da5685c3547a5c04053b06cd4a90b4bb2084bd28eabb26ad5f229cb37f51a3c2467465f672ad526e836cd1955e8c04aaeb204207f5f1511bbd194f70f1799c09b3bcd60a30973b40ac7bc78ea8f775134703d09e2d9bf006521ae35ff372bd04af4a3cb29a225b994de4e62b4b009701d9e36388be4491e6926b28ac5e22e30994dcabe8d899eb2adf0809d1556a6b89903c2f1bb879647bb44e911d9d5c318e595f33f506e368de40e649b3ec52aad84a27f46cad5edf6db97f1d0b6c124c1092302beb2beb7f364d493c2c3afed40a71dbcd0098f3e2a73f7733ada55b703a64f2e2861769fd95ac9d66f834b586443114cacdc2c83c91baec106c6bbfa151ea3fdf3ced06a2382898aa14a65053fd8e9d8b7fb76228af4f3e649a9ac08cbe3502ca59a119880164a7c4dd24dcbce9f3084d42d0bda6d877829001a40a41085b7406ab1f9391e971e3d64f35404c56fcfbd8625c36cc412718876f5c120f80ef7913ee72856f6491a18ab5b3d5b2b2e9403a2b65cd808ce48eb42d1bc5043595aaeae6576fef32a7a77f5f58e610f2b0ba0df6952f7e3ebf63f006634a9cc309262853809c0795733f7bb1aaf2382fc95cd6ba37118aad2b61c87728d66316ba3abd884a580d068462522c3983074e5ddd42d33c6fe8fee719a4c90cc80661fd4a69324867ddc643b28771106da439c38e923ac4b7025be6225ba63308d700c442139ef75f0b379a7aa6bf5b47ac8d8b11cb432a62f7a115788151ee3b24cd32a820b4654a53c8717fcd1ff902a025dfd441b6647a79e28e715cae668f045be1f6300847cb0afd67b2089a43d7c7bc06633abde0240c3c19762adfc9de3c8bd20b0a19b2ffda31f367482990a449547520ca814955022d408aba770b6c5114056d000dcb0b4ed619c26f85c57a067e2c217a57ca9af0d1d03a945aaa8dbb416bef8af43135262943a05bc7dde4820458644e1ca3c50234ae659a88be7767a60ffa8cf14a3d57c02c4bcf3a71b425f287b0d05cd798e8edb8bd458e4f83bb44ec4624d06a3039a0551239396da1f9c57128efae0479d8c2a32252f34d0bda16dc799a27d062f92f6fe4dcf32718bc35d569fe3c2616e8ccdd8c7bec869c2f2bec599ebf21e1b68a523c3aa8b50b4020f899d28ac1057e87e1ec86e6abb7006745e66315012ca7d8f2bd92ad31a2b01a22d5749c95db2755b44960db2005d2002294a5d3343d6071357b1bf8116593f9727a856241c7c67a3f208afd0cb12f63b9590341656832b8128a56cb87e8da4a367bddac031ef3dd6105b42c1d014e197b361129b6288b92e8591b8f2d19756d5c87b98108f330627fb864b45581abdfff8164aa4cfd6233a7cc57c4e5ee003d3ae47d99ea9130a0d0093bea8e679ef309a3c4ccaa33cd9ebc3ad5ebd30fd8ae2cef33794a28c96e2e577bead640444b0924c74db8ca0d169478edc854482ca25858f541a4f407cf0ddde2faf19a91affa7e198d6a49297d11691a3ad359fb2876d20ffb78dbc41c5007e50ca4e41465e48964a951b9bcb169cee594a5b058b5b845e91022d8b1502bd24f0ceb3c9f881bb54c9a8e0b766a1c20d5733199b48f8025f20248488f8295a5a59c6d74ee6401871088291581602d04793d504a090811a1d3d4140393c6e718f2e4b666706a132df7d6d06e30bfa9153f4bff134f0b67a921ebc7ee93f0d0f259d08e0028226bd22194b56ef158a08229475c0c140cfb2264a3b68740109eba0132dc59e7a7eff39763d38559792cfdf99ceb7f2a73c438599b9da8cf967b261b2eefb31a2dca5ebcb0514aec99e5ff84eddb04bbb21a237adbaf4df516b72087912d6cafa6e19a64d08b66772ca2c5cdde766717079c7e233179c8293433f75ee3a51298d7bd8ad4a55cd0588b3fcfe5c89554003970d66b2becc58bc9021c80654f2022edc5eb991a678ca5a3d5405ef9ea7d0d8c76080afc6f776591a83af8e7120b4cde7e50cd11f27188797655554bd6c01f32c55dec36aec6c93cba9078002665590dcd635d0cd9d7ba725a1b839aff1e4a224a5c0e9ac5622b28d5225679986dc2060fd92aaf0e9c6f196531834bb2e0457e192a636906184a92b4dd082cd2a9dea940d09f6acb8ddc5e2903362ae1419e89b4a6bb4c9dd6c9807f6ff5ed2c730e8793afc3681bd6770681fc565b1fe793c3868a5e08916c6b9b1215afb8355b22e27bb17f28cd9bb7861e18da0698f9a6736dbd7a50ed8f516c8a2a771b85ab536f96328bb317a5d871541156a6f52b842dbbaefc0c6a4480a281883cc20d886adc99c6b933a00481a129c7971a07b52ba884d304c6ac8674eda33bf15cbe14ef0d652862bb720bc3e5c8e8ff799d5950d3b571eb32b2cf6ace38fd6e0e67230d0afc28947093f029e71d69c8b913b1243719a1b386bc74759ac08a4a6276dcb87f9b6aa36c492866fd6529d400b9eb7f66167f4f85ed4ccf5b10387972c8fd0ba338992ee0d6f77343c9221e68709c28acab9a7cec03edbe344fc2a0d9c05c080acf994fcdd70e7b24b49860ffc59b32a704ef084df7bbb0f36dd0c6216495ac7c998edac85f656ba89e9d107ad48e1b4bcaac73503d34a56fdab70abee603ec7c602e62e300c46ce485b70f26d4e6c1ad39ec769784d860f9180e550ac76c35b7e1859efb05ee858702c64fc6fdb3f150fc81e4097997eaa87146eba38ef88d3304544514413db007b10a66916f3e9eafa981ad815b658ab8a6a6cd5eb80cb3384dfc8748df36773c0c6726d9c92bf5726feba6dcc9c5ce706f7fa6fbd61771fce11a8242181d7b548104a96cee03ca640875d08f363a3f115668349b57e463244f99a4823c28bfdcf9a072bc44abf0347d573553c31626a4720f6b18dd985feb658c2db94fdc83a3cd048ccc022a45462104b967c8eafb8329e1a337e6909ba4905524d1523f32e48efb15774e1be38f86ce57bba0bc2000c98dc1f6e80ed8204c20754ed1ec7060711b51dc663682a5cbfea4175c14ea8e5df26077c5db3fbe93fdc02abf67fc200b5989c4676c0895723beead1e4798b7395759ec40006af9383ed00b29a60c8c39080ec919642d04bcb0c16ff0999ad410d0a7b501bdc18b509e48f23d8cf5d5ef1392411155d7745bb730356d2b8daa9028b9fd820d5ede8ab912f8baa0a40dfb6e66da4fb70412b3b8af096d88e292602c4e5f8bbb6b85f5d493df7862e056aca2d3185e7a1e017406b41b8a0d99423df844de64d80143182dcb5e89f0903affcc74e69b27347cde72374c3116f7b69a672a7cd1fd5f2d689a7f0536eccb6289d1adaffadd5d32e7617b16979e0d41a1994233cb68676b355c8e289478a154274ee1f109fffacf0ffb0b3e4e2ea9d0b9f5fd53ee9fc0fc12336b39f0890c52aca025e23f010ab6b3341c33d332df5b9fba2ab1175df701159544e58444fdd48b69ed08e69454213d5aed28aacce40203dac3d7d05175241f0ce7cda5327a7e8f9d2e7e6d5cbc8807db953460962081f22c07cdf3a2e2ce6d3f653dbff40e393900a5da0de91992f45eb298d41e7f9bcf36351552b9fd947364e0e7d82ad531fe9542b45862c4cc9e5f9a3f0403a930982adf5670caac307e2987d1839166bce66089e57ae3b49901ab75ab40b83ec4487052d3d34a465ef98fe8d8be656d59817dbae29a808b54f938d289c5e6618fa25c986bc85174e01b0491d76e13fa8d790e0e0111e11a298f6a15f6ae0cb43925e231a339785f2684f178c9863caeaf09eb4a4ad93e71a01e1fda2a80095ffaf7dd2ad4657ce232c1420d51270e58ddd7ecb81cc97747266aaa90f563403aea0bb98d7f5237cde8d80c8d054ebabb88d55ca94e7b4bd3ff568553865a60f13decd543ac75b7f084425014676c975a50c5d2ad577790cbf279dd1074176273400e5cae88f1fddbbcfe2271aa3604c1380893737cab61cfea8700cf7be4728f473c304212b2345babb33a14f8b482a1d04675df1e055f811702aa124dcf7e690a5a3789c00b9be5aebc3d851bc99b411737047ab975f7c5c35aeb9fb2010a4ae86e9629db3235620539efc222453b25ec3971dbab86eeadf1118086cc10af84aa49c539afe0d8266d8ee45c2cdbfd6ffbee5d4d30cd582661f9dcbda7008c51dbd3953745a8aa876047964d095846172a059718e9dddbb2172addc7be981f3df51f44a84cc1d04bfacf6f0a1058c1610e0a7dfa9087f5cda8495c11a43843d315eae70fd85cc6ffcc34bc730e2f9218336e51402e0c51c76b57d830a832d5472cc80ea6fe01c956f4c5dd46af282e6eb3b506bcf7c5219e48c439ca7a541c6948f688798d03574caa1e09ca9b1bb601d8a3146b187440e0d3f313d78443b8627b426e1af848725e5864f94985e09cdc6d1b18ea0a2a46f0e29b46a0179b7922ada153d7084efc44bc0546b6f6f4f13d152720483915d4050304969f96beb55f27831c7eaf68bcae323bd48821d4ce1005d19235df25dfcb326651e17e10c437959c0ea684e454f52aa979f41227a611d35372f7c91eb5a51daf41c4a96455a9b608f7ef0a83d1f689318524819f35a059730d13d98ec9f9e0475e7e94c309680e9ec26a3d1a79543a3674629acc038b4ea8a25e1256c585455509e611d44231e6160403a74764cec0c95fa957bd6673951dbd15ad898b4016d09abcae2a01ee1061160aa0874fe72274eeeddf94bc7bf372fc6f0854a4c296cb164f97de8b364c0d1c3795e1787ebf2b63d81aaf1794fec29cff546818e375fc90d313aed1f8c7216e553a0b78cb8d5d269c2a263f4356c2e226a9dcc4a8934a6fb6e2b2dd8bbf0254cfd8e598652413748839a98707b75e7e4ac1235f375bb7138ab83eaa2b847fd19161179dfa292d7e1d1a330420edd4f8067ffebe18652fd479449b9409d9ac7e618036096eb94670b2639799b3f86c67cbe9170e4d98464159aec57a0d56d47fdb7c5f138dda37782fdf830ce8bf2c413e9f459f95a4611450168791d86e36a225453533e2b682ae4f1b84cd916dc40d5c103b6295f1c3b50b62ae8a5a647c14b7a8be0ba99abf7c334d4b469c0f7eb02f52c79ce79c64215ef1b4da611b32aab93f3d70b27075d9821405acb377f4aa6fc6fbf1fec65dbc4ebd4bd4b0cb6bbfd50b1ab44a3bbff469bda1546cc9c2ae5429c495de1265b269a19005b9453a2603b8f953a572ba2d85c14c110ab9e5add4492e5542f98dfc664fdd51a4476035327ec58ef92995e4b3c4825d3c136b8924017ca4782e1d94e97e886840318ed8b24aae2d202ac9424ee8f685556abfa212e9708c01c340bbe58bf622c072e8f624249cdc884178536663e09f62191de10aaf0b9c3ab7e964a65f263ac0a59af584b5f9e2168699ddaed9eb3922c327e0341a28116742453c6d3f29895bcf064c31dfe5e600ca5ba90768ae8f7adf61878ba272e6a8df466e33264e3a6279c54c9562042d5e92fa9eedf7054b2db96f98f28f56feabd5c507eacff60b9c18cfd2648372156e1766003cb0134035ed7a2225d8c78c25304500fd6b5af9e26448b6e600e517fd4054ba00fde3a8c48399c6598d7e1d711236dd198488f6b1eaa15b9a7a8d927e893edae293e4171f45f6a1f40737447c451915af4af7d05f90ab47350171b3ce1d3e9468d8facaf812fdb032263160af74e61086e9051f0de2af98aae6f23247cddeb54c336c80f1fb0e4a21e67d787d2f90f3950faed08ebc20a9f372f6298c5722ea5ad4d34a85a9e62bfbab61ccfca887f5b044994250075372e95c19f8871c0fa4472c82f17b007f0526a939bd91d1a37555867404130d11019cef5d9e479886d2a3c63664160bcca589359a7b2eb982338b2966a669d8346e1ec86d44ba8e07e17380feb696bdce869469265a0240a5a6e4befd6c93670a8b35ebc53cd69be86c5835579e086facd99f1c2168ffca52ea55c9bdefa3eeefe619e6de4c3e028f86a025950896e49afd91e7ecad2cd95d68a52e63dbeb1e500f9734061c7f59cc37bada212170d35f6fff5544bc610b0cc9bbe46894402b791919b4e15c5672954bf4c51d0f5a6d0c85bb2e2d5a329b9470a9449f921ae7bfb344bbe1940074e0310459ec5bd740478ef3a319c62798e04e2a90c5568065f475a20ac962dd4b31ab1fdcdaf1d827b688adfc4661a9ea04da27fcbb70438603d6150de8f91547a3d47d07e1a69b700277ed6be46e7ea7122e05c2f1604ae8c6d7275e58b93aee19b150fbaf0b7d1cb8b36786e89e213331527380e37eaa2f725d5e42d1c728bea2c7ecbce8753b1ed2d35d013b4a4506c646826c2e2514c507c2611c8957940ebc0e6d3a215cb761cbc46e21198a47d320f64ddb06c7fa16fb29fdbeb9ad14d65f6130294dc363a3a515317f9139138984d54656a5b4931f8d75162fb1060d2b4aaac8c6c5c7ed004612145e066cc7e6c4e6db61165fc00c1d103088ddd94f478a4b0b3f5ab4cee18773df0e1076045ad4a1c42911732eec35008b31faa84900a4ffdb5268ae4876201da6a57b29b8c00bac5603a331bb553fa43f0467c6c3b2a2b52afe1630f5c240df95cd6ec0e2bdb29a40a3e06eb51a19b378660a407ed5d1085c473f49ce001770a18f44b521401307d67b015991a4af08c43dd86c190ec9e2bd928dd1e32bfb658fda7dd0fe7dcedfd01c54b44bdf7413ea322e4cb69a7151faef6a486c42918347c8429e64d94117385dab1ee60fba1c0b28dd9fd16ff4800bf5656439728e81d114dfabab913263399e0d106673feb11598eae1172330af6f8db0e3b85dc7cf486d5033ade4016d53fe8a223dfbd1a5b6d558cb04b9a1b198aef21767ea0b693c52963c79581b9a2092437c150b0eee6a7bd2549e63761c742c959aae5e28733ae061e4fdcd45646c6cc91f50ce536cb3b6dc4caae68c68ceb9eb871bc1df54b70124b72aa3bdf90cd5d2ea979b16a2c86e93a5f768bc4b58ae6386e870af5afaa8878468e91daa0beb7705cf29da826fa8179aeca5f7c209ba6be01500017b974365860f5098dfb033cd8cbc32d8ec7963ede5448add6cba681503c64becb10cc36dc9eb4810286a2ef9dd6b9f67e4b6dd0fbb5ec0f3a7248b8ed9b0475399e42446e9301be25fdbd2ab83ccde148861977c4357ac548bc3c3e210af5594c32e0e621f489e06684e57bba94f241f5750f379cf411fe1985cdeadd6caede1fe433c16d4d5ed2095b5befc9655fa40086e915fde45622868f1c6da52d7346ae0f6d91938bdf43d75bfc6cbe749ee9d5b54f1d791c5f1eccc0b88a66c90d5e57f9eddc223ac56ed688fc45a8abbefe450037dd1d3617044c3ef272d612e5e1d34b573711287b363d3e4ee3b2a657139d2dd521c1e6c0da0a3ac0322385a14f1aa6e7b19f494ded03edef71af3594b0b1244b5adebee97041d910cb54d401dfb0a6cafc7d0e3bd825d1f4a4cd1fc293d480950966753f9519f6492855d94977f4bd1455a01497f6c29f98aea7cfa3398d07630a94552e5970c61b9854b5a4cfbe66df8b34dabbfc91bb9f43a1dbea8230a39f932241baf4768c11217e9b218c56983539cf60269ddbc07788b06d4734acfb48ca00e66d606741d4d82b34c2cae00e5d570ceb38a15cad74df5c04a2d76ecee4fa9118a3eba8e6fcbb4f4a1af339093c746f23294063c83f9253a39891649e2e627a147d7c87ded0ec56f143ea24283290d3c73e9f8f7111bfbce02c6beeee854083d612f119db25cd0d319666977fad26f077709969e648f19fb20ff56bc4b22c30dafbe224903db96e93e97a9a7b39ba54ee7d70e14c46b84aaa66ffaa5c57a60a01d9f3e10c0fc7e86f4473b30e1800e825bd3a4a2d0dd73021ed02caea2fd0535ec58a1795b7b777b013bf5d8a7605b06d5eeb501797101b251e2bc2451c45ef5fac9e45463021aa48cfb22c58947a3f9d3fedecbad0eabeb197827f645c93e07643af7e4b00d37931e464d4e9741f1c49251a815e37f142fdf66e6caa31313b22787967dfca505d6ed8bc38f472eaefe294b19bfc670cfd796fe6a65bda2c1abb2376db3e852fcb19472b4b1013a39ebecd48921933872d894020d9bf1594c4217cc89fd2c1fec40de035b18c5c1201738c3283054749e4aa85152fc049887a22d37bd7c3739b0870d808d6dad212fe36985197d8ae82086daf026ca8913691f2c1bcb188f976f06146f5aa813e0d392e4d97c915d4dafdb92f71c12b05478246d53effee3bb56ce949ee61664cdea5c6f30c8b5d62d5018b4ff9d05c953d5695a52972492de14f2476caa34f184675b9a616410cc47a81674f2040e49f8a37dde19ac3aead49d100dd085189313ca3cc8ac315da764a0481f437d9f37a80f611d9e4d385c3cf968b68c8e30e38684690da0ecec720dd22d27411f9fbe283c6f5e327f8bdbda127127b1c1100b6859f9a399050bfde70b7b00bfeea21a20cfc2c9d2fa8fb7a938957f0e5aadd0cf70b0622a6ec751b27a031f6e1c80bfecf7cce6760aa6e9ee2602af09e326849136ad0be16acc2bf6933e54bfdbae4cb6e653d393ec5a1fc203264318cb2146555c2a67465ced5a6032b1d7b2fb00a3f144683232b2b57d2b1c3bc5a1642d1cf452dfa8d0051580efb5f585580f9d6f101fa8731d4ea5c852d7dc049a644a94708ca5d0a9234149a86e8f37a7aba8d5a20338746945a84c5f0951c927f92c2c015ec970c1e852189816c98c107b9cba4d896f63b93eac0f998b2b5bbd157aadf13913009e170ed6b605661442684a7cb4a747522f4e31f23bd99afb4403049004bccb2ac5c1dc2d89303fdd6067ab4c8f8251158d5dd462efa57eddf53ce01e4b90ad029695080a6e384c071c2770ce7dc890bcbbd42a000547115cb06e9368ea2e4d255dae5fa90944d97a41ea4db48bb8c48f282e71869cd3185a2246a079c089a7cc4c2e21ed56163515fd5ab9aefca5b88d86bedc1de3c770657a0c5a411db8e9ba28de2264b8633e5247284831d1d8e2744d434378a933a1e10dedd71a7b820f1d8ed3cc986feecbf7bd49d5a7a5f4bfe974241ae20cfcbd5ac31caffb91d5fb38741a8b693ad007e44b9a677043ea2a85ae42bdb1625905d75ce224851897db2d0cc1e70e5814c8ab86796773b5ed6823ab83fe8b4a7b2df2467a289f8b59d656bc8f16ccce809fdfa4aaf73a0cc5817ec9b4aec3b548b48f25277aba597667a5bd9a7ab9e73814ae9653cd07b08e52d5ee81b57c29abf294441893e1f0136dd65d621d8e25b9ec3dd599abf52479d2158c2104af25d3f5e7aacb1ead2ed4a270cee732d87b41668afabe779e7dbc288b7b6da163b32c04d7e1404afc45ddffcfc0bd53654258ec632b8ae09955d7734f6c8ae0ff0485c886712432ceede0fb542e1541e8504e932ed5581386d513d0bf7176d6988ab0a60f14eb04f29aff7661a684bec32698a94576238181d9d8a388ae30271d7b3adb41960c8c742735d2d0d33b49a99fa5fdc7b4e65a5b7221c187dc645899318d2ac0dcccf38bb602a0a5ff9ec74abd67d1fbba709264ba6b584c6208f418fc21f3ff2a2bc9dd719b5d856f89f9922dee03cc22208aaa203956191ec954017a24f244f22d4678244a9f0897bad5db1b568547ef108442443f307b42ec81319a059966e253e1e01ed8632d480d84e0b284a35c5c09c6ec1b585e49503135d7e41291bbec34c9651bd55e0711d364e90cf4aad289295660311475a24f9dd788e2e2f6fa72d07fb07ad85d8c92ada63466a11cedf6bac82f9c1d98fe1e5322e443d75a55e80677977960ac2b330d8271da2bf6603b0cc7d2acf79e38826df091dd895fa7cd6d5dab7190d74ef143084d367e8cc41d2315250e93126edce9b9d16d36ef9d0f375b7bf0ce1b16a9734f96eb3f0f036b390aefa42391414d0ebaf957d0e4f58375e3d6bec267198c95847c90c837ffbd4c8a9584042a13532a1382822cb3fefb4240840f544b623b4248a3b8554229048b3a6268c0a376118d632d2de2bc6e984f8065ac9b02f5e8f82be7a7af8a015228208e6b92c76fa4571383b45a9166fbfe5ee01ca9b961048ff8ab0752d11aa92e79763cfc155c3d59dd1fdf04dc1eaef19df8847d6ff36f08f9f28c9fe74cffae01d5d7d73a4e4885e851f78b7d1d12bba7ff686faa0b76ab0da4889808808e613a7fd395c5054e5109f8e0369a8486bcb90fd06b732b17b3f061b6983d77aba82ca4d547d37be9b4e7eedf261fe386e9cf21f8d65b24bc3dda4c25cc6c30d53cf72d4edd7b4f4ed86f26502a18649db92e8988576fb6734dbedb0e7e4b119ef9bf83cafef8d5e631a9265192082254ec347ec1b8dbb743292c35292eb7d869d54d10c754dc8f01eb91cd096002e056ceda15d193bba51f90d73f78628fd107e0f11a87ae79f3df509bd3ea8aceaaa9c9d7f9621de9faf713adbda22fec0d1230f97bc535ae55648e6c5e3705ea97b569126bd4ef6c4bdc845a663647c55fabfeecdef4a5c9c26e4664d49d902492031f5d0fd465d0730e67b1ec6fefe95698ccc46001d0a6ce84a34e81b67e68cabf29957bfb2f7535f70e666d31e4c71c446014ef5a8f8afc980396f9c0032102cd9ca4ac832cb1a7b3bfd086459e532c4af574ef07192e7f76fd8dc98da2843ef2021bf12818f6da629fd376b96635da3b62c4d5f537adda88b4978f17ba47936ce49101fd1d9d7f6e700495702d924653772293ecf8741e6ebb75b10cfb08d00890fdb966f4188b5a13e6ebe1e6d0e9a5485f713f181710d7e3022e286074a9262a2856d1300a04194dc5d1780bc630d19059dea8f3ae96d07ab86eb317d91db4cc70d18459c70d69cfdef4e040cb35e5d8fa2a50bc686f9b8f6206a1ba4d911deaef78c5801d9e2b4ab6435465831029c9fedfa006205b662a1eb8f43bea7ac1d612c2457b27761f840c95d48832c33d51f89be93126bcdbb414daea59a9aae22abf701a1e723fc9f38a71d874ff38af2900a76c4b69c20f2306b5475e119ca082b736d63cb8f6d4c4cded2b9da68644aa39c1ab5e807fb3b708c6c6563d7938963ea2ec3c515f26ca7dbaed897098f7fac72c46f9ec6b2d49fc54e9aac2e9ae270f30a57ab1f2874fb347723ee60e1d444e3b027feca779c2145abf4dc350d28d4838f51f2fd76a56944ad283c4f451f1aa4b9d83acb4d3a52b4739de6ec0c998fc13e303fcf31276ed3883e9927597599e15bbbbb412e45fcdbbd3282a1d095cb4bef595507b39b6144e89b904227f9664a622064c74f0a9c1f8828333f2156e43446e08ef33573c71a9507a76964625abdff6e2f78fa6f5935a6286a144f24075766a64fe469fd005cf16f7ca03b5245787b36b552060079da02d99e8328fb5a5815e9b120879213dd24922708d540934f6eac36e43b232ed3bda8a1b46d9d6875644a1f35595a6a57a5aaaf4c0fd56e69e8f45e5a7867aacc545e162f2bbfeb799e726d30ce6834294073cd5b772b16b7c795f5265733c35217ea2d421a8f2c65f891de510f047a887f45d62dd8d38858552b4be62adeeb44b7355b8fa2a96b5a731ad699a442ecc8d8e6197cadbbc5619da431457a7f86e0920fec941177807390f406d83fc78a7de308ff618195c4ea15ac34df3029e0b580b7337d193a80bf34f031d20bcb7bfc895453b4cd1a548793b720ae30e24b4421f028fdf77bc6dd9d091bed8418cdeddadcb58324c77f41e2753a47aeb6da52eb06a5efb6c0939757ee68804b70716414aabe9f058ed57be3808510382b94eafe706b35c0dd678217a3040957a4598e136ca2e2ae733dbfd1be6c04cf2641e41505f1b25429af666cb69026ccb3c87ad1a83e25c8b65f18011147a9fb0c87249a7317ffeada2ba921fe325e0839e04f41a839a370d14861cabf1c6c055f41c6fb85c4159564b41c75fb75b4b6262ebbe7bc8193a07dd749de2a8ed152d964fee96f85159ac94c1cc356f259b854969d984add1f888004bc94d1e452e0fffc159dc3594edcfbf6c757f9e3a6a16daa7ebb8c820f57897554485cbe400d3105bf89bce6ffb12de846e96d2c8435714c4b377f6904ae2afbd00afef9a25d9da23f17527125cc880720bb8aeab14ee6a3f40d8a2d9a3486776259432848417c9c11edfa82c6dfd25a473f78a7be217ea8a33e3abdddf0c9bf914ac07fe9ad8d72e758b8afacc85a2ff3a0fc6fdab9377da72d12b550848fcb138e51151eea3c770bbe59ae29477662579d8e269883ebbc1b0fb3a57006649540a9a5085d05317559db4b7e7c0896af39e9dc18e0153d2b085bff219cb0b08106a02e0346a8b85dbcccb2a0967fd1ac75ac9d5b07210825ae7214efb5ddacf53d897736e8171c430ee30ff207c8ffddc3efe9bd660c23dd6a9a4163cba97918088684e0942c5001febdf7ac82588bd73e35d756ac3760eb22efd667f6a5aaf41fbacc9d2851a57fa17c8e9906f86d13ca7c9253723bf1967f7f5610277b5cac2258ae8cff0d4eca139b21d7cb9124cd79471cfd9ec177edd0d77201c606431c889ab361569005d219cf0fdd42fb0fda056ec1f885c9f8317bed7fc280b4fef4f1672f18b9065095c4655b4af19262a8216413e5ebc6660516bc1cbd424455e909646d7ca2dd0643991decc74b1f69e6cbc7c1bea57add0b28e4bc83c8b554779dfc734876212dff3fcb8a47f153ad674e45cd0fa0d265706a9dd9b72f5891ebdad18566737e8a2a96daa586d6d6561266f8e7ac4de7a09f9586293e32276057e6649992566c46f041ce8654984ab6d35410cc87f4e758d5f7efa07019555b3a2c1eb2b49b5791f9dd0369be474ae8396e3529e5a844ef01daaa4c4d952e9c9f79bd45c2d2b73e111ca4229f239a783a2e28b9b86001dc191d235e29afb1b2db68fe59540367f2e06a1511b030bd9eb9a49e534587e4e01740261c65c3730dce0f465a92199d6f2a2a236acaaba1a19c066dc8bc16c8943ae4c5062b0c699d03f8e74b1efef0e9e47b3af1fbe42c0e36e3bc19bf025e60c4b6dbcfd2d47f5409ab2fac59e47e44722368d22e273fc03dc7a8627771535eaa2add9e5f85a96e820506861265a3aff66a392c779647a781a788d24bd10c86a7a100ed0270bb8b8c195ab527a948d646b0abc91d3adb61c578341d622f09bd374da68ff31c4c5e939bfbf09f98b1e7e2b46f8ff655de5e61b96e6a012752e7611a77a8d39f74788fcaf192bcfe563892df024099dca9cb9bc40ffbe914b88215b3c9516452ff7ad4a9ee0acdf61b7a78f715cf991f204f6cd86b724d089d25888ab12c0334c111fc723cae0083503cb422cb563f241efb3025adbf2c8d5a20ec17e45c21647e9d13e23e4f6ab2880fedae0b8ded3660a5b684924e2d41b11c06c2b6abc60d15ad6fc73d069db2e6a5623a85a3c1a60390bd0366537176c165ba48d473c46c5135ebab3aafc31f2ea3ad107b61cdcb5ec8530853753de27d74f9498604656b1fa83a2d629e6a71b96c20941e0f6ceb385e5c65383dc0da8eb0af0ad51ced4cd1ffa027592554c2c300903cc5aa078eab210bf364b4499a09522c5f6633caeb4b796204568848e188c0a65d8d166b52d4c082568ae4cc366cb2b85782f607c8894a7675a37b0da4ee477c3ef94d7277b9611d99950ef174b9da096c9dd9ff22e0aeacacb46212917bdfe12ac0c6e8e4d6c4614f21e96e159804cbab186d36fa8b78d484433e521acc02329360a0f9a61ef9310d2089fc44c070bd4179e202c5725316aecc6ad6ab720c0706aea6719bac233423a3d0556237d5c8538b9315274018eda523f9dcb13e5d07b12528336df988b25bf0a15549918f4ee25d3896a275a7a85c0698710d224d077cf3f17ceb124dd2ba5c5b86b7fe880fcd3ccec8d948e4bc47a7b49db05fda6357858ea0165cc214114aa9398ee90b31db1273a5e7df7969ef1e263365cd14916739eee86a7bc8aab955f753dc677517309bc8fb3e32309520b4fbe6615b76528b301f3cabc2873f63b0405740ce18f71e9cdf1426ee8521aefa8dce49286c4546cb9cfdb0ef3d44d4d5da61e8030dd393ad932dbca7a9641492a27a6e8e62baa55ef02cf3680a044507cd1e36d47b0eb59a809916e6ea811e76dfa993cc0ce002a8acb989a181ac726227ac30a3267ed7ead90f0fa7fbce9b8878bca41261c3c2c9158d81b1a202ba5e5a2af1a2978ee2177d16c3aad5651fe8ffc5a57371ce7ff576105899b3309d663929a06de6482bd160c1f4ac85b75348c914a29bf2bf48cb6e8e7651c9dc3cdcfe2ecd7b3978a8b00e044f3463165c3f17f6fd83e6fd1ebbc6a32858b2d627a17b7fa21df16c53828b4196ef1227a3895b5d4e0030522261bed28c157e85b0da5d12d4650261a15021cf125c840d2a54c5f85afdc796595407a0a0f2f5958e14e305171923c9c6fe9b489a0304c9753b5fb20f42b01f2df2a4dcb37e06217acf0cbfd84ddfc97f2badb90aa8e8b2d3d12cd3332cb2cd4fd6ae405391fae9c2a28cf240bbaf0e12bad4f14e7442be3af61481445e0c0c89f19d69d3f8a92efa13ae01f979c04bec337d7ed569bab1e9acbefdab79f2332573ac0b1a77c9c08c5cb26a40c26b57291c1ccb6c0ac600a0169e3f20d3c15858c5e2b141be3e7fc78140271ae9da39b8912575349dfa450e4a993dcde9361d2f3ff284f7f63bbec916a7ae38bcd4a7dcb20e8266a9f6060fd0e2b352623f171357ab07172abd1ed4a2ff34601d21b7bdbc4cb80bcb43df6dd91bc4e8c4cdfde4183c44cff3d807a78e81ff18ea2e4f509b99daf8f0ff6b7cf9445c767dce1228ca52c469701426e2522c7457008597c64a510aeaeb9357dd78b5d81a81442f65f1ec00da712e9df1440c4b029b053d8440628a5084a7d5326c500e9f357dae7b8e8c6180dea4ef140cbc4344e08acb12b7da1fa8b25494822b0a44bd7951a131b3f51854828e026fc7de4666aad0e5856de7e74bd54f072ac5711f28d052eb9ee8cf005fd9d785bb2f69980881f68a4f367f1e88d9ea9dcbba21d4d806f10ce273c90c3a06834f9e48e2c01d699f8cf141a28e9fb0c1778fee91c93ea1aef131441badbff90f834258700862650f14241995bc0f70eea7cd1695d993249ef1f3b64adb2472edea56bdc030496dc44a5ec963558efda1295c713bb7db968c26a61093969acfddb932b9c8b2286378886b9a7fff3f3c0555e338ac351f1f7b176f4c1c16070aa04084b8f6ea7934f8c6cf08006a0b781fae7de50b7ddc2679b61cdc22bcf1266850f39374f685f2a92f1253de6e1380ac950dc9352a22e54c812fa07557a34d6fb4e1c8fb838e30fbc47bc347c3554cd0b9426702b1d9178dfcd8478f4f86172093bcea74228247f12b7de4da41b44e2f6391676a2449d339a7c9bcde763d19582e110d6972c58b002be99d25656e2af6b42cddf55e5e3dfa219328d998d291a9aaf2b114a65f57d3ee458e8fe25ad793cc9ce3c6c15e6adb7321a18bed12735732081e7165ebcebdf8f130715e5b215a2a1462b674280104bece482bda945df92a01f412207fb31aca368c8cae1f0271f4e5b9a9ddb5b8560116bd2b19453482432430f817f114194be7c26389577fa1acfc67e12c12ecc34f79d63d012d83498092b98ceeee964baae7f3f742b2235aad9fbfb87a7c0c3edd58bdfdc507a69b90b66af4cfe21aa868152bf8a42439fa09e67ef7eeadd2c240b99234c88145be42857c05730692ccd6878119397a67dc41505e69ace61eab027210448067051e2bf9ce4910061bcb849d5f7466b5225dbeb4f05bc5315b7432b13469034889b2dd08f985977e00af157844c5c8add2edb18f92860eb10d21c19414fc9b757b3440815c2ab7ffcfb1a0ea18316b527c758b1bf61f3e06b3ef48cee177fabc444bac5a3afa999d8540cc68f6102916cf8e724ebca56e0b75ef7f9592b52ec963b3c5192cefcba49dc13c5c3541af08021a093d05394ed05a1532e04c55575f5946486170111551359e47b5be93964aecf256b7ec509dd3de697320da11b42cadf5669459f9dd837f05bfacbee2987b053db4aa8a1ef0fe390bf15996d9923d1282a99302750615951f7e28d447829035814779ceaba3388f8b9cf8fefbe20f68057025e28a6a19fa58dedfecbf0efcdc33d6b328509c7758eb39a861dd735ff72fdcf2b91c68132c43799d3777cef2db1835d5e91670d29c1468a3a7db1408d5ee599db6df586a926fdd3ad5e1f440d3108b25dbe9c84832c85e1dc9c6179bddbf10820d049f560e332020c9bbf73eb0a8ddf14c7d8816d8789d20542930224e8388068edc2f4b6439a04ec0022f0975dfca8ffff1c4072701404ecad4969abe50e189cd08d023a0228af49c08c76e2ee736a13b1f96ee1876c759d58cae7112f59dd17047265ec37fc084d9ddf53c87937aeb2f58fcddefedc4a513471b03bcf604f442c2ce500b3f17c2fc7ddd1aa2b9a39b46a30c39cf0dc6639a4afdd6182fa03b7b5e1a42d0783a11d6e1fe35e3a1b30ba1416c5774f9319e022d3c9b72fd151c3a9d61f704b5eb746df2af03bed1f9bbf849573cd464a5a72604c2033fae297ca6699e4e594781614c1725103da2284895a7b888e9df00ccf215bcfa0bb83cca0217dad08731e54a76b62aadfd8bca4adf1bfb996d0c0edcd320f3a09f1ec4a3a2c910c52a2bab0a67bff7f4c56d5db25a9b96f34f6f6e2c38712ae1def48abd33e7b7b1d0319c7cb452d34d17e2f8eb712ce41991c9f5be19f0a7c4f985cb05f09e60a82eb829cf2cc0a853b15070b975c4a7eb708d59ac92785771c1ece0eb6928af1104a4798503d53d8fcae08912622c56634a5ea9ee50d05286e4172d76270bfd0ef8001d1cc09b69ddf92abd7bcc398fb916aa487b91106add4e626ae0dd0037f9599083702e15bbe38b854f56bcecf12cc61447c3baa53cf3eac3bee473a217eff406023e496c1711b5826678d0558ff1f754398caee54aab952a733bd7a3af8520fb5baf8e8c95e3a670ac0ded161633ada94d32608f8adf99af8a7725f62559a3454ae18891b63e581734685610e2653cf0181b8430e222a84ad0365707012eae6bc46684209c4e342d1768b6b557a6ce42396857099a6f8d54a67506e43e34406972a02da554345b9955196cdcad1f43dbed855a411fcef64b4a041ccce55451a8bbe95c6d217dc4879a91da4414e8bfe5cdef9952255e6874b50d30d7bcd15d94149ffd754e3e6f639df3568f9c9a6912e842c1c9f4121e45cdb16d3e3b75a25fb977d9a6a3d00c52bd44a9911bc4944a23b7d6c55965c532259ebaccb063007f5fb1102639345f1367dc27adfc596c6cc0c02b4d01324fb5ac619561bc951f4457f3683be401ae228e7a27e9655aba5d5dae20124e8faa27c3d1b94934245ac53b3a2906e757f4669bc58b2c9e8c165958083a034e534e6c6e0dbaad48c4ba80192674050bcad75fb25160de3dcf8dd6b4584c97967dc8debefc32e4df4742f8b0e102ac32781712c31d6c7ce747e84418bdc5e37dee48ca5bc7634d2713ff7939ad8b39a290f98e8de6df48060fa9a7421c1182a704a6a1587a9abfddbc0b58cdbf3992e2c5bd39503d4b3d2fe858dcf2871eb81b8d54eb96ab7e099526cdc3ad4ef4a7770013fcf4f9d40204f1ad7d599f68bd0a7ddcb5d52236f5a29634d1d1bbc31cf556e4f8913ce1d223e9f6c5d09d8d727c2b14cf528b939ff670ce9dc75bb7f52a5ba91f9cbfc5d994f242863f481b68a899147ab2812bc0538ef4d569e2947a3281f38aa05c7413ef012f60cab4c47ef06440236d3789efbf3d1aed31e42f4abbc22d7cb9c3174e305038ea21b4d28c93ee10672dce2ca4ff792d010f0f42ad9a4f5091e7251cc5642de6748e180e42f8e167b3d23a313d4ce910926ce6463e2330ed15615af16fde8cb799790998baaf683d8cbf36fec7ffcf6bae835a0915d1b8b39931d994dc8e72c99046e85f56f2a33862c5bf72096535b37739ae4183d288a3e5cf305bd4a6c4e0aec0ec68a3b6a7d451986b249c5af3b620876440304ce8c9a55a7f926949c6e2d537d1bbd14fdfc46f82c6008056025a2820ca632fca22ff4338e4c31b8cb3b621efc19183fb9485ce1c77c37a1478b24cb75cb7fe6125d849c6cd1dfd65eb0d754f4a8213610533d982d3df1e5eeb098233a4ee21c4c6557de34294f6024c6f9fdf5472c0a51761b9d434239d0bf20d5f3d2a3ad8534385cf9203e4cc4f6861a2cbe8c90c3a465fff8c034b6e16232e4d808b707c91e9df88f9e07e50c551a80f524d3019e4daf51a4e39c29860386f35afc6dede6457d68c8fe8302d713634214ae367d268aa0fe016a82e5671d678c12c9e3492bd32dc97810962d76ffdd1240f53ba12d5c8dcba70c7c52be6a92978c45dd19fa126e615ae0cd4dbf7ad1b21b7c0dec3d53d97de9afde4f5d1dd669ea14d30284cef07060dad3fa293074524ef0d761d0317ce4f0bdbcc24c5f0b812c6404564f27bf5ba5d6b4a2043ebf577776efbaaf58753db244c154ca98d2dd70d9d4223eeae46be7d8acd2ce181575b3345ee1c11527a3f784cfb0e052dfad8fb1156d67cf682f62142ac4ce2cc90f1aa927d72be5a5f323b10e18d12260c06371e353435ac1b4a2c0110ec8bfa3f524afde224b057505eb2afc94373766ae61e5a799d1f28c15ef5af1b4babd7d7f5ad5fb523c45a0cfd0bcb6a1a8474b280053b03c60f0ed2b724d24269b06ffb191200b5e43e8bd0d49ecb342d93640d66b7362bafd6bd7190188d7056c460a5b26265d6bbf16801d7ff2df1f54bf3b56c7cc0489f3a1d1f8b9484681548c4ad56bd57ba78a6cc4427e51e256e4f0ad5ad1a26527b1ed56697c7d671c58fdf20ba9dff422fe0e681a773fa5845f2795a08fef561ebf10d8108e1db79f96795f4eccb1d26cd6e60d13ebd4928d2d24d808d06413bb833e407fb5691010c727f870e7885cce11e6f221dcbf3b2dc34cfa9deab0c701c28bb7677cbf45db5fe5eb30139b15ac09919d82d20507c37d99ba46412d736aa9103e5e63d510274896d3696eaf40020b0e967705691b5230595fb9359e34fd04d874509a63c0234df45a3454c517f192a6a0f72169728e4bda865cfaa255048e7e53672fca2b2032573c32e48d3b83f27d15d23c5e0e1a476c77387eea5e814ddee72d5ef57a7a5aa743b4dca100da78373e0b65d3da1a191581cb8b074726903dd3e428f86ec64721cbfb818fdc3c40ecae5340b9cb0ed56003ef87214ebdfc57ce0709e0d3a6b14c5f2d4788e014e95148fb0790bb8809e2d76089b3a1a329c939e0628af83434b4bfac70d9277bce6201f157b00456bbda7ce187791fe1c9ec02cbcbc534cceaa8ef42a12c2ffff757d05f3c174c73b0333c6e252fa30a4511be6b26a13cc70967664d7875feaca35ba89ef478e371210f6a1e97a33c296cba370623172221a2b1ee066eb352800c0a74758e2b224b977e43d4de4edc206551b4234900efdc512b18916400e7923393ed024698e71ca6c9cc72e1d7bc18f8f5418d2f6762c43616ad0219b2da5ef3463a3a92679d04e8f84847106c27b704b3aad4e23d63fa329b66f747ae9450525161abe4469ce08a2dbbdb323b7a4fdc32b9e1eb37baaca131dcff271a041bbb490f834ed6defe4634273fdd077bf23aac1a4bb2fcfad54b18aadfab66e8a919ea946bfdef3872d5eb934a9242945a762f4f1cedb2567fb5341f0112ee9c1702d0fe4a8d48cc91acf540a19e274a1d163d4f8d68b7830230ecce801e5b01ee5bc8e1d4f9fa1c34869281a3d002d2c551b24039cc9cd3a64e47da4f159e3d693a086a54adfbf8e4517b2ae8ee68dd0b436dfc9d4daccc3d6a5d194bd1614c6f15f82fa674e40f0be9467b0a9b5dc3b2499140ff2c3598b1b74ed8891e4285a77d6e39c83329e33a252bfd09bf97283f9fef03a40afe8b5425bf4e4077bf46b1583cb82d296a4b3e3796b98d2ec02267ea2299ef7240567868658ced58fb4612292a666f6236c27b12330bc8fe6f4f14210f2e86028583805170f8f4abaea24b48ba8f66b37ae69514a1a49c9e3e85d7624c27e233f669dcb0f24d4bebf2ffa5cc25a8e22602c4e83d6c05323f8f03dc58bb53d48c35f718dd2ece97a7f26c0e74cc17a1b4cb78d4982d0f42e349efa334b775e20769efb42c9ba8f4a30b0327f6a0e91bc87bcd5d5e49c19dd4a484730e6a61b916a4bbe41c8e9b9b98ac476c766471360893f3ee8f99160b6472cf88e34f3911ae8ef51d4aba2cf7cb56f3d2d775c161c7edb783335999cc7dde80ecb475e8e73e2b8e50248ca7ecbfadb5e2632fe3b6a8b6fbcba9767302bd7582c90d2cdfrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython39-documentation-3.9.18-150300.4.33.1.src.rpmpython39-doc-devhelppython39-doc-devhelp(aarch-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3did˖d@d@d8dd dVA@dRLd>@c>@c@cӼcGcck@cc@cRcOccb?bbb?@b@a@aaan@a}3af@a.a(a'@aa@`@`g@``r```@`N@`/@`"y@`!'`_T__԰_ _v@_u@_P_|\@_m_O@_N7_>e__@__A@___ @_X@_X@_X@_X@_X@_X@_X@_X@_X@^z^z^z^z^)@^^^^@^(@^3^@^'@^H^|@^h^`^>^>^8 @^8 @^ P@^[]f@]f@]]]]W]]c@]]]z@](]]]@]V]w@]i]g@]W@]Ik]6]!]G@\\9\~\@\\@\7\+@\\s\b@\b@\Q\C@\4\4\,\2\\\\&@[[@[^[ @[ͻ[ͻ[$@[ā@[/[[@["@[D[;e@[6@[4ZnZ@Z@ZZԐ@Zx@Z@Z Z Z Zz@ZxG@Zhu@Z`@ZLZ"Z }YYX@Yo@YY@YY@Y@YP@YI@XӸXƉXqX@Xv@W@V@Vm@VVhVCV }@U@U@U@U@UU[%UT@UT@UCjU@TeTBV@T;daniel.garcia@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.comkukuk@suse.commliska@suse.czmcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.deqydwhotmail@gmail.commcepl@suse.commcepl@suse.commcepl@suse.comdmueller@suse.comdcermak@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.decallumjfarmer13@gmail.commcepl@suse.comcallumjfarmer13@gmail.comcallumjfarmer13@gmail.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comdmueller@suse.comandreas.stieger@gmx.decallumjfarmer13@gmail.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commliska@suse.czmcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.comstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.demcepl@suse.commcepl@suse.commgorse@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.combwiedemann@suse.comtchvatal@suse.commcepl@suse.comguillaume.gardet@opensuse.orgjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.commliska@suse.czmcepl@suse.commcepl@suse.commcepl@suse.comjayvdb@gmail.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtoddrme2178@gmail.commcepl@suse.comjengelh@inai.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commimi.vx@gmail.comhpj@urpla.netjengelh@inai.detchvatal@suse.comtchvatal@suse.comtchvatal@suse.commimi.vx@gmail.comadam@mizerski.plschwab@suse.debwiedemann@suse.comtchvatal@suse.comtchvatal@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comdimstar@opensuse.orgmimi.vx@gmail.comjmatejek@suse.comdmueller@suse.comvcizek@suse.comjengelh@inai.deschwab@suse.dejmatejek@suse.comkukuk@suse.dejmatejek@suse.comjmatejek@suse.comasn@cryptomilk.orgjmatejek@suse.comjmatejek@suse.combwiedemann@suse.comjmatejek@suse.comjmatejek@suse.comjmatejek@suse.comschwab@suse.detoddrme2178@gmail.comarichardson.kde@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comjmatejek@suse.comdimstar@opensuse.orgjmatejek@suse.comfisiu@opensuse.orgdimstar@opensuse.orgmeissner@suse.comschwab@suse.dejmatejek@suse.comjmatejek@suse.commailaender@opensuse.orgrguenther@suse.comp.drouand@gmail.comcrrodriguez@opensuse.orgjmatejek@suse.com- Update to 3.9.18 (bsc#1214692): - gh-108310: Fixed an issue where instances of ssl.SSLSocket were vulnerable to a bypass of the TLS handshake and included protections (like certificate verification) and treating sent unencrypted data as if it were post-handshake TLS encrypted data. Security issue reported as CVE-2023-40217 by Aapo Oksman. Patch by Gregory P. Smith. - gh-107845: tarfile.data_filter() now takes the location of symlinks into account when determining their target, so it will no longer reject some valid tarballs with LinkOutsideDestinationError. - gh-107565: Update multissltests and GitHub CI workflows to use OpenSSL 1.1.1v, 3.0.10, and 3.1.2. - Refresh all patches: - 98437-sphinx.locale._-as-gettext-in-pyspecific.patch - 99366-patch.dict-can-decorate-async.patch - Revert-gh105127-left-tests.patch - bpo-31046_ensurepip_honours_prefix.patch - decimal.patch - distutils-reproducible-compile.patch - gh-78214-marshal_stabilize_FLAG_REF.patch - python-3.3.0b1-localpath.patch - python-3.3.0b1-test-posix_fadvise.patch - python3-imp-returntype.patch - subprocess-raise-timeout.patch - support-expat-CVE-2022-25236-patched.patch - downport-Sphinx-features.patch- IT MEANS THAT bsc#1210638 STILL HAS NOT BEEN FIXED! - Add Revert-gh105127-left-tests.patch (gh#python/cpython!106941) partially reverting CVE-2023-27043-email-parsing-errors.patch, because of the regression in gh#python/cpython#106669. - (bsc#1210638, CVE-2023-27043) Add CVE-2023-27043-email-parsing-errors.patch, which detects email address parsing errors and returns empty tuple to indicate the parsing error (old API). (The patch is faulty, gh#python/cpython#106669, but upstream decided not to just revert it).- Add bpo-37596-make-set-marshalling.patch making marshalling of `set` and `frozenset` deterministic (bsc#1211765).- Add gh-78214-marshal_stabilize_FLAG_REF.patch to marshal.c for stabilizing FLAG_REF usage (required for reproduceability; bsc#1213463).- Revert faulty fix for CVE-2023-27043 (gh#python/cpython#106669)- Add downport-Sphinx-features.patch to make documentation buildable even on SLE-15.- Update to 3.9.17: - gh-103142: The version of OpenSSL used in Windows and Mac installers has been upgraded to 1.1.1u to address CVE-2023-2650, CVE-2023-0465, CVE-2023-0466, CVE-2023-0464, as well as CVE-2023-0286, CVE-2022-4303, and CVE-2022-4303 fixed previously in 1.1.1t (gh-101727). - gh-102153: urllib.parse.urlsplit() now strips leading C0 control and space characters following the specification for URLs defined by WHATWG in response to CVE-2023-24329 (bsc#1208471). - gh-99889: Fixed a security in flaw in uu.decode() that could allow for directory traversal based on the input if no out_file was specified. - gh-104049: Do not expose the local on-disk location in directory indexes produced by http.client.SimpleHTTPRequestHandler. - gh-103935: trace.__main__ now uses io.open_code() for files to be executed instead of raw open(). - gh-102953: The extraction methods in tarfile, and shutil.unpack_archive(), have a new filter argument that allows limiting tar features than may be surprising or dangerous, such as creating files outside the destination directory. See Extraction filters for details (fixing CVE-2007-4559, bsc#1203750). - gh-102126: Fixed a deadlock at shutdown when clearing thread states if any finalizer tries to acquire the runtime head lock. - gh-100892: Fixed a crash due to a race while iterating over thread states in clearing threading.local. - Remove upstreamed patches: - CVE-2023-24329-blank-URL-bypass.patch - CVE-2007-4559-filter-tarfile_extractall.patch- Add 99366-patch.dict-can-decorate-async.patch fixing gh#python/cpython#98086 (backport from Python 3.10 patch in gh#python/cpython!99366), fixing bsc#1211158.- Add CVE-2007-4559-filter-tarfile_extractall.patch to fix CVE-2007-4559 (bsc#1203750) by adding the filter for tarfile.extractall (PEP 706).- Use python3 modules to build the documentation.- Add CVE-2023-24329-blank-URL-bypass.patch (CVE-2023-24329, bsc#1208471) blocklists bypass via the urllib.parse component when supplying a URL that starts with blank characters- Add provides for readline and sqlite3 to the main Python package.- Disable NIS for new products, it's deprecated and gets removed- Suppress warnings for Sphinx 6.0+.- Update to 3.9.16: - python -m http.server no longer allows terminal control characters sent within a garbage request to be printed to the stderr server log. This is done by changing the http.server BaseHTTPRequestHandler .log_message method to replace control characters with a \xHH hex escape before printing. - Avoid publishing list of active per-interpreter audit hooks via the gc module - The IDNA codec decoder used on DNS hostnames by socket or asyncio related name resolution functions no longer involves a quadratic algorithm. This prevents a potential CPU denial of service if an out-of-spec excessive length hostname involving bidirectional characters were decoded. Some protocols such as urllib http 3xx redirects potentially allow for an attacker to supply such a name (CVE-2015-20107). - Update bundled libexpat to 2.5.0 - Port XKCP’s fix for the buffer overflows in SHA-3 (CVE-2022-37454). - On Linux the multiprocessing module returns to using filesystem backed unix domain sockets for communication with the forkserver process instead of the Linux abstract socket namespace. Only code that chooses to use the “forkserver” start method is affected. Abstract sockets have no permissions and could allow any user on the system in the same network namespace (often the whole system) to inject code into the multiprocessing forkserver process. This was a potential privilege escalation. Filesystem based socket permissions restrict this to the forkserver process user as was the default in Python 3.8 and earlier. This prevents Linux CVE-2022-42919. - The deprecated mailcap module now refuses to inject unsafe text (filenames, MIME types, parameters) into shell commands. Instead of using such text, it will warn and act as if a match was not found (or for test commands, as if the test failed). - Removed upstreamed patches: - CVE-2015-20107-mailcap-unsafe-filenames.patch - CVE-2022-42919-loc-priv-mulitproc-forksrv.patch - CVE-2022-45061-DoS-by-IDNA-decode.patch- Add CVE-2022-45061-DoS-by-IDNA-decode.patch to avoid CVE-2022-45061 (bsc#1205244) allowing DoS by IDNA decoding extremely long domain names.- Add CVE-2022-42919-loc-priv-mulitproc-forksrv.patch to avoid CVE-2022-42919 (bsc#1204886) avoiding Linux specific local privilege escalation via the multiprocessing forkserver start method.- Add 98437-sphinx.locale._-as-gettext-in-pyspecific.patch to allow building of documentation with the latest Sphinx 5.3.0 (gh#python/cpython#98366).- Update to 3.9.15: - Fix multiplying a list by an integer (list *= int): detect the integer overflow when the new allocated length is close to the maximum size. - Fix a shell code injection vulnerability in the get-remote-certificate.py example script. The script no longer uses a shell to run openssl commands. (originally filed as CVE-2022-37460, later withdrawn) - Fix command line parsing: reject -X int_max_str_digits option with no value (invalid) when the PYTHONINTMAXSTRDIGITS environment variable is set to a valid limit. - When ValueError is raised if an integer is larger than the limit, mention the sys.set_int_max_str_digits() function in the error message. - Update bundled libexpat to 2.4.9- Update to 3.9.14: - (CVE-2020-10735, bsc#1203125). Converting between int and str in bases other than 2 (binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) now raises a ValueError if the number of digits in string form is above a limit to avoid potential denial of service attacks due to the algorithmic complexity. This new limit can be configured or disabled by environment variable, command line flag, or sys APIs. See the integer string conversion length limitation documentation. The default limit is 4300 digits in string form. - Also other bug fixes: - http.server: Fix an open redirection vulnerability in the HTTP server when an URI path starts with //. Vulnerability discovered, and initial fix proposed, by Hamza Avvan. - Fix contextvars HAMT implementation to handle iteration over deep trees. The bug was discovered and fixed by Eli Libman. See MagicStack/immutables#84 for more details. - Fix binding of unix socket to empty address on Linux to use an available address from the abstract namespace, instead of “0”. - Suppress writing an XML declaration in open files in ElementTree.write() with encoding='unicode' and xml_declaration=None. - Fix the formatting for await x and not x in the operator precedence table when using the help() system. - Fix ensurepip environment isolation for subprocess running pip. - Fix problem with test_ssl test_get_ciphers on systems that require perfect forward secrecy (PFS) ciphers. - test_ssl is now checking for supported TLS version and protocols in more tests. - Removed upstreamed patches: - CVE-2021-28861-double-slash-path.patch - Realign patches: - bpo-31046_ensurepip_honours_prefix.patch - sphinx-update-removed-function.patch- Add patch CVE-2021-28861-double-slash-path.patch: * http.server: Fix an open redirection vulnerability in the HTTP server when an URI path starts with //. (bsc#1202624, CVE-2021-28861)- Switch from %primary_interpreter to prjconf-defined %primary_python (gh#openSUSE/python-rpm-macros#127).- Add CVE-2015-20107-mailcap-unsafe-filenames.patch to avoid CVE-2015-20107 (bsc#1198511, gh#python/cpython#68966), the command injection in the mailcap module. - Fix building of documentation and the universal configuration of the %primary_interpreter. - (bsc#1196784, CVE-2022-25236) Rename patch: support-expat-245.patch to support-expat-CVE-2022-25236-patched.patch and update the patch to detect expat >= 2.4.4 instead of >= 2.4.5 as it was fully patched against CVE-2022-25236.- Update to 3.9.13: - Core and Builtins - gh-92311: Fixed a bug where setting frame.f_lineno to jump over a list comprehension could misbehave or crash. - gh-92112: Fix crash triggered by an evil custom mro() on a metaclass. - gh-92036: Fix a crash in subinterpreters related to the garbage collector. When a subinterpreter is deleted, untrack all objects tracked by its GC. To prevent a crash in deallocator functions expecting objects to be tracked by the GC, leak a strong reference to these objects on purpose, so they are never deleted and their deallocator functions are not called. Patch by Victor Stinner. - gh-91421: Fix a potential integer overflow in _Py_DecodeUTF8Ex. - bpo-46775: Some Windows system error codes(>= 10000) are now mapped into the correct errno and may now raise a subclass of OSError. Patch by Dong-hee Na. - bpo-46962: Classes and functions that unconditionally declared their docstrings ignoring the - -without-doc-strings compilation flag no longer do so. - The classes affected are pickle.PickleBuffer, testcapi.RecursingInfinitelyError, and types.GenericAlias. - The functions affected are 24 methods in ctypes. - Patch by Oleg Iarygin. - bpo-36819: Fix crashes in built-in encoders with error handlers that return position less or equal than the starting position of non-encodable characters. - Library - gh-91581: utcfromtimestamp() no longer attempts to resolve fold in the pure Python implementation, since the fold is never 1 in UTC. In addition to being slightly faster in the common case, this also prevents some errors when the timestamp is close to datetime.min. Patch by Paul Ganssle. - gh-92530: Fix an issue that occurred after interrupting threading.Condition.notify(). - gh-92049: Forbid pickling constants re._constants.SUCCESS etc. Previously, pickling did not fail, but the result could not be unpickled. - bpo-47029: Always close the read end of the pipe used by multiprocessing.Queue after the last write of buffered data to the write end of the pipe to avoid BrokenPipeError at garbage collection and at multiprocessing.Queue.close() calls. Patch by Géry Ogam. - gh-91910: Add missing f prefix to f-strings in error messages from the multiprocessing and asyncio modules. - gh-91810: ElementTree method write() and function tostring() now use the text file’s encoding (“UTF-8” if not available) instead of locale encoding in XML declaration when encoding="unicode" is specified. - gh-91832: Add required attribute to argparse.Action repr output. - gh-91734: Fix OSS audio support on Solaris. - gh-91700: Compilation of regular expression containing a conditional expression (?(group)...) now raises an appropriate re.error if the group number refers to not defined group. Previously an internal RuntimeError was raised. - gh-91676: Fix unittest.IsolatedAsyncioTestCase to shutdown the per test event loop executor before returning from its run method so that a not yet stopped or garbage collected executor state does not persist beyond the test. - gh-90568: Parsing \N escapes of Unicode Named Character Sequences in a regular expression raises now re.error instead of TypeError. - gh-91595: Fix the comparison of character and integer inside Tools.gdb.libpython.write_repr(). Patch by Yu Liu. - gh-90622: Worker processes for concurrent.futures.ProcessPoolExecutor are no longer spawned on demand (a feature added in 3.9) when the multiprocessing context start method is "fork" as that can lead to deadlocks in the child processes due to a fork happening while threads are running. - gh-91575: Update case-insensitive matching in the re module to the latest Unicode version. - gh-91581: Remove an unhandled error case in the C implementation of calls to datetime.fromtimestamp with no time zone (i.e. getting a local time from an epoch timestamp). This should have no user-facing effect other than giving a possibly more accurate error message when called with timestamps that fall on 10000-01-01 in the local time. Patch by Paul Ganssle. - bpo-34480: Fix a bug where _markupbase raised an UnboundLocalError when an invalid keyword was found in marked section. Patch by Marek Suscak. - bpo-27929: Fix asyncio.loop.sock_connect() to only resolve names for socket.AF_INET or socket.AF_INET6 families. Resolution may not make sense for other families, like socket.AF_BLUETOOTH and socket.AF_UNIX. - bpo-43323: Fix errors in the email module if the charset itself contains undecodable/unencodable characters. - bpo-46787: Fix concurrent.futures.ProcessPoolExecutor exception memory leak - bpo-46415: Fix ipaddress.ip_{address,interface,network} raising TypeError instead of ValueError if given invalid tuple as address parameter. - bpo-44911: IsolatedAsyncioTestCase will no longer throw an exception while cancelling leaked tasks. Patch by Bar Harel. - bpo-44493: Add missing terminated NUL in sockaddr_un’s length - This was potentially observable when using non-abstract AF_UNIX datagram sockets to processes written in another programming language. - bpo-42627: Fix incorrect parsing of Windows registry proxy settings - bpo-36073: Raise ProgrammingError instead of segfaulting on recursive usage of cursors in sqlite3 converters. Patch by Sergey Fedoseev. - Documentation - gh-91888: Add a new gh role to the documentation to link to GitHub issues. - gh-91783: Document security issues concerning the use of the function shutil.unpack_archive() - gh-91547: Remove “Undocumented modules” page. - bpo-44347: Clarify the meaning of dirs_exist_ok, a kwarg of shutil.copytree(). - bpo-38668: Update the introduction to documentation for os.path to remove warnings that became irrelevant after the implementations of PEP 383 and PEP 529. - bpo-47138: Pin Jinja to a version compatible with Sphinx version 2.4.4. - bpo-46962: All docstrings in code snippets are now wrapped into PyDoc_STR() to follow the guideline of PEP 7’s Documentation Strings paragraph. Patch by Oleg Iarygin. - bpo-26792: Improve the docstrings of runpy.run_module() and runpy.run_path(). Original patch by Andrew Brezovsky. - bpo-45790: Adjust inaccurate phrasing in Defining Extension Types: Tutorial about the ob_base field and the macros used to access its contents. - bpo-42340: Document that in some circumstances KeyboardInterrupt may cause the code to enter an inconsistent state. Provided a sample workaround to avoid it if needed. - bpo-41233: Link the errnos referenced in Doc/library/exceptions.rst to their respective section in Doc/library/errno.rst, and vice versa. Previously this was only done for EINTR and InterruptedError. Patch by Yan “yyyyyyyan” Orestes. - bpo-38056: Overhaul the Error Handlers documentation in codecs. - bpo-13553: Document tkinter.Tk args. - Tests - gh-91607: Fix test_concurrent_futures to test the correct multiprocessing start method context in several cases where the test logic mixed this up. - bpo-47205: Skip test for sched_getaffinity() and sched_setaffinity() error case on FreeBSD. - bpo-29890: Add tests for ipaddress.IPv4Interface and ipaddress.IPv6Interface construction with tuple arguments. Original patch and tests by louisom. - Build - bpo-47103: Windows PGInstrument builds now copy a required DLL into the output directory, making it easier to run the profile stage of a PGO build. - Windows - bpo-47194: Update zlib to v1.2.12 to resolve CVE-2018-25032. - bpo-46785: Fix race condition between os.stat() and unlinking a file on Windows, by using errors codes returned by FindFirstFileW() when appropriate in win32_xstat_impl. - bpo-40859: Update Windows build to use xz-5.2.5 - Tools/Demos - gh-91583: Fix regression in the code generated by Argument Clinic for functions with the defining_class parameter. - Add patch support-expat-245.patch: * Support Expat >= 2.4.4 (jsc#SLE-21253)- Update to 3.9.12: - bpo-46968: Check for the existence of the “sys/auxv.h” header in faulthandler to avoid compilation problems in systems where this header doesn’t exist. Patch by Pablo Galindo - bpo-47101: hashlib.algorithms_available now lists only algorithms that are provided by activated crypto providers on OpenSSL 3.0. Legacy algorithms are not listed unless the legacy provider has been loaded into the default OSSL context. - bpo-23691: Protect the re.finditer() iterator from re-entering. - bpo-42369: Fix thread safety of zipfile._SharedFile.tell() to avoid a “zipfile.BadZipFile: Bad CRC-32 for file” exception when reading a ZipFile from multiple threads. - bpo-38256: Fix binascii.crc32() when it is compiled to use zlib’c crc32 to work properly on inputs 4+GiB in length instead of returning the wrong result. The workaround prior to this was to always feed the function data in increments smaller than 4GiB or to just call the zlib module function. - bpo-39394: A warning about inline flags not at the start of the regular expression now contains the position of the flag. - bpo-47061: Deprecate the various modules listed by PEP 594: - aifc, asynchat, asyncore, audioop, cgi, cgitb, chunk, crypt, imghdr, msilib, nntplib, nis, ossaudiodev, pipes, smtpd, sndhdr, spwd, sunau, telnetlib, uu, xdrlib - bpo-2604: Fix bug where doctests using globals would fail when run multiple times. - bpo-45997: Fix asyncio.Semaphore re-aquiring FIFO order. - bpo-47022: The asynchat, asyncore and smtpd modules have been deprecated since at least Python 3.6. Their documentation has now been updated to note they will removed in Python 3.12 (PEP 594). - bpo-46421: Fix a unittest issue where if the command was invoked as python -m unittest and the filename(s) began with a dot (.), a ValueError is returned. - bpo-40296: Fix supporting generic aliases in pydoc. - bpo-14156: argparse.FileType now supports an argument of ‘-’ in binary mode, returning the .buffer attribute of sys.stdin/sys.stdout as appropriate. Modes including ‘x’ and ‘a’ are treated equivalently to ‘w’ when argument is ‘-’. Patch contributed by Josh Rosenberg - Update to 3.9.11: - bpo-46852: Rename the private undocumented float.__set_format__() method to float.__setformat__() to fix a typo introduced in Python 3.7. The method is only used by test_float. Patch by Victor Stinner. - bpo-46794: Bump up the libexpat version into 2.4.6 - bpo-46762: Fix an assert failure in debug builds when a ‘<’, ‘>’, or ‘=’ is the last character in an f-string that’s missing a closing right brace. - bpo-46732: Correct the docstring for the __bool__() method. Patch by Jelle Zijlstra. - bpo-40479: Add a missing call to va_end() in Modules/_hashopenssl.c. - bpo-46615: When iterating over sets internally in setobject.c, acquire strong references to the resulting items from the set. This prevents crashes in corner-cases of various set operations where the set gets mutated. - bpo-43721: Fix docstrings of getter, setter, and deleter to clarify that they create a new copy of the property. - bpo-46503: Fix an assert when parsing some invalid N escape sequences in f-strings. - bpo-46417: Fix a race condition on setting a type __bases__ attribute: the internal function add_subclass() now gets the PyTypeObject.tp_subclasses member after calling PyWeakref_NewRef() which can trigger a garbage collection which can indirectly modify PyTypeObject.tp_subclasses. Patch by Victor Stinner. - bpo-46383: Fix invalid signature of _zoneinfo’s module_free function to resolve a crash on wasm32-emscripten platform. - bpo-43253: Fix a crash when closing transports where the underlying socket handle is already invalid on the Proactor event loop. - bpo-47004: Apply bugfixes from importlib_metadata 4.11.3, including bugfix for EntryPoint.extras, which was returning match objects and not the extras strings. - bpo-46985: Upgrade pip wheel bundled with ensurepip (pip 22.0.4, bnc#1186819, CVE-2021-3572) - bpo-46968: faulthandler: On Linux 5.14 and newer, dynamically determine size of signal handler stack size CPython allocates using getauxval(AT_MINSIGSTKSZ). This changes allows for Python extension’s request to Linux kernel to use AMX_TILE instruction set on Sapphire Rapids Xeon processor to succeed, unblocking use of the ISA in frameworks. - bpo-46955: Expose asyncio.base_events.Server as asyncio.Server. Patch by Stefan Zabka. - bpo-46932: Update bundled libexpat to 2.4.7 - bpo-25707: Fixed a file leak in xml.etree.ElementTree.iterparse() when the iterator is not exhausted. Patch by Jacob Walls. - bpo-44886: Inherit asyncio proactor datagram transport from asyncio.DatagramTransport. - bpo-46827: Support UDP sockets in asyncio.loop.sock_connect() for selector-based event loops. Patch by Thomas Grainger. - bpo-46811: Make test suite support Expat >=2.4.5 - bpo-46252: Raise TypeError if ssl.SSLSocket is passed to transport-based APIs. - bpo-46784: Fix libexpat symbols collisions with user dynamically loaded or statically linked libexpat in embedded Python. - bpo-39327: shutil.rmtree() can now work with VirtualBox shared folders when running from the guest operating-system. - bpo-46756: Fix a bug in urllib.request.HTTPPasswordMgr.find_user_password() and urllib.request.HTTPPasswordMgrWithPriorAuth.is_authenticated() which allowed to bypass authorization. For example, access to URI example.org/foobar was allowed if the user was authorized for URI example.org/foo. - bpo-45863: When the tarfile module creates a pax format archive, it will put an integer representation of timestamps in the ustar header (if possible) for the benefit of older unarchivers, in addition to the existing full-precision timestamps in the pax extended header. - bpo-46672: Fix NameError in asyncio.gather() when initial type check fails. - bpo-45948: Fixed a discrepancy in the C implementation of the xml.etree.ElementTree module. Now, instantiating an xml.etree.ElementTree.XMLParser with a target=None keyword provides a default xml.etree.ElementTree.TreeBuilder target as the Python implementation does. - bpo-46591: Make the IDLE doc URL on the About IDLE dialog clickable. - bpo-46400: expat: Update libexpat from 2.4.1 to 2.4.4 - bpo-46487: Add the get_write_buffer_limits method to asyncio.transports.WriteTransport and to the SSL transport. - bpo-46539: In typing.get_type_hints(), support evaluating stringified ClassVar and Final annotations inside Annotated. Patch by Gregory Beauregard. - bpo-46491: Allow typing.Annotated to wrap typing.Final and typing.ClassVar. Patch by Gregory Beauregard. - bpo-46436: Fix command-line option -d/--directory in module http.server which is ignored when combined with command-line option --cgi. Patch by Géry Ogam. - bpo-41403: Make mock.patch() raise a TypeError with a relevant error message on invalid arg. Previously it allowed a cryptic AttributeError to escape. - bpo-46474: In importlib.metadata.EntryPoint.pattern, avoid potential REDoS by limiting ambiguity in consecutive whitespace. - bpo-46469: asyncio generic classes now return types.GenericAlias in __class_getitem__ instead of the same class. - bpo-46434: pdb now gracefully handles help when __doc__ is missing, for example when run with pregenerated optimized .pyc files. - bpo-46333: The __eq__() and __hash__() methods of typing.ForwardRef now honor the module parameter of typing.ForwardRef. Forward references from different modules are now differentiated. - bpo-43118: Fix a bug in inspect.signature() that was causing it to fail on some subclasses of classes with a __text_signature__ referencing module globals. Patch by Weipeng Hong. - bpo-21987: Fix an issue with tarfile.TarFile.getmember() getting a directory name with a trailing slash. - bpo-20392: Fix inconsistency with uppercase file extensions in MimeTypes.guess_type(). Patch by Kumar Aditya. - bpo-46080: Fix exception in argparse help text generation if a argparse.BooleanOptionalAction argument’s default is argparse.SUPPRESS and it has help specified. Patch by Felix Fontein. - bpo-44439: Fix .write() method of a member file in ZipFile, when the input data is an object that supports the buffer protocol, the file length may be wrong. - bpo-45703: When a namespace package is imported before another module from the same namespace is created/installed in a different sys.path location while the program is running, calling the importlib.invalidate_caches() function will now also guarantee the new module is noticed. - bpo-24959: Fix bug where unittest sometimes drops frames from tracebacks of exceptions raised in tests. - bpo-46463: Fixes escape4chm.py script used when building the CHM documentation file - bpo-46913: Fix test_faulthandler.test_sigfpe() if Python is built with undefined behavior sanitizer (UBSAN): disable UBSAN on the faulthandler_sigfpe() function. Patch by Victor Stinner. - bpo-46708: Prevent default asyncio event loop policy modification warning after test_asyncio execution. - bpo-46616: Ensures test_importlib.test_windows cleans up registry keys after completion. - bpo-44359: test_ftplib now silently ignores socket errors to prevent logging unhandled threading exceptions. Patch by Victor Stinner. - bpo-46542: Fix a Python crash in test_lib2to3 when using Python built in debug mode: limit the recursion limit. Patch by Victor Stinner. - bpo-46576: test_peg_generator now disables compiler optimization when testing compilation of its own C extensions to significantly speed up the testing on non-debug builds of CPython. - bpo-46542: Fix test_json tests checking for RecursionError: modify these tests to use support.infinite_recursion(). Patch by Victor Stinner. - bpo-13886: Skip test_builtin PTY tests on non-ASCII characters if the readline module is loaded. The readline module changes input() behavior, but test_builtin is not intented to test the readline module. Patch by Victor Stinner. - bpo-38472: Fix GCC detection in setup.py when cross-compiling. The C compiler is now run with LC_ALL=C. Previously, the detection failed with a German locale. - bpo-46513: configure no longer uses AC_C_CHAR_UNSIGNED macro and pyconfig.h no longer defines reserved symbol __CHAR_UNSIGNED__. - bpo-45925: Update Windows installer to use SQLite 3.37.2. - bpo-45296: Clarify close, quit, and exit in IDLE. In the File menu, ‘Close’ and ‘Exit’ are now ‘Close Window’ (the current one) and ‘Exit’ is now ‘Exit IDLE’ (by closing all windows). In Shell, ‘quit()’ and ‘exit()’ mean ‘close Shell’. If there are no other windows, this also exits IDLE. - bpo-45447: Apply IDLE syntax highlighting to pyi files. Patch by Alex Waygood and Terry Jan Reedy. - Removed upstreamed patches: - support-expat-245.patch- Add patch support-expat-245.patch: * Support Expat >= 2.4.5- Update to 3.9.10: Bugfix-only release- Remove shebangs from from python-base libraries in _libdir (bsc#1193179, bsc#1192249). - Readjust patches: - bpo-31046_ensurepip_honours_prefix.patch - decimal.patch - python-3.3.0b1-fix_date_time_compiler.patch- Update to 3.9.9: * Core and Builtins + bpo-30570: Fixed a crash in issubclass() from infinite recursion when searching pathological __bases__ tuples. + bpo-45494: Fix parser crash when reporting errors involving invalid continuation characters. Patch by Pablo Galindo. + bpo-45385: Fix reference leak from descr_check. Patch by Dong-hee Na. + bpo-45167: Fix deepcopying of types.GenericAlias objects. + bpo-44219: Release the GIL while performing isatty system calls on arbitrary file descriptors. In particular, this affects os.isatty(), os.device_encoding() and io.TextIOWrapper. By extension, io.open() in text mode is also affected. This change solves a deadlock in os.isatty(). Patch by Vincent Michel in bpo-44219. + bpo-44959: Added fallback to extension modules with ‘.sl’ suffix on HP-UX + bpo-44050: Extensions that indicate they use global state (by setting m_size to -1) can again be used in multiple interpreters. This reverts to behavior of Python 3.8. + bpo-45121: Fix issue where Protocol.__init__ raises RecursionError when it’s called directly or via super(). Patch provided by Yurii Karabas. + bpo-45083: When the interpreter renders an exception, its name now has a complete qualname. Previously only the class name was concatenated to the module name, which sometimes resulted in an incorrect full name being displayed. + bpo-45738: Fix computation of error location for invalid continuation characters in the parser. Patch by Pablo Galindo. + Library + bpo-45678: Fix bug in Python 3.9 that meant functools.singledispatchmethod failed to properly wrap the attributes of the target method. Patch by Alex Waygood. + bpo-45679: Fix caching of multi-value typing.Literal. Literal[True, 2] is no longer equal to Literal[1, 2]. + bpo-45438: Fix typing.Signature string representation for generic builtin types. + bpo-45581: sqlite3.connect() now correctly raises MemoryError if the underlying SQLite API signals memory error. Patch by Erlend E. Aasland. + bpo-39679: Fix bug in functools.singledispatchmethod that caused it to fail when attempting to register a classmethod() or staticmethod() using type annotations. Patch contributed by Alex Waygood. + bpo-45515: Add references to zoneinfo in the datetime documentation, mostly replacing outdated references to dateutil.tz. Change by Paul Ganssle. + bpo-45467: Fix incremental decoder and stream reader in the “raw-unicode-escape” codec. Previously they failed if the escape sequence was split. + bpo-45461: Fix incremental decoder and stream reader in the “unicode-escape” codec. Previously they failed if the escape sequence was split. + bpo-45239: Fixed email.utils.parsedate_tz() crashing with UnboundLocalError on certain invalid input instead of returning None. Patch by Ben Hoyt. + bpo-44904: Fix bug in the doctest module that caused it to fail if a docstring included an example with a classmethod property. Patch by Alex Waygood. + bpo-45406: Make inspect.getmodule() catch FileNotFoundError raised by :’func:inspect.getabsfile, and return None to indicate that the module could not be determined. + bpo-45262: Prevent use-after-free in asyncio. Make sure the cached running loop holder gets cleared on dealloc to prevent use-after-free in get_running_loop + bpo-45386: Make xmlrpc.client more robust to C runtimes where the underlying C strftime function results in a ValueError when testing for year formatting options. + bpo-45371: Fix clang rpath issue in distutils. The UnixCCompiler now uses correct clang option to add a runtime library directory (rpath) to a shared library. + bpo-20028: Improve error message of csv.Dialect when initializing. Patch by Vajrasky Kok and Dong-hee Na. + bpo-45343: Update bundled pip to 21.2.4 and setuptools to 58.1.0 + bpo-41710: On Unix, if the sem_clockwait() function is available in the C library (glibc 2.30 and newer), the threading.Lock.acquire() method now uses the monotonic clock (time.CLOCK_MONOTONIC) for the timeout, rather than using the system clock (time.CLOCK_REALTIME), to not be affected by system clock changes. Patch by Victor Stinner. + bpo-45328: Fixed http.client.HTTPConnection to work properly in OSs that don’t support the TCP_NODELAY socket option. + bpo-1596321: Fix the threading._shutdown() function when the threading module was imported first from a thread different than the main thread: no longer log an error at Python exit. + bpo-45274: Fix a race condition in the Thread.join() method of the threading module. If the function is interrupted by a signal and the signal handler raises an exception, make sure that the thread remains in a consistent state to prevent a deadlock. Patch by Victor Stinner. + bpo-45238: Fix unittest.IsolatedAsyncioTestCase.debug(): it runs now asynchronous methods and callbacks. + bpo-36674: unittest.TestCase.debug() raises now a unittest.SkipTest if the class or the test method are decorated with the skipping decorator. + bpo-45235: Fix an issue where argparse would not preserve values in a provided namespace when using a subparser with defaults. + bpo-45234: Fixed a regression in copyfile(), copy(), copy2() raising FileNotFoundError when source is a directory, which should raise IsADirectoryError + bpo-45228: Fix stack buffer overflow in parsing J1939 network address. + bpo-45192: Fix the tempfile._infer_return_type function so that the dir argument of the tempfile functions accepts an object implementing the os.PathLike protocol. + bpo-45160: When tracing a tkinter variable used by a ttk OptionMenu, callbacks are no longer made twice. + bpo-35474: Calling mimetypes.guess_all_extensions() with strict=False no longer affects the result of the following call with strict=True. Also, mutating the returned list no longer affects the global state. + bpo-45166: typing.get_type_hints() now works with Final wrapped in ForwardRef. + bpo-45097: Remove deprecation warnings about the loop argument in asyncio incorrectly emitted in cases when the user does not pass the loop argument. + bpo-45081: Fix issue when dataclasses that inherit from typing.Protocol subclasses have wrong __init__. Patch provided by Yurii Karabas. + bpo-24444: Fixed an error raised in argparse help display when help for an option is set to 1+ blank spaces or when choices arg is an empty container. + bpo-45021: Fix a potential deadlock at shutdown of forked children when using concurrent.futures module + bpo-45030: Fix integer overflow in pickling and copying the range iterator. + bpo-39039: tarfile.open raises ReadError when a zlib error occurs during file extraction. + bpo-44594: Fix an edge case of ExitStack and AsyncExitStack exception chaining. They will now match with block behavior when __context__ is explicitly set to None when the exception is in flight. * Documentation + bpo-45726: Improve documentation for functools.singledispatch() and functools.singledispatchmethod. + bpo-45680: Amend the docs on GenericAlias objects to clarify that non-container classes can also implement __class_getitem__. Patch contributed by Alex Waygood. + bpo-45655: Add a new “relevant PEPs” section to the top of the documentation for the typing module. Patch by Alex Waygood. + bpo-45604: Add level argument to multiprocessing.log_to_stderr function docs. + bpo-45464: Mention in the documentation of Built-in Exceptions that inheriting from multiple exception types in a single subclass is not recommended due to possible memory layout incompatibility. + bpo-45449: Add note about PEP 585 in collections.abc. + bpo-45516: Add protocol description to the importlib.abc.Traversable documentation. + bpo-20692: Add Programming FAQ entry explaining that int literal attribute access requires either a space after or parentheses around the literal. + bpo-45216: Remove extra documentation listing methods in difflib. It was rendering twice in pydoc and was outdated in some places. + bpo-45772: socket.socket documentation is corrected to a class from a function. + bpo-45392: Update the docstring of the type built-in to remove a redundant line and to mention keyword arguments for the constructor. * Tests + bpo-45578: Add tests for dis.distb() + bpo-45577: Add subtests for all pickle protocols in test_zoneinfo. + bpo-43592: test.libregrtest now raises the soft resource limit for the maximum number of file descriptors when the default is too low for our test suite as was often the case on macOS. + bpo-40173: Fix test.support.import_helper.import_fresh_module(). + bpo-45280: Add a test case for empty typing.NamedTuple. + bpo-45269: Cover case when invalid markers type is supplied to c_make_encoder. + bpo-45209: Fix UserWarning: resource_tracker warning in _test_multiprocessing._TestSharedMemory.test_shared_memory_cleaned_after_process_termination + bpo-45195: Fix test_readline.test_nonascii(): sometimes, the newline character is not written at the end, so don’t expect it in the output. Patch by Victor Stinner. + bpo-45156: Fixes infinite loop on unittest.mock.seal() of mocks created by create_autospec(). + bpo-45042: Fixes that test classes decorated with @hashlib_helper.requires_hashdigest were skipped all the time. + bpo-45235: Reverted an argparse bugfix that caused regression in the handling of default arguments for subparsers. This prevented leaf level arguments from taking precedence over root level arguments. + bpo-45765: In importlib.metadata, fix distribution discovery for an empty path. + bpo-45644: In-place JSON file formatting using python3 -m json.tool infile infile now works correctly, previously it left the file empty. Patch by Chris Wesseling. * Build + bpo-43158: setup.py now uses values from configure script to build the _uuid extension module. Configure now detects util-linux’s libuuid, too. + bpo-45571: Modules/Setup now use PY_CFLAGS_NODIST instead of PY_CFLAGS to compile shared modules. + bpo-45532: Update sys.version to use main as fallback information. Patch by Jeong YunWon. + bpo-45405: Prevent internal configure error when running configure with recent versions of non-Apple clang. Patch by David Bohman. + bpo-45220: Avoid building with the Windows 11 SDK previews automatically. This may be overridden by setting the DefaultWindowsSDKVersion environment variable before building. * C API + bpo-44687: BufferedReader.peek() no longer raises ValueError when the entire file has already been buffered. + bpo-44751: Remove crypt.h include from the public Python.h header. - Drop patch incorrect-deprecation-warn-asyncio.patch, fix included.- rpm-build-python dependency is available on the current Factory, not with SLE.- Add incorrect-deprecation-warn-asyncio.patch to fix bpo#45097 (from gh#python/cpython#28153) to remove incorrect deprecation warnings in asyncio.- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Update to 3.9.7: - Security - Replaced usage of tempfile.mktemp() with TemporaryDirectory to avoid a potential race condition. - Add auditing events to the marshal module, and stop raising code.__init__ events for every unmarshalled code object. Directly instantiated code objects will continue to raise an event, and audit event handlers should inspect or collect the raw marshal data. This reduces a significant performance overhead when loading from .pyc files. - Made the internal putcmd function in smtplib sanitize input for presence of \r and \n characters to avoid (unlikely) command injection. - Core and Builtins - Fixed pickling of range iterators that iterated for over 2**32 times. - Fix a race in WeakKeyDictionary, WeakValueDictionary and WeakSet when two threads attempt to commit the last pending removal. This fixes asyncio.create_task and fixes a data loss in asyncio.run where shutdown_asyncgens is not run - Fixed a corner case bug where the result of float.fromhex('0x.8p-1074') was rounded the wrong way. - Refine the syntax error for trailing commas in import statements. Patch by Pablo Galindo. - Restore behaviour of complex exponentiation with integer-valued exponent of type float or complex. - Correct the ast locations of f-strings with format specs and repeated expressions. Patch by Pablo Galindo - Use new trashcan macros (Py_TRASHCAN_BEGIN/END) in frameobject.c instead of the old ones (Py_TRASHCAN_SAFE_BEGIN/END). - Fix segmentation fault with deep recursion when cleaning method objects. Patch by Augusto Goulart and Pablo Galindo. - Fix bug where PyErr_SetObject hangs when the current exception has a cycle in its context chain. - Fix reference leaks in the error paths of update_bases() and __build_class__. Patch by Pablo Galindo. - Fix undefined behaviour in complex object exponentiation. - Remove uses of PyObject_GC_Del() in error path when initializing types.GenericAlias. - Remove the pass-through for hash() of weakref.proxy objects to prevent unintended consequences when the original referred object dies while the proxy is part of a hashable object. Patch by Pablo Galindo. - Fix ltrace functionality when exceptions are raised. Patch by Pablo Galindo - Fix a crash at Python exit when a deallocator function removes the last strong reference to a heap type. Patch by Victor Stinner. - Fix crash when using passing a non-exception to a generator’s throw() method. Patch by Noah Oxer - Library - run() now always return a TestResult instance. Previously it returned None if the test class or method was decorated with a skipping decorator. - Fix bugs in cleaning up classes and modules in unittest: - Functions registered with addModuleCleanup() were not called unless the user defines tearDownModule() in their test module. - Functions registered with addClassCleanup() were not called if tearDownClass is set to None. - Buffering in TestResult did not work with functions registered with addClassCleanup() and addModuleCleanup(). - Errors in functions registered with addClassCleanup() and addModuleCleanup() were not handled correctly in buffered and debug modes. - Errors in setUpModule() and functions registered with addModuleCleanup() were reported in wrong order. - And several lesser bugs. - Made email date parsing more robust against malformed input, namely a whitespace-only Date: header. Patch by Wouter Bolsterlee. - Fix a crash in the signal handler of the faulthandler module: no longer modify the reference count of frame objects. Patch by Victor Stinner. - Method stopTestRun() is now always called in pair with method startTestRun() for TestResult objects implicitly created in run(). Previously it was not called for test methods and classes decorated with a skipping decorator. - argparse.BooleanOptionalAction’s default value is no longer printed twice when used with argparse.ArgumentDefaultsHelpFormatter. - Upgrade bundled pip to 21.2.3 and setuptools to 57.4.0 - Fix the os.set_inheritable() function on FreeBSD 14 for file descriptor opened with the O_PATH flag: ignore the EBADF error on ioctl(), fallback on the fcntl() implementation. Patch by Victor Stinner. - The @functools.total_ordering() decorator now works with metaclasses. - sqlite3 user-defined functions and aggregators returning strings with embedded NUL characters are no longer truncated. Patch by Erlend E. Aasland. - Always show loop= arg deprecations in asyncio.gather() and asyncio.sleep() - Non-protocol subclasses of typing.Protocol ignore now the __init__ method inherited from protocol base classes. - The tokenize.tokenize() doesn’t incorrectly generate a NEWLINE token if the source doesn’t end with a new line character but the last line is a comment, as the function is already generating a NL token. Patch by Pablo Galindo - Fix http.client.HTTPSConnection fails to download >2GiB data. - rcompleter does not call getattr() on property objects to avoid the side-effect of evaluating the corresponding method. - weakref.proxy objects referencing non-iterators now raise TypeError rather than dereferencing the null tp_iternext slot and crashing. - The implementation of collections.abc.Set._hash() now matches that of frozenset.__hash__(). - Fixed issue in compileall.compile_file() when sys.stdout is redirected. Patch by Stefan Hölzl. - Give priority to using the current class constructor in inspect.signature(). Patch by Weipeng Hong. - Fix memory leak in _tkinter._flatten() if it is called with a sequence or set, but not list or tuple. - Update shutil.copyfile() to raise FileNotFoundError instead of confusing IsADirectoryError when a path ending with a os.path.sep does not exist; shutil.copy() and shutil.copy2() are also affected. - handle StopIteration subclass raised from @contextlib.contextmanager generator - Make the implementation consistency of indexOf() between C and Python versions. Patch by Dong-hee Na. - Fixes TypedDict to work with typing.get_type_hints() and postponed evaluation of annotations across modules. - Fix bug with pdb’s handling of import error due to a package which does not have a __main__ module - Fixed an exception thrown while parsing a malformed multipart email by email.message.EmailMessage. - pathlib.PureWindowsPath.is_reserved() now identifies a greater range of reserved filenames, including those with trailing spaces or colons. - Handle exceptions from parsing the arg of pdb’s run/restart command. - The sqlite3 context manager now performs a rollback (thus releasing the database lock) if commit failed. Patch by Luca Citi and Erlend E. Aasland. - Improved string handling for sqlite3 user-defined functions and aggregates: - It is now possible to pass strings with embedded null characters to UDFs - Conversion failures now correctly raise MemoryError - Patch by Erlend E. Aasland. - Handle RecursionError in TracebackException’s constructor, so that long exceptions chains are truncated instead of causing traceback formatting to fail. - Fix email.message.EmailMessage.set_content() when called with binary data and 7bit content transfer encoding. - The compresslevel and preset keyword arguments of tarfile.open() are now both documented and tested. - Fixed a Y2k38 bug in the compileall module where it would fail to compile files with a modification time after the year 2038. - Fix test___all__ on platforms lacking a shared memory implementation. - Pass multiprocessing BaseProxy argument manager_owned through AutoProxy. - email.utils.getaddresses() now accepts email.header.Header objects along with string values. Patch by Zackery Spytz. - lib2to3 now recognizes async generators everywhere. - Fix TypeError when required subparsers without dest do not receive arguments. Patch by Anthony Sottile. - Documentation - Removed the othergui.rst file, any references to it, and the list of GUI frameworks in the FAQ. In their place I’ve added links to the Python Wiki page on GUI frameworks. - Update the definition of __future__ in the glossary by replacing the confusing word “pseudo-module” with a more accurate description. - Add typical examples to os.path.splitext docs - Clarify that shutil.make_archive() is not thread-safe due to reliance on changing the current working directory. - Update of three expired hyperlinks in Doc/distributing/index.rst: “Project structure”, “Building and packaging the project”, and “Uploading the project to the Python Packaging Index”. - Updated the docstring and docs of filecmp.cmp() to be more accurate and less confusing especially in respect to shallow arg. - Match the docstring and python implementation of countOf() to the behavior of its c implementation. - List all kwargs for textwrap.wrap(), textwrap.fill(), and textwrap.shorten(). Now, there are nav links to attributes of TextWrap, which makes navigation much easier while minimizing duplication in the documentation. - Clarify that atexit uses equality comparisons internally. - Documentation of csv.Dialect is more descriptive. - Fix documentation for the return type of sysconfig.get_path(). - Add a “Security Considerations” index which links to standard library modules that have explicitly documented security considerations. - Remove the unqualified claim that tkinter is threadsafe. It has not been true for several years and likely never was. An explanation of what is true may be added later, after more discussion, and possibly after patching _tkinter.c, - Tests - Add calls of gc.collect() in tests to support PyPy. - Made tests relying on the _asyncio C extension module optional to allow running on alternative Python implementations. Patch by Serhiy Storchaka. - Fix auto history tests of test_readline: sometimes, the newline character is not written at the end, so don’t expect it in the output. - Add ability to wholesale silence DeprecationWarnings while running the regression test suite. - Notify users running test_decimal regression tests on macOS of potential harmless “malloc can’t allocate region” messages spewed by test_decimal. - Fixed floating point precision issue in turtle tests. - Regression tests, when run with -w, are now re-running only the affected test methods instead of re-running the entire test file. - Add test for nested queues when using multiprocessing shared objects AutoProxy[Queue] inside ListProxy and DictProxy- Add decimal.patch to add building with --with-system-libmpdec option (bsc#1189356).- test_faulthandler is still problematic under qemu linux-user emulation, disable it there - Reenable profileopt with qemu emulation, test_faulthandler is no longer run during profiling- Update to 3.9.6: * Security - bpo-44022 (bsc#1189241, CVE-2021-3737): http.client now avoids infinitely reading potential HTTP headers after a 100 Continue status response from the server. * Core and Builtins - bpo-44168: Fix error message in the parser involving keyword arguments with invalid expressions. Patch by Pablo Galindo - bpo-44114: Fix incorrect dictkeys_reversed and dictitems_reversed function signatures in C code, which broke webassembly builds. - bpo-44070: No longer eagerly makes import filenames absolute, except for extension modules, which was introduced in 3.9.5. - bpo-28146: Fix a confusing error message in str.format(). - bpo-11105: When compiling ast.AST objects with recursive references through compile(), the interpreter doesn’t crash anymore instead it raises a RecursionError. * Library - bpo-43972: When http.server.SimpleHTTPRequestHandler sends a 301 (Moved Permanently) for a directory path not ending with /, add a Content-Length: 0 header. This improves the behavior for certain clients. - bpo-43776: When subprocess.Popen args are provided as a string or as pathlib.Path, the Popen instance repr now shows the right thing. - bpo-43318: Fix a bug where pdb does not always echo cleared breakpoints. - bpo-43295: datetime.datetime.strptime() now raises ValueError instead of IndexError when matching 'z' with the %z format specifier. - bpo-37022: pdb now displays exceptions from repr() with its p and pp commands. * IDLE - bpo-33962: Move the indent space setting from the Font tab to the new Windows tab. Patch by Mark Roseman and Terry Jan Reedy. - bpo-40468: Split the settings dialog General tab into Windows and Shell/ED tabs. Move help sources, which extend the Help menu, to the Extensions tab. Make space for new options and shorten the dialog. The latter makes the dialog better fit small screens. - bpo-41611: Avoid uncaught exceptions in AutoCompleteWindow.winconfig_event(). - bpo-41611: Fix IDLE sometimes freezing upon tab-completion on macOS. * Tools/Demos - bpo-44074: Make patchcheck automatically detect the correct base branch name (previously it was hardcoded to ‘master’) - Upstreamed patches were removed: - bpo44426-complex-keyword-sphinx.patch - Refreshed patches: - subprocess-raise-timeout.patch- Use versioned python-Sphinx to avoid dependency on other version of Python (bsc#1183858).- Add bpo44426-complex-keyword-sphinx.patch allowing generating documentation with Sphinx 4 (bpo#44426).- Revert previous skip over test_capi - Add skip-test_pyobject_freed_is_freed.patch to skip failing test on SLE-15.- allow build with Sphinx >= 3.x- Exclude test_capi on Leap (test fails there)- Stop providing "python" symbol (bsc#1185588), which means python2 currently.- Update to 3.9.5: * Security - bpo-43434: Creating a sqlite3.Connection object now also produces a sqlite3.connect auditing event. Previously this event was only produced by sqlite3.connect() calls. Patch by Erlend E. Aasland. - bpo-43882: The presence of newline or tab characters in parts of a URL could allow some forms of attacks. - Following the controlling specification for URLs defined by WHATWG urllib.parse() now removes ASCII newlines and tabs from URLs, preventing such attacks. - bpo-43472: Ensures interpreter-level audit hooks receive the cpython.PyInterpreterState_New event when called through the _xxsubinterpreters module. - bpo-36384 (bsc#1185706, CVE-2021-29921): ipaddress module no longer accepts any leading zeros in IPv4 address strings. Leading zeros are ambiguous and interpreted as octal notation by some libraries. For example the legacy function socket.inet_aton() treats leading zeros as octal notatation. glibc implementation of modern inet_pton() does not accept any leading zeros. For a while the ipaddress module used to accept ambiguous leading zeros. - bpo-43075 (CVE-2021-3733, bsc#1189287): Fix Regular Expression Denial of Service (ReDoS) vulnerability in urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex has quadratic worst-case complexity and it allows cause a denial of service when identifying crafted invalid RFCs. This ReDoS issue is on the client side and needs remote attackers to control the HTTP server. - bpo-42800: Audit hooks are now fired for frame.f_code, traceback.tb_frame, and generator code/frame attribute access. * Core and Builtins - bpo-43105: Importlib now resolves relative paths when creating module spec objects from file locations. - bpo-42924: Fix bytearray repetition incorrectly copying data from the start of the buffer, even if the data is offset within the buffer (e.g. after reassigning a slice at the start of the bytearray to a shorter byte string). * Library - bpo-43993: Update bundled pip to 21.1.1. - bpo-43937: Fixed the turtle module working with non-default root window. - bpo-43930: Update bundled pip to 21.1 and setuptools to 56.0.0 - bpo-43920: OpenSSL 3.0.0: load_verify_locations() now returns a consistent error message when cadata contains no valid certificate. - bpo-43607: urllib can now convert Windows paths with \\?\ prefixes into URL paths. - bpo-43284: platform.win32_ver derives the windows version from sys.getwindowsversion().platform_version which in turn derives the version from kernel32.dll (which can be of a different version than Windows itself). Therefore change the platform.win32_ver to determine the version using the platform module’s _syscmd_ver private function to return an accurate version. - bpo-42248: [Enum] ensure exceptions raised in _missing__ are released - bpo-43799: OpenSSL 3.0.0: define OPENSSL_API_COMPAT 1.1.1 to suppress deprecation warnings. Python requires OpenSSL 1.1.1 APIs. - bpo-43794: Add ssl.OP_IGNORE_UNEXPECTED_EOF constants (OpenSSL 3.0.0) - bpo-43789: OpenSSL 3.0.0: Don’t call the password callback function a second time when first call has signaled an error condition. - bpo-43788: The header files for ssl error codes are now OpenSSL version-specific. Exceptions will now show correct reason and library codes. The make_ssl_data.py script has been rewritten to use OpenSSL’s text file with error codes. - bpo-43655: tkinter dialog windows are now recognized as dialogs by window managers on macOS and X Window. - bpo-43534: turtle.textinput() and turtle.numinput() create now a transient window working on behalf of the canvas window. - bpo-43522: Fix problem with hostname_checks_common_name. OpenSSL does not copy hostflags from struct SSL_CTX to struct SSL. - bpo-42967: Allow bytes separator argument in urllib.parse.parse_qs and urllib.parse.parse_qsl when parsing str query strings. Previously, this raised a TypeError. - bpo-43176: Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error. - bpo-41735: Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin. - bpo-36470: Fix dataclasses with InitVars and replace(). Patch by Claudiu Popa. - bpo-32745: Fix a regression in the handling of ctypes’ ctypes.c_wchar_p type: embedded null characters would cause a ValueError to be raised. Patch by Zackery Spytz. * Documentation - bpo-43959: The documentation on the PyContextVar C-API was clarified. - bpo-43938: Update dataclasses documentation to express that FrozenInstanceError is derived from AttributeError. - bpo-43755: Update documentation to reflect that unparenthesized lambda expressions can no longer be the expression part in an if clause in comprehensions and generator expressions since Python 3.9. - bpo-43739: Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type. * Tests - bpo-43961: Fix test_logging.test_namer_rotator_inheritance() on Windows: use os.replace() rather than os.rename(). Patch by Victor Stinner. - bpo-43842: Fix a race condition in the SMTP test of test_logging. Don’t close a file descriptor (socket) from a different thread while asyncore.loop() is polling the file descriptor. Patch by Victor Stinner. - bpo-43811: Tests multiple OpenSSL versions on GitHub Actions. Use ccache to speed up testing. - bpo-43791: OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and 1.1. Tests are failing with TLSV1_ALERT_INTERNAL_ERROR. - Refreshed patches: - bpo-31046_ensurepip_honours_prefix.patch - python-3.3.0b1-fix_date_time_compiler.patch - Add vendorized files from bluez-devel to enable building support for Bluetooth.- Make sure to close the import_failed.map file after the exception has been raised in order to avoid ResourceWarnings when the failing import is part of a try...except block.- Update to 3.9.4: - bpo#43710: Reverted the fix for https://bugs.python.org/issue42500 as it changed the PyThreadState struct size and broke the 3.9.x ABI in the 3.9.3 release (visible on 32-bit platforms using binaries compiled using an earlier version of Python 3.9.x headers). - bpo#26053: Fixed bug where the pdb interactive run command echoed the args from the shell command line, even if those have been overridden at the pdb prompt. - bpo#42988 (bsc#1183374) CVE-2021-3426: Remove the getfile feature of the pydoc module which could be abused to read arbitrary files on the disk (directory traversal vulnerability). Moreover, even source code of Python modules can contain sensitive data like passwords. Vulnerability reported by David Schwörer. - bpo#43285: ftplib no longer trusts the IP address value returned from the server in response to the PASV command by default. This prevents a malicious FTP server from using the response to probe IPv4 address and port combinations on the client network. Code that requires the former vulnerable behavior may set a trust_server_pasv_ipv4_address attribute on their ftplib.FTP instances to True to re-enable it. - bpo#43439: Add audit hooks for gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo Galindo. - bpo#43660: Fix crash that happens when replacing sys.stderr with a callable that can remove the object while an exception is being printed. Patch by Pablo Galindo. - bpo#43555: Report the column offset for SyntaxError for invalid line continuation characters. Patch by Pablo Galindo. - bpo#43517: Fix misdetection of circular imports when using from pkg.mod import attr, which caused false positives in non-trivial multi-threaded code. - bpo#35883: Python no longer fails at startup with a fatal error if a command line argument contains an invalid Unicode character. The Py_DecodeLocale() function now escapes byte sequences which would be decoded as Unicode characters outside the [U+0000; U+10ffff] range. - bpo#43406: Fix a possible race condition where PyErr_CheckSignals tries to execute a non-Python signal handler. - bpo#42500: Improve handling of exceptions near recursion limit. Converts a number of Fatal Errors in RecursionErrors. - bpo#43433: xmlrpc.client.ServerProxy no longer ignores query and fragment in the URL of the server. - bpo#35930: Raising an exception raised in a “future” instance will create reference cycles. - bpo#43577: Fix deadlock when using ssl.SSLContext debug callback with ssl.SSLContext.sni_callback(). - bpo#43521: ast.unparse can now render NaNs and empty sets. - bpo#43423: subprocess.communicate() no longer raises an IndexError when there is an empty stdout or stderr IO buffer during a timeout on Windows. - bpo#27820: Fixed long-standing bug of smtplib.SMTP where doing AUTH LOGIN with initial_response_ok=False will fail. The cause is that SMTP.auth_login _always_ returns a password if provided with a challenge string, thus non-compliant with the standard for AUTH LOGIN. Also fixes bug with the test for smtpd. - bpo#43332: Improves the networking efficiency of http.client when using a proxy via set_tunnel(). Fewer small send calls are made during connection setup. - bpo#43399: Fix ElementTree.extend not working on iterators when using the Python implementation - bpo#43316: The python -m gzip command line application now properly fails when detecting an unsupported extension. It exits with a non-zero exit code and prints an error message to stderr. - bpo#43260: Fix TextIOWrapper can not flush internal buffer forever after very large text is written. - bpo#42782: Fail fast in shutil.move() to avoid creating destination directories on failure. - bpo#37193: Fixed memory leak in socketserver.ThreadingMixIn introduced in Python 3.7. - bpo#43199: Answer “Why is there no goto?” in the Design and History FAQ. - bpo#43407: Clarified that a result from time.monotonic(), time.perf_counter(), time.process_time(), or time.thread_time() can be compared with the result from any following call to the same function - not just the next immediate call. - bpo#27646: Clarify that ‘yield from ’ works with any iterable, not just iterators. - bpo#36346: Update some deprecated unicode APIs which are documented as “will be removed in 4.0” to “3.12”. See PEP 623 for detail. - bpo#37945: Fix test_getsetlocale_issue1813() of test_locale: skip the test if setlocale() fails. Patch by Victor Stinner. - bpo#41561: Add workaround for Ubuntu’s custom OpenSSL security level policy. - bpo#43288: Fix test_importlib to correctly skip Unicode file tests if the fileystem does not support them. - bpo#43617: Improve configure.ac: Check for presence of autoconf-archive package and remove our copies of M4 macros. - bpo#42225: Document that IDLE can fail on Unix either from misconfigured IP masquerage rules or failure displaying complex colored (non-ascii) characters. - bpo#43283: Document why printing to IDLE’s Shell is often slower than printing to a system terminal and that it can be made faster by pre-formatting a single string before printing.- Update to 3.9.2: - bpo#42938 (bsc#1181126): Avoid static buffers when computing the repr of ctypes.c_double and ctypes.c_longdouble values. This issue was assigned CVE-2021-3177. - bpo#42967 (bsc#1182379): Fix web cache poisoning vulnerability by defaulting the query args separator to &, and allowing the user to choose a custom separator. This issue was assigned CVE-2021-23336. - Upstreamed patches were removed: - CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch - bsc1167501-invalid-alignment.patch - skip_random_failing_tests.patch - CVE-2019-5010-null-defer-x509-cert-DOS.patch- Add Obsoletes for python3-base when primary interpreter is set to properly replace it during upgrades. (bsc#1181324)- Update to 3.9.1: Security bugs: - Prevented potential DoS attack via CPU and RAM exhaustion when processing malformed Apple Property List files in binary format. - The plistlib module no longer accepts entity declarations in XML plist files to avoid XML vulnerabilities. This should not affect users as entity declarations are not used in regular plist files. - Add volatile to the accumulator variable in hmac.compare_digest, making constant-time-defeating optimizations less likely. Core and Builtins - Allow assignment expressions in set literals and set comprehensions as per PEP 572. Patch by Pablo Galindo. - Fix a regression introduced by the new parser, where an unparenthesized walrus operator was not allowed within generator expressions. - types.GenericAlias objects can now be the targets of weakrefs. - Fixed a bug in the PEG parser that was causing crashes in debug mode. Now errors are checked in left-recursive rules to avoid cases where such errors do not get handled in time and appear as long-distance crashes in other places. - Fixed a possible crash in the PEG parser when checking for the ‘!=’ token in the barry_as_flufl rule. Patch by Pablo Galindo. - Fix handling of errors during creation of PyFunctionObject, which resulted in operations on uninitialized memory. Patch by Yonatan Goldschmidt. - Fix a bug in the parser, where a curly brace following a primary didn’t fail immediately. This led to invalid expressions like a {b} to throw a SyntaxError with a wrong offset, or invalid expressions ending with a curly brace like a { to not fail immediately in the REPL. - Fix possible buffer overflow in the new parser when checking for continuation lines. Patch by Pablo Galindo. - Run the parser two times. On the first run, disable all the rules that only generate better error messages to gain performance. If there’s a parse failure, run the parser a second time with those enabled. - Document the default implementation of object.__eq__. - Fix peephole optimizer misoptimize conditional jump + JUMP_IF_NOT_EXC_MATCH pair. - The garbage collector now tracks all user-defined classes. Patch by Brandt Bucher. - Fixed potential issues with removing not completely initialized module from sys.modules when import fails. - Star-unpacking is now allowed for with item’s targets in the PEG parser. - Fixed stack overflow in issubclass() and isinstance() when getting the __bases__ attribute leads to infinite recursion. - When loading a native module and a load failure occurs, prevent a possible UnicodeDecodeError when not running in a UTF-8 locale by decoding the load error message using the current locale’s encoding. - Correctly count control blocks in ‘except’ in compiler. Ensures that a syntax error, rather a fatal error, occurs for deeply nested, named exception handlers. Library - types.GenericAlias will now raise a TypeError when attempting to initialize with a keyword argument. Previously, this would cause the interpreter to crash if the interpreter was compiled with debug symbols. This does not affect interpreters compiled for release. Patch by Ken Jin. - CGIHTTPRequestHandler.run_cgi() HTTP_ACCEPT improperly parsed. Replace the special purpose getallmatchingheaders with generic get_all method and add relevant tests. - inspect.findsource() now raises OSError instead of IndexError when co_lineno of a code object is greater than the file length. This can happen, for example, when a file is edited after it was imported. PR by Irit Katriel. - Fix handling of trailing comments by inspect.getsource(). - ChainMap.__iter__ no longer calls __getitem__ on underlying maps - TracebackException no longer holds a reference to the exception’s traceback object. Consequently, instances of TracebackException for equivalent but non-equal exceptions now compare as equal. - We fixed an issue in pickle.whichmodule in which importing multiprocessing could change the how pickle identifies which module an object belongs to, potentially breaking the unpickling of those objects. - Clarify the error message for asyncio.IncompleteReadError when expected is None. - Extracting a symlink from a tarball should succeed and overwrite the symlink if it already exists. The fix is to remove the existing file or symlink before extraction. Based on patch by Chris AtLee, Jeffrey Kintscher, and Senthil Kumaran. - Fixed tkinter.ttk.Style.map(). The function accepts now the representation of the default state as empty sequence (as returned by Style.map()). The structure of the result is now the same on all platform and does not depend on the value of wantobjects. - Fix various issues with typing.Literal parameter handling (flatten, deduplicate, use type to cache key). Patch provided by Yurii Karabas. - Fix the threading.Thread class at fork: do nothing if the thread is already stopped (ex: fork called at Python exit). Previously, an error was logged in the child process. - The onerror callback from shutil.rmtree now receives correct function when os.open fails. - Fix os.sendfile() on illumos. - Fixed writing binary Plist files larger than 4 GiB. - The repr() of typing types containing Generic Alias Types previously did not show the parameterized types in the GenericAlias. They have now been changed to do so. - webbrowser: Ignore NotADirectoryError when calling xdg-settings. - binhex.binhex() consisently writes macOS 9 line endings. - Fix a stack overflow error for asyncio Task or Future repr(). - The overflow occurs under some circumstances when a Task or Future recursively returns itself. - Fix memory leak in subprocess.Popen() in case an uid (gid) specified in user (group, extra_groups) overflows uid_t (gid_t). - Improve asyncio.wait function to create the futures set just one time. - InvalidFileException and RecursionError are now the only errors caused by loading malformed binary Plist file (previously ValueError and TypeError could be raised in some specific cases). - Pickling heap types implemented in C with protocols 0 and 1 raises now an error instead of producing incorrect data. - plistlib: fix parsing XML plists with hexadecimal integer values - Fix an incorrectly formatted error from _codecs.charmap_decode() when called with a mapped value outside the range of valid Unicode code points. PR by Max Bernstein. - Fix pickling pure Python datetime.time subclasses. Patch by Dean Inwood. - Fixed a bug that was causing ctypes.util.find_library() to return None when triying to locate a library in an environment when gcc>=9 is available and ldconfig is not. Patch by Pablo Galindo - C14N 2.0 serialisation in xml.etree.ElementTree failed for unprefixed attributes when a default namespace was defined. - Fix a bug in the symtable module that was causing module-scope global variables to not be reported as both local and global. Patch by Pablo Galindo. - str() for the type attribute of the tkinter.Event object always returns now the numeric code returned by Tk instead of the name of the event type. - fix tkinter.EventType Enum so all members are strings, and none are tuples - Fix SQLite3 segfault when backing up closed database. Patch contributed by Peter David McCormick. - Fix the tarfile module to write only basename of TAR file to GZIP compression header. - Allow ctypes.wintypes to be imported on non-Windows systems. - shutil.which() now ignores empty entries in PATHEXT instead of treating them as a match. - Fix time-of-check/time-of-action issue in subprocess.Popen.send_signal. - Fix --outfile for cProfile / profile not writing the output file in the original directory when the program being profiled changes the working directory. PR by Anthony Sottile. - ZipFile truncates files to avoid corruption when a shorter comment is provided in append (“a”) mode. Patch by Jan Mazur. - Fixed KeyError exception when flattening an email to a string attempts to replace a non-existent Content-Transfer-Encoding header. Documentation - Fix the URL for the IMAP protocol documents. - Document __format__ functionality for IP addresses. - Clarify that subscription expressions are also valid for certain classes and types in the standard library, and for user-defined classes and types if the classmethod __class_getitem__() is provided. - Documented generic alias type and types.GenericAlias. Also added an entry in glossary for generic types. - In Programming FAQ “Sequences (Tuples/Lists)” section, add “How do you remove multiple items from a list”. - Fix RemovedInSphinx40Warning when building the documentation. Patch by Dong-hee Na. - Update the refcounts info of PyType_FromModuleAndSpec. - Fix tarfile’s extractfile documentation - Document some restrictions on the default string representations of numeric classes. Tests - Reenable test_gdb on gdb 9.2 and newer: https://bugzilla.redhat.com/show_bug.cgi?id=1866884 bug is fixed in gdb 10.1. - Fix test_asyncio.test_call_later() race condition: don’t measure asyncio performance in the call_later() unit test. The test failed randomly on the CI. - Include _testinternalcapi module in Windows installer for test suite - Fix test_logging.test_race_between_set_target_and_flush(): the test now waits until all threads complete to avoid leaking running threads. - Avoid a test failure in test_lib2to3 if the module has already imported at the time the test executes. Patch by Pablo Galindo. - Tests for CJK codecs no longer call eval() on content received via HTTP. - Fix test_site.test_license_exists_at_url(): call urllib.request.urlcleanup() to reset the global urllib.request._opener. Patch by Victor Stinner. - test_ssl: skip test_min_max_version_mismatch when TLS 1.0 is not available - Add tests for SIGINT handling in the runpy module. - Fixed a failure in test_tk.test_widgets.ScaleTest happening when executing the test with Tk 8.6.10. Build - Fix a race condition in “make regen-all” when make -jN option is used to run jobs in parallel. The clinic.py script now only use atomic write to write files. Moveover, generated files are now left unchanged if the content does not change, to not change the file modification time. - Update Py_UNREACHABLE to use __builtin_unreachable() if only the compiler is able to use it. Patch by Dong-hee Na. - Addressed three compiler warnings found by undefined behavior sanitizer (ubsan). IDLE - Fix reporting offset of the RE error in searchengine. - Get docstrings for IDLE calltips more often by using inspect.getdoc. - Mostly finish using ttk widgets, mainly for editor, settings, and searches. Some patches by Mark Roseman. - Use ‘IDLE Shell’ as shell title - Rewrite the Calltips doc section. - In calltips, stop reminding that ‘/’ marks the end of positional-only arguments. - Typing opening and closing parentheses inside the parentheses of a function call will no longer cause unnecessary “flashing” off and on of an existing open call-tip, e.g. when typed in a string literal. C API - Fix potential crash in deallocating method objects when dynamically allocated PyMethodDef’s lifetime is managed through the self argument of a PyCFunction. - Py_FileSystemDefaultEncodeErrors and Py_UTF8Mode are available again in limited API. - Readjustet and reapplied patches: - CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch - bpo-31046_ensurepip_honours_prefix.patch - python-3.3.0b1-fix_date_time_compiler.patch - skip_random_failing_tests.patch - sphinx-update-removed-function.patch- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Make python39-doc building again - Add no-skipif-doctests.patch, because SLE-15 version of Sphinx doesn't know about skipif directive in doctests.- Update sphinx-update-removed-function.patch patch to the latest version in python36.- Last try before this results in an editwar: * remove importlib_resources and importlib-metadata provides/obsoletes * import importlib_resources is not the same as import importlib.resources, same for metadata * The backport packages from PyPI needed for older flavors are specified as such for setuptools or in pyproject.toml. If a package requires them they typically add them with a python version qualifier and the packages have their own version numbers.- Add patch sphinx-update-removed-function.patch to no longer call a now removed function and to make documentation build independent of the Sphinx version (bsc#1179630, gh#python/cpython#13236).- Don't require packages which break build on SLE-15 although we really don't need them (python3-python-docs-theme and python3-sphinxcontrib-qthelp).- Fix build with RPM 4.16: error: bare words are no longer supported, please use "...": x86 == ppc.- Update to the final version 3.9.0: Complete changelog with all (many) changes from previous version is on https://docs.python.org/release/3.9.0/whatsnew/3.9.html Changes from the previous RC versions (not that many) are on https://docs.python.org/release/3.9.0/whatsnew/changelog.html#changelog- Buildrequire timezone only for general flavor. It's used in this flavor for the test suite.- Update to 3.9.0rc1: * Core and Builtins - bpo-38156: Handle interrupts that come after EOF correctly in PyOS_StdioReadline. * Library - bpo-41497: Fix potential UnicodeDecodeError in dis module. - bpo-41490: Update ensurepip to install pip 20.2.1 and setuptools 49.2.1. - bpo-41467: On Windows, fix asyncio recv_into() return value when the socket/pipe is closed (BrokenPipeError): return 0 rather than an empty byte string (b''). - bpo-41425: Make tkinter doc example runnable. - bpo-41384: Raise TclError instead of TypeError when an unknown option is passed to tkinter.OptionMenu. - bpo-38731: Fix NameError in command-line interface of py_compile. - bpo-41317: Use add_done_callback() in asyncio.loop.sock_accept() to unsubscribe reader early on cancellation. - bpo-41364: Reduce import overhead of uuid. - bpo-41341: Recursive evaluation of typing.ForwardRef in get_type_hints. - bpo-41182: selector: use DefaultSelector based upon implementation - bpo-40726: Handle cases where the end_lineno is None on ast.increment_lineno(). * Documentation - bpo-41045: Add documentation for debug feature of f-strings. - bpo-41314: Changed the release when from __future__ import annotations becomes the default from 4.0 to 3.10 (following a change in PEP 563). * Windows - bpo-41492: Fixes the description that appears in UAC prompts. - bpo-40948: Improve post-install message to direct people to the “py” command. - bpo-41412: The installer will now fail to install on Windows 7 and Windows 8. Further, the UCRT dependency is now always downloaded on demand. - bpo-40741: Update Windows release to include SQLite 3.32.3. * IDLE - bpo-41468: Improve IDLE run crash error message (which users should never see). - bpo-41373: Save files loaded with no line ending, as when blank, or different line endings, by setting its line ending to the system default. Fix regression in 3.8.4 and 3.9.0b4.- Synchronize formatting and fixes with python38.- Increase testsuite timeout to account for super long running test_peg_generator- Removed CVE-2019-20907_tarfile-inf-loop.patch: fixed in upstream - Removed recursion.tar: contained in upstream - Update to 3.9.0b5: - bpo-41304: Fixes python3x._pth being ignored on Windows, caused by the fix for bpo-29778 (CVE-2020-15801). - bpo-41162: Audit hooks are now cleared later during finalization to avoid missing events. - bpo-29778: Ensure python3.dll is loaded from correct locations when Python is embedded (CVE-2020-15523). - bpo-39603: Prevent http header injection by rejecting control characters in http.client.putrequest(…). - bpo-41295: Resolve a regression in CPython 3.8.4 where defining “__setattr__” in a multi-inheritance setup and calling up the hierarchy chain could fail if builtins/extension types were involved in the base types. - bpo-41247: Always cache the running loop holder when running asyncio.set_running_loop. - bpo-41252: Fix incorrect refcounting in _ssl.c’s _servername_callback(). - bpo-41215: Use non-NULL default values in the PEG parser keyword list to overcome a bug that was ' preventing Python from being properly compiled when using the XLC compiler. Patch by Pablo Galindo. - bpo-41218: Python 3.8.3 had a regression where compiling with ast.PyCF_ALLOW_TOP_LEVEL_AWAIT would aggressively mark list comprehension with CO_COROUTINE. Now only list comprehension making use of async/await will tagged as so. - bpo-41175: Guard against a NULL pointer dereference within bytearrayobject triggered by the bytearray() + bytearray() operation. - bpo-39960: The “hackcheck” that prevents sneaking around a type’s __setattr__() by calling the superclass method was rewritten to allow C implemented heap types. - bpo-41288: Unpickling invalid NEWOBJ_EX opcode with the C implementation raises now UnpicklingError instead of crashing. - bpo-39017: Avoid infinite loop when reading specially crafted TAR files using the tarfile module (CVE-2019-20907, bsc#1174091). - bpo-41235: Fix the error handling in ssl.SSLContext.load_dh_params(). - bpo-41207: In distutils.spawn, restore expectation that DistutilsExecError is raised when the command is not found. - bpo-39168: Remove the __new__ method of typing.Generic. - bpo-41194: Fix a crash in the _ast module: it can no longer be loaded more than once. It now uses a global state rather than a module state. - bpo-39384: Fixed email.contentmanager to allow set_content() to set a null string. - bpo-41300: Save files with non-ascii chars. Fix regression released in 3.9.0b4 and 3.8.4. - bpo-37765: Add keywords to module name completion list. Rewrite Completions section of IDLE doc. - bpo-40170: Revert PyType_HasFeature() change: it reads again directly the PyTypeObject.tp_flags member when the limited C API is not used, rather than always calling PyType_GetFlags() which hides implementation details.- Add CVE-2019-20907_tarfile-inf-loop.patch fixing bsc#1174091 (CVE-2019-20907, bpo#39017) avoiding possible infinite loop in specifically crafted tarball. Add recursion.tar as a testing tarball for the patch.- Changed bpo-31046_ensurepip_honours_prefix.patch to include fix from py3.8- Spec file fixes - Re-added subprocess-raise-timeout.patch: now compatible - Removed bpo34022-stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch: contained in upstream- Fix minor issues found in the staging.- Do not set ourselves as primary interpreter- Update to 3.9.0b4: - PEP 584, Union Operators in dict - PEP 585, Type Hinting Generics In Standard Collections - PEP 593, Flexible function and variable annotations - PEP 602, Python adopts a stable annual release cadence - PEP 615, Support for the IANA Time Zone Database in the Standard Library - PEP 616, String methods to remove prefixes and suffixes - PEP 617, New PEG parser for CPython - bpo#38379, garbage collection does not block on resurrected objects; - bpo#38692, os.pidfd_open added that allows process management without races and signals; - bpo#39926, Unicode support updated to version 13.0.0; - bpo#1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore; - A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall; - A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489; - A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384. - Remove upstreamed patches: - F00102-lib64.patch - SUSE-FEDORA-multilib.patch - OBS_dev-shm.patch - subprocess-raise-timeout.patch - bpo36302-sort-module-sources.patch - bpo40784-Fix-sqlite3-deterministic-test.patch- Update pre_checkin.sh and regenerate- Convert few dependencies to their pkgconfig counterparts- Remove release requirement on libpython, it is not really needed to be equal as the abi changes with versions- Add provides python3-bla on all the subpkgs in case we are primary provider of the functionality- Remove unversioned files from devel subpkg too - Remove main python3 files from -base based whether we are primary interpreter or not - Fix idle to be co-installable - Add condition to be primary to provide/obsolete python3-* - Fix doc to build in versioned folder so the pythons can be installed next to each other- Revert the full versioning of calls on the macros. These are generic so they should really just call python3 X- For the doc package we can build with generic flavor, we don't need the our-interpreter based one- Add provides for pytohn3X-typing/etc to allow BR on those still to work when needed- Change macros.python3 to use full versioned 3.8 instead of just 3 for python interpreter- Reduce some now unused conditionals- Redux the -base dependencies to match up pre-merge layout- Generate baselibs in pre-checkin too- Generate the importlib-failed using pre_checking again - Add back the information about skipped tests on the pre_checkin output- Use %python_pkg_name instead of hardcoding python3 where applicable - Sort out preamble with spec-cleaner- Calculate required variables instead of relying on their continuous manual update- Fix the -base module build again to generate only the deps we need- Replace OBS_dev-shm.patch with the upstream PR#20944- Use the %{python_pkg_name} on more places to allow easier multiversioning - Switch to _multibuild approach for easier maintenance of this package. All is now in one spec file with 3 conditionals: * bcond_with base * bcond_with doc * bcond_with general- add requires python3-base on libpython subpackage (bsc#1167008)- build against Sphinx 2.x until python is compatible with Sphinx 3.x (see gh#python/cpython#19397, bpo#40204)- Fix build with SQLite 3.32 (bpo#40783) add bpo40784-Fix-sqlite3-deterministic-test.patch- Update to version 3.8.3: - Complete list of changes is available at https://docs.python.org/release/3.8.3/whatsnew/changelog.html#python-3-8-3-final, but most of them are just bugfixes. - Removed patch CVE-2020-8492-urllib-ReDoS.patch: contained in upstream- Add #!BuildIgnore: gdk-pixbuf-loader-rsvg to python3 SPEC- Add patch bsc1167501-invalid-alignment.patch (bsc#1167501, bpo#40052) to fix alignment in abstract.h header file.- Update list of skipped tests for qemu linux-user build, test_setegid (test.test_os.PosixUidGidTests) is confusing it- Update to 3.8.2: - Complete list of changes is available at https://docs.python.org/release/3.8.2/whatsnew/changelog.html#python-3-8-2-final, but most of them are just bugfixes. - Updated patches: - F00102-lib64.patch - OBS_dev-shm.patch - SUSE-FEDORA-multilib.patch - subprocess-raise-timeout.patch- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Add Requires: libpython%{so_version} == %{version}-%{release} to python3-base to keep both packages always synchronized (bsc#1162224).- Do not pull in bluez in base again, explain the cycle, it needs to be solved by bluez maintainer for us by providing just the headers separately- Reame idle icons to idle3 in order to not conflict with python2 variant of the package * renamed the icons * renamed icon load in desktop file- Add importlib_resources provide/obsolete as it is integral part of the lang since 3.7 release- Add -fno-semantic-interposition as it brings speed up: https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup- Update to 3.8.1: - This is mainly bugfix release and no significant changes to API are expected. The full changelog is available on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-1 - Remove bpo-38688_shutil.copytree_prevent-infinite-recursion.patch, which is included in the upstream tarball.- Add bpo-31046_ensurepip_honours_prefix.patch which makes ensurepip to honour the value of $(prefix). Proposed fix for bpo#31046..- Move bluez-devel dependency to base as it is needed for socket.AF_BLUETOOTH and otherwise does not work- Reintroduce QtHelp with the help of the new BR python-sphinxcontrib-qthelp.- Fix SUSE-FEDORA-multilib.patch, the platform agnostic infix for library installation is "lib", not "dir".- Move idle subpackage build from python3-base to python3. appstream-glib required for packaging introduces considerable extra dependencies and a build loop via rust/librsvg. - Correct installation of idle IDE icons: + idle.png is not the target directory + non-GNOME-specific icons belong into icons/hicolor - Add required Name key to idle3 desktop file- Update to the final release 3.8.0. . - New Features: - Assignment expressions - Positional-only parameters - Parallel filesystem cache for compiled bytecode files - Debug build uses the same ABI as release build - f-strings support = for self-documenting expressions and debugging - PEP 578: Python Runtime Audit Hooks - PEP 587: Python Initialization Configuration - Vectorcall: a fast calling protocol for CPython - Pickle protocol 5 with out-of-band data buffers - New modules: - importlib.metadata - Improved modules: - ast asyncio, builtins, collections, curses, ctypes, datetime, functools, gc, gettext, gzip, idelib and IDLE, inspect, io, json.tool, math, mmap, multiprocessing, os, os.path, pathlib, pickle, plistlib, py_compile, shlex, shutil, socket, ssl, statistics, sys, tarfile, threading, tokenize, tkinter, time, typing, unicodedata, unittest, venv, weakref, xml - C API improvements - bdist_winnst command has been deprecated (use bdist_wheel) - https://docs.python.org/3.8/whatsnew/3.8.html remains rest of changes including documentation on how to port your programs to the current version of Python.- Add idle3.appdata.xml and idle3.desktop (originally from Fedora) to make Idle3 full GUI desktop application. (bsc#1153830)- Drop intltool from BuildRequires. Doesn't appear to be used.- Add folder version to allow tarball downloads even for beta/rc releases- Revert patches from Fedora (F00102-lib64.patch and F00251-change-user-install-location.patch) into their original prisitine Fedora versions, SUSE-FEDORA-multilib.patch refreshed accordingly.- Correct quotation of platsubdir in Lib/distutils/command/install.py- Replace python-3.6.0-multilib.patch with two patches from Fedora (F00102-lib64.patch and F00251-change-user-install-location.patch), and our own SUSE-FEDORA-multilib.patch to allow better cooperation with Fedora and better upstreaming. - Add OBS_dev-shm.patch fixing bpo#38377- Pull in just gettext and let solver to sort out between: gettext-runtime-mini and gettext-runtime- Update to 3.8.0rc1. Overall changes from 3.7: - PEP 572, Assignment expressions - PEP 570, Positional-only arguments - PEP 587, Python Initialization Configuration (improved embedding) - PEP 590, Vectorcall: a fast calling protocol for CPython - PEP 578, Runtime audit hooks - PEP 574, Pickle protocol 5 with out-of-band data - Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict) - Parallel filesystem cache for compiled bytecode - Debug builds share ABI as release builds, also the 'm' ABI tag was removed (irrelevant since 3.4), bpo#36707 - f-strings support a handy = specifier for debugging - continue is now legal in finally: blocks - on Windows, the default asyncio event loop is now ProactorEventLoop - on macOS, the spawn start method is now used by default in multiprocessing - multiprocessing can now use shared memory segments to avoid pickling costs between processes - typed_ast is merged back to CPython - LOAD_GLOBAL is now 40% faster - pickle now uses Protocol 4 by default, improving performance - Refreshed patches: - CVE-2019-5010-null-defer-x509-cert-DOS.patch - python-3.3.0b1-fix_date_time_compiler.patch - python-3.6.0-multilib.patch - subprocess-raise-timeout.patch- Add bpo36302-sort-module-sources.patch (boo#1041090)- Try harder obsoleting importlib-metadata- Update to 3.8.0b4: Many bugfixes, full list on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-beta-4- Re-enable test_threading on aarch64- Remove xrpm from subpackage tk description- Update to 3.8.0b3: Many bugfixes, full list on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-beta-3 - Patches reapplied: - python-3.3.0b1-fix_date_time_compiler.patch - python-3.3.0b1-test-posix_fadvise.patch - python-3.6.0-multilib.patch - subprocess-raise-timeout.patch- Add Provides: python3-importlib-metadata- Update to 3.8.0b2: Many bugfixes, full list on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-beta-2 - Patches included in upstream: - bpo-37169_PyObject_IsFreed.patch - Patches reapplied: - 00251-change-user-install-location.patch - distutils-reproducible-compile.patch - python-3.3.0b1-localpath.patch - python-3.6.0-multilib.patch- Update list of skipped tests for qemu linux-user build - Don't do profiling in qemu linux-user build- Update to 3.8.0b1 (changes since 3.7.*): - PEP 572, Assignment expressions - PEP 570, Positional-only arguments - PEP 587, Python Initialization Configuration (improved embedding) - PEP 590, Vectorcall: a fast calling protocol for CPython - PEP 578, Runtime audit hooks - PEP 574, Pickle protocol 5 with out-of-band data - Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict) - Parallel filesystem cache for compiled bytecode - Debug builds share ABI as release builds - f-strings support a handy = specifier for debugging - continue is now legal in finally: blocks - multiprocessing can now use shared memory segments to avoid pickling costs between processes - typed_ast is merged back to CPython - LOAD_GLOBAL is now 40% faster - pickle now uses Protocol 4 by default, improving performance - Remove patches which were included in the upstream: - 00251-change-user-install-location.patch - 00316-mark-bdist_wininst-unsupported.patch - CVE-2019-9947-no-ctrl-char-http.patch - raise_SIGING_not_handled.patch- Set _lto_cflags to nil as the package is using LTO via --enable-lto. That will prevent to propage LTO for Python modules that are built in a separate package.- Update to 3.8.0.a3: - PEP 572: Assignment Expressions. - Other (mostly small) changes are on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-alpha-3- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- Fix metadata of patches. - Rename boo1071941-make-install-in-sep-loc.patch to 00251-change-user-install-location.patch which is the original name, so it can be looked up in the Fedora VCS.- Mark distutils bdist_wininst command unsupported with 00316-mark-bdist_wininst-unsupported.patch - Remove Windows bdist_wininst executables from runtime package- Update to 3.7.3, which is the maintenance release without any significant changes in API. - Updated patches: - CVE-2019-5010-null-defer-x509-cert-DOS.patch - distutils-reproducible-compile.patch - python-3.3.0b1-fix_date_time_compiler.patch - python-3.6.0-multilib.patch - raise_SIGING_not_handled.patch- Remove building of Qt Develop help files.- Return distutils-reproducible-compile.patch which is still missing (still unfinished bpo#29708).- Update to 3.8.0a2: * List of all (mostly small) changes are on https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0-alpha-2- Build nis module again.- Update to 3.8.0a1: * The most visible change so far is probably the implementation of PEP 572: Assignment Expressions. For a detailed list of changes, see: https://docs.python.org/3.8/whatsnew/changelog.html * Recover building of nis module properly in python3 package - Update patches: * CVE-2019-5010-null-defer-x509-cert-DOS.patch * python-3.3.0b1-fix_date_time_compiler.patch * python-3.3.0b1-test-posix_fadvise.patch * python-3.6.0-multilib.patch * raise_SIGING_not_handled.patch- Put LICENSE file where it belongs (bsc#1121852)- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746. An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Do not require full gettext in order to avoid pulling in the glib2 as a dependency- Update to 3.7.2: * bugfix release: https://docs.python.org/3.7/whatsnew/changelog.html#changelog- Stop applying python-3.6.0-multilib-new.patch (which is still WIP), and apply the old proven python-3.6.0-multilib.patch instead.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Upgrade to 3.7.2rc1: * bugfix release, for the full list of all changes see https://docs.python.org/3.7/whatsnew/changelog.html#changelog - Make run of the test suite more verbose- Write summaries without em dashes.- Remove python-3.3.0b1-curses-panel.patch it is unnecessary anymore. - Add boo1071941-make-install-in-sep-loc.patch to make pip and distutils in user environment install into separate location (boo#1071941) Set values of prefix and exec_prefix in distutils install command to /usr/local if executable is /usr/bin/python* and RPM build is not detected to make pip and distutils install into separate location - Remove finally python-3.3.3-skip-distutils-test_sysconfig_module.patch - Remove distutils-reproducible-compile.patch which doesn't make really much difference in reproducibility (see gh#python/cpython#8057 and discussion there).- Rename Stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch to bpo34022-stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch- Add dependency on bluez-devel to build support for Bluetooth (boo#1109998)- Add devhelp subpackage and split qthelp into another subpackage.- Remove python-3.0b1-record-rpm.patch and Python-3.0b1-record-rpm.patch, as they are not needed anymore- Switch off test_threading for optimization builds.- Update to python-3.7.1. This is just a brief overview, complete changelog available at https://docs.python.org/3.7/whatsnew/changelog.html#python-3-7-1-final: Library bpo-34970: Protect tasks weak set manipulation in asyncio.all_tasks() - Patches already accepted upstream are removed: * 00307-allow-to-call-Py_Main-after-Py_Initialize.patch * 00308-tls-1.3.patch - New patches added: * Stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch * raise_SIGING_not_handled.patch - All other patches refreshed via quilt.- Add raise_SIGING_not_handled.patch to fix bsc#1094814- Add patch to fix importlib return types: * python3-imp-returntype.patch- bpo-34022 still not completely fixed, so we have to keep excluding test_cmd_line_script, test_multiprocessing_main_handling, and test_runpy from the test suite.- Update to python 3.7.1~rc2: Core and Builtins bpo-34879: Fix a possible null pointer dereference in bytesobject.c. Patch by Zackery Spytz. bpo-34854: Fixed a crash in compiling string annotations containing a lambda with a keyword-only argument that doesn’t have a default value. bpo-34320: Fix dict(od) didn’t copy iteration order of OrderedDict. Library bpo-34769: Fix for async generators not finalizing when event loop is in debug mode and garbage collector runs in another thread. bpo-34922: Fixed integer overflow in the digest() and hexdigest() methods for the SHAKE algorithm in the hashlib module. bpo-34900: Fixed unittest.TestCase.debug() when used to call test methods with subtests. Patch by Bruno Oliveira. bpo-34871: Fix inspect module polluted sys.modules when parsing __text_signature__ of callable. bpo-34872: Fix self-cancellation in C implementation of asyncio.Task bpo-34819: Use a monotonic clock to compute timeouts in Executor.map() and as_completed(), in order to prevent timeouts from deviating when the system clock is adjusted. bpo-34334: In QueueHandler, clear exc_text from LogRecord to prevent traceback from being written twice. bpo-6721: Acquire the logging module’s commonly used internal locks while fork()ing to avoid deadlocks in the child process. bpo-34172: Fix a reference issue inside multiprocessing.Pool that caused the pool to remain alive if it was deleted without being closed or terminated explicitly. Documentation bpo-32174: chm document displays non-ASCII charaters properly on some MBCS Windows systems. Tests bpo-32962: Fixed test_gdb when Python is compiled with flags - mcet -fcf-protection -O0. C API bpo-34910: Ensure that PyObject_Print() always returns -1 on error. Patch by Zackery Spytz.- Add Stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch to fix problems with SOURCE_DATE_EPOCH variable (bpo-34022)- Add patch to fix build with tls1.3 supported openssl * 00308-tls-1.3.patch - Add patch to fix Py_Main calls after Py_initialize * 00307-allow-to-call-Py_Main-after-Py_Initialize.patch- Add -fwrapv to OPTS, which is default for python3 anyway See for example https://github.com/zopefoundation/persistent/issues/86 for bugs which are caused by avoiding it.- Fix ownership of _contextvars, _queue, and _xxtestfuzz- Switch off LTO for distros with older GCC - Fix %files- Add dependency over libuuid-devel- update to python 3.7.0 Complete overview of changes is available on https://docs.python.org/3/whatsnew/3.7.html, these are just highlights: * PEP 563, postponed evaluation of type annotations. * async and await are now reserved keywords. * New library modules: contextvars: PEP 567 – Context Variables dataclasses: PEP 557 – Data Classes importlib.resources * New built-in features: PEP 553, the new breakpoint() function. * Python data model improvements: PEP 562, customization of access to module attributes. PEP 560, core support for typing module and generic types. the insertion-order preservation nature of dict objects has been declared to be an official part of the Python language spec. * Significant improvements in the standard library: The asyncio module has received new features, significant usability and performance improvements. The time module gained support for functions with nanosecond resolution. * CPython implementation improvements: Avoiding the use of ASCII as a default text encoding: PEP 538, legacy C locale coercion PEP 540, forced UTF-8 runtime mode PEP 552, deterministic .pycs the new development runtime mode PEP 565, improved DeprecationWarning handling * C API improvements: PEP 539, new C API for thread-local storage * Documentation improvements: PEP 545, Python documentation translations New documentation translations: Japanese, French, and Korean. - drop python3-sorted_tar.patch - drop 0001-allow-for-reproducible-builds-of-python-packages.patch - refresh python-3.6.0-multilib-new.patch - refresh subprocess-raise-timeout.patch * new C API for thread-local storage * Deterministic pyc files * Built-in breakpoint() * Data Classes * Core support for typing module and generic types * Customization of access to module attributes * Postponed evaluation of annotations * Time functions with nanosecond resolution * Improved DeprecationWarning handling * Context Variables * Avoiding the use of ASCII as a default text encoding (PEP 538, legacy C locale coercion and PEP 540, forced UTF-8 runtime mode) * The insertion-order preservation nature of dict objects is now an official part of the Python language spec. * Notable performance improvements in many areas.- disable lto with gcc versions below 7 (results in link failures)- Use faster find subcommand execution strategies.- Do not mention the testsuite disabling in opts as it was moved to main pkg so base is test-free- As we run in main python package do not generate the pre_checkin from both now- Move the tests from base to generic package wrt bsc#1088573 * We still fail the whole distro if python3 is not build * The other archs than x86_64 took couple of hours to unblock build of other software, this way we work around the issue - Some tests are still run in -base for the LTO tweaking, but at least it is not run twice- update to 3.6.5 * bugfix release * see Misc/NEWS for details - drop ctypes-pass-by-value.patch - drop fix-localeconv-encoding-for-LC_NUMERIC.patch - refresh python-3.6.0-multilib-new.patch- Created %so_major and %so_minor macros - Put Tools/gdb/libpython.py script into proper place and ship it with devel subpackage.- ctypes-pass-by-value.patch: Fix pass by value for structs on aarch64- Add python3-sorted_tar.patch (boo#1081750)- Drop python3-tk and python3-idle recommends to reduce python3 always pulling X stack bsc#1081751- Add patch to fix glibc 2.27 fail bsc#1079761: * fix-localeconv-encoding-for-LC_NUMERIC.patch- Update skip_random_failing_tests.patch (for PowerPC) to avoid test_call_later failure- move XML modules and python3-xml provide to python3-base (fixes bsc#1077230) - move ensurepip to base- Add skip_random_failing_tests.patch only for PowerPC- update to 3.6.4 * bugfix release, over a hundred bugs fixed * see Misc/NEWS for details - drop upstreamed python3-ncurses-6.0-accessors.patch - drop PYTHONSTARTUP hooks that cause spurious startup errors * fixes bsc#1070738 * the relevant feature (REPL history) is now built into Python itself- Install 2to3-%{python_version} executable (override defattr of the -tools package). 2to3 (unversioned) is a symlink and does not carry permissions (bsc#1070853).- move 2to3 to python3-tools package- update to 3.6.3 * bugfix release, over a hundred bugs fixed * see Misc/NEWS for details - drop upstreamed 0001-3.6-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3093.patch- drop python-2.7-libffi-aarch64.patch: this patches the intree copy of libffi which is unused/deleted in the line afterwards - fix build against system libffi: include flags weren't set so it actually used the in-tree libffi headers.- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-3.6-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3093.patch- Update RPM group for python documentation.- fix missing %{?armsuffix}- distutils-reproducible-compile.patch: ensure distutils order files before compiling, which works around bsc#1049186- Add libnsl-devel build requires for glibc obsoleting libnsl- update to 3.6.2 * bugfix release, over a hundred bugs fixed * see Misc/NEWS for details - drop upstreamed test-socket-aead-kernel49.patch - add Provides: python3-typing (fixes bsc#1050653) - drop duplicate Provides: python3- drop db-devel from requirements- Add missing link to python library in config dir (bsc#1040164)- update to 3.6.1 * bugfix release, over a hundred bugs fixed * never add import location's parent directory to sys.path * switch to git for version control, build changes related to that * fix "failed to get random numbers" on old kernels (bsc#1029902) * several crashes and memory leaks corrected * f-string are no longer accepted as docstrings- prevent regenerating AST at build-time more robustly - add "--without profileopt" and "--without testsuite" options to python3-base to allow short circuiting when working on the package- Add 0001-allow-for-reproducible-builds-of-python-packages.patch upstream https://github.com/python/cpython/pull/296- reenable test_socket with AEAD patch (test-socket-aead-kernel49.patch) - reintroduce %py3_soflags macro (and better named %cpython3_soabi equivalent)- update to 3.6.0 * PEP 498 Formated string literals * PEP 515 Underscores in numeric literals * PEP 526 Syntax for variable annotations * PEP 525 Asynchronous generators * PEP 530 Asynchronous comprehensions * PEP 506 New "secrets" module for safe key generation * less memory consumed by dicts * dtrace and systemtap support * improved asyncio module * better defaults for ssl * new hashing algorithms in hashlib * bytecode format changed to allow more optimizations * "async" and "await" are on track to be reserved words * StopIteration from generators is deprecated * support for openssl < 1.0.2 is deprecated * os.urandom now blocks when getrandom() blocks * huge number of new features, bugfixes and optimizations * see https://docs.python.org/3.6/whatsnew/3.6.html for details - rework multilib patch: drop Python-3.5.0-multilib.patch, implement upstreamable python-3.6.0-multilib-new.patch - refresh python-3.3.0b1-localpath.patch, subprocess-raise-timeout.patch - drop upstreamed Python-3.5.1-fix_lru_cache_copying.patch - finally drop python-2.6b1-canonicalize2.patch that was not applied in source and only kept around in case we needed it in the future. (which we don't, as it seems) - update import_failed map and baselibs - build ctypes against system libffi (buildrequire libffi-devel in python3-base) - add new key to keyring (signed by keys already in keyring) - introduced common configure section between python3 and python3-base - moved pyconfig.h and Makefile to devel subpackage as distutils no longer need it at runtime - added python-rpm-macros dependency, regenerated macros file, drop macros.python3.py because it is not used now - improve summaries and descriptions (fixes bsc#917607) - enabled Link-Time Optimization, see what happens - including skipped_tests.py in pre_checkin.sh run - run specs through spec-cleaner, rearrange sections- move _hashlib and _ssl modules and tests to python3-base - recommend python3- Skip test_asyncio under qemu_user_space_build- Add Python-3.5.1-fix_lru_cache_copying.patch Fix copying the lru_cache() wrapper object. Fixes deep-copying lru_cache regression, which worked on previous versions of python but fails on python 3.5. This fixes a bunch of packages in devel:languages:python3. See: https://bugs.python.org/issue25447- Build the docs in .qch format as well- update to 3.5.1 * bugfix-only release, dozens of bugs fixed - Drop upstreamed Python-3.5.0-_Py_atomic_xxx-symbols.patch - "Python3" to "Python 3" in summary * This seems cleaner and fixes and rpmlint warning- Add Python-3.5.0-_Py_atomic_xxx-symbols.patch This fixes a build error for many packages that use the Python, C-API. This patch is already accepted upstream and is slated to appear in python 3.5.1.- update to 3.5.0 * coroutines with async/await syntax * matrix multiplication operator `@` * unpacking generalizations * new modules `typing` and `zipapp` * type annotations * .pyo files replaced by custom suffixes for optimization levels in __pycache__ * support for memory BIO in ssl module * performance improvements in several modules * and many more - removals and behavior changes * deprecated `__version__` is removed * support for .pyo files was removed * system calls are auto-retried on EINTR * bare generator expressions in function calls now cause SyntaxError (change "f(x for x in i)" to "f((x for x in i))" to fix) * removed undocumented `format` member of private `PyMemoryViewObject` struct * renamed `PyMemAllocator` to `PyMemAllocatorEx` - redefine %dynlib macro to reflect that modules now have arch+os as part of name - module `time` is now built-in - dropped upstreamed patches: python-3.4.1-fix-faulthandler.patch python-3.4.3-test-conditional-ssl.patch python-fix-short-dh.patch (also dropped dh2048.pem required for this patch) - updated patch Python-3.3.0b2-multilib.patch to Python-3.5.0-multilib.patch - python-ncurses-6.0-accessors.patch taken from python 2 to fix build failure with new gcc + ncurses- Add python3-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- improve import_failed hook to do the right thing when invoking missing modules with "python3 -m modulename" (boo#942751)- Build with --enable-loadable-sqlite-extensions to make it works as geospatial database.- Fix source list for previous change (add dh2048.pem).- dh2048.pem: added generated 2048 dh parameter set to fix ssl test (bsc#935856) - python-fix-short-dh.patch: replace the 512 bits dh parameter set by 2048 bits to fix build with new openssl 1.0.2c (bsc#935856)- ctypes-libffi-aarch64.patch: remove upstreamed patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- drop the PDF subpackage (removes the massive texlive dependency, and most likely nobody is using the PDFs anyway)- python-3.4.3-test-conditional-ssl.patch - restore tests failing because test_urllib was unconditionally importing ssl (without really needing it) - restore functionality of multilib patch - drop libffi-ppc64le.diff because upstream completely changed everything yet again (sorry ppc64 folks :| )- Update to version 3.4.3 - Drop upstreamed CVE-2014-4650-CGIHTTPServer-traversal.patch (bpo#21766)- Add python-3.4.1-fix-faulthandler.patch, upstream patch for bogus faulthandler which fails with GCC 5.- asyncio has been merged in python3 main package; provide and obsolete it - Remove obsolete AUTHORS section - Remove redundant %clean section- Only pkgconfig(x11) is required for build, not the whole set of packages provided by xorg-x11-devel metapackage.- add %python3_version rpm macro for Fedora compatibility - add missing argument in import_failed, rename Novell Bugzilla to SUSE Bugzillah04-armsrv1 1694073560  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG3.9.18-150300.4.33.13.9.18-150300.4.33.1     gtk-dochtmlPython3.9Python.devhelp.gz_downloads272c823b74d4f2964867a7bab393f314tzinfo_examples.py_imageshashlib-blake2-tree.pnglogging_flow.pngpathlib-inheritance.pngtk_msg.pngturtle-star.pngwin_installer.png_staticajax-loader.gifbasic.csscaret-down.svgchangelog_search.jsclassic.csscomment-bright.pngcomment-close.pngcomment.pngcopybutton.jsdefault.cssdoctools.jsdocumentation_options.jsdown-pressed.pngdown.pngfile.pngjquery-3.2.1.jsjquery.jslanguage_data.jsmenu.jsminus.pngopensearch.xmlplus.pngpy.pngpy.svgpydoctheme.csspygments.csssearchtools.jssidebar.jsunderscore-1.3.1.jsunderscore.jsup-pressed.pngup.pngwebsupport.jsabout.htmlbugs.htmlc-apiabstract.htmlallocation.htmlapiabiversion.htmlarg.htmlbool.htmlbuffer.htmlbytearray.htmlbytes.htmlcall.htmlcapsule.htmlcell.htmlcode.htmlcodec.htmlcomplex.htmlconcrete.htmlcontextvars.htmlconversion.htmlcoro.htmldatetime.htmldescriptor.htmldict.htmlexceptions.htmlfile.htmlfloat.htmlfunction.htmlgcsupport.htmlgen.htmlimport.htmlindex.htmlinit.htmlinit_config.htmlintro.htmliter.htmliterator.htmllist.htmllong.htmlmapping.htmlmarshal.htmlmemory.htmlmemoryview.htmlmethod.htmlmodule.htmlnone.htmlnumber.htmlobjbuffer.htmlobject.htmlobjimpl.htmlrefcounting.htmlreflection.htmlsequence.htmlset.htmlslice.htmlstable.htmlstructures.htmlsys.htmltuple.htmltype.htmltypehints.htmltypeobj.htmlunicode.htmlutilities.htmlveryhigh.htmlweakref.htmlcontents.htmlcopyright.htmldistributingindex.htmldistutils_setuptools_disclaimer.htmlapiref.htmlbuiltdist.htmlcommandref.htmlconfigfile.htmlexamples.htmlextending.htmlindex.htmlintroduction.htmlpackageindex.htmlsetupscript.htmlsourcedist.htmluploading.htmldownload.htmlextendingbuilding.htmlembedding.htmlextending.htmlindex.htmlnewtypes.htmlnewtypes_tutorial.htmlwindows.htmlfaqdesign.htmlextending.htmlgeneral.htmlgui.htmlindex.htmlinstalled.htmllibrary.htmlprogramming.htmlwindows.htmlgenindex-A.htmlgenindex-B.htmlgenindex-C.htmlgenindex-D.htmlgenindex-E.htmlgenindex-F.htmlgenindex-G.htmlgenindex-H.htmlgenindex-I.htmlgenindex-J.htmlgenindex-K.htmlgenindex-L.htmlgenindex-M.htmlgenindex-N.htmlgenindex-O.htmlgenindex-P.htmlgenindex-Q.htmlgenindex-R.htmlgenindex-S.htmlgenindex-Symbols.htmlgenindex-T.htmlgenindex-U.htmlgenindex-V.htmlgenindex-W.htmlgenindex-X.htmlgenindex-Y.htmlgenindex-Z.htmlgenindex-_.htmlgenindex-all.htmlgenindex.htmlglossary.htmlhowtoargparse.htmlclinic.htmlcporting.htmlcurses.htmldescriptor.htmlfunctional.htmlindex.htmlinstrumentation.htmlipaddress.htmllogging-cookbook.htmllogging.htmlpyporting.htmlregex.htmlsockets.htmlsorting.htmlunicode.htmlurllib2.htmlindex.htmlinstallindex.htmlinstallingindex.htmllibrary2to3.html__future__.html__main__.html_thread.htmlabc.htmlaifc.htmlallos.htmlarchiving.htmlargparse.htmlarray.htmlast.htmlasynchat.htmlasyncio-api-index.htmlasyncio-dev.htmlasyncio-eventloop.htmlasyncio-exceptions.htmlasyncio-future.htmlasyncio-llapi-index.htmlasyncio-platforms.htmlasyncio-policy.htmlasyncio-protocol.htmlasyncio-queue.htmlasyncio-stream.htmlasyncio-subprocess.htmlasyncio-sync.htmlasyncio-task.htmlasyncio.htmlasyncore.htmlatexit.htmlaudioop.htmlaudit_events.htmlbase64.htmlbdb.htmlbinary.htmlbinascii.htmlbinhex.htmlbisect.htmlbuiltins.htmlbz2.htmlcalendar.htmlcgi.htmlcgitb.htmlchunk.htmlcmath.htmlcmd.htmlcode.htmlcodecs.htmlcodeop.htmlcollections.abc.htmlcollections.htmlcolorsys.htmlcompileall.htmlconcurrency.htmlconcurrent.futures.htmlconcurrent.htmlconfigparser.htmlconstants.htmlcontextlib.htmlcontextvars.htmlcopy.htmlcopyreg.htmlcrypt.htmlcrypto.htmlcsv.htmlctypes.htmlcurses.ascii.htmlcurses.htmlcurses.panel.htmlcustominterp.htmldataclasses.htmldatatypes.htmldatetime.htmldbm.htmldebug.htmldecimal.htmldevelopment.htmldevmode.htmldialog.htmldifflib.htmldis.htmldistribution.htmldistutils.htmldoctest.htmlemail.charset.htmlemail.compat32-message.htmlemail.contentmanager.htmlemail.encoders.htmlemail.errors.htmlemail.examples.htmlemail.generator.htmlemail.header.htmlemail.headerregistry.htmlemail.htmlemail.iterators.htmlemail.message.htmlemail.mime.htmlemail.parser.htmlemail.policy.htmlemail.utils.htmlensurepip.htmlenum.htmlerrno.htmlexceptions.htmlfaulthandler.htmlfcntl.htmlfilecmp.htmlfileformats.htmlfileinput.htmlfilesys.htmlfnmatch.htmlformatter.htmlfractions.htmlframeworks.htmlftplib.htmlfunctional.htmlfunctions.htmlfunctools.htmlgc.htmlgetopt.htmlgetpass.htmlgettext.htmlglob.htmlgraphlib.htmlgrp.htmlgzip.htmlhashlib.htmlheapq.htmlhmac.htmlhtml.entities.htmlhtml.htmlhtml.parser.htmlhttp.client.htmlhttp.cookiejar.htmlhttp.cookies.htmlhttp.htmlhttp.server.htmli18n.htmlidle.htmlimaplib.htmlimghdr.htmlimp.htmlimportlib.htmlimportlib.metadata.htmlindex.htmlinspect.htmlinternet.htmlintro.htmlio.htmlipaddress.htmlipc.htmlitertools.htmljson.htmlkeyword.htmllanguage.htmllinecache.htmllocale.htmllogging.config.htmllogging.handlers.htmllogging.htmllzma.htmlmailbox.htmlmailcap.htmlmarkup.htmlmarshal.htmlmath.htmlmimetypes.htmlmisc.htmlmm.htmlmmap.htmlmodulefinder.htmlmodules.htmlmsilib.htmlmsvcrt.htmlmultiprocessing.htmlmultiprocessing.shared_memory.htmlnetdata.htmlnetrc.htmlnis.htmlnntplib.htmlnumbers.htmlnumeric.htmloperator.htmloptparse.htmlos.htmlos.path.htmlossaudiodev.htmlparser.htmlpathlib.htmlpdb.htmlpersistence.htmlpickle.htmlpickletools.htmlpipes.htmlpkgutil.htmlplatform.htmlplistlib.htmlpoplib.htmlposix.htmlpprint.htmlprofile.htmlpty.htmlpwd.htmlpy_compile.htmlpyclbr.htmlpydoc.htmlpyexpat.htmlpython.htmlqueue.htmlquopri.htmlrandom.htmlre.htmlreadline.htmlreprlib.htmlresource.htmlrlcompleter.htmlrunpy.htmlsched.htmlsecrets.htmlsecurity_warnings.htmlselect.htmlselectors.htmlshelve.htmlshlex.htmlshutil.htmlsignal.htmlsite.htmlsmtpd.htmlsmtplib.htmlsndhdr.htmlsocket.htmlsocketserver.htmlspwd.htmlsqlite3.htmlssl.htmlstat.htmlstatistics.htmlstdtypes.htmlstring.htmlstringprep.htmlstruct.htmlsubprocess.htmlsunau.htmlsuperseded.htmlsymbol.htmlsymtable.htmlsys.htmlsysconfig.htmlsyslog.htmltabnanny.htmltarfile.htmltelnetlib.htmltempfile.htmltermios.htmltest.htmltext.htmltextwrap.htmlthreading.htmltime.htmltimeit.htmltk.htmltkinter.colorchooser.htmltkinter.dnd.htmltkinter.font.htmltkinter.htmltkinter.messagebox.htmltkinter.scrolledtext.htmltkinter.tix.htmltkinter.ttk.htmltoken.htmltokenize.htmltrace.htmltraceback.htmltracemalloc.htmltty.htmlturtle.htmltypes.htmltyping.htmlunicodedata.htmlunittest.htmlunittest.mock-examples.htmlunittest.mock.htmlunix.htmlurllib.error.htmlurllib.htmlurllib.parse.htmlurllib.request.htmlurllib.robotparser.htmluu.htmluuid.htmlvenv.htmlwarnings.htmlwave.htmlweakref.htmlwebbrowser.htmlwindows.htmlwinreg.htmlwinsound.htmlwsgiref.htmlxdrlib.htmlxml.dom.htmlxml.dom.minidom.htmlxml.dom.pulldom.htmlxml.etree.elementtree.htmlxml.htmlxml.sax.handler.htmlxml.sax.htmlxml.sax.reader.htmlxml.sax.utils.htmlxmlrpc.client.htmlxmlrpc.htmlxmlrpc.server.htmlzipapp.htmlzipfile.htmlzipimport.htmlzlib.htmlzoneinfo.htmllicense.htmlpy-modindex.htmlreferencecompound_stmts.htmldatamodel.htmlexecutionmodel.htmlexpressions.htmlgrammar.htmlimport.htmlindex.htmlintroduction.htmllexical_analysis.htmlsimple_stmts.htmltoplevel_components.htmlsearch.htmltutorialappendix.htmlappetite.htmlclasses.htmlcontrolflow.htmldatastructures.htmlerrors.htmlfloatingpoint.htmlindex.htmlinputoutput.htmlinteractive.htmlinterpreter.htmlintroduction.htmlmodules.htmlstdlib.htmlstdlib2.htmlvenv.htmlwhatnow.htmlusingcmdline.htmleditors.htmlindex.htmlmac.htmlunix.htmlwindows.htmlwhatsnew2.0.html2.1.html2.2.html2.3.html2.4.html2.5.html2.6.html2.7.html3.0.html3.1.html3.2.html3.3.html3.4.html3.5.html3.6.html3.7.html3.8.html3.9.htmlchangelog.htmlindex.html/usr/share//usr/share/gtk-doc//usr/share/gtk-doc/html//usr/share/gtk-doc/html/Python3.9//usr/share/gtk-doc/html/Python3.9/_downloads//usr/share/gtk-doc/html/Python3.9/_downloads/272c823b74d4f2964867a7bab393f314//usr/share/gtk-doc/html/Python3.9/_images//usr/share/gtk-doc/html/Python3.9/_static//usr/share/gtk-doc/html/Python3.9/c-api//usr/share/gtk-doc/html/Python3.9/distributing//usr/share/gtk-doc/html/Python3.9/distutils//usr/share/gtk-doc/html/Python3.9/extending//usr/share/gtk-doc/html/Python3.9/faq//usr/share/gtk-doc/html/Python3.9/howto//usr/share/gtk-doc/html/Python3.9/install//usr/share/gtk-doc/html/Python3.9/installing//usr/share/gtk-doc/html/Python3.9/library//usr/share/gtk-doc/html/Python3.9/reference//usr/share/gtk-doc/html/Python3.9/tutorial//usr/share/gtk-doc/html/Python3.9/using//usr/share/gtk-doc/html/Python3.9/whatsnew/-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:30577/SUSE_SLE-15-SP3_Update/0ec6b5edaf7f651c339d98823407ac84-python39.SUSE_SLE-15-SP3_Update:docdrpmxz5aarch64-suse-linux     directoryUTF-8 Unicode text, with very long lines, with no line terminators (gzip compressed data, was "Python.devhelp", last modified: Thu Sep 7 07:59:10 2023, max compression)Python script, ASCII text executablePNG image data, 500 x 320, 8-bit colormap, non-interlacedPNG image data, 955 x 758, 8-bit colormap, non-interlacedPNG image data, 538 x 319, 8-bit colormap, non-interlacedPNG image data, 978 x 175, 8-bit/color RGB, non-interlacedPNG image data, 250 x 250, 8-bit/color RGB, non-interlacedPNG image data, 706 x 449, 8-bit/color RGBA, non-interlacedGIF image data, version 89a, 16 x 16ASCII textSVG Scalable Vector Graphics imagePNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 16, 8-bit gray+alpha, non-interlacedASCII text, with very long linesPNG image data, 11 x 11, 8-bit grayscale, non-interlacedXML 1.0 document, ASCII textUTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesHTML document, ASCII text, with very long linesHTML document, ASCII textnxTS@b磼putf-87dc5b6cc186db572560a32eb94a5cef504469e6e6eac705a9cbb0a4d207c79cd?P7zXZ !t/]"k%a WJjc}JԠ6{.. ΑF)}.r 0wOؾi"H~K뮄K{fj<G'i)5&cąAKj~HʒΉw܃2R{EfՓU9n19L+l(6a5vRbKy<;-Ň!uX_0i r|b ;YQ(rEeCn[rZ3*ܰ628(N-s⹉|9JeaɆo㱶'xB+.pEe,ց:tSokYX\jlD\gFfΒ)>B [cOg1e%.udڧ9i/Lci\fV9VuӒfKTxD")|UO]4ȼ3/:k?*yg?zx7`s81*% .[gHm-{fd:ș e)޽aR7o\L5&>DSfwmluW4)v"x;=:J+p GvW Kw2ʟX=5hì@s/ΈO wY2[d㬹HA*! IZ7Xjn2[GfٜK ;Ruv$)c7Twq]#(⥸v]ѵoLW>g )LҹqQ'dUq)+6E۫Fp~(v N&ZLt'G83^0 . o*^f'ivdB:Yqp/.i[Shm/3}Dϊ6HfMkT <40dpމ!3(9$<}"ra&FZњX)2m$Plm_FoPgK#E3Y>"\UP  laBע- قwt=x$^' /6G;$ltv"/]}]~XT u6'' );έxlV{YʶYH |;$m Qg#1UTME6p6MǐߦvIN NZop/DCOjǥڨQl+UľXt@xj;zWx"-!ާ]/p:I n5&FV8(ƽp-szjXz͛b( DN貁KI!uUA4QݥK@,ԑH,7~~o݋?ow"Qݬ ꟄH,3 sBKa7!sbupndG~#G}׃VC wB]#e̻oy@-r9y "L~K|")%eS?q:(+m[WG#$ղG9໭ZfgnmpV?o(mK3IMi`6yHA(&v>rڷ\=b"ھZ:I<)RZl]Q$ӤBky\p=7vsRqpqNg_}D3vtB3HÅvT ,jNڢ8 ,=LFIr4}e6kbಞ xVvB"/Lw7f *EGA`uЛ:+qytʃE jo/3s!oDVa$$4qPvJi.=u" 4j1հu-} Wiw P7BܮL=Jac\VAT }w١17;maE_Zz;]GSIt_ (z?^Z?ځſfhT:>sB̤Q\,Y|hRz9#W rnQ`\kwK"ߖDs;0١AW[/gׂ V^?֜$Z0A+JϋFx(/~$+EA{T 4p4V HU*MT_1egyui]!171baa!*TFx5ړJ$ 0Ot4 |*:Cξ9S:#7 NRa!-͕;qEn,iZ}FRbqj]ؖ+| 躃=z~, fސ*ڜppAi4GvW/Ay^xGlOeOmSy5C/ܪ4%m5jmID47`{^\>.gDG|Gs)_$GZK87im,lj:{N3ZVv_>IUzXJV2sz<֮Qq3?Ð 5鏂OG oC<X"~,]wGh.v+EL>:(r;[ KGIERB3A+ ܁ST@n Τ糾 ⛐gm*~|'<Ͻ)*Kusn@ ֛RpSHɇܩ7;==ڠ3X2&doYд:uC/K r ?[E߽80gM ;-g#uEH;XBxɨ}0 ]p(}O\sOpEA*VJY3W^Va}e~k:@36V#6/p}$-tzIY27džL+4LbDW=K{!ϵ⦲crpUZJBX.Ο,YO9c{D;#v9>G^_:2V8bMQ$kmA6FƦx>~؝)Lg "-OΗhu8)OD!`&3v=]=F4jz,~Kb0F?Z]v*ܡsmTc!cTfi.SRv )lF]_WsL:5:fj)%)̆nYf{_DGಾ-Nk!: 4У[(&\,i-ig`; S86DhSB[[Zf?yF]XTbͯIvT jC xЎ>$r9̜VSDnOЬ^ -DȹިW,OCUJ,+3gzu0gs`XL.R}[*ӧ8U96ࣖߠ-M.c~ 87u=_x1b:7 r4":#;3Q}D7vhM,{l &%3>w,{Q;s7;~{m@ʮ1T9^ Ptt :i#'KIEb눼W=$[B!&zEG2?ڹDݻhxҳaywZ=s~HSD(F .%TL57 )SkxKЅξJyU Et k*|7z-T)|cލ$ W.CŔd]7etɈl'I\k7X,%rNf%gЍ\ʡIîOWS!-,4a["W$%o~  Gp5ɹz{Hjwd8B\=9F4|#e,HE%ns"t>X{mgv%A&P 9m1S`3<03՛$Xr[$gg*Vk7aYCwnRԾp?.\8o6+>w~(c & /;|2bwB(c^"f". (g6=۰*Aeg wmf h|~jH|2c,W[`8}\TS?SdW \ƭ߷8}CPf2kf:0* SE()l>RmvIfI*(֔Kܽ~Ynʆ{6(NQhXYj4dMKIpPP mЎ@4ho7 㘜4͏DN( R>/k Mc ڦ '{ `ݪ%="tr+K; 8o Vr)Q3~ar&"V 0 jhɵf \*[vm飼p-'Fk҂.6&lH 3NI)IqĤ1I*4]#&t /!?kr 8|)N w^`~k"` FXLVJ$dX\~?%n~%& gmtoPm)Qp'1esM邊S(TeJe½Kj"-sxW 0@KQ/Ƕ4*SIX[$"~,Px|Gv\ 6ε Ӈ}L1ff=n)F slWFTzC}??.Y1iBkl>[Gky=¯`Lz|T%*aSB? m#|-X0c4?7{~(%g<|4յ,vz\K ьB?*ӯ*D Dxr-P~-N+1+v/ϻݟnU@69IֶO|13pB* '?6 $ gl6K\Kv/{3;Vȿqad#q]+6{řwlIC w _V >dj!ֺ{#zFcnﷆ.SXyo{g){Pw'm~Gexjl"$(AdYܐFo`t56#*ԺDǃT2LD"c9u#nJiN}IMqo! 2Z6<͸pFK F}wyx ?Vc(!4bA-M/xeD:XJIs߱Y] vyJOtB}(5>'7J*?D^g8q$ޕ-?'w5ѶY]p:p]_ _g mVTJۼ-9qUYwS~VUd`LH{9CV/VA. iVr}3 TIf00"5_ꀢY+CԿbF=b-m9=AV~؅rjlkdLدpj),/Q xeX|Ky;sޮ 4 6ozwovд4"vr%]Vg0z 2xp&r^vuOiKѺ =]DU͇oDB7o<_6r5%#=k ~g_f䩀[*v9ɽYYl㾪!z%Yu}>&TrxxO$ oMfD4JVsp,L1+ClT:r 6Gx݊HX$#YЙ3ͪ =3-&?ts[9LXLHH:نE%G?d[BzZwMo.hbq| .\┏1&5/$JU{e?̋=auпq!zW\IM҅pqX1>@wnq_o0s~\cY9(46畡 bnmKMϪ/\-Qs\Xy,1Nt5\`k4ugDbXge`ˊ:ȠiH48(,-Ra'eNAku@(xB!w 9Ge9i~R5udE]+t4F3bHi`"lx YV9'B~qwr О `>o  DYfTO~8 a fpL#q(OQ-qM :r!)T)7 uXbdi0Hx% 0)JVWv#Ȯbj!M:Ľy}tʸQU'mM-( [ζ߲dX1#j/_%& 3cq97f }&ZP!s/ආ0`̖'<" |*cXe>ڠTFzBi0 IzBg| T7L < 6N|mI߀Ӌ}mdtk>ZYR"u|7~ww˲R \5)['BbI'Փb&-&K|}af f)n)9~_ (ɋ6\֓IS0G/%lq"!xp$7 q]Cphݼ3Ic Go*ڻw RgD"ٰ)@2Yl"f1!x}l92"3e~3^0FbuV0P$_6(n=VF9('0FnF(]6HT8"¬TP.rwU.xlkg,(FnKj4;P-v70"fKЙp߲Vf 3UzEEr+#XU$S~=| &'D?;y 2&/Fˋk_Dc< %gty ircGXhe!9i) jY$wib32ǘlY##s jq.|3Wf*ݞ58mg@}'Fy? }c&<ר=nZ+AH<+?TʠnwktzTu;W%3* pËONU!N8c4'HcH#<˺3by..v{y{PwmճspķYFu_m#IbX~k IO |UfV|ҥ by=ڮ q%w/g8jap\chaԶ9IJ&qTvGq@\mRYzNn~R)hn]ޱBS#: ޶C/Aqɉ0x#aE(a˄l?6AèǓγFb`d9G >]a:&:)p3ZVcvXN8{<_ɾ07+xSXhCcĎ#l=͖=>3_I(CDէ{zT G]']S0e+%fI&VGim$JՈTtb[̭rɧȫԍwg+6 [ T_AU24ZePcOsÉ qSwptPId = @@k̈́]OM[ CaԂuTmNl1-w8+_xV=m7j l.RA5&$AXT;pq9-i+1=oRr>ý%>|T%:y??MarR8QojLeŒۏǦ^6dkljխO(pBoڬKh7xM vV9ȒԸ0}[g iӃ+QBO=ho܏'$}r`Rݕ7:qEΫ`9h[w ג(ߒ@ vgfi1-/dS*.!=,>lJLEL@wY2ܺD_"Å^zx`MtTҕJbp_9cqMӨ[,=)zۓA%|2cU@۹ 0|)Ә&ܜe*,$1ѵy•LW~NI! ڱf,ӋcҤQI516 #ɮ[S\Jh|wX`k50MJ4wd~zj}yLrzg\)%=/BL 31! =?ޅbܕbgLx=lWq(3DA[ fWΓ!}cqg xP8ZzDJHZ,ꠑ8%*bS~t׼*sv}Sxy$@'$z. 1y H8w:|W2yb^H@$\ˈƂHfB(!0i,Hӝ+U9 I;i#V);Y 㹱kӊע:VA0[sIָ89N=}*d8,v>IQkV@q2Bør̦JaCdN&- (VHRqڳ[ۧ3<ŬK?Xd\ma8fx@^b¹OAmHCv`vh+h' H ֓b mؒ9Y Ǽl}=̀4mD%f<-q&+249"4a- 8lr]Û| 1cS[ܓ]p8W9# cry̓*qa <dS>Md~֣֌ jZ[z)sB#ɵrf*DƔnvA*]u;ٕ%C|p0f_"m *Ճ'8J~!Aieɵy:FeYEl8\n`;cM~6LcE1a2t{q!Y~tBl1i'ʹFeD9F>lW@Oo]b٦.z_E鮌?'u޺ĖKxR3X4){wt3N E 9(+?+-j%ѣlfOۿ/KH$Dƃ C"F}.ڮ#m ipN*A LYt $zX|ZREmMn,^0WUk"X4%kNz Fv~ܣXUڽjҙA1U~6'+4ڒ+󇣣w-$5? !2 BD#훷!xZb#5}Ͽz %xT/09AƮxP9r„tpwە?B7=JNkV, p}B2{RJp!;@:1ybb;mC9UrAz4OK[csd]3@gN9eb6۲?2nISy*@ xRQ]r7^g0$`'>FrEj(T^e2FvJe+LG]#V> 2KFYtDh_+iQ3EQ֋mSNZ|Uk6|VY)t] 5 I)SM-VXȱn;X9p>W[ Frb%@}ݚ4s<JM&M"]cgn\Q1b|y2;z̡YBQE\V5Ro/fYҐE߇i1eJU=qZ:dPeW=mZNˡ3oˌʣmq9Ҝ|βM^jpaj[+f/w_>o >фL.v7~¸&7󫳇-Wa*D] Ө!eH<GiY qI @<.^6]{͟Kٯ3qd?x9Yg/[TS1`%񏏭I`Y`Ӽ2tkYYS*8R)W'pӪe0>S@\9*kdsab籣`wi<]SYv;8DAr؟\iK1+IeA)7"Bpkee: ?*0 zP9A@>ILk';M1 oVƒut7' `Gl(uӦc  G7_8u5Q2`EGTOc5˦Y,MK8ۤ/ }N Me<6FnF?@6AN:Bqjdb@sI͑@E9zerCI0# ] M~{I| ֊. b4#MbXԞE͵sC*|hAg ""KpHAn j7_ӰQ%0 tǶ{v`,8(Hexk<Tp3:MxO8ow<;p4t%*ZqO8mzPpHli+ã<Xao$6]U"Zl.=d!SүZռwCo!802*WPx*tXތ.>Q(Sv+O^j 1ō&μg)V&)Y{D%A1aŞsH_" Zd#Z7{p]~K#;k^7pɶ ܔ1Db[>]1yIpq1›J':zҹk,72{Qb}p~hk/v:R@;jGu=yALdrkVґ~^#]E]edl:!J$qBeL,ZhI`0?JH4t!.k-2ݿnLp.6v۔!<'U  .}]@msVB VȋjwN|fqGt^JS˲jOGu9aP$hYyX0 )wGQ8*"d\<ŧ1 ³,/|.Ƹno]!S $TSEtD4,+փ;OjSf'/B;ҽ-`\LM1] Y|ˆ+SFN4s\;@*Pz. 돭vWHե #󋝲vh~1Y6:\XP@mX-A+"G+-U?:I0ؗ>  }V`Iyd/b.~ů3lW]PIԴd P0 k\{˜BWM#Xve^'ݶ)\+aʺr ٌK)8 JC͐<^eI{nf.@?< @DCvXwւ0dq?n֧)HߖdCL(K&vPʥ|,rd;+XP!,!_Aaj?-ZGR=Q5_MhHpezgpLHa;AW=;VsM}Ꟙǃ KfضA{y1b3'.ϗI/tUucu5'ƩYz]ɉuJfC5IlKjƜ%DGǝ-gFْ`ƛ!"z9=hT';Ȗ@ _$$4 ^cߜSp L10R +6:@&;ʱi+D } /4t Vv5- r~ Rk6!RY X,)|Nlq`sԵq8I.fBO%fT%P?A7ǖ絇Dr`;EYͳ] kNC` v9ADg?o+75Us/}sLm (SO]7%-0 Ϻu<^,iLۚCuN6Tm ^ n &Z8>Ř]4 .|c'5=yͼG_7-҉g<ﳫڂOCÍ.b'>;N\| Jtw%u|7NN`ٖ4놳}V;]Wl4|wTu*TcRTuXQOR"n9C(E+۝گۮM*+JGAQCp9˹6aߗ5hLO< 1$^V7s?j>W2VnG <ށĉY>6k[Lb?*_w󺠺S]UO+xs}4;8_)ڲ\F.USڼ|@ Z;bQ P+n.ǀYVZ5mmA艁ʭ֣lf/yIl :PΖOm2T )N I!S)p2n"eČob^ikfbM)4r"JuKD#gTr5 Yi#58M- :1/$@/mzvg1tL)M"&ۅ`)<ê%Szɖs~Jt)8⓰/~7Ծv?Z,~kD{H'-Mo3 1eQi;QEv'N-~r)S.23hrz32#f9w|㫩g($$Ysy釲){ܢwy?Wlq.=^pp>ֽ41I^@1(?}w~!lm]FUʊCAX785fǕd @ȍq"ig]UN5suK轕[<wo K~d~hⵂcq&*Yu.C??;be9m0T|19ݳQ)sK V\MJv%1V 0I.9f/n؝ŜoAס/x7I6lӖn'׭V A=58h,EDdE@Yѫ#BYhC{܍=J(\;ѽ ;%,`j FԢƨ] cWi`ë1Ef̓ aɨv T?U9EG x2㛞Lvι6sh;2΃6~p ٱ "R[w˺qV tݻghN׬!?=6ABHy+/L\W%ŝ\\o܃WxBBYg7k`P]NX~2.JNAxssBKtQ܄J,vH'A/u0+7ijx^&?lN|f tΤcQXJ?x;#zEIG׿S_Iy"&cT9z*;ـPݦu뚧MLPsϽa@V κτug{#ϽB9Ö[-fAH-jntP=dRSuU(g4Ҹ6u*DvjPM>UK=T@8s]۶[Y4ĴfBrh%,{ᗳQpو.ƭNz9ϐr]>'`HFrA/[\1`‘Q C?1iUXJ}ײrU3| %hp@ pmǑP!Jfo ,9M9);2vs-BjgC.s|AXBc[_L.\v$y\oW molŕ%N~'V\D"*,|E\W1H\$K=;LS{1C裓Sq/;7&=6yn3@XV\\@' ܗY|kME?M2[ Geue Li  ECFGVFR!S",yeחH^AuIɗ)sH#M0z OKq?G;vsyBB'ft!1cCe ljCO>oO!?g92KصsnnG{8vt=a[2~!> Bz/H/ƷaW,>].krٞH1HҿqwDokjtco(pC+kcw AwR˹n߱1P 2rݪX}ɥc49iL|(]}ydg^3<˃whrN+x !HidNfa¼^ڗÑS_ zQԓMTR +xhoT d1i;6 GTH uЇ\oP%1V.]<{я !j[O f5]ť>G lzvoe@LNwG|Mm9;,Ökzbb2Ev#1P8$ʴ!p7A¬J69-}u,&Uzif,aOx?KU~&fIR2jL\&fKL<5jSP29leـobX`NHKM§Ȼ6IιpMídR7ta!VX(bQ2% B(`X{eg`Y8̽%/d|[0vVne~JS̷LΔ?AeX-lyjiڰbNBB^|md~̯]ҹJ;#NGjocl.tzE[ M#؜×+jd6m Dw+`BNB?ut=߰w%Kh+I=019]Biụo:' ^=Őހ+ckAiQZ;:ՉnYyy$v?>cfGbZa-bT$#/=C 7RI8zM.@+#z&O!-LLЉJɜ]SnC~sS:ݲĻ:u/<act b[vlf9Ʃ`8c͏kM@9h =V|{Xܔ6Hb Z3+S@;#" -4M%`YK4O?^m7]cx~mg4EY m\XurY]*j6mss?[U͝ziz%1Qt}͢iVͱ[ğ&q8r~j\kHhEXj4&q՘b]z:!h[@0 ޵T>lhz%$N #g BBbI]|pImx٤!8$ stD=8'.%\Gjss/3$a8l"2/-~°3ǽ+R r%MNH@T8%ua¸e2U5Gש !JR&HYsB p0}ٙrbxRy܎؁3UHTTQwIS^qIUR,Z沄T pLjx ][p*ZY&LH'QTBwL3pK gKՍu\\!$h'BTsn\RF0^<(['X $?NK8 O~?2[ 8TT%Xw={GtixicN{g"EF7ci#dwWP-ڙI`|`zP,a3db73-# 9p t>"Е~Jfsĭg7Pɕ@R3] _V3@Z7E}K!j s㾃!dS2O4..'Y}"\sҦB0;[C5db (["р!:1EǢ6#o38 M]Ξf&tY}(Ed3OM 'o-wd<:'osFwcTv=}ۗϔdja0FC|8e/*Gh_ ɪQPk*Smp7:N~,t-Ϗ\]ga?i$1Z;JLΏfx r2YlyE7:snK!#O~mo'K9D+Ԋ`7ҝ謦e? >UD7o*9AjM&@(8Z>s9|T: ݺV}DJo E/d:"6Vc0@G%[e?aI 6JPt7|P`L<y ups1Uf'VK! XB]ZD$Cn_T:]^?sb)'?fҠ1VSt0{^3DB$!U7g)UuRXN͔˚D@z:oM;•mDŽ,(xQ-/t; Fx́e C_d!k&.cWy*ot~>·l\;(GAߗ6@SQ$db w3hçQsp ,Aӹ:qzRxU*g9'2_ ؓٶGPfhY[#~F1Fڙfx+TfbPp6Z*j~=?4 v+~qagǷ ] !+`f }⳰k>R1Owl>!d: laz3wΤ38MqM42ǠP͸BQ ]s1HSA$b 6^ ~qRO&% }Ԋ1VGnTUΕ5I^G^XmC0^?aN Q+8Ґk D>-Iiۘ%u#AQm,m~(/ӻ'[|B\PWu,~E\xD>(y{X-ϊŸ:{]Npln6cKM9~Kd7y缌^G*P"[qp"Ih:*52/&"5vs.t(.!'ZQxʴE$a%E-@#2bma5zsPu_4UzRK3$$wQAUہ= i~ys:ZORŋ9QG1K_:L :vEE펏E&f7|Oyтq-KBMβ@b2B~y-2G"Rn'iw#H3(8 3&=N`d) m{{gJ{/ W(M4HcZKJL ԽeK[R"1g sh=wFW{0yɤHQ$3 z8pA)zS#VGQuY8XKo9+jsȟ}t7Y80Dw2^֗h[5 ZzO`L`&(f7< uR^qؿQHqGZ)Ө̲aiq4rV]|Y-%!i.~KN/S'/;M&:bǣy!Mv*@EЫw0ĿSt/FvvK3WCOhl?P3 4XxGlsrH" TR-{L?P`X.*\-ELJ<X)4*b䵪s?r,ߐ:@OV[GOߢqHzg6MOz u/su"X{''5$#h3jY4> 7slX/6DOո+D-NIw׺qF/V~^h Mګ @秎1U;iLr6Z `u'PhY-'jBq$F¡^<uSnsF/r4A߂T>n=fYFAl Kg1_Zea0BFdh-yl9qV!4H*"xU|MS$*DTGDnj}-3Q Vf[*_̮$c2p/œ I+^Ӳ3[ˈ@εxF 1_u 6Տ;<3P;Q lTM$d4RqBHihM_\A?M =!Lb˼RpHZ ZN`'4|SkƏWKoōkԼ/gH6>3_cE0B>5Jyul,Ƶ׳Y܌cLrˑoJo4">Ƌ@(3Mb#iduXm)3&)&y;6cbPBVE.,/ty6rk?f2s6x D@lI:9λ"_Ni{SQ?|q" !cT%EfʜVLl8Q '7L(nnV4Q:*nk8ֆKP'6C7\MV56GYp4 v ڥIuן>y*uZsa1O++;D?0b(2փ_=4wּg%{2_|E/[&&S>6E0^aAp? gy#wHT$H^P (B:VPՋd*d{gkc3# @N0ȏ@uJy,5w(qFͬC!pu¥%_}YyjpA;eDu/2$D, -jST X>9S24]WD/HUEü2!b02YS}Jd!ʴ)xރ3?fɍyH3Z< Z18|lSVTXHY'dZB߱H!dvGb7ye}7'W9kr~`o"ToNyQɥ5PM-8S4ŭE\r53 Dp;voU_5u { / NĬ{M+HJs[N^f\Z_9܂A p&רrZVA-!WJ—2ڢS~F*O8Ÿ1޶A03DZt -DV닫Ggd8sZr1y),TY]`+|{ aNQv֒Oȱft`GN\ZPqc0XwO(Y; Mh !mC+oP!ER">](nJfժQXn;.|LE{Nff0Uy$rΈ]Sh e:Dn;K6V^nűsE9g<`Qn9 HSF(QJ-{5<#|3LMOD-{6ew6B2LT!&;], Qomö͘Dg 1Y vX(Co{RUBpcWu &Yb5 Us^Vt8泜6B|z[$ر6yZ Dvf'^ vxN,Ed87Sło¦vJOkjt)K!S!_x5M>p@.P0*MܹTo? ?'{{gA%V[Ayo@|8S{K9@c`ԥP4}~x,8"Yd_@k=tMn$ v_fsV-l3IPh" {}7}+X,D]~.f}+`vnab0,|gys&Q5b]s6GNZ k-q2C՟U"$@38L”Kbw0 ]bQ9̨,f /eMZsGi>7 sg@a {>|3xă`:L |hbZm:t琅j! %4c{׭{sU5!9ƤD%ɩqgLsTrM~3uMu> 9{? >ަtbLv>c~Z@Z#l ˗;/)L-SJ1$ a@슄ΒR?z歆;yCPae۬#p5EKMgI^%#uиwrv VxeC m|ONDHk^wyŰho2c;.P7Ij WW |hD$Ag;@,#zgh$%WDMu)غ6㄃(^`E[b*V..o3AS+4Zt<'o%DoItsxRP$t:)zhYR v1Ă& amZ(p[;bBL  E 8˷ ͖X-Ry#li8p%iW s(.P\ ˬwX:I%#ueح=[-ļtφMҴPgif.l{6 % 12k[@YpOY/PRׇ֙&M+ރ2C(C]B?ՕJgÂzGÂ-mcyGg5߽B1Nia9eyBGl1!(ߛ&DR}tD e}1?N7?xKB(~o[b~WUG+7jrn=v%<[ײ:%OG`so]]sB`!q}p")Wt.&#eBs[[VR."e&0rk0S,䶎sAnx΃%զAeQ%o-1͑r`x-"_9bܦJd_"ħL%3/BhrX|iU4vTƤ@ 9q+/[`un|+#ȧӽ1,o!PGG&CҐ8RܢfFFj!WDtsA݈{J"Zhik,MEPI^ٺm̾plT; x|KZ1vuO >QLp=S ҙAyA$PlIuA׽3uF7RO c޿9YM) D"Z44W:))b.A p'30Vp.,' ޠ96ԔwD!!P%PF sN.ebͼs4z2- kxvZ|Cɪ@K $2i|)xR*ʧ:t)ԿB )u9(wiVJ?ֱAXqg'. fFisX ,R "r]]d-@eHH3O Q/pG|SZ{k<@zkdMesr%o ΅YF0+{gX]Qլ48䋄]ŧ-#k8 K)72ctgfMD=B v5{pY}}P{S'pÀQkƫmEk*~ du:\}jR/ڵ`,f-m@:M<>(0)W $uGη{ͮO.F7r+O$pI3rnlh#R껕Ny ~I2x-tH8xiAZ$)}h*Qr3d_ʭ ֯vP|9!0a~?Aef['iUW{JAYyBC]t͑E%b)D/f5]ZPbj̇0ԍB'71i DϺ_=́*{V `" j [tִJϝَ֦-wKc7U'Nwͬ ;)-T kytv0;pDZ{れ9bЊN:<3jb$PG$.8=D"N|X^8*p ѴMUVEFZ}9ĘcI-\⊾1g=$ߞ zD0р/m|-J/H$uzo ˲2iq(¯jo|HZW؃.ͪFڞ( N ܬҿ!T*};P}ًN^O@WzntϏmABFT6*R`o|ep: tX%IhƞI:x6tʙx9s!aoa0c&UF9#?ޕrB=?M+eb`AF~s(0i߆5Ȃ]tf^0-hڡ#M PnϹ3dQ??LqUe$H+ѱpf-YZ.j h3u) !RԄsebJOMRQ <_(?l[`Z)]`#{`Ԧ>1V'/z-[B*B:q<2bNh;?38Z =7ڪ0cJn^ӤU~S5(2ׄWp4c^'-=0b~UkuP vR7pѣzGLQǨs=KH:]L+G>rnHQc$U tmhlYT؇_c@kѺzi5pS(S7=7LIlsߵhr>YM`߆/s7C Kwi<% TcX)nRp +3]LNE"ǿblf{XQQM#=8qnx[ŊD\B@f"m`@az JWG ~bp`+V^ա}M6қ`+۠cA[GwhŊ9 ר07V ߀H? := 4fTD^A l&끧x&T&lV02E+.3֛v-&1'TccHH%.و<0+k^?x`!vQ1kѮ+Zw.C;pYZ$; Xw6ٽOdWj呲 '+C=b˵wم't5_bKC.: s4o{(cx%2%LmʪBrvSsu M)w`ROed g bĸ+cfED@tFUSQ ԋ!L/k{2#KG)O eK8 ` 0}\ C3U0YXo sZ^GOSM/ȫh[W*xSݚʠ3kxmE"ʑr;D1&ⴓڃOkt3YV-MĎvNsyKGȒ1^pc徶ťv,' 2 R [k~ʠ])|/eƠS#sSڨT_-%$ɩ%ӟxhr0蔞Ru-H&qߝr Z7pw5B+F$¹$7'MGt4{al|x\}ǨvYW ёG?}E':QTԊF6]K[A,:c}>*f55r_@mBil \usH)Bzuݨo`!Fuȓ4,P!Ŀ'r< ̲P)!0׏Rߺܿ4E NEP!{_"VWotbײY1zwd {L0 _c+޿*$a|OU%&==k}4@l q] UrPܨ.>{d.Jp'@lz'WIiN2]dh3@*I$\#Q8~e<Lmg(ąm\\~WxBSoBe2L fz ៽C.m㵪Y`C)~tP$fcs}eR0W)sS `xe_ü%ng!騆7?պ@¡GQ,R?(/);28\CgOqu/VefU4:oDò}Mdu]uQ:^_4N񈺴3Ey(9kܲ؅nu]IHT瓹ܬo? oa\XϣKhJ[!x : GKiaf1TgyWR( (24sdpX@qId[bb c@ ٹ'K̶Oi$##vF4nY*"T(`Qa4|)qdй[rKӍ'S4 a98e迦I沼NeB-SkIܹcr 0: _JQ>rԆ鹒(%F؜Yӏ&MF,cؙ;-Ȩy N# /U޷e &X _ykTo8Xm,n\&q`djwkHۈܚ.UN~*`qD{=4?Ѫ鋌ΈZ5rj:j$`"PE ]Ro @]3-ǸNRI+ۇa ;9Q}t?f2ەf?/h\Dsj(`Vij%R^ci0Pl ;tԼF\ e˂g2`sf:U\O4,u)>%w}-bU51;`OiE:.f ?])AlEY̊cY* gݭ<%骯4距p##b IU%[I"v1v^B݊p\gרFc8! y0d93a*x  r˥ pяOuZ%Ptn!j}lg#^iUR̓@0aVl|&-"vmRyO gNv ]Gm6Y[a!9q#mo{#%-Wb.3*pIkț"-#ֿ\ u1y; Ip6LĦϯ#GKU883}nga׫fvм:^|}VyQrV7ϩ 崳>ك] P4,d:ށY>ƿJGPa4s#4a %~[gYFќ_}\av[0LL['<*A5Kޚ ubz() ܁X D0RDEztio? J9U ១,es}c_iU˶h)Aի A6|Gl(p1e U% ō9vzaZP9օ7Jyk CתUɻ;˂ZQ9'޾O# O\ѧ޸8.~v4 FB $ I:"%,嬱@T}8Kp_V"j$y獦vSjڧL,:^CZb<$u 8*ȹW } J )/ҧ4xCSM7Q7J{V|_@JTm}2[ Y'icIˋ ˤnKјDDv5Q5- Xm1Էŕ7҂W j˂*\B7/db韯)6,PFğ=Mޝ؞ !0GkaПt@33}$4gK =߈ dH2C;`(1ߒ%uFIMd@4̜I ^9`g]Crj7[IL*}OMHs+\i_:-۞ Ür7?Tj`! CP`Z=*U==5+2FYhmEP:I&rw*ޮ0܀Bùa,[~^IQs4;β:&mY4#~b E+a~ ;6M ؘz&>9H#+sUwYⰮ/<3^Ɨ3xS !U H%S>5nKjR{)չz)u>*]<,rdsk 'A?.MjCdD7%Y?@td9 GvR#/$1 sU%}˙ehd0&x.K܅ҙGq‹zIDe9P[ݧ:?h~ j>D%TSֺ OD.N‹VKaCh *8c%9eQظ5H8GQyEna>m>Y5JPzw_A_ds? iHq@&.J⭖GNO ρ7h FPR\D×:.MK pz mQwZm gWšzy8$k0(c `9ط$Y'ޥ' % ?bU_ϔޠ*)5:%  C#b9h''MW6EW ucrtл(  #{ $޲U +߫֙Q|xY<~h5n X! W G5Z_`cJ9as ޮd>!w=/{ê,JXtɥ~|x8ot=]/ pYoU͓- -"ifWUsW4>ˇL<ė;(cX\OH^$c^X̮w*0hYDɸ*%dnzUJ<'q;vI\+E6uS4l_ vtװSN׸T RjcޅqS'+gpAˬ i)8xo~>'KuE4~wKNﰷ8/"M]o⸍&Ή![ۜ6,d9!fA7}94gP=I k'.bPM焪t3p< ނ' G+?+fc? m3rh%iJox_al9tIVwtɶi۳C$DQkA`cZ;omh7Mmܼk2 /=lXǔ :[^E<Ms^p@ꌜ?#F#CJ Tm}عͥ8eoo& r52 K4ޅ؉H1t0RnA/iNb&}&b͍yKoȟܿtC+O~R%l!'d'o`÷T!667@e7xXt+VMЉţ) 1aZZJaj>AeN\˒@eVӎ{Ub#rOx;/W4UG\RdM+yzfC[!q\1ʼ'>=]ZQD27SR媘| jc$2lǯZ2b1 [w9,9ŸdSf pA0mşs[. #2bbɕtiZz9ME90matqb8 k~燕RXYSTlA}FTzY$~d,?}FrWEC~К2.=п`wq_/BءJ94f !QXMFg\QNiau$Bm)Bv4 $kW]hn#ppQa.GZ-bD bo h;>e .s0Vkb-^n/hZp2aJ#J09Hrzxj0v]'X[V S"1Qλ+AI4- @Va0tw#^* WFsCy)הQsY3k>tn[ӓhʊ}-pv36S&Lܟ7Ra0z X \<8EdmbJ_ {Ցl߇%(Jt=u19%5F>"v'j:i"Q\&s<"ޔrFS0˞s|kƊJ`f^(Rm (+iq 1IFFlG3=x" UEA%|Mف0Ԡ d4]vH9t""w蚅}pH~ EK+6R[R##tDGIg*kQ=.O糣,[ed#v*O"BgP'ۑ=\jC"H{ %*aByΌ(gIdt$4*rU5[ے' J:P-pN ى-螁M-(2=ERW6U^ )@BC;C9DJi? ۬Hk!s) Kn*4d}vfCPkK#8̿AA̡2`udMkT|qr/Y_t[l֊ 3ǚSAP053 ]Lq'rȚOєkq6 hm*;)-QBz|V1iNC6)M1q4 9B,-u nYpӊf'd5]Xr(̪1YSlmrN+j1SJ$ѾV=M0fm;>6yL"G:1~L+e W)!%Apptgr_K'ٲ@9ʙVGw~>0U˦ '4.{X>`cS#N {ARap!lc䗸6v{*IB|J-z#>jS8z>ڜhHЉC^(|Z!1/Ayl,u :I/pW"`{I L99EO\ 2 òU*_YqٶneoJ072gVQeTO6E${N:BN0dIc;;BEcDB_ijϩ>jD?)jpO9Y$kPV2E_5G]Y&. EH ,^LH,)T4nͿ4PiW4"pC]_Uk[+\dpSAFhpx/ * HUcR9<կ{SȀV2(ǧ+/YPj ^>Tsj(oW5[S;՗3їUF".VQ;!&xk1 HD"'1Ufsxvr~匔_ad ,:pY=XF#^>6TcktrWJÀ7;kXO 5z^'{PN0P8YZ\\A"?[~bycgnm[xtգ(Zҋ8abs>Ni'El&Ҡ=ĽZ-%y!Hg}FE0F_2|hD!ILk/!`㍃P-6D^}0YY5=F!1E&]3>;i.i̤__B"Fg}4F _[gP/yℎ۠:*W85.؉4GHHvЃTF6 qsUȑ Ea(llj fϰu e?_ZnM S";TmF}ـʮ쪥`;ļAt-8waO$4CxMO}ށ暺SjĦA6ÁfkD0DggaVɰ$^x}@Wg*UEAhE@U/^4?(o%N$64:#uje1 k5sc I"IX.+0։Ia'AQ꒴ yf}?L-6"7P% -D_fupFzX#5OͽvFW-e!kE }M?DC#<0>Hq|[/T *C%N^%{[:=Lp/\|i%EX\,$ai2o{ԍf6 JM !XFd.$͸r$PVp߆%<)C+ IY1,QH}4CH@8%5[d)Zp/Vdp1b%a*W 9p:Ӥ8%N%xͿ/ L~P \9#M;t rur?"av]|9gqh}u@KU*ƯJ/Cz<ަ)S~6ez4z4c+:/!-2Xgu i-Uh^%5)h(m8J9ӈDPAf1^`u୩?9%mBϞ1>bE9I?Fo!2MBXtcC:;Cvn=we\e2JcnuhxER[11G{cLgX>s\ᅬ5Űh6>3!'9?K"A uܙ5NfoրE/_`gr$Ku[y %闸{K$5[?=a֜*IhY~Ux/uf h]Q{ 9 r7N6O qE.v=rd~-jMҙ)k#02FUPw[33bUq8*ɹ)&"tjrQENM6M=P]Ju6I{.M:-t>.5< $){8jaw٤- a:m1K.>V8kW{S#_b~p;qOy]5޶q2 cJ5LKFf휗qQ5Lv.<*h%CұS]bW_CQ{όui<1G6pmo]GP5nWT֠HD4Yt.Y q 8%8fDʻD}@uɥz[WgOzBU 9T\OKP旁#^gbU%RKԵzE^am!mTc."(Q56OeU Xf31#Wy?v%"xY ޹? KZHFo;zmr+t>i9-rW\f~ C`eZFZ}*x o'\%g)ܿ t|-PtnZiňGv,X0q#4\ poC AQ.NЖZE$ QCI6ks P+@JQ:WYCO^6zJ$,Q =y.;VI: rͳ֫*p1ݠ܈B7l LjKŽ: dxDDLrR vtX_fI(JtTaO\=0^ж볫iVe*( նu\^)4Ec%ZW2ob4^u~ \=aIX;@] rF>c#Ddѥ hamy ̄Sv:Q,8`7:͕$8#FCT3w-+ dzN.9j)\2RN$ZĀa 峦ʇ%#om b]Ȯ_U/70wOZ9sgBWY̳S[]C-}4JrftfH"ogMVt_X|)f7A$]k21:uY&֖)k_㭰:p5 1a+CJ J^WAl,A)ԿuTq zjlS .{6PwvK>Ao (J,/5]"73Y %MlWqq|wiŐgA͏}{իrY%ݓ G/ e@C~FxFq!U=MV*/y+X^Ixw䥸qR ]E{S?0#~V~6$g(D9Mq٦в+kR='b?]6D鎰 =(G_YsX*aŒOVBuOAn-Z`Y]`3S!e%HFR+3÷ۗXe/Qap^s 2rŗ=ŨJ"%D58ru ӅÇYf=|}lX``Dlnxp3_Pù,OY!S#}LuÒ'ceK嶺lB{ &'T 4n(ɰc|!QDf_ә]JqC\lyaCKwF_ s|[`-| i`1 m 4A%$ȑr_,JY߿º˕eMv Ulj؊/"*JaS6"\tp8pRagHawhzhMV/427'z ;7}rVAYozsI)7(*t*L3Ⓕ 9U0hW_:hJ,9qJ.g!^ؾpΧEs~FA쌧ɔì/MXu9IB`IR#go9<D%G;SYxV +q}%zg?zTUt'nөCf}<CqfcTd6wkDզU6lT9 dZ7HMAc@6=gR7U5!  Iu/na=W!EF%=~Gy9sT+ޟFC/K]%vkuP[\szbX~>TՊߚ*%z5aoܛf)zl2e $`xkl H5_},|44'J@R1 [G6B2~\r_Pc9o;* $k-{%5zlyX SGGB+ۖDv6C9"s/ A*zg /xT-ޟ2ܷ1ẘ>0iI f ތVP--RުEU 5ʜ䦶k,'I u=VI5r+2t Mu:%b B7HEl_tI%#žϲXk;Ä樼EN7܀TB|s*j`e/цA]/=O)/A,ǚn*Iniً8%w _ `AG~B)`#&s䖖c^Ę}Ie,E=z-KC|ZQ➻\WfC Y9c8;bޠOw~}PuN\ikK3o)='x]hsOwuҠNhhLk[Znt7F}K|R+מ;֜m vs"6q 'TSF(tTM1Tɠ. n&Wˆp-~Ҩ{Te׭>[X >9-޶(v6/E@b: R-Z',[Y}/՛,P叩 "'^-[F~F$ ##p"B_% &>!5s^~k%tk5~0}Opg6 *%PMbTk' ($dv}ǬBrGz1Ըib6q'evUYZ~0XD"8 VS3T$Uo-hN3VDqdН[ ]:ÐEـzTY*^f(O뽢gĦaZTvH$jpsrЫp<: @9,0cii,I݊$s]*>L *o'bAV;^K?9>>X/s]CJrh3šሜ4;, 9(! 9xઇ|k R|B>.JޚƮ&S5gt}oCzqj^@{_ndN- Z h"K&XV-?=hezGhI}Gq~wJ@"{;ﻕE8Z]Oe5S?rg֤\wRw#BQ@ȡ:Ӯߝ 1 + DkPdђ8z̅:kAbMjpa_XhʄT6yJF_g'p Fwtz%,Wo+ux$f$` b" 9<ޔ`A6ù[j{;\YI^9 ^A,VZ?QwҽU}>_ac)CK3Lԁp\CL<$;K)J1uXaLxǾ_°~kTƽl>2=xs sq:5G0dj5QYM-i$UjQP^eo<ʖԼ1wa< 06ȉRW\dCNehEUhl(i:9$+7"%jnlc:EAx;zB6E4l]յpP!^ ,5Uo7B72.tjEJD]%Â6?58f>L/'Nf`ܿ :ѽa&a>Ȋ1Tc) 뱇 G|o%([@^-}[~gv:9R'|r?/wə`,H{nGuY[%eC(>O>܏|ud";IƖ+P<<o_Qx K{@a(">4"5nlrݤ~מY)׀Un9dUq@u'EbH@ De@^3Νdmr1..Of&) U[^KkЯȻQNoԟt"'QNiS1| Ŀa\Ǎt7b]-&?6o6\#D 2k^zm6%2dꊧ!t93ThVd(J`CThQCfjLk% #ʲٓ2C'[M9{V^Z稜T4dӣ3-!\t*\rL}@J*{<$",OgkP3'9=B(D;uif5"j9/`3(>a}彂b֩jJs{Կo IqM]WA }asl@!vnRi6b$Qʤ4iPP푺H<$:mӕȹ&"-5 tS+g}adEq|OVxb~9 ZjW7xؕR1?%,>`-+4n1[<9#O_PEYsUfO>Pǣv<EtmK76[_8yAz)=) %(Kގ(ia,**Ӑ7&J]tSu=<ΓGq{QnHR4ڢ#2+H)ima6Gמ*wܹ::=%ՂzxTAOɆ0ɿ|d\Qi"r. -.m>^7IO@?b0b VE3r@*F:M@ec vCnM95hX GQ& X`e));jhwpA}PLEYrVbFХlRX!\*+6Q x#}+4lu_ i$pH" $ԡv!trI/4<*X$,N>@ @23O/ϣ&h- )Qspo5}û 'Qd1jLj/I!P[V}˿ 3۷3 J3V[FnEi|Fu3c.>ı^4)*M qwf<&A7߀Xz u3¢'D5jqwx@ l"Y3٤|P`>:0N9Ά'`yR$ "A9w.CFlSI ȥ0x4یӬYD|QCKt(-4@uܣwM]s9X==>|rUX&>sRRjJ"IQ7xbd(6N4{F'䪖HSu'`]Tԗ].,_26H:#&117øJgyP O?Iݶ'l/ U/{I71uR,|OVZƽUjEYؤ]վt(1kT+a?rfζnc?U^NO9sUwU9BJJg 4-gٰxlY[ Y_98ȋ桹Kdaͭ ++ |$v֌wcyTaZ∯>? 򩲿;?zxHmsR!Qoa4SeDKIWƱ5Ao.`<0)eNl~?᧽U6HH r['JKѽ=4l- ¾!V} \ۂɵJ?&ۇ ymݢaȊg ]ahB嗂&`kN_ˋeI5@>lg!sh2XvK/*6QAd2# &O-EfI]J9mn~}C/``9 GQ 󏥕 dm)CR+@+]la֑œ9;So]/T.(`D|Պ HLh`wIW3cǡz\լU4D=F9 3WW|켠tD͔?[K5TE8\P/aϛ$= Y8 #,#Cjc;DNP{Oߥ,$m\6Eiǀ'578}Sg l ^ l1Y(_U=۟,'jkAk2݅[G }ƻ!6T$B Y˼ǡghW<ھnd5l)שvA6~c#|ocf2gR[!-߀dii?e0KZ8r-gQX˓=BT!'* N#l4$:* K{bC*:o&g?zj %eoޞ okRM ^Hf"hiFQ5¸aI]Rd`,fpp8q+|c !K*Cު+h~E 0~qYm&XuOtO/l{5bj@7i^Tt"jj{$8m,5O Ա 璱>eS{+Px9P[2 *ٷ(QdT]<v]@ C,\)@/@+ X} -OP*Nqa$o%]ZgO]G<‰0dJA#IS= rkjZcJ.X{WG;.KH }ͨ_^T\A'J hwۿ"דz>Rwn2Y6vRE<@ կhh[50haߥ;MҨ/WMb@Y̝TA@&QԧT,:| O_-ͅ~ 6n7T]B?s bfYO0068Fe( c?oG֗-EN5beHxB ̰93斢J C %6`EC I_уkS3w^-f&z턀N٢B6WHR큮"V*.[j B }d9w_ԝS?"M}Ȭy fp2D䘹;qjkɈ3 ']Gdi[em'(P9?ggE4X =>ˎ+V!yZhO11R?7'hk>=ìU|NcآFG~=gpKl?[B,uWETZ҅„AWΞ>m0d0=]o]Μ1_eӴ׍"G U fz:z5\-K ;XO!+!R1~E}J1"9"_F(^(,8 +h:./Z4в5NE)AB JQMPfd+1r WHtaPioj~CfQ~/}FK_uzt׼LQb7hLmʛhkH980mͭ53WrGй&[GQ盈]E]wLYfݿ)F=μ|a 24ƚ WGXS@R<>L(bP>S˙T#-X1 e\-D 1*HaŊN¼"g8 :r~({ ͑]uS |2(Su1 U2 |_CIDs`;f:͠RtkUE$(wΠ37`IU}T['ZG~wX  2]sLq| geܓIlAR1pu5en zb ar郋!!vy /}L,UlӣK`UsiUHOI>.+Ro^ *SXLkttrtBj=J8Yy>_- =Fe2b \@cϺAQ o)A+܆?[ Nb]#>:\y4^ݝFVQb.&7qVW}0|:П {Ǜxޝk1qΆe",bwTH[RZ\־s_*s!j)5`6DZ@޵#f'JɅYYby-:W'(m0mpCS'ՔͧU+6XB*B8DnoJSns؍.Dp>/ 7 7ZRbf^]A.n+%\P/4hÏ*Ǹg5fO+7+Bׄ-Df+PC4O2tz~lĭQ~s>2Yv)߱} G^#o~\0LslBG՘fau)\m:8pZ^B̔`,i؇P u?`z{Ȇ&SuI{5h}Ej4FjD +h;`^Kgg&j#($,{Ҽy" TrX[E]@ӫK0> McpFc#X-M.L)Z~dV]G*`#:RJRܿKUXѺ9Ac*lf$/sr~|S8<8zwӃZخ@ }x?A-n3%{@ >3x^X\aRx]ee0M`N2o6?- ȱ^2K8hbFHJO\z2܈`v4lB_*8 R W>a N#ɋW6Zn)p )5OYՆ*V!klD1@gDja5WM4h6.P| n't:*1׹I6P&&S7p۝Rhh;34n!Yw>~“y1TP6| \u!^*P4|GPҕVV Q 0͹q_\J١l1\b(u#SPUԂ'|e{Hӧ#Id)?E(y>)|+C ?B^\pDAR)y ~p.5#֍'Ma&%m𴾬 >GG:T[ل3]@!aYU.ИML3ʎ>SEK|h^(FqLEzuo챎{%wI mFA0@ŵ"(&Aid얛 b@-72Xڀ1L2cv8Gyi/3$ $ Z0(8&8 pCW :_lHst(|gDh)u Lأ9K|`mwȬ @0e^- \w#o!Ay ~Uy 1 IGHI@j뜩_(á#Og]k˭6OTএ5@oԂeCqQ[+ؓmb,.dߛ kWC[uAΞΨ|B5w/` =hgV6p/0p@(>0ʷܢA3.]aD %:I*p|#t<s/ J0f`a݌r0J&%eSNFe GE/bEX}~vJl)z$hL}p6B Pa#"4f%MS8XD3<шpd2A'*7-<'Iĭnz1חa[#1kȰ6$ kxZ3QMaZٌdKid#2Q&,#bZI$MpNz>Ūy}k%MyΣv,7.Hil-56k:;* =6΋@Z&O2Gtsk52HjWeRSKȗ eٙWC#c ER^테R>AEQ4Q|#&^iթpݹښ Jm0᭠`aٜ.ptmq{lߤr I2W r2W,3ĦFR4J5DV%R0PZ'Qh ]Ȍb;Ő>).VFK*p WfG vzalX.Ql]R[Ne2׀>켙KjM\^%q*"*j fQF*RU%wV,HAO>fRˣR4ma;h1NX7 ALh(}KJz:<; gI/_0;crn?Ao6?++}7>n~ZX*P*S<^AA1Ό\Ld h6^if|a#jvX1zSWgҦ#ίN={CoG?晶>q n_]||qrPNH&Lt+vH俟\]?2\+.ubv#9 GČlQ:[U=FϝqԜ^ϊ$aцuExp#ëRfM0&S7Lrwl.&I{MizGB^yaD@#Qa-ɱpi)"Q٠$.lna"G [GюAqdzѿ !>W")#nfghsEHM_@;qdd`Mx m|^*"vgE,`S\w/U5~r{ɯi%~YYj:G|Wyx>M`:FZًe T?AݟfpjO“\'3ƈ`4ay*il1/ 1G<)*'IXmV T 9@`vΘpgClML\WBz#"/K\TmA Cs|p=e?D|‚e?zZ (k:p{ Qb53Z>{%!y{ߙ#J,atte o랿4 2oŠhe/ 놜mQhaz4,sKkn,Bi2`+2$*M=1aQO C7gQg VV!,ͩ'_-j1VN=Y@&Fzf~~D+nKu'¡v{Wl0*U]BUszį7+vj~nV?Ū0+RQ:7sqYՐ[+Z W'z2#uvB.X=hxdV4 w]!UAQ+ {(Ї]zje)FyHs7 k0_Q0?eykʾ׽xnR fujA@esÓū!_p-/}~(C{ *9Xk*h gѐ~hwƅרnC2ݐ4GG_ɾi4,[m8vq qƻgB}p57F6DڼWJwKt3Q9 M?Dﴡ;Zzgk|`_zܨ[0e,FZ$o# H9md5bP1(x3(ҷeP8iK70IvpYA؟wF<٭dԵQ*1MՌ6س?H|cO3*1p,$*@lC/@d*[D5žZW.L(U-:YpcĀ$!ݣŤtkhC9wDZ,<`?3.4PXvNgO%RsT0|!\A`oO0fĄpvT,2PNnӀdx x@;EZ7 e; ff_Dֽ=&RjRt_l7kVaZu\6 ;*A>ZӐnw f>&fh7( 7Ѵ} N# r&v6h 㠂}  0BS0AHUAR6%$҆RI4DJvmF] knM +&IZELkWU?mu<[F0Kvsz9 a$XfԢpx+-4EuF, 2{d'9 q_@@s?b(Eb3a0`ɢi!56= OAh놰dSbMRu;լB%B9@=MFOG~DKhXv*%e TX^}a0J -U?TiaW1Ez%$62v'SF\ (E rיfIBOpOʊh·}7+*+@Q0rtw+t ī(.UuRQNR'튋PFt~-튇"z?y5!с/N wL(죻KWUѲz 'Dݢ8SB(s et-qM6+dPfR_;mqr@ـ2|6;l.jBnw{Uhؔo{º=\&9Ƣ-w\/7%-k3bSzٞ=&1IkۜZc-<ȝlSn#v KcQ2.w8GA%uV$Kvl6(\MĩU~^=):p(|IG\kNXDKuKIZC-,ZEkx=*\B&J֚ G׃t#0إPFS44kzlRl;vE)Xj^Bz[/6#شC^G°=x䍢t ";4CzZ~A9*`=qQY[U:M㲂lX'x~ܫѕ^OwR,G]VG^ջ=!^eIsӾ3AMwZe^uv6b{P:?Ԣ;P54[~1.)}XF2(y`HҠϨ!^ ln^ê3 ϝK_L>iw&oj~~W w,DU9A.d6غ),Au(mOO{]y&w>xGx.ivFTYOk窬"dc5{lZ`zx6)5uWdopvz~wAJdNhvBai&F7mݍB eZ|t zn׃ׯ=Ua>0٪0xUXJCX k{fc+VmcU-B[3nX-8N<Nm,[՛l8 N-Ko9\ T֠}>JxM!lp/~q`ODUu`>ߴkk{)P[Vi}{= Qq z #!z ?#fOC rn%iHﲍAXLvb6Yn_/.+Aaq2A7;+f2ovaS/=<<+PH~.(CN9(O!%̢ʶ~ANύrqAc{M]?{^V4Y?(U6*V zawT 2w&p,7AͣSju(FkϮm\%u"i.T_"]E1,+N2jƔ_~â*8DƁBW7|uwYy~~1ᘺAlT=Ztp?< Z ՓJ'cnbΞv|63sX|8@(3E` qacq 3o=r $:a[xC.ePo,NG:.nqfp {sbvd Ю/VV2abcIz ^X,vhz]Jt߇~V"{`8̡9w&Z 5[]lA ~uH p+"iVdP^X|rIYܷP  "»u',czGՎ$Zro& 6prf |}ֶ+h}scfnl^r+g qq-%FʏۘpyUO줝if6)ɱª]|<8iO_'qOqЭ-ꞡ?ߊ_@͈0{x'+p7a),&Oo|y`a'E$Fe~paٻ)CRTvh3SjBvcϣ We*2^V:$zZkk0ٶv~Lp[yE@0V|Na~4YFVi2 iqBayMaO[67I9Amf5kڸ0l!Er`2M[ Zo_Hc=#ՇAO/ L6 JVOU `V>e/GlL#5GAA 9_R:@[A4<q(~tKUگ HQP"C]@dAHwJC040zjucqц!; {^OkۗE`T*4ךeBp0y=4ݼDɱ"^"2׾7M 0*uw˽z6b'{b=BaE;[=>Xl̋&1 Ͻ0ܗxt\BxG&b2_ķfɠaKSChjcaKRChצ4 .>W=A}F )=6BaP%z9~gZ*G&;0Z_AM fjd}Hüj(sP[S٪Jb+eEPn:[akƇb)OT!jo&'"V 5\{."GH+zqEp't659Io%57*2LZ,oA`郁$1 Yy˙do[Ch @a$%Ku)640U'>d**LW`jް71=W)'elهW6l׭%5|'q'w=T֎fr;2|E\z=-RÔ6ܽw;q?Xn{kj-S(5UH?}P5j.;+WOQNdY&N.r^m!bdjä1H`DVvü rxYj K״Gnv~ )M4w/[zGK&Qb>W ]I--{르UAME5>sPWqΏgeD%4@JAt33_Su28;xilTL6Ԩdbg>LW l*sN4\'wa\"0p"L䇶^,?ϴ r);Z0EϪ]}h*6 ]'5n|ƹRa*4;?6r.E/w?XF,GA𸹝)> $S]6ȊU0cM:t0|C;0qd鲮ㇿwKEs-sبq ~Q qPYZޙR$b},-L)z^6S#f2d8pS #EiR$!Tu|,^fXg& kJ6g,l?U'$UQAV5Yy&+mkݳ0ƗM@f>@N"+f(3*5 aʻlFtc-<`Fh T_"S{A:~YjD4nvqG]Mf4 38C+3b)cei6=*ͣ孷`ܴGfou؀Tlsy;s];lKjkq}_OX#Y5zޞ=w]Fa6\.av'ғb| Z#Z2a!V)N4 ;6l،t!ٌX +ڑ'V3>1nL9TDIo<8-ŔYAw NflJ;HO50"XN,d5%+TdcDy8Ux+>gJ'2$hH^E9P<Lf~,# \{R~pklK ս:lB*rI y <"$4UU)Bor3p.x:T4Pk1& 胷NL< /#&-LD郘oV& Cۃ4ek! nxRhJ( 9d[o{̦A#lrGoEҷlLڅS\,mҌlkxզ#[[eV)ŵ?9gkyK5mѡXnu7yD'8 OaDgFcwy0FN,Z/é)W˽Ȣh/Z#uc%,%sw]̯BPv'6~)fT *CSkg>LxJӜ |N—ރT]8isi!xXk)GR>?GzْmNu̡:Y ,V 8~-P2[2Ug,NӵӠ|ؔy'a>c[}&RCq)߄Y%օ^Jd9D)(ѐK{G.%Z7!Ad|~ql|yuzquzZ$ƨQ5'٬&QVzK˕~k7j_7Dޥ UoW3yCaFnk#+ pKk=cIO,URGDGh&CPS~_Ri_ cZG #\m#S)Q_G3)0M[ y֒|.9N>q7Y#M#yJ7 H%1?ֆUH:Ĥ5\֗a!BKHOz1. x8{_!NS5sQF,'s =^~,Sl*Zڈ(}ΌrS iZgu&&Z*eoUZx|l5V+`Z])-j(L֋Ε'u<"i}(ƫz\%A"a֢Z׏lj_bl˯CCPh\3H )XnF)GOT޶P(ݜ^k Jkr?\8R`,n]PRH7IaS0WOA߲GC?&\ hR9LSO\Z_jTM'`Oh< 0ʗgl^PLu}:iUjSNU~X~$ȁ$߭oM~]Ǫu+67HnDƝMj_G]6 7aV:Μu <-Iޕ 9 b6lĢcBTD TprhIӹɅ oHjC79v _F0j<`ߥ}\-vK9f׌OIKƺBeYY9A}I%IPz_ڭ׻jW ?>mʂ Uz8ȳ}Ÿhz+񌭔sb+e41P,.^e{9!Py愇ʇܞmJeᛛKq8$ ' U kPg ݿ~l5/trך3tI!;0kx(ʚZOo’A- 훦aN@>;~[{0qLkʵE%5u}M"|8j-b_6!>^oW*d77XuI0(;!)?w&\ŖivDuy$Brk-# !q_6y1b ;,Ǵ5*XsmX DZ2r=څ (G 4~Zy^ONpCoy#g#y[بM:k+"fxmha%E6BLJ@B `-&NF$ 4 |uO'> d~0΢M r 271c΍r&#x@ dP;^;ZH #$\ܞIBoO۵;g!b^CrK\k0jg ^I!4bM!aɺ>|=>.$@j Ʊo~<9ۆq]]$.OF>A'xxfbt.wO2 &qQۍ qÑV2|%45{ׁ?_D[*KX*2Ƥǖ cYa'JͥUW`y*L2/5I  g -Wvv%U`Ҿ\mC$f?.Cظᾮ7LQs5}CZ^%ذKdKT`) 'c4ٮMTMQf@ 5H;$E<װtZK1ecV{Htk v)bVZ0@뮃k}̿Zք˿l[E?ÃZ|0tmTˋKN.71ȓa`s:<>9n-ŋ )]#V/G{ W@vZFNJXLV H')kr/_T1t|,ut]'2|"y}KXT5W4ظ.W6O"/툘Q0KLF+|&I ~eAG2-Lb{N1r˘oФfRZE*ҷl[J-`tu..2%|[~0kc|8 o`/_悅I&2+Ǧ00!?f[ O4R2[LZ7>/XƽI%=*Y!?+CsT0ӪټŁ|,E o|I $'2  l<1\h=Yp[]"SJ㫏3LJ*I_ _kR8.Iv)TjR{ezWrYqd,]6;rǦ${1\^01Po^l(KpdV/a0ls3Xr+َ%,<PZ:x%Ͽm2cW eO>Z~p7{ZQm+LiE9W4[S4F5TVC2Ѷ`SLnMYܧ*Q/%& zMr.PX n:Ͽ7;;LX^pkPxg'*xh!zh!̣W涻$/"̢YM]Ui^|2b'ADհ+䭅G,LpL3MP&?o.,2%B) =&N<ӳo l55k4W<`G<1 W`Gx-IC|C,jWÚv:]>*!+յp,DP*e2lʩb!v-S3Ǹ="O,u4,IO0,uVjC%Mb~$ϯǧZ > f/_l&*uKti?27޳Zw`d^L hY~wMM/ryԦ lǠ@ONOq#j `Z/{",4M9~$'wFa J#M:%yp3D4$WfPt6뵋 nIpΧ`ç%nq D|em+U ȥ _AIan?'4 %8T7a9[P와H2ͦ4U61lߚ :#k}e:6gTʞHhM5uJJ+zI[f{ ehwӐ%aC{:'4x)'9+Xȿ.hh j^=YTdP ; yx5t&d 3bs}|Ӈ/6#ncG͸3ºu>ӌ=#nq{Ǡ[#j'X7U4K`莉_1C¾aGIĮYpEiqν#Zq>FԎ+:*|&XBvMt5e;fS%V /A1~txgCjlp'} ``| ־ W l_rd JX,4x]+ KQѥnq3nLPYEͣA-s6]$|J兟 1]R @AL!`F"]e{7譌}5HGGJI:.7 JTo6їHA]h-i-tFxHd diUz~0a<\;;z={뙎zEӾs"&ӺǬf>?ғhkLfѭbTeDM34XȢE`Pŷ&#aL &v&0[b,<^$8NƓ XkҔ^G)eblXQ"Ma{wWx+#zz`Rǒ<5PjÏu\c`oS2w [W6ɴlGq 5ީ7Sd.`nMb,[M6\q<8n]V0_&&9rFv@iOfn7AĶ7C=d`ս[氖X]Aa^걮TC$/*b?CM-ϋ=g4En6(ɐ㓟?YT)ȓ0%uaeSSP \_|usF/-}W+ E=h BPUt]/͢4f̾3ӆsi(p>~4Of쐏7r(1W=\jY8}H dPb]Uh)M;ejJ-(\5] 8JgBLn ;l7@q1@qMv&=`w}[[G |—פj n B4jc_-_dHʫ3&7f㞜 t5ɨWtUykԘ'98-Sɧ.p~eJ$ :ӹF]Q7:0k4L{<â+h|ϝI#ݼT`Ur yD)ON3z㮺Fu8t? NJh ۤ;0)OT*=.,*<j|܋ nld.8;4Lߜԑ)v@U%ë[hw `x~1]GH2N18I"5ڕҵ)aj~,m1[ $x'R@0 l@5,7O,C 2CK"~ߜ]#V6ΑP[<}e3$Fðv2IS)PpE8ډL^O/)FJ,sGpʷ&vm)qYvλfla1ԔPHPF6Ba2`WN1_Ւ>qr+NWxKK kN(sN Og_k#PzM`l)V(P x rQ}G s GmCp/?KUn3Mxuď^џO>] *ږߴӉ1d_)2.P+}lh0b"O+jO~yW%jG.fLY0^8٫a^B:O=:+ڣ բ&V$TECdJeiρ?âo6}?))A] n.AŻ ]FeI^~ '[uςTّ'*tP pҎF #~Oȓ"mD=W;g."](_Yӻ]+,Z/iDxY!ܑmc3")^4Iج) N^vܭf3J[]b  g߷ĉT (t q]&d֜58br{ov&=Gބeo7'!)o,ʓVԮq ;^HE%ݑl7rMKḷ\nnǍB"~# Y6Gtf=jwo+(ˆT_[UG}kE0Zro_OteK'k7m˲ydaXZrШ֤yۘD/N0O{o"" %Qa "KMƛx zDF53Wk+ƴ0FpxMxa̠ޜnM9 7\o茉<ŝudb>&ToNu$RqGޛϪT7.+8֒z6qOf# ?{t  EB4sF_OۣVo\fl~R'M hcKL٢"-!b[8X+5*ޜ:%ӛ ߎ,YlocQiUIxkCHk|р0>Kw-O :$ f oN.>/>/N/No~^_FLbjIPo]K&JU5FaA6L: ]AVā?+$*B BVLd8u ce}Fu*LP ?$^[)E0{M7M$o'/ <Ͳ|N#j_os &~',"L C&ĪVVDHb\kh|lȔ4N bx*^6>=@<8afh PA&`iqY3@zJl^7[w/" L-[O !3WzDqD=T]]~rWkn-/p딺GpHzǥcv&Q-BpU%^o..ǧ?X4oo,pۋdz {V0>WUˋO'6"r޽#Y }o> CO0C=XM'{=>BJsZRmɗ s:hg7μ Ho/Y9tw!ͣ"oa_N}fZ 6Eq-3I%]Zi:ğ2#~"aVC|O#KD$*49 $;q2KWD*<7|Z"ۨNe6%$cMѿOouN{SR[,w{ǖKN'9uES4E*<ΏX@Hz< &B|7 wى3"H4G# $xxxzǥw?*(sai[p*g[b)|tq !Nh=bu@ˌC.)wIֶ6E !X[şmXfm6 7H{&P$y0]7)cEa𕷥Ӥ ytˁY;(><ĩwUҮ /=6tNl;8;~5Dܺ S+b9Ma>4{^.IlJ <;K H@fALArK񉺚gA}xZwpcuAȡB_~.,֛`}7GU|EܤL7EMr=7]3)Gv;]ʎRVw)ۻKJݥl.wqWdߩ¡{E%RP~P뙇}ȵ׫Ԝ)Qy) %aVL٬,mv`VE1j.#}Xi&kq-lj ;/N5*|x-fk?D3)y<!{EV6 -(.PL*r>˷JZ]])+Om_;^p@$4 ꥆz9\-%aBl5mJ?) b7ۇҦpi0adl~J1 YNiNY\˧'տĘ֚vu} *Yъ;+ԧFs=i-ԣTjuMfY(Yiz5W?#A4c?+">{ *HO~eh<19^Re1d=yE} n.BÒ4d4r/1p bWY0u anjPlN;D?ox"4X614YB]2=AW#ӻ={y kIq9IР'PUX.:@D5Ɏi0?k>?j4#&y o0 +}t&i ^b5u쩠; $&ly"!ClokSm5^T]6KBHS5asiT|O&,f0L|Fu XQ&0V$UČXR} IQ4?>۹0e6cgP=ayh $kcr L;]$g eۋ˳`Z7Tjv-+׌Kq./(#%u- [X&lgxhɗ~;v(Ë|й^D!eYJ^W^]F|ai bK #o~stf ߅ 9B${j5 %v{W4+Ϻ +*+#m9V+c/4J^c6U4"@sCޜ0bӭm탥tJq%MLw1:?ipC`{AY״޽c)q-msޏ݅&|;d]{Y;pxxc-vz;IwՆ9~`#W9~ӀglݤwkXs TLWmZݚiV#&w^pSwA%` `m}kO $LJoǒ L y֧~I6yOW-$Yq֎=&N}xP̉7\sݗ;ĵt൴GΞfg ȏŸ= :42?O6?Nx޽7pɐJ٪Pz3Vسac]#Bس>wӂC=y~t D+2 YDj"pYq0> gӆ?W1,~8:uA-̎uicj:6H'Qߩ*YaW!=9~>p*eG ugDQ}ú_q3SA_4ۅ!{ <Rk#G|4F#J3뤄]# ܇CٕQXD#c &Ƞ _Wcp,tK^IVvA|hvTEMg7ssw+wf^>ޏAC]|.}Kf J&_B9AQSDuQilWЍ)`(s4x(6.+?6lo/~G]{'WOx97-M<]Q".zb9\r77vqݿd_r/M);0H?_HH5-V wGno/Ύm2jh1]d;w(lfo{VF#^Mk} aV"RE-X>,r&,v=IS7|0e!?<PE\,e('= $!rZADA ~<&(YHĎkZk%y}gQ]cf\_P琤݃q0i >UypO4OICiPԧ@!49m"͒OT[ )` ɠk RO )fIjijjh!WO4h'ε1cl񚅅'~җXOEӐUK|v*'Sl[# h^XAM=eJE |y]D:5j;O(.WK"QyۺGT Vqvߓ/ICs0SS e}'lg/ GLfxG Ĕdr \ ^AXJ̐cڲtk)uD!51ΪT]Brs˜+l\tzT9LgI)A_zc4in> o >2A4`'oN/' +PʫF\ͱ0_-6_WgZ+2Ҵ XyUCϋc}`↔CɤUFHx/B8l.P{$nC@M;M Oưg"W)K5 .Lֈp2߅w\|#xhE?;m0Mh)]D Ls(^<'պ fcJY2 \j6]8Ž|?Y93P;>Dwd`VTB#VRk9r4綘VHȣ!ϣ7#UV| NWJڷ&u-܌TNK&ٷ1R9 l,6n=hls:|Ѹ>p z [Q\tim*pz;Ҙ.)3$E+:EG+7bl)@ôu+'LfjY7מGm QmԺ3Iu[ؽaPU(MbaLWL^&}4& #<(i9b7IeTHPhG1pjv2`?4ٓr,; ʺN̜9Ѷn 0=yH25ϿFEpd6Iz󺲱$<7;Csm(:GOK)/ 7ĸ}Y{n,iنSѿy߮E>O`o(2"YHNv2/xn{&=KR։<{ ҇)T&a@)`mΜv~fA[q1hhx Q-Kf,WKRzBAtfv 8ů73 ZCחrYA PNcZJqPAVgg2#p}RAw3.+*S1\(|-pvr~9iIĿ_]\[+d͋(n=2S U9BtCQ^ j (2vX$eoF*ۦ,JL!udl1Jab?AF =mQp4G/2}5u\..ӋKk%bZxtJWbp$*LReIͩmG.9(1@ט]]iT>F fFaXLnyUq1T\Dum.,eڝ`am1# x 3R kaځzTǚlI;LRDQp7Q.j$,w+A%"RU5K"b̌t R%+Ke2<Ӕ z1S@U-^-dI@oXϞ_t [5$1ԆkJ72SWV&8Qx T΋"ɓ , ͐@ciCu;")()^Ǥ@8x)٢E=jz8)ve0 jm(tV;_Qė?>2)qѢ$Xm>sѨ-`k;@ K!O%58""Î$L:=l#hL9/Y>1>lƼF7 b^3wY][]gȌwZ޸Ԩ+l$Z9a*S:m8,6}B)nIR K(|]dal ܗ̿.,΂WQ7s&G+ A+N wFF'K[, uuO04i`G- , ]/QDG7ζabq|x0Ѡ"rD ?bi\wt|vrXR>I'TAa6udlgUkFt(+Hst07̱.)e?#uuƇ66;DDstG^VJHA4J;TvN= bGCzYopX Y[ntcr)f8&*}43gjҠeǹg< x$ً~JQ{C=CO)dZћ}_:.s5  5 1@xz J->5Sneu($R h%E AА_*g>/nW2hؐz([$ʣU-pP:<<%XBg 0K!XZH(e:1g.߾ {=Gf6|0Xj-7z-A´n\*kn;c3 r ^ e4i_,Cs<*_M$"U]VWyS9nÍ[><G9u1c?7;joUoV6ȏm魘m㷏ah(lgʑ;dq1}(l7np,,<]Q@ךp|[?iy eޔ2v/ςjX"pLgW:( G\~e8/:" G\oVF9i8ffbr&KB6)*T|K=6L䙚(64<2%Y!sn]SK-grr>+͍)DxU\yҽȏna&2Ć7h7[=5E#C #]n6(/^d|ޑA '"_ @_}H@Eʼnu!8g-(aCR6"D>|`{js<'0b,mr\xڹ9?Yn(/tB5<DK;:8g EQ$ 6dzeZɠd{~i 냞elӒpMځ\wx4\ NWJkTmL>h;X)񮇢C 񃬴 q\XkiaxrY-/:$OkpoVz̯o{g:f$<\,f͑'nitclcc3&@%Ckvڍ9^75M|Ń]vqCywDx  yjYvAmf=e*F4^0sNf?lt}MtE!GTq` ') K#BVJj=NA:<%q%\,Ngw%** LuS2>fr0@KnWO.vzXKU1̙[[/qfBۤ/J_P+3χ8}|yM~lPޞ;CZ 'Ӥiy-7 TeВ(ZX m`vxb(:] Oa,u&؄E!͌VT7HG8:g(tN*.x ŀOȿ' 4N ?_|eG˂^K*b&Wv^\w)yi:T2]z8Y}FȢ2 ԓϥH$5ɡu38znZk@ ECX6ч>2OqlvL_zIogt`<]mۏ[lԁn!JY!z+ [1V 0G<^뷱}G./%*h_IeX=E%ZI0#M{ݕ(BC?WW〈-òI&,^T2ÃD{y!alOAn (Ni` ] w{eSjIPdU.費vldЙuh/&y]-A8`]O| k~R&*,$[qwH;TpQ&RźWBzm(M*PU|Wey5< 7f~\.r!返n^_ R/)n9: oM8l&`c9,fu#k҈q5>S(NGk>vVV唯bYn.TD{1<=N'EY_ И}5pL`lK__Dvo77ⷋjޱsf.V G=\lk}?Y2dRfy޽k?xtZ.آ Lեorq@u7mox(0TM..^F?1J Sf7/7qTo`"Fȧ{`c8!D(;P>&u6t۰~)xrM<1un1 q=_? [0vB-K}B/N UN+2_m=H=,ʇ0Qi7ɩ5S@}Ӆ2޹P@/>~$"iӎ>AK:CiԨ`1q惁ѨN}s6 #9UNk$z*G`R :!ǺUI*IE7hN4*Z1 0K*1l>Wgb4ѸiٗW3ú3f*'[Ӕ^byzO(ټ^'6Cy\DW7p9 -M庰$ҿ:H-뫺@1NO<#)xth" "C2 (-!,ނ(#= 0} _H <顛9K KRj{uL 8%w8U;:Ĺ._x;Vx=E'x߉xy=u}; s]?vb]N;Y/:?iyUۉW;No߉ɷnPoodWwcC'Σw;]Y3_C"W:ٸ^?xbK*rX?'dR&N!%ab;VkV6VOK?+z]Js=`kWTdʴ}9( MaObQi@/` 44j'O*d$mI079}Ra"Jۤ[߿ U`WP/a]09 R/7% ,C]^ee/&K dOHwQ*ȱiGiQէy" XPRLLc0 I &FZ6焝hD&C8 +ff7)|!z i nvmH $BN\b<8sR|x:'>xe ;-c|đԷTC+i\h t,0i˸zʋq¥Zi%mN;Jɷ$F9>yCt%ے"X] aFLvdsgVQ_qu4;=P>Un-xEլ2%fKs694؇;+_xwrTs$O: dϟ [V$ SkMG)bZ359sw—) H!C^O_#5N?ƅRd$+S䴃7t[/nN-A '́n U']clz_Ie7.x؇Fvu,RsDA,0Xa'vYb2^pO5TbW~Aq)ɦ-V vcr<7Yi}xR%ɬ6}Pk3Na$m~R˘avnkJpj1,E=i ]&rSFΣQEQFC2߹n4+іT,Egw~|_se`Y+ѬrWVBpDv 8({$]9=Ujsˣ*T,vxa{K&)j;őLt||@Bnڎ?{qH\!aLO.+7y̡{vrWAd`eCHR l2cz%nVFʶSb& 0NM=LL\rPOӀ}Y$<חk7D%Pq KE=YtBҷSS[}m\sME\ J>Ϣ d5{uؘ)sޫ,|U]Ħ 3cX&2yMt< iIGxR&dЉL>@[Ȁ|Pp>;vYƒ;s;XmNm]]tG*0ύf5BŸF9>AT†`dJ{dȎO4ʜs4T&|,ռ$#qkJ/5E1˛v:wnsZz{M@v/鼉es( -N$k0Hx,pcQl# TTmO3 "]?'SwJ"4z:sȲ zj13k]+NWz ƱxqN`6H|븲|_<{\_maQ/l#;\6)@U%HKj'} ?|sJ2oEMMα=ˈ;+;5 k6.]{|"3N4v_bK?7}p } ܌*[3I|"(tApHa1>%ޚEP1C4OZEVYÊk;N.sIC^!/4DGy_mEyY5@ >ͯ0p[ 11]b7: 2G\!-#ol-; Vt痖AĻn_ dAR*o<:ֵAHl&Ǎ\f B^VO?k*j3bË|y",42%2:ޗ>VqQԙ0QyyR2DW*LAB >WH{9|x ]%?} ˲9Mh݁Mw@+*7|r)Jaڡy,&EYgOEfC%=yJsVQGo-=p \ 8V&2ɢM.0UVT@Zc>M5GVT>?pT&r D adwh"x?MdpWz?ө1O<뜝r8 tǦ@a'+.F td*;$t8c.\Z&70+b1>&w#z(;ESՈBE̮87Mh+zI$l'&aG[pFl⡆Ů{8X*A"?@$031#ِiJ6@)Gs  yo=j֋%9X|{XN6F(Nw-`>[>NZ[?Vjf}s -4G(&/ݨs~]M`ۉȪdWu1D} hMx/ۍ (2]b] [l q"0 Gsbn.N Զ4- nEJ%@ 5M7 MW46I(Alcs|S?븅 Y:T2Jͩp`SCҚX 2 Y = QE >yHVdO7\]G!9"Kꁀ&PRFo%9˜&1aöݗ?e~s=Oe?6[ÊYaZ$>ݠԙ6U͂Z!iʈULIn͂P"7u3%%[$5|h W]Wz?imtPD kPS9NV +G\EN8zӟqXXo~T _ 0`lnCq%lUNI3۱yx@,pq5`Żw1BQ/U>EMvv]{nW|Xb";={dJr `ړ+tErAfWnl ǩ<Պuh8;W)^Kj/İ'-{AxWb~v^:qhQwC%'j,9ͳAv;b䄶͎뮂"vMFb !@i` "#=R,C$}+װN V;+7umR~4~@h"됹Xq0w`kJ4ew)u,]>m6yIUKʿH5=hs=% Xⶶz g"̫yT+';ޒUbr-re)>́ؽRys(WK^rͩ@vc䫂8w5J+ S:j䷪%;.qx`.PMR46E3ލmXəjD?}">5!E: y_ka|48u4"S*Y$DkPtԮfE+xdeL"rRmd bfh?hî]E;i[jND5`vЍ_HaHϹXV>Yst"2~v90bw4h_ zǨ\J>"nZdC0ER'eA2ndʍftgHl%2FƯYy<=UO:9~o<u2g'׌(VKw\5>kvuOY`l=,VxA۪l 5v4-Գ ,UGgup ۍo'!SOi@vv*"d5\| һ$Cs2rNEB/ L/% ~FPڮXtAg4TdJG3Y.rgty‘Amj?wdqaQ- |ܧyXً ,v(Ø 58/ӑ|v{ 77ju0ffOU1*܌t:y1F *nu3N@pңޢoݞc/M욊,(}HYLv+犹usp:ƺsbjWq(fȇމjX/7k -uJ ],VL>p#{GM~;9~ѕ,=  DdwO9 #&0:;5 gQR?e)-ŠgFۊ :SnpDqE[` cyʙ ~nlX;YRqFۏ RVdMCqN eNyKW}VM;XG, o+y0e^E ޒu-8 #v~}h1PnS2iE7$.'$ AG,DYRJ%nn_CX]/.P]/s)ǑAg[ǩ߷P<ْz4ʅ(Z ~ E&bD_ 5i \&Yl|_ z}'ŬJIqVm~4D2!̄N# tJAAR3> NXpY4K/|"K!l}(Zio(Q]V>[lƴ]Jb!xT?z_?'`T5Uf֐HnK `̮NG_性@EMc+ ٓ&dcJ^Gnqg\Ҁ͊Q7pglq⽺`Z.O޶^Чf (.uC pLrUYaEːs Swur=R>7`(EJ-Y9R̈[)jJ\3[LYBW@TH /K++##K7؞pS2Rab@`iM?pwCtLq6NtJ'B;F2: w3,kȢx3K";s9G(("g,rF%>Lc8ٷtM9q'ʕF><%`~I.-K轗: vL;UkElK|Ɛ`vT0789 tw3u*h0Z4&xQ$IІ{R6&„c2nO;'"Ǵz,>@Xԝ^ZYY{ smU7 uql-Oue7\o hrTGR}t& CŷI~1LDߪpDdӡ}\tP]p;w{P b$ºGhuڴ=9´ o{$EDE!^wE Se[4fi5-ǝԖ#NkQ !vA6P&`C$;,UI&bm?a{*=ATrLvqiHG p,~jجTZyz>uG@{TV fKM~_}{XչjbG+ݶ=8F/^)[&"Є7,fGLp`CW5hwd+ގ}ڸe^Nv<lYWg`}{~~bfvD6o/C./TY(iD`r1EC}YBIC4*]^uDks,f1%y۷Ey0;4=vq?2y :5.kއG#f#GsK hbWw?5 -\1= f ds 00RN HG%(Wd3ۘMeFU 8 .Q 9BȌ,:V;~(?a/eRMR L) Em79X!٤{6;(jۘ@ќp4;#1ߘ\ZE/ vh;iqC=:mVʼ."p!e6_EIq 5.ΰF FoIaӣq͉hz=]&˞H ^haN#(yHmMQ¡黈yv:?'n->Bu'W\HуQ?f58  om9UV# Z`: 1_dze!RN~4}sT~H$Zs9muJ M-_CDax}@ԅy1*"lԑR>sjka"{.q}Ov|^qYHزx6^amGyVa"?I0*rTI%}kz"zuHR|eT|0]*h b{(%B_:mF!eӚ*c4T,OD#b=awE/=hаFvꢒl4Žycve{z$?Kx95Gi(>!B;6i5%e7}sV/C1Yl)|;Tf\:8Vuu+ Ӽtv =w)ޚ$8{3'B_2^&"׫Ř,foAһe!blN&;-َ$~jafKdhX\%8}{\ll|" HC!gŹIic@g덁 1_.WK.gW Hc ׷ GQ3B`^jF Ө1O#6 F0O# |!7)fi6hpZwڜ32+&%2~cw(ɹ:hjc ]\M G<%!F@}RicHPv "`!9ΤBb2P4LL~+Ӳ1.!L8GtZG*1}ЮSSB" 䱍y Ζ{%Vxˠp}:Dg,ZEj i/[39|C3oa!C[ kOH`K,:\8SL'Q6wgt)(@֜AUP>5T3N aw O~nuXE]  8iU͜I#JCk[(9d\uhm2֓N2톣: 5$ī0+}Y)*ŧVzt>bSؕ*͋a˻kX[{,ʌ6X|)uo/V: igë,(iBccg(lQBܓ ,Zx_|13TN茶aTlͿ.@hX#*}te&SY@/Z|XȪ6 I+(SY+EI  b(+Oy+_- ]MFyMJh{K}eG=_1bKKjd/?n:zV贋=:{o[lotRCƒ&*JC4[@<5SYSqƺsKm;bOR|tG#qK3?Iςrda Mp;.ν4sZyczXx3dk8?8O'Ó*xO&I(!Fz 4a,-Dž%:.l h Ny0#2EW,pl(.]]7拺푔a=l Jᓎ_=^tWnmKQ7^(yQdWjj7#A)H\Y]Qŏ*VEH6z@)L29YO~x~q`6|=J;LSi~; 6.-|:wضDO/М.wL$wiEsn}sdzdd}L$=9 GL'᥏ezLc͓Mɟ0|i8:A ad{a3^4kpgA r!j@sl੝2#T/ '6}^ƛϟ>^a͘-]wpJ󿭴ٙ6Z#',X4m,lucHS> :u:߹{~E0U9m8,=[zxOޣdokfI~|hL POJUa]gDhcR6q5Sզ=F'k[mfi aQ13Mw#=oO/*$yo[נOf31dж 0++k^έJ9+AU:`t0!c2h 1Wu[~>5 |I,=WOd !.xeXϴz:-"+Z*LTJ z q7+2t4i(v65U7H1?Ivw. `#Rǚ0x93ϓ%Сlή[D:$bOm&gΰ.)Mc[#ӾY}¬ Ay|"ЅZbdIAP_Dd'5`5 FyAש: C^Y8ْyqk# 4$x:?DaNai݅HV#  %n`),֮AIGGhi7t:N=p] 2 PN桥uvXX~r{MF3Ձ!09<LC<jc7f _ @ח JAWK ѐk5 0pRu#bуUgk O:zPjb"XJE5n_Pk^]])D\NcޛM8'kӦ_+7E }F9H\t57` a<0YkW-io8xhJuse 0a_L p,) +u K}OUO%yMHO4m92w; 1pc=)cvS*M*~|KjӠ~Z4|Z?sTIJf<йYd2N!l Jy6,\D7J;Tw#t^T} Yp)3'{qd|Ь`:ﺣ7=t!參}ih_el.B6CGsitu~qioխE=ٳ;K:/=̫2rN~v(xLnB5S֗Кg✑خpi,`z% OpF kױGYp aSu(*5GaP) A}3LYүjeXoԣֳ`\.p./J gq?ThiC/ǀ|zwP>BtI UI,poVLOqs17T6Vd I+AyE_h) k 4.=v_UE$q$[2Qz24V;'?&TN+0CqqHiK7ҸC5-7b}=}F6U,<5lR3@kIye}'*9 =1\|Elgp![m1V!O؆*'d.mC%;%WkibwIc Tc48+b/EUu[n7h>3 0 ӔjJRhKKqnCEOЄ:1M:fZ,mؙiCifg:A5 6Fm,*Dm70eҤUHyb9;\Mب֠k"iY==UOXdW2qA3g֟Kv_ =%Ys0@n{.KkQzf \nVE_֡XEi^ U%RTZ픳9Mi P 7f2W(-\J" * v]fzRrK|e?vƖ.,2/Oسd-؇ʒ,Cu=}Ce~p!}hu!ɜj˪ 8n1 *&ڙؒN,b8r+1ݠs^t4&φܳ$o&0Mo/~խm(8-IGVw+C ׀7VBBmzE`.𪙅5AJSBWB3p0MvzSp.Z:vsn Nz2Ӑ9'[1y]DQSRqB:tb uuɮ@F9qa%RA C 52"0fWi֒ot/W_.3 LEԫk`bfu&q#fZ,ςt5!9,lQ=zըp-ESNMH&3 N0Z3-1N2A|,X.<eFEL$9{T*Z`,2<O`̘'cnBWGRI_ș  &SX 9lh/@n &чuQkRpUR찲e>5 q>ɏ?`$XL\_ǃHXEl3)/42eR8! r)KEke2hgUE߼;Ee-ߢclJFNesHԤh%TBi< .5Cxu7vvl8=~oQooetX'$_F~f 7x,M^6a1 _B'43֊ӖM(D8#΂A~؊5IuqO3zvN1v]z =]y} %]jCVg㑏7@bKvֆCz}BlYz1^i\4մWW\I^y!瓫bKnFxkoQN0kkp_cmgCl嵣=~p!ڽEGQ~A\~4vwXN jozԭtg9e 8Y =Ֆ՘&o'o_|9sXo_NJ_KIIy }ҫ/ݫ.4[Ej;ts 7N_ӗ ^\WWqKndz',aۇﳯwc5`|'7cOгz^~flֽI0ӕQVȲO5# ODO?҅~{'H'wºyka$+FôHlj[T&xtԵ]mI}.ao{DO;DOO;C?7;BO@4C =' 0; !vi1yv v:5Q(:y2i'BqM0ۋ`| 8DKG:zث<},`h9 Tvӳ@e:};4N *'"Ȧ@Q+8&i(L9 ֛ds:76Xg̷/[PDeC(Q"`}Ӯh}NvF]Y&)}.vrKWv^;d t6~b4mڤl οNo/E՛ `!7vTk{ӽs4cSX@ ˢ*Me(ݏ) I'X>1A# M靚k~;=:~ po%pjBQBGv*MXw}G) :9QJpώ?Y8Bo;~a;9M5/;>t|7q7V>uFcazo]?|ju +Id0&z휆!̦ULlaÓ:Vw +cp{ksm>?|p6]Zu g]o_N[[YNF0Yq 䠱ڿ\WKS~F5]]^{溜Ƶ+vîCqi~>v4[tg;y30'-0hܿOVl[8uЯ ~gAӪ\-:Q?8($:1~t1i(UuGւmW'30>>]LL3o>oߝϳUѪ/6A8~ƍAm_& Hץ#kJD\Z+dUݎټ륮ˎ I\OC߹V|qkAu\S>p5r>,ͺnƆ5]l7[t*Gv-ByWI빘WNS^;p>:JTZg*ԫa%Gϵ2쨱oes)4&5UԎIpjjgg[w[eѮGӫY#Jq|5nV*'דZLVK~4\Gڠ]ٍu{Ucux➹jp n&{ך6 zpr@>s\xwewf~ ?{\vB4s= zq%[Y:k'g=gg=o]O{;ܭw@E+֧kg9ܹp*nu}rru>|FP(u!ʤLwSp8BrZf:='6V }׳B?.fH^U9ퟣ1(N S0N],]?3SW;;uT3̽:“[m&l;^$.rm.6/gЭƓ\[d ~`Q'uڐ1eCm$C084lpa7;p\=ZB2Hݲ/U4[\Eߝ`. ~\\Ő\:?N4":l'Mf"VuzTNG-bnc%blw}sکyTiqu"Y>ϼ\ڰ;?vS¹hs"]n0>sU_~Ʈln7ܾ;ٰo]uHڑMO6d$ulõL"Hu:SCcԸ~ ޢp<ϨؓR!P|[(c7mjD2Sd8xn8쏎X'S˪,ڮz7MOC ^t.p]1j 4h8kI㧝1;0!vbbm݂3?|sOÏcjWfW~dэ b4/|aO`;QL*eYeش=$|t|;}7ŷx|}ħ{d036LCMh<bW%Sr` ROncROnk;'v@/sp;U Ӫ)\Y[,`[=v DFfAjhW|m/Ă$Tmr7?Zo:w)^-"$Oݣ졦2oCu(RRɧ~cCU9{znh {Ф:}9t[ˡ]2ؖvҽnz yo+ {\#'vmhqExҎXU`sd"|,EA>,1G:D۱ }*y1_Q6p^R8JGZ)8#>4 "Lwi\2xE Bl86w6G q*塊[٤"Ƈ>]u}ˑW{d: X^<6[GaԤIw~) [eS?6`hr}+N"^cFkګߎ^![Ȏs6d&|7F:a(oݯzMzbͳ_Ooon6!9/-EpPBws+i(IwD[q|8OȊ펇^9vF=8N_73hv,+jXK]ZVX)?4iFnԬ(107&:oeMrj@ ]B!d'n E<[U.yՊqg@u(BDioُxpq" b\TLU$&<;1X\^*# =oχo`7͗1%!%Yq~8. z ja}kd|=EV it>Ơ$8 ( B`׍pivWKVS\}QDZ!'SBzݝl+dȓ?/.IۊEzW?dY,5ix&dX$}>[ǘ; jIbٕ["I??cc_S tV9tr:A)l"I? ' L 7ډBQOgDT3AM!iW@9g=T08"|poT1,*G>:pB|r8=Ks=B43^.gRQXCsiO뢖g ť.`D rIUb7wmZY/ <q/v BxFX￝ x~ۙ\{dzO)~̆uEqw"q;.C1x(nN$<{QՏXg ťUqž5I5 K•E].PGUR2Z(Ө$VFxHd OijVDy$iɪ@ۨr垙} IC~/2܀h7-U,r4tF[ U΋NHoVc4@ϝ̱]&i֖DEXW俱 G(.7Uhi")ȷ5K6`*#Ʈu"]}S6g%yE稌e~V@)Gڒ:nA)4GQ@;Vj6"mw 5sѫn@ǬY)7j8qSF)e2g4ѽC J\mɊ]TQ_*;TAA]~)TyόE;)@D!s& ]/""%-(jCCAbU WôVYEAm!Z6re`*꥖F+T6GYBi94)q>buÚ0D|vn)GƋ!DQr#<֒G yT\1NO)G/ }lr5DXR&OK<pDTGpǨ],9i]$WRLE Bߡ2=UN<̟}_L]GE̦M4ܛ8WM4@ލJDx}ސ+TlS뒅b40~x]:]UP4cIϻ1RAA Y>\?~t5> 9̂ALĄF im=FQ}M@`dIU٭2 a4y[~5tƔ2i(]WpIw0j%/w!! _m]g7E f>5)wJ `9)Gh7ӯBF7W)rQNz/7 "#GkB0w5=gƌs 8 ыRB`rΥ cq Χ cU7R<;`BmTO*kXD"[2JTF`d8Lz,;/`[j|F/j%cSb^GU8xd>ͪjdj7_{m_ ; ضnD',(k]/8yGs~qE^%s̈"K')bwpA"x"-hQ6Gk=ͭnf`nPUoD&y, WiZ=.I۵Y_ Z' nvl$E9s6dZ"\CM˂N?46Lz⨁2.zSJV Cggz<p~TaJAU*a';ԣ~7$ܣf7gUlRA83SxGdkWxojЖL?kǜL5ᴉ-J= hBEnZqa%Nu#{ZAPQRv'QƷT2ؿ RzsB@Ȯ/-竚52YdUUTP΁bg'AD'~u( XWuzgaJȖ*D oNpAX5b\}"ɫ2l@{pC^qi jTRsjK:)"h,<_l{d-i _Һ4g@tP u6Gޘ~ HE)eei8akSuȪHI>4f*#> Ge|쵠zTTy?,5c_΄k~L?҄i ~5_AebOuWHBJߒOdRGҫPA yQ\F֪7=aqae“N-[h)(}%^ #BϤeݯ:?H~DN#w=㘍58&R`]'[˥VI@ ( QmI|dpN>.*= A>8aןU|GV.h8VsKR!Xpo3'_$kDQZxBmG'F$mD 76vz]Hupr?N)GaRCYÙ5?~?\{_kbE LFzX\T|G9ǃ2Vn06HaߨPDŽM$}{`hLg>⢲Gd+N쿳tԔӭС Q74-QX??POolL@[.UޝnFg$N(Gt\߾A LcsZvѝ UغT1ަBp㸉4:SYFN40F\&dHOU6{5fR4.l` a )IJXvQz y{=>\/w6b?Tc$IΧ _d yO@gi^1Ti50 ?7ՀB=t Y|>uXdE,͔+RHuAM7x4n BlT+R3ՠN&"L/Amd⨙z" ;Gw1̩dg"}u|k<+'MF@Pr\u5Qt4(/-<#ħfvY8*IBj3\2!.4nǮQD]Qh{h7b XTGTV0v9]On%܍1GuSRR:|]doD|J|Gj!{&J\*R/k"μkԆ3L}v@~եjפƁ#I>^ZjWT2rP{r-]p6'X{8(iI],G%Eum;-et k҆WvŒDPm͞b0(%rp`j{]V)"KxzMTV4gR{"n.:Fӳ _!9ҧCC<~ķH~/X>QVfdf}+`cމr7(#r I}&k>zYgīG^s0ו7P6.IXXa$yd(8ͻ`W $SISg韋K|Q2HC xx}2UAMEPS; -"aW#8b,MVϚ;zH͌K=;ݐ'Ud"}ْE:^gDȴ sNF).>k-#UAqd+ 7u"BCwHjaPahm%N7վJՖ_pj =6qQR=4/ap?fXeA5|"njdXBsBp]D& ԻvynNɆ!/-Zޙع8 Lޒeؗ9H.if1~m5a]eyK2ZQ{j H XJ2&j C[s۝L:YSޒ/CN/hJpXoc~UP&Q{:R99konri~ d_$HA6;ARb#zYF'"Xiqsj Š9E%^.74eYH,GyWdF|a%S:X!#s`4s(^(΢L󗝴DUV^G((]'(l(㺊 @'"c4T5Ij8']KLcF(ί67fusPt*R ?wXou?I |-5nIf K}d7G#[f9#5M~K. \ .9y}|*oFۻl6z16 ^mr7ͧwߌ[~? ϯ!{9 |n2s1ߍϯ-|hf?SJAy]_YA||3'z1nmWczyy5u\v@~\LolWlke {`\{!9mޝ[Gx6ɺx5yhA9 O Ĩ  fPzϝN|NGjCF􁜪@}Bх.B*z<Zopv}$ΘE;#.(p iy[pnn).Jl p ?ȴ~zc:a]]Tgr)h{!!&**f'pRB5[vI;jgWQvdRfkI}H1liKಓjoY.%&ϑWwRq<~$3wnN(e%{l7|\t^"EVed7kU~ J5lQmc85LwGRxqvR 5x4OBЦ&KE*l<"ƕEhp jѐW~LzP1%NMѤ!w&n6$"0.`ߒibA7g@#cֵz|sH ) ; "$qr`*5y̼LSrwJdz a/ÃCzzqUT*CJ TP2WB_Š]pӯ8Ƭ3dgV"#/łuk ;FKr$y(a(^+ngNh I>a[|+bsCpoDszgz-8?swWAvɼRm6Â)YP^(/5w޹r׶p#J]3 |i&L^d]34) ,{-@D̤tMj_̮|D J"5Nj1ae[BwkJ3#^yhftj񝲹Ir3LvQzFuϭN*>ҡg  A@J EzF[NdhKyFV%=j,ؒvc*8CyO-ҹuCm3y]Lj޴UxqW2K&~=}ݤ4ic=mSꑤ{|ZեhQ%\$ ѰbÍJ:D"9A[9,> Z_DQ%5RJVxN|Wh^Y$D^|@_aЈB(6C'nd7c7UE\X*13CK&5a%SVE=<]u}f<de̞_,pdc'_6:@߈ĩ&cHF:Spg:)pۅ+P|cX!p˞;0v9;jd/"HrUmůx3 I[l2Jks/l]c. Z@L15QV{Sefwz"݉`[{8٤Oh+{+]fGf<1rpbrz8bbWPQ}U2~fL)ΊrC3PGFV>­9Ѩmb1x^l'15p#H!M6/v^0Bu:DJy5RQ \N ]%tV1 F5MWUKO 8~(>SZn,\ίHPӜ$ 3V^jq6O%{1Vkֱ-[L̽t==FS*wP*xoUy+1^8F,(ίF Ճʞ1]pQ=bS5瘙bjQʫGlw#ե \ 춽tx_m˴6lGC#]Co_%Cv(BO\q g`!o`A4q w~Z yz}X =dǛ}?\aVr~s=ή緣hrYDR*',<<]>\$u1u.r9=;Qη *,^xSx2*72}]`_^"Kx-x`NqX^u뢑K ɴV݂=9})CAwLZCf"S3܁kU˴%-O|>z5ejAjڃyQ`ۚyn`ޒ,+8 v]p=j:*k?Sh+EqzW9o` Y#lwm ϖwCg3TSd]@ IbDH":#fV 7Fz9fU?8Rz[}gUqv+SuI8Kd!xHL);Adt;], \_+d!B݇άk`0Uk d@73p!3C[TζeX)rgaԬ\*,OfHʽr6(jV1|YQ*)%pȴEzAI+ )=6MV0Sa]S:Ƿ6!GE݇Ʉy jLw~?G9P@Yc&auۆZL5osB '́UG/M@8} fKllwTERfB*Y!28 -+ nx Y~M _-_خ@\W.0L"?eЅ0F{:YUV.0eA}"V!WW'{u[I/>{MDI51/J.mRVVSMQӿTf%}3չ4̝z-º9Zv+z;^e9X8c48?e ¬Z)*aw"QfE ic8y UԈ&gD\Wvezeҗq: Dbۖ; a;-S}ZctLf&1]\%EB/*y]6^9|6L"JR'|]ce0al4&h]A(BKWBzܔ  {etT s N(Rgtx*3yuэV^o[U.qu#)k*΂mƊX2pOW<-LFe}=^/awI(m,b~5C% q9TeJ.jFF;YU8X[\:QPxyqsUF to&C`\kRN\6*gFy-;8`.Q%=X}} -5ae;muP*̣J,kPFrZeg Եυ7ջjT7$ωvH"\H܏޾QLWuoBe~7lF bWֈVCڴ(R;ӾӖa\/8^$y\];!Kʌx zjN @)ag6I+4),}n?SzA00MۀD9F]A[]x!P Z h:\ɣ5C?;2᠊`` m i u)b[oݷ+Irβ]-xxZBZJ8A]#ptNʊZYRr2 ~cAr.FnxqEǨϔ۰<߮L=!Yc־$TM_=/qEJp| /obŪBZ@NBGOR:QJ#k'n7mFc neT+hVt|0?aAqUzz` I/%=Ч\DנO M*rT?Iߡx$ХiW-҈udڇa5Njj:=eЇ^cm7~JF2bHV רQBb'g1= $ 9Ry''㳐RUMdmnkзP؂ Lؒ,h2";{WRZZj|z]U*OoTYG+e<H]d9^DCmT)T9RhujZ ɃIɢIʈ K\td RǨ <8q-*\}B/mBD\՝; zݒ 7e% <:RM=ᦻR[qFq㟓qƨ$:3'p3UFuBfG!ǂU"P!x*5P۾d#g+Q[faԛیӺ8NuJȞaYddBnd5vA/ =fE$u&yPz!'}r+u=۸Zmg砋eG?Jzew-CmW^[26҈ԈN ?f_&̅+h+E˩+ |3)b< vQZW-lu|Y싞y9=LkeЁJ%r5?_6(N5 <9^d(j6KzoRq4/E`$ڸ*~{V5}Ռ`M lvDYUXŅ: $qjjPXeH{,9Ґԣr {n[,$]/~0+/fAIYtgϻesͣк,cH[g+E$=&9P-2RP(m'QTmW@u6zX zQHMfF 7{eYSaԞ}@ebwdBN4SF5edad@ Μ ц..SkV]paJJd1`kdWYw/xGW|B璝,^S# Ɨ6K9 )PpF4yP x Ǩx ~"f/){e/Y]' TE7P{3bk+zJ v l Sp)/S+MQ9n>9oҡLT5sT$B<#W|Wtu8[PemyQYG\7Nw@a< U@XB$#)>^dEM ͑I.:D;R7h)AVۮ^b? p[erpq"J. 2;!JKKՈ^&^x9VwxJ[ϋ\~}^ncDYg+C~Q;fFjlc{1nJSZך>H]Oan|L ucIڈ*T2ʭ(ʲn}W`uFʑi.SIBxw;2}*E;78oNй6TJ5ʫγ.VrH& < Qe2,b[6'Mԯh мwARa-%%9MTELFɽnORA[n=oWa, v%tbYF M{LC?kvzq5rLր *g:=.|kvЦ\0֌6$9cA r'2y#on[VoC&z8* cIVjޗPj=P~Z[FA.YGe ڳ|Qa!i7r<$iA@hj >zMX V}J;|#gE3®4VUSx}*&|__!?XEۅnLy M 4[j"x.u=i0P*2TGMO=ExdPwT;KB18iSKWanXNK2ga[apAuu¢^n%"u)&::IQ,h<96z0ersеBG;Xcjȵ#"t6\ZWIh 9qUsU3ٯ3=J٥ R?#@wؔ4lkQ_>"_L.wƽFdHj۷PhOI3Q,ڢ])P5MP!E,H!f]v&ʸLxڥ׍;ۺ 6u% ?JPhz}VEڙ$5Ą9Gb Ϙh6"J !2֛4HpY@Xߗح\b\2Z+QrQ+h4FX?|r, W#XvuM?8AHgWɧ+_ 73ً7n2Cɜ[N?BTKcF&.W gt尤[gl zl~lALZqN Կ00YBр%,,#<_q --ĕ13ɔ  uĐFp༨D jhI~<燊c33K V>Y38 lVXEHeo+'2&yLҤJb$CuJ0V Wc :h>|EC J̵7u[cuF-+ji2Qd4 LԨz+\'DІ[Ck.?՟ծL˟r2ߏO^Q!RiLẌnWWd'n,ln7v;MX9J6\^O̵Dw"Z䰏|)Bz ãG>Ч?ȏ'5@^oق ^o>/PoVNӾ__B͠0I]ą"@ 4z);5w0np .h^DEp _h칌#0r)t<5H.VQH_iE-c뛓EBp 5B"NceЍцx Z.@c8̲vwO3B?M S/ _eچfUVp%MR(iUh_qf½;mG)[FdJUA#,Mc &*iT[9 ,U/W~;Uu8y6C!޼K]a%ݑo\XG"J ,E ehdrҰV`2MῦPR-}492_[˳}I,$˖WF&ʾu듷~Ϡ/(5NPt򒜴#@I"~22"to^_e2zB_$YW#KoT'צқI./͋_I_Y/όG¨φ>TB7RL5~KD$בtCPmb[H`tpArRi,^g AvJgm0uT-nWQę4oo[nҡZQ]WʫUe[/1N󙚦Tl}V$ns@V6$Wo[̩2\(՟^I{ykqٰf/E l ^ [S8u3)ג ԕֻISCA3vr-]@h`r1©@VAi-An); ?snəO.\ wnim_oN ÉS&"DFfRPe1)[! &Xw.LupsqD VQ,m^Ӗb5G[nGnf"mvjnf͓=:A OZ젛Ѯg !wjY^]]rx!k!,KAp5g2tᐬ\ҧ:N9^cRG5#!Xc\ppѶv#,EU:/+}};?LxZfI۝$6Kf; ۬|W蚳E9hAއ/]!KXTҌ0(zUdR]BQ4;;I'`1RMQⷭ30V;ie,+F2k#hXL֊V[MTi`QP/yG_H ›zFכWāt ^ ZssW1$'KN|Nsqm0̌SR*i9rٓ o2x@U 5@bKΥ5)P{N 'Z0m<(m2Ex.';'5vp|4$'J 807%߁OaumAMV=Q ysPfڭ25U%4޷71i7sN^8Pjo8hBn+{2`)8E䠳sR Q2[75!֑z~4$gP )FH8Q-#< 2KT+%ĀG3uE֬JJy7Ʉgh"F&ܒwjzr.^>?yv))u.u:Y])&'ed-&O'F|!^K# Ag4ChDF]ƭЁ!ܞ54tUאp"枺^K#Ȍ.ԁd'lc()ఽ8̚x5"3{W16&2|=adJ𖏄&kfŹɪFyKAQ?,51t)CP$b/HIff32 p&nx\FIz(HEvY4bew_)Jm[g{|M&PIfEzjeXA|Vڽ:v@ :=&5Hrg/)ByĎXi#"Gs(KՏ|.թviUwBV 5\^ rB+ lؕ[K2kcȄԍep{G.Ȓ+ޗxfz2Nk4M'ap{ET5E^3{dՒz&oSYqUj *rqRU5KFAfdUؒBe׺Nkጮv)z4d$+foMtw"{v*;cI5@!p£>+e9nxxq~z|3k_D$DmWNX 3tIVrRv&?$ia&̈́NqvH~ AP- kk9X5lp}3l=s X3#e`:ɕ,RYbF<|{Mvs<*ȱɗۻn2s1:Sy1mXW;xq:?YhZNEK͘"9$C_HXq\3O,fKnQ'roڻY.$BG񺽹,6 q=U&]/u炊(H|J@l$ޭMbəЏSy( 0J4m@guRQ6 (KajӀu0M?isEEmēbk܉fZ K fQͮ6$…Hrt_׺`W|&@5!8C/d$pE+A UWm6u2ڐS}>U.m2XFǺ*nB8mƼ:E=?D&Ԁご$EQ%aޡ,㭖7y\вzL^L- IP4u U2 izbh oREjޒ2ʢycPMx%B#y=6s0fPeTxS,<+[Yf/Q=3 a'vԼv+:KLm铕Nu;̺SiqӴ}/qkMqEǃ*倓r; $n F俋x_MG쭲0n[S8?v8㍲ԙ6qR"]z뺶|][_r/~]̺jUߝKbI_(,K,(E)Vs%ƞDl=!(6Hx'[zLgJA\syM"Kr=UnQ'EքԈ5b4jf Gk<+OɈEXBMYeN1BD&EU7A  4Ynp #"D{C>gڐ?cV[{Pk4m$II!N8~ a wʏHfZ}>iLe\{M!J (TiY:}7nVI:$kGlXoRmp TWG3C&MM+<|Ya9Y^G<2cN"VRF;3s|̪xƘͨ(?Y =!d,ܕlbhpu]CRYHڠy場Zf.mkWH"~bYP&K/Y"%KV8{XBHG'""Ch=1imDZ.SO|xn0Mˋ}Ѱ ( tZɜN[iT`m:<(A(Ty ZQ}򚊪'oGIgaNp9 )ӧV1f)_˓~a^R\*q!7SdL hpl_-'YbP /G D.r%Փ▁鯋ě16»lFbEkGCj$Aɜ왗%%; "d壤IOhǣD. P,皭hsnhN_٪Dl5}kt1 tpQ,`!Oý_Y„gRmr 㝼Q/$[&&*:PiD+CSćkmH@l"NՅ4% Կ$9IV%=%q&# j= }Fϼ *C"e;dzؑO8A9jd~A!0Ȇ]HBfjͻ>ء Ztaks'/ɺh;/|@cK@_ NE-ƼAUy;DAg_ꨴpDƏ0FRţxdr}ʱKwtqr.o)ZAkmQtRwfCb4($3?zHQ -Lkc$. O$0 'Yb04ƽ^,hU2ݣu0Gʢzeđ0o)5ߺΧz5#X3yyVrn~y`ꇋ~H!:- 'BDlDa@@LnSo|* $ ApLYIR@l#zՙ7[q 0vhM'D8/V90As$宨J֛]m?1g:@?"_#;٧c#t<~D:Gw^gw~P#+vpQԍOU[^K];H7iҬÿ TY yng(ὣr)I}1D4tBAR`34#ep4! v]JwW׵Ov-UɁ7 `=&CCP0^Tǎ(iYjP9k:oST?l-B4 c:#`KŖ#̫5,#+L+b|:XDl5;l1FՏA~ 3}hD6\!ɶXʼn HUƳ=I(hN{ L`qĢ$*ɜJ\ ؗ: 7Ai+aYrHs (*óXbC~ amzdd!I1#WSjpMe&cnd3KfOA(Wصa^>y7 .}-J=Wa6 *I`Q #b5'JwU$72y=[.oӫb2[^oTxF<mnxfrP^c-k(pSF]\-Lj FCnh\.77oz фbEQDԙu9' QKQ4dI eFk/Pbm]6my3?iԤ_y By*1-') +7%@ꗉ/|U z]b}APA5ܖ2=[Ԓ08LA=W5'Dd}OnKffcd%uruyc}ϵ$x,f_ r]*q A̸ҧIw1ȷYʗ]oE+FdRTVWو7pŖKY*OoT~_ gmA\|uϟe5ND'`=᪁a(vnL9oAՀiqS6GK[4WvIt _*ٽ&IĄYwөC2ȰxSgejYa&I(?~Vy~O$" jXכֿZ!,lg\29^PA'=֧17D!~Ł8r }jaF5*@ŦW@W y#"I[vV:/Ql|۪5$Em|!ѳm!1d(vThJ$m F-8+y7 &U= RMUqׇ;S-NjZj t07]l&7L-V rKNʀb@j8BJ4{?$hxGYȺDb̫ -k a6bW(3(-9(*o55c RU&tQ+k:ԢeCIZeҠxbdkdOH~?Ov=¡Z9, [+߭D˒N_ط,CqȪ :'K6ܑ216E5}lΌxJqDwdQbeR;'D.I>YdY{u˛l}b_x! J?OJKӷFJeDP+A-lw&kzAerYbD LVی~Fx6]& C7ΗZNQ]9o)+kR[~C,dn%~0B*GFc(u԰p2]73^lޯ7[G3o<,ԶKyGt6zU r3O}e{/N[5$KJxcE4by90`VRs234bUцfK=!V2rHkU |PɋL^ӗ/=܋RAR;O5@ɕHxsΠroC$k>MǪt-U/bm665bޝmxke /]۰dޙoStd"KjLD-v3&%bu!vkUm{ N򪃞2"{]Dt-HNMbʏ$ o.1v?bR*/%j$5TA$$܁붖lkNf#+H)x]41hA"|:yeȒؓl$M 4WQDF3@ojFVkUF6S{/ uS \E> 幷 -0Y EvH$OaaE }})aϒT?0;'1S̽'1 y(8]<GwŎz#KcșxEQ y-*^ -A@-J^ArI>x&_jT <5(eujȒ"&Nۨ>p9#m`R*L0=;9 kJ|1ј'1P>a[c10iESHo#_bD?Dɝ*o[hxp+B!#2HCkpлκuHo;he[q>Mq+R؀ 8?ǔD))q9Jwf+e "%挢Y]>Da,25|Ueh9Hg4촣2igӒ5,dH* v`}].V=gZ2f'5G[I|E;:8c[|oMyncM nLm.$j?=7VprZ[KN3`i) CG%P8DS7 sķ[`2{VJHe ]8e!Nۤٹߵ@o.;nrՒqJ/rS2;2 R;X5"3fHCf8V[Fq Zxνܿ5 A{KYC z\"N%bѭ ɏrL>~!q+0'R@3`̧k}QGXc4psZgyX-A{|L؍m,!5g %8wvXюUmq-m64)Ygî6ZS]IDF !x1\i֊; {,Ex9krA!R6hwH)kcXdʿ(VkbFרR=Rvw-j (D۸  :vϦG,YȾϟ^@̒CJ"̉q+D3>^ _8[wn=W~Džca:8iL/12?݊TF`f3:1g87/fwC48bV=bV?bVnب gYAWoQ W7Loڊb{8dEULаGRpiNAi`F>W٫ {0cNykS#.QPe`F~!^AOЀmCyp*\3?jQ1~iɡ" V[bjdZX VąZ"E!踧ЭX^4Y,5cJ#hZ#Zw%/Kc%l{8i@2^k %.aΟN͏ȒݪBa>2!x/"In AL/Fare.%?JAH? -8U@II=@C>nWa'1̒Uā7ñ*F4l0z(6"*vfF@dQ5{ϧph{HŒBӀ=6ć}[T`lE*,ARNrEEB<8~Ov(=x *_af̔сl\Ed<؍iChcL霻:qT^Lz6nB/AwI9V'jd؍:4jipmœ+&c1jsN";g 0+ZJrH⯲(V.XP͒t5s/Z) 0  W:hX@DŞHǦv7Yj.ukJ Mp@&Ƣv ZSei}z}9@n8򷜒^]Nk\N@*)\SRJda;RmV~n'hp,V[A &a\٬4]̓Mx>`lg"94; ]oW ihp6A9a0ঢR:0/'XKtV̫"ZJ=}R%t3M(CCRyPN~ /"؟ฌ^`X{;H㑲YS,'2:ar x&P%;X yQ4w^$ m|x#ِ>^+XL<ᅇDrsFY|& *R}\xc.+j8y;`% hv'ql%oB2G5$6)Ѕ |%_ĎOޡXFObLD$SU$sFN-#O]&NwZͯ%r+{gFNb=@s ܵ<e͐ZYJѥkI /^Lfz-r%0v2:#Ok;oVZ9yTT`td@dFfơIz;d}(oI1IrX0;;0QB v6 sذSPA.-ISbɗ*S ӛюS+ F?Nӧ EZS{ݓ gEQ֑][LeA浓S&1#q% L "1TzLa~e~02f!=I~rΔS)i'0#J8sG̒W,ƒZRAcEUZ+0WC/9>A刃,4o t3On $i/I8Lн fs[cpLI0!؅;\4qxEZGl5$=I%塴:Zmu?*j.mJq8=p`<@IꌧeH`OI{ +GI< Aр7%O$}TdzN%$} h ,1Sy6E`aoA2%7Zb qN,{?ݼ&WjumCʩtB?j<8kQh_oa;UcmSB%ua`f|cN\tMH2O^r(C5qxj8fֲŁB?'Tf U ȝ &'~| däE9]K~P+ |Ey~,XiRHrXגuqF \y>zv} ԝ=> ,GesUd+zW$m'kd@  .o,]9x-~.dL='vFfR)ka7?F7W*Nl=7J~ֽdx?|WH/{62bϟ]t(i@QZQ_,ySE jzӺ|S*_4^Јn {"yԯudJ Ev[C~ʩF|Pk`8O:OR?lw_8 ބ?6fh7SR%*.teCZgM*䚫mYT|ânڈ<׳R1QN!F;;91k6B 6.#8d!'oe/D&ky%} ȋ1 plL3]5)Rr0PV|FAޒ'F"Tkp"ZD]teŤ >\2GDa.f }Y!$FU1D3.&qU"IO^XLϑU^ʐj։X8~lCcrS 4m/( GP ė/bʪ`@UUr,ˉ@"22SÊt6uTC :k w k$I(ӚH+2XlVdp-Ds*p# &j = 'MשDP48ʵy\jc HʷC<["Z&؀6z1 (A1nxMUrc3F'A` avG %Sɻ2RlM06%XckM"ژFm>,y ʧdF5,MuAwzK\R-Ҙ&`o#o ` JC-,x(h\)r-P,pk6 GKdsG/ga7$l["kLid&%YL`)Aq\L6?1>' OMinAl hZ⢣hx [?x{ᔑ ͈yM^bHBVyU|EE۽zy<^yvE&rv5&3D] `si"2t=j>y'G0]aC^!XNfIÌZ[z>'%γM3L5cdPlEf,h- 5֞ _EϬᒻt݅^C}j=A~bi~}}+X{^r{@򠱡vO/A`o/fr×v3Vk @XDr0>L~t^kef3`GQ4ITYF2ηwn܇qH?kY9̋x{qMCrK_T9z&{5ua iLVZދC1$μYm^K.~H^eA#- -6oW88QLvA;`fU1cUX4 a|XR ּhr؅IrRtYg<,{7"QcH `wU%b^"~ S<`jӃQ6) gRə_C[ ~|Q`Mda21Mx3y>-Ef[9Zib&e8賋̈́K qBֻC p'#.)*t,x F' rDM?\.IN#m`n@_?*f Tspg|H7^h^r8Vf.sI{QhHhgK_ϒ)Zc(I™P*;ԔϵیsϤ9л_#uZA?mjݮqP]f8T݊7C$Ht+ɤu=5|{Z sZH$ShoC-"}Ls|wp G F^b[Y654 f;jyA ʽ6li 2ObBvb{M~CkVgVGk7[+A;DgrnԬVhp| /xV\ Y "0VMsgc6D}` O?A(J.d/ΰP+*dۘ=dt5ўMii^h`e9Ff3].4|2FA&woٕ7ơB7om>n0Z(~\fjr3#u5-׷7z.ȄbE_?D\ẁU_u o/ʣn%խzn XMDkI+zt w_goHW!HFi,Zz6HHNJԤ[s1eǍ2fCJ;'NY:9d)8i|c48G - |@yr͸Z]yY.+3َ"QodҸ D2@G͠!ZpM!:o|yHq[MH4`~%ymT^AckPL:eVXN]}f#oGe~e0N R +X>B#dBq< Oei9!"Mה$eLZc6r>x@Q,wn6:)o1'A}_̏z=KƖڨ UG Nv b_snF,\',ss;z!RB@AP)NҴ$%-^کpg)P` gyZ3G$liHʬmo77:?4F/SVT;nC&ݱo <Ł r#o/4Bjw]=S{zPP,@kKwQK2U $bH68w!d~vx͚J%8ziM9Uz[$G2 ZfuqXfd. *fGjLSUJe<*:FR~$H[N%F0/Rʰkg1.q i(b5.N"c>Qõ&lsAK1Zjiطw,imN -'xfu|̓=6ͻJdXp!>%*KϤĤܔFDU1iOVedIm1' 7.p.ҷfTTQ-~]ww1Y4"\b@'*5[[pG;?-TxNEޝ :{4 (W 8ZFʧr4J~fv . ptJd+Tzr=^i SYJst*=j`5̤MLLLst 8um3w%>$F_GdKk'Hv,SgdH-y3)Vd{j`Dc {T.vLCNٴ I4n8r]#}ddVXP%e+DmX bHI.~?DhRp޺Hp$lrPuHU>05S^w ?VNhd`/s$O3; )4bW]A,0(VUWEq(n8&0@Zo$g=+]T+ -.Ե 7z!h|Q0ERL}EyMOg؆3'[DW YڔSF0';&h!e|C ~v$20`P0jE{4/WFLwnF`扫5l?k8Cku~P$vN?ft]M(S 6I!mDs(;xǕ) 0׏B6Lq-75RLt_78JMGIhqBom ÝHE;wq4hiM)p-&RXU*&)}p/䭔<7W(ihL-9ZJT%il玎d!/ X05i/$@=/qb I䙔6?"d<Eƥ#K$G$t0\Vɰƻ?<7,.UuctHX:@Ez$\Fzy MqtMqdrUCbo뛉GW$GZN˅Ή瓛_'o397bY.idm n„" \Ìf2HМfZ%hFbJT2 ¼$w*uipvf;N|ΧAԪ|LO81Kj︳ eK^B I=}3jYh϶GW-Ya43=N y; #9r28p);n|ViZ :}7@U}EUWu_-8w"ό=:̛ |Ļ]X"50<ԇ&V,t m]5 훗m%~e} IF!TXTBi@f@Aq#Ɍx6ͷY)}z9>=4 0t gAJsZV6FrHԋVϫaG%}sAI0BߑRr-(c_ٝ/ `Z9߼ςv9tGA!k(niğֿ*ZI [Y^Mث zyN޹ӛ|mdZ;^ʫ^Mf]",T$ʹuMs^*s(=)z 7+ҝ2 gQՠ z4eli.xWl)A ZpK)R\m Ս͎>> Dpa`&Qc8w <z_h1+c# ?'(2:u,J{pE9v Aک`NFpM!`?JߡF[S5-qO$"!jcPsR%uA3QiTF'>Ĺy͕6܉olxա35SDGp)ќ'={slN˥Tl5oEa [A+nr2wdUY6,Im00SWuT1aSVohK\,Ϲ$#R†( I`Ę[vFRaF+妴< |PSsI"ash{~}}z)Dԡl#edAtj$ ${-xmf(% Skxe&( h?A)%O]PAͱAKiOLurO"gyk [p۠Gғ-'B#!5@Iq y@s|y2rQ|vY7WzR; *N_1;тOZyPl oBƵ?kFVǚ-l]$` 1 57Zzo 9E5g꜏&^Ry¶wH&R Nj9QW;y-ۥpz`ҋ`_LɯKVW!<́[ab'Hǰ6. d?`@lDV71DʺNW#  }Jz .UE$lu)M}Aeb/I rL\:p5q\v5Ѵn._WH:u,HjZn/]Bw8aZzbCG`n\ A'&]6!VT>r_k α܃9Oofk]p:{jy X$uaC`' x,by#_G^7DkFsIHx/!  I_EС$#>rda'6Mk]b`КudKGѿ) YwDc~o[#b>v>fH6TRÉy4 *Z3Awŗ0e奚߼x6lvLdⵚ&mx6$ڛy~-f@˿o'kMJܖ-}UύH m‹$#{Tu_LD5L?f*#Uxh$u.%5!! /ң|5*̜%iI#| @:(yQ[笉` IIbw҆Qq)Naz® Bf2iV![T+`g Av,=SYo%_F6#:YU C:(z04. "(EDjnԝa;BDq:EtIQ(ą w4d?/W C4dL~E?(]jK).|F9\TL4N~4BjD ~8_}^z o ^D7ER30&qem39 ~ʖk&! T2(6lY\ArclӌAtq\C2-)2bZ_hD^~!\Y?OELrf.qҏz!{1I#AtH 2 '%!$P֎x'X$=u"2%,5U HV:ҺJyQ| !'0 y-uRQ~V-vg_`]gzܜ= ^UhP5(K{8[,@HeIe7Afi'x6Z+܊]Dartmz3f|I*W # ` 7t,2ؿnjUi]m1]|!*M7MsmKmXe1ٶ=j,f z[Q%h 9ZgQ .6\_( OmGjC. +8!`f߹4LSWxNcm?FKDd؉'u2{Ky#F+lz)DVer%b4$S%2h(F)"ٕ H2 LIq0?u8iVh;)8D>~∩~xM7wf7tTnOQb/Hkz@UUOɾ԰^ n3$~TlVW<”UO"YumejLϋq$áͽÇ/ aܷӰEYIl\iZ-hwnX eczaH-t@+l?d4.~Jp30"zAr?7ާ_aԊwÝenuW:Rj_dM-3]n{\{,~Sjw//4YbO_4wn#$݈=qߧכ0Cj@Hq->ÖwN/$[tA:)O ~w~\^hZ {dױe3Nm5C(UCjn )Iͥ"`ĉ47US0Yԙ(E/"eUYe x1re =roz~ĕ]"@FIs\YVrG:\ Rkj>T$%!k,I,bڌ`>/?R|?U.pP /$$yo1Љ/W0iZ"CE*n<,wG1Nb3@ɳ a;z"Xc4pw77y iT ص/f^@H8 6*̜Y{ 81޺,J?_oV'ho/-/HzT_02jh Wُx37Xdz !g\O1RmAI!Ѯ%Uv4 g2) QRt:O.ܱ4դf'Ajs2mw J/!m\|~Ki07 Byh~u] y[( %#NJ H2 |)vVM4•"`gE!ɜrIRd$5.b|;M0w .6) _ %d.2@ FT3ޚ*+-L  x$n -~`K#5}~&4O42QX8dEUbQlas0md#t-\RD8?K o: > GGt8Ln4}܀ 974xroCݴ`YL>4"V7d͑IȢbFEZK6ERKx%X$&rX`0_3JoGaQ;WxÌj]N>kN0oð~U)N+Tz!מ @ ,a {;7TY\ fi2l~~eC[C ZAODAZ-?۟>Ong2cMxMҔ1<ɲ8qQUq^ ;$Zc깩-?drg*%9/u$+2 =Sx(߶gᛳݵtmԺ@ۖIl(5u3I53J䥥X]cuW1G#>n Ť tfThunD_MԩucmS?pr$}噵:t-恟mO҆BVdz"]h!R2q /΅ԛd#v@-[?jv9k@J$:447~%^rP;ڲ:@j}V EoyÂvВ%OOAa>, 8_Y&bԳFo}&;eֱ9{Cx? =oCmv?wa å:Tp˜؎m|ws3|uizIOyLIk8#oiE P>ɼ(d  e\]H&̘?(kM2 . lbYNӀbѰTJ~!337IhXbW.ELSER\T! F^5}RMv矬gYliT9?> ے<3<:GJt8ɖ@B'(Z3URK9USQ.AO:A\"Eb#I!58R6 ׋4YK&1dT&X(]*4{PDfyDglϿ$2,@y<ʐĦ$Wgc)q,5a&L7Dc sQC`*ZIvFS6 kT)G%XvW` 'ARG ҤѠj"_acJv2]?TluG6 ,K&Zhv+b󺓧rɂ0wѣh&Ƒ>k\\J5nHKM |aCmp")&DU[d rb(G(mh$JBILW)ޖ0:o _!ӯ5պ^c 7Ŋ>JL qq CdoݢIHV%BY-T:SSkacD0EJb:zoglT%Fa9r1v?@,s^JGA^R) NB]Jm$f^.f2!3F̛hg%ϒm@ ýNX&s6dۚl18akK_`~?k{`63&yS&Wt$QSx0&c[K1!EV6_5}b, +^Hk|t6WMC89gbXC4)j Fd>!W+`+{dds?Mt"SѢBIuV}nْK~By)|K47xAkbR] C f, V4^@lE h5W؅:_2FW<0oP=3j +wjHFADg6& znح]bxpUOXu]*MZ6:vmvdZ>!jh6jkC-+ zdhM{@ *a|7 >b&F'?fϴ uM+Wvu^J C&p7!\AG =Yȯ#~m Z>}:)jU&3*+ G\^ε)j_BrRq5pbArebm`]1j3i1SrR{+^T뛔Ѽ"gIB%++?#pR8R3n4ngtbv 1Nb[ihݹkNllZQL 861بU6rV#C,:{Ɠ Q5>%˜F$~, .@ fY2.Ԑw ~=IJfp# 5nu/k9m $I|Pif'Hvlw֓9&3w!۝pp7yZ~b`wBm-$5q]?fNpv0O+^CTV:~mI\\`N*_B< s0Td~;pQT[9AX.%zn`vM?EAyQ&i;#Ҽd8#VMZP) -54F?yx1H~3ߑ Puf_=S TPdˑs ѶVDg ]FKbt.a:L5۴m3D}{3ukB9n\1GFfZmjZd$ie_ ՉO.cGYw!{J{` k$-МU)?8yh/ n|H#1> Т!2WL׷a RlD@ >+hޡrΊ}db1%O 3szp{ʧ.]"g=aDI}g>MezTB,+xJ QEB "}ȷIZh'ֲLrsREP$)sy\ˁ/~tPw/I3~_T [Сx\^h _Rm72yS"|;) 7T),}nb}vw ̖/m1as%?d~Ad%EM!;`%(3b9p4ZL~xWUN?q" "O9<ԏ 'ˇx#eY±(yE% AQDSIfvf'㹟R[ļ)f$'1*WmQT Af6,3Ay@biꚸ\;@1y&zՔ@@sIP!W8F<{8$'2ƯIxصcۓmW>.>lD ݖ%]upބ2 FSit`[!,y\( {ȒC*qewK2f' !6劯</uNmF[S{+ #/cQn+I ~_~*H$y#mg2?_"$ V6閭ܰI WIaQ\W^$Qa8E/+e]sC3\([0ц-ʕ_LtA05.ژU,o\'Rǖ_8@iVTJidOH.^C6UQgU+0fWc6=-$^nHR8ǫꇦLHml0h%sB(A]h,l=_7KaEQ@dr@mpOPL5+e4G3MoL5l ;e)]u*PKd;-_eةl C al̑>`(V44RxKC߆ʞ'}MӆN;{4 0Z^vgA'}RZI$C:Cޡ! fw1.}%ozP=VH|%"a2_&I|J)((~X,v~| !!6d+ 0}\r,U¶vݘf> 4/ [L7͟x6ZeKN~jRr4oku(Wܜ+t'-i(Zh[|7& j:?醩]~' 0v~\?"ЩPʼn`ĒuUȭK, n!l9=2?Զ;0K^k= 9 7vKKIk=)*'͔_d۾p )4xѕGx5ȒZgI()< Af$)FWaFoj޴dYhm#_|՝ʒƍlޒH6Aٮx) m@Qe$'3rNZ[aVx,qPLOe"ҿn4~7]>!b(隆3Y)ڈiМxcW2{5uJ|Ҁ~Ffp'}l`3k2~ </}3ۗTXy[:yɳf\C#?aڥuѤw*5zb t!Ο[󱗭3zO9C -_\mV[#Kt8oȳƾA\St d*c@Ea#F0vIV@%p,m]k we8d5iVwOݏ`V:|\)'+?ٹ:e{?wpS`1V`{Lhle4tmvC C ~ #x/AiEQl)^=;q0ԚEQuz'|032Sz2Y;^t:jQie@cH4ؾv0SW:Y!S2<+C/O3fyV`]4jYyLO ߨdR8[3]3V0` K u^G]u; IQ#ƱR1w ӭ7<۩gs.+ #j{$~FF4MmŘ_̲4O'{x I0~^ӎAڃDsRCaxITd+0Xq+K2NK)v2?G[?ݢ>1D04֟t 4sC- S޹najAz{y˳7gA"1}Xt9TMwx<,Ɓ+}-[U2VEg?}ţE/ zt4_Lֿ`mz}1qglaУ+|=2`mf]'rw}^Pj9BϮhՄ4쌶lN7lgwG$ŗza!s­q5|Г+zX^Xbb.yvGfz7f>aj/sF—쎶\o qlz\sc'ra;r~ŴzTa3?b}[u<[iMNñs Zs]a gD]>EeeT%e}>1%AA@eYZ֩hf1ҤvCȅ{0PF`"^)q[x8ԯѧ?Aˣ"1(7L/d PɪOu ewm+ᙪ}qF;(hLA:7Cs6ɱ#}H59U:S$pKy{HT⹪i,ط7!G)>E܀wAjƝork!SH^uCKb;K'jt6xuuV4uט_-*)2W9WN5 C/䇐L.NB c4%c}n 2d<#2].O&@(|`K1U8 K{d셃0eQ47?(n lRSAO(q`CDl&VlzLA79UIKK'L[V]C732ৣc&q a?n_6ΡW #1bqJ+QP-\7!t`M[q/8=_ ŏ:VIPUE023(yQRF?@ȀG4Y7vѠla*]z)GRh4gFϋF$] .]ke}ll/7@ 3"fin>ZQ"FOָ=+c /r,$O8*;?p4×J/ !EpH%AFz|h,ZFM!oS68xU }|V/M6E<lh5&$c{q F5N.8C[_0 (=Γ .'")7xהɬ}k2>&[(Zc%&u1~)лZ buFЏ!$OJCp$D@?hwߎ@a1 R +!<` NZ 3kOi_CH(Y!QNC ǃ]dtB #.VzWE?PORyۇ!Hf|B9zq6/!<` VSy /&Cx>KUK%4se4 - &4]ܭLgTTBC*tXt%Ѐ TD`@Y_w jB=PnUdS΄$}i4U;c)U.&M'6lLl0$H Pfn ${1EEq^w}Z8O|I X󲭢( VdD@Bu ׏ۊ6\7F.;☆|bɋ35BkՊo~"d~h=鳮 :JlgAy$FO/Xǿj╏V0raC)io_$21&L,/) ʌBv%+@Wo[cFV uD= سgkVo_G7#, l|ag ~X48H0 pk}(uG Aڮ,\*- Fup8J4K #46dvmp-E!@-3l//f65xxdD~Ti:v%Rg\|6Oim񣌈? zy"ٺaw6䔗œIEVS~H;3:*-ݮU B=I5Q9f^8Ie喙'P3hBYI{ kK'2r c}r>qH q,f}[L 8Rxjt-oԠO5G*}3U5(NM-`N+ß[7nèw5B\D>:q2F_n`8f[e|p]_*>(Z,H١v̽Se0y3&~';itL C=:38wLuAck.oY Ԯ_XX"=IR,unYЙ0qGЈ#PvJ}zEv?BGB>Y $;:&pWA)oSK4`F:5_,x̭4靎:󊖺H<}PʹhLhV9G\5xi*D W^`e-zF~R݆9VB'VxUV$;Wcnۂ)@9p IsG0 2pt!Ip):F)?u_w:Fap=t$/2_𽝺rR_ܙt̶c7<-k=PӤ8*1:T"U|%u籀Gn(s/_|湘7NvCd̯.Oof,n./gQ >ա3B/Kg.qБ `!.D>Wš 9^ԾadI;kH@pA~Dqq ➠m< [3cG0vŶ9A3E.3E8:;u!0,VI[яemP2rTtOE[0b r 9wR*7e~x|Xt DXFLnA 9:N!Y،cKByk,z|aa00[]B` :Os=z0W W_CqP N,c穾/wS})Ag+8fGC&:UP.%涏5}tQ ?Ydo1k$HƊF -=&EqD>p}E[/'Cnn;2zdЌ1* qKN(Qko^D9Q G.Ȏ*ڋ4-nEqG;xӱ>t Y؍ǁois gNYplMSlGڎ9 S[ɋ&&c2M!M(>If,EST̳ңc廆Y<$&e*댜3 :)$`>ޥw b+!pјtm<K?aOȤ:h^f v}JVN(>,Iɝ06ѷtЙX`wY_ɡ"A$^h;Qa0ӽ.s !9!߰HBsoCc=/bEK|7 252n?Woy*-o- Ƙw O{OwIpFLrYѯo,Fl9T `)Wl49iZtH-j]hg|EQy%AQ|A{xr?-MvԳA -W/Ѩj O#!>~? 0J.q*pȒ ֊2b :"Zx(,CnKv,5\(Zо]p}$qk"hFM9I1Uem=hF슭rMj5XM$b(g^?ta Fd0xn` pމ,N)[ 6l*:V/ZR%ZV=|cj'{~i_=J^"" j`FK# H}m%+u0-ؠ">x-JMGvb8PN~IsIot?H})3Ӎb׼3V IxӕK>Y@/~0@`wT c7SRniGHOQpA.ia6TCWQ5SmO1OJrR.lSzfD!'o%QjVS#}v+I(vc%Ld4!CIIi|C +X$)Ģ OD^ߊ( =?4{(|B zZ涧6e5'YpYÃ}J1 CbR{4jQ+Bѕ,Z =J> 4ݑՌP3j@-3:y)8 {K!42+q Q [O5 T׌l}hKm? *Wse Wnخh0zTc ; }u1+LӄNb yhX5#YM,.&//5$)!~J%DᚲjJLZ'M܏| +N#9U\y7Xwd}(ҳD CPĨ#3S QTK2IgvvL>p?Bɾ-2G>2>&~15vdž<Npj rPw4|>ZA56I$ q"3[z8\Ʌ0c56 LDAĶƢ܅bUNB^n^j Q:\`¯h}VX TcT;q?P~Dj6S{0"(Re[1yc3`_q& ;Cӳ!z?jR_9G]bԅ" qhi̸N?%U(z<:BnrEР%:7<.ev.es@{zH:OΤL:D4.}H{9}y3H_? ̵,NbG(~Côћ)78))ҙp IP3olkhh`j'8oPOa5;gQPDkKXo΃4qbA aA NJQ0IqwRIPcM4p6ۈYK fEMmƕ1|x=Vs) ݞū K_,=7 Gg 1fh!KTILcӿ.ޟB#ſ:1?W%Xԝ:Y 0EZrt;Kv 6|;8w+ޫ=#OD rJ,!H9E8WG?emq_,o MGqF6 { _iI2_?JcNo4m_`qvW \ cBOuDwNo p?KE 1QrG]oVS8A(*0.Wx >Uoi`ܺP#~`r<[css Ei<'Y^<](GךQ npFބ+ugl-rl gS@f@ȽZ`Zj0*@}^z:[#Etϛɕe<]-9kƏ  _qE{ϯ؁#U۠\A`j;sΞ^XVjb#LQ<|aS(v&2a}opUs;:PưȪ 2c_36#ӾcdV_"`[ 4tmz'蘄 /#017Ll # ORdO@5;-p޽]?â[`$U4.dn)Ե]Ab7~0ϊ\F%u$F1E+OURL6Ƿ 6,ق"cmcK#.lפL_Jjϒ-\}^xl2!'HvNbOi^#Jt}ZeK~u_o_XtR{V }/"GYxEFը;wcPe^+l};k1ZCqgaUV`ySWʌr2rؠ1yVpP[Hah,-Pd LsؚK]+S,2&`|f4G^?Eny6|hMN<"+ adcѹ v_T5m'(w2@w/QUa SsO ?bYKFOj>藑f+>v;!m("kv.CU_ i<)ӿ"(/SM FN l=r8̊zQQtłg;yc I{!+DCY%#.q9m&A1YsM܄vk% f^j9M"8:&AfߧՆ##@rW_={| U2z/U4cS)sE٬oH2IulGIE3F$mFYx p,W췂Fhlwhd Vnٙ% @Qx@poϹmux2]mc{lG҈*p{(x c%ðlx;EbN]J"peةzQkE,/$tY1oaw)I:}aYaG%$kq O\\R'ETGǪ@_fUe\-fEvLGZQS n1o>뎛1 o*B1UBIvԫf}ZԚY4~4uF6,&0 0|pFYhˡM۳QK.W =5;"WL 7k|\lʫܶr=ag &5-*דZOh~̕if'5C͡Hqf]wd G7K|pF͊7z6%Kwpʯ<”7Z?YIb6򑿯< {δg()mSTo,<_ݿx"gu H;!"Gϥ^ ,l": gJxmPAWebGB X_e.~-,1ѓY1Udp9Uc׫$]j˜G¡x=Hv΃m#hEaJ{5}hpuzpA7ͤ9?{5#Șc;'dgwl {E4L Z.1~!ؾ͛־vXԾ>IOꗚ49Yg]ox*`J 0Kx ߜJd6a5RR,e1+-et R5غ2ȧEv1seUݶi8_=Y橨~Фd%VTo gMΎ\(qSh9CwO,]iQ&tGlAo#?hJtNEq9:|+tdشo_@HqY9ia9U"m Ҽ<49Nv™^!?7`.7cyAN԰uSڢLJtBDdC&<zh12`Knh,ɻ懰Ah1O(JUM5ة=šیNjсy?٬RdaXΚ✀_7+~DfAH{VBXqT1M.t,IŠ1/2ܥc3T|_Y h;ؼ3/(!c"#:K=`}H[~:ohkMi$PF}47}fɋ T*}%B z KӞgP:8*4QUr!aX1Z ;'gPZC~'P'+lu3 o{/j12P1sX ^Xa9TeQOn6_*EV4ʆ?$ ,u?{|83;`E>iIdȗ2d8I F7I&>h ['9&CK얽&,_R@z#FfUJٶ5~3k$SۓK<WOGӣ}AV Gc\I-Ԉ;-LF̘O'p9OEb$8p6m5mh" ^':\U[ 1uy2E:Exy(/ɝz9藤~X'اBԻ yQb` TJ!za ĢA(us^:F}/=[{ uϬ`ĺ~. Sm#87/`^1SVj::lKc?A9[elb(Du;lhS܉Yʈ StG[Hn| r@yk [fC]C2ꆰ5h+ȏ'Yw124[0R'/L@Ax[ư&'tp! "ÌiԋEFuYHVE6bs AO$4jE^T(kMv;뢿˗6:k[\Yl:b>Y 3)wk!ĤvDxmȐ[6ħzM)^CdwȰq|FAp0esfN9 X|;|EX mn֋rr͸& rERL̯WWق#VMPd|q`F0Y(Դ!NTbXD$m }aU+f7mIߢ ulJYR_Q/CSP)(Rs/ZV!D$Ȥ.6qۉO㾳o2+q>:{mRF˛tƌ)fxv̥H ej䜍Jc!SQD8<ͫVfݱ7˫(4f4n>M&{fG`QZeQ,L  rrsQQM t34N,/&W|UR~>O|M7truCMVЪ]ͣQ.)Y}L^jMR Z)Ljtwmni²>P, ĎX5U( CLM]AnˇM]Nj"9o %_&(Ql(n,J a9Tdo\-cit d8yax#\-nXc8fX}h&l:\)9.3נ W׿)Y:mZ͂4`ٙS%`OWZi0ET͂56&Xf|uf|ѷLIxm4j0#`WNEW&SylW_YDv@&+lߙx|עxyy6J@(WPx67,ÞG\E^hKiݤ=;%nuֶLM40NG9/9ayK*C|VLxTN䅷9 GsC"9w:d&o 8r#Jg.iaWB>B* %zbpM .wMs>#4K09kl<#E=Iqruj#9L9%LH5QV?'eNhUnisbS`0ҧx@6j 3u.T? \,CK(^j2@>\.דeΈ7N_+A ]1狋yVꊺH0S^#<*9#n󋙐T)!G*Xm=X*~/,CގCq#lP(΢/ OxrՌX&~TFk%żH Y $Gd`lT*ht-*8{K2f^?C Enca"d e62~i@RU E$'=J,VR}dOly(u?R|/_'8CmR֜)X`바3>Ka/kU^2e^4N)(KGΗeG2d"Ff(|F5 VZ,FaJk4PZ# >IM's$p@m*qF>F>:VdK8 Ӓ րr_;ήɷ {lMA,Kw8yZ45]^㓁>1!^Ґ,A%oi Q>y^l#9t_.vLYTczV $bi_@C'L`;^4OR3Ɍ}Hht_VoE n/Q]2^xRdBkۊL[[~#nOG!K̒-~4BY$D%wD"ǭ2q#?n1:΋#V_i^Oqr)(>,WEP nX$* Vq)ܧu#V[[ҏe 8tC<9m,VjTkp7m4;]iF\nV#ɶ!r[KRsVq!'6ș]|4$Ec!ΠD` ވL8%xRODYꗱE8-|Y>mNLk5U&`2e]HgbLOQȪL}n z?h'q DtQoz %+F|">6@8CeU7PV^y8?/"κe2V͵E |q{3?jU ͹ þaeV1TC恊%yH]hlY?/prb=@&(4QĕQe)TAy"C7Iuz'YL rS p+y!*2]'>4*7~u@I#8Vτ7`L-iAA(1F xdjx{}0,U{5U`j B)?/YzK޻W;F:%{牢aLʓu6d~}u8QsN'F#`7vuт ƒFcʒ*0UC~u.īĩxQH˸.RM ߔQ̟+S^M=q`L 3HDΛ-ޓ%C6W㢾x>p{BAlh]Ah&@+кTtʀ\7: *$˷tUZ7*6>nSgcp y0zxSmubOEЧ;pQK&ɉ?D it l' -RZ=r K=k byE ֫D._3 P~?5Uՠ@ kPkR5X" GAYn[qe-nOᓦHq H%w81 9VfPW\C^@xN&{VL?VIy U@ (.&pPpqt_7!:Hw=l\ & |q: ҅H9`]m&b{b$d010dLѶM$m )"ۍ3Ӏa"ie?- " Cq\lhH. ZÂT$`iNnP J;)Ǔ,?7Qd ki Sc5AIFħbSpPo$] YIuyBWx;gț$e80މa[2o^RoXqFֹS9z*c)ᦥRN`2eAuD,f1g*VN8F{hӰ]1|A^ּhEajoKŝt*ޔ;~u-:ڽdQ[[U\:h<[DnmuBtuH+b+nG&EExOS׉ubDQaJ:{=0,Bs'*ѰJO*\Aj7y5oIŐ<&Yg]OĆ'q'LRT.X,|ͧC5f @ʧVNx(&B @9+n{^ud*"wo~]eƱVHok7k 0h7tZ}6xJYFYq7I>vJ:UrD% QSm ']ndGLrp/c XLʤxA_`r(syOat;b AJ!8=4 '؎0[)~XlFv  e^etbNH$dq۹!v nA]Hs2UvaAâݡE|:Wer~z3P!<[^ T*9 -8AeV/c!J|9/MlwxaqK^)$HaR8¼IB5!9 ]vlۛד֖ZmT;f/D8/c^HXI$|2dÃ$MRm (#)D"g7{sڧu5ÿpa *T T ߂D:C.3 )Io*} 7BA eaDJGR6D| dď}oQךağj@@05$`8M52D&QLǪ$ՠ S) 3Ox?@U\C''[ڲ&VD+*m(2v{p%J}h  fc6ll)ˤQC.wkVaւM=\2 0/hCeJaс8h; >r"53Qc |Oby1"(%[0Q w*_||d;JΉ=g0⦹ 7}p+׽ε SjGzefQ|nNqRq+Xx{7 9.%~_*9dVWFx[lZ?.<''7CTSܴayAv+j 4+{GM CWfA\ B%S(] d? _ihtQ柇$OBSFc( \ZE`Bqeͨ%r^q7U?$ǿqu7`D0 vOc?xjLX꺫Pr쳝M,XdT-:XQ T,$@ ?ϯFaܞ;Y f9 ?p#)@~jL񑒞1'@bT=;t(Ine*VG4{[4jI^Ih@!iQúJD[sa}# NGDe$r8aO!ef/5x1>݊K JuMr:ur xz# .t9qhjh )5͓.`Kᨮ#pP |Q4)n* ir܈24hRQ3B +K4C?Xy{ 0{lޜ$b\N CN\m0tEϗ -%( -7uaH٫Bi:|&?tY05֓P@;M$ 8aJ s1d0T_[Ju$: "P4 s@XFSȔW$LRȤVd51E5]!h9 :#AF΂#Ic0>W4V0)Qrx#pefs^j4XvpqCԸ3ߒ*_ °Eƒ&)=Ӂ2ZE"Wˢ'Me5šѠC+gŜ{үTKȭ{ j4o˙@ j-F(< f֠tc%^T{_בyl{C:Bt.o?F芉-F-5b>+:io6ڿ*W_q%"A?%\|S4y5_Dl4uQ'Y}NUOIS׳ʘ#b~aPkM:? ]nɹ{ - ϗ9?w7os̸4>j6@wJlxHOYVeۀ`lQTN|nE{'a QAoP8ȝ3rf;gqY0/gmߛA-lr&o{d> Е,@Z~%n 7xcWx6nh ~n5tрnvhwޖ;ܷkc^[f{2Yu3ફXHBc~fYh-K"G]Ͱͩrdn1:xs>Ay3K3+x򋎍!jJ~[&FޏvI 7>oF;p̷,oϭ`lځ[I;pˑ|xL`[G&:๬@]gZi }kM,?Gf [ jv rܡF(ٵhޝ[X6h M_wmn׶EN=[,]c+%ӽvRmsE$/rUCb1~LLLh\ΏHc|9UvNN 5@EQݓ3Q=mظWͦwٞHTzg!r@B< RagaFg!HYmzb@rә%w9<o r~zR\.L LE/.Ng$uL {]XKlz//./6}t8^;ttN1v RٌdMC;wY|SmTx wz'e#jH%^ȪB2(Ī(tgANeN?LVXngda65Ds0ڗhH])crqiA;g]^)Z*bV;Eǡ1rpbpb!^-)zC8Kp`1xiqGVm>qSoρA ߁vտDkW +j76W!y-Os~7~w \4<6Akz.vG`*|v*!Z>дۇ hzhm#>Ĵ'nƮEcV? GJ% d`A{qi/IR݅S\?]9~wv-6rEZEWۭHAxd`ڟ[/Qu5TjL[tt C}e NהgDvqvCwm :!;2bsծGgri`!Za_'t ڧ=HȂA7Âm N1 ^Bw/ozc1|nh.~4Gh ='cGBG !XXsc;St Y9$ੀv]I\Lp)ࢿLn[PoDcA0GG@'N#StS: zY'  f \6Y0#8 6}l  0fp1x03LSa 4 }^ݹrNNj ]Ƭ߇VYB ԇY1b?6_uA @T[{9lCȄO{DcSl10{ ,^]7JSzaJ${h [(m.{2<AH/T?’ s*b]PFm!5kTFSGnU`m\Ny -]`rj8 C1ʁ$ WFsQCtԪ8[pCکV8W | gpexz4AM6>ۋ i| c]b5!d /Ό$Z@Z!hq;- R?؉<@!KhCӒrL[oi :*~ū<}ڵx? *>0,'C\51RGdz)rP1!)* 4Lq `uNAKDz xڇ~@].{-Ec2hO0] TǠ>ѧ: s0`[9]|[,cFC ~DmiLK)d Xґ)S5o)`%vj%(6Lo1z[΁ I}i]v1ձ7!9@99Ё}|ۀ hSiv 74ȵ'eeA)Ib킙ѵa΁, KhaÀYѵa` H`Ai]6haX*OqZS4u5> 380KfOoݮgPMƯeU`L¹ BG|Z[Mpx_Z' Nͼ[h24kc5zχ И)XW f`AtpjD)LaqFOJo{a耾Ö,\0/-i ŃD}1?G}fc8F}lkh~We>jg0cdi AtPpfnp5 {Ŏ@-Fb])>ѡfdv)Gg\7kCϿV$cp"0&O,:8`eC_)yzQL~{;c6Wia!} 8CD .m*&gAc,hIA M4k^NC)Df=;:pఉm1c&. <34 }&>K /6$k3JACܠ}\L>a`8Ap\6/LoۈNG#<|,ڷ& dm&!HVcyP۱a R6\Ȝα-Ǯv᱋0c utD3_O+)}C)B?6^N <>Զ! 6Pdn o; ވZv,&5PxP5C HSMEY9rA>< Ԛq6!lPaҝzl NN3TGKp,GeB,(߁ &;0#TC"؟tAE>2&w^2N ݝx'' vϻFԢk%Ff8]w ;~txԏYt֊ ={pm0tT_`b%ԻX63x]S@d1 61 @td >(sk@ȭ`!A `Y8ps6@G;f-u :HB%\ml=lO{=m(IA0 J@!*I=f CT]uPzҢKoG #)O'm):o2£(gCYP8HSG{S>>:xeC('Vmu6$mC2Bp "AHP?+X.lC*ِH6zgl=^眭K;xl=^:t=Tzg@n*CG44Q5FF'7~ V/eľ<d<靏3L;FW'J ?<-4Uڙڨ8 .MB.>SS].v!ptkewE<;xzkty0 CuKHgt5Y蛏Þ aA;,Ma6=hdƆ}5.QRKLBCB^'Akw ͻӳ:2lC>%jIيSv$X``u_:I)pt6֖@tp ugѱw?5;mLiGîّhHhLǡl@{;`Ԭv+>/|3;`3>ؐȳh;B)~Vug Lt V 8˃N02>26y];b΍"38ĥQ|pE㏡PFb矍Tڻ v>$ƒcRq &x$3?5,vN453~0GBf`ƛA31/PhVoBVL^K~pt9. Ia[x0T)4M9FCg^itʵvjp%v;uؿGDtE z{>vuq0`-}.:yǴOApP۷Q!6$c)+ d2>d#- <&[Y EǷ)66 -tl%d1l*S-@}jKh (K w&ౕ/Frz<٬-]Mm GTwd1N@W)9"88@{1X}ۓDT1Iw8@>4Dc>:Ay?# ulBKC{ڛf;|hԶ f?>MLhЎcĔL%tpK{r`ϡz' AM11hg1q0af`Ma~Ɨ 8M:} h~sY[ c;Zv4XRЊB{xh1X1`XSM6p=-I6Ta=o8.} 4FMZctkH8Z8C Aj]ֿYOu' TxYsuv-ZPFi @tP`jc4b!!CSތ 19'L{B ,4 4=t0艹3SH .}}gCz_}j8|lds 6Z]ސEd׍wXf )B#K+attwYH߾2 S+t^ R/оz۸-ZP PAόB|_;}*%[=R9|ZD|^%[{|y-a[jXM'2tpO-/owV!9{zlXsR=Cr4^3EP%>ҳ~~f 0i+P&pz-ݷT/ΝF`BSrm^u>tl3滃/dhQ}{g ֮$x?9y0tM} Û閏Yphj؉|Ao f{췎md;Րԛ~A8l1dlFG1;Uc`C϶d,KL(Aۡc~_:uR?1ÈZt% n<lcwD&V1Kħ8}w'y1H7gLbK]RƦg!f@ǂb:n[?ty%:ѣxszq `H_g\}~:[@PZǤz4ZZ\s ' (jt6wblO;"\'-SqΙRa,߽{Z>)*a}pgbawZZJh˞ӑ˹upW9H啁ZT}j3[w/$Rs@3 `ŠAjf'kkR/moq[5>>WΠ?+"g8ZCTc"rV j9{gm׸LQ;^ PhZLzZI(zv}p}u;ޔ%Մk 51oլ dZ~cCd3tDF Sı WS%:)|5jvIM;*dH͸46!#8ErAulT1`<~{\>.->Q&0>H>^}]}-jYluݰckJNN5ٍ9Qu =wth4vG+ 뀴[k#!ZmL!bh VQIJ tPMRbwJ.bƦn:iЋ&4d PڳF @deZDjQuZ \_ɄQ|WDZqvjwZj``_^:u>fiZ*%c*h>x%7&D<ؾf~ Z-NEOkb"꡴۩^uJ5D*a M-vϯsFb!j'"Vv/J`? 5d^ Bj'^w!&jeX}]>\# Ć!=HV@pCոF[각'汅iumWk~Օ4\ڢQ3I-Uяk]0MC6vJnoKZ_/F-uj~7?QC=^>LM8eZ D7t;V ZAV0TD04 dp ѯ ' B>!aC>Vs^gH(lpFB_!'8@Tl2R]%&-QJv-Qq`;jDO,)5U=ju;p3 Ԭx8+6Kc'cbz j5 l3~X9+D*MhcѯQk cH 4TW~rU$-NnbӌyUb%\^1Djՠ䓭{.k`tC8Ȳ!βL`4c)qpj6 ZҠ9šllFVYyIji^^_?|quLbo m=T3b1ci$\j gC:p_+R#feP{A* v ĪGK:jtNga #k)7!z=ap"e[(A鋜h?u@uh L#{G3AlbSoWJ^ow/ y"wwwjhm^I mC{uP!m\D]"XV(I%񓠶I! ϡGA̿-d(Ew( ?yO^'7FO 2|-f~tBp LE֔t3֡l_K/jg?74=nda![?D\WoM:t#{yw~u~ v[ Gڊ_!|x~V'j`D,n8v͗ $[Dwv ;z?WV˂@O@SҮ8EQge\1&-`**Lˁi+Aݤ!֓4lZK!m?VjvWFb/\fW˝h[]e^mj{lْ6M,z[BVQA*Wjz˘pܤ0U`̓%@檌^i5K hw+|v't*my6%Jx;* C7_75H<ܞ.\?ܗxNI9,n"Y}a?G6}KE=|t]~- )VpU+2gx۷$Bن>/ j$NȖO^ؒ23TcMXճݢؗ'77X&gb#uF鳥IfxT16Ng5dKebXY~M="jq)ԱDkaQKwtz~VQ}Kctw8q$BGl׉_IˢtS-##:b"BlF n':(DW`z#_ Nϲ!ڄ% :BwlQ[]p+MNj]7m?' X-v¢=Uº`čcؓw4Pqմ$ W7zձ.8u_SvBq5Ojž vi_ kR:窘&:^{ƥOw!"EH{o+ޞt th]V¿UG/nEQnxż) i'7:^7>BǙvlܝ6wIhL ũDꆗtt<;|ձeqa-txݰQ/ŵ|l@sYHk@F}z4U6WyXw,?Y]4 ꮎt2"T3ĤZ ]j(]M G fZ^^yɒedn vv[秈.X$^|^W" ꀃi@[|a0P7|ct8?<܍K[sEw-ȡm+U֕ʴ ]|X~u'jx+,6 Q8ܷ d{^\j8 "9}tNZWؖgyPxw34"5)ҌyP[CLvyPk=Dl5ݭlQbVYњ+_@OPEXBSAm kǚmBdxGUh, p}]z@V j;Ci5[2VlCyse속^6 u4*y{iRΊ;/)( )xgH{9fH!cuNid6NEz\3Ҩ)IqCn%i6j/fkG+2V,j 295Ŭx$hڳ.9@jM4j󴁥i,VK G(OnxVJnXn񹗍aZR 2\]g.WMhW%zr`XZil lKr$D!<zģ|E1 ~iDX', YB2Ӭ5^U9,Ԗ,.%!go H# 5MvN2+3]= Օmp ]$?x/ї,Sw*΅H#עoNaςݩ:raIZ{/=キ!Q4KVo_%|y!?f׿N)M&WĹHO?Ƌ SSxi++­Xu,/ 쥩 ܝl,H| b7fߤ Yr3C:A$&j.>ŒknШ'xG~aR++3cS ]k͕i 4 ziIqC,^ ԊK>`~.|ş2~MDr4RG#b!(xIq&eTՏ%Wo#}Kq.1?{z//Y%x#2Ԥ7)쩏=S,G{)љcyG&Z6Z.kDMϷ=7*Wm|pp ҀϽ 2ޟR0mѲÉA9Y[[_;gZgXY8pk=_Qz=݆}yXҋĹ N9 맷X^j5~~wUTd(C.|ڃ-Կ8N>USq'u;Fs?4/K> r6C WvTpC' /W iPkbՖG:g/䫊wfk[G=iF?z[wwoCT]r [ލ_ ]6VRښyZƙ1MʨIF~LH/PSrز_D"',s|l[m{8xlǼ9qP,grЦ4ܔ?ĭ~K=E6cIL"+*BmX2['x^2X ?nO_OneB91-Lku"xMQ1sߵyHfR,sIAIRM\8>| Ieϫ‹lb]T^c~w8 pt܀@3=7YzWA+oBhV%HO4v1b|ޫ-k>T Z_U"kT) %#0fMƒ^ [7TyE7R2ww>>"%F^.okp: X ͵SCaG&I"R ˎ/ukGK>Fa'&;xq>9Ε% l*:a,MF3nAgXt5RWV㐐߫lo4&is>mޯgDUHK#:7~-Rǣ8x'GA6%ZmnUVic Q ꕔߛTc7,¦P^GGv?QSkJNG9֓a-ZKޤ%dЕ^# 7i4)\ϫ/kW&9ލҍg£FX ^ݼ [0Ԋ(b6u$r5IJ<멛2ѹ )v` 3͸RXH^r|=+%RuupnGwAnl(\i,4WIiF9ђN>Ubc#weqkL5d΄qMr~L-:cp 4Aݐ|vP76ۖ$%O{ n3BAo<Χp%dZ BzsTn|bv7A]<Ij9~\"wnE*7JL%YaS$M)F{"ĵ9S> &v/.eA33wƒH-0k #YNEuC~g4j&ʷ2}2rY.6qIת|^4Du ZNumESf1,ꉸ18DSSy}"S1yH*2-x?ΧD/ٽl}>vXYX^=mwDA;,Zy\;[aJYiON]2GX<W\rfnQ Nx+C .e+^ǐO%hDD-VO(_*YLwbJFu~]Z`]+.Ah64/W ,E>6݄ՌCϬ%IrOş6iVǺG,ֳ}F vZδJp7?dܳ_no×l}3[^/揫LM nٸ/y2nd̙=zos Η+Q k1|1ݯzJnR=p}DO[MBLT3 e ?b֡+DTT9ZvO8oeESՄ% O7\ZP>&=a;J)~olų!W#Zxf$^ 3 ##H|1M;̑ݭ{$3.&ׄˮhyT̩nOsoU/Mp`[\(0 4gL%;ͪ7g,5E2F.L kO5eaUs l۪wE"\:ϥ+efLoLobL̓ZNh46/^zwҥ9eژ9eAtLNrt'xOo@S1yx K<6̑Bs_*)($-n%u}ͺn=9^ ̑ak`fN6$bN52p^=t$S7z_>WOQ̟w+8srrR; S|Rn\0̏_J \yP @ 蛚AQ$ުoݗ(T1V%|4#oy?Wmyn['Q a@E?]g%#t'~Npco_&,>Jmk>ykY{v38bTɳE;#s׃@7NҨSρB"[o-Q^O?@ta~{W<'e _a?9SGކ(Է9Cz)ulSID yTDf"dkTE0uW{*wU ?B?>i)*n;Ȥwf^k{j"KKvZ,UR%V;*#@V BvUjǙ,$-k@Y&-tG35}. FNDzlBJ툢F"fj'̅EWFtzd%2$TFaeTF )q9. ?Cb&9n*AI.LGRH㠚}>$6 ?*/#hsBP&"-7yWLw;̟=oI+Oy5XFtN_Fo2q. E6jlҔ+;z:wΙdž.)hEJDCQWO {S5NNY݇ꓙZu)_s7ޅУH[l'WhI#{tfM c,ըF}ȍ=^iG\IՒD0"?Z$ȟC"틋{hCtudXbג&zv.HAv\WDAwV) 78_,WW/Y7(ƾ+Rh%M(v)kӆ+Svy< unk*ʹ`~iR-۴ %"YߗWbx:WZ\5-տ AMGk[h*R#.$@ˍXrڄ _,̡{Jz-l&gd% WY֖jUIαB7wϑ(wm͋Z!'qN]7'1ѫnQEH>o(b=d57@|XI w:`-S22\o&ILƕr?YeMcd/z)tF2G-B楎ͭE(كpb t=aov+;mCP7'wR6{uXhZ{XӈdruSf~gbc J3q?m^A)/ 5<|6A3 8/}-k%\){VF_)L_m)L+.Ӓog@G.u1[\͗F81bx=s?{xec$MJ1Fb~r;+k"_=Wx~a-O-_r}veoE} z|!_/+ ~ڦIk,X-I&L̖n<4ig6Zޯ*Tx;0R\%]%r~^޷Ww^JG5:`U C϶ Gl[3$.ͦFie*"͏4J K/S=AQ[?vʙfyp7WJS~bn%ki4K| ﹅ UgXxGxWLVd>B>AI*P7e|x6JG!)'R0xYK#7tSvUs"iE3Z?,ܖjZ&E9o pTpITZ̯W5XTzrC3^#(DQɾxpϰY"Sg`mJ[yO2U5q:H_HA)d. `:Dft'v}yAS}bܨK5-c#qzPL(LJGV|>F/]'b~@E߽3ូI܄ٲ9A'-|h7On*A$2[FژtJg,ǀ߮ެME 5 JKHޖ\\xi'I,3iQI^$ YmVC2t*+#n?g_gw+atCtpOِ^}2Rkw/;geW  UI(yx-.{ //Mac4- &G9&FT1RmDI)̍A_)~48tZC_{ Fxj wݰtq4al9M7١\ @]y'/mQH; /MUrʕ$x4`d6h˅LrbFwR ڏW;x??TiH64Us'}&GYj284l R3PtZhJRt}קE5iC&ϓ~DOsc'~K=0d%0>)L-rY -n%(u [1 *)~Ktb<қv8ɴ;TiQ\z~zL|_2:##]_G'&-3Խ{p_ԦxG6Z72ЌVI4[59Bi2jǭ t[1QE~>qtǑDQՎׯ{w<>. +f F^iQ<oD.ݬ5\bȷq+ zщz!1fhpГ Cdd>yu/.xQE 2&daMˢq~J#JYLo !T],@!iHȤ7B' ׫.'N-Zkvt.4[4Y9de`Sr*1lGkhiFXk6UnW$n&,)@/oK͡7 {|ww Ȱgu;GmyXuȟ,t4L={<Qћ{xX9/{X:&8l8$%cR1i4`taHi!C5WIH^5<9UG)fmՓre@]Qz4`c(viVҞZ-ƚֈu5B`B4@C .d eХ[BfI)h2DqHG[䇢-!OKCM@'`F v !K@4Wȶ7vlS׺5UVך4AVMz`(bdQHT`CQH# B. `rI2D0"\6`Z #ݮh}" '0̀0#RÌI 3!{(qpZ0|Т-tVhCiAѢiшE#J+X[a)--t=E .~eTH6> -PZ@(nA m-+R}! O?J%CױD+!Iq*㡃E:CrWQP#VqC>(D=T9xS40[?Dz.,Y z^8~ƚF'zaC(qҠ9CZF@-qQ{* I˩8'ϽǛk&ˡ5"=4 V2Y 7?{țk@uг~BB2_]Q8y}ILʧ/&SIlן og$^њUEq^)YrP%dw$T(ǜ23J =´e+Le.^_W?^Z::y_7>VD9caYwR]V͵V[aꔟ~N߷Í޷@Glj~=m+~(<Oe$$7 ޢ <`rGm'mXe{,o_%crtb9_F r B<;߼nG5..] ~,~9~k=w\SvK*ZIvI_pL4ݛJ}l,楇*sxl[o_n#bSwu3`L$ȩORn2_mu0_yq"HZ̯\xINDH Y /uX>RL6\pkq;[??({LgLj)KK7W rr yfw,1]s-?e̻cu{uq~[]3=.DܯsղBz<X3|`CFxvδ*LܳcbJ_;?R:8[e{rΟyU4 ;V|wWyqR_RZ#߇x`/9q_K"`ϋLFp_FPVIcˏ X n\tWiRylWݴfVBcbxWergIc7+eYo~XC!1%E/ƚJ4ޔZJ qE_~$2{wM5}FQqﮩʍ,쐦8q޶SMu"Q[X?6u3T> OadžO,1 D'"Z>^=贎-c?t>\;ª6<߅Ǎz-}~rܬEfLA |7gI{p EI h#hcYz QZHFM\%yHծwD,Pmkʗ! YKeI3cj\0q)Q9D|KdhF5eׯa}:uړm0} +"5浪>w1qDd"YP}jG'5 E?mF{,;Tn&@.ظj/-]v,;;]lyD B&b'@Bv#W?vל.?XLȜ+z~2Q]bJ`Q#-ne|sM (M8s }~eliJ[?\GU'ݤh(-aKK~0W7h4[xX}1 n$ן7 IEm9Xb^pSD7? V q1=׫JL|u>dU[pٱ*\?L0E?fpD"wE-\Adֈ_n9 C2g[{n- tca`rw[ ɜmҭg%f&!rgQFdζ!uE7wE&=⃊%Ru\wTgS#=jir/ζÝSY+=:[pg{|!Q}-CFdζƝU1133|%OSPK%Z/?\dq>{_XOy/|pca.J\~~|2[ܡUDNwײ!Wƛ((Y*I1jO"ԒrQ+}&uF"*FE3Ktb_' c'$~_mⴺ.DIx.(*.e "n 0>d`"-yZIp4g~xhi(Sp7mOeVH(HNJr8lDŸ5?SH劒oRVy&V""uP/%  $_2hq%[t|as쾼}vsLSqAx!>?CoOMfbN&Q-S*)3bZ~SGoMnzY2+6]{{=칼ùy+pJ)}? &`Hp ^xm)t]+eRZ&*'`(r풃FY"A2z:!kMG?DZߙ§§@x ȥ-?nV;JPc(~5[O%PVCh>?_kn+·5v~墂r$-g~S,| lB 6%Af1+wJ ;#a`l~_|XS- %M/J%hUa(XIVd`:jUGȎuQ#mG:\}u3V7m7۩S]WLA>_zҁ7hʰ{WNiSr!TL2)EE?[]įޅw x 4`-H$~*wP8=s[J2׳[n4jen6 |gsyz~uoY{b2yuPgc3m#w[7>sҜ-#G)]JbZJZf5ȬNFKCDGFQ  Ta_6m2$v1 `TrPQ?ڲN j˝&Ƚv ?O!WSOD2˫x'//;46)I$Ҥ~p&q@`84X;Ɇ ˕P/U;f~P%01jHFd,u^[Ft2lq]&UY^ rj.N8Y*=f!7 \¶j8V-.]op8p8.MsUeZlԂO+yaS:<+{ӶTwJ}^vn*-;ٹ(*Rm -3%{6ְB Agil;*БB<끭ӷ72"5l%gEr"qDIa%[~ ]M^m_ CMQ[~o5?h,eNх k+˧S&d9r0uXuC5Nhm p ]דvel4$LA|w@Ix`;[Sqdݿs숶-/'΃,ۺmTܸX,,Bf THO~8y=2vDW{.R'딸ԆGF7-ZW8얪DVsd:QYGc dfd^T5\h~(; ˒DҸ6 $ē $ze9b[Cx%/eW'x*Mׯ?.ndIv!m Kc]n-Mvܳ#HެP%J!Օe8mjF8m^VRcȺ\'d ; r9(MHȱHaC`Y2eͧ]Z#"P@I39js((v!%Y+ .Nð#VZ3D$jagt*,c/-n8O>_q5< ,gzVQMb#w~#:I7~>r8Z! H]"+nc]c^Q#}}dbnHoN%B8!m9x[zrЀ uўْ}^q׽9y%"gYO; q˰^'>C]Ė7,&ӡZ.ȳk~ba=`gqSŭ{͠fI.#Cܖlc&̩3E/L.Kp1|fXc =w20ڃۻ7`? koсtp&J(z_ ;:߅ ^w^@}VdZv.YZMogͶqI&UXRZP=c<|g'-:y>i s$+ f-Syew ;oȐσmRVymθLR}./h B[!Z-b[ !R~Q.d;ڐ~ EɭW԰"wGo2f'=GTj]3Nԭxb8+m~K=u^CLg %`SY5MQdD IFa剞V"z6ض Mv|"LE;pJ>2#_jL`+. 7'"T E8fa~r15laYeci?)T铬uf@s0 9PB3P K' Mw>5S5r}0|J| Fu[E$L>!y 턽 qm6N2 SU<(ΝjTLIy؅lYB#'R:d.ė xlZ[~˜d>i})|.[} RVÀSݕs0U):PUҲp~e'YrC)ٰsU4۱ %W=ټoa;/h;ZR\ǔ6y(ql>[BB} 'iݓg_L4+Xd8Q6%hei-կ#tk-9lQd9G} ʈm#Crnh~|Q0|3"d̦ED3[~ u*ug\_$+C 97sN @3^LV*b̼'&ac7j, OC=`JL@vD=Q9+|ęmdKgN7SϹڤ=N28<m{ܱ(|<|GX09xvӻf+1pIeKNut{+ 4}pt;$Y8`&Le…/ Edwc!.Mv /P4OnjP7_8P&ƫ|-=!a*RWaaU -s]5#OX-.f]ȁ ܿ/byp .h~q}\TNSn%"u6 hҵY3Yy=FSo:6f‰U>,(z˷0Q4I{*MZM w~ h[K3Qi_~.CxHղLm; a[Wb\UGaL9Yo=> &ٞL ( @eDDα*6^wN Zo8CӴ$ofN(Y@$Y@tw  +gP;ULجe)xD,;F!8eEdWޕwґ$[kL܃M隬#No #$ 5זpi=A鮹!E76I ⼲â ro wqys)j3)W2G8WV6f;Ul^ +A9[G ^;h3_0O. 428ܛe[jَ ЋL|zeEOKTuЋa%S)"tC8QcɥUdT\tܺT@Bm Pdmc(nBZ؃[10{8A.WcK?_׀XYMt$+ sCiqnQ^b~ISHg{r%30ޑՅ G-US"ƄIć<_HiYMr6`jtP&9 g'˺:ߕQTBW("m<Ҏ7k^랮Nݶ%eJ|TRE6tHL^Ȫz<%>Y3ԿO@Ӥ,0yQӆQH Ŕ&WIpQ[e[MRc[xLFdih<6;0)6'/m\g}ް8w3:C¶)Ƕ-|x oZ9iatߢ#(r/Tό \$:j 'a?Q5E28hv#CTTjdPBzན)DzqIK9D|9V \ m޵ R#{KAC*G6npVn?m//;vn̛Ռk&q|[>4Zt_TEZ( T$7CIȡXNq;]H Ru2!b0kQD"IhMBGzvJ Z;$:C"rj?,Eg<%;_#e!|1ʱx­Ю]h6Ee ݴ 81Rn;{myTmo6R,ͯFv,;/yϖeLfYU '\'gEP/]^a| RDK_.AK*V|`Yi=|hM4Z*ABiil1Ɛm=Q%k,RdЮ3[:`8m Ԫ2ݣKzvHyl,xf ?´jA<}{/sc^(g @5W3ɚEē'MI)#N\gf.Wsp|}"zsgO МbW_VUR+Y˫ӳgWR\N:5pyu{y~v;u<^~•Hj6l5xiYuڳB}mim; XD/a6 ᖋhsnva "[UG1gE,!nRٖ Kŵ8P.dz gmq@pr1ŶDdD~jX6/ì%~b"@n|;KYZZ>$۶2oj.,MVr>ta!!8UymB*3b`5\6_"AҐ^am#sn<Ө"ݘ& qmb[T)dw;Fjey?uEP$횎t79 w 󰬐膢5²j揈i64|lk[{N'Ars 5q /EIj͗1ܡeH+;RuN9s@j[+t `(y#+%غ :UJRVV.;*{b\30S/֬nI( s$kBY lf \_Dh69Ffyp~ĸ,8r8^ڐyo/;-IY!l΃{~sqYpO7c\<<.gA=r~`!8. ΂z`Yh/fA=; Y )~ *T;)gs|]) 9s.~ _U8 U$ ٬̟9ܳE*,!i)qqMft_̜rucdMnQ:71Jmţ3^eQ !BbxrR ?!'{ `P` /GT͔y擃hV[yj;vcH(41eׇt)%oѰ:a ^\I˲-W+ce,9z R_;Py*;t3YQiPsjxJ=̹8aQC"\uR (Z-vKZ*}>>?cq|7}ί?|>^cd|;כVsIP\z" `n?P:[wƽCN8$ @(0|rd~kI;~<-K6&2 .Da>zQ?`^Q]V.n#C1\K&xvQDOUkJvM),Of>$*PWm/l{[)h*,dÖ F4ͥ#LX_J";SY&-c;<0ql=|0ޛV;%oȟͫwV-n_%X'̎8;NsƲ?߇>4$ûH|Peu.RY-дc*xW~ !Zpr跐?f\x!S$ ̶ADžZO},'(g35  {K4[1'AhU-deXps)nYV6*py k4D[Q\D \i5jJ 糿/L|06L UNm{1z{ ztlızms)KM(`LMs}Kv_{vqf}dMY=l^؄#a5MB/񞔛8E4pL z9K} ӡ+y ]x d1VzCDRp@~;%R'km?M~Z4,9eαF;l *FiS -3)qt39Q"aY~8tDyl.؉ҋDo4C PjKTzCڠO{kxy(Ȍ"Uy^7IJ,I9wB[m}5˰^'<s %VWzU}vՁ']:CA,_Fv8ܻ{(BSd Kw?7VZpBP"kyז+a"v܌ Af}!.2#d%ѧ9?"ZI/ ED? :0!R2_a{Q/HsҬ-% -vkHhéfbMe:݇uhV>xa}FwGvކuH0B-$ Z%p* l!Jn*#ʕ?ѵߟ xxy N$6֋%@%vX ":Y!ڒq;WDH:ZٞnNN7+.# ̧ VKVi$lۊ{qQ6\{gk )0+SL/>lI0:e;0SFݦ;\._7H^Ad)_S@ALCiZ9&{w|m jTIP%k]sR5RpNLjKP%[±1B;N䷍߯aZϰFwZU g\7qU!Щ]TMV:KRdYZcmy=-W1mTE>NgqBZ ̛ya8g-#kIKj-F5ƒ0|"ɩ۞O|2c{/W9֞t TCef~Kf輙s~KI$av>{8ֶ~;;Emfj[8Yϖ+c)Il9:Ńg|66^dluc猪xxZʈYO : /11_UxY9jkbJՉ{+ZPni`LMA"g"֗(ۻ9ϸHܠuXו`vkr OѪe!N:Nq?Fgd=9T^V>Y%>g,7~ X){7\^&y/6Njx bݦfee_j3APъTqiAVb!ڔbOwcfӤrᕇ+k9DI9tበ1aDJjw1=c Ff #L\R#[iH832 ح#m hiq;L8|N}]ab ~1x~Ugkõ&l/~7ޠnj6+?Էoޠ̍mrLb W'l sl6[@hhJ* )b$Tܞ4E6wF5n Tϰg\~uB}{Fҟ2Q9;RRj EDϩ.'fÎb `UWyЋ<ݤ!S{G.iU]x}]-BFc6g0_Lsl랠qyvFv Lؼ!9ۯ `o}o|l0VOWp[7Hh&wް Sq!k߳z"LJg7t_\U}u joߛLQ',hh=V 1.3 |1=n4<ؼ 򝹼6;GLg~SϤtJ+ cUQG߅$@9qqL}ktY%)vN\BXeGIr?!66 +2 ca"`U?҄j _V뛸ܳ&%櫚TWxEV2ϺSV48\!#?  ˮ eA `qssuv9 .oW>?׫ە-yLDFXVOuU'd|L';iMfKo@mHjD F/,z|#|~=9[1*9ZV1U`[U|X\h):8cm:UZ;p)\lVL 0ҒX#go&QABÇXD 0E!kxcC~07:ju'hnWWUlXrZGlY-(+t"Si{ڤir* ;WCGjCҧO:<^T1UΊXYkP 'f5쟺J<]C| ^999= M l<6*8& VQq+BE>AXQ@'_Y2\]F=#GI" 4@Tc+vG򇃵!G`w&qKEBj`?Ov.^/o.ׄ"{iW]$Xrk 5dסG`{ho;Y\  [Dlx&x((J20m"Θ9 [~HA37ūA&Lo'r2`r7l?vw Khpt Rv.N ʛ >|^JֆnK·}3|Nҙpl,`YT]F' 8эE$6y C(ȩz2*pQ=0O  xkqE߇UQ\hp VhMI~v# xcQXƘ& j)&;u/ٿ@:)Ԡ"DCR -yʦM3v&{lb"flJN+ 5|Fҗi8+e.-Q7lq6CT~=(GqimSš Oin}M[[I+wwp2 s{V]`0uGhl?v Ej38}PWخ{VgYqp?V*OV% MO7;*,Q+FiS~4='C!p ynIxD[Od f5%IiTn8ų"n!}En.`Sss=XK䅠 NFK̍n=⒁sL;+BC޿6vlS*Z5 E<8k!4#t]n16 f2,M/Nwݭfel8FMub<]gno1zɟZXI;8[ђfk(YE7ңQYS$;l{Bfs~u&yB˟O`Uzk֙\о('Q:d.@V+ǝO ۼ&׋Dp{_lgoGA ;~rN#e]awfqWyhʈ.@XQQP8-&Z\\{Hf=72<G]'/ޡhK愫 VDT"7'xTv,h-G5kzy0XqI0˓C @T,0J=kPN"z}kVJ.0уנ5c3=!݆a9dpKN4\7^'%AѭWܰ@4 "2Ȳq@ 5D硊}ȡ\7WkcibT:qxt *`5I5uAzd[ヽbu&G}SY(1iUngg**l=għ;:g~/CjX@3{l'`;5~"Xxwǚ|'&i]B]+sD[WE&+[1녒=kmݦJk:|/AG}!ǰf@=C&6N 83pxspGq GhXqpzvnyq΍$rupSV9&s[^__ݬ:Ct/#GBS׫Hrl`H ?t-šk|r2X\\"8^^]/O4o/O8ǟSEj4m޼3ɩswXa<(iNرӎ[4\UXOnYa~,ZҏQYb"Jo)ee߮ 妃?CR,"}!I9ed*7Ćs<g,{UV%]pm֖LL\!@(=M[zAj/Eg(YC@pUb`l 4mԽ 4ĥ\ <NL\9ٓ砅bGwts"y::9GܖmWĽ%ߞo@KG so*ݬ4ц4@t&xU\_-M\=kFf 浫Iq 0j`W)ʋm2>Qh;|)>΄Dġ)[T.ry_ _϶IIO&x"F,ևUx6Ȱ3vl:;Gw4 q_')ǮڌfM:cjBd5șcSNyu _:+=uyM2g11 \'YKƗf<ڐͧ .W!-SxZ;mAs(6Uu}:fMxGxV.F&XwPT6#+^Q|d'Ţ0$ShD=9x~9&~2i%15.㇒ Z*ܑE'p?z>{[d vs"/[;}؊ G:l/|VI?B} wxs::5AZzm~')9&v \j3F & e/ޱ]>@riͥpFZ_V4Ŀ4.lp_ 6RUr\ % %A8ZIFxGo6Zߺ/0Ey=Z/ڏ3d\\SӰ Piim?]nclY_d^xKym4c#Ί{vywN[gk#5-ij SQS7yV9ќdS]dѾ9oQZk#~'at;7JSUICbC5ϑƛS}<_Z1ފ6ϑ ,arDwɻy pD(W1vݴoQZnL@Q*^I=R<< W[$72DG}V{:H0Z.g 95K]O 1;F:F$M0 c;+Gԓ:N)ݯWGW׃F.N IG$P}}Zܞceq4ZHD0椕 o<1c^"Y*աT0#gɜyҷ(V/rn0H7ᢕ`jFjbh dLwqO`=#TfjK ߢw HbL^? 9QOr¿ZJWEU;>G԰/ԟCt0A\ǹ@¤cyGX|~F6{峛\ov<~ Dh{shP{>] ȃ^gP)Cdhh;nGZ,hNVzѨ2{8Or{h7 ~]%^{*C s!5GFX(dTr]зZ.uJL#kXJXNN|N\I)!8Tw聲0Ri3H_G=U "uWn_1M km;BQxHOuy{d)d7s4-ρ&w5ɏz4G`֞5TDl;4gӭGχƛ>:t@6 q@1]6ggg9cD3{7n Ks} /1f"4=b)жho=' Kz{_˧.cJdO8e¿̩pc9N&KB̊-@!eYқOU?Zt-91 j;pڵ86ޖJV_cVY)6볉 ҝMc,\Q Bd`~oso+p;9¥\%%6/80aZWhL9ltf#kΣDzTL{?X/Xf+tɟF=i614sfPgp/,D g:!.To4r~O[-aɡo[bPz*5Ȇ:]:oplG[cG/_ hC="=[1i>tWUkVV8y G N5dm+Dȧ5'yME!,(b-+&E[G¡{c~m{`M^w3u+<*s)WNWЄT0 &X[[@Cp E9Udclu՚1 ;0*r_eCR.^z.$l8&7쥒~ Scѯ#/$`VߍEwx O/#ЎN $pQ 3mTLﯶC /O: jJD.zIנ NHn'PIm5ߗuxȌ[읣E\. 3y^M!+T>ըHf&|94 ; mlAA å[iNۢ ~<ЫY:oe^+χkoC[רqZT2pf=o:YrU UL38qwPtD]ّ>rAg:8'gե:4Huzx501WGv0;J-1l%/ffu8vL 3mL^QԂ>;5gx5~ШҰTe ӱˆf哳0j.v]RH)pyYr-(COxprso`uAߕqOSj*X|=Vrr <3]m օ7 {crb@֡ w9\6*Cikg9 t[ӌdEA^2 .|3Z[kF@O3+ R-`".Z<6(;390κ81)]!YJ[v<8\ $Ҳ 2]GF0x>YOdX18`,ytL!we՚~T S}qS!4«;_ޒ[3 SWO=p<G֮`hFG#i)8+HBr{@Do&ZCC%S[L~J7mucq5whwSdπ_èS~\õz/#<&BM {KT/އ =~ fhvt1t{/tzj|H$H.&V($m*K,RG Zʼn|E xw JBG3e pM7,zM3t.֑:RT\rQp( 4.O3"FyG+/ӝ$rx"z]j[7W0>6nrZ Q բ%^Ԋ[ڞGx սQ*(x bK'Lz=C$G3 0QϾ ~E@5܄yڅ@HWa 5T$_- z HƷP{l6(9KѽZ{׸OÐoZvqHZx ;hՠ0ao:/#*[&F.\ı+CC#x3eD{}"Iy96Tl@M^;S:%oOx_nhnzVD X$zxWmUMֻ[x'NaRvm APW3mG&f^fe䎿6ĶNx2zezcb|Cǫɷp;wVǏ<ҌA&811@~6a|㣚  #@Xp_h19ԅ D"}'Ybf=z 'HR0lMG/4 43@tVڛSaԞV%ğ3]?7DFv nYS#6>\|{fm>JdR^ɶ;Ez/_B/\T,LTI'ր^@qv&<-tЭ;0 >,nCyMwД|א.e\!U9,Z%7t&=D@ d?71#'S6wIgĽ>jubٸF;?u(Pg_"%P.i`)wi) ɲ5" ͎'==_ǶfadDk;E7g+l{Dg-ňnLhw)8WfpK-D?kDHG;-+jć*<1Tfy=X{\p/Ra\hkԴwԃMۭˇ!EBEC*FVWZE6/*IT !wqnk9bNyma ͩjgX!@%cO_J(%-(䄾 pOa|7!^G͟hU_wR<{1vntcHB:}L$@MGן`(J/K-uPF4SCcx:i1v"G6X}e'#ړd`i*m͹H701 RW,} T#^׭3 JX4@ͧ܊ۙEwmVm}WVQ\GұekH~1I[/5TLEhhn7Fx\/2{A"!;.,bn$n:jɖዜzkʖɶT.L}Ƭjz2`8,9٦9]y4jgr$(BI6?o|.rG|C%_PJ2J4gt"(+rZ1L/ X8v7,d#=*͐stEU" SML*uF[0{l Kq`gr)pF^3/}GjKTB /m38?l9[qP7mBrc+qqܩUfGDC.G25FMyD+Oۑ񂮟~sxBpRQEOw*{=x+e"OGCPV[Ƴ!hmo{o3̮uӨEVwbN}"Tcƪ.CA 7x >0E\E ܖ7$ڧlM\qBL}NFg"=*8Ftfy)W0tb걽sq '8/,³l.3õy&#L?9yZNwE.t!OHp&`W<)_?=p;xr9,&*K <>byȦ*U6KZ|珴<Z|2@(_ Rߋ n` 4MUY&^at Usg3gUid>q K&cqYS^MZ)Ixj^j^I]Rdl='(HFp5#dL0_kVf+(AD;l¥y.|N*BrDc}4G{aJBbY. _1' E˳ԖzX=A5{Jjh٧?/*Οx_6S W~9-H=A²io6l(vFFF^\>bp0_3ATJ[AhC/-Z9wTd3fux4 #ILo d$ /~IKҷ﫷20 1 } }6nFu2V'K?ZPF[G 8F:f@M@ @^]\0%ܚ~\<96"+QWJ; 4mbò[~|F|/<ԙ } cN;bc5d4 ltȥGtoD !@[+(:g哕ʖk̒}4HWӑ3tϟ[S7P=|kO(@>/$i>dFOS(e;xhxvC\YU).&;.gDA(#gci f?U,a6ultk QfQ[&*è4{ef%ȃ-k+  tH|&c:LYeXPizڥ{f27ǪXö+Է8iNg3 iYL YOjS2&6{=eCD<#~F73;8RW^%Q(noU"6u"ef47QΖ#&GZmfղХP>D IÔR{N#c`7)gWõ%adU#@EZY9CIc)~iL%|eaT$ AFl^P܊jo ;',l#)ኮpi4s_$h'8@{Hv/T^m֦vlÛ_iݖ{n_^xiBIWэo AbgP|PɀY^K-۹w=Vfs6? q8C`rLo, Y]"ՠĺ}H~j0T ǡpDB79#r~H#;qiI"H/W]OS(mA,fH\FLC{CϺE"f }66B"Óuu=a_ $ԴK΋ReEj's/{Y$':!aݝ K\tɅ2n%QhboCY;HlS| "2uY̩S>ʙys]"̤bT0\!"\L$б-o 5T;C:RiVMXLSW̉CnS>`2ZSwq/`muʤH >-k7įTџ0h5!C9<'3i&o`.S^K&w&2mfWpp z6 5ٌ(,)q>V}^KC¢d`oľx5)Q(<2~~AZ7ڡuL\6LMDkM/& ѭIqwd;g{fBv:4,51:Yar*3C+AbW)+[IЫs|^z; -(0S<,#kSI; lY"ӶSu^Rkk9Z2> ~xyK+g͜mZUy:лWue>n6f_ \L-vmOEHpA]uӁD-fj 7 *u7̍M4p#-yK>2Tή'?o`q7EW#N2/::ct2dv:^"1 !\m9}їTTi}᱁Nù1\i|iu>1"ů{K <E;nK7ʥ)jf).[{k<^˜ZX+M}3FK<D0 dY\@Ti[_+B=-%Tcݫ<ZF𳱉BVC(Ѩ"x#x 4*ľTSpocz U/ܗ<޸ߙACXTK6)t>ګLX*a-İ`o(LzB#zB4X:KYb7PX1 lzGw A҆<0' UqPޤDʀ(IBƫgvduiV:t>c;zaEL2#AI+>~d2nz/{ yٴ{~hrw~N5;.XXHºéIh&U`F>Bu*/ / e^}Pi#WZx9m._rReq+UGΎB}=[>2COQ4NnPN&Idw9*)`J+x($}$ ;W,AYҩ}A,9[aỏòvlK~k1wJ$꯽)OBVC2BTSu04] 0,`sZ|\Ls =50ߏsݢ~`bG^)iY"A!ę*~؏Qn,t'K]wc%h׎jV3LH7B _u-oL܍5OOBaA͔KyfRL$ZF #1eF̞A9Rxu6.@s/“ad>T7b(i8O|B tǫo)k)L҃t| OgtI4~J3c.^}gXdwzM ;3Ϻ&#o: L9x !fs '@TGFx}8 cm /J>˼÷w>70Gcv`ϨVsʷ9JZkhGBӮ(>ΎҠ2t%1Grx7b$>xv5[whpٰ͝o= KMRbnNnJa b.%s<>6t[eRr0d[o 2m4TH9 (`Pl¨+91aln.,{ia#zum]/ 7-o~~4/]ݖw+:ӯF#E"e6[`[},IQO7$#|hK_E_zٽ263-LX>~ibfuגje RQ<:Lp q^>!LVȞ[HTu0e4u9ƮRH0uYW)aB̆2hJXaGhzOk* F^j.iq&`"L. ƑQj:ZB}*$v^BK R5Ǯ##߃C,٩-MLb-[6ZqZ)clAH|'r6OY]3H Y1M :dD2Kx]!$%VZbVv/EMU>ľ$[\Sw_Qx8 3"qp98ie3i0}ŕa<-X1G׷YZfp]ys47.r4zj)VƼA$'aBEΤy]*{;Őzxm#/+?RAoD*/zQIiq<]=m P)eEC* `E I.Gf{dZVbCd9q *KS:[+94ҥmvꙸmTMT7AЮ~𦨠'sE)GD;5/C 'ԱٚٝH衍{F# ܨ^Kkt!3%7/([OGS i+Y,60eh>&% C)QE-+#_UlL4;7{lUhr?k@J0Tqh{MW~cA:M+y U쪦;qƼ U;"H,reTygOLdgu^]Ż=aٔH._PbYCuUgŷ?Lƞ3G|&CXp'zٚnʶK^D{ O3EC'7aS=߈,{QYGa p+kߟBU",#X\t7ֱCoJͤ$6#WG{[0U:yJI(.I1+Zp8m#;5Wf"B Q:_6DSp <$'qT,.IAũsh38!t}yrGMy߁ b fJ# @}˵pLԈM|-  vSR(jhҒT "mMI$ =CnfϹBAetj (UD2e D6p`w/Ck+wR܉0 FUK _C #ü5QSPm\Q{#^h%F$7G)}S*#o-T4.@NW ,sQ_PR,.AtUw-,Cc+ڝ00Yh58J͵`;pBH`RMb]%Ze/:td/,BzsV~2NHdFveōgl36 A:K /W+psl]٘nZKq1MmAݤsSsGN'7^p7#0@-n`_T%QG\͙-sY٤Uٜt7Kwg6P%JfE(\TzdfJ8$NPMVhۄH jf T9%z `w8s$ ~(@Αm؎,w醢*SR5 9njD ~z eۑ52 F7](2384ZMF V=B}?j;# E.yI=/<[/Hc{Ɇ}Bwp,pt;+w;搘$CFkZƛYd_qH!ЈT8!px/eW7|Ғ{~/_5HzN*+K(,4!kLꧩ`{MKxQ UaF"Q鍰< ]E[cpJI*b>& *G@>DBKae7c.5<0!IP -{3r0Z..gk(03`Z]Pz6f<'b}#0 xlԎCϢ,a¬:*%ӓFjXsZ]~f)m(Cڐy]7e-cӊ+؜>KJW7݅ ޘ~q3&a3+mIΧǠ0H`}Qb"]z9GɹSkpR*鰺ä0|8~XgYZb]Ӻb-}fBpoxюZ\gyi-Hx8c V/9uZ&.y_<4  #!)( /gݞZdD~[Qw +ֱG.G8?uرo$2vc7 YZ