python310-doc-devhelp-3.10.14-150400.4.54.1<>,Dfp9| E!"=jH/m q-^p@KDt͇ L빞6%CNn݅_yNQ_NN._H|AR3EJCif#ntieIwlm tf-ĠpPduEsRi.Ŵ>>GL?G<d  . n<@PTm > > X> > > > >>>,d>\ԐԠ(8(9:BYFnG>H>I x>X Y Z [ \ >]>^56b8c9Ud9e9f9l9u9>vBzFFFFG8Cpython310-doc-devhelp3.10.14150400.4.54.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.fibs-power9-18 SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Unspecifiedhttps://www.python.org/linuxppc64leBp+>U:I9.g6 4%h6c]*fTZZ)A] DLJ&d8//.K6]1)JR0y=ZjZJki0D}a[L`85R =L<B:~fU\FS_)0DN0?-mbH0mJxt9,5(1lJ M375GBtkWeu3#iN0HUEO3T8/#~,E8zJ,ۏ~T"P-9flF.a D>CV|QIv!-;I *Ow@= $B_g(4N)Į\p,*+u\qK|l}SQbe_8Hf53 FGNy-~^F@%y%< 'Y!&hL_M>@fcf/1Vbq2JH'=w5Z<Gzht?sg/ 3rlplb@WLs@.p68%PWa2+)n3m.:;K/9%)=blo7OfdK 7ZWcW23w4;.4 96?ȱlD%foo/W.f*S/q2;f?qky~KQX8]%2_Rk8Ec6I|E98dE gBEFNmJlJ;2T:fP)G]yiRIB@0Pj?s_`ki9Zv^G-.9O:F U`EaZlp{bz7SW~Pi<)h1:WLpEr1ΛDq,Pˆ17_`z|-.O?,NY@aYl}{r)B[Y]jĨSd{qN&'Kwe2jlDv QBuy;g J=3 p>^ڵtC/UuNZ3Y#jLPT~M=U}Hg8~S38rNN{2AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4d28200db23cf1778bc75f7cdb92d4312f8e12dc0d1435a04544906c78ed33ccd488b23208c21fe601bd6b2d4ba6c44d334bb075babbf7f0f751318903b6c5d4382828d64e88644e47e695d717ea8432ec1ef79a17f2d209b11aef4fdbfa4bf570d752f336a9ee7af4a56b8e5b3696b962b69793b274f76439165823c69cf5e04bd5db0b21f178fd8b16f7d999d0da20a00ca8d271cd556cfb1d26dea91aac88b21a9ea9ad785299a282cccc4b9a93cf9b1f028f65b0e90c0c41deea019953beb5528a56a8b0f2e5da3d6f20f47057cc0325273ff152816c202f8a114cd07138ba9abf87cadffa7027ca298ba11ceb6418f3a9abb32ac988c8d342e7c2b3fb2e277bdba99ffd0fc3356293aff094e234837aaf9fa301c6498c50bd7a525646ce97e48f22946a092e28d4306491653c06183fa76151614d10b8fb7b51dbcca7add5cae8d8abe8a32ebd9a01374bb520640353c89e0d8a23d52d21fbbc7b04f600583d4a896c950c9633854df40de1d2805f768279e280b4d14dadeb4a90c80fd0f1af795443875f7184331d307aa28dba3fed73126d1d27baceedcf376de52a30f3d74d09f9a0d5c08e9ef211afed3397ace994a39748325ae53bea62124348b15a001934886bdedcbabf89f6a81e8253c0c1bb47ac18e9c7b859f0fcb1d924064f1bda270e66802de6401fb4e760d7b62ce3d4d6b4a50bb15db15d0cd9675d945c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3eeb6a6e8f593c5e58b735cc9aef0a31d2586cc36d204c0cc7167e43132d270ee8416a3b2c3bf16d64f6b5b6d0f7b079df2267614dd6847fc2f3271b4409233c37f7f6a5894f1d19ddad6fa392b2ece2c5e578cbf7da4ea805b6885eb6985b6e3d004ad6ad7e772d6f3c61c65a7fb255e2b36d8bf583044c08ab97e7e5e6b8442dd0fbeb27b75fd2c9163de2f25926bdd72f8cda9e2ed8a97c3002675f0847c9d647e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc008d66b6f355cab16cd882579e5a49d630e562a5b8315a5f3fa6a819eb0e4853f2454115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac63ae173dc4842351fc1c8a551afbdb58cb2b295490782130daa4f359a6a80d72565865be8bcc0af888594903ea0112f6c8d923c5726c4081e8c856110cc7339cef0e2d097ec6582b8a0e035a7630ad3052bbb189f3abec9cb29822cd92d9ed86ab7029cabd6297c2a33d33024ab77167f9d7b2dafd5445ee24ca6e13a366426d46c7278fef0b7d6748faf50278bba7f6d78a85a9bce97f75700c9e434209491709d23c599fc95a194340402cec351ecc78b946ea27cff1da0ecc2b1f8b1a648b1dcc10f799cd0f6b65f95c4012445497e5ba3cb9f51964a9468940b27bde98b487218fb1c1fc72e9af6b866f430be2a67fa376392b4db2f4dbf32772671b6ae55c8f0ee9e62d889a327717512d98fceb1c73bed799a1f638be8204876923bfdba66be42324cc0fc1a35f38e2253dfb85fb591467be8d1e627f341f6288ab33c1621c538e9f3bf08de41c0c7c9b1001f7c3c62cad3209c0de7ee0b30a13d2ba1d330c84f4771cbf53f58f4acd4530a73621403c430ca9eac4df3ef0b1f33204f4be11b64c5cfb6026134175307a82b988e06570100f4b0fa226d63b2e2bc90f11ae7a99feb154e32f3e768902e50dfc370f5b0a526cdc11db023df80b586dd3089d921abd44335808333ea37dc15c081bee3b33fdd4a452709e0a18b2aaef4620d54f7ed059b927873e9f1532c7102c6a84bd9d20c3091f59390137921fe031234cc7abbaa46fa8292dcbfa6aaf9d59ea8dcd91db0477395a7ada0ce6dac22cc2fc51f06991d3439519480500d306e3191596f939f414dbe48fcd2ea7f14dd945ca55345b577413b6e7ea657ad01271c037baca3c6f7845ce4869851864abce395de56f262c1bae88d2c545cd19c919a50bf0c0e51d84423695a7ad10cf01e5c40b91e44d07fbb08e31ce02dc0379928cf597e0c5e767b9aab420c76a6e5e679c7d823476327d2d733be208a0a05eb6d8d6d5bcb9902a01dd6973e9b50b18f0d2dcae3d7a0a55e0b1ab85a66aafd863b8980bb7e51ab369d1f4e6ce93472623705f7971b11976a1be608baad935041e942496261d94198fc8faaf848bcbcc08fb8985431c9337717e4fe2782807e79727855fe807aff6094eab8f1631c962f93abc39e360abf126fe39cb052b86745053887f781be329d5bf8bf011295e1f28af9714a54bc0e72ce3b3e060389c1fecb45797f50d62febdcd1b703e17a8f577f28b7b2843c6c9fabfa5954fb5cb4f3bff65f6b58b1f1dd97e7c6d69eede63b9a3abdd075986fd4ed278fc6017348b77f243fbd6f1152f40eb5340666478e72eb1e6ff76e64b408045e8c8a321530b969bd6d0acfc96821946c3904c5c1381328638f567c5ca53e61d73d0c587fd244e74e5bf24ab70ac45b7d2691d7b9bfbe67240325b78f5bd4d9a5d835378f765a189a7b660378dc57546d8f010554e97c953e09ba98938a24be07f29e8fad7d50f7d44174071ca3889cadc3944e113d14d9a5491c1455fd85539372ebf11e06d3b675093d3e9d715c046b08115189b74e88fd9ce0132eb6945e10523e12fa7a0397e869462ac7a829a43b37b405b0af4033c90f2536096afd11d7d29c053d41dda760eea5aec9a5c077e734e03a9fe3024575fa7ce87861f536fb733515286aa2a8a43a6a46c0a8cce047a502ba435fde39795f3edae5022c2925c54c7c912b27322cd3e76f33b0984b4360718eb7735a52aa113d4c355ae571fc6c3babfc15eb6ca4d7839c6a050e230500daabe0295d53516c292da0a3bc28eda6f881950c7b07db14e09ea291a314c0ebcc1762ceb083da84b1505df2ba2f260ea5464a75d883c7c42dd232203c67bf7a64c5a9898fd44d9664e73342e9adcc3aac21049bf2234941845097c3a73684d05bd38c8c0214d24ab2875955b4fd2f3287cc2247f017ea275173da53f9c2b62d973eea6f0956d45a7dff38b59f2b80f048e3ac75fe0f32d1f0c21a0123958e03ebee210f5930c957b9b16161e85bcbc18ffeb5ae64d1061a38d85fe9720a2b75f82f9d1a2601c429c086492cef8b83b707944fc4b11d33a616b7bf4b5a47dfee033dbc3a02ff0117ed2305a346e203012dbef3381fa8214c9721ed9597d03a7282b6a5e26b6f0c07fb360108cf6b6b8e02904c851b643b8b27ca300cf16fad3cb190b2dff286eb0ff47c502bc8fdda323fe72866ba17afb52d875d59844d9dac6acd73a0c4a17a828e64eed4bb42a4aef1dfddebcd1ec51ed6f297329817d4c96d4b730dab26638d2633a875f60d2547e38f3505bbf09263d28d03b860d03937f0003439e68de57d6fbf171181f6119bd92440ab625f9ce79c83eea7923f575890ec1ecdc4865c584e5575532f473e1bb14a7d45a681ab1d2e7d154e8bef74cd2d53afd6127b7e890e6f52143460c2b80686199214ae0e785060f64bee0ce214247dc31934136feb20108c5caba65ddf65fce22604febafc28680b0807d70be90001bc1f7037dacf7aaba58b892620ea07e3c8e45cec57eb1674b8174d07f109600f860b620f546d3903586f92b28f8dd8cf194b6eb767b795f0ce42cc9adb94d6e891c853a135f563dfc4f6a56d1b0c9d33cc4d9cf0bba1d7ea77afd0397f5fc486f67937f2d700fb50001c78afa3fbe5e80091577638a544f262c70ed30160c7ea3fc9091c7ddeb309b1955c90728f4bc18769e33bb96af30cf0602eaee49371a5f3d4d7c5796a7807f25ea6fe8657f9af8188d69656b885e86304c3f46c7479a60b96be9e6ca00c549e5d2f11ece231fedf549cede5a30a814df575fcbc3017eb8f1e0892a846c8f00e2482cab70a9c1a4e6d7bfdcf2b0f29c45b9527be66d46f22ecb38ffcd8f7ebf8a9903b849bd7405fcb8e7229fdc41ddf5c46dc4b82b3ba72130434f846df56ba3de4e742dfb062fd3e8911d6ff701a4ed4d903f13c3579178284f6d3adcd6b33f4f1ebc9bc8d9cf0ca402e88626d36ed85e64fc5bb2b00b714eccb30b6c583efd06e6f83536e5d2cf252d94bdc65c83c4d6d2e15c5d297e7e5bd334c82332cffc1d6c6cf8c41c7160e49d35e54e7c20ea2799280bb4d2fd9bedaf3660e79228958cf9650d2b86e9823a42462feecfb620c9dfef7bfd4bbced83a6bb9ce8ffa5d1bc0542790d837983eaf2ba8adc315b29273c76f0ca9fc5c7d10c1e1efa9788411414637603b71182705b2735762b2caf305cc2dd414999fed67e671fca9058e1aca3a7548d31f70754f4ca591d6e301efca198cd47b20200733901a6ae8fe94c8b103e426fa49b88491eda5f9b9ee3b862a66bfbff25610290bb28f9364c9e5aa8447ffc50902294d65a17f47493038855af63ec2bb413c8647eb85608da6affa674fc6896654ee33aacfc6ac59b0a542dcc58301bd690fcd83f94c63dd7bfea7a7a3a6fd0e06c1f965aa20e1e0bc520c8c94993541c7410d4c59460d6fc9252345c1e3d00086de04c13bfffa024648c7c3209bbcceb6aad626b523210252bb64b65ef2bc914e92f45e0756c9d65a249e49a2262b70a8ea0d40ca8158323987d16b134195d7a1170a095a8f510f16a0fa4a8fc9abe2c56f2224577c5c4ddc06faea3919487d8a4085198b4f059263aa6652d535d025a323637bba69fc048b9b054feb8e113727126424f614b5153e0c3dcc7fb35829352bd7c73430b05d30510240b74c779c0209911a33c78a0770c4aa041167d93fcc5e5003244e97ac1a5d35ae0b7754747ceefdd61f8fc2c4ba30849c0b754cc8e431f3fb15a7dbed1027fd98e76871b43fe3f7a0da9d439cd8470d55470071b59d2f870de6cf11305da9318f3c095ecfd780c7777aba6bfe39f60a1132539d2400c5cc56526ede8cce87114b2291df1a64e5b0a4ace9209bd8f65a6b59d9baf2c19c48dc48066cc5e7751f5a51f129fbe457bfcbb58a14a391a4c53ed39e08f20d4cad1230d37d8c8f811c8b3354b254fd97cd59929650d4636836dd2f37511f9483e13170bf95e0e36b4b52fa5a5bf060829c526a5847be9b33798b44b101e0b740dc1b9dfc62d69304ab245a627c35320f5886e26812b6481683f2d11f971580e713595676cd71da1dd3d1b8502d47b43bc8e05ac2b04c0b9d511f420368bed52d2c911cac845212df1d1a6eae07e5035cbcab245d504b8b817d99b3f7134364f5ba23d3a5bbba2c6601a5bc29dce4edd50383ec2bbc0ecaf159c9eae50bbb26e351e1285051f7faecf65d61ac030897a840d16ae7c51164c9ba60715d1ce5d55017967e4ac36027b519285ecc9ab380814d0dd2ebcdc9eac52d3d88e303947bbbcc051608e8fb67d4aa60a6121e76aef0958853fca720bdba92eea9f82d58b3c6eac4c2e94e3b9d92f0663f91734c60b44bf16fdc93e03199486c0da48dc19c05f0c13fb61dc2e0b390d46584ea87731253dbaf480013d4c4e4467d301063bb4bab81e7a740295898951268ecc167d912086bc67aba50e7b5f214c5d3845f5e90ae7b06e341ae1ca693aa29105f9ea8d0656029db031dce78c3c19761c89b0f8ff932c215a220110d2aae7c99affeb28a7c7bdb26542fd551fb6d23970035bc1063e0d28522f9f2175f1b3cb2e0d8553e403c81706dd8da8e1f1b5abc7325eb95fad893c6307dd7846a19df4425c7f17f4b59c5cd6c060e314a7104708c6c20346a3eb927047db7e0baadd93f0832af3d55847c13f28a3eefdf15b2d48c10e780cf7a66cbe614880cd7309f44f4a42c4091a3e51665a59c88082f63bc82e701ece4ebe222477371be06a0203e199cf410bc1ee40f3d38cb404cc25646fb4cf3eca27c54dae691e6de8b1458b1407628a212dac063babff4cc9054914c2e1447c2ee17bc2dd482d51ceb18270f08024e941cb7e27e1f67af19fb6e1d53374aa97811a3a0a4eaad226b1332b48deca9b763ec42c25bcb274113873e0fffcd87b9c6b22356f07fe817cc5bacb28be2ace7a94ad1e57f03106e0ad23fa703350570708bafe2bf42481f664ef12becbe06ea77299b69ecaff64a9705a6aa2ff15e8993c73874c2865eb07b862491d916bcb49041aebc08aa8f34897093bdc9b2345275d4b6ed14dbad7976b846c58ebb1085bab6be344da55ee2122f873e9a532ecbba30e4ef6e39756559af3be6faf4cecca7cf129f446c628b460dc1892ff2c312d0d8e10c419ca90d56dc0883c56a3d78fd77143abc3b5a0ae9918d773aaea2471ffd54a371623efd8af5d4d167a4162792d8b7cceea9460ad23350815ef1d6c6b4d65b602315bcca388161114c4dda575144f54bd25de4ae98ed6748d63d464a4e50b435e1e26df167618e6394763b20faa56daa612a0d7641750744893f670bedc6277ba58c64e419fef93a57c4a7fa39278889b0f01ca89dfcdb8ac0d75de0a05286382cd9ca91b7c9507100138ef68e8ef8c342bc724abc239179f2d5f5887a401fc3cc6a189b0da1dc36fcc6475fbd159c557d3b310ff24fc40d5140f2f0c6dcafc55a92921d27b4f29a3e4058be8777321b5ab1fbf7638463628d5f9dc333cf976aaebbce8e7a726984f94568d5b81a3f1ed7dcfe06b05e7103fa6422b9b1dcac70262555df57d2f59b33999cf70899a172e9668c7d45c6f760524ce1f33c066e7dfa12b54609fdf993b380070db69e765791d86cb9f2208d3227ba3a91afb864c051e41848f249bf4b49dbab750dcd6c32bb1fa354501cee24cd97c47ee804069a3b48f71aaa92157bb93658dd30c2551225c370308ca4c71843020944c0a67af23121a7782cae69aa243d98fccf732bdf2fa206d463885bd07b6cae744d3560cd3f9193c613bd1f087ddd33d5a206989c564e80f76589fa715fe0a2d4403cd2ee226216f07ff75fef8d95327eaaac629683c18ed9cc3bc6e9562897402272d867170a628ec4c8de997ed7aae39b947df87b4dccb2f0fa7e6450836f87dfbf4e80eb4c2c2836235cb0cfb6df068b96bf58cb845fc8b54dd8e497308404be8cd3fe4ae1d0b25a156659f6101670d452d64299551c619bcac9d91a0d6a2749a233d86d37d84dbcb93d31a30eafdc6a4bdc28b76c898449efad4fbef1549d22cbfd7a93107a8249a60e501b1d35dd1f9f400d4c69e5a80ce21b317414121b623a4c8283f4d11a72a55286f36fa99f51ff11607ded5bdcd35253a77756adf22ae8e0607983681eb0e1c09744f618ce5317ee4144b9ee13c76f6361dd038f035fd8989c0701538bee7b59730ca736e889f0e89484f061cc18adcd19ccf21dbf3c5b5fc844e0428d8b60affddc88367aeb4cef413b44c28643cb86a245acefe5f30cb260dd6e9a7df760b3d44e911963478943605304e3eb2bbc0c1a4dabf138fae252abf18420493ca85e3d1c36ecaa4754b791668530be6cfb6c213ed24da0d271c8c86a9cc534cc5b33e71f488389eaa27697100329ad5e43087d131884776e73530f30385cdce0734bd6606d2afebbe844adacbb0b517198d0cc1b09442849d516c162f1f3fd301d09b5661973baee2102ad2b9d7e801ef193bb15afd4e8e5d74e2b8bcd8c03cbe4d72581bc20970567033c258406c37d34bab8e45790db9f45a06301a37de641a5c7b9f7e268471d94e32b9ba4c71d975601a405cccfb627af3f9319852f85e946b9d5d51d2df564b76eda8da29dd11439deaf4419ba7462d79154b2ab0f04c516177a8aa8641f78c3caab89cbcaab615cda7188d83b8695863d94d3af535d279f28dfa3713242701631c3615d630dcf3a222cb22f0b4f27807e97712b2c8aeef5627a335188897fb86430a90abb26cd42ec6c981c22214893ef88472137b8c1ec39358ff047a9786d38b257e0f8f92a3fe4d830f72175a7de7040123aadc0f11b4b20ec352834affacb1d3dd60ae2e29b5941d73317dbc04fafbafaa3aeaeaca2bd9ed909134eb252904b5da2ff9449db182080ba4f9cbc30617d738a92b091aa592029739a026f813469ed6fed869ba571aad97e3f4fd7b157a741636ecdd1a99f0cd6448b0e6aceb8b357206cef4d7f49c9b5230793d29e5a4ff7800d5a96c56314343a33f6a91c901494156e4ac64ce8bf03bef647e8703de0a40fc0f09d85a9a9920e71e501556781acb48f3649b3f43a1fd4f4da84b9b8f749545d1519abb50559b6b8796362592d235488535f83352f0fa976c0654eb82d9896374a17e2ba2b3f38c1ec7879dbf6283e7401207f754cb4779f8c0b9372949454ddca494cca925927be20b5c45e6dcae7e82b9cf6af3dfbc0ba747e1231a98474b36d68de37b97b10bcc3dfcb1b8c6b34a541cd89549165a2344216286eb33dea5dda8f047a7c9e2e2bb94f7a32e4843a853cc190ccb122bd16ce823f85eb8c167e00faf1da570be446b9775461b27cfa20fc835584c88a7c8432e843cc5201b9cedf9bb62d486707464a09a67cade6e07b691e7addf75380392ea228734fd94ccc9594a3cb741723c1df0401a7a5962c526f41e84566c1185f3268769f6de32daecfd12f5dea352da5f8afafc60a4f4154d373bbae3c2b44d126a774dce87b83cdf387f20220247bb94a558922cae7132fdd55d69cf45921ff9c2c3a18bb71efffd4f8bef8017749f63f800f7da10bc7ab4d2f04992ec9e7fb0407fb053ab01a0c518dfb8f582e7fdc0021f8555547afb7fbbe3aaa3e266ef7b9d428723c6c87bf760605521124af43770d02201a062c6576234e0e76b7048bca7602dc7b5de9e8310ab8dd366a6b8ee67fd7aeaaa05a5d38f42d1920b91ea728ae2a74003f70ff7561508ea586dc42376817d3fad7c928d2be6e060fe7a8ae598142310f43b43f4f71ce4f2bc838bb78adc1083973659bcd2bf1d1ae3240d16747021ea810080cc69ce914ce7f1988dbcf7e0e2fad8e3422585e510211d52bfa963aa2d3233935fdf5f9e287e4a35f195fee141c708bad2b03d3368c77258f7d89a8b7e07f2a8e10f730bcadcf1c06a8854a8567947be891aca656f07106af5ae07847642a1b285e863f15786ab07ba2a89583c174e396cfe9798d7999f03012ea5fdfcdad5dcbda9a06b45304a5d5478fed81d1e37bb0cd613875de22dd06ccc6980c65cd71e0bc046df3f43efdbb0a9d30cd2e135147950e04895ae0ed860404725fe61d674ad2eeb44a379b07bac6eacfbc921744ce03c00be15d5555deaaaee83456ff8b0b1ab5855cc340d812729a1b31f38c20452a5f68e35dea052e662da9802ba25ccc5ab65129b1395b7dc8c70dfe0540f6d8ef05b17743d6500aabafed3d2ecda09c794d0f1d5c15c2fdcfbf3ef2cc35d3e4e5fba61021ec0f4ca9d0a3985c5878faad6bfe0035e965bebee139d5a7ae0a522ea323051aa518bc3ebd434f98db5088e6363a15ac135209fa0e47e9a6d911f06c7570d5e0bb4d68239944ad00f02ef43039e8bbd93bdbacd66db4f79b41af8924e90e666368e04df0b73e0b42297aecdae212d10f14c689c872708a0a7825e9c7f8b217aa2fb48c1ff777e27d763259ffe9525d043275b3b9509b586202a560b914c3586e09a10396490e02ec0f92936f16ed1b88e13f91320651b65e6e263c594340df7d3d360cd00fb0b3e28025f5c3a325366d8074da84402ec6b3373878ca9bd2c37ac3a1be0308ee49eb0da3ec16f723d3e2b0d60275b29a3c19fff37ef8cb9dfd48fcf3e7d6afea5d8b799d8f904678a0ea2cb12754736f1ac6e0027d1f8eba046d180eefd5c3d2400c9d28e03c44de4f658e329bdc8ac9e5031cab232e542e4b889db97af0a1a43cb422802fc0837bcdfd747c73d87765a03f58ea0ad58cb4941ce7c9483c70e2b4d3b7498059ab76123ae0c8d03610984ed936f54b523d3dc5c63cc09fca39e407a306294329091f643979c79e3a08fe1d23c9ec1ea425a72b4fadec48ec503bee50aa1999db18acd21860cf89a8b629f12e51b520fc21dd742122041a53437af26b09ee1441f146713f5fa488bdcf6d64e201ec86db79ec5e3688f2775d2e305f3cc5a804e7f22fc3fcee16b505d5cf68e745b812076e1345f7484d281108ac063fbb2bf194067c1531d590fc4a4adfe9414677a7256bec7495d946ea7ea53a27e5c02032ed4810e220ca43463b79f99ed5d6c142f4ffaf9c7443b52185edeb8ac574d92409ebfb9859de0428e29abe483d7b62017cab284c60f0f6e359307b29ebd8958ffa6edbde26856f7d3584d4e793b0059b3a6878c6387bb8de1f578efc5ed86f46bf1f7b16afb23f4eb2c9894f718a5f3db6eccbc8c9717f2d32d9b8d3c56f81d21baa193ba0055aa4f7ef2bb90a6876a13bcd34ba8f25dae2f458c7d0f1893b77cd8ddaa83105ff262fb0cf11d6c9e74ec7cfc7e4591db910016e3906694c550bc00a7837034965580574fb921589e60603ed5e1e3fa2d3a51803dcc8cd7cc263801fd843a2c6bb7412bb25a6b7ab419102575e65fa0bcad7227c8dc2212caf4fec17e9c8a0affc76cd5a138407c36e652d093c53702205d381a3de4dbea468e3df70c5c117ce9581003a02683a95daba4ba0e2cbea6851f18e8afb992bea408cfdbb5aeee50a634ca8e7d67e2372d04fe652fff8b2de520419d8d79551f623df74af89cc1b3e701df4c486a31ca76194526aa39899a8ef9633acf9d6cca834cb1329c958b92179ca5232da2eec3434ded89dd6c216707968d9bd3977ac2df66cb0d79d6fef258578690eb458035c02cc3c4d27a3ce5b3e1c536b2918d647bcb347b48dd4abfe307559e535692cf642eab386e311edf57b84aff257b68014e0ed41cc50d50d007438b97f686f5f3604606cf5e680cd720baab5c67b300dee0d7cdeae7bdfe256aee8da4a94c5ab53fda3fd7f68de68217e9fdb0c820224827e342fcbfc5a5152a20504336e5f3bbb7343269fbf00ba371d9941a41b09911105d63e8e809ca376cbdfd10057947c9b0eb9377608a2396a975f57189f3e1acf5a10ca12d609c012c6f30eb699795b823f19443365c96e8373c0e75b3de17f0ea29a0bc021156a7919087eeef3b2455b51545ec227b55d15c8f9e7f4bfaf8cdb56040ba0a5e6f0eefdf6d31c521b27da69af6298a42977c5f96d26de02df0f4eee22df8e1be35cc5428574475ea3ff265494b1e843ceb388dceb3c2cb8b8c6155789778f1c841aef8f44483e8f2dff0319a35517eaf04474412ebdccf869ae74a531796c8d03b54889d7b980efc361855f274a704afb34eb4928e954130be4af9cfd9e995544e758d0664a0892e6faa7cbe3505af7301abb54b09f09a2aeda4d1de4fbc7a54240cd723fc6f0b8a902b1d69b07c57f5c82ad78a431148a68c160302961a6745f69ff56ef91527d522e317b1f2aebc7c17b552e8306a85e3c3927bd00413c2a6ac45a1b0d510675be399395975e96b4503bd63566de508d06e2f8c082a2748ddf8b2d9ec9ff7fde7956a06efdc0ae011ed1f35f0c1afb71fea3b7fe9805f1d156907b09893d7f3734e97b0986250d23f4c264644f637fde44c44c9fc3057e5b47e5b50de34d44c7925e37177a05a7727e065253618a5211394237a60e6c5e794bbcbd61650cb5447a603428208b60e516d9df7030fba4b9f6c2aebc15b2d9626e2d40934a6b60cc1a47b809267bc62f647839204fc4bbcb874e920de347ad0a7f3939f9f325a79b7a6c25af08d15b1bb982cbd6a719ebf29561ba7d8caa1fd22ebcdbf02a075c541be623351ac06fe950b591de1d894522835f58a3953d5cccba89c4f41b79a63a9f19af416bcdbc7b37402313c16c3560a36a12b1929c19f83ba0e0341a697fc6e88f96c898dbeb546c24b58c81b5f0d6fc8b661dc7514594c5ca55cc86e0255157bb66bd8c17f7b05ea472321d33fc39527728ece9894b723d2be93b29754542eaa7356cd189ad0c985642560a341368ad855d64f989394daf15265ee3dd65202811f991bd2087f4533068a9287c63267f0fae859476cb0906dd7944e5d467b253dda3e49aea4f3b001dc91dfc03e4ce571f3dbf540fe78dfcf354fcec69f71ec10f86fb536eaa5fb9a30106d1b0abd285b75b0742b9405891fba7ec1b14ea6254e7548765b28680226f1b1284d18caaccc18de05e95def67a21d37c8b7ca30ad5283b8e800e34a271ea042750d3295f601b9473de2843d82db4bbdea235b401dd255ef15fcffab02bbb721a51aeb66aed734037d151d39110315196c54d8ff0c34ad55df39b62b87f3052502b89d2c16af9cb7acd0c87fe80cb6f18519b8d2e4814ee3f633c400e9740713e875bbbd081e236ce742c12909b073ed69cf3ca51419a6149954026dd218b7281e62968ca3183e434c48f7b42c91d81e094e87e9cca9788a676c420471b6b617e38c9b10252aa6878870e605dca997248f3ecab821db376e53a65b9b0232cf20f86649091c72e17a76bbfa32aef7d1ca44857845db4003e156e793ad5ba440da08bf461184bc22c8f3977343ae62c98a342d331e2cabee578186e7a177b952420238fa1e7891f20b900b8b244e46c913a7225bb7dca2ca9e2c9ec3de2567e2be8f6bfdc065a770e99d5f1920f146780fb7b969450c1e808e0937ce893402e2a55239d3c654b478cecee47fa741926047fac407ed25f550a2513e61993fd677dd1b8c560f766bca0838757152cb491a30cccddf88efb725aa4ff45a1f93a9f3c98ae6810b444fd5ffc200cdabd2bcc1477a81319d5700a57965da8898769c471c67a4f69fde03931300aba92d3d125a5ec008a55e85333202f5d49a3a79b74bde1362a0a52e10a67920e292f144046956671488c841e26413337e50216414d66426e0c1f570c83983072a66fb981ab591c68b36da896e1acb57d254807aa0d9aa2f0ae1e9b5acdd79f0bc4fc23a56b8602c3f748c4f0d2e0f304ae79d89db219b2692331fcf8c3e514baf5221f3acc412b295c22d63da968714c251f9455c69535d27ee6c0a6b72700fad59a1d152a1172c66f61e8841c65e71d70a37393df40779ddecf8719ddce7443e5c60f5c2bbb0b7422496958efa8b2f545bfba578f46843694a457b15153b22495e9d233326803ac8770d50d7b0c3fc37123c349dff30df67dee540e47de71b7b96b841ec87d5bcfe44eb5417d902da1b37ec43ebc3b991583fbec3567e823196988fa5819fbd6ba7d4433d9b5cd67d92ec7375ceb116ae226ffe9f73bd88d6b9cc3eae625abf0d898cb92c3abdedb1839bf7e34c3420d25bcb41144efae50ed702348d482214d79288db8f34d90e7045536383978555f2eb073fe4e37a0155ebb082a26b49fc77d254661448df1046809ebc4adf2970d34c3f1677c2c16db4f3798cfb79c19770c12cdebc6d894d6de0e288fa5e22992a1ed6eac5fb4fd70aa4d065ffb5bd7f4e0d59b1ae1f114c5c43a0e568c10f68bf0ef170bf7143bf12d9141fa989ae17ff9559143e19d632597b6dc748af66708e8d906c439cafa611e97185a8837f81e66352e6068df99e59430a465e0d349f01f0bb8651d0c3d69907bbc887711d3c0ce9456c80ba85d964472c7ecc8b653cd296071b639f2c6a91061ba386eeebe45826be37d5c6a79529e3294c517db6a7a43d76b0a741e8dc852479829a563666da094d1ed261468237c9fdfd264293506f97dda5cca3e930d0b6845892dd97e98ba27320a754ad5f980e9850a1714af20132803c4a1d0cad3409485bfc3cc914350ba1870e80b7bd753eac7245d5ea99d523b4ce4f550435bcb2c2dc9c93ed721b905e88df294e4d3206dcc3b3255e367f01fa88faaa95d4d118ac9ec41365ba236467afbff908fcc4c347c7b97ff30504cdecb7a010a99408689dd706a6f94152e0d437adb280af5970bef9e98603998fcbdafd16f48944f7ee62daa1287ac1fa7044bb8e8b59cd91c46186d016d515ea0c1812be40c0998f9fa7ede2962feb7cb84132a7d7633d089710dfec589dc102c44e9376747e238b5357aca21ec422d47ba99873274fd8365cf061ff2586d57d8801416122d0f3a64c1b7e21e0d92a695bdc47638c4bffc0a19d370d88a84f087307c8b20d9b79cf3873e0a2fe5ab67526504a96824eecfea9d7a7df5ea1dbb914f0e5448212594d85d1e507fe83c1a9007f9234340f5f3ba10722b2f57683a9e3b893d18c737dfc8ccc8fe0ca7627cb10f90518660bd200908fec625a24f6094db527a846f6342f59ea76a38f6c0aacf8351434c9b6507b0aa7a608483f0b6bb7a09111afe1b691f50cc26accf52a70d253928fec0f6dfd7acd7704491836ffc9e26f0a93d3533ababfec15ead41d73f93ec4fa24c156bac3790fa6b6d994415871232d4139964c8322a1d166689de2e9d8fac0aaf71813533caea3c719c46146577196d2323308fb04b956d078d37a12ab86b630c950c281f6cab90735264de785f3c3dcb42381f04174c86804ebc5884db512373a4a945ff4d8aba35f02559e42181b3133fafa3cc98b30dc2d9d7588f7cf3a5e50909d055b4e7a35e881b771b4d9ddf4aa585d1ce4ac61a92a07a7395835b53185ba06e4ab437351bd59dd9616f0ba8fb11e59b9f1e86f345ec4c52bb47e67ac1fbf6703d928f5b5cc2e03843805689b9be14a7c62079d7c3603ea8c0ea30249ccc5e1b031cd8c69832c2fbbd045a37774ef7dd3167e8ab25169ba8b628cc9fe81d61eba5e839fff9e9010101665539b6d0c7ffc30143bb23fb3b67281e6632287975bc7683e2c8d6293d575ea350909af4dee1e46efe0210d41edbc0547008d9d69de687411956e3beef60d6d14b5306503ef78dc542d0dc0a44d7d55f5f053e6672cbfacd78c0f75b68a2be09945b4294209923af4c3b93e8ce7927a38de5f95bcd68ea87aaa51a7955159d9f6f750f10b341517d30eaa0fcc3e28aadcf7f91aac888755a590bbcec1afad605318661e4ec5aefe9c2db82d5e7a3f4ed70a0bdded798e6e888116d138c5b1da542ae763213a285897250da3c65f4cba65244936589b790e91a67454279b74809e68f3117cbb60fdd5893351f5b4b4a83a04339348c997dad4ae7c9addcd781112a171055359afcd2ba595fa5a10463abf24a0a6e72fb72634519a7e35adef8fcac0542ef6d37df5cb176e874a0e4ab373959fdd7aaed189fc5605eb6ea768c8c18c29e8531f61e74f35d51422ae7a86638fb661557f99e57159fd6b4eddc7696c987b6e853eda0963f0782c79966aa504171e41de6f8383bc1bb9aa51da220ddc958e9fb21a828413686180f2eb6fb4ad66f2ca1460f3468cc1c096d396096ecf69e0d18c7364e07362f4d6b4e9318a6a8540d74fe893a306455c3be2620e1e0acd5319998e148a89e8f345b699a3e90c62e23cb6c40514861585c24057bf3ed9e277ffa225e63673fc7d563caf2c037267862741667a3c2e019a3e1527a8a8af59cf4deaf8b5bb15d373467f5c003fa8e21208bd2b77b8d3155bde4af2445bffe5b6278b87db170346c1cfda69cf2cfcc9965f082eaa65c3eb7d3e4991431e18be376ba9f81e0aa6a975b9f144f15255a63c753386f315590d178dfd73fbf0b8928b6a08e0c8a17c971b8e5f80e2a11239d1908e65b088d5bcfe5d5032f061ad1a25940bd2900163565c1914ea48c5984d05877b26bf052db52cf1bc6d08f313349698cec49b0ceae5250307e859c1d52778a43613ec2d8e69edc07915338f219fcbeaba1f494be59a4f57177337b671969d78caa5f96437e0c481d7af357609561892830248e221a999b9e5b38886f300b4d61af17711e44b3cb1774aa51c6621c16f84f9049c08fda2d998350425bc121c0d89da79f941a1f81c5873ac7b162b7bcf04f3628c2941741b0a265ff3e3962fd70b4486994fe5b040b2a9fa35ad66291ee887a7d34ab4f8e92bb36842b9c1ae46d743fcb801be6c647223293a1053082e2d7a57b10a13e87b028bdc6012a9865045ea6bb3fc9c1effe42ca479cc8bb45cbf0ae5fa1a5b4e768ccbe4a5127d445f262bb9b0192c658b154a111ee1debcfe43db0689421ff8b05e7b4bcbef2ede7afe19b48a82803800c83be3175aae0d6c27b9ade3ae6427f6cb660b899db75f5f5fe1f32742655d93844ebc23edf62dea93f38e956c10c2402fe891e327c196ec83b304f8ae3626672ae84a6d5b310890955221a97b4c91ab49ecd28106951b9540353b8b1da2aff8de0fb883eda54bf4f749932a9175667caf5e3dbe018ffe28b45304a9b74d7a3b2bb1f579588c84f76a3a423f90c153b1f601672c4f9968ff0af9f2c99fb64ae57745000c9ed3226c1694e3be7c0cff2041d9dafdb8b5de20347dccedee80a70614cc0aee466451ad9e53e352530a9234d5e4892cb007ced4fa1dc9444d4a357cd2222e7aeb8648f0a27a806b158e236477590540dc45591602bc53f7fa0f66eb8acc6694341b058c807bc198ce2f0f4016023d384f16cda26ebe93fcd5d970319067ec39022e304deee4f466c129fdf22877a258cfcb61e038b79c50bed86de13b58f472844238a82ffbee8efded82416408bcbae0afba4531d810fd83d30f75c8e9d8f11a1a6b016403b5d511fb9bc7aa5c14627cc144b92383c8a6ede7cd2b900e4ae8c891b6c6f3d7a02b71261eb982a25214929134b47aaf33141191034f9d9c742e42e7eef75689c70778cd0e454c3f52a04334d88d9b63dac97bc5bba4319ea0d953bb41f6846da7e4dc64c21c40d6d0492ea35c468c0881592b95fd97ddfa27f3195e313a1ffb8545e63ce9813bd2108c948846615eff760a2ecad9becaabe3c6474e1df05086d1d0d66338909439a04a49f4d8d545d1b03f5339d171c57fe76db584056c33b80dccaad9dcf6941019d11fae1c8c750b6b046446273cfb54992bfbc7e1720f710ce31e091afbe2306e05a36568b3181b934103dd055478663c7258b44b053c713324f60c668b83958642199a16f55dd33a61fa610874cd508cb99b1bdfdbd4596ea2375d129d6b1aea47514df13f492432b33f7d2893c58e78bf27fe5f519e41ecf274dceab1c59daad54ae669f303e78bb54d47c818381575c0c9864a5ad91a89546288c912383dad658bf440d27dcfb4c4e22af3e616fdcc6cd16a630cd3562d55156f90b2791d78d41b529687b67d2e99ba8919137a6738b00376ee4a559026294c01c7a0830d9a586a7461f82b66c9fcdb7cf563aae860110a94e6b49b3d465bb6c18b1a517eb61e2b86c4bb3c460368278be120d23062a50272ed345246c079d7b436a8920539ee35cfcbd7eafa237e01b7b8fffee7a078842b39480595258def1f2446b9b6d19680241ee640c11a6ccac3284d2b094eda95a47639b164ec1fc372a436ee01b56dea1f7d24285b97a903d313c0b84d56e1816bdcdf767e32fc6b3b10d4c08f5ac31ce41b18cac7107fbf3e76184d01d469d454ed4095ba4242422c9e3b7859a40b6a1c815a83a79a0d1e724455489bfbbf692791368a1910885aab5c9a7b11dab06eefedb88320e298be062ac37002a2ddae88ae038026fcab229aba036e1e30943c9cfc34b170c3da6caa05a2f4610150d30461e66ed824cd97769999bba33d8dce6ce057e5f08a2bb507a6cfc26f8ebab2bef8f35a57f3eb6fe1cdae31d7998d2b6b21cc14dbf2f70d599e8d4d9667698a84a29e54fb9a8c6a98dd226cbd85a4fd86a86856000925b04835d255415ac4b0943ac56962d2a17f976c43b78be3f46bebb0dadb0d1b0c5b20cc3c73a39e29c68fcfc7b3ba67f834cb15e391dc381eb7f952c45472c9a2cfe81e42f2b414b471f10fbeb628c73902b2f26fd81c74116386e9fc0d7f0cd1d358a44d853d3b1f15cf41715aa1ebc44cd8f8985a8a14fca475bf281e1b9075594a570b8628da043417740a83eb1349b7a99f7d8767f891772a5f32036ad4b4190f4c1673ea11355ee70ce901bb934af552aa39d94cca6631c13b3503e70bf8399b03dac45a55f11714e4495e342b64288c51d70eb0f85a6569ba30b59357ca064ec7e13a2fc921aaa08e8ce3c064857cc795847f4d1904bef532d19a758ce1657412e5ecbcfe73a0aff14d345bc26e5574ff999a4b8fc0b54fcdee95526901ea6a1ebc7fa74c7c567f70b744131fb69a343586b0db079ad8c0dd28f8c8c92b7e3f5a8c4a28ad390914fa40bef4ea0f2e6008edf2985219d38d59e7c3b7bac4a12f6b1a2815f2321cbebcaa99b2307243aa42630ac6c9ebbbcd0ac66cbde83ff990e6bdbacb9951f58a472ef6819d51f8498babacf5f6fe4fe0cc2f6d93328e9373c34cc81483bc40506bf5d40b8f3457c66c276135b6c9fa4d8772c58083ac8bb6e441fba12c9ccd51df1b7389af597a91eaf6713c4d90030c24784c34e0018992b0847717d4f3fb4bf1604e4fcf9ed5aa7f3c74285a44928bc019084b9c813b81f0a9bc20019739e1eaf917598c0cb0c1444b4857cb5e50c05a08ec2f78d5c1a695147f3bd306b8d00c0a4bb949929cb035fa4c5d7548b1195ce2e63acd1480a5f5fd1a69211017007473f4211696123e3912aff6b43d4ad06c87050eff48d1f58133921055c0a198f7dfea2630cafd468e383540eaa5263c911722a6589fc36169251be0cb1ea40c9835b45a4f2d599eed2d78cc636b5830bb64a0b75c819a960f7061b27a60a5202fab18cce763e03839604dc5602b44d9044e290941ddbc66e62eb6e334640ffd562c78b8cf69c3510302bb4e5c44e07a9137b3482e8bd5e92052a3dc206b34b1a0a939d8b544d2cfb578c9bb5c6ff96f834a668bb97e8a4730a17cc06c8158b1d8d89e4b13ea84f86ec6cf41e0efe76fc384d9020e7110d8ad382823ad5c48ad376e3a1ba8ac37e20dc343c8527803da0f66a90f211c9d91801c4b3c2287f1c90df32050988c54ec502d9db05170f0e43cd79bd44534b1ee2463b7f09f01b9688c59afab07bb63fb5ef507cefe51f9eff58f39b2c966ed5da0c73348585f92c3f8ba0c1b3ea48c6607d904918b4aed0a8c63b77cb75a64f29ca6034a6053b9577520187179db469c123724772c518ab8ac7c62f01bf5cded1591dfb5e2f05e5d1b63174d0ec54b6277f3a3dd54ff588649c73020451b9c11c87618f85e3399d0517c6a85780fb1cd6047c1a00a7ecfde6afc64929dd1c494508a0f3171771e20c8a68887380410610776ba168a621d86c1b702350b6d5f65afa83d300f4331b6be36f14849b7562aad7201fe897d9b0327658a74a008a71f1ca48d2f84cd0a9355b6084fa0de0186d12a928c726e30feeea3d8b943340edb5ed9af499c3b9c6ffbc26176f5771bfeae8370b2ce817093bae0f10b0d426054d75978184b193f55d5bf6c2725b408893a0601808dfbdbe8ecd5d6d505e2966a6af27be40c065266ca2180008bc8cbd05cace754249a12c060a78cabd27840e3f044fb7190fa93c54da450694bce882bacbbe48ade2eebf307c17d23c146d5c2a39c7103d38268305cea181d55a1204fc3f899506a8308257a98bed72a322b46c010e284eac547de350b56d943ea5c87bd54d4fc74cd9662d940d6a28ed48d604f069276237d92622480a3a723d01714308dea5ac7502aef14a68f24645dbda18d0551b9b8feec7d811f636658c437087ce0e04ebbd9e1a6a729f8ea145a4eede59325e157b6f4ae77079ff1933bbd66d57ae90a8d21aad9932658ada324baa1e2f5c264a00fbddd0a7ce10a80e14c27f1c8f9ea9dca0d29198f10963887cfb5768a9ebc797353660fcd0094e10cfce22ed720cc294a1a2a41c644962eefff06eaa69a547e0e4bf743fd66fd512f83f982811690521622348f121d6190eced8e112605fc4930bf62a07d9f7c0c22a1d999f504507b8138ab201058da363e093825d9579a05a3e4c1a5a55ad398112dab63eea40025ba40950dc02ce88ca372377fb51e16bd13aff944709d6084201db8bf4091b005b7a78c378473ce39c5dd425ba8dce193a4ce5461b1f8e05b2fd11ee31ddcd5bfd5583b20feb9cdbd9619410746253c67e448856165fa930070d70451cb8f69e6d538500af80b1f7db3db8b217244ddae7d722d171777eda3883fafc8497ec6c83c531d094bd37834fdaaabe2e1313d29c739bd5f4d1a937ee9bc7126f3ca44ef722cf63b10af9dd380895cdb2a063d662c7f9c8784c9057c06fd5172395c9061ebbc6b6e69fa5dbafd98bc6f67712cc96a91f42d5af7c23ca1f7524e32012151ad1a11dc8422759ffe8da906077ad374daf0c13e895c1969b7e1a10db1ee0e28d4b5adfeda4df6624e062a159e1f18d47f9b38d12a0dffb7a57d422f87dea5c19577ef73e8fe76884655549ed313833dde3924007a4365de656b4754177d43a90922ad229e22afd0ba1ed7c7385a22b2c5e9d7a04473e93d8a9a8126830a6edf77d1b27ab079ad917f175b83b0708c2f01bbb4a1d8d335e748d294894260085444e0c0a60f873e2235fdadf678702def28cfb6dcec6d76adca558dce15d810bb4f6d32706930dc26c9f302c7e7c1872c7952f0f440eb143c545de4c63dd5bc1c77b245ff492aee575e6d83d3c380265ddaaaf6870046c780a4590acd2c7f6a9eedcb8aae6bc22ffd9ec0bae2ba0df1c5084006c2fa057d194a1c126b1cf4d3eda915823d85869371d0eb898fff49011e223563d1bc661890858547a1291b699a4be14ab2fff6c1de6087eff2336cfa13d904b70573a9b75441b8f96bada05e6ea8703fdca7e0369ecbd8dba27772d022fa45ca7621f85de1a70371d18c2fe7b58421c00a48548bb586db2b13661c97b45a4a0ba650beacc1f676ec19d990b6a336361813c6171ef00a00da4cd02d2e05d39867651f32267ab997bcf3b7aaa4fc51a334a373a18c6f2df1a07cec695df8edbea5b69ea6a2e2b515ebdc170d3305445f8f2107f3c2381c18d62fa5f208326ebf35bbb910af7995a5f4e5f240009ba204f04b523e71ad0a0abaa6c259fd455d071c3b03cb4d28864858bca32ac19d8349671c2d945bb457baca1fd8b8bf6097bf9581ecaed9ad64930d9b40b26ab77b4adec6ebb89238ca0f3960b55cae44d7643ce785dda4e2e14d599d0d96f41acd42c9cc939dff8ead0a0292ecd4df6d0713268b749cc916ac278900e8c47d9d468e44a485d87cd892de8ed86787e608b2b426f8b61c64ffce8ab0ecdf88d5e28786a800d87824bc96f3cc25223c46f0de4adc5b9b1ec6f1f9662d76355a7babf0285bf5d95408083ccd149d614c64dc863370f4789abe81bdbcf616e7418772d3418a26bfd64ebdb42be7ce05f21876d0bad148a9d70caf3cc08ffcb0e80b8336ef70b28590c633af9a1109c99dc6a2bc854c475c640ce379147b101a06f0f0e89f8f6b9523f0ef79a82dda6eb39db451d20efbdf4629c039f94fae71cf8397e718d752ea2fdf9c4e1a210547f3363d7ed861ee073a37e862af8fcf741f1ccdfa6098b4264a5fa1de300a02d478bdb060d5d4fd08f326b3766f955e0306580b3bec726dbd0df8174ebbf783ae1d02902af973fbf447aae307a0b86f179d06c802b5ce4feaa2cebefd814c6e18c1ae1fe49ff70a251d72bf28ac8c1ce63d7489c94e6344bd0104fd466209db641736c16f70ce143cbe13e06d369c529e1e4416a12a862c4e05722d7491295d010e0b689fa32c597c52bbc1f6796f5c160781e63ee62c9e270cebc398e298bb6ef5f683080b0c2309a33e997728163f5c2212a329762453b22c047b8daf3bf6dc2ce6bdccf4d84afdd03538cafa5703c8f193f6675eab3c2529bec7e4ca7c8128d9ba5dd56f97c5d0115461f46a2a6aa9f0f649c083e10979ee8ea4cc716d9387d7fb439cd64d2feb641976ec359ea17124dc8f9acc9b9f7b42341b316d0b08867726b48fa74a9392b2f95a06f81812368eb8f20b0cdfd0b513916a4bbe572c2562a7c92359c50ebb4a17685b41ba9f5d29b883de610b4ee125ec10afae2bbd2e30c5f86086d8fba46301c855ee222e8e28ddaaa25e43fa821865da93c264b867a7ffe602ea5c9cb846b50402e167d2d9be574b287b5554406ce102036135b5eb17a7fb8fc7260033a06572112aba5f8da1b49f6450f48446cc8929973b2e0d4e52120e755de43c12921955ac5b660e4b8a27b50a86960542d36c4ba6e13768866e30ad56b1ead8202c6e530094f73a5ddff4b413e6d38d78ff83b5894043d57bae29a79836f6b0e792974669e093e13fefdd839939a2eb1eb047fff2f0361dfff31984984550a77cc5b103fa6d77b51eb5a5218ca4be3791debfc8dca08e1d9d6a9a709376ce316e6773e73ab997a8083791cc5b768fb9119fc4b77ee8b8dd2fbc28d6b352b1ca15b76d21b4b35fe14287c846f8b5bd2b8491b801755d5032f73d25641f6f54dcca34d464f0b544025d62e7230091b58fbad3cbe702c0646f20b1cc29d0b26e3859d1ea6140b9d9873e74454b6e919f3c986a6545e3f847bfcfc0c300c5b5976236b1efc66ecfd69858dcd48ac8586e5c7610973682d6d88957830376c1a69639da429309780b0a83758cb436f228648d737215ae916ed7d029439c0f68c0a8f22643a0673f91bda44d8abf312a4b340de9288dad3660c64e738864ffcf39fad52616af3f7250f1c800f4ded4de491e9d7f49743912068f1b98a199009ee3c6b0c16473e441745016194cf29dfde0c7d4b2c28674365a29dfbef5185cf1c4ae602d1308cff2d764da225cba4bf7638375cb3337cabc2e2f4a605b618d589008a067b24d4999e141744188784865560140e057bacf1d505b3f5c07ccccae12cdafe7dbd5a78077824e52c29365d11be23d3aa1f6cedbb6f7ff0396f4420f55831685879dfbd87854da8a425dc08b541b52393ce1e0720c7481327e1fbc64e55349bfdab9ae6928f1304971fc448dfc714ae7f54dbcef697389f9db8afd57ddb3635342d18e7c2ae4263ea36ca123503570efa430a18522b7522076b6dd244a2cceff475627a0f02a439f54fbacb91db8f9dfb9ea20f4781ccefcc02d15a94d9ae5870ab742f840273c9d71026fe8688532c409466c0cc0c620d4fe56f7877c588f7c7992ee95b249fd574f998f0900d4790656dc408b900d66d8f8feb70a903b110c479c00ec8d9d836d80d7c0d8b5a7b2d7d007b2ab9fa4cdbf97f618f6dcf209f9b5898230dd40ed1bd4617936b16d2e2f22d81946f4f4a1e5225533fa0653e8f7e205985bd02a345b840b1b4cc785774947d54127167cd330bbd2999177982fa8858fb7b7cf00442d50aae292b80c12ae8662e9c205bbf8fe25f3ec8f11a388a61130c4cbfaad54262d20ab423986e7b5a883509eeb87d7b02ca97156a4b0079af09dad5aae84a60d4c4d087a1d766cd175e28788fc36fac6f8652847ddd03fb75cc2244417d5ef06b4271d9e45f6d3dfe9a4fdad56ce81b85121c809f88e5bd3a4d9c7125907e175450b2bb3fda7b3602fe3af101fa0dbfd8827e887740408f6a8a6bf1d8ecc1ea92de4c266524640b112772569a1707b300a8a7ecece537aca05aa4989736e7b1150897778b3371c6c86bb5e8c8eff35907bee4296b9c3d695c9b760ad1d3a9af5ef04c837289f7cc7a7efba780765bbf8bcb85f0779e7651773740f6c0202677bd78ea20bf840b933140e7a174393709b382dda30507a28f0283bdae4b85d21c093881f3500dfe9fcf4a7fa61691eaacb7c6b5e41a7c45c8d7196cec4d7d7456d19c4086b12968cd84399a185cc56b208b248c65dbf448a461bf010f436dbbc80550e5203e14e48af1cb2947f4ac0a3fc5b07fba7a984745e7b38e1a0e4768ebcda3ec28be20a2c4564f647d46f8bbc3293286338e18f9bfaac8c14dc0e24b4977050dc4a74a5f0d2a03af5e42f8becc81cdc2df3fd1bfd3c02bdecea71630c5de8c6f5c7b5cd9785f3d96ee538161e46960351e0cf86b4a3482952fe39738513a9a2f6d18d1af42b2bce781c69046d1b28fb9aad271ff5ca4f221fa88b500c15c0549dacbb44c908cc3dad00ea2d7bb008242a33bdf9e7ca03785863a09946a3fc32f96cb3df5b87c1ffff850bb26c2084db1c254dd437c18881dda5538b9c2efa1ed55521048768be5e056bfb4380a5b6f07c3662780d10b84ac3786875bc950e86fdbb8e41663b7961ffe46c7cf5defb208a76efbc26d7b009b23cf3257e35043d319b74467b5f365174f40af32267af8f4b000efd9b7216b04a5eb96adc5101e13cb3f1b3b7407e6d430a25280285eadd4d24339971a9bed568c5ec45af0b8235775f819cef96b214cb8b45b3478e6dca71c1d31dc4003d460449de9d0ac40078a382e67bcf34fe41378e967e8bf07a3ea97464c9b2acec8f5aaffe617584a355f02519e325ceefc49ad4b3e68e91eeb7e8e0141dd9da1caaa9d154b7c86e9f17a559ac085a841913f0eac2e81350e8ec5d1d27cf01ec0c7ed33d71aa6860fff3b611b8099ee9f3c08bdb800188298dcdb0e30c5efcf938cd1f47b87a3033899403658cfb24ac1c777de8aa6b074060210ea92e00f6b33da71c17088b3f184b43f7071f5444811f8ef79720ce4d04228183f90d0882837b189cb12a51883b99baf26230d40537b950d91ec2640a349321fe1695dd746ff670d2c5163ef41e3bf1a10ec41c4b81bbda1dca0fc7f7375380e382f407c879bc5fd8502082c856721b65aaa18cfd87d156d486464debbb5833e807c237e2f094fe8ad6483b92f22be42184d4b14b4fdee4460a65f7515b2a3216b0c21ad7ea020c335fdbfeb6fa9f4067e0a6c302108a6d7b263afc65eca61978761d37b596f34eb200475404dc0408737f1114493b70f1f5527d35c5087593572e7a5c206387022e7c193f34d4a688135912256fc7774f8452867158eadbfe151b773f6b14bbb01793afc414dceb50700a8cbb1dbd6147cbaf4852d5d07284fd6cc0f2b826b3e8b75cfbe8ee87d0bd434f17e841d479146b95e5f939a327f49627c7b3efd21cb2ca5d4685abb29c8ac163cbabbf5850eaf9ee6a8560075d7ab5e79a2df14a46e2b615ffc30e9719b7904a60065859dd53645df0870122cdb5d029db45018417rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython310-documentation-3.10.14-150400.4.54.1.src.rpmpython310-doc-devhelppython310-doc-devhelp(ppc-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3fafIf@ffz@f"\fere!@eZe؈eԔ@ee4@dd˖d@dD@d ddJcdJcd@c>@c@cӼcck@cc@cRcOc'@cb@bbnb?bb@bzSbs@b?@b<]@b@b a@a@a@a@aX@a@aa@af@a\>@a,@a(a @a` @` @`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;mcepl@cepl.eumcepl@cepl.eumcepl@cepl.eudaniel.garcia@suse.commcepl@cepl.eumcepl@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eupmonreal@suse.commcepl@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comkukuk@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.demcepl@suse.comdmueller@suse.commcepl@suse.comcoolo@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdavid.anes@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comschwab@suse.deschwab@suse.demcepl@suse.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- Add CVE-2024-6923-email-hdr-inject.patch to prevent email header injection due to unquoted newlines (bsc#1228780, CVE-2024-6923). - Adding bso1227999-reproducible-builds.patch fixing bsc#1227999 adding reproducibility patches from gh#python/cpython!121872 and gh#python/cpython!121883. - %{profileopt} variable is set according to the variable %{do_profiling} (bsc#1227999) - Update bluez-devel-vendor.tar.xz- Remove %suse_update_desktop_file macro as it is not useful any more.- Stop using %%defattr, it seems to be breaking proper executable attributes on /usr/bin/ scripts (bsc#1227378).- Update F00251-change-user-install-location.patch to make pip and modern tools install directly in /usr/local when used by the user. bsc#1225660- Add CVE-2024-4032-private-IP-addrs.patch to fix bsc#1226448 (CVE-2024-4032) rearranging definition of private v global IP addresses.- Add CVE-2023-52425-libexpat-2.6.0-backport.patch to fix tests with patched libexpat below 2.6.0 that doesn't update the version number, just in SLE. - Remove old-libexpat.patch, of course.- Add old-libexpat.patch making the test suite work with libexpat < 2.6.0 (gh#python/cpython#117187).- Because of bsc#1189495 we have to revert use of %autopatch.- Update 3.10.14: - gh-115399 & gh-115398: bundled libexpat was updated to 2.6.0 to address CVE-2023-52425, and control of the new reparse deferral functionality was exposed with new APIs (bsc#1219559). - gh-109858: zipfile is now protected from the “quoted-overlap” zipbomb to address CVE-2024-0450. It now raises BadZipFile when attempting to read an entry that overlaps with another entry or central directory. (bsc#1221854) - gh-91133: tempfile.TemporaryDirectory cleanup no longer dereferences symlinks when working around file system permission errors to address CVE-2023-6597 (bsc#1219666) - gh-115197: urllib.request no longer resolves the hostname before checking it against the system’s proxy bypass list on macOS and Windows - gh-81194: a crash in socket.if_indextoname() with a specific value (UINT_MAX) was fixed. Relatedly, an integer overflow in socket.if_indextoname() on 64-bit non-Windows platforms was fixed - gh-113659: .pth files with names starting with a dot or containing the hidden file attribute are now skipped - gh-102388: iso2022_jp_3 and iso2022_jp_2004 codecs no longer read out of bounds - gh-114572: ssl.SSLContext.cert_store_stats() and ssl.SSLContext.get_ca_certs() now correctly lock access to the certificate store, when the ssl.SSLContext is shared across multiple threads (bsc#1226447, CVE-2024-0397) - Remove upstreamed patches: - CVE-2023-6597-TempDir-cleaning-symlink.patch - libexpat260.patch - Readjust patches: - F00251-change-user-install-location.patch - fix_configure_rst.patch - python-3.3.0b1-localpath.patch - skip-test_pyobject_freed_is_freed.patch - Port to %autosetup and %autopatch.- Use the system-wide crypto-policies [bsc#1211301] * Use the system default cipher list instead of hardcoded values * Add the --with-ssl-default-suites=openssl configure option- (bsc#1219666, CVE-2023-6597) Add CVE-2023-6597-TempDir-cleaning-symlink.patch (patch from gh#python/cpython!99930) fixing symlink bug in cleanup of tempfile.TemporaryDirectory.- Remove double definition of /usr/bin/idle%%{version} in %%files.- Add upstream patch libexpat260.patch, Fix tests for XMLPullParser with Expat 2.6.0, gh#python/cpython#115289- Refresh CVE-2023-27043-email-parsing-errors.patch to gh#python/cpython!111116, fixing bsc#1210638 (CVE-2023-27043). - Thus we can remove Revert-gh105127-left-tests.patch, which is now useless.- Add fix-sphinx-72.patch to make it work with latest sphinx version gh#python/cpython#97950 - Update to 3.10.13 (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. - gh-99612: Fix PyUnicode_DecodeUTF8Stateful() for ASCII-only data: * consumed was not set.- 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.- Add gh-78214-marshal_stabilize_FLAG_REF.patch to marshal.c for stabilizing FLAG_REF usage (required for reproduceability; bsc#1213463).- (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).- Update to 3.10.12: - 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). - Remove upstreamed patches: - CVE-2023-24329-blank-URL-bypass.patch - CVE-2007-4559-filter-tarfile_extractall.patch- Add bpo-37596-make-set-marshalling.patch making marshalling of `set` and `frozenset` deterministic (bsc#1211765).- Add CVE-2007-4559-filter-tarfile_extractall.patch to fix CVE-2007-4559 (bsc#1203750) by adding the filter for tarfile.extractall (PEP 706).- Update to 3.10.11: - Core and Builtins - gh-102416: Do not memoize incorrectly automatically generated loop rules in the parser. Patch by Pablo Galindo. - gh-102356: Fix a bug that caused a crash when deallocating deeply nested filter objects. Patch by Marta Gómez Macías. - gh-102397: Fix segfault from race condition in signal handling during garbage collection. Patch by Kumar Aditya. - gh-102126: Fix deadlock at shutdown when clearing thread states if any finalizer tries to acquire the runtime head lock. Patch by Kumar Aditya. - gh-102027: Fix SSE2 and SSE3 detection in _blake2 internal module. Patch by Max Bachmann. - gh-101967: Fix possible segfault in positional_only_passed_as_keyword function, when new list created. - gh-101765: Fix SystemError / segmentation fault in iter __reduce__ when internal access of builtins.__dict__ keys mutates the iter object. - Library - gh-102947: Improve traceback when dataclasses.fields() is called on a non-dataclass. Patch by Alex Waygood - gh-101979: Fix a bug where parentheses in the metavar argument to argparse.ArgumentParser.add_argument() were dropped. Patch by Yeojin Kim. - gh-102179: Fix os.dup2() error message for negative fds. - gh-101961: For the binary mode, fileinput.hookcompressed() doesn’t set the encoding value even if the value is None. Patch by Gihwan Kim. - gh-101936: The default value of fp becomes io.BytesIO if HTTPError is initialized without a designated fp parameter. Patch by Long Vo. - gh-101566: In zipfile, apply fix for extractall on the underlying zipfile after being wrapped in Path. - gh-101997: Upgrade pip wheel bundled with ensurepip (pip 23.0.1) - gh-101892: Callable iterators no longer raise SystemError when the callable object exhausts the iterator but forgets to either return a sentinel value or raise StopIteration. - gh-97786: Fix potential undefined behaviour in corner cases of floating-point-to-time conversions. - gh-101517: Fixed bug where bdb looks up the source line with linecache with a lineno=None, which causes it to fail with an unhandled exception. - gh-101673: Fix a pdb bug where ll clears the changes to local variables. - gh-96931: Fix incorrect results from ssl.SSLSocket.shared_ciphers() - gh-88233: Correctly preserve “extra” fields in zipfile regardless of their ordering relative to a zip64 “extra.” - gh-95495: When built against OpenSSL 3.0, the ssl module had a bug where it reported unauthenticated EOFs (i.e. without close_notify) as a clean TLS-level EOF. It now raises SSLEOFError, matching the behavior in previous versions of OpenSSL. The options attribute on SSLContext also no longer includes OP_IGNORE_UNEXPECTED_EOF by default. This option may be set to specify the previous OpenSSL 3.0 behavior. - gh-94440: Fix a concurrent.futures.process bug where ProcessPoolExecutor shutdown could hang after a future has been quickly submitted and canceled. - Documentation - gh-103112: Add docstring to http.client.HTTPResponse.read() to fix pydoc output. - gh-85417: Update cmath documentation to clarify behaviour on branch cuts. - gh-97725: Fix asyncio.Task.print_stack() description for file=None. Patch by Oleg Iarygin. - Tests - gh-102980: Improve test coverage on pdb. - gh-102537: Adjust the error handling strategy in test_zoneinfo.TzPathTest.python_tzpath_context. Patch by Paul Ganssle. - gh-101377: Improved test_locale_calendar_formatweekday of calendar. - Build - gh-102711: Fix -Wstrict-prototypes compiler warnings. - Removed upstreamed: - invalid-json.patch- Add invalid-json.patch fixing invalid JSON in Doc/howto/logging-cookbook.rst (somehow similar to gh#python/cpython#102582).- Update to 3.10.10: Bug fixes and regressions handling, no change of behaviour and no security bugs fixed. - 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- Update to 3.10.9: - python -m http.server no longer allows terminal control characters sent within a garbage request to be printed to the stderr server lo This is done by changing the http.server BaseHTTPRequestHandler .log_message method to replace control characters with a \xHH hex escape before printin - 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. - 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 - Fix a reference bug in _imp.create_builtin() after the creation of the first sub-interpreter for modules builtins and sys. Patch by Victor Stinner. - Fixed a bug that was causing a buffer overflow if the tokenizer copies a line missing the newline caracter from a file that is as long as the available tokenizer buffer. Patch by Pablo galindo - Update faulthandler to emit an error message with the proper unexpected signal number. Patch by Dong-hee Na. - Fix subscription of types.GenericAlias instances containing bare generic types: for example tuple[A, T][int], where A is a generic type, and T is a type variable. - Fix detection of MAC addresses for uuid on certain OSs. Patch by Chaim Sanders - Print exception class name instead of its string representation when raising errors from ctypes calls. - Allow pdb to locate source for frozen modules in the standard library. - Raise ValueError instead of SystemError when methods of uninitialized io.IncrementalNewlineDecoder objects are called. Patch by Oren Milman. - Fix a possible assertion failure in io.FileIO when the opener returns an invalid file descriptor. - Also escape s in the http.server BaseHTTPRequestHandler.log_message so that it is technically possible to parse the line and reconstruct what the original data was. Without this a xHH is ambiguious as to if it is a hex replacement we put in or the characters r”x” came through in the original request line. - asyncio.get_event_loop() now only emits a deprecation warning when a new event loop was created implicitly. It no longer emits a deprecation warning if the current event loop was set. - Fix bug when calling trace.CoverageResults with valid infile. - Fix a bug in handling class cleanups in unittest.TestCase. Now addClassCleanup() uses separate lists for different TestCase subclasses, and doClassCleanups() only cleans up the particular class. - Release the GIL when calling termios APIs to avoid blocking threads. - Fix ast.increment_lineno() to also cover ast.TypeIgnore when changing line numbers. - Fixed bug where inspect.signature() reported incorrect arguments for decorated methods. - Fix SystemError in ctypes when exception was not set during __initsubclass__. - Fix statistics.NormalDist pickle with 0 and 1 protocols. - Update the bundled copy of pip to version 22.3.1. - Apply bugfixes from importlib_metadata 4.11.4, namely: In PathDistribution._name_from_stem, avoid including parts of the extension in the result. In PathDistribution._normalized_name, ensure names loaded from the stem of the filename are also normalized, ensuring duplicate entry points by packages varying only by non-normalized name are hidden. - Clean up refleak on failed module initialisation in _zoneinfo - Clean up refleaks on failed module initialisation in in _pickle - Clean up refleak on failed module initialisation in _io. - Fix memory leak in math.dist() when both points don’t have the same dimension. Patch by Kumar Aditya. - Fix argument typechecks in _overlapped.WSAConnect() and _overlapped.Overlapped.WSASendTo() functions. - Fix internal error in the re module which in very rare circumstances prevented compilation of a regular expression containing a conditional expression without the “else” branch. - Fix asyncio.StreamWriter.drain() to call protocol.connection_lost callback only once on Windows. - Add a mutex to unittest.mock.NonCallableMock to protect concurrent access to mock attributes. - Fix hang on Windows in subprocess.wait_closed() in asyncio with ProactorEventLoop. Patch by Kumar Aditya. - Fix infinite loop in unittest when a self-referencing chained exception is raised - tkinter.Text.count() raises now an exception for options starting with “-” instead of silently ignoring them. - On uname_result, restored expectation that _fields and _asdict would include all six properties including processor. - Update the bundled copies of pip and setuptools to versions 22.3 and 65.5.0 respectively. - Fix bug in urllib.parse.urlparse() that causes certain port numbers containing whitespace, underscores, plus and minus signs, or non-ASCII digits to be incorrectly accepted. - Allow venv to pass along PYTHON* variables to ensurepip and pip when they do not impact path resolution - On macOS, fix a crash in syslog.syslog() in multi-threaded applications. On macOS, the libc syslog() function is not thread-safe, so syslog.syslog() no longer releases the GIL to call it. Patch by Victor Stinner. - Allow BUILTINS to be a valid field name for frozen dataclasses. - Make sure patch.dict() can be applied on async functions. - To avoid apparent memory leaks when asyncio.open_connection() raises, break reference cycles generated by local exception and future instances (which has exception instance as its member var). Patch by Dong Uk, Kang. - Prevent error when activating venv in nested fish instances. - Restrict use of sockets instead of pipes for stdin of subprocesses created by asyncio to AIX platform only. - shutil.copytree() now applies the ignore_dangling_symlinks argument recursively. - Fix IndexError in argparse.ArgumentParser when a store_true action is given an explicit argument. - Document that calling variadic functions with ctypes requires special care on macOS/arm64 (and possibly other platforms). - Skip test_normalization() of test_unicodedata if it fails to download NormalizationTest.txt file from pythontest.net. Patch by Victor Stinner. - Some C API tests were moved into the new Lib/test/test_capi/ directory. - Fix -Wimplicit-int, -Wstrict-prototypes, and - Wimplicit-function-declaration compiler warnings in configure checks. - Fix -Wimplicit-int compiler warning in configure check for PTHREAD_SCOPE_SYSTEM. - Specify the full path to the source location for make docclean (needed for cross-builds). - Fix NO_MISALIGNED_ACCESSES being not defined for the SHA3 extension when HAVE_ALIGNED_REQUIRED is set. Allowing builds on hardware that unaligned memory accesses are not allowed. - Fix handling of module docstrings in Tools/i18n/pygettext.py. - Remove upstreamed patches: - 98437-sphinx.locale._-as-gettext-in-pyspecific.patch - 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.10.8: - 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. - 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). - os.sched_yield() now release the GIL while calling sched_yield(2). - Bugfix: PyFunction_GetAnnotations() should return a borrowed reference. It was returning a new reference. - Fixed a missing incref/decref pair in Exception.__setstate__(). - Fix overly-broad source position information for chained comparisons used as branching conditions. - Fix undefined behaviour in _testcapimodule.c. - At Python exit, sometimes a thread holding the GIL can wait forever for a thread (usually a daemon thread) which requested to drop the GIL, whereas the thread already exited. To fix the race condition, the thread which requested the GIL drop now resets its request before exiting. - Fix a possible assertion failure, fatal error, or SystemError if a line tracing event raises an exception while opcode tracing is enabled. - Fix undefined behaviour in C code of null pointer arithmetic. - Do not expose KeyWrapper in _functools. - When loading a file with invalid UTF-8 inside a multi-line string, a correct SyntaxError is emitted. - Disable incorrect pickling of the C implemented classmethod descriptors. - Fix AttributeError missing name and obj attributes in . object.__getattribute__() bpo-42316: Document some places . where an assignment expression needs parentheses . - Wrap network errors consistently in urllib FTP support, so the test suite doesn’t fail when a network is available but the public internet is not reachable. - Fixes AttributeError when subprocess.check_output() is used with argument input=None and either of the arguments encoding or errors are used. - Avoid spurious tracebacks from asyncio when default executor cleanup is delayed until after the event loop is closed (e.g. as the result of a keyboard interrupt). - Avoid a crash in the C version of asyncio.Future.remove_done_callback() when an evil argument is passed. - Remove tokenize.NL check from tabnanny. - Make Semaphore run faster. - Fix generation of the default name of tkinter.Checkbutton. Previously, checkbuttons in different parent widgets could have the same short name and share the same state if arguments “name” and “variable” are not specified. Now they are globally unique. - Update bundled libexpat to 2.4.9 - Fix race condition in asyncio where process_exited() called before the pipe_data_received() leading to inconsistent output. - Fixed check in multiprocessing.resource_tracker that guarantees that the length of a write to a pipe is not greater than PIPE_BUF. - Corrected type annotation for dataclass attribute pstats.FunctionProfile.ncalls to be str. - Fix the faulthandler implementation of faulthandler.register(signal, chain=True) if the sigaction() function is not available: don’t call the previous signal handler if it’s NULL. - In inspect, fix overeager replacement of “typing.” in formatting annotations. - Fix asyncio.streams.StreamReaderProtocol to keep a strong reference to the created task, so that it’s not garbage collected - Fix handling compiler warnings (SyntaxWarning and DeprecationWarning) in codeop.compile_command() when checking for incomplete input. Previously it emitted warnings and raised a SyntaxError. Now it always returns None for incomplete input without emitting any warnings. - Fixed flickering of the turtle window when the tracer is turned off. - Allow asyncio.StreamWriter.drain() to be awaited concurrently by multiple tasks. - Fix broken asyncio.Semaphore when acquire is cancelled. - Fix ast.unparse() when ImportFrom.level is None - Improve performance of urllib.request.getproxies_environment when there are many environment variables - Fix ! in c domain ref target syntax via a conf.py patch, so it works as intended to disable ref target resolution. - Clarified the conflicting advice given in the ast documentation about ast.literal_eval() being “safe” for use on untrusted input while at the same time warning that it can crash the process. The latter statement is true and is deemed unfixable without a large amount of work unsuitable for a bugfix. So we keep the warning and no longer claim that literal_eval is safe. - Update tutorial introduction output to use 3.10+ SyntaxError invalid range. - Remove upstreamed test-int-timing.patch.- test-int-timing.patch: gh-96710: Make the test timing more lenient for the int/str DoS regression test. (#96717)- Update to 3.10.7: - Fix for 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. - Other bug fixes: - Fixed a bug that caused _PyCode_GetExtra to return garbage for negative indexes. - Fix format string in _PyPegen_raise_error_known_location that can lead to memory corruption on some 64bit systems. The function was building a tuple with i (int) instead of n (Py_ssize_t) for Py_ssize_t arguments. - Fix misleading contents of error message when converting an all-whitespace string to float. - coroutine.throw() now properly initializes the frame.f_back when resuming a stack of coroutines. This allows e.g. traceback.print_stack() to work correctly when an exception (such as CancelledError) is thrown into a coroutine. - ast.parse() will no longer parse function definitions with positional-only params when passed feature_version less than (3, 8). - Correct conversion of numbers.Rational’s to float. - Fix a performance regression in logging TimedRotatingFileHandler. Only check for special files when the rollover time has passed. - Fix unused localName parameter in the Attr class in xml.dom.minidom. - Update bundled pip to 22.2.2. - Fail gracefully if EPERM or ENOSYS is raised when loading crypt methods. This may happen when trying to load MD5 on a Linux kernel with FIPS enabled. - Improve discoverability of the higher level concurrent.futures module by providing clearer links from the lower level threading and multiprocessing modules. - Update the default RFC base URL from deprecated tools.ietf.org to datatracker.ietf.org - Fix stylesheet not working in Windows CHM htmlhelp docs. - The documentation now lists which members of C structs are part of the Limited API/Stable ABI. - Mitigate the inherent race condition from using find_unused_port() in testSockName() by trying to find an unused port a few times before failing. - Build and test with OpenSSL 1.1.1q - Document handling of extensions in Save As dialogs. - Include prompts when saving Shell (interactive input and output).- fix import_failed.map to refer to the python 3.10 package versions- Update to 3.10.6: - gh-87389: 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. (bsc#1202624, CVE-2021-28861) - gh-92888: Fix memoryview use after free when accessing the backing buffer in certain cases. - gh-95355: _PyPegen_Parser_New now properly detects token memory allocation errors. Patch by Honglin Zhu. - gh-94938: Fix error detection in some builtin functions when keyword argument name is an instance of a str subclass with overloaded __eq__ and __hash__. Previously it could cause SystemError or other undesired behavior. - gh-94949: ast.parse() will no longer parse parenthesized context managers when passed feature_version less than (3, 9). Patch by Shantanu Jain. - gh-94947: ast.parse() will no longer parse assignment expressions when passed feature_version less than (3, 8). Patch by Shantanu Jain. - gh-94869: Fix the column offsets for some expressions in multi-line f-strings ast nodes. Patch by Pablo Galindo. - gh-91153: Fix an issue where a bytearray item assignment could crash if it’s resized by the new value’s __index__() method. - gh-94329: Compile and run code with unpacking of extremely large sequences (1000s of elements). Such code failed to compile. It now compiles and runs correctly. - gh-94360: Fixed a tokenizer crash when reading encoded files with syntax errors from stdin with non utf-8 encoded text. Patch by Pablo Galindo - gh-94192: Fix error for dictionary literals with invalid expression as value. - gh-93964: Strengthened compiler overflow checks to prevent crashes when compiling very large source files. - gh-93671: Fix some exponential backtrace case happening with deeply nested sequence patterns in match statements. Patch by Pablo Galindo - gh-93021: Fix the __text_signature__ for __get__() methods implemented in C. Patch by Jelle Zijlstra. - gh-92930: Fixed a crash in _pickle.c from mutating collections during __reduce__ or persistent_id. - gh-92914: Always round the allocated size for lists up to the nearest even number. - gh-92858: Improve error message for some suites with syntax error before ‘:’ - gh-95339: Update bundled pip to 22.2.1. - gh-95045: Fix GC crash when deallocating _lsprof.Profiler by untracking it before calling any callbacks. Patch by Kumar Aditya. - gh-95087: Fix IndexError in parsing invalid date in the email module. - gh-95199: Upgrade bundled setuptools to 63.2.0. - gh-95194: Upgrade bundled pip to 22.2. - gh-93899: Fix check for existence of os.EFD_CLOEXEC, os.EFD_NONBLOCK and os.EFD_SEMAPHORE flags on older kernel versions where these flags are not present. Patch by Kumar Aditya. - gh-95166: Fix concurrent.futures.Executor.map() to cancel the currently waiting on future on an error - e.g. TimeoutError or KeyboardInterrupt. - gh-93157: Fix fileinput module didn’t support errors option when inplace is true. - gh-94821: Fix binding of unix socket to empty address on Linux to use an available address from the abstract namespace, instead of “0”. - gh-94736: Fix crash when deallocating an instance of a subclass of _multiprocessing.SemLock. Patch by Kumar Aditya. - gh-94637: SSLContext.set_default_verify_paths() now releases the GIL around SSL_CTX_set_default_verify_paths call. The function call performs I/O and CPU intensive work. - gh-94510: Re-entrant calls to sys.setprofile() and sys.settrace() now raise RuntimeError. Patch by Pablo Galindo. - gh-92336: Fix bug where linecache.getline() fails on bad files with UnicodeDecodeError or SyntaxError. It now returns an empty string as per the documentation. - gh-89988: Fix memory leak in pickle.Pickler when looking up dispatch_table. Patch by Kumar Aditya. - gh-94254: Fixed types of struct module to be immutable. Patch by Kumar Aditya. - gh-94245: Fix pickling and copying of typing.Tuple[()]. - gh-94207: Made _struct.Struct GC-tracked in order to fix a reference leak in the _struct module. - gh-94101: Manual instantiation of ssl.SSLSession objects is no longer allowed as it lead to misconfigured instances that crashed the interpreter when attributes where accessed on them. - gh-84753: inspect.iscoroutinefunction(), inspect.isgeneratorfunction(), and inspect.isasyncgenfunction() now properly return True for duck-typed function-like objects like instances of unittest.mock.AsyncMock. - This makes inspect.iscoroutinefunction() consistent with the behavior of asyncio.iscoroutinefunction(). Patch by Mehdi ABAAKOUK. - gh-83499: Fix double closing of file description in tempfile. - gh-79512: Fixed names and __module__ value of weakref classes ReferenceType, ProxyType, CallableProxyType. It makes them pickleable. - gh-90494: copy.copy() and copy.deepcopy() now always raise a TypeError if __reduce__() returns a tuple with length 6 instead of silently ignore the 6th item or produce incorrect result. - gh-90549: Fix a multiprocessing bug where a global named resource (such as a semaphore) could leak when a child process is spawned (as opposed to forked). - gh-79579: sqlite3 now correctly detects DML queries with leading comments. Patch by Erlend E. Aasland. - gh-93421: Update sqlite3.Cursor.rowcount when a DML statement has run to completion. This fixes the row count for SQL queries like UPDATE ... RETURNING. Patch by Erlend E. Aasland. - gh-91810: Suppress writing an XML declaration in open files in ElementTree.write() with encoding='unicode' and xml_declaration=None. - gh-93353: Fix the importlib.resources.as_file() context manager to remove the temporary file if destroyed late during Python finalization: keep a local reference to the os.remove() function. Patch by Victor Stinner. - gh-83658: Make multiprocessing.Pool raise an exception if maxtasksperchild is not None or a positive int. - gh-74696: shutil.make_archive() no longer temporarily changes the current working directory during creation of standard .zip or tar archives. - gh-91577: Move imports in SharedMemory methods to module level so that they can be executed late in python finalization. - bpo-47231: Fixed an issue with inconsistent trailing slashes in tarfile longname directories. - bpo-46755: In QueueHandler, clear stack_info from LogRecord to prevent stack trace from being written twice. - bpo-46053: Fix OSS audio support on NetBSD. - bpo-46197: Fix ensurepip environment isolation for subprocess running pip. - bpo-45924: Fix asyncio incorrect traceback when future’s exception is raised multiple times. Patch by Kumar Aditya. - bpo-34828: sqlite3.Connection.iterdump() now handles databases that use AUTOINCREMENT in one or more tables. - gh-94321: Document the PEP 246 style protocol type sqlite3.PrepareProtocol. - gh-86128: Document a limitation in ThreadPoolExecutor where its exit handler is executed before any handlers in atexit. - gh-61162: Clarify sqlite3 behavior when Using the connection as a context manager. - gh-87260: Align sqlite3 argument specs with the actual implementation. - gh-86986: The minimum Sphinx version required to build the documentation is now 3.2. - gh-88831: Augmented documentation of asyncio.create_task(). Clarified the need to keep strong references to tasks and added a code snippet detailing how to to this. - bpo-47161: Document that pathlib.PurePath does not collapse initial double slashes because they denote UNC paths. - gh-95280: Fix problem with test_ssl test_get_ciphers on systems that require perfect forward secrecy (PFS) ciphers. - gh-95212: Make multiprocessing test case test_shared_memory_recreate parallel-safe. - gh-91330: Added more tests for dataclasses to cover behavior with data descriptor-based fields. - gh-94208: test_ssl is now checking for supported TLS version and protocols in more tests. - gh-93951: In test_bdb.StateTestCase.test_skip, avoid including auxiliary importers. - gh-93957: Provide nicer error reporting from subprocesses in test_venv.EnsurePipTest.test_with_pip. - gh-57539: Increase calendar test coverage for calendar.LocaleTextCalendar.formatweekday(). - gh-92886: Fixing tests that fail when running with optimizations (-O) in test_zipimport.py - bpo-47016: Create a GitHub Actions workflow for verifying bundled pip and setuptools. Patch by Illia Volochii and Adam Turner. - gh-94841: Fix the possible performance regression of PyObject_Free() compiled with MSVC version 1932. - gh-95511: Fix the Shell context menu copy-with-prompts bug of copying an extra line when one selects whole lines. - gh-95471: In the Edit menu, move Select All and add a new separator. - gh-95411: Enable using IDLE’s module browser with .pyw files. - gh-89610: Add .pyi as a recognized extension for IDLE on macOS. This allows opening stub files by double clicking on them in the Finder. - gh-94538: Fix Argument Clinic output to custom file destinations. Patch by Erlend E. Aasland. - gh-94430: Allow parameters named module and self with custom C names in Argument Clinic. Patch by Erlend E. Aasland - gh-94930: Fix SystemError raised when PyArg_ParseTupleAndKeywords() is used with # in (...) but without PY_SSIZE_T_CLEAN defined. - gh-94864: Fix PyArg_Parse* with deprecated format units “u” and “Z”. It returned 1 (success) when warnings are turned into exceptions. - Reapply patches - bpo-31046_ensurepip_honours_prefix.patch - fix_configure_rst.patch - no-skipif-doctests.patch - skip-test_pyobject_freed_is_freed.patch- Extend distutils-reproducible-compile.patch with a workaround for non reproducible pyc files issue 93317- 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.- Update to 3.10.5: - Core and Builtins - gh-93418: Fixed an assert where an f-string has an equal sign ‘=’ following an expression, but there’s no trailing brace. For example, f”{i=”. - gh-91924: Fix __ltrace__ debug feature if the stdout encoding is not UTF-8. Patch by Victor Stinner. - gh-93061: Backward jumps after async for loops are no longer given dubious line numbers. - gh-93065: 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. - 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-47212: Raise IndentationError instead of SyntaxError for a bare except with no following indent. Improve SyntaxError locations for an un-parenthesized generator used as arguments. Patch by Matthieu Dartiailh. - bpo-47182: Fix a crash when using a named unicode character like "\N{digit nine}" after the main interpreter has been initialized a second time. - bpo-47117: Fix a crash if we fail to decode characters in interactive mode if the tokenizer buffers are uninitialized. Patch by Pablo Galindo. - bpo-39829: Removed the __len__() call when initializing a list and moved initializing to list_extend. Patch by Jeremiah Pascual. - 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 ctypes.UnionType, 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-93156: Accessing the pathlib.PurePath.parents sequence of an absolute path using negative index values produced incorrect results. - gh-89973: Fix re.error raised in fnmatch if the pattern contains a character range with upper bound lower than lower bound (e.g. [c-a]). Now such ranges are interpreted as empty ranges. - gh-93010: In a very special case, the email package tried to append the nonexistent InvalidHeaderError to the defect list. It should have been InvalidHeaderDefect. - gh-92839: Fixed crash resulting from calling bisect.insort() or bisect.insort_left() with the key argument not equal to None. - 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-91401: Provide a fail-safe way to disable subprocess use of vfork() via a private subprocess._USE_VFORK attribute. While there is currently no known need for this, if you find a need please only set it to False. File a CPython issue as to why you needed it and link to that from a comment in your code. This attribute is documented as a footnote in 3.11. - 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-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-47260: Fix os.closerange() potentially being a no-op in a Linux seccomp sandbox. - bpo-39064: zipfile.ZipFile now raises zipfile.BadZipFile instead of ValueError when reading a corrupt zip file in which the central directory offset is negative. - bpo-47151: When subprocess tries to use vfork, it now falls back to fork if vfork returns an error. This allows use in situations where vfork isn’t allowed by the OS kernel. - 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-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-46787: Fix concurrent.futures.ProcessPoolExecutor exception memory leak - bpo-45393: Fix the formatting for await x and not x in the operator precedence table when using the help() system. - bpo-46415: Fix ipaddress.ip_{address,interface,network} raising TypeError instead of ValueError if given invalid tuple as address parameter. - bpo-28249: Set doctest.DocTest.lineno to None when object does not have __doc__. - bpo-45138: Fix a regression in the sqlite3 trace callback where bound parameters were not expanded in the passed statement string. The regression was introduced in Python 3.10 by bpo-40318. Patch by Erlend E. Aasland. - 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-86438: Clarify that -W and PYTHONWARNINGS are matched literally and case-insensitively, rather than as regular expressions, in warnings. - gh-92240: Added release dates for “What’s New in Python 3.X” for 3.0, 3.1, 3.2, 3.8 and 3.10 - 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 3.2.1. - 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-40838: Document that inspect.getdoc(), inspect.getmodule(), and inspect.getsourcefile() might return None. - 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-92886: Fixing tests that fail when running with optimizations (-O) in test_imaplib.py. - gh-92670: Skip test_shutil.TestCopy.test_copyfile_nonexistent_dir test on AIX as the test uses a trailing slash to force the OS consider the path as a directory, but on AIX the trailing slash has no effect and is considered as a file. - gh-91904: Fix initialization of PYTHONREGRTEST_UNICODE_GUARD which prevented running regression tests on non-UTF-8 locale. - 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-47104: Rewrite asyncio.to_thread() tests to use unittest.IsolatedAsyncioTestCase. - bpo-29890: Add tests for ipaddress.IPv4Interface and ipaddress.IPv6Interface construction with tuple arguments. Original patch and tests by louisom. - Tools/Demos - gh-91583: Fix regression in the code generated by Argument Clinic for functions with the defining_class parameter.- Refresh bluez-devel-vendor.tar.xz- Switch primary_interpreter from python38 to python310 for Factory (only)- Update to 3.10.4: - 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-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 and deprecation warnings and have 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. - Update to 3.10.3: - bpo-46940: Avoid overriding AttributeError metadata information for nested attribute access calls. Patch by Pablo Galindo. - 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-46820: Fix parsing a numeric literal immediately (without spaces) followed by “not in” keywords, like in 1not in x. Now the parser only emits a warning, not a syntax error. - 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-46724: Make sure that all backwards jumps use the JUMP_ABSOLUTE instruction, rather than JUMP_FORWARD with an argument of (2**32)+offset. - bpo-46732: Correct the docstring for the __bool__() method. Patch by Jelle Zijlstra. - bpo-46707: Avoid potential exponential backtracking when producing some syntax errors involving lots of brackets. Patch by Pablo Galindo. - 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-45773: Remove two invalid “peephole” optimizations from the bytecode compiler. - 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-46070: Py_EndInterpreter() now explicitly untracks all objects currently tracked by the GC. Previously, if an object was used later by another interpreter, calling PyObject_GC_UnTrack() on the object crashed if the previous or the next object of the PyGC_Head structure became a dangling pointer. Patch by Victor Stinner. - bpo-46339: Fix a crash in the parser when retrieving the error text for multi-line f-strings expressions that do not start in the first line of the string. Patch by Pablo Galindo - bpo-46240: Correct the error message for unclosed parentheses when the tokenizer doesn’t reach the end of the source when the error is reported. Patch by Pablo Galindo - bpo-46091: Correctly calculate indentation levels for lines with whitespace character that are ended by line continuation characters. Patch by Pablo Galindo - 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) - 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-23325: The signal module no longer assumes that SIG_IGN and SIG_DFL are small int singletons. - 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-46643: In typing.get_type_hints(), support evaluating stringified ParamSpecArgs and ParamSpecKwargs annotations. Patch by Gregory Beauregard. - 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-46676: Make typing.ParamSpec args and kwargs equal to themselves. Patch by Gregory Beauregard. - bpo-46672: Fix NameError in asyncio.gather() when initial type check fails. - bpo-46655: In typing.get_type_hints(), support evaluating bare stringified TypeAlias annotations. Patch by Gregory Beauregard. - 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-46521: Fix a bug in the codeop module that was incorrectly identifying invalid code involving string quotes as valid code. - bpo-46581: Brings ParamSpec propagation for GenericAlias in line with Concatenate (and others). - 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-45173: Note the configparser deprecations will be removed in Python 3.12. - 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-46246: Add missing __slots__ to importlib.metadata.DeprecatedList. Patch by Arie Bovenberg. - bpo-46266: Improve day constants in calendar. - Now all constants (MONDAY … SUNDAY) are documented, tested, and added to __all__. - bpo-46232: The ssl module now handles certificates with bit strings in DN correctly. - 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-26552: Fixed case where failing asyncio.ensure_future() did not close the coroutine. Patch by Kumar Aditya. - 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-44791: Fix substitution of ParamSpec in Concatenate with different parameter expressions. Substitution with a list of types returns now a tuple of types. Substitution with Concatenate returns now a Concatenate with concatenated lists of arguments. - 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 - 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-46678: The function make_legacy_pyc in Lib/test/support/import_helper.py no longer fails when PYTHONPYCACHEPREFIX is set to a directory on a different device from where tempfiles are stored. - 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-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. - bpo-46433: The internal function _PyType_GetModuleByDef now correctly handles inheritance patterns involving static types. - bpo-14916: Fixed bug in the tokenizer that prevented PyRun_InteractiveOne from parsing from the provided FD.- (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.- Add patch support-expat-245.patch: * Support Expat >= 2.4.5- bsc#1195831 Obsolete older "most modern" versions of python packages (python39 for python310 and so forth). For next versions it is necessary just to edit the macro.- Remove second superfluous BR rpm-build-python- Remove second superfluous BR rpm-build-python - Add fix_configure_rst.patch, which removes duplicate link targets and make documentation with old Sphinx in SLE - Skip test_capi (bsc#1195140 and bpo#37169)- Update to 3.10.2: Bugfix only - bpo#46347 memory leak in PyEval_EvalCodeEx (especially visible with Cython code) - and many others- Upgrade to 3.10.1 (jsc#SLE-18038): - PEP 623 – Deprecate and prepare for the removal of the wstr member in PyUnicodeObject. - PEP 604 – Allow writing union types as X | Y - PEP 612 – Parameter Specification Variables - PEP 626 – Precise line numbers for debugging and other tools. - PEP 618 – Add Optional Length-Checking To zip. - bpo-12782: Parenthesized context managers are now officially allowed. - PEP 632 – Deprecate distutils module. - PEP 613 – Explicit Type Aliases - PEP 634 – Structural Pattern Matching: Specification - PEP 635 – Structural Pattern Matching: Motivation and Rationale - PEP 636 – Structural Pattern Matching: Tutorial - PEP 644 – Require OpenSSL 1.1.1 or newer - PEP 624 – Remove Py_UNICODE encoder APIs - PEP 597 – Add optional EncodingWarning - Patches readjusted: - bpo-31046_ensurepip_honours_prefix.patch - python-3.3.0b1-fix_date_time_compiler.patch- Remove pdb_adjust_breakpoints.patch and instead just adjust location of the test breakpoint in Lib/test/test_pdb.py via sed, because we have shortened Lib/pdb.py by removing the shebang (bpo#45964).- Add pdb_adjust_breakpoints.patch fixing expectd results in test_pdb_breakpoints_preserved_across_interactive_sessions (bpo#45964).- Remove shebangs from from python-base libraries in _libdir (bsc#1193179). - Readjust patches: - bpo-31046_ensurepip_honours_prefix.patch - decimal.patch - python-3.3.0b1-fix_date_time_compiler.patch- Move rpm-build-python construct to correct place.- 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.- Final release of 3.10.0: Complete list on https://www.python.org/downloads/release/python-3100/, but highlights are: - PEP 623 – Deprecate and prepare for the removal of the wstr member in PyUnicodeObject. - PEP 604 – Allow writing union types as X | Y - PEP 612 – Parameter Specification Variables - PEP 626 – Precise line numbers for debugging and other tools. - PEP 618 – Add Optional Length-Checking To zip. - PEP 632 – Deprecate distutils module. - PEP 613 – Explicit Type Aliases - PEP 634 – Structural Pattern Matching: Specification - PEP 635 – Structural Pattern Matching: Motivation and Rationale - PEP 636 – Structural Pattern Matching: Tutorial - PEP 644 – Require OpenSSL 1.1.1 or newer - PEP 624 – Remove Py_UNICODE encoder APIs - PEP 597 – Add optional EncodingWarning - bpo-12782: Parenthesized context managers are now officially allowed.- Switch on option --with-system-libmpdec (bsc#1189356).- Reenable profileopt with qemu emulation, test_faulthandler is no longer run during profiling- test_faulthandler is still problematic under qemu linux-user emulation, disable it there- Update to 3.10.0rc1 (the penultimate prerelease), which contains plenty of small bugfixes among others: - bpo#38605: from __future__ import annotations (PEP 563) used to be on this list in previous pre-releases but it has been postponed to Python 3.11 due to some compatibility concerns. - bpo-44600: Fix incorrect line numbers while tracing some failed patterns in match statements. Patch by Charles Burkland. - plenty of modifications in types.Union- Update to 3.10.0b4: https://docs.python.org/3.10/whatsnew/changelog.html#python-3-10-0-beta-4 - Remove python3-imp-returntype.patch which has been upstreamed.- Update to 3.10.0b2: - PEP 623 -- Deprecate and prepare for the removal of the wstr member in PyUnicodeObject. - PEP 604 -- Allow writing union types as X | Y - PEP 612 -- Parameter Specification Variables - PEP 626 -- Precise line numbers for debugging and other tools. - PEP 618 -- Add Optional Length-Checking To zip. - bpo-12782: Parenthesized context managers are now officially allowed. - PEP 632 -- Deprecate distutils module. - PEP 613 -- Explicit Type Aliases - PEP 634 -- Structural Pattern Matching: Specification - PEP 635 -- Structural Pattern Matching: Motivation and Rationale - PEP 636 -- Structural Pattern Matching: Tutorial - PEP 644 -- Require OpenSSL 1.1.1 or newer - PEP 624 -- Remove Py_UNICODE encoder APIs - PEP 597 -- Add optional EncodingWarning - Removed patches (assumed upstream): - sphinx-update-removed-function.patch- 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: 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: 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 Bugzillapython39-doc-devhelpibs-power9-18 1723706781  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>3.10.14-150400.4.54.13.10.14-150400.4.54.1     gtk-dochtmlPython3.10Python.devhelp.gz_downloads6dc1f3f4f0e6ca13cb42ddf4d6cbc8aftzinfo_examples.py_imageshashlib-blake2-tree.pnglogging_flow.pngpathlib-inheritance.pngtk_msg.pngturtle-star.pngwin_installer.png_staticbasic.csscaret-down.svgchangelog_search.jsclassic.csscopybutton.jsdefault.cssdoctools.jsdocumentation_options.jsfile.pngglossary.jsonjquery-3.5.1.jsjquery.jslanguage_data.jsmenu.jsminus.pngopensearch.xmlplus.pngpy.pngpy.svgpydoctheme.csspygments.csssearchtools.jssidebar.jsunderscore-1.13.1.jsunderscore.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.htmlhowtoannotations.htmlargparse.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.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.htmlmm.htmlmmap.htmlmodulefinder.htmlmodules.htmlmsilib.htmlmsvcrt.htmlmultiprocessing.htmlmultiprocessing.shared_memory.htmlnetdata.htmlnetrc.htmlnis.htmlnntplib.htmlnumbers.htmlnumeric.htmloperator.htmloptparse.htmlos.htmlos.path.htmlossaudiodev.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.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.htmlconfigure.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.10.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.10//usr/share/gtk-doc/html/Python3.10/_downloads//usr/share/gtk-doc/html/Python3.10/_downloads/6dc1f3f4f0e6ca13cb42ddf4d6cbc8af//usr/share/gtk-doc/html/Python3.10/_images//usr/share/gtk-doc/html/Python3.10/_static//usr/share/gtk-doc/html/Python3.10/c-api//usr/share/gtk-doc/html/Python3.10/distributing//usr/share/gtk-doc/html/Python3.10/distutils//usr/share/gtk-doc/html/Python3.10/extending//usr/share/gtk-doc/html/Python3.10/faq//usr/share/gtk-doc/html/Python3.10/howto//usr/share/gtk-doc/html/Python3.10/install//usr/share/gtk-doc/html/Python3.10/installing//usr/share/gtk-doc/html/Python3.10/library//usr/share/gtk-doc/html/Python3.10/reference//usr/share/gtk-doc/html/Python3.10/tutorial//usr/share/gtk-doc/html/Python3.10/using//usr/share/gtk-doc/html/Python3.10/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:35265/SUSE_SLE-15-SP4_Update/218c4648976672633853841887be3cb3-python310.SUSE_SLE-15-SP4_Update:docdrpmxz5ppc64le-suse-linux   directoryUTF-8 Unicode text, with very long lines, with no line terminators (gzip compressed data, was "Python.devhelp", last modified: Thu Aug 15 07:25:54 2024, 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-interlacedASCII textSVG Scalable Vector Graphics imagePNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedASCII text, with very long lines, with no line terminatorsASCII 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 text+zc߲l(utf-8d35afb37a0a7e5c5cacbb980d195ccc5759e4b63d95c7a030c02e8d39c5deddf? 7zXZ !t/]"k% Pa ˺uiCO AM#l+?v9g'lhFmx/a%rL_诇2^[vmYG=p+[5OX,gBOΧI(SX&ppy,}jmBW7Hp+igؔ#*!122pzIq`4sŇtLP4s23f ċ~h'^v pɆy;|vW.sL| L/|Ej{*Rшobo_*?@} кjMEpٕH7Kן$4ud7ftZ7?N% Mƛ麐Nhf@Q= (1Y@|)A~:΍{ya㖾Ysܞ+,l .>0ymciU 4QLi#ϛU`1s;3{Z@gh cFy#:K=hH{$+LQmhNx.%%JRr=@sdD7 |GOBBPYIЅ9A*1!޹@꯱}'IKe,J?j *aw KoO! ZI2ٷ"0NmkFq趵dXp's#Klϰߠg0a Zs=ugT#NR< %K,^|T5S҅uG`IXb|*CYQ[ۻ q2U"2 Q7$)Q)Q'z-˟OB9ꍔOԋ0!{e.Z>}XaQ0>E3u>z['TBϪ #hađI$%JO[gdq iA.}pS{UͦhnT7S< j7%< jZUfU!TdE4J3K?Sqɚaxh.7 V~&=!Xe) z(_دr.ӓ :s~B/<˰w꤬m ݰtIv=&O]L,S/qef"K%՝ 6,JV;QkjiCAtF]DT)w=\E5"s.]0;xdpT=cv\%iEMJ(f>'Km\ 0k2 GbТ~f e=! 3⃼hFG$ ` E+6 ~ 7 U"s[2#O~JIJ~L?Ek/;H{QC_Pi  |KчIP= "#}dE~ n5QR}Oѧh{F@]|FΫ ٴ\ř|ȣlt:H`]cc[` ˲uI r~Gs`!-NpVbq$>X\8Y--ozwU&/HiբBQZο1Xz_OUKwlb<0+hGDkz>d-B͆nQj.}ݲAXڃVcV "Y #ݽGq̩Z}K3aC~ZRR x՗]ޚ X'_;"3@Y@vw"3OҶg(ް̦={Y8N u8E&M6;YmS/j%=hkpD ƽUǠ\ؑ(yf$~s@RYd͊x$ciΖNw j*ѸܫyMd[\ىՆwc^m3~ k*0ĭrxZ,&bPg5Z$BeL36ojue E=n{zfqB7|yY\ktKh"0\1Ԙ` eO&a8gK%BÜ6sXj / {Ce6Bat $Ƭ_|HwZH'kfd( "t1o ,dv&SPOcdU"= j(Lrl<|_DBaԆwΗ]ѳG<QIF 4]ьP^`{sV8n!qIV纄Ԙ)/zB{#`bc8*z2|/*pjԁԌݿ,"$ [5Qi'஌^ λދ`ƭ^zZF/7-8b1~랔ێI;07ֱgTrxM(n_zgsm{f!SCOhZt.${hث쭅=_/%6P=QP{[X !k#mA7k˜Uk@6ITDPZt99b&ũ 7J3:F,d?f k1$tO+V]![F!q q\ 3cNl?d8y; EBX;.un3 ͇Oyu^>U/q[̲RUgH<vFeOY]MK cnJ6a_x`Qw)vG]yeo]zC"Aj9lTc;m FZnP$5<Ֆ*{]P~~ ؎iU3 Vl/g-D= J FSbU&v Q^`2heefjB(}~žZw"(T(eh^70E 7=iE{#{{T&=>sP$ ~kƂ٤=<*HI4m?@y%)F3xN3?K|g5/*h2DYFh F) LcJBFv/M=Y6aUuc98WW)'K%Y]X.CɃ> {Q5X'j l`KiC|-^Ѽ tRfcEr^rqN 6HQk3~J7VRM8J}{MLPu6R_bok,CiwTQ( :2aAH"]iFV!*hP=P|FLpGmA,FVmZK)p읗lBv{X ν<d=_ Ůګ]vA!$tKr,U:ތ+OiZ004n@.kIa\jo]r+:voV W?1 \(aaTp@l~ߋ31鼸רcakˤ^gYm[G>쾘5gm?.o&E|rX=Vc*5MAl@Mk < ~wjRr,pRJ#KcePAcVòG6d R8hT^̧Y)t`is!YtDkZyBv@zqg#8h[%fgCI&2&dA!"6PleT#ƾ܃oIMfLa,AֵD< .sDQ wx 2!*\b^ql{PsE20tqO&uUq cPn|KΜW \5TfݧK/ x+_'CFSVmKHe˪6`WHЊ+]^&ogŞ "F1=}+3t#+ã;RD4 jW ~Z=/rQ: {vDSS\q}#6ke17!Rު].ƕjJZ ֝xC|o9lbXdnE}9rl$s kGKD `˖+J4XJ0Lɮ.f+xT+|-ʾԦP0'd{&i[T.۪Gmy;qaWd"'_U"hG+?g4;* l&qAq>i~ӡ 5lKD4, hɰ4FEfIꇙ)w)OޛØ2$M 3"ϙjIVp: Y|z,꠵FciiEя؛!K_~Spf]} h~c 9./ lʇynW[17κ#t:w$v]o2 U~_[.LP]O\6PRN-c0& )ŜvDT8BҠK;C1jex3 %+VJ?YZ{ D+'~MX~B\MT^uPq\Š_߀HRįjv^&TzӋzm{^Xi3bebF! AI怭 mV/|thg1Sh;:BOCAs*}w~nK7GyAAnlRFNy?y޴_8FX> {JHמX.*nZmE2Nl. 4/c 67Vw &1Z[A/o8rlIzfra`OvÍڦrv(wtxbdBp ` Pz1V C6jw: Z38u"j BE-`ȸo)/4BM g٠tKdՖ/VHoI]v+[n81|*C)WK:s a"^LwCbR@뙁P7T /5YÉav 90,wgVĸs9k]'TN(Ri QEފ. / : g4^f+m֡$f@ZW}僤eVQ u4DCtB9psv瀌B-g+>vV_~9]d5-O6-{rȣ-!%*ѯ2Bޱ%Fm{;#8o tbˎ5*,F1GBxOyI/UFq QY֨q$+o 4u\m0~}'Kj.q׸7E3ɬz#=x^ 焞. _ e4ЄH=RBSCux*e ̋ڀ\[OStcU(!Iޒw>AT[ ~$ltOw(mFk$q}׎ +z^m4 z6k|v{ j'ciilMu?>I0y8u}r5&هS{fJݐZ/[L^R{e:+LhwA2s1Z+"_?H];G`[2ǂsi}vMO:bI򱈃K1PגQwqY'xxbo* &"% 8B짣V4A|6y.:`*d)P?K-nGm;@4ْk'w0'|\O.mHuw{|xwUU@rB_[3_N8[Z9as˷H((/a$ w _'!kBt/2BuOz4~nF$l4qXO/?ts6+c|aΊb,*.3N: NYT,ط09tQAfhPHԁy})rgռAe(vy:UWt溗iN+-|hqG9U'נI+\ 뎆(6Iaۉx#[ۙ]2 "Zgѱ4 VqN DUPZ5Ј:vf1CޤSFGlWI*'֔||1-%S}KS]HE̯M.zBahq^FcZI9Jh"aCH \Y{\6&G7!W۲$V #b'&@s?Zd˗RB y՘_].ɪ.9"ECȺCRgׂJӳD]{V(8f'DMN=[ҽZ!漨$ fO! m Rfp]qcf^zگr3\-ntGF cb *Qz$Ņ##_XUzD=A&5bxT=9ei ٱ(̜TRrŤ\TJE6$& P:GF! m jDUs GZcldÐ0Ku&)9j =AoSt$C>pd0?> |Ec^op:6|z D(.:4rVUq>f@j,KyWH^i |ɐXŁѳܤ ,a lTK19_uTMVD#[ZXUrRN+s(/M:GG^cpNoL~BB~"|z\xB飇)%ńv rmxArDKƐ(֎XYRJV:r&ӣTJz 4&2HhШU'DQevD9,@ IHrl!uh;1ڠ*f+jWω/20]fu.^H'd+?Ne<ܻAFu#BHJ$Z,nh8<]=I&i8nrlh9\Vte[8ʞb *p'LuXM4(P /%o( a+sMtOtvIcsw֓HSc[?U bQ$=l]|sA45tWh崩SHBK)Hti̶$31%ĀvuK7Sܰyxѵ D` /8J{;ôNcр!lD '{]Mp,6g ܉]%ZY]4iU?I/hFrɺoPZЏ}38̮ZD,tɦiB+ͨo{250bl$7kɲʭv$tG LKXߴ J&Za ||"PfI-KJ%x7ht^'圲 Ck.:~tp0J~6 .tJ؀tLӑ0m f ҮPɬQV ,8sxe9\G}J,wt>25v 7Ȧw4z耪ɑ+ԗjHn[YH , zQ^%UwNؚ)XaGQ9+u1j.NR։I~^G>s .hF!cNuuqba<>{i̺ ,Z6>Ch>2H׭tiwCsi\̹/"XɼǤBbʲwhJ@>ϼjA@۷dP{ 'З R GemӪ+Hkmy}b);Ngg.['V+bHS=y!rXBrN8S(D-{C2 QFSx'-t|\2zx`#J΀-c@A8([1ΏX(g >ᛩy -Rf9g;PkmֻfOC<$c_TUdߝFivw|;hDb/5c&m1.I\Thͭ@Kِ4|h^]6* ̡l\ܟ911 yqTS5\EǩЍG_m?Tt]Ewe)6%?@t8six̀A:1#g#(D步²~b|VSY ZA;vAz1 l骗ʻy1(PwR>D8FÈDW-f2~-%X}5$mקý7N_pW(LƀWpCŷ֙bjv]%REg|n^h v}jMo:vpj?cG6ZDLkxb1j=J46"s:/L%zld_! /JZG6 k"$-d*>Ocg+T"PRaGinT 3؍'eV.;UbKW*TlbG lJպ| У¨ɜvQg;Јӊy~߫|-T!̟z[=9.^;<;z%of*N2`}w\u;i'TJZs*’M& sv/̳oFp%"*-)KZB{Vp`4͢0~LC*Z[1^WeEȁ](;0(E{pHjvaC+ڗ{4>!QiUjk9<'ܓ>|h^!G%m{FY/bBˉ.AOHN#Iי|| 1,csHI[dvSݽOf(9r誄|z?cU_mv>Y?,d{Y?Yph:ZOhf;AbfKX mcA>%`.rRIBz Ŭ=PlEr SLHMMbsVVXh߼ـxGaUi}Upa8tjl4+1 [~^+3Ud@[YX?zh?8\`S*h¡/oioAW^D#17E럑fi\ hh9+`r%];:W!]QZsMrKB`)9fY^̄U61j2ӶMDǽLtS*uPƼ-0fHθc :MS7IxB ѬM0dvբP=cg!n05mh<*T.υ J_AHn&fz~Azڝ0B;$$=y8 Q g7<_6%3ۂ'VZ̢3>$k5e{ڊ*J|cshF3TMSsMSs{OQL_))cȕ4֢NԤ RvoA KkBFeB %vMF%@K3/[NrUGs(it,~q@K1'ߪ3c\[/c$@ֻD?|{H'R)*Z6 " 顶 ukY YZ2,-{Q`}ro2~ зڝT2u.0 ^( ~Oȥ9Ck [ࣺn(gqmg?8Jܑi#ĭbxk6${Lō ;-:`ieBk?K$(#bPz2D,/)qD.- ?QS-ZZv EKTMxr1JCbnʟg[ZݡgQ"pJ[mʍ`Fk!&4xM]u9l성 Kj_qW߯SBΨW@kb.{zz݉*v!}Ö7 D!\=cwUó0 ь-PΆk5GKF=yw,ga4MMv[z£.Gf : co>/C5ȫ`򲕾‹z+2Ft ?FOht$6V moyRVp2)p-ӣD$-@~D:;2`~w؄}Jh'UYnYØ5'E;@ԕYk-9n Z"ҡ+4#F~e~;pi+2> G-yj+=G{P΁rx]څKz˻AEsFN 67rYBCe9"IU2|IrAZسϵr \JN`=5Jwj, *}m^hd.'\&'rӝ>B`)[nȏ@fv|$׊ QMJ=uxGeKr.[!6y[Ryźp^ϐ4y'ʎ-_#2Tu8d`iƻ`35\H֡x-j>&** [%lNݩfCĺ 1(li$\R)h 3(0&(gcODM&10pbs`Xy3)5b{vB*?y_˕Dh=6jyCymLa1HM9Vc4mKhOE\BB=x̦EAGL|A" TZ((ɞ9NӔِAΔX>n+#]8vW<l*uy5h_D!~뿨ԼI%Ra+Hbz!0L*0{򗧳§j9ك#U A\+ Иwb?jiPn!Zq>w?2BJV2Ɇ?>#Sb`zlP|IEg Oz+eL}.<իBwzrꂏ`Gp9b` <mCW=mI |:8m| ?Wy*e@E[0+˥qTW9|SUzd'Qܳ w(314TVWx)7lқl7ClVc3,8%|(pڇh!q +.B-'=]Jl2X=RC 2sz1As4+RR{"xq{a5,|2&d?{9b3.v)Ή~Y_Ziaq5:k&JeӇr +C@&sZoJWbZS ړ~5s:;bپ_sv'Q@o+zeA{0 mӞ^Go [lQ+ViDD fb[kVvhv3Yu6H_Z/Hi k?l'fHgMl7X:d\E\#A…ZJ0<.Ho\Ur%mflR#eQpOl`{2!gh&+܂~~ɏx0| ÙϧSyz@dH2MP5Zp-.͈diqY \dvFq#<kg~f;083ky[I1o3s`G)ִ7-`rXdU;Hgߩ(kW\7v&!.TS%2瓥i$>8e?8[]p&O1Y8CJsoiyRrZ=<_7A̟hgDր$%Eo[ғ!N/ifЄ0:FS,Z:ۂq4y=~샛]p~\ d95 ?B@4LA,ϻuv)K\tфZsYގ8бuҞ=\Ub_Y^p4ݴ [oiɚ^E7AL|8}J2&W+Y}#sq;tקښoghw`6ױꎑ{ͫJҢ[D}2=( zMOȩ3k-YU=ȷ>$ ha5@3ݪ*nzE,9dJ&8;geM@l2\;|lEj{rLNvnha 4 e VF侻%f7=3Y3QǞ2zp<x)H3'[Lμs$nJ % h= 1Ø/7ng;->٦몦L[] ? z[ xdDp {ׯ/?4ikSz/l͢Ae㸨fو)KIࠕ"`&Ka9a s$(U $')~o ʼYݧ|w%Qlf KHи*lf:EA0AB#G뉤WWHk$#t,Ϧ[9D"clgK'RRWpK' #g3X{s<Ƈ{'>2IaxW}?l@ba^ߏs#a7[n;*F]P5I$';e[:esxߺ#~h4^j%CW"R5*9sӏv˯Q-1Lm׷ߛĽ'E9u0(|Kչ2<#x]D ha=vhTˈ˻82U3( t`7@J8a;{Z6gWgBb'=9ǹ lyEv'^\ ^oż)nD(Б.R92x9y C8,2QϿMF#/DioK'#ʤ:h ̲ԧ`r(BB >R.wKǯ>ˇ=K.hg=[rs¡&; MR-YkyVhZ2FP匔e>K jԙrC=HГ/:LJPKZLOPY%B`h]G/šg;u{ΦUH쁤oD,K`5 կA'ϠnOy_Kj'vȴ8mAY*J䳧6h*#CaL5%9ҢP+w\‡'439`\eyecjZՇo4̫onހ6gWo%FR)wI.JZ˿& 3s;_M#0yqbp;Kd2bm/J y:d'z);IJQ GXٽq"'ÓB7 |K_qшfW-4% HbB\Ya/ǧsTkzEg_N#Dqq1a5dY V*!)C,ۃLBOhmu7p۟/z) )1(xF uAdwgư J =wnIu*Mrbx턫+M#IΑS89B=D3/*ׄ!A$ֶsb5@?ꕄIT?Ē L~@6+V)+E)h X7.R4)xk;Sטyҷ}ZtíWhb4jh3ު [Y(.ݠQ>EA=ǠsmqؼǓfz'Wzc "W@.m"rdiB'uʾP Ӌ-KnNG넡;Unc!hv$w,)F c\ZPp_ݟR fE*M/!8 RLjvhpqXcW"»MH%_$9󒚭ku}P3)y=OG\";"uQ`+j0u3ɌP?|q}5$FF#~RԏK İl"KF.azճ]Si'q_#, `%?:K PhlQydgJgngY*ܲv[6*@{@3oUŋqݴs^8Ebiw@W6wís|j|ڣ"5+b:rAwC-+ .b#^^=yMMX ؾ(ktubm; xPY1= PzΝ/& mC׹$oy7 E)-k5 dFtOg(7T!PmD`@ی$8!V!x؛$v :e˝dtj Jr+0{n\_m3 mpWg~PlJv<63s>]lo!: iM7Z]*8ܲo@9h Vj rQ%$uD=DìNg 2GSRtkJm\.}tڄ c)RrCY?PB,J(@Մ`jT vS_OƗp$:h8E)*6쩱f'FK F`H?fHJSǥ\NQ G礒/L䰦5*bLf\oͥhPHX`ukʶ[P:;8.zZ05;9^M$oҷ<`(+lMA}4J:0|0sDܽ":au|K4<=L Mx4z`'hS59_oڑq.JG]o25#,٤Bx/7:3n|X[J#(}!;bB:d@{k`s*v5L .>V\R2S7jGǺLSLAfF7E2^FG.}8,m;3sÿZ+o|xY`":egoR<7bbPߚ@*zc_II@h$C۷΢9AfeH!^={ 3xs|71V"`sybD*"At44HQK(+araS<_Tiݷvu<>b/*u+gxNmˊǩ9 s')&}ܐ%pAӯ68ƟPwf{eM;>Ȓ}6ra;( OyE|̚8"(*KqPz]oG l_ʳd҅tNSTL^AॢϢ,:Jeߦ˚Ppo@o f*``3EjQþ'0MQzWV-NmC:@:"UsZLM(bν֖s2we^8(\,i:Y,vcR?Cw3LE1W-m { g {%l;Z:ѐ 5t^c r5.Jb7H@?sM$4-]/^roH΍ݠ=] $Dǭɛ})ն@=}ڞe;[4|j6夈mznP*~ń) Tf+,cf̚Z.A55g/<#FA6O*jtI+pv0UI52B|A\Yt.=t\te 㶧Ԣ,v?ъsڙ`#Fߪݣ=C57|xfUD1`mN!734{(hYŠK+~Kv;*Bgy w] K0i[p#lW(Kmm|,,7?YjbvR\Om+$ U⣀{#|ɺF5pw-ʀ)>_=wIjy_ qęcA[F|X 9jw?է?sgݡZ͌ V#VV^4APrNnuv TbPb2'pbAE z |Eӗvs'wFU(Ӕ ycYELi,?"8!&rA,\1\nL9l"$9eW!%x xe i2ifXP%{~uxpz= ku4^rT7 wC7--aʭwd :ՂUېL&75O(t$iOء0~ʠjeh~uAl8 /ܳJN6v"b:ʏm4#j"GAX(cMM' {%qy..Q_9p|/BNp= C}$Zl1Lj(;M mDQm'rC,/@Ǣ$.>?YOzzZ4 'V-PvÉ|X bhv ͢y[pH") z y|u7(ulO6pcLZk7}2Yu^m8y y!BO;4Ieݝ1p$f@ۇ0 `\R4XL9; n[&a5x]C*y|dH.ސ!IBv+R]^`#C&PKt cfG'6fQ$Yx!ԫ׼jDU%:E#q!߸CljfC&sq8%,$V}sryVrm|Ү:Hv_P9.'UUΆ% ~&[gګ-M{pVbw@% ysV1X{X%S[ƙ6P`]o4r3Gt{cIjlc*CΊaQ#&+rᩔ]訙3o8QuE#c*PmIXAԾEf 7Em/&q4QKSDžx"s`Lmֲ)V6CV^N. [V| sѼkl-JgQ#Lh{T76(Lx@:+>lc~6$9 㽗7WD4֣h/z0c@ីɟoLװ TQ)>v& q1n! 3M-߮rc vig/-N], |0 0&@\ߙK \؍>4$?gSH$|Z7PS#w,V AJ?zȩCNfњ*3^@|vX*<&ӫZ4K|L8R`vf#nL2W|q^L>b'6H7kmv\6XpD!zIvHsV.۳ywQ<=? de1滌kw7NtDLMPO}i1ǐ7}O0/S`UKJ37p ?nLƤߍd22$,h'kk$7Ӗ'COmnh=K ]8%#Z=MZW?MQ萇){2 :J}:/+BQDDyI2 %3 yfS.S|`8f+ +}}bk_Tº\ԲB k"ƃؤu0=s67KڜbAݘZ ؝Je9!nR}9 ެ !<'6b YE{γwu1[b x+tvElLF|D6x$)8~^Χu;|AN>d#!e*y1,n 6RcUkQ l>z3@*0 5ՓgȯZN3X&Zg *t 5U{=Q cڼU-z+N> $oM}$g3yϿT?R)xv4-hw=G!xǍ;!$azT!pb.!HW|%&OҀ4ǶxrqG BضJ3ր0*> &13R bQJXؠJ7JmfEoLȆa*VJ NraaywǷ4&d1M5 UwLۑ@z~$+rW`3(Nt(ǒ9&Ig"!MS)TZu+E: pf /2mlׄeT" aJ.mA˕gK Ká6;NBѢza aL6fg8slvpDؙI" &@o=f(֎]{}}yB>5^PR02&!M.k ]qO>(5f&_GiD?"ͱl}3z M6A0N-тoŲ wӂ31J"̢Sj!=0ݕp`+kb[M . Tx3{_9!,^1N]z5lq?]S9PS8V'[JK.[+)i6@:1)e8>"}any.l¥|q4AR)8d.̭85+@6UD&b*P9TCX7 ֮wEw:o'p Og({tE >HhqdtqѠ& nЬD"qk_'|@ :Om﹤`]`>}EH+=L.d6M˾5e7ZWXr{^{L x/I8#?uhVYqXQBO"9$_'uAe `*_awv4u8pk[(L^ /lƦ"e'{ ]v/'-\I BB|\N@Xt[kT9"05 >:ݜ-9i/mZ;|n\g]@f8jif!υ 8ͳ 6<>q48[S/BWyIbN~ݙhDVWe:(io "6:u'IRa#ޭWŅXߊA CA oט3 .^cbSTvㅠ >ي4Bĵz*,9k m0z۝Naf(,ո!|4-dd1i}`P|ʦ?)o52Ӊ"P7tQA'R50b_oX,=JpȆ˳ޅaҞTS4!x+=o-D-5rKE vP4lu&ެږ ɺhtk=N:}s̖z1o 8Xi̞=8֯0,LVvU673uHcCK8P7`9A4 9M.QSIjD+rJ; `T̜`&گ'jwJ4;l_fIcA+En RZFTD,DˤJ\?\5G[۹0& ys˴/*幃|"<'G6{5C%eT|l͸9J蝄F Y+唍S#$Ԟ_*ZQγjY'^:\TWaz!-Q$";7"ɬ0܎K8ρ@ٴ . T;#uը[,AቷӫvgU)7ЗT]Viߟ=X%32=9.ǔ+=~ɗ俣Fm{tn4< v$+rlg]P7-Y\r:eRɰ$CC_3\3fTeyjۙ|V{cNváƴϢG'n[xJD$QUiŻyDX$= RɂךϊhrYI)(29" jK'ߔBӎ1H]ΨX #yPir D*ƻWe*[0ygԼcߩJe w=Fګ[_=3iBA'u(^LyP1aHgymѶ.+I% {$ ECasQP(ݔOU=Q#Q3ܷ]Qd6n({RQrjUAH3̇v@2aW"%U؝w?8Un}wH3].1kx 5 hӍ_PNJ1R8}Ac pĚv8fBKLaFS)yGratY/ك/7=wx9yF%2V~vA@g ;D"blC]CESvqڞ4/cR IO$<00W=`C'/fe7]_^NqɞφJY<9Pb ji*P.兩x>wC:wuWSQYԠ˹cV?D, Fpt,d,0/v# Uls3G-)PќucvZCzd -TCGH(Qi*XU} N,fBSąaqH#e/*p=Uy A lӐs\{B2Ovf7A.jWQA0źk,qe&,>|MOcH?LyKCn]6k-⋭ 8Y4SxQ0B"pV7%,JxuWz yqGg1 !Yߧr+(G ~])Яp;F"׼Ǝ-GNJ`@)o@Y j xtJ r7-c{=⥦4:ɡ T(>#¼N3;r`PpK)}2vf8[LlYBfQR`Ȟtg-JX&f,8"%zAb{Җ+0HXP'}\i-8'H3iS"h?)ÌAHcOn΂# PzKSO Es sJZpFVk?"v^Het+EVC0%:s^ok9i͛91k^3S!߈S'Țc5|M^Y6;|ν4^X#C-EQkc4+hpSz-'4?J-Ho3d:(2eOsVxKd#`#= ՞ϔml܉P,(yK-5& ~%/ܵk,Ę IqO`@=E6#_]HIf#3a9?gqdVUת;"|*gO] C6\AHyQYC\(v9ONkAڢov﫥%ᅠġ3_Ɂ\{'{riV048HY'bN?!5$6r"ڥCڮ+/&w1jl|C-}B:/Qꬿ<7gCɾ,Fv#m2G) |0$B~[e7ڋʒ'{S٠R[ۏO8Y<;9G<:+Nl_kꩧ$ gSylWU +Dx8$ͫ(q:}/1gHf/?]NvAW C(V DӪ m2o&爒{Dzqhdy^8/1?0 ΤUKFW7=]l~R.zƿqKrЇF1N̟YK!zvFi.L`'uJIdYn pzO&VǘL WQ'?|u,x0c-v+x]ۤ0sH\7@^X)-NQHXַj-o6ջ` @Z "'oxƾ{j{GТ #8 V' =ŃKeZajg#e9Ð[ʺa,srgomg M8mQ>swֆXM6.kUVԢLn&k;*gh(NlyRo79h69/J`:K7{9w[-4VmGay:GJmG/5DJ6BN17!Gf[F2dzM M7;оezs&c$޹Ey ]1)m< cfiFYטsOAi|<0O@Ua+QS%8Whn*5*T$)VR̭-&QEq$P|ڰ8jJHbsA\U9~$ gcNfeјܧ49 NNnt1:U/jnY hNu~iPe%-w|h&S-j<kkx'iu3 "֔?gXqKp&Ρ5[sXrF8gkPhwX,1i]=\L N<> [31wF7fSd)SE뷶k_ޱ.haFkH)\-K mڌwj#%u*C Ku%Lc{mwlL٩Q2'sA# P;p0Bwz}3-=V;o&32wOvZla*Dmx!ArسmeYGihtPo\%c^ GfUrtypP:r2y!Yz:ijd}DWHWQ̗{o8#@lEHmvq'\F@7sݳٌ8qxb|FL硗YǞ WyR #C2i .AޒʎZ/Fɿca܊7#:ŤhFq.V~u T_C#suA'R`Ebǜ+9fm6H5)ff'%1y7_֮Y/`J{FqpNi,]''q2 J?O"8lrMz!h+E s,QD 7 [t3ƮRZA&1wb7n؛&E qBSAȟ;#0x4snDPKg;.`Y>&3PaJ'Aisfa%{M I rwn!8+oڐk܆}7~<]0 nIu>A4^/VcI s; uI)(d;/G|\nm)Aǒ)9$<9FBj (|A]s`HCQ7YݦKޣc2=W&uޱr i̔o*_Бx`]v%c#@iVI8gWpybU0 @Y悑15m{@%~ԩ@6g[8^adȓa,5.ƿ};IډHut>MsRB(IF[mK!PPpo+t/=ʷc%Tj339U {!ù KY#WI79c|NQ éltF(. &*}KC-L݌~m0-#KUxt꟦ uz0":v;U܁1LQXÊQwAD&?y)Ka8NgZf{.j̕lZ֧-gtp#L <)U!2+ fQ1 l[g_#qR6`P [Aa+rZ%HcXT\Y;)Q"~(vMF >,4a-g9gs2PF[HBdqgMd$$Ax*C&PK!(SNɷ#խFezR㞭'Y+F.ϣ|'ď dWY6_;H %5$L~0fE.(*?Z*u$dž9Gi)ҽ۪Q-sfa(F()N8&kNkĸSBFK|;Ŧ~U~-XʟOWi;)AI#b*=+q _m!{kkod?b4=J!y? R^gYG1-T ({Kq+rh f0j* GJ-~$iE|% 2w^޽8$\-ˍE.Rd5͌m [ x^6*x(P AtLp4j(yUUUg,!#qƣ'BPO B@9dKc(~Vt%܁9^a~q A%W%YDkE!_ u.^(&߼ZJM9_ZmŁfzafm[vnKc)hYB0X~($⤤dлw{̿Ixw(a)l]S䃬]wN`,fGlE5_[s1c)$RT*NH}DzSIͦ@'x^cAN3•֔0QM- Z]YC$Q>l֑Q4L9E)5t=[)5ZqCML@MDSQeגИ-`*S@.oM:n -5VOlɇ~s))-`Qȑ]}ݷ໳רVo}߲f|Ϝ",uTWnQqf ,RBbGP01&Eq> jɕ p*4/vwk7I7?;S ՙUz!w#sR&>әָ֑ۺ:;|2أ,XXGaw74畱$9PU'uYCMm▙L ;Ԋֻ֗ @Hc ?aXbIy?QRLTy'P"ԤT2/x r~1 5-Hq%b5<e"V!m"㶝 D{?dمߘ;/Z7 [S ruz7>;ͬyr*eʷDԟڜl6v>Ie(!/x2 &%mO{-h*T+cheg*Zun8tpq񈷢RwXO4̧OEu;EǖDmS1SE_hWbFwBtsY9EؚL<.t\TobМ#b.A<$4MgԇDki[gGKXl {tj'^,ȵwO߿`J>̜N֧7YzyT*# :lm⧻ Cr Y-\h3V)Y1CHt±gf{)Q>ӞQN;=O  %i.b!Rt-]?Bij٭y- aģ#g;qM*&moӥ5FF\A$.dd̒9oR_FN3sIR"i{Ɩ}3E1plKkΔlxâp+$5i]w;ßd4]=y=2 ^B%2@1b(DvCΈ*{aozWhboJψ=biaViuc~ێR"(fU [S,kxW$%h E5uA8c¥+r.ퟞJXJ\9_bkS$#;]Ag]*?}+>ekYj#ˬ ]>:95fzJ* ¶Kz 'TN9Dmmmh BaWc)֢zր{[2t'q75Ӯѣًbӎ! ׀E 4rsv4AIsjsܮ>fQJQ{-vҩnRjYiZuY?7hstZ:` oA@xpC"wOp(z%!lH!Fb J Ɓa\ R߭l} n;=x02P"lt#:>MtKF1YgWZ80Jh3; 9[r{3*WN_쟸E:Mw^xpHimMփf? KsRǬ#A.`ɐ'A gje Ϸ!զ֨kPđre$+wHV5i6 {m=>ؿz$o\Mn">HurdPM70~0N,BM`zCr.p\@6m +\*ΑG۷$+lh0K _Q⸇S܂XV9nqޕ2huϗ `} "mB9RgUC{"@ystږ؈ƍ+[8 9E6ɮQo+5,cE?uc ?K.&Ȥ-7Kq"W>Q Rϸ7ґdTb1 ,n?!o|ZuLoXeׯI2-iWIۇ0{@ 2Su^hf&X(\0֚hO&TOILW-M_L:)eۗ`} o'{ye*\t mlo?@l ;wzވ_@/P^efW )Y\&JeeS3LWJbZˎ2CjgS#7_yn%)`Q#u 8%i@*-ȉ+i=m܏d  \yxHhaIg=ilە"-;8ve D.Kg"7a=|x#?Љ#Ⱦo1t\}W<9zJfFh 3s Lc єw>/i89KGKGi] W gn0޷]aF./n 6<`:>HlG,G@ԠwD1u7rG:B~ U撔\=MyKFt{_>6XJ}xS(̝:6Yd^JaK2o"ŌHsh??)j  VNVUta{BlDSLDZjgXfm'2 B8lvQJlMa*!?!  \62"]Y ^dufR3٣ ivu4g^Ot |0h՜RG,`iCZ[ݧAP."0PB)cmVStuWb0)|#Q^(}ѬldW2,PX?**1+7mKܠ!kFꊿ_ڍ[g1-x`SiwAj1[;:G~I/΃5fLY h!\&Gz1Xk2aVa#9%$u#_C sy)`;' 솳t5D̂Q\i+7\KfgxFqW0fQ _b¬?f`[?Nȹ6Цx%Y= ف\H-᜝iXZ9$DWXl#2";PD=ߚYl/?@NB# @u}i%)$8kۊ~GfS9Y׵5& pw~!MtMk&BM('~lrA=h(֋9%0I]0ƨkA8:wadF8vYhM=\7gu }h*[T+R4j}ɭRx>6*ApV7*{}e:en*)vs4 şj+.Ǩ LCWրr1-%m?lRkޯrC" dm]LIs5>R΁;g-zNg_<n/t!*b7>(i+Hc"=1٩_W å?>#C$tbWN:Y|Q ڋJ$W#$#z Qp;vwB_'8fNe\ĩn{ޙDx';W#JKR=9hِg634'ܬR+#*CE 1h1lp;SuyI%4Ԓ]6))qOj,B5w_p6A9¯,kaVXhs\-?G;wfb1e8 !gBMdAj홍*h_ę&/EICG0/њ 8ežߙF93`*,FRV8Dn(+IsdNMjgk1@ȯu[6Y־I|@B.RujtȦgn-8{ּQtX E Hc]Qgz*Q ph b'ӞDxd +It:,׌j1de@\Aj+, ֦Moڼ`fBbl(k`VvZaKxV1@,F0}@JE~m?~׷ϺWe;0M@#"?;d7@Tf%!4_Xgӟ2.,؁v[uR̠30}ot\-0*kr޻O؞%ΏTtQz˖c R̴. I`3:^m^ $crJQ<(NyGyN۾Lʁбx4!G*  m:/FmYd6=Be fD;"g'NtE*\&?yYv[yX/o;սbfӖ=Oع#O\+ >! p~5RH./ smZam޺Eܗ/)ޖŐw qngv'x].,2U(=C Ľc%/ή'f*)o4z#"ɑ9Z6jnn?κlgy56j~2 ,[;&[.Qu:~k1gU}OEnaDQ&%]\EFpjCGImBL~J'56s<|SɰY%}# :>r z/Kp+$j{+6YwH.̄?SB{IĖ' 湌8(jQ:P6 r(aoPK! J`SL\ 즘ԓr Zoj.ag@65N 4X>9uG*/D|iBq)HwY#3g~u2ؔ@N`,kcBb!~L젏 { ($3UdMȅn6N\-@/葮'D>8 W[.l~pff ? %bI.j{#1(oMIY}%,jT6]"}8PttUM*(L Z`>x_s5u3D gnsLCԫHd6pXΰ=~>QiX*KSjbkd\P$|woA{Z_Wʆe`˄YGm ,J]%)x*x߿^P,DT- UC"FXe?;D}cF&pP[SFUĪI Zh]&=[jPfiSEQݒdURD ܤ~jFLfekn|Sh{]("{+)4v`;Rf?L]aGȃD;٥:3ww5d~$ c]$g,d?1y8poN})tIfhB. Bdi%>K95=}q%ښ]] {d\G^3NC&O鞫v]sQ}%f7%_ai 2.?TD]ː*L-aj>BS-&Oٛ! -XiL?}ܺr2W74L;| DZ oLjNQ.uD M'|9~w-g&VQ Yi IU&V3vτ |"Hu op$be5B75riJ1Wv 抧} fݥɁuq,'m Ioqtt.jt 4+fW=hUDA8DrN{̺7)wX*"e!9f,jFgolf6~k>τOHo!lc aC樅~vFF넄qS5(2 f`AR ^ݢ:az}[n^gc{٫IO|;P%  Nh&@uy-;ô5bzVazig$ } '$ g{y:*`|OdY]$PH|jMSA!@Tu}t"HJ/ D9kխv 503AdDuQ.Io5N xvnJԌ/-I|rQ8 ?9Iʷ6ASq+eEMo BE1l]Ȯ Hi|zBd$Il_O& t6(Qz$?&K:[#uk^f 0r{ MōI8)N:!sM<7{2TLaqZI#VPXsOr ok\/Yh+@Z[ޚ.XIOoԪ\KHǍvm ȏ:(D&nİ$nKu49><5gpqM!i?R `M͞H67sAxY56T4= E-\ z &$|$NU_D}i*G{K9=[1?DF+Y Z$J)*yGF[k8'T̮OUfÜivJIU[O!\pfnmO:֕_]kX3>ypto6k8&S246?[8@U֛YG}`T^uNE̹=ɿv?3\~e;Mp"q]8>0uN)̸e$ 5-´Hs!PZ"gPxl{xGsj ZBȀ45AS0)MMMڳmp_hinLfl{MvǵrTbV,1=GaHX@ꭒ!ƞ.H4"[ry,)/%G۾Ke)倮=O2֥!-7baV9BHg%N+̓F@ <7IQnIV?9sEt<=ѩq_9{,w+b6fW@le5mR? !;3CCS-˺ZOM)-AL:VGu(KO=pNBi! ØWH 얣Gg5ho~l$зb΢h‹x nyh.nu.ppKs)Xf[| v3; ;_<@?+]Erq|a KZYoj߄;i<FqJ9LNfј2 |-b.)VH=F E!8:JB# ?9+KyIU=b" 4 2 {)r7@" R*ZS=wDGQII(󻑹|b|7DI;S G:aZQ|~<@,XVM ql˲;dm1Ò߄(:ֹ69'񅮲|⮧qv*,bEYZW6"B.P[PL4 ͩ9zC@WۯڋuVM[Bb>`5qI6t>bYN+EBӂ1{%c$H +qbMTi*ڏ]ȡ/x2}qȇ{ W9Q4ELE98[c`$A;s*I~U3q}RTLEik'mywH[{uf=o{+m _ ,?{ 3\AUZ:z/S̆yw}+{fղ?sfyw% 3ȟִ_et0ĕ,j<-QُI(\{1hбW,ibFQ{<A1%u#Z|ӗAP{B 1L3PNvĉ-xtkj'韂} [`J0.bEk !AN: RD:bM8yX;O3(vQG]0#sibm]v3& {=?PΩde$5y)|h^?:X.rᅂg} ꍞ>Z!rwc2:w˺lVX8,;aUo Ajp7ccD}< MMkWti\4qOy5*?F߀8t [k]Kt K7!45c Bg"M({i9ݚzx1p 6N}"V+y!oHǾw{]\=K86ϯ=ov.%he4K( D(2>H$RgO,1"UtgeOky b@3OjC ?#hUmE/sLaÿ:al)rXU+,C{ 2m2eQUX ˖*O\\Iq%zr"2  # Q@,Z&%Wñ/a萄P,Nm>91Ԭ[9qQ fY%qK7Jm7D)WbwcP;gs7lF8(j~y<ΒC8ӭdRэ@e(àizt&zM0@!* D(I)!7/u;^݃#YI\ 7uEXx8 e+!mzRD ,b+s] xduiwN]x~FXHTںV2 6'GL4,#:D-VՓsSshg0rvorj"Mkj3l$^S=ݯr|tH%N*,[Hk zM;<,WU;k3v a p~'W zȚ |FqRaz. UZqXxnH3+ZBݙfm,si@iUN $vNqAQZ{dOgyu4\՚5|uª=cr%GY]*gcty{L9bq=/ԃ UPѶص}^1o@UM9p(1#_IӵOr&q"r'rp{$ΨIhSr#URaF8 >4 S"ٸEve LcxFמahKOyt-ahPx&ohS CD!ܔ]1bF-~6ւ_,$X1D}<yR43Bk#ej+iHKDn-+e!QPXF40Cnja2vgN"h)C ҇Iʿpf0jҐh-b-Ec1nWC9Hi@Bmpc|"w|A|Qa-CG'v Z]41>f"mTuIw`Olx ^eˤH?׺l%cݺȬ)a?\ E==v+C13BL#M#T@.]:dlT*G2(|, .'qlֱ.AVIt=K(O@ _A3nʆ/r)lZXw IR w{*}3:LEh!Rb V9`f="Mb 3pZS^5\X ccR(2>z+Gwv)*Zs88a7R,"6n=`䞊 0CEo&:Ÿ IUEKjxW>50's`[G94Se9:gG ##k Ci_ZiOO:aFyポO48ڃ͂aK:Tx{8 ~T${/ү6Z&R).N'霜Rmb[;VD.e[>=v>IbS>(ga(^ee)5~١&s cݦ(Ԛjp‰Θ7ujo/A?dE$ͺ YA%(8 )w8њ3s|3\3T^^udKnا9v $D/!iD]4_*R0߃u'ӆ._MS--K}$TPk;9#[L]Vy_>o2%gu1Y[˯Mˀn$9߳^X9;r#󢞨 cXE? ޙJQ/meAU۪|8#hG?lrh~y[1mAC2~*m?r+DiznP2Mg ZU3MnXxsނ^=&h,t~g9z T*h 9D[mX뇮 qQ(utRºs'>\~{LJf|)/YNo{^~?Yd0(805 dnA>ܒ[#tߙ g%9u4-9n6=3EزsNE:(b# mHmt`/ ~X2]O@c.B](J{盛Me!:Lp A(`n$,R$+A `TS&r]%aXt½ ũPiۻ<Sڇ uPrSǿЅ#IT/l7WP)"O`p~A)D[zo/im`^do5Jvά"ǂ&Csͺ$ _Zt:*WW .1K#pH--Kop}\7,˶|li@f2ח`t@b-g2IH!HQUO9,f*ڡgTp&푯ęw-p )ʉr4M~392c󉌓PalMvmE$C\s?D r0UY!Q.N$ (-W)0o':WE32 ;TN u_36BwU*UQ43fuGd7f/ e}rknNKR跫vu:*i%*#ITfn@dڈ&T.z(Xuە/X\5ϧ2hO7pHW|rDhQdLZeQcO~fKG1m x'_}WV?]`%`P3Oo`+u^inAr5S(:!zBYFiNⲋaV7g(5 y80xm7H=&=){;EU`tӑ<`0jBBˈ i Ig(m[2P@, 5p D_+>!$m#`7#|狱. Z-sIF DM?)dݲpV ÿ6!rvP 0א2Mo53iEE-isdMxDnX_-PdQTcHOE~&n@-s0[;ڻ~33fc߫ I`r$alőD/^oSc'\ v~h=_dd*ߚ!/bAx OO_*l|PQ^^}%}ÔC?a ,<٨Ղ`Lnt#k!fYHk*ˆҒd}]yN7n7 rͨ(s:.*, Jz&PjMRZ>fA?QL9i/5`$2Jݶ,%9nN &*1,DX}7:NR$P#䀶P=I@vXTy&{in:g5Dr$m`J眨)v43t“ [c߲"20^..n[0T>* Y/υMr/X2{ѹX\em~]2G}́c +􅓠lDzhY? Ŷlרz6a` gp>^魆ԇHǮy')چci׉: c`}uvnFns~ ܏=\5Gۈ;ZC bJ'4,^o2Oߟy] jsPiA[l.ˌ | z`"L5ڣvPV:ryKgh5oP8|7OQ CԊr?Jme8_(Ia56$![ĺY=ΓileL|:TZK!9#㭫p!ò`hJgf`A'ay7I)2$=i4@. 9" K9e=%wLT "jM=EЗOD6 vK_k,+-هJc*w]=wR<(?*E@;Һ'6|^獮L yjpey7z4x؄DKd)1֧!خ̡ d6$r#j9A߅JLR@.fl֘ZIhG*I. b]=h*lbǑnH!]fuW .00N:%I"oS/ 9yȯQ-_ lsޚٟnPoyGjF-nn_ԔLS1Dxq ȷ贇I*!tg~ga_A5k.^~v]8q#].DxڎOi**\1CXC `.ceh=BAM9s!f9]pp?~I,0y}{:Xi{OFj\>*jhv;b5k2bx8Sj8w/yDtmE`W(oNikF">ٞin vXG*V'F=uT`4FWL]rrw#99A^ˏ`8 j)+(1hͭ34d}1jVV~U{QY]6l9y]T|_*ҋKw"|WU%/)zk[rɄ@;ћ~?HQ'1/hH+3{|}[a_dsAR oah":Hټm;R_Q hh5G.ch,41Z^4 tAXByӕã:T)) LD}>j_PN©-A>ky$OwH4R 7/>+FM>\39'%T!H5 ՊT+b21zR]f8g,]'p[K#L׾|0 J)OHj]xF 5kVYm{y3Jx\H22"&(qKϭA {yU$Peo,{D?!PKQYv/cWdKP w.ܨyjQ m1$NJb*`',)EA^+¢$/+c ,$R ~>2b@>j.^Ȏ[9mfuT&Zs&ݏH&H7lħ쾤 K@5;r!3lgt+0z6ewVYĄ;uÅ P޷ujKḰ xk̈l.~;%x1{]aح@c+wm:f:@8&*"GZF2ӾԟZ{G ~T;騧z iMNSM6& "7'H~)Qo"Ǩ3h-2 6ObYM$HVweA Ws,VHc"'yV#ch/'$W${ϼ;w[/‹{cһ`mļ9$ׂ8ž&d02E? c9GDV2v9&ZnIw*A (],5dĭU>xb_6++hbvRg,,nTmo*h[Ihb爸A5СMzܛk7<{ ?zs=uJeݾѶŴ1[X摡v!E3wM%E:VY{뀡tatt\KR<]3яD:{L  ]7iMekgMm5d4V'^N![Z8 L,&jwZoecjHlsya^Z/SQJvxʃP7hI. Ɇ KN[T2_YOx.Y5jUFijFcJ+ƱFWVH(@. ] I@s#Fݭ{O>B,"_c%ޕZ,r9hrJ ia$QBun6X [oJe^h{-C-:u.;+ނż?j%a_[*&[0͗p7"?}Pǽbp^޾[qRx8>pJ9]а%`64[($2{-;HuF(~QZaS$tEl6ߎ,[Jx HI<Z9>k5L.sz[旉(T"߻PtdpYCN3}EYH~Rd=! !ų٥>í\ILO'=:JsTˏL!r5C:;E0.~A%P["L*܈./e<,PRC.)f%G+  9/jeեSX֪ބoGgEeb'IWJ\L^഼bOaHuJ&/f F/A@ŧR;*R?}z]\,8S֋q/Ai'ǖ'Q(H~;Gnȷ/`XFoO`NX] 7g T(+>)a'UB~x _*HA=cq$eID`PRʏI{ ^qr{ۆbDUUVfέ_. ՛BfEiq(3H 'x,~ц "f>w*{qB@a x{idlx$[ a2J%+$'Ȅ 0ɤIseq-zd{/|jH 1\BT=;4M%^TR%ek^?me%b Gcc +eCcMTDSH :JAOcJg_$I<)015|Bҽ:Ъ>[%~8BGAk!Q?P,0`WC~GSklZ[{uxԛ/z`ډ߿.6l V_QUxTn ł ^Dպ81Wq=AT0.$s-NJHGv7ܓjt'/H{[n[MDC2 _DVetP/е{B`zt}N488l5X~~Z*ހLċ@vը] t;MٯVNBQj]רՆfgK*}.+ 2BE^  C3mr&Ҋs8bDT Tifjm4wޅ~-א?`a5j{eJf qz`%UOAs|q 9N#CS Hv!XңS*=0!IbT*WZ D;*Ol=ڋyd u7)Ugh q1)۶LIo 1@0.w lXR^ʦyFϬ?u xȓwFkV6qSbC% >BLRGFl"0H,+HFEEi5<eH:,HDY4WP$ yT1Qhp9͂M-6gw[q*jFuϚaE#6 Ņ{u˲WJKhXb[Ȭ+~ou{;HV&ΨҪth[dl)E`%d{b^$o ldd\E-Ո8s_o7 esLlKL06.C޽vH0q=#ONϞ/)2@,LB^H4bi6:KG_M]B _05`""`#_-&r >,nbIczetdƖ{caMf077-5S~?mùFqR2 FDPW 97[~@rx\KG:~sO΂=OM ޤ* zYx xxP[cϙ(sOmkɐe5'UM n9J)D1H` ο1 '΢w 6$O(ݾ'PȥA@ ]Ϻ\*4F5e-SCN[߮*}t9~@&p)2lj#KY*%jǥCϰ.i9/31󓍱ij<ҾV%: Yw.+'@a!2raݻDgt+9;>EʸuL,9!$\ `dnii1Pc$]CxZ1d|݇IűHR]"B$FsS=nN^Ս(q$W&?:M@3Il^,^΃siֵUU5|>fxHLJF#]SFmǛ}!OFl5@(sC_cFCF{JbQ& @uTz;*wջ $u#NH9ôDfRhH@~NiJGs:ŝDxWwD:(r_rU: -/Az,OEZ Bּu= !R`׮.ږh @S 2{0vdik#y'.! ZR,IllXd3tX=SAki`}Gsb@gYAYT xLL:D]Gr=8 '%1ba2RG674QJ窉 5B]=x XGdn$//]Lqa$؈l$ZnUѝǐY+/^/yB)f')&IzL~u(^D|`R|@ |p)4SY26,ǽU4=ϔ* k|x] ¯^6]<jE;J ?M+y{0ʣ^AV|ʵ=E XYՋd}lUb 8[DI^g) j&pn~;rG kMXzPlCucC9+q |\=SΑ';)QՕ7ϼiKasįs3NA~@vqC)=]^nWe:m!m>X)ui`Iqȴ 5|AMar/U eWb5aBhv}kxJzCS B<. /ۙj)_<<C7;i,Sk7(ӫxO/.@]#rlA# ~CRK^?J'ssjA)*_Q͗aƛ^)6%QU+ha{vY6ۀAΑJ;tkٻQ"?Nꁜ覙б2 ;V[ hpz=ZꊙAUx7b}%̬tX$])Q13=H:ϫ͊FPR~SL/l6s;O T!.elGhUڕT0ScyOF\J῜pdM*~7- DLR#_COu=?ini\ǡ֢/Q_S [IW'ϳDQ<7w!{~.u8vXVMr.CwKmפY)d0Vni?WxpFXyw~zW"/0%\w{y-R^sh#=/>6' i3 f+*q9 7Xr3`|wpp jTMU Fh*2$EYzGsQ$O႑R-v{W*?wh!u&@zv-&-0WH Ɓ>3}qjCn; ל1X个7A]km;tsCR^%ęfIph-Z8PUfL!FZ1 򐡕)y<y6jv"Xl<$n~U 9y,衎f;U*DΛc)K2 @e AVSz]fO84b'ϝ]?mdyk\ڊd;_Y%s&^ki28MMDaP+\/;]ޣ,O[)Uv(V# p@f{P ,6,9u_vt}7ua#^Iv~hWSF7M>v͞!WgdZɸc {dw]\ wvS'-BAȈo`lNOhfqYȑ [*v Ra]KГNؓ Ɇ3paU/*;8e匘x`][,#&~%q 7aA`~טP ۖWmdl ".6I. dFeHKxS~-DTH`!\XHBH$?t1Ǜqj٭ }9/7S`𒕫{j.il2aP.*R5GF2}GU@~⃅XKyB< bV2\Z^HzuCF+&e@FWv6x(X^Sa9y&|M}ݶIT@י Oً|?}"fAJG=UJi(ZwF_E>.0UbIF=nh]{Nt<QwLk# uW5D޵;n#I+;ӒEzr֗")&){U*4Q@ @,ws~6d3"@{-X&x 0JH NfYC!wwkgζ8sc^ DE=E=RFp$2|E4Wh>67%`tMpV#=>~Wη1r]}E.5?!JġԽYPxb{.)qjAn\a^,l<ȇyrޅSCإmt CؽL%]@\Y -{B^kΪCikeyְe}|xYd\B/7 iռ$jVHnHl*rS0PsMkavs}t@&:pv@T3tl&$ dJlMDMɽ=<:-e0Pۻx^[OPUoB+F?IA>GV6MHs#$BvwT \nmj%q(ް\'F-k!$(U4,gF xY Pwډ|PwOt}y 3E%6W]{}#Hi!yR&V  uYP}/@:$*JyRU޳zf4K͈Dz Ƌ;wFt}fEV:D hX| :- 1^k(^N6$zd Qn (K xj3:W:VQO!,m^BXVQݫ810BL<=3Pɡ1z}$rNTt,d˾} ſPbl]&"鵂^`Ja@9ߣR|]DJh#HEPP iF9Kv/LrT%}yPrCC:F@8պ/L8TidG5V5hgm}rGQ\*dwZ+UT1)TlEEpqHi Õz!$SUIO&W\d2cA#D#]| Q@J[ ǥ>QR9MjMɞs]hƙ@.>S; Ƨ:AxN0^;`[o!L13O0f>^=aсR$-G.$7Pnfm}|wtPv%6@3\]$YiS 5\\SJ*:srh/l^Y7c:OS29Tx$b\FSu+|h8%{<)mD!:*-Qw½u9Xy^曣|qNbpDbXD<4>QE ߹EڎaFu_L yѭǢy"-HR=rٍh_ c[V pjZnU$4rq#DWI'ED7]vqg ΋2sj噧~CTÎ5!DbEMplLnߒؖ'qvJY6@FZؓhRص2ڿuCRIv >tפ6ĨKF&p8[B *ּN|Uӹ^yfl`vg7-qF[=6I%:`$hW?CpuQ2>f00@hx ]oS]Ĵ*:`q}=V2.3Z@*HeyzfvZGHYvW@7t:O뽡-JU\sGUt[b JW< |;LΣ4W&BI~ 57-|vHZR/ \ùԅORi`9gj,dEE|AvMz1K)uVZ!Ud ruWx Vd ?QcFSt;0$`\#$ 0njy@vIr:/=M{t"YGǢ8TCwF5\j髽3Uqll Ag8@ׅ݀($Hd(?uı ݃i} 7@(;EIOzt`IUW|7Qz}7Gζ~K눗F/4߇I3)_[G#ߢF>cN!ʈDيl 6{hj2}O  0~@7.pYpЋn'0H{ Wv՚ 7ggKǭ1 ;2ٸ|wPZgni_мǜo70}R<D4)hwԍ`>H@. Gfp>mYx I#u.do)F pT!x.LA ,9]Y,=K# T%1*Foa6?ƍP3&vD=6~ ;T!4E*"ւ}-rdĶ]OwvyW.B&~S f?#d QdK*C( K4Զ9P ,h_j(j C'?TX?[y4Qe*P9de5!}(*'aUOKɅ2nSYwȃv8,>/ݎ8IbZӖQ%-Ӷ}ا( -XՐ 4yXm- N(0)}2>\jT#[1#9rxy,S=:D4P4*4.rP*8KZNS"k[T/zؖE^Q5 jR͇qC<\]|:ُ>n.GC AZ]X#ujj7 W%NlCD`s#Wr I 9=dӕc@E8(2  @H:D2 TRj뚮v7#{ "f5[h6s*fO)^tr]EKHIu Fl~ٌkU!3T෋`&dU>Q!Ctu+By 489LL<␦0\cSҙB;(܂U\l%ߛWB JB^.@gq{ȈoTUfY>8-"9e4>!cٞI`l]"HdriKl}mʱ4ڗjë*sn1$ =LQәH6z(Kۤɋ$\8A=\5";ɫTw@A!Uҙ_]u4 `:org {_Kҷ)X7@j5-OLYBZQc6(W\#^J.RӘޜ>EYsI j_Η laL-ևyUI@r2/}jc='~9 Yjn}Èqۙ8SyWBcXGh'~Ďaptvu/~.96ja2"E.ͻ|6yK=vu4ٮA`M0LuAKor||YKvlu ܰ^*JUQś 1S\}+]feQ](ni_PyBQ_)nq/k6'5zG͹z!\wp0s{+vMs~7HVѶLE$(]' ȧ zIb42isF܊qS hLG ;67 `6UހY{8P_y>WV2KvLG"fCY*\FQ0 =LܕHn2 \[SꚌ梪v~KAn7>[6prWEk6tމ5[E9h2'(ra$跽Vre )ڣ$E:SU*{PX4S;ĜvHl @})TmMz`JItP*jvo W})ZHLن%QdYw45`]6r*?=W4ԃ,p TNW+<;D+Dhkpxh!q)1ܰ>ڤ ƴ2NPY`E{k@6LB͔5Rg{VEXƌt1ESg4󪁗'I|8s GfEQURv{r@~4&Ga9A'3 ".c'Ί6u\gc!n!>zTV:9Y-G皶 },WF77T&Bߐw?h Khi]YVSAͼI&N03v0CdfTV~$o7@b[D#Vhmlꧪ\p)ZNFD 6$w737;+F[*FIhI{%-D+De\8,Enԛ%1Hetuk#-H S`}^Z77i=J*#%TcjˀoRc{8BW͕9x4"{XPEVIjbp> Ayi]YGˌvhH[|YZ|wW=Nc;i1>*/z T?A TUi^mfW$*rYmAb]W,P43[3j+Pݗ{5f ر-P`~巭CǸ0W7%[*yXJ~dbԉ]PDɬ ؊|-9ARlB"$Cҡׅ 7 DBl S-M γLFtX}* <1Տv~ W'ew9tC.R8"isoڅe-},Ϸf|5MUosNwHjDA/jCcUh^LWߗnR6Jb `S:VkYKُ[rWi]/i\d%/ xӍ詟D}q5I8 V gFN"Rh mjGU76h)@h ی )|cӺDX98yUeR9Gc5ad9BeRpIB}94!vi'w*v8ڀF#2vy6RMFbSU^By}]k~bp|_$W  C2vEh5h淀}% 2[LHBzԠZ1C\jhb*Z=Ps ` S8QAW36Q2 À:A^.E?172&嵲m[t!vUzb.@4i7{l*@aXx,:pHvKQ$ɾP\rJ~{OL]'0(h#6#8EaESNh@c l4hYyC>H9"PׇKG ]g-꧲3҈k.Cpo5425U*4lɎk6wIX+1p:{|Jk`np𻖧.< ]0j5oR~gȱJ ƒ8թ#ɛph#7~O+x]-b&I R,u'GiMߍ4Aga b6t<ji#@7a-6x<:v)Z]ȀOAXZ!$JB܍.7c7 0.< ) RbA>0C8za;݇k>D!&!h3hm~(& f9nʊ; ]Rw9%`]]t@B'Ϻ4^񆌮`;)QW^{*e]FV?@sp1؎)}c}V2/EgEf"Z2Hq|Rt`.YK\~.݄1\IJ`'"^c.Q{ʐIҌp,cz7@v@Ն; ~m@k\dY%`K*JI*= BX.780!Ȍ.bPOWHҨ<!v}C $@9[L0s@ajAyjHjݽ`Ӄ-A!x ݋<1pG,eFx97H6g\ĩmHgWֳC:`LNFS;_jUq? eUjUps5ns ygM5nR *ފ־˜#(WE[wP=VcqMX.jp3,jJt 4Qp~ ґ!<8>;j1~24:&蝔uO^HG*Vѿh51o+>He,L(H0^9YD;. {o?UZ<"ZOD%4AYB؎ Ru7<#8_ HA#=)@H[|SyZēeVU|H׊ptFB@ <ŸF~ 9(Iv8r̢DT!Y%2n%6i%I451\̧(#0d;\]k¥. W%WS+`6 HfrF ZBrg-=5Q3@|epk Γ(l<"$ekTŅX;b+B;Xl;[xBFi140 /c KYKnmş ]BswQw#1/bϫ;۶Dk dJ=+(ٯܷG c[j^ Ӡ9zu6y<_HZ$ݬLz3]]d+6+ +G6]K?,RyH'+`*AԬJ;C+"ZV<9`(G򑉏gΖt^^NNίONN>/˿|8G5󽃗Mq6~>FC\\]|l|&̓4q^+74GW^4b|hA _ܸ'[pfŧ?0J71f2b*iq@B#u?O.FGgeﮏ%@Ipz:fDp|q pxszq\ 醛^|ӊf9ժעz-=KvgҔmLyH 5bNH3LJ!ly|8ʈL̲8> fzF={[Jv1yF 3ꡬ肍Dy58:~DpT?}b&ye¦`d)m տ|< Dp)JGTiog m5R'DjJlWN0ρ95WS\}d156u:4Zk)205Fm y7Ӥi5FZ|> :+1=gX Vv7Y4$8ހIE !6+NboΠnjFHvؕhWC x"$>Mqm`^K!Y"5 uBjZd_Qς&h6$ }iP [N~vX^hcr޼0i ?M#޸ \ b"0*(%${0Y?H4"I;s"X<@^ě@^~js >lW<@'p^FՎ*]ut_kԁh9sBሢm΋SÒ_W3ș;,U@UrEX,F6N,~1ķ'W'O2Y(/}Z ȭ٘H}@$=[ޙ}u Pu<=/ MȊ/Ѭ_G;x=2چ0I*5h^Dz]S"F,4TQ .H=I3Q6'ɏ+N,)R U=fCze\2hR~[s͓~[QUi[l<b_u7j bEɏ6fvV7&.|oZ*40Ni?f?fKs7qGlat,܉ߐ9~ϴfܼӌݿ n+vԥ֧]]򈢏 8~ *9za3r e#j0P]ns]u>~4>*JuNB["޲%[\S4fݾ\nJ:TyKtͩEmeYQyG +=>ea5luv4T iDR_MpGJ~m4N 6?P;rJ2_QxWA 23VobZlr`[+<_o?唋' P8"@a1qicB$}0{Mیn!^C({/Ʒ xD€ ER# !lE^`C\2C67Q ]N_}],s$I鄼O1֫M9(GUyۣg'WC.Y7g2ۃ立Ͽ!zHxW&o<oY*ܷWG~ {-vnؽޢFiH9`OľP&a4(c7 vB?$综( w]dt6Lvdc؅u YPldܹr:Al<= w55n,Ҡ@c#.$(e_ ) 1EڤuZ=yV[m'~D긶j4]Z-y%NOK[y5vsډUkPj `x; |=<\Jص}j{"?"k]5uD꿱v2]K_ά` jq^v;[[$4<~t3A{,1 Qj /S*ŏ;9ty4lU@2 d^Du <]/<4Tfu1ڿ{@YPhPCN, +1a pWd5mk65 l-G{{{ ^3T3=^F$a;3x/Da1qF݆X]tDyuoJiB 6cٞa}cnkUEfYA'PN+7`2,YK;N`7_\MDXF>-oךM w7oٛuIO4j l#"'71Ǯ 5 GUy<&bT}kDPAgz1>X,Q7&adc YaH/p~Ǽb_ X.ہ;9wb CtWx~툦úc%@|ƭqF~&vj}3$?5ٱ5ؚoqlU({;4io:RL#?Rolhm'U\3$| 0uPFU霄 y@Dyлv9 yN {a{A4^-W>7uZrzl6 tؤ:@|=Ak!BeSC_)?:r ̎, 4*v| wdlʀB? ;D?|c{z7@JQ<X<ǩ` b>b" {uՃ;UWwmJ<:]<b;H9t @k<oXϧςɐ3Y'-l} RvE6}֏ R@Cd،r8O 1.M0n@܁~MUW8L@gaad M!-$NF*gг/#is6dKBaN2;&LؘC-gZ muPg)]+Е6^E5ݼ 08F$ |n<Ջmڭ(o7qGZ i9,7/-,n'h0TtG*SV1Ӈѷ7VI do6 :3>kSF д>ͥڠ/HjƦŃ qEeg$,"P)mifMV#ILI`cDMo"mLY\uE>P1.xj ' 5QQB x:u"8VgiO}ވ_'DTѓh>_@@È߰ŷNL_h8+۝[+jXiM}L$7.]87Mk m&}*ߚ#d7ex 3с!Q,ꬭ1 emIA\y8ѿ GcER7&fλnb&畸 |$p#G],DB)[Mv @W\Jo?V>9a-@-zk߰{b;삽~X);(4h f:SyuL>$3e<g)wWky ֌d,͂EFe|R/CaB}n@?Z(E#pw3Ngmqnހâ"b2,g] lۜ*=QxAM@(U)Rz )^0EǪjiMzs<7#_}VF$?Jp9X[#JzHHzL"墿žCPRmKY. Ҍof\C^^T֡ԺI]VSsIvSב}qiNFT,Gk}~wXxPmJFN`'R]2qQ R˖6ܛη9& r1^XW$<eJ?U}P}z*{koPl'z4B z'O8ɀO8Uz;7RtPԽVIt%4"K2R*S֮N^)lǶ\DYڛ-$ҥzJpO@wFgflc9.[;0SSLC.d bwL&&֡@{&*4򐖩6v<-z'x:Mw7BUop {AIO w>NB0h"L]$'=?2^Jy6Jte0q'Ծ uл<6Ō3ʕu.lzLm?6㺕Qy[&q.Cѱ;t~ii@x|^Ϊ!;r sK<CK AWݼ5Zt=1@ Ԑ`w2^$BF[mF/qtr?۫PFe>I!j5{ʣ Y2:s]>mg#adPi/BnZF Ζys]F? k3&PMV;]xAɳu P.,' Ы yiEr xBG3POYjԤC-7biY>]\D[Nua:g(wkf3*m@,*dEzJdM)A3a43;NXp! }2H`ęXETW_f%8Q1.@UH'l2[LLZabށ5[kA䋤+_1v~H{k®r~d7U7bN8(_AGނ27! Nae. 6Fwd"[FjZWtzkj]_bwb-K|ڄ'i1#J쇱7q$5*iXe+JuX$ 1Ԣ8=V|'kƥX BS 4hH(y1qɆ:F3A'ZhN6LY IH|ect}X{p1~5d*:JfrC3~^pFbouۚ%B3?y 1)· _OIQd],bT[ ÑgFBӣvu[߳e.ng5p=YlCDi&C¦hOİBn 2onB:li ,n:LQ>0Y1aloLs]O5A o%\yK[<7 v[ ?@y6ex>Z`oE\St(M) J2ֳYs)k t^8]>C ï[ qNkJ1W'E`l<0+հkz:M^MI6S&Xx(סSBgRo[xlR\3evV Ɔ?4c oY ,پ8)K6˧-tg#+0u9KQNr:i^:3 GvASzK'1L SmwauAby؀UJm,=e# =ɕ^G BP߇.~:_\}<<_^^\u|tvx}V\mcH ']/oo 5-:o'7Ԛ@;6/D}홀Q,nEtg)aZE0=LL=ACd'h-q/rC||ڏXBrgO" !>Ò9uE+<'#&+D<9\ ~5bL~UēyV LG3R@Đ"SiǑeN6c q5PTPb)x |`^7fc\^`%DD5Am3YJ~Ls,b@,9Za9[gD!+翓 gQkźH y 2fcJnؔ@Y}u-6\!00uhJW0_uB}勻V`>Ke@Vx<m߇+Qc\Ic.,V2ܼ9*^- 5Cs^ERjŊO3w* Źg_\^¢JqԒ͑`CNK+(efdw+FVl3Y0+2*uˣ%830RJ.O~8طA&N$fvnY- R(qtZdx8t8@O&I'j@uf8A^WӍ$,4fFez,='[^xmK'ϛ:/5^+BLLC]–-$dհߕQ>pkx;͹E5gׄT q^% ͪ-qbnz(:**:nRck< h3Yƒ5cRS[g8 @t*0%$.qu5$ly$6&Q N |lvG_{dšU~^޿<ʇ,tvYd\^ tFETiދ}H,\ƦR`ؠNᛛK~9-'ݦH*BvE"{~GEi_X3eM!;0{b 䍷5Yfq`vQsGjF["CPO-{ ,ܼ%kʵy%5[u}L"|nqjM/ת-$ ]_צL 53VkMC",,NP DV;jYA^c)P:ڕmУi9^qc}4j X{1KA-xY6*؞/+iwWǗGqid<5`yr8|?>ő>+ qbf||r}tuz Ft2~xzD.FCd2NoN'WWW4؊8*&ylh ",ѶybY{v5.xNB5/YZU}[%qQWvzmoڶ]2YʝUŝU7t::|ly5divG+ZM F(0׸(H"4 XݔA+$a꫰=1wUHXֳ-t E~j tZ//S\ ͳdƸm^VHћo,,uB4i'Z+F^`iO03Ki˹%(osIxW . M,mV:CN:i(Q;Jb$Q|N2zAԽfkο Tʔ*p7-EXi|ﵱν<>9l0 ~WHqE&UaCX)p91qH\W ҞPr"t4Y}~<|Y(] tUˏc,y1(,,ݛ)4†+,9wbIuqցsUS5R>γ@NL$⃮$&NH {g`{]S:5z٭:F셸Kd> ;XkT,ٻо`- (5蠤q^/t N”tIHuU6r~WO$73i՚ՑINL&Jxq2*'>̝K;s;HLCo35;=BC D]޾TTɈ,cxtY$l5!%\Svş^*Ҟi)Vo8(ĸfCbRse0dz<[C5ѳf`"=ﴮ2{YF6 ;~dK]b/5!x &ApwƊ9D]1 pxil ~AYcԂ `j⫃?dl5B]c8检ok[z!r"iOSڲ颸yt"uk5LCl>$1o.3$_ 3F/^U)ڜeк=xKwqlvnWnVwцDm yAb2XK10sɦ^3~xYv^\ߓpAdCL'a>),ƷRZޠY'Bh!iu=;hCn鵪Seu>!KCx]pt@;>jV0$ KoS,f|uAZ睬K3c=bʊQCmk "DwOحjbj[Fze,\lZZ2+KYaVa JR5-םNO$#38ahS L=|7=^V4usG0ӻRצ^S=Fo4N f'rGP{2³^\xdrG k=Zfbtr_lGDEݙ DWZj/Z<3\o^׽qI)egZlaE)%0OF Dv܌Ç0X3f䭎")L2~I=u}RG8ӭYT4@(l KХS2(q3Jk6i9_ _zvLKe/‚&laѣ2.j0KMZΗ@\*(߬"JV(@| Vl6]*&ib6YP&ˬ(ѫI ? G:uQwLq<{mm m{=erG;cIvbQ-3- ]_, I>"o bXM~aۋpWh^<ADL{XǼp!z*fs@l"6uxQHЩ{*dV]22%aU0ThFEn1늺ShKy]dXK[Bq[lU.Z_bSm5o`jykKO쳭 /46T\{\g3ڋ3n_q/_s&ZxP浇"k(*Q/nm(00oal8x"bkAa.mFUdͦ&%s-*1 f :K kZ碤aHzׅغ㋘v :NBi;µS`?i#ygjj ]-`T|^cQhMَhJ$ۨ'-x-G]'-]QAqojαGdcS'-|gB Tu턶3W.tN+#<%o2ںP{\nr_rta7rRG.z. vږӃ^qTNi ڭ((އ%Rν; 0(. a$iS5Ui*%{͡MQ[i3̞whLu`Dw\ھ0֣,ͪw#ӸiDilנ0@~CN2x|)F6]^9%2U͋]I6Zhݯ3Y-M&LHs@a{ 4'gItӣ ~ry0sWOe{u2]R-wRq&=aHfD@eL2N0؉fLj#TWAQoUǒd<%fd9!0ux6Rd!)ӅN^^͘ L1;Whdqe ]̏2 ]Rg9_$݀gː.I)XWgVx☑ OKh3^Oi˥\mIP؞Uߥ2puK)R  P3]7llw9LRZSM} ,0$ RqĆJ4zDpN]#CLR<_5cPڕF53]eZչ$,Et#_F~9D1'ݺQ5JE0jB0zbpSF#y#m8 Rg}8n$Ux/K̃{1 hq16I6>LR"!K Z*f}3Ұޭ|\/gz8_NoW'R{*%'NE8y" :{bw,(4 >_|9X/r6xƼNr8yPw/W'x{r%z՗Ǔ|jH~l`K M`4MgZ>F?,rJRA@}@ Kb 2)Y2@ :{ji8J0RD}tk#X%i h?NKriX0EY0e׮GȐvJ1hYy^={M9!K6EP^_UVτDQ(ݍ)aw ?|(l~ Du()6PG*D1SLGHPr;?=? N[(KS'b*0͓zV7جB] x8e >([:t!vv~Z6dW?Ã\cngx `_$}vq<{$-/E 5pEPsvPp_bY*; SRZTC rCTa$D:c>].׋۫v~˥|IITE,ޣIito$@nȏj=Q>([O)qBI&^eHM$=e[\elI$qI(ϴNBy&O4jٌN6d٤)y2Dy{Hf0!BrT s 2Ɵϒ,$a,**f ^lvBk>k㔞䢾ؖd !,}uJk!$%L'dЕdM"[ yIaox93f}sfp9r4.b&Z?ܲkQ,tvASu)HRI,ĮRRG:C}GszrqvݪK}z7Vs+@MqZ^7^\.LCQCX\._4pF{uz(;BǧA-ċ[ tq;fu#R[S+_ΖS8vu{:]5)y<Q5o!:"zj(6[Gl> ɫ)5+>K/ ੗qa!p#Lf1l0WK:p#=qkf8):'Kl ݇TP8U.rTEv]njW]-U`C+bѯM~>ׁzz-]7/-LﭠVn@&YGwA}xZwpmAȡEB_?ϖ`9cу`bV"nT7Eryzin:bDvʤ4p{w)^RTw)ڻKBݥh.wqߨ#ɾPFL{}ȵWcSt')Wu:G#H-0o7< ]4neo2lsW(%d`.R0";B1;F([7^V8*x-fjgED]_A"'cM"S"p}9^g)E$*w(2hLjK R;HfmwKf"HS McY}- cb[)MFѼX"L~5$'LAr7YYأ=WS،$ z^eu!5aDl5mL#YFnaD2^g'oo' EI/&f֓"{cMS?-3XB}<.>աĴn>bq9;%j&Uk~/z F*nhAZTy| d xb;-r=rB^gW&Y,GQ ?AN`PY2Ieo8|[_04a#PlNَiDzGox 4fpf<4a#/pqF!wsZh^)dI$vYq C}4F*mn9 GeAj8Hn:)ʰ`˿ 7まSj}ՌQ4b _=P5LJZR"數zLaxiK=Tj}GZͣ$pBMxhE*2GwY q+Svǡ\, `Y-*G˔t76k35M) Y T? fo`kPn(9v[*wqIz7R,Ddפ?=bzsU_Ȫwp9@ϊzIkx^>M8'Y @䱹h8HM|;/!g3>>96C*i|߫M ː#Sa͗ ܁WEO8U1͎]=Զ'~jUGoIAyz+CKL\Xy gbQQ)"ԣl+zIvbEit0' T6dwĩ{/*%!1Z 𚰹)T|:V vGt|Fu XP &0'eČXRu IX^ļ6 cG1(5z_n*˖ZFp 9aesb4/σzW7uQ)|R2QR9*e&qWVl29<*ó*O4n&L*0,/ә!g \j$+dǻ7ѥ6%|?4pZl˒쩎QY?K>[:K7+]l.zT.l\Q[*OS՛DLx!bh?@dR }Re7ҀhOgܳc6 0ýka M:_#8ǘ1ۦ1"cWf@H'l>ϭPW^#_Ko^DVn|'N˽}l:!ޫ7X@؁DVȸn& 1v sۍ\f!T*ZEw}ZCe'o}zS xao|0^I J6(iPm$Sy1Ѻd~S{ea9` cpҫzM<. q }lasi5}Rw >,% 8"uF{mږĺ|=w/K#=وlL\Ohr_WD hO!dy~j$/(ސEeњuwT՚ؠE?h!X2lfX#ire凵⳾U+2]v{e~?*Lǀ|/KkDPOGQ-(g7oz,mzŖ{ 5P+){AbӔ y 5rW$y46 ^~c~auqX9L;tKd_8J$=;öU` v,Y(uq<u4A};"G''IT$71s]m*dv77.-ώӷ=˭!,_zAy˻\:AV{['0eu~S]bs*Q>u<Dv̳qWh!-j}8.8>w԰}XԌEhWm 2 0~ۣd4Ο9JW 5AzUCue[egӼuM ySRO܎SIUKؘ06'Y褱#ׇ8,I=^UI ,Ll ~0pۉ:hK~Y~c4Mg$& h"l\@?q ׾ y@IT qaa'X?@F4̽ZBM.m5!QÑ vCeYXZsX<$jN3Ms9 AC]J.?Lu k D[kKRcÙVVa_{?:kS@wI^NQ>l\Vf,X~,TrW[WTLMY ?{Q5:-.b_rYSsuF}m14W~a߃7ÐYzy| ?5- VUɆ|/_&: ;؛*zy|]->oWZ@]qBؽu@Z\."Iv`D*kjy}pF U}* |faAGnp EP#6&@@[zt@sˬ0'C.LUu,A)rÐ~YW6ъLL6:\yӉ1\N,-mUEJB(o= o]3;v0J/:#c`_\,?N7#Nx. h;|,WN#(T 48Xe$~xk5mJ&v\+*d`Euor@& \)TGxH&ƁWj<8bȃJ iP!A!4>$m$͒T1`qqix hЕFTQ3GT$Q5KT4Q5OTDQ5STTQ4WTꐫFoUs4W#JX!K6x#?KǑX"*k_$E ˓3w;Q0S:rwy#GWSݝfv슂.qĊQʰ!wIFNrgyM~,OF3쭑Quq([k#&2vgՙ49}`ð*'wаW^o+&dy"#B MkWOv͂n xE¨ɜb ap._ky"Z9oOO5 FmL[>4j; O(.S"QM_*8?w仿qPNnxpoZTkᣎkFԘM9g7%\ 806WW3eN̍un8-wL]bJrңQV*KJ;Zrۧ!tt1!fD&jمB(Ez#slffJ+2Ҹ XdYT}ϋc]`CeFH"t#2<:ED/!VuO%]7n/A8Vke(M==c]Fa -~% - f%]j gOI,C>)P4epnl,jb ;h}yoF5 EtÇl{VbZM("˚T >:̗yzzM䇙Mh)yb^bQD%]5*];NVuVbMAi2et C t 67|XFfnכ{Mkpq\ܞ^IՕFx_yrl9G =xC.98hn[ZHU >Fk1Tvey8vI,OaIrKcߤfpˤ'nˆ#;K~)&8JNxc);:#-uonӺ֜)rJP[J~x@'V!AE3 le hO=f ,; |̔9 `zdj@SȁgX&q̪2ʞ<ɚl[/hDCs%B(*GKNş co0nȉa+~dx-~~lm~XpZ2i18 86+%yѮCE:SOe%'b|9A[foj V4V > kxr>~"yrllj+媇?_n85 W5muYvx:Oڌ3vaI$`gw<ܱiѐD9=D=5^8!OQ씫sV$wOX0U:%;>V.8 e[|*^\&eT0%pэ$Ѣށ 0!]\~^z(Wp 'Owɶ>l8 pVt 6BѺ0x+G |\"o~H'?4ݦV:# E<+%"d=O?'x]Mx@i ٣ X ʓ:%m"_PE8T@juO˻mlB9;FDrFz,rY^DA5ÚVZ6 ݬ,z7-ר˵}CTE%vuy{3m)Z5#Zd@ʫ2݇vHeP.V7K6*)=` lIL"EAMn.9(@7(.k 7F>ch74@R8`Fe'6U+Ԇ%&L8fdBҥSvNjA qV-x7EtDNEw3NEjRM!|A¨TfID䕖˄/՞UҔT(6vYGLݎJP23܅@U-ޡ-nd)I@3wm}/} %1R1Ja;+ZI /\dZ*"dtd\,@+PpZ_ehה^֚O;h%<LWLB:ɒƳ掋I{/LpqޑY*Kךo;N*{Am LkaNVeh=E+1!*إY@fjH!1$5&v,E>ugvXFL9κv=&T;VvgTPߠkhn> 4z]м)W7(\vJ8(4o l/V|0;B=y糥ώ~4Yf BT="GI!24̾)%USlHz_JcbڅTA,:[QX`IH]$Ђ5!dUOUuyG&""}0HwdmJri~+ZlTᱍx ߖfˍgν@5n҈۾ aɍxHD#vA3@nS*n#.U]fB#}ݪۆ褿1qڊ1=zD1G$z0d;IVtrg^ [ [}KMU@HqɁ|iݏ~ &)@YaGA']N`U;Stq_AgpϿ\ݨq|"2J_旗*"G\7Z9?T$LXgOBI&ɏɞ(sЋ5L䗞(&,dg̳`䀫Ip6>Xա2qe@š#1Hۛ}Z&x+O@G%]m؍6Zf`%Y@l{qMcU݀)xXǛ$*$;FdMnc,%H3]S{rE]Nh843(uf&q[b}Iҧ[[L^gL4е4oCnf(/>^zUS94|tv|>2_ !{ʋ?qZPCjEB}<7jyN`)E+ڞڹԡзs3tsLg2gQoK( y -vupκٷ^-m""XewIpmȪ2ʸEA*S! A6 i6OZ3o= ؤKf瞲90U5J${.iz-Jj+TmL>[XIC0 a\Xk<-OWjq=5yD` D tsΖ`zg0?W5Gyr1vvzy:Q76Q:6VsaT2N[Q#z8/7whca7{`{mQ$muw4L{؊,DlDϘ9ܰvJދ&"GTq`&(y X{Gvp-yb<D̓|޲8?]* W2Im:Oylo0  %h - Gr('X8qc ]؍@gYGCzBdmytN`4w^ӭ^U i*ٱ u:[.j `ysئֆ.x#6:;=Qkf~ v&NеEo8ClN֍wd[wnSm"Ypd-N _򐅕ԉ}{JzyI~lP-!%_-7TEP,KJX/qԥ&q"֖D`歇\Z7Y4G2Of6Z">U 9EᎳTWFړ1>}%ڻ/|{_81HvZŘb]|Y͑`D{1żCL%yQ_ К}1pLhlM-_Dv/΂|qޱ3y5Vi{.&;;l3%z,=}Ҭ /#FgKllJR׳Ri/сRn&Z\P`_P^BM{&:d1  c_OoOo?)c s!_e㨂i`נh?NQm]a\hdc7SԷr(pP7 ^~|͗j7l !s7$v,U8hk,N+~3gVNK1[MH8K}k?q1ٛFj,Eط΅ROHz~ pkjvy ?s]ːZOe+S 4Fnw讞i)22tL!ߏ] /NR[VrUA~Iq<%oi*< w"vwQ|6je,#|[9.W%OݚW4mA0Xv}Al 6fE''oc]s%mˍb.$nW |dlOzOAv۱p5-qZh[dbՄl=t=K*Sk5!L$LL\\oXRQ)l_EeϚ%>ໄ3aNpCSS< *j;n` 06֏!L P7~[M 'eQD < Nkِb=Hf"bohr7p4?P<"!h7Sb_y{ҪzIv KNxe ՞PJPI0ۯ%~Y#IRt+E}$$M[Ȉ|ÙIyav/9’OqȒ!P*:iݭViB7Xd>`ggҷkwY^r&Ta/+`x5wA:bp wϠ%jGbGt8y?6`-ƇI??.Pf][,%)x#;.IW,+oڜ?|NoN?ֻ[|ҷ k6+3z}z:ڇI',Mo旳۾<7=i,8u=Y?ǽS.|y~l׏D:O<8R/ZfjuqKЕhf9  fwwہtȁ9$i_ii?SƩ72b72sa1`N>H,Xg2Q~?|?;Ve*EpgS5ΤClF)+y O#ȁHSIʎM'>**qL?\gk#z\?-\ؗvnT )TbI ΐ&&yѮvѮ8-5O}4234OLL^b /2Hآ=}w?׮]Rnl!!C4)>׶ER2Ql}dקҞoQGS)?N,$8Iz4UJfUy1,OZ.݋Pzށj5 ^e:KdOHw2ȱi@GiePԋԏEHsfѐG46Lp>赓IeZΘz1#(bfp@aH$ cP.*Sv& >u\M8eBg-贒&'|-V娍Cd؀<,XܠmL^DGYP$[ԫè/8|{@zix(3YmEvS!S:m]feʔ-εL\`n|!klޫ&2T`)z)L}v " &3O}Z6ڒ)g\\ʗJW ְ}Lp}|,|ѻաg݇\ϫZ!r\(g$zV\(3 ]BR/Xњ =UjV /.wOF:ћܨA vNm`UMAy@ʞRPpAQ5]wm5c"ul-ȵ(ҫz-?#c3?)seĮ-1n[N ɺ(GѫxnjR*&$Hz}D^vQFWdShbu}}ܷM >-zcZH҇plBvɯ(H#`J +"p!C\k׃Ym\Ym&Ru:t~`p8;Wvw+db`f;Wf2WVلZ 0!Cnq.<_*we5|9DHc+'9Bl'-*%0PژC.@vq)1aZ?  aXsX`rmi1?r!'{z)}o0dnC7om5{nV-o~AZN} OگͺPݦ ;]㼪kJߓͰs<S[vpG0@pl:R=Č#Vl 3 `?Koޘu'|!ԈQE ,OLx Yقx52ۂ#t7`HqB}߂۶FЂHMgLi:d*pA]>- 6tU$얄'>@B޶;> ›=<}rS+WcʐoZHI75q@ԈΌY)ƶDb_Vi8؜]=1pe/ УƫWIxX./̣o|) \N"a.;L%(5*{J# 脤n:L:Q^-ofSM~ EO 4v +N") F+b./p_Uy者cݒy1Wkgy~>>`[!5E(ɏ*LաMRӻօqPN_M +] rK `E^Qh3sl2zovŊKfZT'rvnj{.ĆNK6yLH]p wm \U3J|m$(|%+s0-Oe}J𘓁b,SCN h6# ƵtKU΍u6b&l((۩f#y(EdqvW} ^=]g9C9sl]UX_e+k~L;ֺlugFtԽ Mz$'\CXuRГٰuO{i1S}NYA 9`#c+/teK 7Bor(fD nfU%ސEx_xLߧ7 a**ݡ;7y^L6CŰFy?7;!0q@TMzO55I*[6x ԒB[9rUXg3/SĘ˲= Y6TNKU^I$,'U(Xiwe(jE˃쓧8H(f˖q` JIHKe1N,*6s&naݗ?ON%{ȾodB5qnnz˷Ң ?&v@ˀ<*f<&3c9Ea%*]6zA(^kll jiEU5<9oen9] VguPD 5)KP<&"k4&`\sp9a;^ٹ9ؑ"W'7IJ}>&do.%] O9$ue70$MvTaj]mJ3tR9=w܀W#5u.=f.5?]}"6!qN̥<"@~ 8䟯N&T4_ek31ir;8؜W7 ]_竟_V/ߑeSUksDA5Ùжkp m#{hfU8UeXQ覂঱R^lr| c,+܀b3rYW$9L.WS[1PqhȦA{B.jȕ˧G֖06 iRAI&{B LYEOlKl9(sbY{fRN{Ybyˤw; rr?alg8{s5Ȃ&r|]/[Q;kXƔ%va#}HaMmo/O-_4^QsnhU~ `OkMIxj6lC.ڨhQט91li*(M*ݧhy£]+]1tuܦԮ:ty>9xd=[g\md!bἽbiƠ1`BId !X]&t,Gg؞senw$ :FX+UG%PkqCw6tZLYSphLEPT`zli2_VI]M3uv‚ײva4 Hx /g]p d3x"yrVYתӛS ֶo~77ܩGŸ_?Ox chmOX0цP䙴(n<"ʬ]Q-'|:֮nU=,3VxS\kzLF f'TT.:МA Y^uVbKb-<_$Ĺq-x( $Itlwz;vמ:IPe9"y=!\(bQ= 1%:8岤Ʉ |fYZK: Ep N GAx8ԃx' Yϥ٧U8rWAvvgӯ_39$PVB~K^8Ճw@1z =qnGɖ;CcΞytC-keh*3.ꘗf]탻]"=K(QCbm|vqrno|>=f5`V x(5)=}](Ƙ  *<10F JnwZ \f!J̈M;,CuOc՘=! , dr\`2X?9ɘsk36,g_z,Np|sΖˍ2X_狯:wAcdRPqF )qC$ ȏc9͈*#~~rx^(&9 'Q5q-Y,WtG4aSXQv}o\Іp}ΙAui(a^ _?%(Κxd  +/FuXH*M@<ރ}NOI-l#n/Sa}5BK{fl/mA< /|*T5*gue K'_Dř0&wq5t ѾM%T:‹Kd5c^L{fpKB5/ohN}M6[r.ř.{Pa#=dAKeAlC=5gOvv[_J7j)IK^5?P_W sԷsn90&ۉM6h([ Q2iwi^S; , [eCCJVSy5j߆5 x(/jXT'%%,G2R&-\[b ) 6yz{=}G-,V`,^.@g_.MKgTF(ݘ#*{TJCH54doNUEx9"df%ýpdF C?." Y(+c^WFR`l\7'6HExL`~1uW$fYSNc#} Zr9xp&xH^t1|}e&^7 =}aiγ֒5^f %A/ YI):F9'z̎8]ﷳM6JrqLZqѵ4 |Xr1GCydE^itrfij2d;Aa}7ѐG6{oiLju:{J[;ss̖BJ@*mnkXJi0TMgstKe1#X=>(l܂8j}zMjQc-IAz wyaDS_ 5j \&il| z6}%ŜJIiNm~<2;!LvM#4lJs6Alq,K),X=e{Hɵ:`V@:C$7*l|X&v!91mW5~f=GGًϗ3ϭqE*+ȓW8!6h~/=ԩ_Emٓhro*%K>;ypqU/Wisf\N2~=A66^^]PS vo['S O=v'G:}̫ ʰvY'0)u {yTq@50$}Uvyڱz!si˚qxeJ6v9`Qk,H,̬z7Sճ10R3q7(KKJK8-m26'"T C-,nM- >?D{rÄHgt"43k$S {1u Y,Y3*fzIͱ5ӱ`KI4P vf ._\S^!N@J͌}).e:Lt+p@_喊aPwzjWzĘkj\c"͠3qCzyhDW7**jB_ p wL8#3!}:RoaeAk „5Z߳rOCY_[ 8;lZtXxh8hVC,E5L$ҞFKӢ\@Zݎ<;MM_# M+,I.Km~H2@xTe@c hؐGMpn3F29?&8*{J.K r-7=}\_籷_S]I3 QcV,BK"iGEiKZ`i,u]~ӯ.#&./cU,tgf,X~6[*c 7QwT1el:=M6ÿ C,k!(%\:;Tȉ >E!YJj4mnOJ]F䭲ƹQW4'^B__XuC<;QLMm/gT|jM<;w61nu$+ssXFxc L`'HŁTHv񃔘m JSh Ś\V7 Y.Lb2J Y=fH )QV#Ý׽&aTnIJTTmLi W L38BUP9 `!{1C􄟧QΌW)jnLQ? Ş\h̷:],*#<ʟPY2~s@ՉVUV?,eX_ŵ5E2#cpN|~ۗ>g+. QqfknnP=_AV!}cDShLD~l[PdUi5i%{IN*/JҌwOx q=D67}z㖰7=jeX9qUB췊Z?)\q;UhN^ yogJ! Qւ/2L'`9Ⱦ|gHLH5\t88EtAJOcDb|uA"if`x,JvE;ɋۦRC#yAx앥"RD\Iu8oES ]uUK>̫ w & bTbƁ9wxhq`-ܴt%p.9?3o;|RNqŹޅuu~W@x۫S}T_=Hy^[JYC}t-h] Aew뎾ٳb.. :;)ݕRf,.MʃfsL!'y̮4[b]I%5X(_ejKG(NqyMDs[ ߣF-z@g0Y^؞ZMWBJWM7Rn_'L2BH5F)P BUGe3 2´N()Ts`> YDoΞ#ΣHar˘>.p BW<`/)W1`oO,+[) %i(P!j !菪P aMOD'\ ;UHA+gрºBBfHN0͂^"= #ږ*2_VX0tF H4"0߃u&Ox҃5r$}MTeIaf\e!K}ިrvإJpjO^uꐜ*0XP|*C*!mT}rOˎ@ Г,珯ץ4m_bPwYB 8l9Ӡ CU*}{\]&!gߒFD@^6}H&o-31f Ż}Pk,vYcԶI(,o,ͪdۻ0+XyHfNV5Rv٣l5 NW)"a4$y>]h6t04Re!קW3 HC _ΖS51lg9ٳ[*1pSFĘN*Մ1*`ҩ"ysNumK{Mk!$gy~n9+mڹb¨JA/WvaVr6t1^#aˑBQ:$HOJeL12MIIabu2#<88ȀYnC}ww5jA$AjoCVv&gAx8Hn, 8S^J,vA/f$UEujY58.Sj 3[#:\+{O  bz_U~Bc]gaфVqLdѪ&~{F[B8 dDq^e̮\C5ԡ@zs$^v]$Jf(<$l'/!)UʲIՔk"FCk(9°5 SCϴDd&wdNY 5Cī00+|e)*%ŧVxt."SL~˻q =,ʌ6Xlo3vXBtSzpW @qЩ1?l$(i<11{HPrwda^zN>yTNZ0G2|>[N tDRU*]/&OEuh9a!$'>,fԣtAg Sޓ"o KW5<׽.LU75 yk5I-uI4a);MCņT^NTڡ._`4أ̵2Ԗ4i_1 Qb4l၍nh܊7-[jK($w4swST.1y<)YT, ơ)-nlQ`+KyL Sol 2<)k.y#ELNB PoqXS캋3+9*8Ô|ss]0du6gySS@/7+ E@.,-=m(*P"9B2i8Cn>|u:m=`͈rdA SIvf5Wl\gRk " ͒yJWKMHP̋7R.s6ά Y;q͕,ɉeɯ$' .ZlPH@,tH, BU`c~HEZOBEdvBJ%7[iF#u70U,oh0MxE>b_E >P~O/h dT,;~hO)06r-w;LgBNTOބμӓ*OQk%ۨT Fǁ3A1ޤBHآ.'혌4΁ƇGD$m:z,^]kCQᱦ?@ wt4lGfG hJ#l_x..d8*C`?ՉƎ9w A DvvjۭtC h1+,&,T:N/ [舧a~jև4OZ{|4 }y_Nlx3@ܐoxV?S=?xQw.[c"=j >iO^>KbIwC!vG |ڝW~Z#J\-׀G׹s9㧆Ϣ<;5qLP8æd_ݮ&e0_~qXi'dA 2b:j> c;zG~!*3F|3Td~;kHΜeo՛~x`)?=8ߣ$=RT椄,_Ih:o2ڇGЅCCn+GT‰W  \jY+P˲d 5%O+(KbvZd$a0b|Zm΍"ز͸?+C2t8,ePeO]B9KXjrhAX]z1ѻUT@U{Bi|G&DEk` [˸?"p^@%,EN6i#e5>Qfl9E'bDUOkAo4X5B*^@m8 _z.㿩r|Or +Nld6)0{rjP¨*L*1J G#i2eܠbybCҭLC4t2JkόQoScti/"~1Qz-ܸOV`8߬`t2\[ٮjL|ՓF q抒A\Ni<iad<@S3GpiDNǐȤIobFX}x ЬBpU=5Љs^ᙧGWM?訨= ;vnO.r'$&x*H<0GNB*FUعQ7j~Sx/ /58JBALQ$+HZ͚tRƑYYϺZrGf^Cȏtw̮槛_WI\Z$i-؍HuO@\x&:$Djz[2`I' }<*sEY>fUHpIdiEl/"q2-Our\JJгjm0*؝73l/VlEv@8Je0UiN@y 14LD6dA>o*G:/`L.D*"W8zbd ?C?@%ΠWΐ˪DWɴjF,icG*6`"{A{b2 nnE6/6Hsϯ+D8 .1߭_Z~ՍzD%.O:je1.i;~1Tnw 39ݹz+p+As 1i+Ǥ%S]!`*bΐppqځ(Nj H s6]* Qb aKra9nƼ:+ LGz^j%].Ѓ4 (T>C6psK-h]'E5Dg,rv!3iHW ZtVRTgy7 %&i;l&MuKu- (KwP$CҋB.\sLYyL9'w;,#?xm,R8* Wt ΟuOpA1k[stS>)P1hh'^ gQIvEGJaaȏ0 u.? ĒǑeD${U"D%@%I(ʋCAρ}V>/Ӽs̙w,C V߷iF)[ M pϣ'(.&.J ͓Ty)(#90&|š5TY3CIF3 Tc戭:0L34Of=RILTLȮF4OT/-Ux3v$*qRp"HcKl@``"k*iLS귄4Q v*oG^qs}5V:vr[P5_F8s,C>Oť;,.!3QgAHP= 1[1 (1rQ ӽ`4/{cO9)3vSܭ*\G48 V/]1IE\ۙ*YuRnKP!P KtQ Dg.\!R|նrW'nB2;GLC5ZuibUro痗f`/r<;&E,CChxʘ7 :;ȏֵs/7BбXcbiZIVfG0\7!)djv&5w ^ќp7(/,'yRv|qIp6( »PO9!ũ AQfq ++\nޝEWsBrյ2뽸 Maޯ;[ڈ%/z{B,"u$voy7W9rvٰP0ݙ)R6".%b d%Mf6sv͵PyCzb{`Py xt Xl;a'ȍLxOouU.k4#fLs 4pߧAMIge5ޜؑ;8"ۮ+;jJ ԕlrb$ސ@O%I>/07Yf1P(T[C뜠4 3 %{+NR yC]zqej%̪LghW1[G'%F f|8aӈ[udJ|, #jV\U vƃ7?k/f PγU0ۃ\#{M8m+Eä|"wT`$9uz;@F^qQN/ $H[hPAˍ<>) Ȁ}G7F!/e9/HzX_3.r>|9ŵR|&C59]>Q]5Zʒ+ »Cܚ.}3+_륏}z?wi 9ҴsG9`5YZ~i{~/t,Dxn/upEsjsjz؃t9W15'$WUzFi5꧍y֒v}SG.-K0*עef~jMHk htS_KcQ9dx=X>kGNpd4OLikpHa-W!lpP*ƧPbe!Uo_1)̴Ec[9t{aEo7b`z@Sή cեHw>CT?y)"uW./ YهC^^-&Mv.'C%H:1ߺCSzpt1O9ڳdw5$ k_9MuJIR=@.*I7T p $ru9&{UtЏO !,# ]d˹2tj  (My=r+s0TM4~L;zo9S(+v %Fh/B_c͏Yle,*V%ĵ)`i9Q5:VIAU*b f1~y?yB+).U3.@RPqK VGtҘpû\IҞ_Q+:.eJ?i2г#Z٨Ҕ+h~dQ)dVI;Kpq)W!X[#։.ҼXG$k;C,"~#|ixwh}O%.?c߸I(I˄~}\<~]Uwxm<L"٨^;p)/N~XE4<%rKPH7xx5|Y6l nn,ʌLb@8|npMV7єF^noOyc/"1"7aGތ:"&i{ 2ҩ#>p|~ ~ ~ uuu߀kUY|l]{*jyDa<(a6ut>la .~t;AW Џ zs>0?†p2i<ǯ#"MͿᦹBdS^&ZYkzc;|5bS60cyE2ޤk Y^.l,u4ڳiWlP6mo}u^j}?4!~/ZrZp[5@D0AѷTj.c6+ǬvHÅo7E7q.,'o@{˟yF7L Eo@wV}ov7PК> NY> somo`['';NJՒ}_@}aV?'/Ŕ=CFoj5rfmW޿GZLo&7, YRf:XhvR{rcG0/㡳f1`{{P2ۈ|zY.o'd\GSY3szfwf~0Vε0J>gmCnEy;,W#Ytq e/;mHۍ|PKvL;um]@5޶+6F+a5v6xY z)ba H77f]KI C,ǖzyTǾUqx|2[9C~/pho4;4G.Uy] mr<ݧdIW/g6_WώQhhe['shrb8Npۙ[[ H[oaydSCc:ޓ:˝D ?濑دrDQ725N`xm8G,-Gv;ȍd5c5Znv[V>㐥Yە.zޝe 0b163i7rYA\+Z@puqac uub>U5αߛ?10ᰘ [[[ kLkZn,İmr+k ّ-b5^ل^d #!l_ߙl8!I%Ym(וpXS /t3d7koʢnHW~Ŷ쀇叽c!C:U+t]NW_HBJ s8@ вZ.9:pi^a`8n?5.p$I>C7.MO7.X} fkxMMa_p[[7+xɇȦ0K6drޠH/=!֫fRE7F&јboA}j}0zWFf3;0ܙ>8`h|ٞ4g }/;|95cF^5 :=}F*j?l56 ܲ9;nywt`z5'tu;I&mv1joï+JLJڨP-[>ؼo7t$yZ_.οУ}vsn1GX tr,hVG[W aiG~sqyӌi@͑W~fz4ZlJx9^X7a['Gv=R3!z}sña ?mUm"^UHCXFeWBh7  (G'7㪢I­C8ơ,;bI$IBGJu;j&n) C"b: b &?`K7P._%_rɣFBRLE%Z,d憚bQ~3`ZȓsU tʉF/%bx`\]*'􅽪ï`׻b02$bPJS:j ~د(VVN4# /<9D>0^,*c\'wpEd>ȲCY?OD.vIvXl9K$7lاr'ɓW e^L]~ >7()A|NI 5_P^gaiLR[PF*0BEBH(ó"T @.kZi6W@#@.}# O00ñbVA>b@J"eB9ãa?U( aQ|KC_]*[*HkhJ͘`ZkPnZ\zψ‡Vs) #GN܊(/zQ#J1[":o+IS(g$Qo Z"; jjz \pm9g6zrIA됄O~f IEGB(Qw8hj" dѶ S>'Hg&>-abBAv7|q1`OIߗ~*eE!\S',YB,XIk!G(ΘȷF :E!Yv:-ɾI)~DXc/^ypͳ"j*+>4GYVoU(+H B>9yյJr^([RkEOì2U]ѿk'c(ߟQN^i_L}dWº%e%uOuS<=]EOdNǨSY> HLӔV, 9s\D1)0y~KW3'ҎF|>DAq3=]TKXV͗a0ycm!}>ID~$UfkY&^L 7\?Nmcx>!W2LŨ q@7S=UNc\?_~]߫# ]m#﫺aJD1O\' ï"Itΐ6Mu\u]aqp4]).L ]E/P,AP-ʮ.|~=;@%C顿W\QIϒ]?p:TOv V3dgP8¤)Ǎځ 09) H 7@ʱ31zzqY}xwH /vzС@&험tOq#9׆$ L P’.[;}A!+fLٮTTCLiB1fM V ʝNlen^3OlPfk^acϏmgS<.R7F32lLU;w;%wD W +,."FՐߣg3W%)/r^$úUi>/$xs,6Sf3Pp0[ A<4oI泫xjK7dⱴ7luU &[Q: *$j~;);7`Ym;Ů| %s9Z},I}\ &PNI$oRP@G^(4퀶IוvW&O!]Q< G";(]S}U'4FD2$#svfd|'c2MF4on(E2mkb]޸~l"T*fZqZ"kvSe%]bzMlS7blMj]/FbCS&W>yT )Ħc1ᝂF Ī9q>CCq3zR?*j@P!ڱH/6~7fA3$:\^ŝC}Hӟ:Ѻu_gSQs<ԮC Gk'Άւ׭7ؙyhAGeӪz+! x00 zqa2'_e+u0~ ?dgrAn |]p~:|:䌤|u,s,À*<'D sogHdk-|07*hЕ־B]hhe(~˨(f5WJ%<0VoEOj8-竒MGyf[ET(ήbF3Z iH鰡'Hl`/E]$.\?dIL6Eݜ; Ո%2YBc,}- o@)sӏIȀy{$9SIwdXjx*R<^:Xa;_ q(MMɧJدSn ޞ]uC.y==т,\oaJBJus!Yg _C[xwrܗgOU!EU!bۘ=>MV<.wpJ ?:K7,*~O4kCo?u} 1p^WoT$$q1=c{yN`TVҲztea}^,71E1ld]w=7Iz/4$ wwu<照UMJosLOZ{30@>Qiz{8$7PK$J%Sn3n)iH.gIA!HPTFNbO=>n#g#b&劘?G+Ve0~WqEdt72d$uJe*ҩXzJ7l4A]N^fDf}> #򂯻ĵm>I^0N (y.jV{]=3C-*2=x_1d}PTi|Ɵݾ#jY,+ӱ+ocWj\)o$Vwsl{Ka/h]ZͭZF;?[/$ ʸr}[q  ?;Y7oCև4Ȗ+1{Z.uR\ @&{[~|bc\7ߦBن8aim v ,0g D4cm_?"6LTL+~fR\E@2l h]LS>U!h}ItTW3 2ag >;Fo˻njݒ'QE*zď%tMzIUH鼡.+ UЊ4RW[\^L H]^M\Ko#IER_{ERNXKWÉzhS9<"QT%H}W y ֥vcA5NGAn:Up4չ9 EioǨeˑ@, Lq0?94snp?5u9Y3pwV{8Y#B=IQLO|)4R(4Vr~EquUf7 vwuu=Ƿ/bKA/&1IsXx~fd QU1"lr8de ɬ0֢۬x0\\Ǭ4-xKaD&h7&@k O7lI\52!"Ey/&o킈D<߫@$fkmZBqǦy,ԎU6*2KXyzКngUZE Hi&;KyHiZ|f?;ѥoj]c+@FYzbŧ'U {*LC&zU=6 >ORE DDųu s4>m3N~vNp{fFUxBK%w!gZMK[( p"V|X%>ߚe`o}Jb]ћX0|-ĂfF#pleR&.(:_C^ʝ9Zp"{CQoGIڊ԰$4Mao'@TtS2T-6UN2KL[gG~ѯA[4[I鿢gr ipY&zPY6C޿KVu">:8\B'pWm|A?v'^ /*}AV@*Dݘ>*XUM&H$4+wr~3u@dG0,uC~;C%|\6^3HNg FuF2;*Th,73\I%hƢ*7;-p(AnzF{ju,LE4ZPW* +AP<&ӫ8ie]ׇ[3Z;>pYJ ,!X nzuMo%=քOx7 lMOg$(UF$̕"{lVzSiOA-2#ZoTWiLH{hsw:+T6VbVњ6Qkס5F8FQIU'h{vų6x opnݡ->}'2:y cE@ovi`7KRu/ ႎ(; =.n8GA6ydOƷнOjA#, l;K77CJ p #?#t6=j}b:= Եy0`vZ҃s߫0 BPpNQ(33HM!5EBeQ60ŅdکduʐI»(Qt[RCKaV% z\z[mz;aVX~ T'iBeZzpw'd=M M-r/ aK )新fQ(a4P6aR%TceZgݤ},ЦcIAf:l`?g I3MȈIDV12hL1_QslMSb- yAv`+ ,lvnlx5-[QfxO L"?W$ПYG%ٯ$nye,yz b0HY3R#}Νr ő"M >t&{7R@n;=һpEdI‰T0= qYkfhfzzzǟ냐0쭥zvF)]eE#](_?C]'+ֻRĵkcgfy}I~PINlyP l,56$eV^ z-L3mVih7WE0Y"}gYvUiGh8$`igiݥO#{uYq^8ita}(AHʪxbAyi r5fےroGf%݇w$Q߿uNpw P P ;~bUBرvdʀ\BN.061T,i*K)da ;(ciw/JO=&>?kAEc(M15a$ft?(W /kLn/}eٝS k:X.,*L MLY==:.+Hnz6 .}Yݎ3wjr+Q \ϋL `/ = iIVPޯzpe2Ќ@(Sսa쭭Em1jr@c6ʼn ?͟؏yxֱ׃Um0GICi=3VdP<V'hv\(Do/ׁcC QtzWQ_%#୚Bf0 ;y0 v#=U+yqfpZwI,e ܥA r(H9,>xYwrujH[*/Oka]Lco-1uҵ WJwڧrC}. h-_ 7.I]=<⇬(ԆMJ,3Õ{jkOIz~1xO9I!hz/czu7 p?6&|0sEsvg,BCX4~,Ӌ>4:N˻l4pF]qWfQrkSo;`Ov "+<" .Y! esϊ@EcGvr `ToMopiyD'~:K$TNO"bPJZKu O^TЕjuڵD.6mM `# g8ֲ>TE'aӣFO>[UhX9LZ-Ez<Ȣ$&ƧX&y5d5ڀTwLf~tE;R!׻_wqaȢrTXEpd΢tpeѠcf)LwPbgNalA-59WgSgz>Q`8"S) 2>-a O_5+8l^lc!ݦʈRx-|[Դ,pE&4 `'VϿu=EA  P/p򭟰*2H@-YT& TC gT$?ZznϏGCY@NPn[M3z6p pA[N5oD 'ȁ$J&ddd ,yBs96h>;.c@V:9, s~E%z`ﯙA˿{xownlT5/0L";BeХi6M.\蔵.z:e\8_mmz٫ AzigܩmZ&JvebcK 7UŗAiiew$p[ofީ7 }Lΐ 763, bԫۅ߱lGufW$,;HYYm ˞4:RLlgy.n ?ijV@TV@x43e\N-vӼqPALq?VBo Me0dRV@EHtDh_#Nieqpq-҆TU) VjoF/vbB4a$Pk5]Hh/ N]k(yu7-&gqߥér1+0iGsUxSP5ᜏ 3ȏk]K@ZDQuD& CY]w9 ->/ =W+ ϴGiw+PcUC1=V;bA΋B^z͖uxuW4 p'/ŸI8{DZ\+3o]:W-LU i!㡸R-`.I*tl.p^_'4"סyxo}:S=G('4M%o+Pnx:gS,,.K.CxjCHTUg3;!vU,Ѥ8 筞0#ow6]O;rmFeWP EiQ3u}SM[z'mpHJWU$؊$Zm(h.:-KAT),?;/^&6qF"gfz%,3-˴X0GE㚕UԽ|%AcdZΔcg|y\pxo`Ԉ0Lhi۵fϗӏ'a#*=އS:K8jp_ JRiI MB%܈Ie h. ZCBç7pClpO0 qJ]DܓOSØu)"}40ceޭCv~,G;@| MR<[=o]}[>9zyFVE&zKV# 2A }]qPe:=Г|"hYg/ns@ûuݘݱ Jc7q  x44]o`jCiD;kn:.HUЇ^cۺ7~ZrOVT 烬!P`xz)qF!ilL޿W CÙJ{"@rS._^kqRܦFBqHE~@@c*'r[ڧg_nPEy#ZZ)4@"=(Ii&ܾT)rHNzEk FDgJ(NORWQ,!<KN$cx JXdhAG=O_ݷ.Gp!$I,ԵH\Y"n֛!pXW,AZ\Օ>1x1V2h]D9yVgRg6- ŹO&&3ޣTW;уuyS&o:GjSr{39L:s[uZ3K_\ҧg,32f{wM>ȿW_+ f ll$Hؿ!zp9+ ^Q B)EJ|Ǜ'ۭ"{K 'I?q9X;wYaKҽ<t[@9$i(J{W|P aȮ>[ZZpڿ537a6Εwqw\iAg]zCkЮ3T);qVG67)8J(PݤD-7Yyl.~߄b.q%+cדJF-ZT oƒ@+CѐrR'?)Л0XG:KsVA5yGp8Wduo;_g),(&wDNC냪/r×5a(>:.c$IS`<2~ r?M4M<ֽ'N6/zyN8Yк "b:|ݥɊ.ydZ4y ;trn@Ub@*Tm7VV/Gup)ڮk l%1v TH+܅ᝦT_&d1b-cZEzrr3~*7t'.4"$݄ ™ .;*YjŘ÷aK'$*AV=^&J]nd)gV/=rf?X@~ m|h-1?y {Uc?W˿rnf#/mcm}KbU1DԞ yZ$]S$$iBy݂Uv *kFZ1nGڎ -?I>y_HBqٿ]ˏw6ģ%W*&*kCeϻ!`MQ3Wyd2fDiFS D^(H>޳HllOGDV#Uxa/¥5 ,49 +{݌9CaX@(uWʛu.c>Rw""-#TI/EBzp%Aj knwtmG+{XUM21JT@8'CJbwM:ɣF3Qx[.98SwlBycܲlA7 ^XDI:IƃzSpz@|mY`$q=n;rVʠ>"H{A$;R -zwdSaQ:H}zpZb{N7LVN3j^GCƔ F'c aٙ(=RPLt__6DCQNi3'74ڐBEH;m4MɈirM8 BR^:zC7s m+'W0!Tt$@<݅kLQ!pм'w:A 早9jA%)TD]NCx{i{^H1Ȗّ&ggg ^.9bHncQgV> ?-? R8JCu#yxZ}҃FWSC:y,xk{СaۮV{PPYq0g$T%`N_Dxyk+P.|P%E!;BT~^uH!h6mB*8rp`(* f0WQ ÷hsͱx[Y1\ӟrW{OӼTg⽢i~^/H d T8 &d~۠ħ%glej~0YVVTt6Fl_$ aγ* DǠ/.QS%ihBδXItBe~P ʖ\f,"C^#XQ{e[Ge~a4d}'Φft̀\ic\I|A3=׼5 yR5_¹%dط'w7#w|UJa+Y0LS{c"}XEBI\_%[~¯:_N`T /ňunTIijw&zIMOdx|PMB;`nK3!443lOa[HcƱP@),"wkueCpvdzd)1zut3ɿѝJR'NIupX3IxX157s>y"o2`co 7فCǕTٌ5 'jxp":J|%CH#vN=U-$t8-Ծ@1CH&^2JoVlQ =N|^qH6nud. as}itc*]>,L*)Ey|׻8 oH>wmoݎHn!i󘁋uW*k6Hzpk?dpXfh16HB^bڗtTo Q'އ T?*LXLz-4wG~g~~1!a͓=!*fJC&왧 FqDc1r4B:p9avC^D޷md{yq zRKN8+#FV~Ntb=E&rzQ-jZ}Uozs;k*hRgƏ6DNTG?K &J/S(tH{Q6>2B_V]^ ԃW$'6N0 "ák)WW8 r!DyLs|욙QGgeѦϿ806gJy2K5plIp[ I=&׌V4W 9ł?a0?1I\V5|[q/Į;EUJLw1 HsYy м¦qYXuz:e藕:_`sl9̧ M/;_w ÉS!"DFvZS3_nC"O1Wr9uVe>cIVfιvdToK=$mW3_s\9xH'Y :COZ`/]wlTwZ_kIBCAa^lTru\nz>-v8D[,yaɛKY~U t͇t"❐:2 0xr0l gHN9UTɔiz#=y;?2ʴ A0$eFNY(x >e٢[H*eĞӡxjx +dQE+a!H~ ժ}k]M)|- XsacS Q [B$tj\-{$Ut::+7NǾ_>+CWCGR)8m66S< )wB yD;5~+H s$`+ەNVfJR:;qD}ExLfyv8;+ɹ'{immtCӞ-T ]'0o-ZkKut &I3{sYVy ;6$*KuP`s$!FKB'#G iG.=X5#Q~m+r_UJsT@-: ka*FXP4VҜ/mJudhIJG:TL.q{%X7"V ׭Y';$C(kTjRu\1EL3sKyGe 55 ĐtS`*u~ÃŁdGG)*1?ık,Йs#G-FՏ-r`뿩1&6mcCzu+ٺ] 0:'x(>>;jTAȇE!ë( J($QqaK`q^צc: CN AWJm@>SeǮz*ܟ &aaII` e|SF^_-[a_j̈́(7 फf֒_`mpuʛ0P`VFr%!J<(0Qd\uIlmɿoF31E27!D!!.FE2 "]Rڶv[n|3mZkI[mSü aHAޒODΓw2[8xa.pzC>cpݿ#u" ~o*d Ww0ʥlI>Iiq(Q"s62o/w*R 84:`Xi$9CU:y*u7vZa߇B>p { 76F9-Zp#&KiՖdQG שSu\;M^Lm|{`4$Di#G\"IhzHj??I΍<4k lZE){5ZԁS_SIQ k:ج#8y\]]"R&"7*!uݧ3/s45+2eHkseP92i gdzooB޵aA${Q^DJl&f DC,r=] 7oq+Ζ6WNMoo=QR9NT!mAZ|O0z-~&o@4?Xۆ[.Ns7=PH ;Mݠ-d"7cu|Ψh4_O2$g7]S^OЮսfE&x:ܘC}G iHϕ]f ɓ7gUDa;kU#^O/9ؒq9S06EOM:6o>urYz>&(x1 WC&lpOl_c=m%l 9 *A,)%ݛo[PzG g0L-8CNX -aeޭPy]ZU3ސ&ygH9f ֭lM-(:Јu,Y͖Oq9Wput=Yl*+4,s{2AHY怡tM%K\4RҔ5*jsq/;gm41K(қv_4 R,AK oNRpcy=A,5i@k\,.pB=rXŁ_RpTJvi,l H/刬1oRJ $ڶآO9HQQB#|0[T?G?ۤ*866g| NXrBwdn[z© ^ {z k )Kjݳf2#+ .njZDS%h*q\7TS]}ZuPzǡRFd)QOF"VHmJ\;p9{(R0g(E2B(YF6}|s@͘vRY0џ9gd),ĂH^Of2 .݃wFN֣7Jxv6D;#]%8x1_M~_:&Lj/JrT;~%eb\]O_&S_xLJ[}.(3I},xF닩nU9u\"ܙqWϞ_.xY/t&qZk!*hϝH.]Q8pawkI Vkc~Mm\=_YWnI,݈^!=ײI@g[tLomT̼9Ox!KˆSAh~5_}'Of=FohV W#/e:Vkd~oi0C!U.n18v;@/.MJ?Fm@־LN>99]?bf̖֟yS؞5ڸxp v=YfR$ML-r5^\M_bK4)";) ?'|?CaT@Pz֠n?ab[g)WmoE p;|UӂB6WZ?.v8z20|nJqQykW,JI|OTֻJ?CpqEdL#MZJ|c v]2i.?FE>-QeG1jEQTN.3o uW+372rSE1YQ|Q v0V'rψ`ƿʡZh s:3Z.2rWEՏC^[sWl[1\a6-7,*^{nʅ"1/p{}{\S-DZ+yf[f&WM4NbsZ[]JǏ"r7DD֌g&)^IkHs֮nP8wh{\E"v\6٫EJE$;|wYZK ZLJSV+wo>@IҢmиXiӋل,;yAz<-mahV`]q~^&4>&hT`.lX?ӕ~X?c,OW?-=6A|wժc 09!!ozHG+]8rB1@ZOŴTb VּREMb(uTPq)i(RIce%"=/%s%l Z l4:KFy{G maxJEYcc:]N 97!|֍qHvgeU^TbO$4]6zzAƸTwΘ f)WWu]4,BtxN3NWX]NΖn@mIϰMOl'!ym'!vAJV  6Qfs={'A6Q ) "uǦȇ1rA@`bN/Apzq%)~`V*)ke}0#%ղ זhK C™ FfA,B/+&>nb@Huh[/Yx@qj[ A/Bb96CBd ,FɠVO޶wx(6yKyk6rxmT:w 3gL|$vTg(l@283v=qx 8\ΚKbplxL0U)oɚ]ݪErO4M<_-^ dd).¹܃p@)*߀"Sennmʎюɏx|m<Үgɏx|mT}8UnSۧqqqqVƕmvnRU , b'H'o])Oa/D&>[k6[?d&q"BbE KVwXe񦮐KS%<{1\6M6\m ֣mXPָ&Jߙ%I7xvi.G?ҍ&[b'Ghİ Q!Ln@th]W 0/Bf4`zqfc&w~ R;Q!uNǕwaRaq#SJ˥^G hTB 2bD}Wn Kc)|Ȣ)vF.ׁ;} %b2/CJm?YR1&lɭ"OqG}DWG櫂呲6yKt@NTJ_TVOXK:Y}+mF5ԯ/z1." !*0ȁ ۄ y‰FYkҀɮ+R$$>mH%ҝްp|t(RXjF|nBmpl~OFc E:GW%'Y@? ~g'DS.Tޟ4C&4O?r$y\<ىm5KI_H3㝈pqxgsҀdihg''~>h3?R VD#=A`,Nl<'96mIOq GZsKْ#)"3(.d =pհ[Cy . L|a_ 3,lhAww3 .f2wb3W „ Ys={'tۅK2`SgU;S#da:y%(H+fzqj•w\U.lt=L,3XSuvq`ТC3@Os&v?P7sn^޿7q Vk5oOJc.Z֧d,zIw\oS(R Bf})݅ 8I\61Q&l2*^ YJmQ%ůӓ8<+Vr~$Q3B. 0Dk3&x=c Sd2^'[4O$"\&fV_ LlNq yn {UܡwG:v~ɆHzׇ]c-'8ޚ+ Lm%n"4Y(kXAМH}k[=[xVF$w:,j vME]CE< 7;Wd^M/' B^])I;Ә5mqCJj7C]PYU%)ƼCnðנl.#n7eWL#ĸCz#~6:J@s~n)~GP~l շȽ[({lsbCDqRJՠk8ȉؾoI5_Z°>;i._kv|ŒSKOHnwYwj+Mڗfև[Tnyn36-*gkCTyb5ZUGKĒ(/Mi\i al OO͖UVOAmG&Me;#\Ep_`?77x6@Efi@q[滋3zլ .^UA TNo^7FPҧ^6ѽNWaE%Rqa@Տn;+^C宷7Yh&{Zv7=T\}MZ@U\ٸu 9!+ z=Vp$JI5M[ungna`=LN>2ag<\% ,?94h'LgF4bU҆fs="V2#5+M' =Brg >ܣ?zށ-$R#dG~|l5} xdӫ_?'D׈V/0;zOxlq;]lu'#}n`rv+]ns_x[PlB""pㆢNXYmPV)_zK)bɛb.Up .~%.y5bl2N0K}Jհ=ycfuVӑ&,tĻç_8|8h؃qO2eo><%#&"s !X}4WW}R(R2܊"hpreϏDM %4e:󼐿m<5GYk?-շ]^6+9tW_7Hfޠk Yى;_'Y6E ;-('ƥZp 0Ӝr^K,-MS /vjNF8lII)JJZ%ErR[qPau̘IĴI7/1.|Ɲl>{yp!#SUTɷ͡C;Xq>mx# OgScJq*#);Q3XfQw׸%Hv|* \$]YX eY mY9~]2 w#%FìDӔ&.#w6@8[c$xKv2 y6'o\õcC?ڵJcf`׷i".p~O(wH훌wHG.8v6tA;)\7r '^:I|bnK=IQ+ĽQ;9q͠:Nv_7PP~S`q{ti 6 }^#u< ӹW7@d}ͫ m>U8R_+x׈C hk/t:ٻɬGeZ"/iGZ'AB%GZV ])M֟d5'\m]ӷ"q8zvn!Y HKǩ%6>XʾՒEW1'8}6xiFYWhr &KZO14T l|F$["¡"f5p,'/EHzVeGU9bКlvQ`XS[1n5#o[YY|3l"\iW> g1IL.d\S<`rF.[:©ڪY[: D[DjS"ΒEHARyyK8+bW6,BOH ߒUuٓԂ}. gr/ !m#s~״sժ%ZN.i^QLJXUOTyʌyJ!IVPZ={<- I-ϳ>;^DHd2d?䉇p+0'B=l{̧m}QQ׊GXcpp+[}|Jʱ4\|f*`$~̏Rp^-]Xb6IfI;V6Ԛ5zl 0A1aEi-C`cD@ .v$0r匆 Βtt)I(EMh$Kw^H6#-iF۽׸n\FElq͔o54zWï5շUU{K;)o@HS Kb}9 "0D> * UD ?w@MTaP7\4KP2I,}{rO58("_SQ}jٽn{`X6 涁on PmC5ܱFA|܇ Q\gRwYn S*.?.WĈLxlt"sWyAO>"uh.xƓ]CnVA&M#oc‡s1rh69W&ky:faðb0;]!fI=ږbC"vMRdHJ“g]"Jp]#\b ",I,!aAtqC_"wD/4&(JnC39+5m#w YgaF8/f}<9b=b֎?bRkdurb%+h- T?S]xǥ)YQ>fh8XOrV5J@Xdax!8eqk"n:eFX(okiwQuhz "r|Uzho#/DE } Z.Vf C>ul{&Pkl[2-ؼf[Uw PGHv\:\2EX]JF<_3z~#J~e2$jR}dhzM|!/ֆ1#\!Dxb$H0#nIX@ "څU UfQ: ߓhfi042Qwc=_ a͝+۳j25!{=ӊ8ؙ6 _P\Ɠ_y1M? =6@GŊrNT˰c7jz;0GK1ɎQd2`F{RZ\G9fQ. _eaQ^e<"Z#7"Nǂf&?Jq_Gk e=fwq#e+(^K;_B4, cDiG[O]֡t cݒQj lb,*2D+k O6!v; gQ OvWd\PQ?Wi##F"}`f A?l WGC˞a[f"Oڠ=Yۗd'!IԅeI xu;3%K7/  -QX,N5#gcο0eW"r̕,w+Pr/ -^/jՊ7:;µpo[ݦ/J"4%.' vWYb+#{VOKuN^[XU _~)W2v,}rF>]Krp3љ\m{X9w:$?uJ _ɊBN< ͍ 3_.G*iH.׵6Bl7e2f(,( qr7*zyEtSӬdq BSh}(QR (ّ$͟M^)wN3bv=@kגtau:w){U9\vMQǚ}tBj҃N&m#ez@*=p[4spVZD>4Dy=mnm)7ʳ |PR y/0PIw:D7MVL=a8zߴ 6HBP{şy*E_|‘F>'oުdwG[ZGmX3sb[Vn+a鎼jtǥ23L0iR!FٝG:zߜ%T}Lyg*YHVe <YK1X[ ;]jgskAw0Wҁ}%ⲮnZMUHW /դ)&:E~Y\6 tee4[N֋m׋|ZO~/G7 ًQ-'iy,ֈfs,:/u㦒-~z񔡌3v `w-;٥}馒weJ]ps-S%G z yg+&I!awq9JPnG/?֣l='e١ Qm.h5YϦ_0D%-aM7kKڰzw Oh@a:BNPA yD{A^NVaxӇщyH>>Xp@|r'6 Lþ,7NMLSTNޔe,ΰ8,cad K\Wr4k،$ߪA>yCuƀ >Iům q%")`ssu=hrJ= N&MtK'xK.w„`)\o|"a~ɀg61WS̎]"Ii k9Y>>Q?u^fBd'"z11, IRd`ъ.ғLSRCH'ˍ.mR,Y#"D3g(q ~0~T[ .>O89/dhSܖpx%};語e̶Fv& yF\D;dak<;QwCUNR#4)=w;xFn- 4稷{E)iuޗҚ#alT>,BXR13NpX r!I1T}Bt)U"ݬՇ%F2#f5lY_7h1,Cj8,9|9\qaC[ۮߠBcZgKӻF9\A+ɕZl*S]UCe{51'a 5. kO_AVaIG:5yORmVyV<1XPPGQWx8?X{4*W` Ot8ycfrS}ʶů\#^"y]%H!Y!`] #@1Ud NJ qnW[A1UR$5#zA3|W1K98A!`ۉ5kR-MVKj& !T"a |" G* 2R!H9tm8y /B0|CbԐͮ+.\>aIY|fz ]% $;}sp@n8凫%8x*n@?S;Lh\rTf3pӎhjS89;<`Gj9'jDX݋+DC@;#*D}>!WھQrs:TW[s!uG93-~:Lnڌ 3HZoѦ,'mR3 #\lWUHL/GWNzx(`6{/_ͥHVɥK+<}mWs 2gu &t# 3l\GWWy̐,Tl׶$}' [\:oHt]oY#՗43t9+VvٷίwXnf`dexLl2,e^O +9@ `!. M:CKqaCm%bR.{[E;EQikc'yw+6,*f/T$sJ*WS Œ6Ԧp%-)̸]f'#$Aonpx1~?ڤ: 3Fh?x4.5]nh25.;e)ՔAXEMlV}ȂM7-ֿ){u~$kYВп!^hn?`^dV8FwC!ggqN&=8qgB66ýS`DJiwh;U% Xy 2y#*RWBwڌ//򮣕>|t9oZR1XOqI-c4030{Tk="27h ԿkxIM\ڪ%$ xF`XӅ&W֯5^.DdPi)̢5”+w$gg \ /)^8P'uƛp[Z/:6E,6r<\R5X΅:6PvTUSnIΪ@)BF3a5rláGIJ _1'߮3+{(| 1u@PԁD .bf$o#Cz)S` ̿d2ue[P\:gUXs޼}#~qDQcCII[sWhTEj#V^"K9;VVܜD]qxx!u߱ULFR\&{x@1.{8M;%.gcIsy:9mb ,_uM; K{ߨs_(L5I^ c_N<"ǘ,'йsHas)L p"2**PQ \ÓKu'a}07rM2iqWqJ~ _AמnTxY2 nsUspgG.]gWV0Łk"7rwk~]k_Z*ݕw v <sZb>+p)"Ho1'QMGkBr5:ƍdc*/׏ݬ4YgZYl ͜| D39$\ϋKøw [ /S↤]H[в\KaD)viɴ:˵#!L`*7c|KazfZ} 5y(l.tl}+ =Qڀ;„>\L? ?a˝QJ1+`V$Ŕ hI@ ExeƿTvJ] !}J" [ ~,p$F6]R%kzus5Y@ZG 'MΌNaM(qJ8a! ~/"[|Մ71H tϺkHL׏%uwu(g{RÌ~#qh/Un;m|h}~_}n ==ϩ5eɰf]J&ђӿw Բksf31,Y@cpBzؗ A%(. 1ieCHz9N&;'aI!q)3,x~uXM+-iG%ȓů= Ro7jjGMae^|(t7KE<~fYD)'@?ih#;Z"T7V~0bu:^o.?Ou[jᏊRM.$%>)a!6cKӴnɚutudjnh^ݫ|+j!{OA)e7 d wlH '>72;ν>/t.Qj<5qp2Фf I'c@ yJ/az 6>ʋD5po.8dDU86Ȩ^N~ 3p"WH[QU^^rQ-эR&#c ЋtB=LAy` |lVE GVޜē jN9 /1`vTJCkK*#iO^^A׃O:8@ؗT-.%J|c v-!qlIVi...GL_ncp*ס 0J<&O"H6'5W,I`޿nwMnnlC( @AD >8Oe$ty&})7L~Y%[voA"Ajo}`ɯi-8pfC;hߚ; tLFpGg!itX&a+3~?dn'̆%&Z` , OØr & ]s$0f图1CGSx&~yVyh49(ޒ\+FBP {[r6 9.Xwςnd"bm`UO]ņx;ud04-'P=2[+d\RYW|-kB vl!ۅ"!u> H (g 5QKT[+YQa?R-ž f4dnym R[j(^.6i9dLwWZ^T蓗prJqs9OӘ4>5[6@-&Nf-UztN4y-yBʊα E ?.7Kн_Lf4my΋߮ ~Βط'O7+z:}W7ƾjB R_t~AuX/'c÷3܉.{u[wy,#TUO$i9P#ʀ NF{˶dOv%M#)u+1m5DX=p#& e{z3= jwW`{]ŏý óCHؘmK8z %^.(5-3"x+C@]Ly=v/$ӊKq)+˕0DNS v8%kΆS4^e*] uUZ{ /m9lwZTÅL\#؈R4 ʓZ8He+Ab=bבraȁʱeC9GpyOHr/Lgpxۘk]PlN6<<0XV۳K(?Dq?~ xэOuddU1=7+A\ T[ViA%GXo(_ೈ7TT! R]Dw/? STMQmޮS{ =*jyM GSS:ʫć>SIV̻r DܣWXHS|Ʀ!Kmxr6,5W/h,^h T~ ̗Ram B⁉m\8SBZ6*p±?RP Vzw@k`Hup%`˃$ oU ٢Ez#Ի!p/~'+\*Sp!w> cԋO3aa\Lxn \ŔkiImR&.`%r ).ʕzv{hE& 5Rj]ֵٚrz]-5HFiy|);&W7mnq޷ӕ^3+qroۖRAK2EHKJ,L8 ֳ̗ WClNraQ6: \‹EkRk6}J1Ze_㥙aȋ_f7# jvncd}-mb:?vVD2^>^͟3WaZ"bkVۤy)B#4%Nk8kboZHFx-5WIY'Z|&}fR4𖆆tK  [rI c,(\$T};[=y$b-a~J(Oaç<̂9fF8@#3`פKZ|v{@۰&%}1ug7g32og 3L˿Ojqf]P}1b*Tה V)tժ!ۢB{|&3VG0sػyTiGIidBx eMí)cŜG] %;|L7 CLz'nY0CΩɬ%HrhQIrk8i){E&cZNU g}XG* KsZ=#m qP/'mn^׫h_Jz!TC\,Q4&>'2u6wstzIeb$7TDV#8^{B! yw$.bF`62&Ipbjs-TjR@J`íe'VVOc9q-$T1JN7hd{ =+4l)8yȽ nwLMt,Ě9wYw֣|vmR($)/#$.[ь,hNΣ}8%bUy!m(w>ȽWx~&j_ȔgG?B=McA%is E64\KSI}HNpttLVi juCkˏ-W]ᙵy&!ZN̉{&o#ziEI?DE[[jDh4^~Z| KMo>#D-׈ҀXLUtw̗J ͯ~]TEGqONtJWhBrԥqApQ J q_` =y*K\iAf>ڕ5ɖ/:c h7ަ5;7~с Ϫ<UE*g=ӢNpqd *tǍt,v&UZܿt> ï/Fg"<9 -Eߢ*7at1 ȌE|-q0 f0Kk*ಢʼnP"Zpp+J;G&أhe/P#PdLP/K{sd!q R&ak|1.vFqMvޫӛbɪ]IוNN,CԄO|U{[U[Ah+kBM!ZЛSQ%ڻ8?WvEYݵBMʤSk{U0Zq-yZ/ * ·Т`UZ$DŽ8*%qW`(pPv!-78̑ eJ!p%Hf."H6Cu0'sbGxth"Kq[Ƃ@,jokZ:5dJ,<:nÄST.Q6x%'WWdGj3HXAY9cw;0S f+= Kx8efmf1fu5erfY6͡=W7́\xG߼/'~^O~WKe P!wYmsA@AoM^Z%M-Pnca;=M ~8GiR] Z tvH7y+|%,Y'^,= ;rJWx. /1:.fz^(ܤ1mDXA'͒*J"Qgw@}(A_Y;m\N7WO.ZMي|$'QHϻ6?XlXրjGM%>9y?b!8}&vo8)"\8t?s}IGG9g#>ձ0QJCBEgSN|> TH;g=Ĩ!@0]cWVo=^;Ⰻ8.'εzkn..ہ=rͅpԓcA$Rٲ_J8&uEs7:G dі2@l9R'h+e{ YY}}3R ݳp"a8% P%`]q }`e_w*|qD[4JK@I9ѵt,ZSc|>b4QSOЦ(IRr TI.{!BwW{fZ-vc(4{vw'!X^euk1VQ(Q^:2hVTVT -xM*U%$#9X&ɰ(Qy-zvZ BM%TSP A/ #*-ȡ *kJd+VNVVǺC9cE$bR7S ZˆӶK#PQ[k` -`IsӴgú˩-P`b9G+|W '*P Ρ6WM(V^hu:άw )* 904dm uۃorȇ7w:X P,8Iu)ɀds5O -\K0AWt|__`kV&E՚脨2 \Y r)"w]Ua`zBWָ |$6BzG9Z:n!"b؀74z(َS% (icTːVP)QEkN SLE閒{[cU?˅Ja_! @˽9!H؋/auw1ҕqd&lafQ-@t7xmm#=<+R@@M$YЊw* xw{61${NG>CR]CLA+{߽]H+$+KijTurf4Sm`GjcZ4@GP鮲Z*~\`u+yݯʒ uZ2Ze7o\6-<~(uv[dǭIG⻭SG$H\xol]#HrȚuf~48ܢi%/PaKRĵ|sdj^jGmW꩗+K5[eurs#XҼn3K8Fx ʖ%wkÑH` \')h]Z-PEYO$̳vZԃ2yIsի.:uA,vzi[<I765?Q#<:IrIZc!Rsy[In)9Q8/%w GVt{$.y[?#r`^ut.V,@`.52SskkQRs}"X [ (M^c P Fuoǘ`E\BbFFEJ`f$uͅM%ʅe#"} N$9:8#fA1'yTK$6w9X/jR2h܍?(/(O260c(\ t= xpk~mפx@]}jm`Lai//RaèxKA n_e!iB11eUyZ9>wYü-K e^卼H ,0h]=T(Nyk48B522J%d4S-`Ulwk*sWH )H-ɕ:,0X60A!$<gz0'mRE J1x MCYFlJ ){1G6(ϸ2`(#tPw赗mM&dcJVDF1A[#ozq l,LҠ((X)5ҾQ,fHEW<bQz%. ih;zc 6k0cN wJZ)/H xɃ$o[i C=AjR5*S I*}RUHA~&Z- ldSv-څe->RC@F{J^Jֵb48dH(j5ƒRQ5f1s2X ٠_"4 QՏ ,`F:,F7Ejj*DL(ц.V h8fA|~b$vNn'BQyqI%Z8JR8Ktc7Ҩ{J:?: 3p_A5>XUCj۴d^Yc5ihj73 %jpl&iUTdCb FiwzL䑊PFdNIڌth C:6tTGnKGPEG:m:N `fWkɒU4ԎʩnF[LDg .:[--름eҿ'LJ(j )m (I>/,ktHc0#ӠӉdBeFQiΉ>^vuSlvmS*pfQfYcsew=B-ne~h{v %#d †;Q4,B-)Ĉ*XKxj{zY`uϦގZ*Fs!Il.zp`NeӶ86'z ե@oUYv 8>\s&Ȏ^ZpRmZ3QJ-UtW-"%jlërhn4>{#wmQoh\mJmfOʓ;pT+j^ Q(jɁ0Y^[L,6K\X؁y>NxpWTQ]"L~5uNWS0wֳӝ|ۙ^WBV0RuJII.8cAI|''p%6'AMF:~&nGdoS+))Fgz "6R"q)SȉV$t;prRz~ϏiG'i D%^s|rb({0$Fcszk.YJ;ʑ0lYo&ʐ\_~lIm|1 vtt\)֋* }{&{i>1d0U`KcפjXBI!d44(m?6>{)qq;i[- |SۢĻ)<2Fu 8i袆=~? mxiBOE =ʱ֙q@RyD<9%@7x婓F/ !R΁5Z|EA_!HQY)I0Ł \'`U/қ.P8oN쏶$K~p O"/"O<JAp#h}[J*I骡"JaKRG ś+Ge9!O v2:9;TlRU&yaX2,n `7԰-ȵ77]d N =#u+?Kw6Q[Scv}j@E ,٧Βeh&R?ίW/'~o(M\BM J8ٓaJ.X)|9yjƳyٹT@yT, oݏVml$ $߈Vl6k2BFŧw47ߘ ̻AIr@%euert"~3ðcR|RVs!ݒD!82Rt=jEhk#D88`&6 ':o]Э ZXX.Ʒ+w6P@Ynp񖯘Ԛ9qA\ VCiit!QZ,a賫 A~w#8迟|cq׾c;AKwWZF49]KS@S9X}fN35}\,&io[^$S`Lӆnx#ڊDs܂ xe64+aR P`IHum g>!{"!4 \׷B#&_߲ɞh><#ճt N{8Mqפ(b|:[k== BrP(0р"6%$ %Z~j]e sf֫vQ\FMWxu݄䴧ב~ԗy'6cqԓe5&hU1,߈)g/av.mr|/'/B/*pv>H^>ݘlgH"nj4K\huMJӰ,Ne7T^%6w"$v.K5`޳=hI`-v`~LB,R8)L3dHle hS° !ӎf X뤤&bCu$e~Ѧ*vĕeV/i95B#̋?kp2'{dyVLYp~* Py!A^q> )\nm}"',Vҷ(7h8EwZ ()Ƴf`ii!3J aw~m7zڕ ޭnFnTxčޭvj^ K1FޛEcL .aMoo{v݆6n0S y KX"Ϡ ]mF8_n,fa,e¸vylx̉`f JFrVHPARzPX`їO3ôv5KYmrA2gQ+d4'˿)y̳?<Q,C%^dŠhNi=˘s$!sp$t-}1=eRVe7bq +VLbqr7|  58?(>Pl7'6P g-G@%eBjh+21Nգ)Uz c5ɡ@_Dhz} #@Yy)\鴔n)zvj ["jg}{>.Z.OD{s6JbP5;֤x:˲%YC5n9n@kbm(-s͖%OhefG KC:m7p*]pA$jD3j[;B X٧#AOɈ -MFuƓZmz%:Ts%Y4QHxlENhʫRK^sy07mh$ӿ _>rp9O~ Js/)d!qԣ)ն-}ToS:Iu)Am[/~#1AyWv]@.2z>xů򓵓 @Sc1*ȹ3.ЫYY'Žy{[B![VeiBP].`v llZR5"J^!/9Ҹ_ܻ,\ u? 3?:=.~i; zHO!z&( blf./e[^N[8Z]2e:`TQ쯣X=%e)L,7jPaTW[!} hB*ymrQEDŧD AXmAR l+f*HztW0W, iOiTm͚򰇎`(׫۳? _ϦOA!nzh8uqu7=`4< m%cb{^1B0 ‘gX8v)6^&`Jxj x%, ]ήgA]^1JЂQ=fwl\_bRB8|-Crz3Iˋ<,oW`|f`H0;aN{haѣ5eB[͒t=P;vU&ZNEyׁ^pǟ sXPROhsleNPn`z Uu~pDз+ W߰|h<>v,V]ZPaHǟ:Zth)慹*l egu & 5Gj ھT~oNG(RIJJUcGԮtU݊ˏxI"6A̪~iTn@}'!-Kö8W_I&&ݗr'ΐ ve ʓ TE U<:]5}i%I==*jM cS^$x"vb9 X̉ޘ]!o9({eiY 1aﳻSS:BC4~"Ůiv{:>؇4NJt=,qﭜ,;'?XuW'W?% (S[6-Zl /u&a0>4 cOƨgË|ѸeydZϜ>`tuqVԆvkw~gC:"Z|[ȴ{C5VElS0;t 1=TcH{ V_dl+_4fJ)OX.t&7~Ea FshC8ډaЏֹ U I(tNqY#-X}twb:vc~D>qq=H9ʹkV;0kF}2ǼY0Mhƫqsrur^#%_}e-]';4.Nw4+wQaʺnw0Шa A+Q΃%^+f;5;<;=Wj'#!!Ϟ^!غ9dA=5ޠr!5!czYgi͛D{H4^`ex0 iލVcĎ[˶hD}pV4atj^P#`md\we$ePu" $0Èp'3gq\'XyzD*~DmbqVTܟ&IqE)0vv7NOϗӋh:,CH曆p#@/clyuԘHQ,χ2L񑱑WGZ'/ 7XR(`CB=uj7GطG~axwn{߇FCn]/"J;Ԙ$A2Ɇػ:,8ia7.cˬ'NjIʆkvdlmg${f[lIz<;ŏV<¾+6H;H ,%mIlx8+]'[qdݸy~Y`]0ɳ`e-15!quiJ w;M剘=EpIL$.\vU3TX)4\J*ך~B|.n?6 kK/UeFt. L"tt|JAK*]Jlݧ0`Hɓ!4Q> &(, 7/M[O C$5ᑸLٱCF(O^$^(,3qc>PU7T oU.L: T4c}BwI埕ğ { Ę .O__%#˧xQAhYL'O5\Vr zz}ھx}L^@`"{q%ͫ)g /q_ƂʨE"O_7zVgar { *Ha-vOqolaFZP k4̜+~0A4;[kQ[,7]'ffq;UE; =#uz'_HNtu{9AFc${203k|"_鯩X-0JZ7էǠoR>U<">.AGiցp:ŘU|g l z>IzqK1\V vk^/ MX%%4t1}hlׯ* WUZiwc|wzqL]=T+iTHC g6B +990i⒱('ADy+Am03:a<86J‡{almTFM bvY[XsWI. Ix[/UccqZfݠ_?6}!E *=RHٮlca6\0mv<VЀ4٫3yQK8Se IJ}MJم֔9N9j9Rk{ɦJ2)zJϱ ϱ>y z_N[8:PkN6.Ev> TN5q,[U?]l i-5Pۈ(m=dF(I% ա&wZhA LTyaaxI?Ӌb-_^^>]vJbkRoek=JzU&nhXjg.R6 c!KUJ!$ɌBʚn@qo|'s^9"4*ɒԨ[>эu L_c|O9@/8NT"'s5B#j5B"($@11ѕ g^j+EC@8D*FlP'Fx5֑e @ †.,mfGvaM,/1̝S'{ƼMIGV/Xve*댊:.wilE- ky?&:}`CR A,0%hdFÂyc\)M?]>&a؈noԞjLU֎f!+f 7D-G"2$/aCm>KWcK>~\+ | }ۣۢB=&`NbL-^uծsDj||4/E cza1ig_>METZtN~/1%xVMuӹE^I 4!K& 9>_K|,YՌ87EáhήTY(B\]0 F\HX|uSVM?0_$]- v:74ɞt飕ua.2@ j<~FqU]PpHG`uN=Xݽ8`û5"ZKō SޅUQVdwaWK8H b1`IBb c53ŚLxc  !l2|]q)jCśn.[UnIђ_,LSv1OB5 G zOucJ6,˯C,r1ןZ?N'Qg+WFL4op)Vw=A (qjcA4 ꀄɍFԌ$7f>E&953V9!]elÞqsd)Lxuw1/-'e`oI&/F $Ld͎)iHD"3TŌExPQz˾aŁbz Bky1i4KVi7aH|hOj,'Y(ؕ,q;]Ҡx?"-S5Qxv`-@ 8<4MGU8@)~'~:,M6d7v{s9ݺa |8 WݓI} 27w0[rBl!ZYKL[2Q6tƎI`7JP0ӎ|N7Nn1g׷g7BkXn귚'6,HBѣ\ANLӈК]LϯժdߺX(@r3QI,E/RM4;Z$`mJS,P"A cm)cE4tKFޒ:' A;HRӿN -Sez kJ dn Ϩ;E0S0 [6ԹYmҭFo!~xc#OQxi齬[]0º(2[EumEr 0IzTbNb(91)34CY.]LI+:@ =<^`s;X(E-I^t2ra>Gpfww'Gq]02(ڨ,hTu$`*WY_TA.npۂ*̔6WOB4C*&zvZF %ÍWw& ~*Mےh88R*1KVbRHR>bK/M&{-FŇ럀k "AU;Jd[Y]{) ɲl:"v@ :3 α }Wd-Zb(I#0_37fJ7PRߙyqg֙ޙqee2gFeDjnv7̒߮XzUl0;Tʫ "y%پ,f'TO2+x?{r>ygF|3SDޙA>|2;t.Uav^Mqޡ~εrX[k -'2ם֠8@Q",n.᧾wwtЗw(<< C?< /FӐ}[H_QH.B:xwG7ut, b9: dS/ҋCco֯:w(򟉀4r,pXOm6^=Ivx$t,+ )h0BgUz4>'[רv e[|+bIv'U4ÄTP(h9DD ,qZ’X?R &KjϸL~a3 y31GM@ŗ93*d͍%fr>@YW`Zje,McyprXsW,y?҈ bAF6vBY{ <:}vcñYm-ˆd="EZMsbrVz{4­?>OH{$r#sK:h?"vS7r @T׹8J~%n Kڹ9O8}$R譭uf+=ukPxփ7"Q,%Fme3N[Si,پxYbT%ͮ#Tv&pXjRE,Jw2^JcBF `^'aiv`< :9Q:`<:!n/-KM3 yhMLh⁅aYKӌ,ϧR'%GAhmp Cj'LpK-9(O:+pYlȼ2.&Q>[|SmrnÛ=jkT;4*bUd{# 1i+-' S^7-X[QqʜPԮVF%Ym~.gw7giKohz˸“&۫Ԓ&{JzW,‡%Nzbip=!e%HncMZhH2 brXL -!#(짗kZ? ~<9;I=qJ~1BOx1?AŎXZsX \K ) tK./I$SC􇉁im5>qq%adEXU&K|z*I;܎8ej:$<̈h)@а707ɶ޾^l izomSz]`AINΟS;'XUY/Gz5E͂#! '$j87Oә[R<%97ӻXРTCϮdBOST eG@Se Ec#5>#`/v-+Xl*Cl:8iRfM)"y. ;Nu(]Oh }9W=^-T#+>!e kSSEcUzes *fuZRNy~ݶ5 I:?;t )a컋F!OԲRn={k偀&EWIӼ+jNCb a/%%h0Q 9Kb>=w7+C YJ̙|(;:˶OY1+4HcKR<<Q|QR6TT~7ibRwҵ22|ݥ9F\k'{4E-iH3+R%n9CW VS$$!W1ɞ-BArhH4hʰ=hjG@@^CRO *##Hv&$q16܆O>~hf ;WysNW|MG(ֽd[pH={\x{%<0R1;]voUۿGk)Cw8)Y"ocU=P~ s[ ?>QNx d{G:׳pڰE;5#(~Q ZIR G  2uR'csY%@ u҄/<;h@M6iyR gCƎT !:BCnd26-KKYGȋc˷9eph#:pa"bfQkbHߣYp } 1qanVhp_rv'\)C"pn/Him)iС@륊K,DU؜A_f*y,2 H=Se 1S\4s>>JgB4 TnF%%aKSt(Ȋ@&X])9+݆B3_QtR|50db<4~j9'z.T٩mh%JPޒeV84A9n]w}]\gkuJ|7$>N'e"U4NC5<'^W+g~0=j+`َ=gWKcA名$E.TAd n9* #(vTZP퓶E.f}i(WgN+_?m1m^u ;x2ڎ ܻ9\U f ]faZsGDfʔoʜGfHGDEIn;fkۡ𐽖DE G׉8Cc}ohJUZ.w]$U!QU [cZ)>9h8+ihblo(#hi'aJk~\b|D^jC =ntx ?oetyvB\)b0ӝ,a_}[=R iCr6%GAcb3TN‘M,U@C(m"]I7>j.\6t 1Gd>7M#FmΒpAɜ'p8 6!ANS-X ٕ7I%@}Na,COu zraC Nc%jXYLf-,΃~v}6ޚ1}p&/|4EtD;|oiI2 6Wk}]qS)&`7;Lu[h]̛XsD Dm v'w)B|汧rzToV.b{h[%h='9kN4͟[ Y'ͮ 桤w}n׭93ddISfE!q|@˾!䳕=y{u,h=*?,Ys d찫xC⋇.N芞RՃ$(O=T<dpI`28hNXRda1hV(d!Stw[57XkugIamV@P!yw/ mYz¢[EśWpnXk|@8}՚29.:(7G-%-[9zG1`,ɚ܂Aoɀow_e[~VS/"BB_xH!,|$[_;Ywaddqf8#i OE}J*dL몑:!ONʶ>e^WY?&KQ=d@-/SWONi=OۄMbۆEYd}/Qp@ddlV{֍,=k sMxgsLbGdͭ0D儾W#T ] t>d,0<?d2]52bn2bkcILC^?/'̈C֔BVN5*hX].yRn_O= )\ )KsZEzAkx2kB]{ 'c6 ^;æ8GhIƃ;p ڲHcN|>1n8zN*ܒX_4BR &H$62į :mF,a&3io2H8xcT*mdȯ+իb¸l=/Oea8i zi"~wWh\r'A?Ë4ZkM 7 1"_c2?L|#4e% ^c!\!AS|uBF>cF F]͢/ws0RB~7;.2$ @4$&xY/|dXҢJ7r!h<%*tgglKPYe6> ʟ8OrM ;mi $~nLx_J%(Tx2@SpWݝç+]Ej|`LAz`v6U+A#ST8kGzI0jv\Oi9 泩EaMWM %ƒ 44F!%ЩvO֯oR^5(1aNJ"Q1hYPoVDOnO(RN-#rъ. !}yy\ぇZPlCgE 'u4;{5AI)}Re<6_3L[]v+xeo4T0v]'߅q"qi)eUJ;AZƍ(#ٽV>%# %1&KËہAC ]iRG.ZT:fS.T@?)'T"_*65hڪjt֖P5Yau,/CU'˵,f[CHg\:=Q&a&hRܤXtnr!NCIz(ڑ$QF}-S] .l-^ mʹ7s.CdȜyodqm6#Mo$3HfX  4X26%؛'_)*4p`A!!A& 2WoﮱQp@|CUe-QΊW:-HU;ekU ͱa5,ڼAxbC 03dljEG˖$FŢ>Xb:K"bp4]=B:#Bӆl ~Q( 0 i`2ڿ)Ȟ/hyn" Cx 7}LJIیcȢ,-^Ї zs˕ɑ::qo>b~L~8zvB~R- ԾK&y 9 -Gfq#%cGW۶5W(֡E`$>a/@!m9Θ6|ѺLg&`id&:jv Vܵr%-d۳_2pk{K$&+ⰻ>w`S eI8qQ:r &c tHH&5&iVnozHO <TVqadoN6ÒMIYPn\n&7Ssrb ښ.w@Ŋ(gJt-Z0re{NߋULbAy3x㔻X$OQ.{0Z=@Pm;Z[3Ud%=uckf ѓ&nGҬ%@mr4xg rW5*;]UuOw7P^5*|ưnD!'>qpvvwCTZPNraURD -ш Wf-]5ډqr̯O)A_`MJ_bwLv &)Յ8}}jLJhVVc2]h#+gtFqX)ErSǝ?kh ;<\L聯a&A.-"8퀫.y=՞NPrݔƫ$VoR% {̀Rr!tB'&Tiݚ@ظ,M"1]k2J {}3/m>aC(3X~&Cr!LbznIR6m;ſ!\^Ov.Xz;vx=#|4JL|~+K:-7솎.7:f!XҐ-1?Um D"K)buQqȏ?fMS*;q1`p >&񣜟Fx b>#dI'XAL0%}k瘩S2a6IaaiɳZ/d2f4-6ޥtuȭ YLR`T2tq?Y^N)SGN>pCG (` ]zzÞ.iKd1ĞHuw?ĞgI}-YӅB[hn:rlr [7MWEGj{m+-czêkCI6/|͋-i^M F Hbo:\uO UvFnn,WDIrQ0t#/ۗtve:p1//wW/3~L8_ϯ&>} Or_^T|؄\̫ d!^NZfvhJwEW4g7brM-H||./g7+R~9W}9wHmz٧;pD;)Z^hv}}|R}Fj76FK#%wCy=+ YqD3]|(z1|>+ꠌ㆚ SBWRsqrCOu?9 X6UE6#Ң6rz77ۋFV>F4X$ Etܮfm&~2)YN/NfFO=XYJs:a鴟8|sCaђx,gcqzŲ;NcPquK8\v%Z(Ʌ1/%fyZ7Y1}Z4d!dQ#%02A [ȜMnƼIR8w_' Bbz>\I9j ;4f7E]rк`>YCQwٹ9`)72As:`&rRa1[(Qj0)JX33&.]絸U7:Q Xk0AEUkU5׍o~Б&o}fhm!3XRw,XBP;Gr2rOv.?]PP3oadJ>TmԖ_0?Huvm2qLP~:1x<(b}ģ%?a@ț{Gɬ<SiqH$~\ӷvf"t$}Z)}f [h)>)#9׿?t jp@ SY ::b|c'U(sVId:jX1+eII_MSR[O2S`RSvh% LD툉$PaʊV&"Z=}es_2Ct ѫ>u9/f1r{ODCRr?w^"pq9bSKe>\:ȇd2c{zCz/Abn.fb‚7,ͅ)RWصSʣ/ϵq1]L쬅Br;d_k\Z3nIKPh!ONGOd٦Pu\), uEFmGEXi4ߵdd {LC>G983+61K0i wIvoYpd\iE Z~V? ln7*,Z⢯ Ay*=n*NmxJjʁb\?% -QZgufQd"6|Xt$Qڰ\%ɏݖ{GMP0Gcذç(Ų]`KsQڱ4䕳||{@Ri=GYrD\YΆ>Nꨱ9Hcc+* 3dO V}%EĽ~LhTOA3bFL\M1z\>/_Bjщ@C"z-2Jd[ɢ=Nyüe)*sֺ`Hv0J[K4*02FDkmQzɃX౗T9ڧyjuMApۣw(jJ)qU;YfHŨAsQk͵"}9ȞUFMȞCߕ"[֜U½ža].)k&574dm1m ^oEg*a{xYſ*S^a!aY6,E5mJh<P:{e@σfEOqY99?Q(i bϚFOKr K\'9Ot?W4 ayNd=#qpTٳȧTfSɊeH5Zi$=P[?,7E jx@ Uʼ)Tă2dWAL.05>ckćP`/"4s ~a|ey#?AUѺJeU_ߪXVGZnO$R*4zSXy%%X,ݬښM7$=FkVe+${#'pxg^Ĕl%.M·W^eN"I":w to^:jE#RjJVpM4* [ZfVДUAF/ k<(5X|AZe K;?/)jЎl%1S_L-4Z(qL6?vi +!NaGP+>p{=gy0tV4EG#xI9pJ{bZz߸p1zt_oMtDzv>79%RpHٞT\5mB8^-&%O_pIHUfb:p;ʓx`ΣB8,\&u;sMc+ָY|U:74N's Qٓ,f׍wHCJ)bB8lOT*+.⿿8\/e|}u! 7y GB1((rǯźaJ-ȖF?J59qLi]} sf)\P\&k EpC-w= [i2j.I^к( m [gO'eIm}KfyaRkXL3(Z$VsFgMA\phjs"Rf{#9u>b),{2Μ%6pofѧ.mj<߶ -wX9 k?4&"vZ~B-L`/ݥۻآx~\@o_]gĪ0-Ɋs#>*:HVĥ<J`fqoD 0|[q#j1,?%МB5P)8 *~y*cyh- ;<>]>GFQ%q_9׺xYk˰) [e' 9?,+ݟZBԢd'X-AUNĒ8ܫX6Z㐄/3uœפEs)U zKՊb[4{qӑ㙴b5Rdc&YB0wDiO'i(P>5)Aj{uq9#$pkC'#/%bI2'QEոX4cqHXNDn aO I&* =nNU/fpRQ=f&}db>hsVgOtb!B{hEwy##_sF38ޮU NYmn0`BNɤ, aIJ|*&ZE 8$ew@(R}Q:(kYNV4,jEk)rAUg5~Ӗ'3f4[f* .SvBKPk4)qbKE9.ki/v_!0G$7d$_6O*PLPͻD xpJctjH܈WxV0ϗy潤ק4^ѹЏhdK{"4CnJhz|?xp#uQcCNI>(~ 3DRl\w-ʝ3*{j9)f/aZ4C˲0-J.bC`~ڳh:YJE[7,=q! 9$Ebh.*2ˋWNa.m9!klOG-P_8 >q;YgĖF 7mpKGYnЅץeH#; fdaT80F7;֙Di|r?e~ҥ&q1Ќp6MIv,m{Fl5F|j!\K,g亍] _ԸI'E&a8!<$َ'Q!b1qBQQ^J8'Q:!/u4l;N= {dRžokEV7"a+ﲊs](-A7MU9_yw\e$𱘈}58[v[|y0>4Z{28ʬp[PgYfR]쐪_BaP=CdXQ4`gLx D:<ݭ1̫ΊE1/+?ʍN 1ۻs ;pb| i)HZ vՁd'._7zK6o.ȟ m΄DP}Qҭ/Ѷ /D%=E+0#UZOJBgO"o*,Tь{vkR3oLT*;zV*| 7leDŽ(sG~N0v, T+ZI(ECs4%b= @Gy6ShDOgyCQhoPr+N!퍒䆖Y:7$UԘ0K6 <|U7Z P2)1u7d̋23nnvL6pC+U!quE79 etIsfh- Afe^d8HD(rVH4[$rtYBr&iNaNbzAv쯩-h#5BɄ)_sy0J3>֗WPߺzգ#5Y=xAdOl*%;?"?4ꛄ^y^$EneK؂N:R)":iq(R3rf }gS@+]&$+VB[oISCЃ spsNa.{=p=/:*,3%z;);0/R)V^H̞PQsxn*iL,YkO^G|'Ɉu*lQRNo`R-=Qږk$ *!֖{bR[0~ʟEJn7#e=bWk.+y^mU\kA]Yv**!`c>F^DŽR%H`C< WP^>f\6ӮMKpV<"݉: f:Ӑ\&-gy"3rUHqʩ*PI SĽE,ɓG}fX]a HH\5ƂZ׶lT ySVXfZk1.z,)v-";Af+i0E{"N=2Vbz09Dҹݟdv4<ǡ|8'P}0^.dTٖv^Wrx i_߇!v+ ְU$A16;.qYF*+ƶtXz#yddZ.HWLH&@fYBlUNV iXAc3XvPފї9Hu,"'糙OjFyCɩϋQRO2# e~JJ*JkW6so-^KDh *ފ(]I5ral)YT$ܐ5e]`Mle[,tyR>; ԏ飸:3ԅ -)zYJgݟX ?IFW/QRSi&SP9O`^>GݰTL<pLkMd${"ˬLҗ@{*=s]'%@8Dk vö(?T\s;B oگv5r^x 2e}UvKi"d*vE^;PͩoN&UdT ^aHzBاG^?GO ,r=H}(IQZ(%QDa4r!"Y%GZBje+=pDj{ReS*W_G$lʗ هY~{/]ѭOv/$WA./N T.Hv<A3Ѽ VTٓ\, xBlA?);gM*D¡:^tӄ6 Ր{}~p{Y Gd6lMM O0q "b{pe{_ِc ;kyFlm72Rnp"82&9O ˖%nKWKQ1rƺwH^6C] jӚQBg9 h4[>?Q .KXJL=ʍٷ"cKj[ݡ"'\2 JG#eҧeZkɮ<<-R.r~8eZ<'|TMйhZozCa= ɺ1Ӂ{Ff:A[5 o!W9#na")Xd4JDx-?_aX'\^hLѿH.L@+LaFzZ`Ҕܔo hMŘhu}8̏6zg|@@HBI1G M1K߽NRb ]h~$YakuTDMEPZ9iџ5S[4_wغWAJy&mO`}}p>y?>IcVUFЇ ^\CwT j;iMy~heuXn7I1m}̗ !~c=u;<ƿoFO6zgnqmakG UG|C.P#*8w- s[Rr#BKa )杞#3H{)8l@vŸ[V^YfK.zX 86UE/,_K5!C7scB;;wU+9r_1HwAufH`Xi0.XkFH;I8cFNtT7P[hzBm vw.Nze#Pꡥ;@ k]TkȽ1?#(h@nΠdGz;*Ў>.x#저˰0b؂̯cnō܂ڷ|l6a}#1}ctY3;kΨM2{e6vE%G0{ݯ-<'gCi@vzC{-d=Qolu~cA.|P-)*x-.~Ը;̿adB}!xo4dmstՅ]tBHGJ"# ?:!fh7k:;OfME^!s^˶pi$j 3<M4xyQHo2/6aQLaަh.xC >hvtޚ0!ЛF$]I?B}_֍YaE蟌^h!{-<[Ǧ]7 (3 %S p6m](|-y7SnxK?U{VۜUx\ڀ>FhA;7[P U3GQC] mvpm_d#m}h9ᣫ~q ۇ0.l*>g?tށo)i |@#>B{㓽=tw{ tt lX^6MVaf3zHYw|^gINZY3d0 MT>[>ft s~ 0`VK; 8̖`$xD 9A8F/?'<&&g ֙0`tM0& `fvo8p8Ap?3 a #p[g{2mBWξ9 %蠆OAzw&_vYGduwW_:kYpPЄ 5白֡䌨=Hw@t%\f ^ar~|TzvM-XC6;gķ=!t<ECƂ!)nEjIqM'g +?}.fm3Ι~rxg `F@ t!P(],A/8*Gxgp.9=qdm|h0&B0&SnCY6g9 @.8@ 걗hAp`vWX2s`hm~M@ k}khq/g8Br#3 ft㠉kp^Z&xpaԅA:\)vë5ndkQwGK=y~,YVmTtO?+3xC74A+A3v :8 NjLھMG/G3O󍺞RJ Eg<0]͓xp! E( [|¡tHYHF$R 8ujZ1.8q=hꁳ2Qc}j\07k`c࠹DG}`tNpѮf2A\rM^A8ht$p6"qƀ8:fC#q_&:o7+(-m<6ݓcZ+gػ(: EǞlAnS6a~z;j;gN{:ͦ>d$L1=vi=Z[ л`njn[}2N 1t CO{C1wXA;lk<-{ U7_ׂ9n >Lb`8XAp4_&oL'j tpwDWn@3AW^C2ܡ}yгCC$-x؇= !lL6O#=Кӌ->nŖ(|[;}lƒ~tSk=)]vSg[EgA& <]Q=, Ea>(?ĞG؛0{S?^BE-ZrFz'vzo^qҗ:#7<GQ9`a}3Cly1ȍrN (j!w}-!87xd/#>kD2 W0aΆ@}[Ε#x 71[-*enFm~>r=~4Z'G@Ρt7r?Retz gIyiU 1WVJL$}Y0 -vY҂ H !t`лY]ao 5 h.^*7@"N[U,WSG(hH;QoX# ԨS :Ȱ}_uHQIS20W?DỠZZ T62BU==j&,7bݸKQӹPT,5}ڇZ>u];YçewCF$cԆn@҃-&$=݄C&$]ԸnBCM&$}nBB9n9YFݓxBid-r=YuO⩃ݓxd-OZ|*xyd-~@8YPӟw?vNǮw?ᝬS>{'kZ>0?n<]OQX<7C@A_ :ll5'N>ѠO1BugNS) ԣx;jŻ3p]nCW+LBWw:&}\MCt؃:3c>mCeD-14Nh XF$}HŐdY\H3B#{g+h8 `cnjS@c DZm+Zi`0G# >8+h `z&%;lڞ{`Z=AK{H}Zpo ֟E5}ѤP}{[g`*`sFlYƺ`FXw#ޣCʣM,6r:oR:Mw@Djw@ClzDێ>TLENG*wA tI`/W;@6j^1zR7n, ⢽g\~ރv?o*Y x7csnq9! ط>8um)}A?r2'F^G :e-:+~ Z⁆ sԆ{1'@ e9Aэewi(bywx0ppokadH6#`^$!|g1@(:5/h:ƻPp&;ӟT`牡 }p9%l\&` a|G` caQ`Zc, r`{P! _Mkn#>v{ 'lqor`Z]ꄶaKW[Ҋ B7-wF2Дw0.t5XNF}*h1#_7.N| !hχ_kSw]=xpЅzA11 G3^|D} Alu==[2-^< u00 6Th5k9&I674fBϜ =-jxg]מAX9sGWzAQ38P!$Zs- mbmCWXS^Y[tCc/1\LF!\=V,NY;X_kDHGdG$WJ;o8j 6?>::1Z[6x1tMκQ~#Exa&}tGӈ4!}y"ve#1h[q<5@'x |Cz]2?DQl#:dlr+zmo8η Cח&BѣpC~zH%Cʒ(m'6UH*Ƴ!Oya?nF]?}͗ שyVobx *A5@#G:==jqӬl%՜i> -RRK]?oď\}J}#M_7`gO~8 7q[5D"ݯA5->.Mlo*Iډ\lPc[^s(bẽ Uzu,$,/ z1#"R~ Nc6tib'p8+y჎cp|N{%%wXxX#,(2+0@&~3!d7 g'#;0#I.灶S.z`X́GtuLj,s A'2$qŏńC1,]pXXHW{Fh4;}N l78ʖZUv  ж; Q6Q'<'Ij X]UW1&wzA` h:/Lic>@/,yBѩU[6f3>TZmOoP)]Q)}/q鴰xީqe9V9@pS ƒמIo] /oz5.pǠ/=t# o:!ka!\G|T:St#kl!1\`0(aR(SaF>޽~Dgz?_oo?uXzv1A5Uw{ w}=ia[Eq|mY5~}d]݇K ~3_{Q{>hRӧH# $}wV1/0ꙍN-ˇQ%YH.ڬy*"sTdʑ|o/OE~нlˋkVq<:śU>/?e-y~-I-{ U,/ dQRiebb55L%tTl|<3`޿Lqv'7ۋ/Ư] z]4i3‘Gd6#鲆ڍ9dğ)S|. ﰫ#fOjF/_ v:?_ݞOOHS+R=--|lӆSU$ڰkI_l=یL2雤v]LY0:YI45_@|q{>-\Li,,o(Ij%JVt:Nx Vq-8e C-@48kFH|zCK$&P26!t%DFjz擪/-~~1|P,j:Eɐ6yub2AR%U4.\:>HW,=I1\jj9T= Zo4;C# tu˘qmB}ٺǘMkdRq  icIUnw6=I%!ꫀ,6ј/1IU`!>6~ 0Ȑ?1CO-wQ Qj|tQHCFys)F m_^f%KfIwtv}w;_?9 Yi!*H;2_LfFN,O-1W:f!D"J&l9T&4 ti -I[Ayoӆr-l4@)[Hx7d'F#ox8@rsaO2Co/?JbY|O'ckXsbil$|r>m6i _cje) I2_퓿6k֌ڍt@j[dWXq\3$ %M0*dޥVHs$s#>KPɷ%F @rP oI B}Ar^DHr*Ji$N ڋmA= XurY(I>\LSF'dT;S-&ps![`fGmH?4.J(k[By|3C0)T_vA&iR.ň dX S=>v @:Hd W \G~<)>|<$XPApT!X]@S!{ &FkC3gxq  |֘U*,[ 5⠱RTGJPl POO=BG^Kj[L ´TyY @: D?aSX I_ 0HʢX* iˠu(wiySĚK:VjtArJRfv]8!0ݦEjckʛ𧜧P8Uo,T{x)Kф_%(op?N ;4y!8 $^_&ZQ#;JDEo>a̪/5X/'WW %%A #N8-f7"Ae=.Jn*+So͔$23ۻWI%[.u Z?8`ZY(\MR+5iJi *G5*߅s/r^{-_ ]-M %ХlE6wX,k:͇M8W}#<$yQ,fyL"k1ep Πj, Af$i p?V!~Pyuy$wpqz;*Q9LpЛS} 0Vɫ ~U؀痛)+pUIDJ7J+":~ 0 pG9_~9pKdrfE1EcE0XsRRm/[K 0 G7Ȱ V;Oih󣤷rF89#YÌ23BRZ3 dJ2y%B2Z~"~ʷ橨΀&lYWzG\GƢ/%ؒgh8b¿wRj> ƢUR+$s":$\5tò٨I6'ܮt{ZifٸaV)wC[Ɩ9bVjz7GoF)B8kwncgw%S9 sQ4 ϕ}OvȔP%jvud*sATD#[>)gt"]jzG\iO#fH.+Z)N L 3xqklV焃73* iUescqA0*cBWo/wT# VibyX Y˰99Ja 1 < ȫr:׻z-&ir-߲y.t^?lWr7eTQJ7<[Tp]a1rps^US 6UZL-rK.*:sR maܰ+$3 )xT\Gy TG#}@x tCw,:OۨmE#m#WiL["S%wPJ7" Z<VOS|OVf=KOKE[5 2qxaaTZw#J |BBsT,nvx)4s^ ~Y앶$7_Pj4=4|<2|F.M <|Tp[u 㨳f/AeqT^AZxByd]++|⨴Z׆ܔd Z/fq~>h[tTҠHTnQVKDh^_2gւKG7C}KHZ};z|WA^6< O&| \UJ E?uCZ?i/Gɯ][>MF/$L߱F&i 3v U>JCR>9(l7a>idY*ӗM@봃C%UG8˃hѪ$΋FQǟbtCm.Ho&Q RYWe F YªFsa ;%ב3Ӱn4ďgi[pՏ8&,31g|7asP}@=y`;a*;9xU,\`V\iIVDʏEv$9 xvyhE/A>Mk v]'J^U,jm#c=Nrq$YpT:) Z{ww] 2^HHjH.!Od]Sɢ(r5כ '4B":oCaDObXgZPT_|aGl*ls9;knv\AaA-n/*Q͎v|4d^Qb|>ӜѽRu]Z Á۠:D B3Ρ_H0%sߊD`,f,Y!iC}vC'&>W;_!麗4׶ ') apf3ߥXҨUfaP@]'4rzV%$t+:Y`Do0Ȉ,FMy(?'?]U&el:\-(*c\imOq܅w 4/OuO[Z# To4/83p(CGޒq[MIk]8dJLtl;=%w՟su"'Q[a!}?WqFRֲx[r^dO&sz ~X$d(*,gDa>X1~w.YsEHf{npN$– _@pICI~pUxC(;O~TGqNc_ut%u$sF *CO! ] яy&kQOᇃpikM;ڀLs%(|Cʢj&?x?@E_=~7f:JB5һbl끺s1[.uH{)c5ua/^{eNtjuF(+Cso~22͟EN!:#de:F>ϰV?]J0:XMVdi =I4rPQ`1jn{ooj?_(!Y@' s(rhɩ3S (:,K5D+gGDh2˜?'i[m[7@'Cz Rql]q?q\6ϓ,Z1!5Ϗqys_n ){诡 &GW)ϧcTX3oBRFts @:~.Qwh6G>x1fDZܘjBin7 t/%Uա~&*f$3-Xl[XT7z /]OBu)M0AٷN&ʪ% 8bdk=&lQة^'EJT5 T']VReF+Y~5: B[×$}<1zd#r&IN|&H]at$=_r! >Ո:4~u]X31|֕M]u@pap8~]J%updXo(&iN Fi%tUw:ˇ(.3K~o{:IOdr^ș A[KpA|<W+7h?|7] :)flK⠖!&ʼa1{j*!c:HL):\<|ٟ(=ޥe܁xn/6q}ulb_ %[*I#u /o%3y:}i-RsƒԀMo>Lr~Z";Cxsż9$[~OOaxӵt9|1ή4_3 eǛLȺD֭~ɱ$&D`=Np6SQ_xW#fH ,mj+;r+%'mE}{$ӳ =A;g ˟E̖iTW3t3sWS' y4-mexҧ#Y6<@2rhe-[°^.tZiԐ;v ?cB٥C,!yxZdeo-ǭny^vD:ɧ2-Й^%)3wRkp\ʏ%kd):ڭ7 7{By%4/Nj&c7=֮HG'qc2yrԮ.F'߁;Z=îl #,ۼ[=]Od6[.˭Z3vrRxN>iPN}+%8!;nxlNT;e澬q[[>NnǖG-wDIN'-MQ6wSBR/rImaq V]By) y9 ~;/ČY3 ,јn̆>hD+n_1WFhfii,30-Phi\jQ]˚2^0@0;ۦB/!dkGQR̟܅C$Z gk1mCJtrLs| L*<^]9+mҬz#c) ||`1i@6 |454ί@J {8a2N۱w?r@3T=^ūL欈rq;G♝10޲5sZ3p\z֧ϫz j`«B~ Ő  )*a6~OYemQoob[R~g ךmZFq1;NlPPfʒjKnjިY; %\).mX9`;3v"Pb'lvra)$fo< Jf+/͢(!+=Χ;\orIQSx?\O9tF&e y]o(*'(cs GOȃV\z%Z=Bpݢu| Alje*p?aV$1Lj4'vBJN(eR o,HU~d:Vr@){-/,e!J[ĵQtVǼ(A`R`+&_ct&bavc5[HCNt jU)9M*C뿌f ,2/}!6Z)*:=c/"U]2R}n{u+-w 6Vp]nL/sdU5uAY؄OʇNvfSE[Sxɷ6?{tE7AgY[_3b/u=v>WiP'@&W$gcX{[Rnm]BG~Njf(NA%]Fn&eTO@4=b?ۃ̟he*cn}ڃ%q-~BXDY 921(897{D2 ~TV%_gDЀ_Vm9Y):ʹkX9M|id/h6} 1(oF+ NZN/ijn0ɩEZ/Wf4718Xc+Ɵ˷.쫙Y98ilBl/<\R83uL?ʹaqM&׻b'[FWiBq @H?l,b* ܽ(%k $Q}mBg5J^[(M.y6QS6|>̟ u{f7*sAR][_X[ oJíoL%*"6wG`Ѝ_Qtl]MJsQ U–P$<͔NmsǕH>1S ~e'@S֡~Q2Ҕb$X4s ݰ?4L)*2{{Mr}HP-PEEo8uLKlR;rh;e)%avtGze.cJت0oW 89ܷkyN_Chtѷj2|^4/[C\P>w#[2Fo23F•L6 I@}_hn]+ Lh6pƨbo%CR<.*k(p`l8*Jo{u}=j,*}Hd mQ+䶠 WCL\R U] . W!Z1x-XF|? '?B %(YE6dDU0 !%$?FPh:hIFE]?Y6z7|xQ L>rOf2Պ_AGxyu):h5+nD(7K{sG5C~B$B𣑓'È̌j M\бm>wv9Mıd,p灂M JL9SkWWC=[#nyE?,Gs4cј>JTk5dHG=1S1RA iK͕Eo9zu[ ce, VgC?W:Hh.w=T6{9%eF%o?Iml D`eMYhnX@uSc|PI0KzrsSiW4[-4#]EddJ41nuM ݚz^&[;Uh|n.'ӇXX`ޠ~VD~S5+_imo _N֫Y NQoMo{aK·-mJSMJuQ> &w_ׅ\ %ٴ"mIKQ#{(.>JCHbW9E ^RG6:% pwKMoԴvtmNJCn&sK= Uʛe-j͠JyD8mfUa9tLsKlR6S>a0*|{`bp5fAH^*|0 8{3rF'dbڜ*,V5(̌ 0,=d-E؋XǴb2~y)/2E-@âj0FVJVD"5 $8awo Pθ#oi yj2ui`ܝd+>ʠŸv'+IVZ?wk9#PǿF*'}7CI$OO{cҍ _Ѷo2Oػƺ~TuƄA6~X^탸[Kr!#U$py>_NA>BAUyFGINaJpt{y]7{Tfk]_b˪PYN_m4PjkK`f c?Qz-gYHXFޫꦂR Gjکc#q1SgcPa`CUϺ5iNr]!ḯ-#  kȲ”D} 2,U Ч$PٛrpC} ~ C(*OFR:un05*5$`Wʶ"pd#M#u.L_v.Pʤ^irm4I 3"#SJ?30mދ/+XSq^pb;Z=eªLg}7Ph/(!10>k>̧M.2C|tba2Qϒ(􇒗G%MiPY>.H*b.TFi7?=rč/HRM2JNPʏp1-3iO WQZFI?/0gF7-!&$d>4ZY5u(:^VAiB8 ,f/44|*t9fj6"=Jbd`VYi\)(tԘs2=]jȩ]FjI{Z)e[Vs =JSPvCIu^ɳ߆\X[P`P**dYDFC?;< ޮTZ?Dۙ;T}~4WwL)F%NC~qV9;BEHʙ]ۺх~j)4?@jr.68ǺhG=a fK-UO=-aOɚ5z w>}1*Q'C[F> W͒GWp#QR ϧ&=;)O'+6M.a:<+ S xvPB'ӆ:7Lg攆q i?z'  vy&w0KF7ho9j:Ü7Mgن~z`s8R2oo"@Ã-T25ضU#ICh#ꎧQ;i'TgcT wSrp86Ω`GIX?:XGSnLY@>5lϏvEdZX21::쇫}){{Þkgk#6L;WPNmQZ/x@;NѮh9=On` L?Ag7 F'{\}Ḿ>~:ΒG#ʹf ]~s~BPe_ZvGgGH$vRS= x2?o8]苩k|;ծ](gR%fԕA= /[=g6SQ ܮw>aHy㌺NOP(#mo@Q:u/ؑ5Mxڭ3~'~րtwݯudfm?:=>/f0̅Z(?<:7磞'Zn]D{/X+~9cLgv]Jj>juuֺa5\ֺ5vLnF`PB ̢C)ӷ1nU nOaBzhߋ]fNAgo: s}OOuc;Ꭷsӟw<)\;]hWg<"w_GD&859g bс|l g#ጇbH6ZdG8%wM徊3GU}蠎rvh%^<XnFg]CQDR۴WQmJ^ j)K8hNajQ75T梡Gnmݲrtrph}i14=ru17YQoyOk|zra=^PQyY.z3[ =~ޱ8h{pZ=Ivz73}Z;N(Gst' YYv;>Z0YDwVj+[ۻwZ(\݅O:z`@ex|~ahw kCݸE>p؂h6lA"M hL4Ŝ@Ѫt(_Z@]οu9ڏbxtq谛jv>>jiҹoTAf{R;9Zї}gOu8~{=̩vJtÜkrHeQɎ?F#$ؑUV X?lQbkmWD9|qi9h-'6#nJ%>+vruߩ],A+W5'GXhm4a4U-ɑntS{]]TK<E{ahBi ]-VvPB5T8+3{~$\<ﰡ%F}zACEQG KoT.Z_T/z/^E/V(/r!vzIp#8]˜9Њ"j\FZ1W4$ -Ňѐ0<=2 2X6 }pJkvR yʻbծe}U?9;Ҩm۩Zi()lVr;pZz,AFZ%KbȦNrDMBC^Nܶszbf__EW.]`jΩ(کEnxtҍ%[cr5ʡ8bqT$ [g>lNÆn贿:kvC7Z-v Δ~D99WH_(^- m(QICXɄ7T̩ӤDpv.概h .9m;y3 ЖnȓٜÃءh(Z/k̗5ʹnO`n Q[k핤5Fo FoFoFoP{h W9#Zk/aN70g+Cks]- :8z3 - Zzt$ӣQN|6=: m@{tщݣHiGFNl#.6iVB|-aӆ*/ yB5mGMW+7Aq.PGVCZ&ƋeVF5ՠCJO Gi)nN/:I쬣\~.mݴ|d{M kYEyAoU+lм[՚v`=E^܌h/^*D8=b=e[=z+fvFLzNݤ'A~_HK-O@G'ΈiVq~8–N,r^ٸ{Ŝ>VLi_ .2?)H+dAe2촁]|$.,.ᚨSRJq ?rR 9Nbd+F/m#"!C^E9%\.|=A٦̫RTrkdt{.m@$Q)yb3|m87ࣷ;c0Dx\{',]CQӋIne띬H^9Or *q;V~w<ޟj51a3 ު*4ΊrC n[T 50g]ʫJy ~;7]ZOtpA݀3"`|7*͟UdW^W4 xɯ.id0"Ė-4MK G'߯[6}+ =CyŧsVbrh[ïal4+Kfr:*"Xai]5+.R(8J7m53l'Sp^AWH{ \Y=I  pbÇ=MƢw5@iJUQD)FE˺N.IBcJ{$ZCSn]g`IEz=g)Exu`i3botY }6[[:<Bq LԪ(;y)ώ"qsf0 G4?q sp5ZLl[i˓@tl!n=Ӕc7cM$3_o"OZضMD^-޻]ABoOo|_䏷sL#;W4ḩ%ҾZ" ,%m('S- ߦJЪHжoEY'AE"Ju8aM_f3825|頎8|5r1p ehAb3f_1 ,(',-s~ej _эq (ܚb(+S7f %s `'}j\\әP0K{l={fHU<}p*09|?sIa/ FEGWIz- Ii1~ELT\`@,ߠsSk UvZwhp3e:r1 YzMpR9hT/p;Qh =i}4Q_/Pf^fmX6fNQ)q X]9;J%|>+Ut+v@ n+x2y+Ar0Y-2vVQ Mh Oi'es9jMSV$Y=A yBrAҎj@6>@B[#%',C8t?|nOe=\4c'I/Ƿʼx$?HNQKЩJk}'Uw~]x{I~l#cp5E)[#=AU|6i0R!:XcMU[JjbzczeXFZ5N0,S1ew$sZ=Y|OEߛ ײs8r8_W_*b_@K'57QH? [s7މb;O:3\K8}=̽É} ET`1?{L્wcaNjb`,w(Pfx %ē~3N{<6&h}\(iܝ!ϣR5~iRc&j +Rt,yc7+/iC;g/vZ)Qz-tM 5deE|b)Gr \uw n4c }p;D:6Ec@cѷe΢/aZzqaBHohSJ~iNFlO/Hp'Q7Q76h; xɖt/Lz`^F#-8Ԥ3 3u+YڢMmdpY=%1Q\`T2O,FhTm8.I`}* < GzG7oP!+Lv'{g2x$(dPiy]F,.КGA gAص? DM*I5 ( 櫲Lnh34㐀X87MoTFv{U lS@m>~9U^v1nla~  @@ ̂OhOyf>a\U\zTԊt5#\58mhޛF ɢ 471 4Q dqږu byEeԁOX_BE|[GܫC+ss\G%`I$OcGptzhЯKG|>ݼ;ovaWM̜dR|[={y,FwRIl&\8472.e7.{.n~_rYzUwLѝ٭WQp]$JQm+|kY Ƃ2!Y-wI,쟣XŬsCū/U:l9Fq?z.vn|y/C/Y?YY5 lu @3JbpLCiò2DUOKך?]}#gB~0L+\l_9 yc^qDK/Ew`c𥅻4z]rbHp8U_.oW :0 7YV\ h$oG_澽S)ƯKn*^o{;h%h6\a1[Ɍ݇@Z]9=bL\HˡǮ74n{CS_"jkX~vJyݦ)<IDo H|rpXc=?t@(X^Lo&D @J¢DMT%EfPk. gR=3gdA'h9Ŭou>G@5臇de>U3$n)i>;hEMp3)v>"X*1^ Y} 97Bc*h@nIX(ZPsb|UN%#<FK†op@@ܘd'/E/X__egpպ/ 6#~ģLU֮no07oGvl3RpM#u'M{BA9Em\y+~Oz'}?U(! :O;s3 ZDxn,~$:\kpĢW<\eXFî|ڮ- _gD{zPIƶɌ ~LBL09N~E'h%`v-^#HQ56eM("5y3c=W̿k= @4n"JF5]S4`&sxm@G*.sJ lڨP ?T^(Ky>ϲ(GE0`V^c +ڀB]5rV$bnR M\-Q|Λ$ 18'S: Tٓl4)X#䏫:$jv2䃗kڎdA xҷ\!3=Sl5id>z HbԇEfəѵ8O#Y$`Pzt=iQNUxG8cҚ)6t)GNLwj(jnj0CxBJm>D..*ab1JG}ncEI_9bn0>V83T2 ckyM}O8;JcEZzmt2RwVڰ>+Hy2iU u{!j p#89XfcDD%Hd \vJ{lVS!jg-͸t3=\ 﫳󈨮q*P mC I#$$Ln]tvKVH T /ATp05%z}9, $ w1}CryIlxA\fu^Xb֟@(9+um#6Ƒmi,lG##/?rj Y׽ҝ%()݌jDMbpYQGY|{z6LXkqol4V]u:LJ̝K^[9li 2 Ҭ b0~mQtĘ2w b"9pً XZ{ǓR.VXq > =g!3@dw$rFU4o2__pwMEIɍ[b"[Z *aS_Mk6!!`-"1*˄EMLs>itؗ"W+(dupOоw&:T&.Q0en(wJ54o-QJi |I~JdJ^i\)EK ZwZqz`H؆!Xh+AW('XǒB6ko,ͷTJ?aΫ'yzB/vkl7NIrib‹gK0H4Sc~9D<[ VDjJxa_uNAW셽 }nJ~le>^sO^҃TY {tc Dy+ 3f]=[-zrP72 XTW7PU*eDs(7~E&]`I  L GOBVFz9V[*(刐sWw*8 !X\W+szdw/^ OhE{ 0τ v#,>u9Λ)lVWRF@ zYkGG2TeoB$D#V44{@vp댔$'2bf~_j~UpĈv$e#;X;>nauv"னvKN2YeY:PǼ?a[fNf9GݡCx2 $nz5xlr&7 [XJJA L&z-4\|a:Z 3D:rÞV³*k.b`.ɱ V*־іu+G"#,ikiWAf!B |=GtauhֵZr>^L1AX@lո _$}жh8Ǎ֗΄ԥ6 U6U+: vE"u⃞6naudf~)؍HW^!‚st庈fzޮ<ں?۠M"!/0-*0.PUZ5-#oH+TfH#35֭oʰB`yp=g*g2'jȿh6ZQdMGZfWP0?V?*dwA \ Z0f~ *Uѻ9 $m2,ʘM01ؚ5S]CÆNUapoL;ob)-q6j*n]`6v#@Ŕ z,0tnCc䔝'~)iV%KJ?\E8$ũM|OHUh&<)dy9+Y˲:չl ^A+A4ul;餀w6&aW0)f#%Z1p(x7k<8wwpN80XFmq~#=]hNon'aЅ ["nk- p<ĵk7&>_L-p 5doC W 4O?]+r(.-i2k(&-{~vh $n<$Z(i,IԣS4GkA zC8ۀ~" BeE~IC#`rVm&:ڽ((=񡍙vR'O"/$**~@1 Ct6pX:pE^]a}չo&-&]-V9BF k[#qޛxUnSIzY 9|%pW1ɚ ?|? dC,0 [G08 ] 70J% xǔ.Lg V}8Ihb/ԡL -{L#B1v< D:ע$93S~wy6P>s˯Пa짝R"ZJR0N`yIDHPrw]! /]\BBW:@S'>#Bp$x4ƒR?pRH8 'WQv֡{TT>~ysK]#ي?PH!1xSlߣ^w =׮Fzsf?'< =P>T9t8A#Wn 9y4obk bY;9!m'z1TRkOAJLpW C$ D &sBLoI/nnVV*S Ն;sȳ]E$h/Xs|@CWwll ]kw~fo()`}1}p{ 6o>|gQ8Sgq>bz㭛RޜɴeA%OȨ:FBRC 4DԄ0YD(M窻!s!۵K*$˱#ONSak\E-+PUs8ui@p2*@DRp9i{0 gT^c.}7$+-Sg) жE˧cECu QEFNh#3ݩn-EmrZ2^u6:ba`i)±65ŔgfCk uRNѶUSKH.*" 3OH.(%0@:[zR;Ke+QD4/1O<::TadJZuhI&A{me$i%*xLy8!dphSOgpC>ijg}@ix]Цq J~U~69(;7`CKÛzNgy042 |EZg+^е~[v&^ zaBBl. \t}d4 y1qrzPYbPw\=<qV^UϳZDK՟%Eb,[~$nx.&5/LmIF#X9&3{*ćIkqb0:=Ug@~NV"&As Jt[@ "ܪM9]+IͼhCzΐ/؈C4}qS,*EPYP,eX;D˘2{}XKK,k:\i)Ļmc lq̊]k$[arB54@2‰SEjFjxPO-GܿhvWȚciTBm뛘ܼsc,7-,Pk&FGqC8,zBmcXPp0{<+eÕIZ0nG.??%RO(=gDpC<< 7G=  V<*40ŬT4)ܧ~t3֫(GF?ӝa-aEPaWoݮ ӕj4)Ԧ (ϔ0u)P mSi8Ëc{wX,i4H) "bвR$:b0u:97gv$G>hPmYo'XRb{mk}⪓1xBdFH@J&]o0Oaf;?tbGdK¹`m! Rޠ6=TD*Q;˭;$U^"9aߢEg}.mm6^ [6p?n} UGҀ׎jQc$ڏSAG$=omYA j,ʭFQ'oJB<BVvl,ᵟ"k^7 p'r9"ъ@S1ūe@7Q'C^q dP}s,-*+ dYɞj0% =OzTM@ ǚkwR1Dwћi/p'ZIldʞf*!ߨ9ZFda>WBl2MONLs[40^w*];bO!h,TvWX;*B# Ipy\PսS՜lo7!X]9J\5 $<E(ɫ;Udx( R)WN@h6[]WD-? upYp蔁0!fnЌq]!C@Y㋗R >ԤdQg. <490uo7봉EuR}v(GuL1]ۼP=fG5|_@b%$#*1}#md!vooz AO6$SBc$>.`2%m8"6Jw Q[ɸfbZ_D6ۆ}҆0x6 _~$ &j!B% AlMӦ/ @h^w3WfbIx#~nMrf=% ,&b&|k9jH4XHm̄dn0z1PUz>/Pq63@r,[ĈyęzCƧ-MS.H*oÜq4CD\@DM4Β8$v}];X5<'뎲ㆶC{{2&/{#YU)Yϴ`[ w_.؞ص~p}~"] `rGI97RYTo9vez~Av915y2j$u`)U*F*.i?`Ў}K)F.P7lQ5vR!>&vScA,RX"_H%v/M6^n# ^z/Ah,8Dw9]c1^@#/"x3˃X4ZW$><]HBqJnp5 ~2-Ky@M-p_oƄFȝaҝkGIoøh2q91EBƇ,AY<ˋ^:=l x-a0TR!;RWe"!v:^X^nvHQͶTӍ>e>a_Ќ(]5Ƒ3d1c} ?kU^'jS~]qiIAxWoŔAǷF`G "0{ [↋}~@䰤F%6hw!,Lj]dO8Y(@N 2[4,Tp'TGX?")TdIBl~H䙲x裒 .JBEϓlfb￞W"J1Zݴ-Ș9AeHPkwO2DΔգByno+^$;#qdb"9_ΫêH|8 %f ~~yqsO f&TEo7uV8;k8 ,xnپE ʉXKmCsw ٛ(RQ]uxp N&1q^׫_/*} Gz@ҫ䡾2xḤoy0󙤐GypU񤘔ش=Ox+do%|'>^ĶH\{hnkvlhLu٦#4߿A Jz'hܙSeˏ"i^-//."7x9aB9HZpRvW9f53˽3ucQLҫxGĊ_r;K^cC !Vu{tNɮ,Eef|*`QVmNǤf0x!.!rnEi\Şm/*mojDC?S;\W1qڶU (h&Ϙ~Ke윊g,K+L 8V2#ؼ@㓸 o`|92ͪ3p)9vϓQ}ewwS@uVo6g^T Gm_мFd+|qCv5/\5gֵ X%Vlr CŊBC>8" I b!*!Ӎ^3XA@Q*lF1A6-Ek1;~wHVv5/bPXԅe&gp|bݽ (U:Q&ő4boI%Ǹ#ԄRfB8L2KJҥ+b*_K5a[`t<8o aHk)wwM8EMZnNA|'$t^( vwvRCxTg"[VDO*'^ZFzp\ې DJA wr:= +NwS%RNy˝o -D^߀GyD}Nw ,ۘ)TtZp9B-i+) L憘vQ thƤRX^;̋~!M/tWķmh!ADB|񼼑@ְ# dx<`|O!yyϳ8)OR7PKIoCϒAacy&W$oOERC|nTs봄ˊ޵bu_>ooH ;(PLJdΙ$CjFc Ӵ&8}?O?e\+E۶0;eƐQ0~nq2֩ϒDw@ }pA~{#@kHqlZ{aZzUle`d ~\ҕYk[o_ZRwn2/$⤃{oSGhgcURi3GUdQs}'8 ) W@vrSi tϮ-2giQ+o$4+תBY)Z4{P_%L|uvut# BSI7\ؖPƏ R tIs=ʳm)Z'[<g׃vF \Bs~ȖZHqQ-NU 6So\gj-<_͡A bO;6R VQhkBb \ JQƠ=/GC3]+NܡӰAsQZHQ}dW5EV6$P7 7U/>BId ǀH9_^j_xYjg>mo.ȢMd$Ν)g0^~=}59q8[y7}?F(xbKk6Ze#(Ydg3$r>5j0MWi$@ʗ螘{tך "u댳26 yzHA$CkvBa#LxX?ڛj& 20$VqЬ;Ctz+V(jjl2-1#1CyJ@]'|P='F_dTh\ _^\r)O ۭ)VM!֠@C-&fU& KSvrwVg( _CvEiuQi8m0RgƯ]\zw [q Q[ȟ }K`~'c^\798B5/Lw6q؃yj?teaJ!4qyo<+ ̛=,K<@]$KĻR *oG۶G.ͫ_f9Q͗Bs/@gv7f4}4tqJe!mJ̖0TJá4V(م/b_=+ ɹ|;B_ Pf $%I8ӊ n'<;ǍN/_'6& M+4Pq{PD0=UOFJV4|;SM[%^|-YxED߸9Gr*"OcXt.4KJ5˪'@hqW6J/[4ɗ^rDitw+of. :[)EPYX'+{Tg.re(uĸHg]B&_kErͰ$d3YGK@@oٝ84Z?D|ohm '!DRJ9S=^&nCR^AT ] Eg5RHz+t_,tBCw'bɛ\iIuFf?Qq:r&%BuCєlleH,}*n'JAȧ\!gԭY CxfaER BK2Zda?'oۧ'*-=/3l*Wr.c& `<\5Y9W~Myt쪫$D甝ŒNy:5+yO|켏VA}жN0 cCAoãpsnr,w!3Ne@[N?T u@Mvtq!s,^P|}޷T|Ck p$F]g⍀6"^͘sa 3chu.qp)"'%ɭrݥ\LY8«iKTx%猉ԍL9~6IdG!1yp'.I`ٿ3K4MQ5g‚xl f}JLdBWHO7vJvΫ-jkf]%^@Э=lwfq$ѐ];fSl"l\((-q5+ۊ}'a`]Tܜ nMLi?lh< l䕳4T<JtPYΘ^ǙIHۻ"9}b$gjVFKA'7RN7v<7mhBG5!>lg.xO#i5 T԰K$>ԾcWG8Ԟ4m# /$>HD(Krȍaq>o W-W` QGC/R0YqCf<W4,7oUΙR\"e8a4M-#-LHdSIA ͭ˕F-4ZM[3vhi9Qۦ\tè8=~ֶ^DvMd!Q#^"6+ ~^X{ÛmÔ,@&0]&_,sReY*Q[ߟ cnP;>med1 12)KT$j[cB1yD2l5ZAtl$GÝ;`PT A!0yn;twB{G!DR v*MgӀ8)t7Swd.'D z=R> SdbM A9R~AY5k$mjQ|㶬O!8~סK^zjdjCu\I?[d~[Xx;WO }vI>(x*@Z,5=0勀(գ_S P+"qS][CÇP#; ?lF1rh6ݲd>NY=~e:rv?y,h0BaԊErM'03&uF`٣hG@; L5ζM}#nJ$IU}n;/S\ɓ(ɕSnM]PvNe☗lsA- wgȘ>=?D^ϛE6I5Gr[^>+HHTT6oRV8Pq΅2mb2)!*f|۔2 ㏪fQњ|Wl5E[,_ȖL1^K~ ͨ}rTZ BH͟yf@uK*}, Bpܑֈ}J8#gG0O.`.ߺ ASy?l:JY7r>&@j Pa_|v '_bF5/c]1Hv)+L6Iz͌z_ğxB!z.HhtUHHVmlN5#`~hűV~bj*\lC @-G✄nWM da~ M@ӫ׷?A7VhO{@]'=|:en wv0'xuS9nтVϪ"bNM{B50F*Uq3a˵:CXʂ,׫6hL9WLe[dNR׃o=u6hKoýZQnY/sI:9܆+/IP1Orݦy%lI KDf{b'+@FR ʤce\"Wi,]mKmc\f=ͷ(IR#Jpm`n[ %I 3|]~5bL.FQ ac_0oߤu9ƁgCç;FOhnccMN)f8(C[,O{\6Sx%;mљrUE`weK׹rIK2I|+7 ,<}uFj2z\<șo_<+^GnF|-\eS-}4=\x˸ҼBSW-eХX'qd5XПH#ƹP&i+dz%R R*k~8=8ux R a|oY(4? &lk҅!~d~xm,mB/DZ;r!heF|BzN޶ߩfh9yLQDYӋ$0M5pFקbDv]^ Ldn9gLD<}W_[ܗ``F\8'.O@(n[nC0< y˕=NjdӫRd!G%5rׂi{^@@QOӑ1qǓk4{eUIP™S%dE?C͐N/մiH`]UuXNS4w]IO̷Pa>zlL&6M6xږ'lJ^#ḙ (gS`kZ`lrzZ-AFo`qBL)[YT&8^CAluQǻxn_a*~{v.Y|*lx) rDt;H˺G =w#3 P[:z#;v)dMpC%9Oi\6KRI0!ݢY܍ឧK ުƑ=| {RkZ Rh,koVGGiNiL3*"]piT 8le7WT_Fa/οqPﲜi[\OTj@R]m'TI`-UUԦ.W0M۸$^#l6wܙ :}XPEռ(Ǭ~䒐<hęѸS1jѺL TWYSts!~5Xo+@J.mAk:k** %.\URǜSsYKsm\!w;'_]c\`<<*xīm%@7؀0HO_ 2#GY)R{7`v{<QؚXk~E YV¼!d`Xo"Ir1?qpVVF`KʎCN bCb0T)598mA̖%sS ܉v~"LOy!&`t&U d}0A{khJNRY$ \uN}f(ѝ}^JzPpɎ Q 8<9;Pl4yqoˬ-q< o[Bch[/F8 Dr*#k3SOZUA~a(XxDL$0(&zY"+⯼bAYG$xYI鏴ǘi։1i9Dg',;`j'L<;J@Y̤ NNjN_MP$*ѽYΑh)S5.rO- 1V;=ZFgگ ECm lذ^{nl8}W*u=:Jh~ ]9,)۶,< q7e?mt_SIeU@Zyͽƛl^jp4Jl lŠ_(<\=Lk] \B_7޻]_y}!]c4#EW+u!`4O-@*dVV)D^|}r}Ri @W-"Oq29?̸y" PYKf ")~xG_gWY7Gx.+ zH܌5H:ɤZ~r#0REEV|o)x`ᢊ לMe189°  qo9]R y2Iɲz 40sb|*O. .eDv9fB]5C9}*HD *M,?SpH 27[LE0KR`0wmhF՗j7A!KGV IS6+6VdV!mNr\DlW6z O)FEiI\Xigw i2c8ZYM ^'aFHtە&7/a#Y0DЬ B.T&5wC4@S#J)n:ޤSYF$k̾,eoi 0.jM?8 V07'AJ8־1:Ybx8Bw`(G2{+شRRG+K|Z / `xF-,Z =v,im$tĿ9ij$NiIc…nqڢ=cD24x2E٬γ-Y%kW{i~\zUH *Bn]g`IX?f Wc ŬwBvS @Mbt7p`D:w'e`?Bk{&4 d\6z}*lp1%^T6<92a Ѡ&!.OޏK5r;XAL9pf&UQך~KVZV.Cc7 Z R/⍧ӈtT<(qPcشމ@kV  vA88W ثTm06tA*a1躟,SǁN&+V9^PNviDyTҋ ALPRabw]=0bH*-n :0ͅ=̭؏5!hqǁ\`ȋrEDSM"58܄لSJ-u=NkQgr<BKD$ SCojASih Hla5>uޥec,Y Fii~  {#Y?1< mGB @k+,laA;m '!}Oy8n|VɁY;(1{Mu8 31w{JpMON猠R`9)?Z+ >iy6OJCjLOn7x Gama=,+鷷GW!@DQY$?qÇh?ABq43Cr}a;"쳑.,XS'hN}6:9ly &j?)FF.@4cz"P7:j2!Dg1uT$n|15Ub_tY%* Eh0u w9ie0ΜMQ.} ˛bZdw=3}1m` Ac^[jd&>R#//Dvz8_HS{6TR.#7췥PhX( X;}fOoxw{o{݀”xԪ5"?߇1;w4Wo9qv^a,͏S =Q\&?^m{HM߁cYy%"?q"SORL!?+fc@"M 9_~,9ϳ0$Cd~$`AqzQ-~CMG:<CW(,_ bȧ$ww0d32ysn ԒR)*cWc~k9e%( 4Hwj"亳D~H ߩ!|L5L'q)Yt. SR}_S= kx+ό 1APƨP)&q,qEJ$xk0V2(ERQ!J+ h\fvW4a]x?wpt5U"oF2xyz[j_e|@'+ңh7<5qg_SE_'\]o{f_-7r˃bg[4>gc:5!ylhu:39IRÿMƍIulJ"N[&6j' < b`c]!]K,ӱ vn!S> @p߄QJU5"&}/ ߤ%:D/buap%IJۛ1Nދ`dR9?R^S֘ X9Lg7zM-YFC`HD$tFq{T:6+*܅HՉ,Hc|E<%w|!M[a넢D|X!-1c,dXm4Ь,ϗ &2]8dQ\x|vWZi% 'W,~\2:_5I|Y`|Lߟ$,2LE%:MbTy< Pk5/J,2)8`D >Ԁߔ&:=6ydqʜd`$FKߍmC;u$6Av X26t.WxٓI=mؒ97"j-m,Θu9[lqE=29vƎݬ5+aMA|7+HuuaHF\Ҳ+G$K+*¾sz9Dh/}=!ARtڄp")zW ~ҳiw|ޜR0+R vӻ*2D}NbyLkAKUf#uvJ2+uP=7 Os69MX9R &_5S$=MXcl3 8Ш5iQ柊<}j'3lcde0|%ñ8Y\/Mc+Y&zB`SyOO2LB ^9"LP%J0' žJ>ZsmAqWR\8N-PL -.)x|ڬݦܵ=XɗMuaP2b"9 M _4 2&(efMLj &jЮ뤓BkL)y $[* U9As8)0Pش)6!H*y'YIl<ᳩB;]v~ 3G`g?ˮ޵ѱ(G #M`dL@*_}%b~?bח.3 CD W8!9xq:"(@H[SQc`)Ff,h S$E43#7WV m뤹# \l][ #}hb$Uu9?#}^RW̏o>W^ySG{{ԙ|\DQ8lhE8䚬%"af$[(eb%WLXK:I$<-LEI]ᅮ۱;\W@ݫ~w=O3eGd{JFHU\#XE~[P!* ܍j`<.v Mw?Tme"03[D@I-tXc`=~kKG?Lv?s/&KSy~cAvҭu x*REN\\I@,z >茄"RL!d2V^J܊BU1 6H iW 3$7X2%jeg(+I"}1+h wfiA d?#Nvb ` 2}M9#DZ<:]13F^sE=ܾHy*jcxg9.E <;LTDU!`OR|f9sMܡ*v~7[oteȥOq(lG$pZFbGmk\ :B*%>RoiC =+2h/`Bd%wJ߃(kk< q%EMuWGǪ~gj5m)ƭ(WĦQ6LpٞgnM"S%j+HOL;;oԙ6:,Թ@ύs9W+|&**Id4X>b8ezqDnW/|J! Ppil+ ] B p 7=-'k6s4Lm79YU>.ʡī Wsn);efy8 h__"av4rӪŷ""A2 7pT}_]Jj1~ՌgD/thՐ[~ -JsVIJ9D2Ah0V V%0";0_͎L̮p! (1P^ȉPCŘr X'?\DhC$o14?^DlDu9|RcDL D.g“:q*ܡa䓟9/jLwhVUҡVz.vM57:l>| K #)s{Ճ sBorj}XEz} ZK4&& Q,:ә'*\9W{W:Bz%)rCk5--O tpBN'bu7!fh6sGUh6fKY#C3i Ӆi5x3Rw~ 5' :W6 (op7*1/wЦ\jtKvՉ`Ξ(RdGTƒDP pJQ:<ӧIƾlXn27|R6e?|hOмf|{BWNmWEڶP]\ [;xEKd,<<^'|6E:Ə( COܸ伌}=ؿ%w5(X@qEKY+GՀ[9MSNEA:|~vNW h))6>#֟gqfÜ tb5zɦFr27DO^uf xJ56J6 ?z(I;kTɹ(HZOYhq*إSCCI?gQ-EaI%F>BUv8FM-G@]_n@wUd_&U׺t\_w>z[#jܗZ 7 5 -{دhoi[I?~K/ue 'Qdƅ٫XEhT*/"م^(yj'y{a䷂MՓx|{沘woe5ֵj 2[`$FId!JS-EԲ\g6x.$D" v8d|}G& JBD ~caz(K$x;{=XjLQQr"5IXKס "Q>ŘؠIgPHxR ,ρlAHk+&tzUdг_F-L4f _WlӅE[ zz9/Z JXH𧼢]BzW ~Tg#4p c9n=^LHmq,DyVnF$ RYew.mT^-۟O#iPXzz0>e;^,?(냆v= )'Պ"*e9w`$ʌ22y+3Z|ҩb3`x^>1HqF1C]r> joðO)6;N/wV6ꨥ$P86ez1\&iSpb+uz8= /k'R4FUbIw7b_oMW;Ԉ} D/PuX&ڜhPn -7?Chf&ͼRgr zċmχDQ@"N0:cͽ;" T҃n2YnhO5~1 q?l\\T0%ER1g`KkwEj~~g=mg=H/1@[ab>Ym P19 Բ-qgucLQt"?^]~bHuQT^ӂ;sND.ҼU,]G `)WbwnRR@iV fJsJu" c}XJZʎ E֛d_fo$?ݏN/X[b#pJ $=3^}I  ?GA{csTpƘĵsFdaܫln5*G𼁼*yhD uJ?o)$U[饓M"k? $΀wv[fa@{#֍rD.irRݡ2O>B+bEj:+;Z@r5 w$J0rײbH|&;?S!EAFWŠ+Pʹ4%7$@W#YHVpsO BrPE_'lxpxF?M!8SJ"PxkrKxUWKL.8o?f_V]syZHR% P)Fd-$@n=h^u ܴZ@ :=T) a59 պmR$'r-"*?P$fTgXƔ!AUn=J& QJHm BĤ:q. ~"7胭$q2M"L?\4[lڛ r;LYoQ .iӐ iJ:>Z>eSէkI~lۈ/@zJ%`LKϲHYD{Ő~Si>w/@FJ%igEoӼ_+3x@;dTH؊jz 8>i-X V^"ܬrYljavY= s 1߻^ .'s0$ 48WRokڇeYāsrt*?ך%9Γ'LyJ6u? 2)+Sa#S1G%@T}׋zIc>;WB}iF/h@>VjH#O_ L2bcN#lĉ4$4)Ʌ5h{#]SײuN.ns``3d&mfɎ:=[:~z\In22~䊍LY߯8Dڧ`sb,5+fE44Cu 㻊s?ZuZ/EʳPs-5>t aϬ8!g8cǞbUՆp tb3utGX2(CQ.: df9TH8,Ԭ} d kM 0Gz6Yy VfSlv̎tf92}%nm9z.:EQ5-ّD)ѥ%PAɟ#N"%ifI`@SYs/l0oO}JJ~E#kN b:,;yaMRQ \)%k+>a}Y]H*=z54R2/; ?  jx$žwoGP._& 72.kdqo8×J:A^Js1=y3Zզ=_t v/7[d*zL' sl+V;e:wAԐhtQ+1AP^2n5#LjCmDzQQWy2h+?eLa䲹#LBJulh&cK/[ 06Q=\B7~!,~_"0Z Ǒy C's͕lEp'nƷR5A7 }g"9QtUF7oGDC=YĠG}_|nN4M8˳n;:5vZ3 (]0=x,bP0nTts7+ r0Mj є 3INAS oӁz۪0@|"_dV 4T$&{k8?.w*m4懅w MX.UCp-P‰N"F+-,/aBdgAkѷj8ֹ;,C7L6Do/<_ןO6 K <0qQ"PPߣk!~RcQvr9g.79rREs/S03@T0'h@oqMͤq@|w2Ao&Th~f֊ 03%'5HZ:GJ 08M+Fb>P &w]Ho c=z@I"(xRWt#ehNUΕىw=?meSoe@L.d?}/|W?cM.D{YvbƏ$ rWAG w \Uul V2bGw^ 5^F{/t)A` ,!j P,l ͫRx2ѯ ]#O5zq>' )a!nE 99AH4/\Ż.r?ĒJdVN$zys?ue"0 0Ȕ~DǓyc(T * ܚAoca[z"-+}?HЉbJszmQO;!9ZW]NB*e4d5>G`Y^rRy;DX7*+b^rUB*vo"M M/SqLGqYtuY'pTL(RfDGq$Ixqj:Ԝ#Nu$a@^s%aNF1 sA BгQ]Zj2*no>"hF_@,Wh -xʢ7n"DU'kuniu@M2(*y(*ݰW+7"c,9Nc2370]/S9yD|7KXIuˏh4P#7N3kP*wSwUP`Uގ;.`NOD5ARbVosY?~tlv R '?e/d|SVEmFtfi|P™(szPurcˁ>o+H>Dj1ILS bE˰\}lm"(lf9Db\.2CXoխ м$@ <-.j(ǃ6E<}yBO\^`5†y p"˫GR>rFLDQ'/z;VQw%=-5{\:Џh3&1uFk7uρh 5S \ :A>4Z5hݨ<|2dO=%uP%<|I]ڢEu0F.en\Fr3;q @+{Nb|tzT@\#CPŠDfW;4 /,n?bt \H}LSyUU\0!/ $ijCfSIwۅoP4Vzz!Pe߾H<‚77IRNqFɆlBƚ(]8Pib}ӳX;L"3@ha(\!]N Lҗcvc'.:ē?&1k#㰵DHnس̶M2I\2h)64X PiѭyOк*B;h"8u5YR Vm+S`'&6eᥘ SmJ*l'9zNUYIk?1Ͽx'РH.V3P)[=U3zS[OjduZ-I"~w۰">쌧XW_I1흈T N 龣c[S9E'3(=oJ6m X)m2Mdn9 $iiWS3-:w*xǑ~'O [1{@a@<䤞_Ϟr(W`B30gH^!n ˺A5ML9jWRR)&ŢL>qoģeP7PQTٓ]_\nĔYڨ,!ً_Ƞke)S_'*3ujrVxeNB&BXvTzda;|?-Pي{94*xpk$5>VṴ^2k"}ARt| E% _ИBёlJRՕ<^˅R{K8ӵQ ;PFX9y' UBܫW)y&Y~/ M1O YZ