python3-idle-3.6.15-150300.10.103.1<>,iImp9|R^y9IQ\׾߬R@@ң0uL5.Oy_5h/U|iT`*k՟Zmg濿L=}؍FY^L򐿷Ykfo=Rva6g|of"2rxz*jddzn\O3 UIR`QCBMt2޿r2a5R?A?d & W48DHa $ d$ $ $ $ $ $$$€¨$8  (  (H8P9:zB~aF~|G~$H $I$X Y ZT[\\l$]$^bac dӌeӑfӔlӖuӨ$v8w8$x$yXz 04:|Cpython3-idle3.6.15150300.10.103.1An Integrated Development Environment for PythonIDLE is a Tkinter based integrated development environment for Python. It features a multi-window text editor with multiple undo, Python colorizing, and many other things, as well as a Python shell window and a debugger.iImh01-ch2d4>SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Unspecifiedhttps://www.python.org/linuxx86_64 * 8]J((Hx[MN  lf`}OIUj$%x!~((+&(>+V  %P>%PY  wOWw616..7v67v5,[60   ^g  1LL(p( 0g 0eJe:::545 ;2t;?  --.M( `(R R LQ>wL;3<99 L1&,&;747*** ? ? ?e4e];_$lMu Y(, "!4`J/l::8VJ,=#2R:"33+"+  **(("" ",p+,((O(_dadkk  k s F s66 d  a N a\\ee f5W)Wa.e+J.e: : 878k:7:Q)Q$$$ ` &B&&B<_6U<_V r ( r""6N-k 2i8"%tg;w! u dQ#xf R8 vH-P q%E$  g-UemB  3P%wH$ y :Np0NRdCxj \03fV:+' <(%x!: fA큤A큤A큤A큤큤A큤A큤큤A큤AAA큤AA큤AA큤A큤iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiCiCiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiCiCiCiCiCiCiCiCiCiIiIiIiIiCiCiCiCiCiCiCiCiCiCiIiCiCiIiCiCiCiCiIiCiIiIiIiCiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiCiIiIja2a2a2a2a2iIiIiIiIiIiIiIiIiIiIiIiIe75df0b77ff61253be457af636d5eb7c55a3ff2b6a733beea844d2b294972ebfd22eea091d1f8f7b11a320cedb5acd822469c0c7ad3629d1f50f6fde6194593dc263472e71b9b557264dd066c5f06ea76d0935d25b19b92e9ac7bc49de82f15763485c7ce263c2c8e1076c52d6044dc008a75794aefd670dd259e75b1288c343251aa57bcef1bc9567a229154ee1370395c03cc241fb814555731338d2b695aac7a0cc61079c6e2df53457e63b413e0389f2c0061eb55e80229da932c8f8dbd61abddb32c2275993c297df1b56ce5d8b34eda35f823dfc27577c2b18c26efcf8531067a78ad392f25631aba1d885f40786cf5f47854577162c9f90ff1f33164c7c98d566a13fd599d1c11a375f387fef69b6c595c4f18c5d88c188a860be0e55bfe9c9b62bf4a4b1cb8419282f78bc98f4cde453a0d6bbfce8a7b76177a1af94ae74eb8119aa88532734a84dd782830f8f5cb4dff01cfa4372b1e4afa35653134ad97f34e64abd93e1e32aff017ff8914e3204a76044f1486bc9fbefa07bfdbb26999728e6eefa83b486188a3af6900a464741307e7e4fbe4c6bb030eb765042963d5f8d5d1259e9874a263a6621ca6dd1d57608faa5f28f7d61f349583e07814a404d5bcb1109a33329f0e099fa8c07a8b02401da4e531bbc6de733a90e45aa37484901eb40eefa846308e1da3ff6f240ea98f769a2afc3cf4fdba00327ecbef9b54f0a6c4a21daea6f41263e8df267367f5b491094bea56179a9c3b4ebd65afc11c3d934f8de7d3285f616d0a9129f8113b158157501829c2e452101d067a49a59e2abf1840156e9db8f85a38822fd56ab79a139eb95ec86f1fba1bb87326bfcea17dee8413652327d3d1f7565ac6b32b392a5e424947ede2088e27600346909878665b07bcb76fb3222ea1b4947a553ad0af76fc12b31651d1707980791dca932fd307c4bdc223ae39165f413b2a530b2dbf6323e8a272865da6627535ea3c7d72d323257e4c4c095b611381fd9f336d80fa7ae9104e7b03d14a7df2d9ae9c89a3b513501ebace8e428aea68dce39d0af9f29196e08fc9ea49c99605e79e72fc5037f367472c50ae104f86df35c0d5967968e352d7ea2b944f5909326076bf88e0fb30fa0ab5d0dc3030442ed92713f34170336c4dd2623723dc34829df893f8058df4fec56eb20ff67ff84c86fd3d9697e2384c5a290ed696f6d3187aa45f8f55514d26791588de02fe685af0ab129174b32ab93efa39faf6140b6795d9d9a63c04be41113bc4f1206c12e76fc1fdee6977fcd7c449a157dbae2bb839be14376fa3314ee902f521d932f876420056ab5f9337117877c797ec55da091402e9a63c04be41113bc4f1206c12e76fc1fdee6977fcd7c449a157dbae2bb839be17dedce5abe349ef2d30cd450acfcac4c5be6d3a33ebac7a61aadab94c6b5b17c516c19aa5ba49323ce435185526732bcec5397d6ba5f7b8df95bd28a529d94397dedce5abe349ef2d30cd450acfcac4c5be6d3a33ebac7a61aadab94c6b5b17c433ed97a946ca6cf26501d20b5ec48173a4a4d553e390584f0a85e8c43ad704290b1ea72cb7b351d84f54780c44bf78be875f0ba1937f4bc275694e2c59109e0433ed97a946ca6cf26501d20b5ec48173a4a4d553e390584f0a85e8c43ad7042a41bd83d7ff42a5fe7fe611511cdddecb95369646033e2bb223aa63330df44fc3f3c3622ac5ab4240723bb3ca62741e7ab357fd6d6912b275511052d593645eba41bd83d7ff42a5fe7fe611511cdddecb95369646033e2bb223aa63330df44fcdcc832b226ebaf843fcab5dc7b1bc23dc7b294cac302584b77cca9a816e87c8399230443867cb6b12385fc816b22a0944e669a7e4916243df1b64f7cba8672bc2672df7e7f7c404c69534b882645b14c93efcdde312a320097d42caec280945d15f30a8967e15806acc4900bb91a6db62745ec3bace9d65d7a9d7d65b9b6d06497b1f26464c47b2af2b3cd15f1e52da72f6486aa46d7e49a639491172cc64b3115f30a8967e15806acc4900bb91a6db62745ec3bace9d65d7a9d7d65b9b6d064c33c0200806c9290f5b8db3558590527cce872e2861df825b9e5ccb3569ae70f231b4977ceaff748e3caf010c2ffbf07ed24f039eb3c8724ccec2aa371086bccc33c0200806c9290f5b8db3558590527cce872e2861df825b9e5ccb3569ae70ffc130f05cd833d105c9bdcb6c20d027b060c9ae49025de3613ce87767a8c0fe5d92d1666bf69a5123407deda75ec7b21b4dbc13b936255449763de68a40ee770fc130f05cd833d105c9bdcb6c20d027b060c9ae49025de3613ce87767a8c0fe5add6791e018b703fd701aeb1f8b1aa7906c62cab1b81c83caa8df21f84df7d37b34221daa7ca4f771a82cfcfb7813a10aaad0d4916efe5b822667287d90e11efadd6791e018b703fd701aeb1f8b1aa7906c62cab1b81c83caa8df21f84df7d3730cb0123b69e1f9da889cdb26ec555de7bbcdd5fe8038f1c939d32d0b5a5dca60fd37a5f2e2536a708ca1e390fd00f50e363a65b29ca547c3a4645926049a8a6997285434fafc27c604014bfbf38adc1a81a51a2370b8ac2d3f638440b87a45eb6a3d7c13248bfe382d7742cb9126290c653d79dfff4bb864330babd45185db81ac986ed9d7c1c174d6626903543b5cd2fef10b6075e03d0e3e93ea422c2b2e7b6a3d7c13248bfe382d7742cb9126290c653d79dfff4bb864330babd45185db861dd1614857e1353f329e850715595ae334fa89a4cffb1f608f884655449b9f08b789fe6c22be2017bb4926a98d98e80146830b1cf45b1c43afc360911b934ab61dd1614857e1353f329e850715595ae334fa89a4cffb1f608f884655449b9f01dd3325cebcef6c64ab5117340fb457939790b909ea51673af1166a3af5952b01d823e621153a47a46074c9a61ac1024a8a55e5fc3561f8fbee5da53f73bf2091dd3325cebcef6c64ab5117340fb457939790b909ea51673af1166a3af5952b029d724a5a3df63c32cc70218e67bb860285e47d5e6541104de6cf3cabe4b62d44252204298509cb2e8e58c5727e1e01fb723552c60075bfa9e36cf6ca6fe044f29d724a5a3df63c32cc70218e67bb860285e47d5e6541104de6cf3cabe4b62d40605ddc40afb286cce86acb5f1201050375c7d059917f07aa28aa72751b60f278094ebb7b933bfc74db457bf90796f71f05dc0b68d307fcc24053f9085d4148e0605ddc40afb286cce86acb5f1201050375c7d059917f07aa28aa72751b60f279d615f8b8b984b66365df9bf556e054d557ec3be230c217bd3f1d30d4931fd2fa64ec8e17ba2dbad81b131323a3f2326ca432c982aa592823259201517da7e193f75fe9ddd0ecc58782e8e5fbb060863aad8ca3ac65da708f0904ab596e8de7460231e96554504a0141864a1a6955898467d2946ca7762d493ede0e90cfad0cb60231e96554504a0141864a1a6955898467d2946ca7762d493ede0e90cfad0cb60231e96554504a0141864a1a6955898467d2946ca7762d493ede0e90cfad0cb22ef025f018880833fa36a49100d7ce7c81fd451e591650e5cd16090c38a29a622ef025f018880833fa36a49100d7ce7c81fd451e591650e5cd16090c38a29a622ef025f018880833fa36a49100d7ce7c81fd451e591650e5cd16090c38a29a622ea6a10528c195eeb737fcf945c4710de52a873009c34c0ff3d7bb2543a27ffe4cd7fe006cfde9c1b4a658aaeca398c66dbdb8b6282fa2efc088527774e0ea022ea6a10528c195eeb737fcf945c4710de52a873009c34c0ff3d7bb2543a27ff204971377d1add8684b8c33faa52efe17cacde9a1584b9e53f0ec4e925479b5f35afa65f77e21c272ae5e773bc621d56347e8a5b702e19ec6431d049ab2635e7204971377d1add8684b8c33faa52efe17cacde9a1584b9e53f0ec4e925479b5f5e1dbbcb8d98e4be4896a856e14988d2b287cfe86cdc830321007f8bf6a14382c8ca7c8fcd90070594cfb6db1244db251d1bfb63e3ac2ffa70c6388c75b583e1e4b4330c7679ba1a1bd8f49faf8f9104e298aa04c8ffe6dee0f04884076809c1116f3e96cbdc4171b371677e64b0c8f42a6f40dcb7df2dc54ed7928623f6a0d754ea9a7a1e387c2300fd72b2be317ce8184c18aea24d9b95523fc119685a6cf1a597cd97c169b2d988a753226fc398acb091f355d83d41c950479acc7c3fe2660e6382be8a0a9f65dd1684146d918c42131082b1e85f856a3077916d9b12b4e792ae5faec37343a2f3391412ab91ebd11b7f3eb84c45ba6326375d4fba3521460e6382be8a0a9f65dd1684146d918c42131082b1e85f856a3077916d9b12b4e750f67ed0642683948db3ab0335e50a454c1e825160599b5a3d17519a25eb347772b446c3740cc9f39fd5e51f077c1e621bfe5e41829e1c4d891337822e07201d50f67ed0642683948db3ab0335e50a454c1e825160599b5a3d17519a25eb3477f715b667228230d364a9010ba293225789bf3a9c122552dfe74af55d2ca30de2a6b4db656888f0e998674e99d4f85f6a47243b37e0e28c9648d9d91c3e405358f715b667228230d364a9010ba293225789bf3a9c122552dfe74af55d2ca30de214ce6285c20a3f9ed482d12e133fcb770f4c159a1a1516b78c91f21cfe0a6744ab5f5d4e7789ddfe5821608bb0dd3dfae62a3a438dd4691a0aa028c667406e0f14ce6285c20a3f9ed482d12e133fcb770f4c159a1a1516b78c91f21cfe0a674427534d5d4a4d03353c506da6a09ce719343df13396ab6d95b830f71897836197a9d49940f41363ab6a46c1b4c1e1dc96547e8715ae73975b5577b73a4a28e6bc27534d5d4a4d03353c506da6a09ce719343df13396ab6d95b830f718978361970c501b95ad5da618baddfdefe532f66b4481d9c8d6b1aeb229778d0aa265e81e0c501b95ad5da618baddfdefe532f66b4481d9c8d6b1aeb229778d0aa265e81e0c501b95ad5da618baddfdefe532f66b4481d9c8d6b1aeb229778d0aa265e81e4ecbd9f64eb2d3c80850d8a150762f640e45cd1e39c92ab29fa146441043577b6c547a83c408fcbd0ac950ba783112a26d27b33c61629594be9dd6ba04d89de34ecbd9f64eb2d3c80850d8a150762f640e45cd1e39c92ab29fa146441043577b15b0a27a214ae5c9ae5e673b2b2cd71561f1010dd14dd50bc10c04cbfa2084e97574953672fa7769f0476bff37090a7ae863b34c943c7b6e1c5885dce0893cc415b0a27a214ae5c9ae5e673b2b2cd71561f1010dd14dd50bc10c04cbfa2084e9c92071fb9d050793b6bf5ff2096007759408cd3ebbb537201ef4d56d42d4e4dd43b686690ac21ef434f4cc25c2b594df97fda03cd7a87ce9c4ac815dbb5d3414c92071fb9d050793b6bf5ff2096007759408cd3ebbb537201ef4d56d42d4e4ddbac29e454896c34f73abde134c5ce144647fff29546a607c84cfae792e1083e71b9814399313d04f5ea007068916193b9182d49b1a5236f7ca741aab1a746fbcba89785ea1236f1e077812568a432e0de60aff16957cc55169fd8cd1b05502abf520a0a3011645bfccc6b42c805620f3bb85d9dc51d3e3bf8708e9f1c466df85f52ba451cd70e0266d09b07c349ed650fd2488050d588d00f7aa006625e7090df520a0a3011645bfccc6b42c805620f3bb85d9dc51d3e3bf8708e9f1c466df85d0de5bf2cb5cf31b4851fb03c17da9954b4c758d78d0fe5c4e62c55732325cf9661432ac1e1eb9e2764e0a3c41abbb645f02115efa409a530b00a5b505b9d40cd0de5bf2cb5cf31b4851fb03c17da9954b4c758d78d0fe5c4e62c55732325cf931de5a053b3d140629be6625fc889922753dc7a9b29e670bca7303edffcdf862317c116b464a1d7f4af4c9ab77e28697da3fa280a3b671771150d660cd3a7f4f31de5a053b3d140629be6625fc889922753dc7a9b29e670bca7303edffcdf862255a97765116e775706ff2bf5c264b548f2c034fddbc4de48497a3a4daa594051167fb8bf74229e8d5b19100036399f8d7b7a010f49ab499caf39926c64fa784255a97765116e775706ff2bf5c264b548f2c034fddbc4de48497a3a4daa594050a6138f4ca1625f7eff01a5858a42b5f3c171173e8786d5cd6d0fd7d289ab8b70a6138f4ca1625f7eff01a5858a42b5f3c171173e8786d5cd6d0fd7d289ab8b7e83c006b93f50de634f72f646eae95f86f6be2c70f9763b46d03691d7a1697ce4df402abec231b3a886a696fbc946c21609df48921c6903832ae017a1ddc192c17dbdebefe98437e896dde353e54f921e3189945aa57b39f0cbbcec5f476fedbd52df1ce3b772f1f20c6535c388fe6883020846656d1f173377a8a07f58b899c0c06dd4e1ff96f5086b474bb4b8a6c059d299131b9c7c55e4d93d59184e4c4fa99b0b4840f5d7dac284f7634ec287b551b1adcfdebee6f7431af7e8d918f9efbc341722396ee010824280cdd0ca5518592dfaa2d63914fcecec61c7fb7d51702b0ec057bc816cc2d3a6a692982e2e9640d185dedccb1c6c3f46cd7c1475bb566ab0e716ea55a6f8a0dea8d27756b441ad1922635c5760c2dc3e618e647fd78d2b0ec057bc816cc2d3a6a692982e2e9640d185dedccb1c6c3f46cd7c1475bb56636d6f4ad6eab8aa868ed66208fff120ef88fc93709019f9bb5541c04af801bd82fdad011770568f6b4fd43dff20807759c53d6ea2a076c64c7c6f7193bfd630136d6f4ad6eab8aa868ed66208fff120ef88fc93709019f9bb5541c04af801bd896de368841d5c546cc44bb9b23835a379b61a50ec3526e1e602a5b76f1b52c08dbc94b338b74f9dca66851e09efdf8ac5e1e15164cf8091c02bcd05f1adff74b96de368841d5c546cc44bb9b23835a379b61a50ec3526e1e602a5b76f1b52c086270bdd8c28190bf8f3b4f11eca7949ccd5efdf459340e29d8a02d29eab941cac41d57cd440ee956f1059e6247d9a2440e3ee9933db4db45a55e18e92c4b15771209d08e8d466fb00706631622b553de62dd6fb31141bde76648a7eeb279fada4d5e15b061ca1c277a0227974b072838d4bb9d509fc42732f97294b321855356a196f4b08184777568ef3ad794add0dfd685fed0e8ac02e8132abf57ffde13a84d5e15b061ca1c277a0227974b072838d4bb9d509fc42732f97294b3218553560ef229165518be35e934193d462d15706a7b69fd1d4dc589518bd51f79f44b207faa027ad10e5e5c862da1f28cca44924e3891f8b28858e7c8385b017958d301b6c046a6d5e2ce2cccaf1b15c30ad8dad5f923f367d7d4a3787bc9bdada3396fe2092ecdaafd3df8adf2ba6b4bb53cc80bd6be39de51d809bc7afccba62e2e4f50d6a1b019c2a0ad44c9ffc69785bc67d7406b99c02bbdc112c5be91cda919d8e2092ecdaafd3df8adf2ba6b4bb53cc80bd6be39de51d809bc7afccba62e2e4f8aa2a7790615dbf6693fe124ab094c40293a35e3879862747a4200cdf6f758588aa2a7790615dbf6693fe124ab094c40293a35e3879862747a4200cdf6f758588aa2a7790615dbf6693fe124ab094c40293a35e3879862747a4200cdf6f75858e8151181546d829152823b921e9071cd2812b343da8ce2f4406158352d3d1ffb6d85b42f8bf4f5b6fe002a1703202a9ee06be34af1261cd971b8d3d277eb065ae8151181546d829152823b921e9071cd2812b343da8ce2f4406158352d3d1ffb6b0745a0e87fb2dc4b1f8e8a3ad5c89d62c250f6b92150038f9ff814b91efb6d2d91b98a0407577e90f7a88a6daa4a41082409838edb2c214ca2f7a9c8999ecd6b0745a0e87fb2dc4b1f8e8a3ad5c89d62c250f6b92150038f9ff814b91efb6dcceaa3f9580b7883598e067d7a519f4e189bb3b9f7454f93302092de0d1a6f9a25db4ea493ceff2940e70b40c5de32944ecd93c97e0cb4d911793d86edfff30fcceaa3f9580b7883598e067d7a519f4e189bb3b9f7454f93302092de0d1a6f9a134d00fa68d12e9177fd982122b13dac5f1e2e85aeb4429308957c3e53de12155918bb30181bfef518f359d27e2ac39396a0b8e273ced2973b30c04b611467f06006ebc69a3e5f7bf4d2b2bbce3cbbf628da2d01b6ffe249655732f27ae6be11fe136f52f9765846d6cb265c0ddde198e122baa81f4e1658d3bb72b2c1cec639fe136f52f9765846d6cb265c0ddde198e122baa81f4e1658d3bb72b2c1cec639fe136f52f9765846d6cb265c0ddde198e122baa81f4e1658d3bb72b2c1cec639bb2cc4b6a3cdfb29536f38689780709942c311791cbcd2a81349d31c46a642bfbb2cc4b6a3cdfb29536f38689780709942c311791cbcd2a81349d31c46a642bfbb2cc4b6a3cdfb29536f38689780709942c311791cbcd2a81349d31c46a642bf0e3ee280da8d5d5c5f1d91a0cb35523564ae6acb6e9022d36a92800c779d8398b3f9c5e280d42d54d0f0a39a95e19f1d098c87635112031e5817c416222b06910e3ee280da8d5d5c5f1d91a0cb35523564ae6acb6e9022d36a92800c779d8398a0c13a70a9d5446a7d6012821f606b7ac3fe98ff4c8331255e97b29f220589d72edad0649c253fb9445dc631d8fde2755f4dc41c2f588e43fc0e0aac25d03555a0c13a70a9d5446a7d6012821f606b7ac3fe98ff4c8331255e97b29f220589d7a3edf71bf149cf91401624b9c0129870e13e59ad0f863a75998848b31524103a2ba4f66a7bcd99018d7354895347da2cb6a86028cbb9a124af3316e247f0e344a3edf71bf149cf91401624b9c0129870e13e59ad0f863a75998848b31524103ac9a7a825ab3f74e92ef55efa9e8990bf3c8a2355d11304f9e201773d779ea5aec9a7a825ab3f74e92ef55efa9e8990bf3c8a2355d11304f9e201773d779ea5aec9a7a825ab3f74e92ef55efa9e8990bf3c8a2355d11304f9e201773d779ea5aee6e45b12534b73f8884d219ddd6d34a3378071ed07f205325668d6ab186621c9e6e45b12534b73f8884d219ddd6d34a3378071ed07f205325668d6ab186621c9e6e45b12534b73f8884d219ddd6d34a3378071ed07f205325668d6ab186621c9c82e442d52092738466e88e026386e2f40be6d0a66a513edfdadb53f33ebae90450d4a9483516670e02c07b48672f8d07a7451ed2a60432a6d391226c5c038efc82e442d52092738466e88e026386e2f40be6d0a66a513edfdadb53f33ebae9063339c53bfbcf93a1db6eec774e7a914460e202848bdb0ded78ffca9240719456a91038841c5530f5da46c7ac7c8ec7681929992ffcf214358e679b293a4271963339c53bfbcf93a1db6eec774e7a914460e202848bdb0ded78ffca924071945e614f387dbdeb17760d9bb4cd50ae3091545f1285b9be0f5ad4b9a8c9eb930e96cabe6c0114a39fc378d91238279ed629b1a1ba65a3a9d792b4dc75b318c39137ffddac56236387d1143a42f07be881b625621be976faf3034b6f932fd79fe53c8eb28ef7addf5a664a7e3addfbfebe29040a8695e1db515828305aacba2ee4e28e8243b6a3f3fe92243ad474f808c12dffe608019627d48bc2e4d7b39185b455d580f5399568b375efe24fb7db6218d9264822dec25adec25c6d9640b854b65020cef86b5c31e96a3439d09252183f3eef21d4a103a4a909538bac3d0f1d4e4de42667bb690368459585dca6bffecaef498217ff74b9266cac74bb8af98e26730caf7524234fb85e08f01beb716e1a34aa233051fc0c3798a6b085aeac5b4663a7a35f40aa5d22c7fa74a889838f5c69631eaad0a9f4b70e6a439999d419630813aa76a1d93176dc33843b9e5bd4e6165886162d91b19e080e9c5adb30c05da1fb2a050c4e7c354b1434063e2a661edfe08852aa8a23a6f1621509832384856e9e38f992c807348eec7ddf175025ec6c149c20a7c2f597c99352caaa03e45577142ec668ee870cc3b09b7ced4a0592a9a2da5f7ccf8a314b1ed906fd7a30248db8add0abc885fc629c6746aca77cd40026b2dac8d7edb93f1fcf6ea9d28334f4e583b43fdf9bd4a731d70e074ee597aba03f3c8c36302bdc7e74650fb1fcc115c2cee869bed6e5169e410c4cebafab702449b8743c6614c0c90c85130b1ec7d1595e2034eaa93c2ca61854038e64197541906b3402c448b176e34a5af9b6b09b51f28a5d49a8a6775fad9bb944b47d65da733908b432b6cd0038ba99e7e3975ffecdbd3f9ba0d71c6e59984f8384817f0fe5b0ac69ba62e1e40a31faf596a6c26f690842feab34887e9863ee013180f93949b36cf3ac9643940968ddc1acb443ea7600c9cf97163c89799bff4dce3996f68fa6efccd4f66eb3867b754762f8cceb2fe1e3de8fad3c95d83407a829abcc028b8b02f85e4661c9c934129af1ea98ee037eff39bb5253b3bc2048ba149f43deec680fdb1f7dde421d9514ea3b32ba37b21cc6acb2a24ace550fc1a55852ed068fb2ecd13011ffa3ba5291b7346d0d8e97a030281647351ebbe56d9b72a581af69a9feeca7a8f5d09a9d3179963c0bd81f83b170583a900f3779f0cf8662ccd25479ffd2f063a6c4fde668a198ee015a3977f0d2c6a8e87db2ef7050ea10afb3a88b064bf5ef95439924e4246411433ffa2f718e123fd1c4e536bb4a471978515787ee9fbf7806a92073a787a733a26101d297127132c5e9634499f41ad00e125ea308343a20b278bee9e9225eb5cbfe6188362a0bc7db8b94c3dd313b97c83ad6d10b79451fd2a8a4bd773cd392b228f8efbf4c316bd701b09a72b084a08248e26a346c6a7636a142391a8b3e674cfdac790ffd0ec15e48d1d9299bdeffad63a04d429ac8c09c79ed25ac40256fd5e92cabe2fb7452bda3adf58ddeadc30d52a64a7ace4b66ef9beeef13b63eb56cfdac790ffd0ec15e48d1d9299bdeffad63a04d429ac8c09c79ed25ac40256fd7e3e770470a92b5f2cc40f30d728387671b1c378426067c8ab1d3b81c11ebcefcea3167df81a6c5ae6afba5599d63aeb639cbb2bdd1bc5000fb3979c267bdc317e3e770470a92b5f2cc40f30d728387671b1c378426067c8ab1d3b81c11ebcefd733d9d58ae8aae9823d71a896f9ef9a8a360662d124c9bcd29fe0fe067bf3b14abda6b6500353b49d62897db33f70afa3bbd4cb2963f2edad87669ed5eddaccd733d9d58ae8aae9823d71a896f9ef9a8a360662d124c9bcd29fe0fe067bf3b10204400717861a70758d81199d2d5387eaad7031ef998d66c53d00706806dcb2b18234e0b11dc4dd63cfaadbea54ef80bf3ce6c75c5ae656f46cdf5d7455bb620204400717861a70758d81199d2d5387eaad7031ef998d66c53d00706806dcb2302e06508f6e7fc02ee1cdf21ebdf8a878baaa61fa28679f3e2f07b527695de39c52780b930c347c9361a51c94b1962e3803940ee684705dbf7681b0489f57a5302e06508f6e7fc02ee1cdf21ebdf8a878baaa61fa28679f3e2f07b527695de3b166db2a64a20cec0732fe1edb84eb8a1404ae7497b06b1340d278df1e2c2d62d04b7ad5cc50b42d1cf5502999755d0b2b0e2c00d454b4309510b0a694b3ad12b166db2a64a20cec0732fe1edb84eb8a1404ae7497b06b1340d278df1e2c2d625582e93b14c1f40709c20698b805914ffc896e76e7e056b8da0c6a0d89d50cd9d3e8a0dee9b398938063f28c667374d6709bf4f26b80e35d932f4c1a3083d9935582e93b14c1f40709c20698b805914ffc896e76e7e056b8da0c6a0d89d50cd90f8a9f2f25de835e889e1b3c8690c672c6dc3f71ef4248d95be14c16fd363e52becaf5759c4a03ba1fabd2a6fa2ab6771c70a2cdd8f1bb16803bcb2adb5b50660f8a9f2f25de835e889e1b3c8690c672c6dc3f71ef4248d95be14c16fd363e521a9ea32e3ded29fe183090114c176a5110364602ebed3207ef735cadd68d35bd245e7293a09ea39f56f9cebf91f4fa9134bfd3187f6df5d16ac2daa5f7ff1a571a9ea32e3ded29fe183090114c176a5110364602ebed3207ef735cadd68d35bd634219e00d4fbefb659ede110a106aaadfc6d6a2bda5734ab8b4c3e9544d8a4712834a702aff85e98044c6b153d704692525e5bc7474bec7dea77c60c6a6838bd4f05a048726178a0e8d9c0c0de8b90de054161a9cabf106387bf3aa0b5732b91d5a09a2667461f60fd5d6c2234de8b3541db5daebf460bd3647728c8fa0a8c0c45e97e5b5e2003a2f3609e9abdb19990170ad0efbabf660a77583855b1bfbff1d5a09a2667461f60fd5d6c2234de8b3541db5daebf460bd3647728c8fa0a8c074b422cdaf5e060ecfaa0e668cdca151d99e212f29867ac7f4d3af4c48b2a48212601569dc640a5d8804abe019c16065fc71ba27d02c83c4a86f3fa0fd6b800c74b422cdaf5e060ecfaa0e668cdca151d99e212f29867ac7f4d3af4c48b2a482d1eefe0ebd5989c2a21329afc53370b4515e92357a54141bf801f937f774ec1b69812dde75e689c1901ab58424ffcdd4c90213826ee69bba293638df59ca75fdd1eefe0ebd5989c2a21329afc53370b4515e92357a54141bf801f937f774ec1b7fd50dfa5be91156a8abd73e372be5298144acb508065947d4ca3439897664ba3a3ff94dc3e5113976f7eb2b041f1d487b12829c331d2ff1598fa19057acde7e7fd50dfa5be91156a8abd73e372be5298144acb508065947d4ca3439897664ba08b6c8fa13e664688fd3604b14f51d3d6954b317a5c59c7d32c5c3381fd97281fb1eabfc19cd623445549664cd123b8ca1f2d7d4f1d047b9c51709efc45f530b08b6c8fa13e664688fd3604b14f51d3d6954b317a5c59c7d32c5c3381fd972812368f77d9d77cf0b64c5647c70cf06ccdb398bdfac7b0f01c5416a1081b938c501ce8aa52ce7e6499d97878b32db4e3f8548ed31d283f4b3e8933df78a10e1e52368f77d9d77cf0b64c5647c70cf06ccdb398bdfac7b0f01c5416a1081b938c5eb51b9d208c3a70997ecbc40e0b07c64828dffef94c6b577e17a0ff969ad6ef522bdb3e289c5cd0731d39b5fa171d01d93ab4ee70f0b15a335dd72860f78cb94eb51b9d208c3a70997ecbc40e0b07c64828dffef94c6b577e17a0ff969ad6ef50f6d637419bef1118c8193eacf4c4bae249c0761e82ab34105447cb1641c66dd44cf8aebe2a59077fd5acf321246f10e22de81e5a0f6db752fea0d051d93e2800f6d637419bef1118c8193eacf4c4bae249c0761e82ab34105447cb1641c66dd0a1cd81366cd7352cc3256053eb53d8b48aa655301634a652741e241cf6c07f101d74d02c6047abcf4a79ee9116165e94acc0299e73db05d70d62ea6728dbaa30a1cd81366cd7352cc3256053eb53d8b48aa655301634a652741e241cf6c07f175492216ba6d611cb85ffe600ba0607614a7fdc709cdfd99e1d3cb2c151183e065330469f67a32af66dd4448ae03fc9b872c94b6568820999ef8d7a40f04f31475492216ba6d611cb85ffe600ba0607614a7fdc709cdfd99e1d3cb2c151183e01f2ec8826d3ab0d33a39e35d4b18b697851efb791a17427bb217c15c8ae3e5249082a7400c66ce9729de67d6f96a4e3f138fc43b2049a7b7484950fbdff7e1fc1f2ec8826d3ab0d33a39e35d4b18b697851efb791a17427bb217c15c8ae3e524146e39253f5a95d6cb34cffeaadc646f53a058af5fa557353c2612644ad4d546fd11fadfed1fc6f56c185a01877920cb974bd95e4f326aa94846d9c07557c82e146e39253f5a95d6cb34cffeaadc646f53a058af5fa557353c2612644ad4d546ea328571f8383d962b30e545c4c9f9ad0d501b87996438e88a88e6846b4fd44af422975afe95c876c188044edab6ed576d7534d752be596a27b2c45474ffc306ea328571f8383d962b30e545c4c9f9ad0d501b87996438e88a88e6846b4fd44a431231b08553f3b29c65d2ada36a916128c6dfe43fd035f0e099d8a3bd3db367eae6ce678abb39d2146627d95a342ddae59ebbb3892c21837537cd011a04fa41431231b08553f3b29c65d2ada36a916128c6dfe43fd035f0e099d8a3bd3db36744ccd27a22a07b503859e793da3b5d43a548defcd771bd1aeebfdd77ddcaad1069e1c7205d6ec4b72f8e466903d32d5275fa80106692cd0e78b7202ed167ff3f44ccd27a22a07b503859e793da3b5d43a548defcd771bd1aeebfdd77ddcaad102964b533e4fdffcc83b9b42d98e28418f4b1240b93df7ff449aa9de1820d86579272df655180d7be1e0fcfbbdbe430942421c1f6fdb34bf3926abafcf6664a5c2964b533e4fdffcc83b9b42d98e28418f4b1240b93df7ff449aa9de1820d86575a1320db1141736347c40c2e51dcda97e8e379285340e32e45c768459111d69b0ca4fbdd9c5a087f96a52c7a1c44fb6cfe4e76257b043f4bc0b2297904da7e345a1320db1141736347c40c2e51dcda97e8e379285340e32e45c768459111d69b4b734e072dc8eabf1d1999ab735d9d1a23f9d51918a90a601f6c553a4b12143a7d15451cfe52ebc2f264d363261c80da7bac2451fb94a1f25e440b179f93938e4b734e072dc8eabf1d1999ab735d9d1a23f9d51918a90a601f6c553a4b12143ad8c0acfb09694974f29f8ae470e72c2ededa6923a3f7ec0f7e295dd9e7b7e150aff2bc372cbb036eb926594fbd0039ffc696e13261707026b5b9732589b5f8dfd8c0acfb09694974f29f8ae470e72c2ededa6923a3f7ec0f7e295dd9e7b7e1500b4d44aff93f13fb627067bb7fe27a95516289af717f313e6282241c42aca49c4dd6a1b2ff625d2a46287e88d0835afdaf22db349766e1a7cf8d8cca178339840b4d44aff93f13fb627067bb7fe27a95516289af717f313e6282241c42aca49c2eee0b8e5aaff1584866844ad2f644130daa62d1bd00d45e338b8ef80fb2f9747955205d542f405c5a64818c8cecd1ee08d81f83538160ad83fe7f63d27fb6a40cca3b714ab51ea837e8435ad6b6bb7bd6cff7aaf9cb43f87e1ace3476956ed8332550b6d4de657a273f6a7aa871e392b876d4fda2ef6bc36e78d1b6176298beca00bb3d9e7a0ad9a8f3d866742e1d1ee715cde67a342a3231d11ff0acc679bf332550b6d4de657a273f6a7aa871e392b876d4fda2ef6bc36e78d1b6176298be4cf91622e5ec52656bc95f3924293c0f4b7d981cdc7ae7aabdc59cff6c061b4e102c1c3cea4f214cf003f4bb1240b085b85ddeaa5ecfc956d79c3b55a492ae284cf91622e5ec52656bc95f3924293c0f4b7d981cdc7ae7aabdc59cff6c061b4e841e3a3570e79d1497e827fcd386330fa117e6e1135f05f2a26f79338acf0f5cbc1c8d64588f641b289799edf99a79bacc84db753e2b91c8428b2b9aca891482841e3a3570e79d1497e827fcd386330fa117e6e1135f05f2a26f79338acf0f5c4c687dc9e6cf060f90bd74b8d746d59a575d453bc82a8e940194f00ec9d49b529c04a7b2d7c5dc7f595dc6ef76d978d400a179d980677747f8a9d57073dda62b4c687dc9e6cf060f90bd74b8d746d59a575d453bc82a8e940194f00ec9d49b52b5566390919f4afcb42fa06192722c4d1ed458c11bd13713be7d1e721ff80e972e350611afa6e6eedfecf4dbf9a5069f7fb062ba92f29bc510c66b529b24025fb5566390919f4afcb42fa06192722c4d1ed458c11bd13713be7d1e721ff80e9724dbf99565a58b0ec46b80576f476f810e45d6a2942cfe0011169e186f18d559cbe4f9e3ebf83920aed14f9fbdf63ab002932fd550999b97b9e6db5e9be26d5d24dbf99565a58b0ec46b80576f476f810e45d6a2942cfe0011169e186f18d559242f1ab1266d9d47a5ccfe95e1800060edaa7018974605524937f5a3949d6c20b32d0bcbeb0a9135e78120a018402b0dce524fa79137975b51229afb6dd2eed9242f1ab1266d9d47a5ccfe95e1800060edaa7018974605524937f5a3949d6c20b2a55e6c11ce8c8d4eade54a38dc33576900226333a9583fefedfdfa746a4e34ef1e58aace9299cde6955680d7db846eb182fe22cdf2184c58b7932d74b4a3cbb2a55e6c11ce8c8d4eade54a38dc33576900226333a9583fefedfdfa746a4e34b43b8dec0f433fccb97433008222b3d62b07ae75c76f1da24edc70dcc62cdbd9d40bb2686a1bd58ea4320cb54a40cf6584783019c2fb948eac6add083e84a455b43b8dec0f433fccb97433008222b3d62b07ae75c76f1da24edc70dcc62cdbd975def0909cfe5c9de2612e3000f81077096abd69ba1b107eafa52061b2c6eb982b2118059cfde1ebaa8808474a5f67b8c9988253fe5ebdcf594ea2ea90ce953175def0909cfe5c9de2612e3000f81077096abd69ba1b107eafa52061b2c6eb980d05fceac177155996e0b3ed52fe7b5756481a9bedd62617e28571e87635f28fd4d38cd6bc423c17d0180b73ed08b9937e37ca2e3c37fee9f7cd175518a6d4ab0d05fceac177155996e0b3ed52fe7b5756481a9bedd62617e28571e87635f28fd0f61ffd4e389102f04a1aead66a762925d94a3a0351915b582dcc625c2d10affbe98271f0d2caf3b7aea6b780df27e08c6b60d6af2de6cdd8629399ee20e681d0f61ffd4e389102f04a1aead66a762925d94a3a0351915b582dcc625c2d10afd3fd79c96a3c11b6c636474e9c53f7211a8916a5407ea2232711ff23b081d9a634cfd7f9979933223e3212eb1f7d5880da33cbd254645af2f52798e4d54d8496d3fd79c96a3c11b6c636474e9c53f7211a8916a5407ea2232711ff23b081d9a68e81619381e2a8e9965994c154ac72e0661484452da7e45f9a5432f2f4ce6df69fb6b688b8e42cc629fd2d51fee9ee54841f66e6fbad702fea099ac320c9cc2e8e81619381e2a8e9965994c154ac72e0661484452da7e45f9a5432f2f4ce6df69f65c8b33f0982d52663c01462cee8e4ade354f6aa74d63dedcda8fc1f83a706690914b38362fa76a72add5b18e32ee72c05a49a489a340cd7957cf2582222069f65c8b33f0982d52663c01462cee8e4ade354f6aa74d63dedcda8fc1f83a706c1059fcef4c0f56b152d8f8a864cfbb0d0ef9e90847897ea7f8faa394214180caeb9e898249456d44fdc61bc1a5326237190a3b9afe0510030a5c93cf76dcf97c1059fcef4c0f56b152d8f8a864cfbb0d0ef9e90847897ea7f8faa394214180cd9212b3d932c229dc110a0ac92516842e9b7cf2a3ca4f5d4c313bc5771c3b14b1565ef73c2ff467d7ea62d5670b9c60728fad9f2cc7e0d85598ac65d60731efdd9212b3d932c229dc110a0ac92516842e9b7cf2a3ca4f5d4c313bc5771c3b14bbdcd6681641335c7c2c13f85eb5cf3dc9fb1946909b52b70dd6486099894dd1fb7042eb09eb01525908fefe811b0f04d88e40326e77cd2aa73798e9d47576e7cbdcd6681641335c7c2c13f85eb5cf3dc9fb1946909b52b70dd6486099894dd1f01281075f59a8d2f8dfb731e971cf6fbd6c14baaaf9e7e423a62f7fc774654ee6668a3d8cf22a0d13b331a4d9886e08b131ec0c4dc34f531483a75de2754e98501281075f59a8d2f8dfb731e971cf6fbd6c14baaaf9e7e423a62f7fc774654eecda90ba9f62c4ce9e937e13f68b41e8876144f003dffa660b99742c6b0d6ff43dadbd15a231a474dff989038539bc6afca47084f13881550cf5a3e746deda885cda90ba9f62c4ce9e937e13f68b41e8876144f003dffa660b99742c6b0d6ff4398daa5a7a9f3edac5a35be0bdc5cf47c27ced7275d8523c8244ee457c48c7076345d2d2b2c4b441d311135619e1fbc7c45acecd330195a5c8d1e88c434061a6a98daa5a7a9f3edac5a35be0bdc5cf47c27ced7275d8523c8244ee457c48c7076559c573e37e519d7a860495ab4afd3a436e485d49da93b86ef36b5515d1f4b92a901c5c7eaf17da61898d9b30404b72c17f9790e5a93eeb4eb294fa406989ee1559c573e37e519d7a860495ab4afd3a436e485d49da93b86ef36b5515d1f4b92a663490ca91a4bfb1b9c6822166e4dc8b9ffdd394b4492758fc7794906729bd47e258134aab64fccbd3ea0451b76e9ad9e2aaf0c833ffe8cf736d676fcce8731a663490ca91a4bfb1b9c6822166e4dc8b9ffdd394b4492758fc7794906729bd42a3101288eb4f75770acefd11294d67bc10bc59a8934e1614be6ae38c48a4d1b089d7c84dca3ea8762e9975b6802235a0625db6c579182ebbef2b607b23480232a3101288eb4f75770acefd11294d67bc10bc59a8934e1614be6ae38c48a4d1b03efde1396944a0ed6f0b7d46618da9040d897d5a7144a015873924d1d76786d49008481a367e5c5ba5aa0544b6efff2a3d80f8114fc3d55b7cb98c6637ff08b03efde1396944a0ed6f0b7d46618da9040d897d5a7144a015873924d1d76786d7a37bd5e866eea6cdf4e3b2cde3ff7b5adfc2138738cdf9f05f5309702ba34807a37bd5e866eea6cdf4e3b2cde3ff7b5adfc2138738cdf9f05f5309702ba34807a37bd5e866eea6cdf4e3b2cde3ff7b5adfc2138738cdf9f05f5309702ba3480c8c05317390ef10b212895922a97383caac935ebb59661cd8f93d1583856703782c19cc49d573dc0f6fd7321106b09db7a028e7c121f495a3797c7d3ce4d163dc8c05317390ef10b212895922a97383caac935ebb59661cd8f93d158385670376ef3e9cfb1ea1185b1a9802774d37b36b8f137a799e4392a17066528faf6574e35ba41cb921dd3aa99cb509ca213beaa134d5422f49b64fe635b11586319c8436ef3e9cfb1ea1185b1a9802774d37b36b8f137a799e4392a17066528faf6574ec17b1ece3bd0081e289f5930c9c2f002a1f109c217df3abec5bcc2eb8edcf5738616f588a41f9175c3681d995bddc4904eddef0fac5e286a3f662ab6a48e1fb7c17b1ece3bd0081e289f5930c9c2f002a1f109c217df3abec5bcc2eb8edcf57344751749da40a28ce3af572dbeb3f87a62d5848d824dbaf59cbb12d78215db0ed23788523a3fe9ef08399a83012eda35e2f801d7af85eeda0d664fac9294f77744751749da40a28ce3af572dbeb3f87a62d5848d824dbaf59cbb12d78215db0e834fc126b58b945bc1e8bc6d6fd8ed8ea2a0220216e25566934200c8b06a4a1b4982a9ef89c25d776dd4a7ecef90e5d97887c9e09e48bcfdc233a6a1ecc576a4834fc126b58b945bc1e8bc6d6fd8ed8ea2a0220216e25566934200c8b06a4a1b6c9626928213003b3819ede11ab16488de0b6aeab7a87bb29ac5dd04d98832da87af5f553fe109977f01e43fe741bc350a15f3cad3fb5f2e09220744193d391f1e17e29c173171fcd763b2139b6629df2c0ce6792b057db2012edd3e0a49ea7743421286ad234a4240f8d4bc09f67bb58da0bf9d9b07bf93010989ef2c17f2f8cdae01f8da8411c2190dc4efae37e0496503a57445ea8b3d43a9e5fc50d74f7030ab335b5312af5ca57b26945c7297bec89f31e90d70e7c8cb0a2283599ab40f5d2d4ff90ab4bc9ef0903585d2fe7f4272263535af1dac98dd4a7a31b5f1759b78d40b3fbfcc67c431ad234b516d1825b17498a5dfc77ef1957d0fee36d311aa6df5742e1340743cc9932f3876bafe243e3053cd3a5f060935201708181666667462c048c689f82c3ae6b5782a18776762f88055b80ae77a92243b6c0606e004f00aea254728b67ce3b77880b3bff50b4fa66ba25ed71122d3453fa9319370783f4b14a1bc6adb09319e651fbd51cefbba97a2633e548c3c3a13c1a311377970e4e793bae777b06206a3e368053a2c94218cec72b03ff462aa22b09051c2dce20607730edb3911e3c72b8bcb0f11f27cd131cd54caa619c9afbb9f62a7f77c6dd3aa8c8a3bebaa05f55a03bbd904bda7adfdbc7b82443abd2b007e96c4fd35231881dcf94b0a44fe355f2acabfe25d8d67871402bbc19aaab37c6ff955575f1def57a0f52368c104b2a3b3551b3979751168b1ac42b7eafa1c8d5319bc95dc30e35a9f45b223d5c7e7f3bbfd8bc6495b1156c40b0ce3747ade0aed7b41aa23ac22d74368ba175175b9c14315f9d82fd7ddde60ae93d2e5572e9a647de7e869eb559d39df8c1ff38d177943f245b87f5379ee5ea93399fd6b5f7bfa882e6ed8caed3800137d48ffcf86ecb71afe5a24cd9ed381571f23036438ba8a97f502326a001464d2ef94de500cb053cd345164d696f7f84cf38fa522c77327ab04d32982d4cea5fdba68fb9e361541820d44eed003c317f4ef14bb9df3406b8d2c53ef7c73097d2c8187a17ae6a83ab6e2cf935a1309ada7dac041598e77bc618b0fa3e1e39288f4326136cadb4fab81fe31223187136bc3d9bdf65a9d67fd152e50a6e91d152088e94e1faa3df4b900cf2904458bbcc72045dd3d830c317fe2c9d9c1c66319fe7810ed91786b503de80701a291a4f9abe54c9e101c19c0917b709e62f3b8c48f3280ddc7156fd22f58360c617e25c8d145931a9aee74a2fa7c209779c2a2435bb75863215a3ecfdb268f52508ab001d6c52431ccb51595109ba013a4322ae5fde71364b4d201b1b691bfe21a91fe6c0257d6c1ca334b0f7898e8c69238c6a3d836f26771782f53685da5987a1bf57f41159e8a38352131656d07ae3dad883aff74861ca976307358c0ea3487fc783717abd5516059b9c5f88114141e684f24b52dbc02c8e59a971b1666cd0f41cf768c0837e8abe744a7f6a559ef9ede58e39e9bad047053a0dc5f27a31ff163452166c9db4ece043f7c77f985bbafa9e0ab7c528b32bc9b74d659dc4d5323e7b6d2d718d4eada7d0cc73efc350dff6da7d9c5085ff5c64232897f6ee0a09258a41a35f153f47ff0f3b8fa97ec67be9e133b134a46b23cf2c635be3116415fd388e3a1c1581bf1a77d7f7f0aff3a725bed01d8a3a88b85b65322b2256d3d90c746ee6194e0b46afd1b0c7a873ea24716a242e91b093b93210ab422d5c638d7a57feacbdd99357b3b0a90dbf5274570ce229553dd85ecb87d114bad1e615f4f9aa0c0cf01ebb5c2b116638eb78cbe4304517c1fe16da359e01f3cdfdf3f7aead4283e8b8e1107522b72f59d4c4f3ade4c5a90f03398bba5f1d3ebb705df137a81f0cc627dcea2cec72ee6d5610e734a231e2d997f442002389b3dadb47ed8134947c664a32ef637f43afdcbd1b5c1382339ae48e477969cee58822d528ae73bcb689154d92631f97b478006a7944600e510e8f647672359066df3ee2a8bf2fce14fa15037adc10d974719b9c3608cb1e44264a834dc230d397725f398d905d0746321d543c56644e5c89af59fe3fedb61a84ec601c8786daf0564e978c97c0e14095c23f9a08bb64950f9cb541b074b3ac0550b241c99a566f61929515ca97aedf99f73568df3dfe93078ed22cb54892b6c617c8e7122ae9b675af5389f5634b9b88643ad2752509f416aedfa2a81542bfcae1d871416a9bc216ad2ede3d418de48e8a8450f93de08256aa2388948ebc852eff97903ee737a4118785fa3f73759574d39d20591919577d9126cea7ba540483502cfbfce0ac87198cfd6d0ec7e5eec68834042ed949875730a35764c83ca0e9b262b9ad0046cbb0af1101a651fcb88cd1cba38e474b863abbb074b260a0296437194c674ad031297b060e590387062fa29455c2c7131ed9c7eaeb644db7bf504b395504eb46f2ab40b2587b84b971c4cdbb6001eacd1a452fef7db8d7c49ec7c2cfaecb92c5953ab48f1ac131615c7e9815671a743903aaabd4453a7d7f97d98e9ac69099676f38aba5a6cbc607f196bfd7b691554c4e3bbaea46b2c8fcdc5178b2dd77d794938fa52adce719d4948a92ba1a689068cec1fb6888d033e0ed1efc442b3fb93de89fb0988c73f8536fc5099afb761d2b69ec101c239c8c193336f2b6994f5aacca9689f32249db20a8dac36934314b7d5ba391d94169d63c66300aa47014a5c2dfc9bc0d6c3fb234dff4e4b60a6527d4cdfbb8c416f99df447acba7570e479457fec822f02dfbd78096641cbd6b6d997d18e82b8c31a01648a2be05a654a420c7b691d7a0ce7952c84b687d7387b271fcda7a8c956cbd0f58343f2bdbc30aed247a1aef9f2032e540101b46a674456967bf626b0d34a86f5f277f16699b17c3fd176c1b259959ed235bb9bb59d54731203c9c33c2e0e431729ea34280f0b51c476c951da31291f8f646630d56a7da6602a3365808a57c797bcaeb2076b6412093b234620aee37ce8be16100880af85ba6752e3652b2678b7ef122e13c385a135cbbbe8b1d87efeed43ddd3e0be9ddd8aa24b267b61fac42870d0bf5c92b0f2a5fe25ddf95729f6cba8a9ac48c7c0d1c2fdd7a7532586f2ea46be7d55a95c96f5bdffc7869acfea19c33c62a23ef9515d4f2f9e5b93b38b905b59664d1da4cfe90df4316370fd33e3a69f5b6371d1ade46bca444c14bab9284a21fcb75abf82243eb66fad0466b1d737cb51d6b957a8ec2acde3a01fbffc5a256f1b0189ee127902c0022ba8a8660b6b824801612ab1772a04800d886ea4361f9bd3a01148a0d6627692f4ef22f93361cd19e4e279510c45a522ef10ff6650daedef66d754b3202068593d714c7bfe09dcbf9e0525a59faa09b1a2b1de640cd57ac1182488554201e30bc180aa461a708bcdab3efcc019451b46351c61c2468ec9e4e0710e1441867b17a238159e89017ff6bc76b4d42d3e133d9e8809159423616094ef8df925afde07c0920da1882853184948c4a03aeb4dc99d50c363722fdf48c7c995feaf4c73b7b4c978d33747dcbdf14ae5654bfc807b15799c63fa694529bbf957aa2e3d3e66e624810c6ad7e81015f43eb4c41dd7ac5f2d77161f75c9163965d21b2df016c01202c56010e873a7353715e43429f763c89df40f8abd187ced93dc1209703237acc8e0413a9b1ef07775f45c18847d0a3d5987f13edc3287fa8beff020087d2614966840987f4a1e858d8b3051dc7a5afcb2a0f30edd1d05c1084a10bb4d2c563f089cc20fca49582f334d861cbbca4a01c94e81976926a667aa9936ec65cd80b2650d2f0f3434c2ee54f0be91939259add06ef7fd4488b992b184ebc4233ca856f1fcf817d4a0204dd34dc0833d46fa1839c862fafb8830eed0a417f1d8b60d047d8c958f624ea5649483077927067c93c23259048e90348fbdcca2b672271ee2a3759c5b73f34a0bc9b3764f83e3ab79f2182c1e277ef465907f0be250fe49a0897a708735972b6803cac22055ed760a861fce4036c6c8c30e4ae91de1da9ff290f44187d24df84aaca6995a3538fd8e6a126ae3096b743b854108908f25aedb8cd9c067cae60e41482d56af14cb8249cf8e5a96565c24986eb3e32bdd658c238b484e096fefe347488e1a22f9e99667cd0c288e6c9d2d33e969507af34a1634cec335e7c097c5421b441b9d84ae74c37c7da0d10aba5a048b59afe384585e0b38c5cd8d2a1b536c960f92f4724a628d48215c3881abddb32c2275993c297df1b56ce5d8b34eda35f823dfc27577c2b18c26efcf8c7d72d323257e4c4c095b611381fd9f336d80fa7ae9104e7b03d14a7df2d9ae92fc5037f367472c50ae104f86df35c0d5967968e352d7ea2b944f5909326076bf88e0fb30fa0ab5d0dc3030442ed92713f34170336c4dd2623723dc34829df89ffecdbd3f9ba0d71c6e59984f8384817f0fe5b0ac69ba62e1e40a31faf596a6c26999728e6eefa83b486188a3af6900a464741307e7e4fbe4c6bb030eb7650424a404d5bcb1109a33329f0e099fa8c07a8b02401da4e531bbc6de733a90e45aaf9b54f0a6c4a21daea6f41263e8df267367f5b491094bea56179a9c3b4ebd65a4fe845553b7ffbd7696ea3bf437851cbf73df723573d3b35ed7a699f9f4de8a2/etc/idle3.6/config-extensions.def/etc/idle3.6/config-highlight.def/etc/idle3.6/config-keys.def/etc/idle3.6/config-main.defrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython3-3.6.15-150300.10.103.1.src.rpmapplication()application(idle3.6.desktop)config(python3-idle)metainfo()metainfo(idle3.6.appdata.xml)mimehandler(text/x-python)python3-idlepython3-idlepython3-idle(x86-64)python36-idle@@@     /usr/bin/python3/usr/bin/python3.6config(python3-idle)python(abi)python3python3-tkrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.6.15-150300.10.103.13.63.6.153.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3iCi@i h@he@hJ@hH@h/gw@g@g5@g4g6f5fff@fIf@fz@fuk@f:f*Ee؈e4@d@dVA@dRLd>@d@c>@ccv"@ck@c[@c$e@cbb@b@a@a*@a*@aaaayay?@af@a]aLl@aLl@aA@a'@aj@```t`[``@``/@``U_T__@_v@_0@_0@_@_G@___P_P_m_O@_N7_L@_?@_>e_>e_=@_@_______^^g@^>^>^8 @^0"@]f@]+]@]m]y@]v>]8H@]8H@]1]]@\\8\@\E@\C@["@[6@ZZԐ@Zx@Z@Z@Z Z Zz@Zhu@Z`@ZLZ"Z }YYX@Yo@Y@YY@Y@YI@XӸXƉXXqX@Xv@W@Wx@W_W@Vm@VhV*!@VCV }@U@U@U@UU[%UT@UCjU@TeT;mcepl@cepl.eumcepl@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eudaniel.garcia@suse.commcepl@suse.commcepl@cepl.eumcepl@suse.commcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@cepl.eumcepl@suse.commcepl@cepl.eudaniel.garcia@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comdmueller@suse.comschwab@suse.demcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comschwab@suse.deqydwhotmail@gmail.commcepl@suse.commcepl@suse.commcepl@suse.comdmueller@suse.commcepl@suse.comcode@bnavigator.demcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commeissner@suse.commcepl@suse.commcepl@suse.commcepl@suse.comsteven.kowalik@suse.commmachova@suse.commcepl@suse.commcepl@suse.commcalabkova@suse.comdimstar@opensuse.orgmcepl@suse.comdimstar@opensuse.orgmcepl@suse.commcepl@suse.comtchvatal@suse.comschwab@suse.demcalabkova@suse.commcalabkova@suse.commcalabkova@suse.commcepl@suse.commcalabkova@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.commimi.vx@gmail.compsimons@suse.comadam@mizerski.plschwab@suse.debwiedemann@suse.comtchvatal@suse.comjmatejek@suse.comnormand@linux.vnet.ibm.comjmatejek@suse.comdimstar@opensuse.orgmimi.vx@gmail.comjmatejek@suse.comdmueller@suse.comvcizek@suse.comschwab@suse.dejmatejek@suse.comkukuk@suse.dejmatejek@suse.comasn@cryptomilk.orgjmatejek@suse.comjmatejek@suse.comjmatejek@suse.combwiedemann@suse.comjmatejek@suse.comjmatejek@suse.comhpj@urpla.nethpj@urpla.nethpj@urpla.netjmatejek@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comjmatejek@suse.comtoddrme2178@gmail.comjmatejek@suse.comdimstar@opensuse.orgjmatejek@suse.comfisiu@opensuse.orgmeissner@suse.comschwab@suse.dejmatejek@suse.commailaender@opensuse.orgrguenther@suse.comp.drouand@gmail.comjmatejek@suse.com- Add CVE-2025-13836-http-resp-cont-len.patch (bsc#1254400, CVE-2025-13836) to prevent reading an HTTP response from a server, if no read amount is specified, with using Content-Length per default as the length. - Add CVE-2025-12084-minidom-quad-search.patch prevent quadratic behavior in node ID cache clearing (CVE-2025-12084, bsc#1254997). - Add CVE-2025-13837-plistlib-mailicious-length.patch protect against OOM when loading malicious content (CVE-2025-13837, bsc#1254401).- Add CVE-2025-6075-expandvars-perf-degrad.patch avoid simple quadratic complexity vulnerabilities of os.path.expandvars() (CVE-2025-6075, bsc#1252974). - Skip test_curses on ppc64le (gh#python/cpython#141534)- Add CVE-2025-8291-consistency-zip64.patch which checks consistency of the zip64 end of central directory record, and preventing obfuscation of the payload, i.e., you scanning for malicious content in a ZIP file with one ZIP parser (let's say a Rust one) then unpack it in production with another (e.g., the Python one) and get malicious content that the other parser did not see (CVE-2025-8291, bsc#1251305) - Readjust patches while synchronizing between openSUSE and SLE trees: - F00251-change-user-install-location.patch - doc-py38-to-py36.patch - gh126985-mv-pyvenv.cfg2getpath.patch- Add CVE-2025-8194-tarfile-no-neg-offsets.patch which now validates archives to ensure member offsets are non-negative (gh#python/cpython#130577, CVE-2025-8194, bsc#1247249).- Add CVE-2025-4435-normalize-lnk-trgts-tarfile.patch Security fixes for CVE-2025-4517, CVE-2025-4330, CVE-2025-4138, CVE-2024-12718, CVE-2025-4435 on tarfile (bsc#1244032, bsc#1244061, bsc#1244059, bsc#1244060, bsc#1244056). The backported fixes do not contain changes for ntpath.py and related tests, because the support for symlinks and junctions were added later in Python 3.9, and it does not make sense to backport them to 3.6 here. The patch is contains the following changes: - python@42deeab fixes symlink handling for tarfile.data_filter - python@9d2c2a8 fixes handling of existing files/symlinks in tarfile - python@00af979 adds a new "strict" argument to realpath() - python@dd8f187 fixes mulriple CVE fixes in the tarfile module - downstream only fixes that makes the changes work and compatible with Python 3.6 - Add CVE-2025-6069-quad-complex-HTMLParser.patch to avoid worst case quadratic complexity when processing certain crafted malformed inputs with HTMLParser (CVE-2025-6069, bsc#1244705).- Add python36-* provides/obsoletes to enable SLE-12 -> SLE-15 migration, bsc#1233012- Add ipaddress-update-pr60.patch from gh#phihag/ipaddress!60 to update vendored ipaddress module to 3.8 equivalent - Add gh-128840_parse-IPv6-with-emb-IPv4.patch to limit buffer size for IPv6 address parsing (gh#python/cpython#128840, bsc#1244401). - Update CVE-2025-4516-DecodeError-handler.patch not to break _PyBytes_DecodeEscape signature.- Add CVE-2025-4516-DecodeError-handler.patch fixing CVE-2025-4516 (bsc#1243273) blocking DecodeError handling vulnerability, which could lead to DoS.- Update CVE-2024-11168-validation-IPv6-addrs.patch according to the Debian version (gh#python/cpython#103848#issuecomment-2708135083).- Add CVE-2025-0938-sq-brackets-domain-names.patch which disallows square brackets ([ and ]) in domain names for parsed URLs (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704)- Remove -IVendor/ from python-config boo#1231795 - Fix CVE-2024-11168-validation-IPv6-addrs.patch - PGO run of build freezes with parallel processing, switch to -j1- Add CVE-2024-11168-validation-IPv6-addrs.patch fixing bsc#1233307 (CVE-2024-11168, gh#python/cpython#103848): Improper validation of IPv6 and IPvFuture addresses.- Add CVE-2024-9287-venv_path_unquoted.patch to properly quote path names provided when creating a virtual environment (bsc#1232241, CVE-2024-9287)- Drop .pyc files from docdir for reproducible builds (bsc#1230906).- Add CVE-2024-6232-ReDOS-backtrack-tarfile.patch prevent ReDos via excessive backtracking while parsing header values (bsc#1230227, CVE-2024-6232).- Add CVE-2024-5642-switch-off-NPN.patch switching off the NPN support eliminating bsc#1227233 (CVE-2024-5642).- Add CVE-2024-6923-email-hdr-inject.patch to prevent email header injection due to unquoted newlines (bsc#1228780, CVE-2024-6923). - Add CVE-2024-7592-quad-complex-cookies.patch fixing quadratic complexity in parsing cookies with backslashes (bsc#1229596, CVE-2024-7592) - %{profileopt} variable is set according to the variable %{do_profiling} (bsc#1227999)- 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).- 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-2024-0397-memrace_ssl.SSLContext_cert_store.patch fixing bsc#1226447 (CVE-2024-0397) by removing memory race condition in ssl.SSLContext certificate store methods.- Add bpo38361-syslog-no-slash-ident.patch (bsc#1222109, gh#python/cpython!16557) fixes syslog making default "ident" from sys.argv[0]. - Update CVE-2023-52425-libexpat-2.6.0-backport.patch so that it uses features sniffing, not just comparing version number (bsc#1220664, bsc#1219559, bsc#1221563, bsc#1222075). - Remove support-expat-CVE-2022-25236-patched.patch, which was the previous name of this patch. - Add CVE-2023-52425-remove-reparse_deferral-tests.patch skipping failing tests. - Refresh patches: - CVE-2023-27043-email-parsing-errors.patch - fix_configure_rst.patch - skip_if_buildbot-extend.patch- bsc#1221854 (CVE-2024-0450) Add CVE-2024-0450-zipfile-avoid-quoted-overlap-zipbomb.patch detecting the vulnerability of the "quoted-overlap" zipbomb (from gh#python/cpython!110016). - Add bh42369-thread-safety-zipfile-SharedFile.patch (from gh#python/cpython!26974) required by the previous patch. - Add expat-260-test_xml_etree-reparse-deferral.patch to make the interpreter work with patched libexpat in our distros. - Move all patches from locally sourced to the branch opensuse-3.6 branch at GitHub repo, and move all metadata to commits themselves (readable in the headers of each patch). - Add bpo-41675-modernize-siginterrupt.patch to make Python build cleanly even on more recent SPs of SLE-15 (gh#python/cpython#85841). - Remove patches: - bpo36263-Fix_hashlib_scrypt.patch - fix against bug in OpenSSL fixed in 1.1.1c (gh#openssl/openssl!8483), so this patch is redundant on all SUSE-supported distros - python-3.3.0b1-test-posix_fadvise.patch - protection against the kernel issues which has been fixed in gh#torvalds/linux@3d3727cdb07f, which has been included in all our kernels more recent than SLE-11. - python-3.3.3-skip-distutils-test_sysconfig_module.patch - skips a test, which should be relevant only for testing on Mac OS X systems with universal builds. I have no valid record, that this test would be ever problematic on Linux. - bpo-36576-skip_tests_for_OpenSSL-111.patch, which was included already in Python 3.5.- (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. - Merge together bpo-36576-skip_tests_for_OpenSSL-111.patch into skip_SSL_tests.patch, and make them include all conditionals.- Refresh CVE-2023-27043-email-parsing-errors.patch to gh#python/cpython!111116, fixing bsc#1210638 (CVE-2023-27043).- Add CVE-2023-40217-avoid-ssl-pre-close.patch fixing gh#python/cpython#108310, backport from upstream patch gh#python/cpython#108315 (bsc#1214692, CVE-2023-40217)- Add 99366-patch.dict-can-decorate-async.patch fixing gh#python/cpython#98086 (backport from Python 3.10 patch in gh#python/cpython!99366), fixing bsc#1211158.- Add CVE-2007-4559-filter-tarfile_extractall.patch to fix CVE-2007-4559 (bsc#1203750) by adding the filter for tarfile.extractall (PEP 706).- Use python3 modules to build the documentation.- Add bpo-44434-libgcc_s-for-pthread_cancel.patch which eliminates unnecessary and dangerous calls to PyThread_exit_thread() (bsc#1203355).- 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 bpo27321-email-no-replace-header.patch to stop email.generator.py from replacing a non-existent header (bsc#1208443, gh#python/cpython#71508).- Add bsc1188607-pythreadstate_clear-decref.patch to fix crash in the garbage collection (bsc#1188607).- 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-37454-sha3-buffer-overflow.patch to fix bsc#1204577 (CVE-2022-37454, gh#python/cpython#98517) buffer overflow in hashlib.sha3_* implementations (originally from the XKCP library).- Add CVE-2020-10735-DoS-no-limit-int-size.patch to fix CVE-2020-10735 (bsc#1203125) to limit amount of digits converting text to int and vice vera (potential for DoS). Originally by Victor Stinner of Red Hat.- Add patch CVE-2021-28861-double-slash-path.patch: * http.server: Fix an open redirection vulnerability in the HTTP server when an URI path starts with //. (bsc#1202624, CVE-2021-28861)- 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. - Rename support-expat-245.patch to support-expat-CVE-2022-25236-patched.patch to unify the patch with other packages. - Add bpo-46623-skip-zlib-s390x.patch skipping two failing tests on s390x.- Update bundled pip wheel to the latest SLE version patched against bsc#1186819 (CVE-2021-3572).- Add patch support-expat-245.patch: * Support Expat >= 2.4.5- Rename 22198.patch into more descriptive remove-sphinx40-warning.patch.- Don't use appstream-glib on SLE-12. - Use Python 2-based Sphinx on SLE-12. - No documentation on SLE-12. - Add skip_SSL_tests.patch skipping tests because of patched OpenSSL (bpo#9425).- Don't use appstream-glib on SLE-12. - Use Python 2-based Sphinx on SLE-12. - No documentation on SLE-12. - Add skip_SSL_tests.patch skipping tests because of patched OpenSSL (bpo#9425).- Don't use OpenSSL 1.1 on platforms which don't have it.- Remove shebangs from from python-base libraries in _libdir (bsc#1193179, bsc#1192249). - Readjust patches: - bpo-31046_ensurepip_honours_prefix.patch - decimal.patch - python-3.3.0b1-fix_date_time_compiler.patch- build against openssl 1.1 as it is incompatible with openssl 3.0+ (bsc#1190566)- 0001-allow-for-reproducible-builds-of-python-packages.patch: ignore permission error when changing the mtime of the source file in presence of SOURCE_DATE_EPOCH- The previous construct works only on the current Factory, not in SLE.- 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.- Due to conflicting demands of bsc#1183858 and platforms where Python 3.6 is only in interpreter+pip set we have to make complicated ugly construct about Sphinx BR.- Make python36 primary interpreter on SLE-15- Make build working even on older SLEs.- Update to 3.6.15: - bpo-43124: Made the internal putcmd function in smtplib sanitize input for presence of \r and \n characters to avoid (unlikely) command injection. Library - bpo-45001: Made email date parsing more robust against malformed input, namely a whitespace-only Date: header. Patch by Wouter Bolsterlee. Tests - bpo-38965: Fix test_faulthandler on GCC 10. Use the “volatile” keyword in faulthandler._stack_overflow() to prevent tail call optimization on any compiler, rather than relying on compiler specific pragma. - bpo-40791: Make compare_digest more constant-time (bsc#1214691, CVE-2022-48566). - Remove upstreamed patches: - faulthandler_stack_overflow_on_GCC10.patch- test_faulthandler is still problematic under qemu linux-user emulation, disable it there- Update to 3.6.14: * Security - bpo-44022 (bsc#1189241, CVE-2021-3737): mod:http.client now avoids infinitely reading potential HTTP headers after a 100 Continue status response from the server. - 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-42988 (CVE-2021-3426, bsc#1183374): 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-43075 (CVE-2021-3733, bsc#1189287): Fix Regular Expression Denial of Service (ReDoS) vulnerability in urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex has quadratic worst-case complexity and it allows cause a denial of service when identifying crafted invalid RFCs. This ReDoS issue is on the client side and needs remote attackers to control the HTTP server. - Upstreamed patches were removed: - CVE-2021-3426-inf-disclosure-pydoc-getfile.patch - CVE-2021-3733-ReDoS-urllib-AbstractBasicAuthHandler.patch - Refreshed patches: - python3-sorted_tar.patch - riscv64-ctypes.patch- Rebuild to get new headers, avoid building in support for stropts.h (bsc#1187338).- Use versioned python-Sphinx to avoid dependency on other version of Python (bsc#1183858).- Modify Lib/ensurepip/__init__.py to contain the same version numbers as are in reality the ones in the bundled wheels (bsc#1187668).- add 22198.patch to build with Sphinx 4- Stop providing "python" symbol (bsc#1185588), which means python2 currently.- 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.- Add CVE-2021-3426-inf-disclosure-pydoc-getfile.patch to remove getfile feature from pydoc, which is a security nightmare (among other things, CVE-2021-3426, allows disclosure of any file on the system; bsc#1183374, bpo#42988).Update to 3.6.13, final release of 3.6 branch: * Security - bpo#42967 (bsc#1182379, CVE-2021-23336): Fix web cache poisoning vulnerability by defaulting the query args separator to &, and allowing the user to choose a custom separator. - bpo#42938 (bsc#1181126, CVE-2021-3177): Avoid static buffers when computing the repr of ctypes.c_double and ctypes.c_longdouble values. - bpo#42103: Prevented potential DoS attack via CPU and RAM exhaustion when processing malformed Apple Property List files in binary format. - bpo#42051: 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. - bpo#40791: Add volatile to the accumulator variable in hmac.compare_digest, making constant-time-defeating optimizations less likely. * Core and Builtins - bpo#35560: Fix an assertion error in format() in debug build for floating point formatting with “n” format, zero padding and small width. Release build is not impacted. Patch by Karthikeyan Singaravelan. * Library - bpo#42103: 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). * Tests - bpo#42794: Update test_nntplib to use offical group name of news.aioe.org for testing. Patch by Dong-hee Na. - bpo#41944: Tests for CJK codecs no longer call eval() on content received via HTTP. - Patches removed, because they were included in the upstream tarball: - CVE-2020-27619-no-eval-http-content.patch - CVE-2021-3177-buf_ovrfl_PyCArg_repr.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.- Provide the newest setuptools wheel (bsc#1176262, CVE-2019-20916) in their correct form (bsc#1180686).- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- readd --with-fpectl (bsc#1180377)- Adjust sphinx-update-removed-function.patch- (bsc#1179630) Update sphinx-update-removed-function.patch to work with all versions of Sphinx (not binding the Python documentation build to the latest verison of Sphinx). Updated version mentioned on gh#python/cpython#13236.- Add CVE-2020-27619-no-eval-http-content.patch fixing CVE-2020-27619 (bsc#1178009), where Lib/test/multibytecodec_support calls eval() on content retrieved via HTTP.- Add patch sphinx-update-removed-function.patch to no longer call a now removed function (gh#python/cpython#13236). As a consequence, no longer pin Sphinx version.- Pin Sphinx version to fix doc subpackage- Change setuptools and pip version numbers according to new wheels (bsc#1179756). - Add ignore_pip_deprec_warn.patch to switch of persistently failing test.- Replace bundled wheels for pip and setuptools with the updated ones (bsc#1176262 CVE-2019-20916).- Handful of changes to make python36 compatible with SLE15 and SLE12 (jsc#ECO-2799, jsc#SLE-13738) - Rebase bpo23395-PyErr_SetInterrupt-signal.patch- Fix build with RPM 4.16: error: bare words are no longer supported, please use "...": x86 == ppc.- Fix installing .desktop file- Buildrequire timezone only for general flavor. It's used in this flavor for the test suite.- Add faulthandler_stack_overflow_on_GCC10.patch to make build working even with GCC10 (bpo#38965).- Just cleanup and reordering items to synchronize with python38- Format with spec-cleaner- riscv64-support.patch: bpo-33377: add triplets for mips-r6 and riscv (#6655) - riscv64-ctypes.patch: bpo-35847: RISC-V needs CTYPES_PASS_BY_REF_HACK (GH-11694) - Update list of tests to exclude under qemu linux-user- Update the python keyring - Correct libpython name- Drop patches which are not mentioned in spec: * CVE-2019-5010-null-defer-x509-cert-DOS.patch * F00102-lib64.patch * F00251-change-user-install-location.patch * OBS_dev-shm.patch * SUSE-FEDORA-multilib.patch * bpo-31046_ensurepip_honours_prefix.patch * bpo34022-stop_hash-based_invalidation_w_SOURCE_DATE_EPOCH.patch * bpo36302-sort-module-sources.patch * bpo40784-Fix-sqlite3-deterministic-test.patch * bsc1167501-invalid-alignment.patch * python3-imp-returntype.patch - Working around missing python-packaging dependency in python-Sphinx (bsc#1174571) is not necessary anymore.- Update to 3.6.12 (bsc#1179193) * Ensure python3.dll is loaded from correct locations when Python is embedded * The __hash__() methods of ipaddress.IPv4Interface and ipaddress.IPv6Interface incorrectly generated constant hash values of 32 and 128 respectively. This resulted in always causing hash collisions. The fix uses hash() to generate hash values for the tuple of (address, mask length, network address). * Prevent http header injection by rejecting control characters in http.client.putrequest(…). * Unpickling invalid NEWOBJ_EX opcode with the C implementation raises now UnpicklingError instead of crashing. * Avoid infinite loop when reading specially crafted TAR files using the tarfile module - Drop merged fixtures: * CVE-2020-14422-ipaddress-hash-collision.patch * CVE-2019-20907_tarfile-inf-loop.patch * recursion.tar - This release also fixes CVE-2020-26116 (bsc#1177211) and CVE-2019-20907 (bsc#1174091).- 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.- Make library names internally consistent- Disable profile optimalizations as they deadlock in test_faulthandler- Disable lto as it causes mess and works with 3.7 onwards only- Sync the test disablements from the python3 in sle15- Update to 3.6.11: - bpo-39073: Disallow CR or LF in email.headerregistry. Address arguments to guard against header injection attacks. - bpo-38576 (bsc#1155094): Disallow control characters in hostnames in http.client, addressing CVE-2019-18348. Such potentially malicious header injection URLs now cause a InvalidURL to be raised. - bpo-39503: CVE-2020-8492: The AbstractBasicAuthHandler class of the urllib.request module uses an inefficient regular expression which can be exploited by an attacker to cause a denial of service. Fix the regex to prevent the catastrophic backtracking. Vulnerability reported by Ben Caller and Matt Schwager. - bpo-39401: Avoid unsafe load of api-ms-win-core-path-l1-1-0.dll at startup on Windows 7. - Remove merged patch CVE-2020-8492-urllib-ReDoS.patch, CRLF_injection_via_host_part.patch, and CVE-2019-18348-CRLF_injection_via_host_part.patch.- Fix minor issues found in the staging.- Do not set ourselves as a primary interpreter- Add CVE-2020-14422-ipaddress-hash-collision.patch fixing CVE-2020-14422 (bsc#1173274, bpo#41004), where hash collisions in IPv4Interface and IPv6Interface could lead to DOS.- Change name of idle3 icons to idle3.png to avoid collision with Python 2 version (bsc#1165894).- Add CVE-2019-9674-zip-bomb.patch to improve documentation warning about dangers of zip-bombs and other security problems with zipfile library. (bsc#1162825 CVE-2019-9674) - 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).- Reame idle icons to idle3 in order to not conflict with python2 variant of the package bsc#1165894 * renamed the icons * renamed icon load in desktop file- Add pep538_coerce_legacy_c_locale.patch to coerce locale to C.UTF-8 always (bsc#1162423).- Update to 3.6.10 (still in line with jsc#SLE-9426, jsc#SLE-9427, bsc#1159035): - Security: - bpo-38945: Newline characters have been escaped when performing uu encoding to prevent them from overflowing into to content section of the encoded file. This prevents malicious or accidental modification of data during the decoding process. - bpo-37228: Due to significant security concerns, the reuse_address parameter of asyncio.loop.create_datagram_endpoint() is no longer supported. This is because of the behavior of SO_REUSEADDR in UDP. For more details, see the documentation for loop.create_datagram_endpoint(). (Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in bpo-37228.) - bpo-38804: Fixes a ReDoS vulnerability in http.cookiejar. Patch by Ben Caller. - bpo-38243: Escape the server title of xmlrpc.server.DocXMLRPCServer when rendering the document page as HTML. (Contributed by Dong-hee Na in bpo-38243.) - bpo-38174: Update vendorized expat library version to 2.2.8, which resolves CVE-2019-15903. - bpo-37461: Fix an infinite loop when parsing specially crafted email headers. Patch by Abhilash Raj. - bpo-34155: Fix parsing of invalid email addresses with more than one @ (e.g. a@b@c.com.) to not return the part before 2nd @ as valid email address. Patch by maxking & jpic. - Library: - bpo-38216: Allow the rare code that wants to send invalid http requests from the http.client library a way to do so. The fixes for bpo-30458 led to breakage for some projects that were relying on this ability to test their own behavior in the face of bad requests. - bpo-36564: Fix infinite loop in email header folding logic that would be triggered when an email policy’s max_line_length is not long enough to include the required markup and any values in the message. Patch by Paul Ganssle - Remove patches included in the upstream tarball: - CVE-2019-16935-xmlrpc-doc-server_title.patch (and also bpo37614-race_test_docxmlrpc_srv_setup.patch, which was resolving bsc#1174701). - CVE-2019-16056-email-parse-addr.patch - Move idle subpackage build from python3-base to python3 (bsc#1159622). 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- Unify all Python 3.6* SLE packages into one (jsc#SLE-9426, jsc#SLE-9427, bsc#1159035) - Patches which were already included upstream: - CVE-2018-1061-DOS-via-regexp-difflib.patch - CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch- Add CVE-2019-16935-xmlrpc-doc-server_title.patch fixing bsc#1153238 (aka CVE-2019-16935) fixing a reflected XSS in python/Lib/DocXMLRPCServer.py- Add bpo-36576-skip_tests_for_OpenSSL-111.patch (originally from bpo#36576) skipping tests failing with OpenSSL 1.1.1. Fixes bsc#1149792 - Add bpo36263-Fix_hashlib_scrypt.patch which works around bsc#1151490- Add CVE-2019-16056-email-parse-addr.patch fixing the email module wrongly parses email addresses [bsc#1149955, bnc#1149955, CVE-2019-16056]- jsc#PM-1350 bsc#1149121 Update python3 to the last version of the 3.6 line. This is just a bugfix release with no changes in functionality. - The following patches were included in the upstream release as so they can be removed in the package: - CVE-2018-20852-cookie-domain-check.patch - CVE-2019-5010-null-defer-x509-cert-DOS.patch - CVE-2019-10160-netloc-port-regression.patch - CVE-2019-9636-urlsplit-NFKC-norm.patch - CVE-2019-9947-no-ctrl-char-http.patch - Patch bpo23395-PyErr_SetInterrupt-signal.patch has been reapplied on the upstream base without changing any functionality. - Add patch aarch64-prolong-timeout.patch to fix failing test_utime_current_old test.- FAKE RECORD FROM SLE-12 CHANNEL Apply "CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch" which converts shutil._call_external_zip to use subprocess rather than distutils.spawn. [bsc#1109663, CVE-2018-1000802]- FAKE RECORD FROM SLE-12 CHANNEL bsc#1109847: add CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch fixing bpo#34623.- boo#1141853 (CVE-2018-20852) add CVE-2018-20852-cookie-domain-check.patch fixing http.cookiejar.DefaultPolicy.domain_return_ok which did not correctly validate the domain: it could be tricked into sending cookies to the wrong server.- bsc#1138459: add CVE-2019-10160-netloc-port-regression.patch which fixes regression introduced by the previous patch. (CVE-2019-10160) Upstream gh#python/cpython#13812- FAKE RECORD FROM SLE-12 CHANNEL bsc#1137942: Avoid duplicate files with python3* packages (https://fate.suse.com/327309)- bsc#1094814: Add bpo23395-PyErr_SetInterrupt-signal.patch to handle situation when the SIGINT signal is ignored or not handled- Update to 3.6.8: - bugfixes only - removed patches (subsumed in the upstream tarball): - CVE-2018-20406-pickle_LONG_BINPUT.patch - refreshed patches: - CVE-2019-5010-null-defer-x509-cert-DOS.patch - CVE-2019-9636-urlsplit-NFKC-norm.patch - Python-3.0b1-record-rpm.patch - python-3.3.0b1-fix_date_time_compiler.patch - python-3.3.0b1-test-posix_fadvise.patch - python-3.3.3-skip-distutils-test_sysconfig_module.patch - python-3.6.0-multilib-new.patch - python3-sorted_tar.patch - subprocess-raise-timeout.patch - switch off LTO and PGO optimization (bsc#1133452) - 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.- bsc#1129346: add CVE-2019-9636-urlsplit-NFKC-norm.patch Characters in the netloc attribute that decompose under NFKC normalization (as used by the IDNA encoding) into any of ``/``, ``?``, ``#``, ``@``, or ``:`` will raise a ValueError. If the URL is decomposed before parsing, or is not a Unicode string, no error will be raised. (CVE-2019-9636) Upstream gh#python/cpython#12224- bsc#1120644 add CVE-2018-20406-pickle_LONG_BINPUT.patch fixing bpo#34656 Modules/_pickle.c in Python before 3.7.1 has an integer overflow via a large LONG_BINPUT value that is mishandled during a "resize to twice the size" attempt. This issue might cause memory exhaustion, but is only relevant if the pickle format is used for serializing tens or hundreds of gigabytes of data.- 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.- 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. (bsc#1107030)- Apply "CVE-2018-1061-DOS-via-regexp-difflib.patch" to prevent low-grade poplib REDOS (CVE-2018-1060) and to prevent difflib REDOS (CVE-2018-1061). Prior to this patch mail server's timestamp was susceptible to catastrophic backtracking on long evil response from the server. Also, it was susceptible to catastrophic backtracking, which was a potential DOS vector. [bsc#1088004 and bsc#1088009, CVE-2018-1061 and CVE-2018-1060]- 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- Apply "python-3.6-CVE-2017-18207.patch" to add a check to Lib/wave.py that verifies that at least one channel is provided. Prior to this check, attackers could cause a denial of service (divide-by-zero error and application crash) via a crafted wav format audio file. [bsc#1083507, CVE-2017-18207]- 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, bsc#1086001)- Add patch to fix glibc 2.27 fail bsc#1079761: * fix-localeconv-encoding-for-LC_NUMERIC.patch- 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- 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- 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- FAKE RECORD FROM SLE-12 CHANNEL update to 3.4.6 (bsc#1027282): * fixed potential crash in PyUnicode_AsDecodedObject() in debug build * fixed possible DoS and arbitrary execution in gettext plurals * fix possible use of uninitialized memory in operator.methodcaller * fix possible Py_DECREF on unowned object in _sre * fix possible integer overflow in _csv module * prevent HTTPoxy attack (CVE-2016-1000110) * fix selectors incorrectly retaining invalid fds - drop upstreamed python-3.4-CVE-2016-1000110-fix.patch - move _elementtree to python3.rpm to match its pyexpat dependency (bsc#1029377)- 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- FAKE RECORD FROM SLE-12 CHANNEL apply fix for CVE-2016-1000110 - CGIHandler: sets environmental variable based on user supplied Proxy request header: python-3.4-CVE-2016-1000110-fix.patch (fixes bsc#989523, CVE-2016-1000110) - refresh python3-urllib-prefer-lowercase-proxies.patch- FAKE RECORD FROM SLE-12 CHANNEL update to 3.4.5 check: https://docs.python.org/3.4/whatsnew/changelog.html (fixes bsc#984751, CVE-2016-0772) (fixes bsc#985177, CVE-2016-5636) (fixes bsc#985348, CVE-2016-5699) - drop upstreamed werror-declaration-after-statement.patch- FAKE RECORD FROM SLE-12 CHANNEL Due to being fixed upstream (differently), removed outdated patch CVE-2014-4650-CGIHTTPServer-traversal.patch (bsc#983582)- move _hashlib and _ssl modules and tests to python3-base - recommend python3- 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- 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- FAKE RECORD FROM SLE-12 CHANNEL Issue #21121: Don't force 3rd party C extensions to be built with -Werror=declaration-after-statement. (werror-declaration-after-statement.patch, bsc#951166)- 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.- 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- 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- add %python3_version rpm macro for Fedora compatibility - add missing argument in import_failed, rename Novell Bugzilla to SUSE Bugzillapython3-idlepython36-idleh01-ch2d 1766398829  !"#"%&%()(+,+./0121454787:;:=>?@A@CDCFGFIJILMLOPQRRRUUUXYX[\[^_`abcdedghgjkjmnmpqpsssvwvyzy|}|     ! #$#&'&)*),-,/0/232565898;<;>?>ABADEDGHGJKJMNMPQPSTSVWXYZY\]\_`_bcbefehihklknonqrqtutwxwz{z}~}      !"#$%3.6.15-150300.10.103.13.6.153.6.15-150300.10.103.13.6.15-150300.10.103.13.6.15 3.6.153.6.15   idle3.6config-extensions.defconfig-highlight.defconfig-keys.defconfig-main.defidle3.6idlelibCREDITS.txtChangeLogHISTORY.txtIconsfolder.gifidle.icnsidle.icoidle_16.gifidle_16.pngidle_32.gifidle_32.pngidle_48.gifidle_48.pngminusnode.gifopenfolder.gifplusnode.gifpython.giftk.gifNEWS.txtNEWS2x.txtREADME.txtTODO.txt__init__.py__main__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.opt-2.pyc__init__.cpython-36.pyc__main__.cpython-36.opt-1.pyc__main__.cpython-36.opt-2.pyc__main__.cpython-36.pyc_pyclbr.cpython-36.opt-1.pyc_pyclbr.cpython-36.opt-2.pyc_pyclbr.cpython-36.pycautocomplete.cpython-36.opt-1.pycautocomplete.cpython-36.opt-2.pycautocomplete.cpython-36.pycautocomplete_w.cpython-36.opt-1.pycautocomplete_w.cpython-36.opt-2.pycautocomplete_w.cpython-36.pycautoexpand.cpython-36.opt-1.pycautoexpand.cpython-36.opt-2.pycautoexpand.cpython-36.pycbrowser.cpython-36.opt-1.pycbrowser.cpython-36.opt-2.pycbrowser.cpython-36.pyccalltip.cpython-36.opt-1.pyccalltip.cpython-36.opt-2.pyccalltip.cpython-36.pyccalltip_w.cpython-36.opt-1.pyccalltip_w.cpython-36.opt-2.pyccalltip_w.cpython-36.pyccodecontext.cpython-36.opt-1.pyccodecontext.cpython-36.opt-2.pyccodecontext.cpython-36.pyccolorizer.cpython-36.opt-1.pyccolorizer.cpython-36.opt-2.pyccolorizer.cpython-36.pycconfig.cpython-36.opt-1.pycconfig.cpython-36.opt-2.pycconfig.cpython-36.pycconfig_key.cpython-36.opt-1.pycconfig_key.cpython-36.opt-2.pycconfig_key.cpython-36.pycconfigdialog.cpython-36.opt-1.pycconfigdialog.cpython-36.opt-2.pycconfigdialog.cpython-36.pycdebugger.cpython-36.opt-1.pycdebugger.cpython-36.opt-2.pycdebugger.cpython-36.pycdebugger_r.cpython-36.opt-1.pycdebugger_r.cpython-36.opt-2.pycdebugger_r.cpython-36.pycdebugobj.cpython-36.opt-1.pycdebugobj.cpython-36.opt-2.pycdebugobj.cpython-36.pycdebugobj_r.cpython-36.opt-1.pycdebugobj_r.cpython-36.opt-2.pycdebugobj_r.cpython-36.pycdelegator.cpython-36.opt-1.pycdelegator.cpython-36.opt-2.pycdelegator.cpython-36.pycdynoption.cpython-36.opt-1.pycdynoption.cpython-36.opt-2.pycdynoption.cpython-36.pyceditor.cpython-36.opt-1.pyceditor.cpython-36.opt-2.pyceditor.cpython-36.pycfilelist.cpython-36.opt-1.pycfilelist.cpython-36.opt-2.pycfilelist.cpython-36.pycgrep.cpython-36.opt-1.pycgrep.cpython-36.opt-2.pycgrep.cpython-36.pychelp.cpython-36.opt-1.pychelp.cpython-36.opt-2.pychelp.cpython-36.pychelp_about.cpython-36.opt-1.pychelp_about.cpython-36.opt-2.pychelp_about.cpython-36.pychistory.cpython-36.opt-1.pychistory.cpython-36.opt-2.pychistory.cpython-36.pychyperparser.cpython-36.opt-1.pychyperparser.cpython-36.opt-2.pychyperparser.cpython-36.pycidle.cpython-36.opt-1.pycidle.cpython-36.opt-2.pycidle.cpython-36.pyciomenu.cpython-36.opt-1.pyciomenu.cpython-36.opt-2.pyciomenu.cpython-36.pycmacosx.cpython-36.opt-1.pycmacosx.cpython-36.opt-2.pycmacosx.cpython-36.pycmainmenu.cpython-36.opt-1.pycmainmenu.cpython-36.opt-2.pycmainmenu.cpython-36.pycmulticall.cpython-36.opt-1.pycmulticall.cpython-36.opt-2.pycmulticall.cpython-36.pycoutwin.cpython-36.opt-1.pycoutwin.cpython-36.opt-2.pycoutwin.cpython-36.pycparagraph.cpython-36.opt-1.pycparagraph.cpython-36.opt-2.pycparagraph.cpython-36.pycparenmatch.cpython-36.opt-1.pycparenmatch.cpython-36.opt-2.pycparenmatch.cpython-36.pycpathbrowser.cpython-36.opt-1.pycpathbrowser.cpython-36.opt-2.pycpathbrowser.cpython-36.pycpercolator.cpython-36.opt-1.pycpercolator.cpython-36.opt-2.pycpercolator.cpython-36.pycpyparse.cpython-36.opt-1.pycpyparse.cpython-36.opt-2.pycpyparse.cpython-36.pycpyshell.cpython-36.opt-1.pycpyshell.cpython-36.opt-2.pycpyshell.cpython-36.pycquery.cpython-36.opt-1.pycquery.cpython-36.opt-2.pycquery.cpython-36.pycredirector.cpython-36.opt-1.pycredirector.cpython-36.opt-2.pycredirector.cpython-36.pycreplace.cpython-36.opt-1.pycreplace.cpython-36.opt-2.pycreplace.cpython-36.pycrpc.cpython-36.opt-1.pycrpc.cpython-36.opt-2.pycrpc.cpython-36.pycrstrip.cpython-36.opt-1.pycrstrip.cpython-36.opt-2.pycrstrip.cpython-36.pycrun.cpython-36.opt-1.pycrun.cpython-36.opt-2.pycrun.cpython-36.pycrunscript.cpython-36.opt-1.pycrunscript.cpython-36.opt-2.pycrunscript.cpython-36.pycscrolledlist.cpython-36.opt-1.pycscrolledlist.cpython-36.opt-2.pycscrolledlist.cpython-36.pycsearch.cpython-36.opt-1.pycsearch.cpython-36.opt-2.pycsearch.cpython-36.pycsearchbase.cpython-36.opt-1.pycsearchbase.cpython-36.opt-2.pycsearchbase.cpython-36.pycsearchengine.cpython-36.opt-1.pycsearchengine.cpython-36.opt-2.pycsearchengine.cpython-36.pycsqueezer.cpython-36.opt-1.pycsqueezer.cpython-36.opt-2.pycsqueezer.cpython-36.pycstackviewer.cpython-36.opt-1.pycstackviewer.cpython-36.opt-2.pycstackviewer.cpython-36.pycstatusbar.cpython-36.opt-1.pycstatusbar.cpython-36.opt-2.pycstatusbar.cpython-36.pyctextview.cpython-36.opt-1.pyctextview.cpython-36.opt-2.pyctextview.cpython-36.pyctooltip.cpython-36.opt-1.pyctooltip.cpython-36.opt-2.pyctooltip.cpython-36.pyctree.cpython-36.opt-1.pyctree.cpython-36.opt-2.pyctree.cpython-36.pycundo.cpython-36.opt-1.pycundo.cpython-36.opt-2.pycundo.cpython-36.pycwindow.cpython-36.opt-1.pycwindow.cpython-36.opt-2.pycwindow.cpython-36.pyczoomheight.cpython-36.opt-1.pyczoomheight.cpython-36.opt-2.pyczoomheight.cpython-36.pyczzdummy.cpython-36.opt-1.pyczzdummy.cpython-36.opt-2.pyczzdummy.cpython-36.pyc_pyclbr.pyautocomplete.pyautocomplete_w.pyautoexpand.pybrowser.pycalltip.pycalltip_w.pycodecontext.pycolorizer.pyconfig-extensions.defconfig-highlight.defconfig-keys.defconfig-main.defconfig.pyconfig_key.pyconfigdialog.pydebugger.pydebugger_r.pydebugobj.pydebugobj_r.pydelegator.pydynoption.pyeditor.pyextend.txtfilelist.pygrep.pyhelp.htmlhelp.pyhelp_about.pyhistory.pyhyperparser.pyidle.batidle.pyidle.pywidle_testREADME.txt__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.opt-2.pyc__init__.cpython-36.pychtest.cpython-36.opt-1.pychtest.cpython-36.opt-2.pychtest.cpython-36.pycmock_idle.cpython-36.opt-1.pycmock_idle.cpython-36.opt-2.pycmock_idle.cpython-36.pycmock_tk.cpython-36.opt-1.pycmock_tk.cpython-36.opt-2.pycmock_tk.cpython-36.pyctemplate.cpython-36.opt-1.pyctemplate.cpython-36.opt-2.pyctemplate.cpython-36.pyctest_autocomplete.cpython-36.opt-1.pyctest_autocomplete.cpython-36.opt-2.pyctest_autocomplete.cpython-36.pyctest_autocomplete_w.cpython-36.opt-1.pyctest_autocomplete_w.cpython-36.opt-2.pyctest_autocomplete_w.cpython-36.pyctest_autoexpand.cpython-36.opt-1.pyctest_autoexpand.cpython-36.opt-2.pyctest_autoexpand.cpython-36.pyctest_browser.cpython-36.opt-1.pyctest_browser.cpython-36.opt-2.pyctest_browser.cpython-36.pyctest_calltip.cpython-36.opt-1.pyctest_calltip.cpython-36.opt-2.pyctest_calltip.cpython-36.pyctest_calltip_w.cpython-36.opt-1.pyctest_calltip_w.cpython-36.opt-2.pyctest_calltip_w.cpython-36.pyctest_codecontext.cpython-36.opt-1.pyctest_codecontext.cpython-36.opt-2.pyctest_codecontext.cpython-36.pyctest_colorizer.cpython-36.opt-1.pyctest_colorizer.cpython-36.opt-2.pyctest_colorizer.cpython-36.pyctest_config.cpython-36.opt-1.pyctest_config.cpython-36.opt-2.pyctest_config.cpython-36.pyctest_config_key.cpython-36.opt-1.pyctest_config_key.cpython-36.opt-2.pyctest_config_key.cpython-36.pyctest_configdialog.cpython-36.opt-1.pyctest_configdialog.cpython-36.opt-2.pyctest_configdialog.cpython-36.pyctest_debugger.cpython-36.opt-1.pyctest_debugger.cpython-36.opt-2.pyctest_debugger.cpython-36.pyctest_debugger_r.cpython-36.opt-1.pyctest_debugger_r.cpython-36.opt-2.pyctest_debugger_r.cpython-36.pyctest_debugobj.cpython-36.opt-1.pyctest_debugobj.cpython-36.opt-2.pyctest_debugobj.cpython-36.pyctest_debugobj_r.cpython-36.opt-1.pyctest_debugobj_r.cpython-36.opt-2.pyctest_debugobj_r.cpython-36.pyctest_delegator.cpython-36.opt-1.pyctest_delegator.cpython-36.opt-2.pyctest_delegator.cpython-36.pyctest_editmenu.cpython-36.opt-1.pyctest_editmenu.cpython-36.opt-2.pyctest_editmenu.cpython-36.pyctest_editor.cpython-36.opt-1.pyctest_editor.cpython-36.opt-2.pyctest_editor.cpython-36.pyctest_filelist.cpython-36.opt-1.pyctest_filelist.cpython-36.opt-2.pyctest_filelist.cpython-36.pyctest_grep.cpython-36.opt-1.pyctest_grep.cpython-36.opt-2.pyctest_grep.cpython-36.pyctest_help.cpython-36.opt-1.pyctest_help.cpython-36.opt-2.pyctest_help.cpython-36.pyctest_help_about.cpython-36.opt-1.pyctest_help_about.cpython-36.opt-2.pyctest_help_about.cpython-36.pyctest_history.cpython-36.opt-1.pyctest_history.cpython-36.opt-2.pyctest_history.cpython-36.pyctest_hyperparser.cpython-36.opt-1.pyctest_hyperparser.cpython-36.opt-2.pyctest_hyperparser.cpython-36.pyctest_iomenu.cpython-36.opt-1.pyctest_iomenu.cpython-36.opt-2.pyctest_iomenu.cpython-36.pyctest_macosx.cpython-36.opt-1.pyctest_macosx.cpython-36.opt-2.pyctest_macosx.cpython-36.pyctest_mainmenu.cpython-36.opt-1.pyctest_mainmenu.cpython-36.opt-2.pyctest_mainmenu.cpython-36.pyctest_multicall.cpython-36.opt-1.pyctest_multicall.cpython-36.opt-2.pyctest_multicall.cpython-36.pyctest_outwin.cpython-36.opt-1.pyctest_outwin.cpython-36.opt-2.pyctest_outwin.cpython-36.pyctest_paragraph.cpython-36.opt-1.pyctest_paragraph.cpython-36.opt-2.pyctest_paragraph.cpython-36.pyctest_parenmatch.cpython-36.opt-1.pyctest_parenmatch.cpython-36.opt-2.pyctest_parenmatch.cpython-36.pyctest_pathbrowser.cpython-36.opt-1.pyctest_pathbrowser.cpython-36.opt-2.pyctest_pathbrowser.cpython-36.pyctest_percolator.cpython-36.opt-1.pyctest_percolator.cpython-36.opt-2.pyctest_percolator.cpython-36.pyctest_pyparse.cpython-36.opt-1.pyctest_pyparse.cpython-36.opt-2.pyctest_pyparse.cpython-36.pyctest_pyshell.cpython-36.opt-1.pyctest_pyshell.cpython-36.opt-2.pyctest_pyshell.cpython-36.pyctest_query.cpython-36.opt-1.pyctest_query.cpython-36.opt-2.pyctest_query.cpython-36.pyctest_redirector.cpython-36.opt-1.pyctest_redirector.cpython-36.opt-2.pyctest_redirector.cpython-36.pyctest_replace.cpython-36.opt-1.pyctest_replace.cpython-36.opt-2.pyctest_replace.cpython-36.pyctest_rpc.cpython-36.opt-1.pyctest_rpc.cpython-36.opt-2.pyctest_rpc.cpython-36.pyctest_rstrip.cpython-36.opt-1.pyctest_rstrip.cpython-36.opt-2.pyctest_rstrip.cpython-36.pyctest_run.cpython-36.opt-1.pyctest_run.cpython-36.opt-2.pyctest_run.cpython-36.pyctest_runscript.cpython-36.opt-1.pyctest_runscript.cpython-36.opt-2.pyctest_runscript.cpython-36.pyctest_scrolledlist.cpython-36.opt-1.pyctest_scrolledlist.cpython-36.opt-2.pyctest_scrolledlist.cpython-36.pyctest_search.cpython-36.opt-1.pyctest_search.cpython-36.opt-2.pyctest_search.cpython-36.pyctest_searchbase.cpython-36.opt-1.pyctest_searchbase.cpython-36.opt-2.pyctest_searchbase.cpython-36.pyctest_searchengine.cpython-36.opt-1.pyctest_searchengine.cpython-36.opt-2.pyctest_searchengine.cpython-36.pyctest_squeezer.cpython-36.opt-1.pyctest_squeezer.cpython-36.opt-2.pyctest_squeezer.cpython-36.pyctest_stackviewer.cpython-36.opt-1.pyctest_stackviewer.cpython-36.opt-2.pyctest_stackviewer.cpython-36.pyctest_statusbar.cpython-36.opt-1.pyctest_statusbar.cpython-36.opt-2.pyctest_statusbar.cpython-36.pyctest_text.cpython-36.opt-1.pyctest_text.cpython-36.opt-2.pyctest_text.cpython-36.pyctest_textview.cpython-36.opt-1.pyctest_textview.cpython-36.opt-2.pyctest_textview.cpython-36.pyctest_tooltip.cpython-36.opt-1.pyctest_tooltip.cpython-36.opt-2.pyctest_tooltip.cpython-36.pyctest_tree.cpython-36.opt-1.pyctest_tree.cpython-36.opt-2.pyctest_tree.cpython-36.pyctest_undo.cpython-36.opt-1.pyctest_undo.cpython-36.opt-2.pyctest_undo.cpython-36.pyctest_warning.cpython-36.opt-1.pyctest_warning.cpython-36.opt-2.pyctest_warning.cpython-36.pyctest_window.cpython-36.opt-1.pyctest_window.cpython-36.opt-2.pyctest_window.cpython-36.pyctest_zoomheight.cpython-36.opt-1.pyctest_zoomheight.cpython-36.opt-2.pyctest_zoomheight.cpython-36.pychtest.pymock_idle.pymock_tk.pytemplate.pytest_autocomplete.pytest_autocomplete_w.pytest_autoexpand.pytest_browser.pytest_calltip.pytest_calltip_w.pytest_codecontext.pytest_colorizer.pytest_config.pytest_config_key.pytest_configdialog.pytest_debugger.pytest_debugger_r.pytest_debugobj.pytest_debugobj_r.pytest_delegator.pytest_editmenu.pytest_editor.pytest_filelist.pytest_grep.pytest_help.pytest_help_about.pytest_history.pytest_hyperparser.pytest_iomenu.pytest_macosx.pytest_mainmenu.pytest_multicall.pytest_outwin.pytest_paragraph.pytest_parenmatch.pytest_pathbrowser.pytest_percolator.pytest_pyparse.pytest_pyshell.pytest_query.pytest_redirector.pytest_replace.pytest_rpc.pytest_rstrip.pytest_run.pytest_runscript.pytest_scrolledlist.pytest_search.pytest_searchbase.pytest_searchengine.pytest_squeezer.pytest_stackviewer.pytest_statusbar.pytest_text.pytest_textview.pytest_tooltip.pytest_tree.pytest_undo.pytest_warning.pytest_window.pytest_zoomheight.pyiomenu.pymacosx.pymainmenu.pymulticall.pyoutwin.pyparagraph.pyparenmatch.pypathbrowser.pypercolator.pypyparse.pypyshell.pyquery.pyredirector.pyreplace.pyrpc.pyrstrip.pyrun.pyrunscript.pyscrolledlist.pysearch.pysearchbase.pysearchengine.pysqueezer.pystackviewer.pystatusbar.pytextview.pytooltip.pytree.pyundo.pywindow.pyzoomheight.pyzzdummy.pyidle3.6.desktoppython3-idleChangeLogNEWS.txtREADME.txtTODO.txtextend.txthicolor16x16appsidle3.6.png32x32appsidle3.6.png48x48appsidle3.6.pngmetainfoidle3.6.appdata.xml/etc//etc/idle3.6//usr/bin//usr/lib64/python3.6//usr/lib64/python3.6/idlelib//usr/lib64/python3.6/idlelib/Icons//usr/lib64/python3.6/idlelib/__pycache__//usr/lib64/python3.6/idlelib/idle_test//usr/lib64/python3.6/idlelib/idle_test/__pycache__//usr/share/applications//usr/share/doc/packages//usr/share/doc/packages/python3-idle//usr/share/icons//usr/share/icons/hicolor//usr/share/icons/hicolor/16x16//usr/share/icons/hicolor/16x16/apps//usr/share/icons/hicolor/32x32//usr/share/icons/hicolor/32x32/apps//usr/share/icons/hicolor/48x48//usr/share/icons/hicolor/48x48/apps//usr/share//usr/share/metainfo/-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:42038/SUSE_SLE-15-SP3_Update/3fc8e379c6aeb4bfc0d2e789ca598eff-python3.SUSE_SLE-15-SP3_Updatedrpmxz5x86_64-suse-linux   directoryASCII textPython script, ASCII text executableUTF-8 Unicode textASCII text, with very long linesGIF image data, version 89a, 15 x 13GIF image data, version 89a, 16 x 16PNG image data, 16 x 16, 16-bit/color RGBA, non-interlacedGIF image data, version 89a, 32 x 32PNG image data, 32 x 32, 16-bit/color RGBA, non-interlacedGIF image data, version 89a, 48 x 48PNG image data, 48 x 48, 16-bit/color RGBA, non-interlacedGIF image data, version 89a, 11 x 11GIF image data, version 89a, 16 x 13GIF image data, version 89a, 14 x 11python 3.6 byte-compiledHTML document, UTF-8 Unicode text, with very long linesDOS batch file, ASCII text, with CRLF line terminatorsPython script, UTF-8 Unicode text executableXML 1.0 document, UTF-8 Unicode text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRPPPPP%M~fgutf-8080095382a03131b628061e46335d5b91d9bd934e00e0bb6b3d398dd3e98837a?7zXZ !t/ᰯ]"k%f9%) `>'=<>vEKֽ:d[s v9^$;4QT6B*D7;@0>$舗. -jxLW^;r(uՈpC:D {ŭU51 ,M4B{˯\`j;,dү6Q&o!Q ɠAGsm@,ܽoM / Vˆ?THKddL;Q7'SV,z4)ez & Ia.aChA'?ПQnҚ=Ab1UKJinp>qFz P&U-֋5s Aדdc? aN)2K Nh(" 8yQsZVdH[5?w]#|b$|\uGdxm]h8mhc[U ZW5~Ɏ$zBT-Ew³&ߝtQb톝B6H~=_,h+ $e2A#FM\-CR4kG1Òy))͒Je0Ӫ>؍s)<-_C; !;QR3* NM+<؎3%(cf؈q]+/W5Pڣ-PG" Nq@3lfYG+u2] ٥KEҌMk.FLh~ G!Z{[*A 5tsYU$.Vh*`^XG"8Ԅ5 W,C"S:OőX~U%!c5=.,G5 H *g$Rw{,]Ey4] ڍ~z+G> r2sNuat\~ ?D YB? нi˫PS({ѻy ѭ?!^S>[ O<-H s{ 4\.7|ү\Dle$ Ϫ;%rbDq>4^jk sMgly|!I<ߖneD'i\"tOR\|wfՂ9Ypw jTcV S^lFIg-)`hӉbJ 4!GZQff?[ VԱl0c΃ƨD d'[iԺK+UNuCi@H"H `lKūRED=SR((+YD'"X麜 0lFtJҵ_ ס -X`֢aV綠ױr.sDy yTO?3߄:KdYIa8]M` s&wvT.HqTOaHGWڗ:Ӗr}ǥ ~] kel ٩G}2*M/ق@TR.SAOX]z0J8yÚ*5Qĉ)a 0pB 刉knxpZBmfC|+K!qh{yO<> {sv~eW1@5Db3( _Fidyؗ*P~PN(_84oLYYB}Tgg(^.Kʄ(Z 6}G3q% r{YKofɢzԪ7%L=1/򿖀\9ͩͨܟT]&ʕuw\mRGY[g0݆֙,.!B6CL>G\z`ҏƔ7/}tumm)R*"bw:|2{w'@(J霭-E@yE:JynI1mQG>8c:*~Jʪv$Cռݍ^6U.ԮՍ?='gr[I.K&N_PaSB*[ȢU$*ԍQPȹezZ҇Unfʹ!jn鞘8sRK#Ph8N(6~.Vi fv ֩S>{2/0fpTɜ7gXKJ_N[,0.GjM$J)՘rt?3$rD={UPS)`0 ZcOgT_2B\p Un>5uDLn>'`mUMnVrQS1\ !#x#ga,e b&P5&ҼRp%;E>JQb aXyǢ2W7k;uܡ\e)a=rfJ2"~#B"O֪9ל߻M X}ld-UGW$&K%' J^XU;c }ѹiF{)(4P1xGūZpLu[ #4B/hjQNTyoURzq}⤷2(l[¸Q>ѡƨs0c-v0^PfM}+k~&s/>$"j(8c55Am<-9 3{0xLڧDDu&DaNW'"9.;My -Ԍ)_=ǘH_Cy#&HrVܚwCm><{0t~ф\%aՇ-7_VTYm Rm<8!]=PYu4cDc>P;HR"(`;#XRiAUgx Vmix`һo8c/ܣ=R1wr9j#Xm A)1i ?a$٫O̓h'_2C\ ,4"!70[ {!ŲYQjl-.}F DЇkS>B``P픅D1;' * D"IN_ 2\ak0>Njs_L4Awu3JU(@aEaӂ1'$ʶVc*ޝul6 ڢ}CZ*hn13 ^㿿vU1j*&W^aٖ!l>JW!c's/e8E/HEtn4טjy8 !/J Mʚcw\Vg֖X5ZЫo ;WukzzT\]*+H( n'ӂU.[tW Կ%a4;!f<ՃL"Or幽U]0-bbPaׅL%%jn^`+z'xsjP-u]ǚÅ)]%'4hY7pf+%+1+Rmo$sUIb@ʻ;X+hB,\cj/7xb}(︚(y("5MOo#$Vp[ٵgQZ9Y%Lİ_se'|)%/h j$Zuz?GХԨT/5l8<-R%T/n-͎ (zorSz_=5׵rB!*K5mPm=COߴn 3BEAמg;6>Hjxb6D< (EAB%~CU2H…  ΦȼVНobVcwBQRa3t6vDS^#rhAxALAdEoA }8rd3y.hҹ;'c6R [=G\ys(-AOK[pʧ0НJ-*9&8ceJQ+C8^h,Bj0|7ao&Qcj *B)hٲ$H/ Dqi^k}˹2M@pQ, ȣOIlw*}?Z4` 4oiwT߸'oҔ!vv6^)z=MPdYMb_LEC3n|>9"߈MfkQ! FYLq p҅x-D$'*İT2㈵7,yk^;/1l_,o‘`dQHNj6ŏ^" 5qy:FM|t~W^hq#|jE%”lմiBB+A- { SFy"|FGv-ޚ0b|vI%;X@#;8ؘ"$E_5vqR!n4n u 'J2rj}蔉ib.Y,Do=PkdvF["Je:M#v&ruPP3F:b\T3yuXZ-X7YJ}}eDF {:6A%`v[ƎGOW oûƲo[)[U G$1 •Ő&.皒>-?,sGPr~$V[.`#p[#|3c/ gn*}PkrʀG_ho\xj-c}^}Tcf᧫]haW0(#pk.pS}['K''E!̏ooۀSҎX^na/u7,~?}Q *of$WGb52"&)Rv>hԋ͹6fGj\I ks],1k_wD ۞\Jyuco D{rk@W(rsݽxWzZ ٛUNbIoS B<9ĸ1 ؏L" pcU/7C|0"Gyb{`7ݮ>B*j_D̯rٖ!Э=Swg: E+t) "~=pXSNqG5*A +Gm~^ȤD,rFV1jx,& I%h>^DwЀ.˙LvI+Ar&YʌB0".>f Lpڊh-<*B[5e^FXQEE񩉭(f_pzķA #;<]@3u(C$Ewu\bMf"Zw̡AvᏡ2g)rXԎ&iuB8!f|X]p]DG)¾hEg;!~6puba6U:l6:2QWJ;k&-- %(7o uZ[CBkb*Jfg !ζADd Q@:PQKސӵ֦6~gY@Sr9͊ ?8^U] T>8՚,LH{2o:k~WV,8. M&`Zċ_yaoilPF~WAP5^%,w/RB Hh j9 a~9pisuWyH_}"{j(AqyC-;w{ UΈ-bϐ*J ce_1ЇjS$AШ^GBɨ)6q1t#  5+Sr_\up]9D@vK֫Q[GU>/W^$|u[_q+_ c D8*1 c+B60MK3\bjvoz.SǵJVY `s\hhd'75Uhsm<G#I ؚO<3gX%29Mb8\E>nnZL)_'Ay*IU;<^ ķ/O6Aj⩍42\ ^CW9F)Ǭo'7ޛ`CL|*~D:D}zaUGuռЙӃ,~,܎/v H{ӐKʚ! c~b|[/P[d(AGlut-oΨ+a#9͑XnR?Mo7>tv]i6b*,8;twXߜ>Ygas UЊ8# j 98Ԩ "TLqL-yb_1pʅ a6|b8%gɱ.·~XD9.U5Yo\RX2f)}*\׮nC:]\H^x/dA$[}fթgs Ҋ+ev4emFzdy30cvd%]wj*FG4GR]"=: VMBc-WbdX D %̦/6P9F.WM0T+Lc+q;i8-ȘBS:-80?[pc3؂a؝8L<,ՌL8Su], W2Zq.1IՅ(r="T"n0yA2j^g׼.S+t+~&yBpo.0FJH`a9JǖvSTy"7> s\ /P uS_v|bt7qmF V+Ʋ$քl%reC Sˢy,hk}'F)Ё,U4~!4CH<= *P0&@x2n.D\${hMiY3*S-W5AE&Kp85oyr%U0_9y!\=o1]QQ3Nw&9\[&dnD,,s{N7ax:.(:pG>xgک ʼn4 o*@qn{ %z)1[ o]`5@ǬqD gv\P@gyHTOwJVnv6N N.\^lYJ%pX^㎘;XD`I\,8`.BroKZ\Ľk~ƌ=; sȓCF8w WI'_~S:F뻣FQe@ iexzA+n@*5dмe,aoep7[2("1/M5 @hBZH(W25FFRY?잚z)VUns CfZ}3YkV6\Ub<ЉLE#ݞykwB_#æOr#~5;w@?;p֑}Hpi(zGΝu)m=cdJ9#<Մ8^BX&iah)Hj/SW**skh8 j[x#,ྂE8 IGh >&gƮ ڴ2TF·QI-, ")dGWJb6Xseva14NP}D̫Pw~i{ aA|1k;fG*v"cͭyq2%w`CPmR CQj="}\0Nϙ~Uvl"6g^yE{XER e;fb(jZ x8Ĉmmgs̛-j9* gJ2ԾeG1ه~ͬIv%ݔI{AbYU DI[0e+¯Z^6&d" !\54(uRc')Y*q9w-Xdl zxoHb@5&Ŭ8/[hLx*P^ dzޥ8w&P5<J&?nSF%xWn+lCځbf{ Gnk&0Adtm'nD<_ekd }f6.ΜmX&/<: Iay0_7:2%d?MpO-ƆdQhBEy]JФhoBW#Iid~2.4~oE.(va{ cIlI~?v|K"&`|ז0b-@֑o>J7Fdt-D}lN14)\PsouӽpVނ 2B3B~gq2#v =D{L0T3ѐ7g,݋E! [\H@sB{;tEqkUΡ1"5hț2,Lحw~*p l R`0a8 [*2Y|)R,<~'#SN4מxW:>l%dS/-M''䡙7`K>k3 bѧn0#R UBx/h1 7an~[ }^^ nC/k9Q^u8֋q6q^L)/#Yi?2I!?*5/߯nL͞Q;:(;bY60 ̌Mx7 ("fH?01=mbϷ1XU,FYܑ*lɣPa2ZOgr`B/V7c7<($:5Gq=-RcLOIh3oom&Z!\#B )qg{w9b0`7N;bX鬮_%&5Tܷc̩vm$Y]AEBې=C`}WבwzL$[9:Ze-Ϡ9xGҕL` dA\#"4zv~y;س.Lx1(T|!q8 L#,khDЙͅW!;=yĥ'mU-W춺z=̕:l.9:;ҐqC:T }Lx{9?VI~2T?ک~NW6']\  "bl" uW-YEsA4Yyǐ{@*pNt%j3 פQ803`3 xz|wA4wIe$wpς 2d?-b4$gzK.Rq߲NlmN:'&l88}g^RDKWe*WB\iBB1I3Y"QB|C#! =.*O/.^ۊq.SլzCyG;Ym6 /WΥycQ ղ\aliWwf4鳂;vھ=:W,idQph3BG GR))a!ڊũ #{cW#e Wsj}Ȩ=lΫT4o2l,-ۛ͘V{ cn=E«{ANn>Ŭ%sAYY(H$?qGz(bFRykg, _('#!`F5҄ȐWIT5|= 3H3w9gG?D0utiյfJpۆnJDW3P }u8")$&yWcvVo?âd)ߢd]i ׌GOx#!D(L%@m)a$ic윆DX-scW6٥6p |PEDD0y݋Z}X-yOEˋIWi QpRN91tjUo C}쁴Z$iҾNy<흩 y[a`#z+UaRJya7=è&m㵨ҕ)!^1S} C`<ߞ+Ly(';Q>?=:|M6n)/IokA=fۢ˗Vk jjǣ^Zjp;Q!l(QHctJm[|ߎpq&yBW|롙'{ٳg^hkl|+C-%ܨ%%~|$c|LTAiOUkͫ욕5 z3BcQ73xUqYUyЉ?(܃z Y*z8oJ\V--nA*ݤ죃{gw\ɜ-\vB=eM hp@L]˧Pp`=/GJ푶j-՛!S7jq(a1X!w0jǤ,OK Xܚb(PLͻqtװQ$]]ͫE|9k 8_dqa,iA)}z3폳Zעt% [v\?Rx~ V>Rӊpqpo'dG dCτXB.5R)`jN|_,qVI?'z|W1jξؾzs #8[IlakK*ώ]BV.Ŝ6-r)@;VoM!2^djBGYWc/:Tqԉ܏7|72ۉD2xmXYCzjXwhДOw4&S_{SƑMs]܆e!Uq/=Yqqp_M{K{,b@~q9Uz^o—Zϳx ӤFa7J+[wS 6C.pU&J ?hDd\n2޵-#,RF;; 9ΠssbMM^ʘ͊.f&}\UA2p RBEp7\PE;ii޷?FX 'vYDnZS;%3ABd(Rʺ,3Ihnj[I{XcۛhD3uD̼%< "#wP692Aon/2D|pAlx&=÷~ET:qoG{{bԓ]"|=4ߍKvv\MU-/؟* 𥰂G tЈ8 LO[Dd++wz7z8'i5|QDdߕSvI^9km- @p'l|ɩ+Nsf [uU-K{z ׭s5} lWO%r.!eJM;62s5;;!ƴ/=! ۺ$;A Q$JځY)]Zc,E[ưycsփU0zD(HՆyJiWXTg@E JUM~.pŃCӬCl`_o ZCs"CL?]xҤcXR3>VdB'ɪM8J>_XZ`uo yJY,vlbh-Xm7'"Ml]XU7Lo""փ3u .h|Y R3X j-^ !Yki$4a)M”Vț +Xy|91y=yɕFQ]σF'q| 7dwٻzmX}Hb0Z( VgN(&(@~B\6Xɜ'DZoF eI116zBK Thro}>MWw?Or g--A9MUt?90bzXG?&TO0M!B9;Θ5p̱'U$6A\#%d''iƽM>L&bGٚ;;u[3DMJҭ8t4 ?Bs3GZgGir!ѐ^0=DmdV?ݍl@_%|ZA?5Aeq'd6dҝ kw#`zdd|w>%bsC@~3ݾpޚ/}V[v"Wl12iz -CP7dTmAVdsUQb"]p[lZѢ|5g;9\(tiFG8nG@$.H qm_ohW4tVNJ&WŏJC}ϡ;Ӓq`/rGe_ ֑&$2f9}}Ֆ @kXԩ`SO0q lYjy/jjK )znlZ>@vRK帩1"h&r"'5$_h8n 'eԑ;a#7@ qAo)d ;dJj95JHoc 4|'p|Ϛ+s*$?pərKtowrp BE<@yu emɍ($OuVt7ӽQkZ(Qj'No'ş-ꈓ/`8ў|u{W%Bb1 45.C&ܺ͟s>u&AEa_FBvHg^lwxBn ̝Ɂ 1ŵk3=BmySYKBӌЭv}:sJb]b:*VH3(MP3Ť19 <6nAD{ͨO@">(r{(UGt=^l_uF<aj-Ňko9 m|س \%5e*:Adۥ(u(~ҭ+nAJ"w@8%n2Zu.]kL@hEL}֡aK%iR@&F}NpSLFE̽PS4Y"G=@n-&bDY&Bto'q?x̮ǩs6 ;;9hXt,yKJr?1/+vO`3V4^18EXYǻek9]k:WS3`qRJxXƺ9hm3$3,:i)mxޛG,26&{ E P[c!h3"AB5&«;EQ E9&  u0kOOe&t)[IL48ph@t~хkOLOsg[bZvwrGe#{յ."ڛ^I뿞(r6RݟՃPNG L $`cEz +]Zʠ`+T#&MNY#I>q71VV}OX\E8x240\Q402}$]ך cyІT;)rW)NUF1X/p4)á۵Ϋ DZ= kӽF6xIcV<\~@eYf#Ja !5`2Zczk-7p{Vda>:> AʼG$A]7pL3J:}nFtUR@Kk\5? ?$GGZ'2ȝhIJi݃w8nl3fF)' y,s%E0,ީgNCfb14TÜ[~GMȍCC ֡sz > ȳ]:Rpib؄& 0h\ S۵YFЕ0tJl">?-'gg\a+Tc E^PTI9@(:[i ?HnFΙieݶPnЬ1d F*8XXA0H!cS9?x aE7%8hh Iש (}Dv6"nz\qF,K8zw\r~Zr.O" 3P i3i2S8Sa>Z(m-9~PgR !hV8j7l\~ZAQ@ΧLCVgF,V&Pfg/~',,=&5V%7u3 f-L6)4(h,}CRDbz{\L,λSh<s 4ۦU$8icۖ*Q#y0vp>DfbJV6!p;BO AUkDŽ:OQ2{Z\dVwiBuGءip.3P!g+[BG/.Wcn[7uǤ}ed-ˤyΑB@X6Ŀi+}fpt8ӪѮ:j(Kڛϫ~mV4OCӠw>wmmOqr3>kPfY0qw780(i:g~Nʵ-57N`:"b¿"/9g:-Ai"1-zP7 0Wc\ aU\pO8:Qav;ڳ@mg"sfY_ ~?-MwTp?]@cW$=m>X{e*KwhS*NGwp>lvp>F:oUh,[N^r6 Q"S<}n!AGx=hQsrtZ;Z*(A &T⯢_Շ]5 e"*mO>rNЁlg5A:gtģE_>0&kT\g~?oJ\SI.N"SXG>wb'߫ap7. j /R%Ub"d}g_:C]Mqh: r3ma{מW[AqΑb"MsGhԈ#OW?UʤnwzXab9P0GrJ}Ri'7eY{ a?qT7DG?64"{S.#2~c!xk'x_ѧ@=c-'%YX3,9 F=I/^#ۚ$>}6?l>.*s9Yl"9FU/`nK>y")78OQ0NFh&?T ?a+rh^Wd"caXjI? 0w+{@*M&┄6C̨JPrĸ` @'&=v9ӂPk־wB ,6kK,*^j8s#e[[B2 :x,nz6KE{ȑ)UUݚ|M8> U]Gr_=zj&[.ײ $)\I)r4^d o{LW$\Ƿ@wN}D ݙ1 RjH5Dh][ϯDo!|e4ECcǬ"n C#FزuiC$#u6q5Plԉw$dqR Z6|ʄ EРeϹ%G*fת<=>^:6Ut-aeyV]ccR>Oݳ##( # L&Qk9e!D?Ԡ_BݵT5 22;G!h:HwI1v'c`^H}}56K#=1&a2$@+^,d\ɂLGaސ gpKFC`$ꗮK(;&܂,;dxgT?i~)Hϱ?¶TjJsZ0W5BM7Gq$nۤW Nl #Pb]e@+pD–>grs4b- ZAJP~LGhg -:#7AG{qIv9. M -ICe.>V>boR칞QR0"*pj!ՉƑCBћ1fj1b-u '#2ґ.u6;IM7ְӑ`d lo"_ZGebzW?@BL\E۵Cvo[KgOco 1|=l+3z)qH74>CxRGg-HY_M4)`*OUf{h"}ɲ#}ta}[ ߭aNAt?Ns&늙 ܀g3rh0QP,\_ܒ 8d d='}'~52ȏfZ_E {!IM`-: \yq'9uZq' f1%2u*I+]J#iT8+US *@U.H&])dxHHG|3b Er ج,SZƀ))<bHF?W.6H)BB}a'Ltֶ3re͛d%ph,mIi5 USzOs"qRsC&0{}je-PJY~JdjFV?y?YYq5cMedf8Ϩ$ZwR"JN;v!8:w녓9р9x qH䂧ᕇɭEqKo O.C Ϊ|je\2)vUV`g-H/IX+†vH:CVf,4*1_߅ddg}2dWWҺ*"Z%<8p(, n8v]HQV xHkl_pXSTmoH Y0V0ov]lѽzS44o"@=캺j!Z4R(0Mo`R[ېttkB-//"I/i*9CY@QgK=<[HaWklz-6!g혥1cCfv]=x%/K;)<դHNL7ЏO:)`ۛK:-7R̺ |ߍubMPk@ ˆ>NQ$o9Yx)Fj~\͈jT3פ.{b!=X)4 @[= S8@·C4:UIXtq>":E{bOƼ7~I3#)eofTvUTvY5VE<1#%PnluNC$ԹO[UlWS^J@ uaUc(R̾.)N g kw_l2޳N!A@tLc6Ɉ}GM]2ŕ/fLN)rxXCɐ)tj\*)Vpfe) oVѱ.%4}pIBF^@  ~)`,d{I/BCW}\Zi4Xi:+ʭUtYIT`F۠X02~iBKʺy@L+j KiI|(QO ˸ 4튐YS.5O#Įe9\p m-R[ݔ D5o4mS,/j}r0dЛѡ7=Q'\,y8bhDseQv'MNI#nO<}R-V;UEbbln CE{FU=#􄎑]q?ɋd(` w6xP XZ7ؠR˙/G(i,@b:`B)15e$ȕ{>t ocቘJF KTbQFp* 7o+-$e|5 ln\{AD@G)56lkŅTaPsX6 [1!c3'A͢H0tS9Lj5#Ae@>N|I0ՍhCDKT.wT-cclL[KdL9pP$P㈋YDG7"$D_5A֦BRVM6Xc?uhH,\][ ʅ#_={}RI5 QA;9$ Ϭ?$e9ܐ{4Z_iV Uݖ}˱1+',dTOW+a}/悄a{N@3Ԧ_jcy1&L}` Ro֤4bm<Ъ ܅mPVx)Mr >k/qw8 $ZE u# 8ઔoYz=ssOҸzxQ ЎF`#f'mu96~ڬEYϧV[fB!&ŷBe ^QoDҞj3U|]_WȀ]7iƷvUj(^y|ܥ=YmS[nMJqS*H2~6E o<X@ 6:_;SA])`۵R{ 2jF|2.1{cn[U's_f(LjgeAf ۩ ''LxsDf, >)q=f>I aV)i7τa~7^cKō;g/|ȿmV Uzf(s9< U5XIURfѼv3p-, 85ZW0hIǁ4$Pynb4|Z5J=Ñ<9;馅9[ ҫ03IZ #+mGaѤPG[K+_*Qc#KU>S !7DI6|x񃪄 }[Hi h0Jv&8qiԱBm[qS"2]PMuutU{|&@6yoH;a.ER7$ 㞲3sK܁ ȣ܇0(W4Apl/KM5&eV$Uo 1D_|ӕtl *$c# nGب3GF =)+o-J i0ZN3K- &%)>yoB8=AJ0Ca2ZjTtf=+~~ΛԆRn kJ0L00 ̷4,%,QBBxQj[pו5SD0lB#J후; I_ó@BLi\Io)Aimבi8C;Ӗ׳6oD ³^GG(۔Iϐ`-yD:5/k4^H%.i>lGLYRoZ힗}[AHxggsD VY\MgmA+>C}:zS^Qln>^We¯ 46]";t@>3~I&:&%>Va?$@{mj+3ABRh/¢P Z8(J' 0R]׭6THȜMe֧ϥC&7MNg?ucSp?w]ɛ^t4[ ʛij!lG)3-C]d)WGMW$6@L'>\mk xgzV epkb CD n |ovJ]7K.i+l&dž;}U/ZxY!#~~.:7qnrb*E$?<>%L˩g$v)Jgyhr t.U1B Rj-*Y~|Z&̃!Kğ&a;}(ꃡ!]<9 ªXܲ^_jcGb`^Ȓ͒;DUE?B%(%l Ml%+0E*K@$F+IB%H~K}W Gj]?:&nɵLy6riDwşG+;YJ[iKd04VX>Y4;e/ב"J?78py‹:0RwJHt_ФDܫ|'-96.zZ?-'"o #r[Խ]ot+Vb{f`y=Gt 5^"U=:ڦDX`ܱOx8Er5""2ɽ=^w䨡iswCݏU?(w8+2},fͷqf)5~QC̕ss&,[Xg Nn^`, zNtPY*P$.- :+|ox$ו }/'y}53X "ۋŸ́씫/L\Uw}JCEde2.Α*kd+݁??Ʉ,YkXNzx (` GJ|dQ*q,. Ut.82»C*?3c5z}5K޶u`{V Ӡkw]u٠Z8mjt6!202J =Eťs[BrrӾGθ1CO :\{ƙD\c_܁ `Nq˕qH(Zk6|6.Lb s'6 [R gr.S79IБnu(R9W%̅B~N4H+`'cr{㕉Դ.;dꬤ-+ rU=jTGj1d!C4>/?'!+Skk>""t)^ &Ut]"l)ָOfZd+GzqfE[6YiD$rym5R Ө)TZ&*3gPU!V_z&CUJ=Əv#* x`&נcٳS8/@K{dPݗcԎ]="'F¡~:2Gt&]ֹ8z`@e{̐xol9A$.*\#YTN.,tBrXn+\)a~d-!OamރnUm#]/_-v_~w܂7RVҭW;tK)l-U?ۈXtX5G( 6ܤ#C~|79fѬv֔!1lc3jU5gj$CצK溁c9γ>0{2sޡ'w7HZΚsʓ'_*@P%R^n21?S]ڎ>ຐӥ[j[RF l;W0-'eeؓnI.CO]-k꙼&ZCF'[7vψjGTۋa%'c枏( _+xHO؆+.+C:M DPfbhp =l˽%L: Cj hBƵߛ ܧc9, :eo/[NAPB;Lh_P(y4be+B钖{uIf.mIJKs￙:Sl" @'3:q&o(fsa>G2{G*<0,IQ:ډX"EӓiޔknJ@-W>5p2⎲Mq19}jp/=bfO,"EtWs]䫁?ͨ?`Xk.I?Bd2Z@pa~&1[?)G7_%BQ`eK)y}Jj GcDTf%K_Z+((+J}T *tkS>;-&c"3 2ukvuɡa y0 `F`f@֮+Jƣ +`h4Ԟm&-Ȍ\LS2㵒B<#s(*vuq Nr܎jnrZaT=&" Nǀ%~PS1K>HvAbZ}DH`\vBJiT³޷3jR$ $kX!Z|a!+ xOL9ݫwq;|ibNij~ok3s\ DcNPmd2ab񺁇FB&P|odJrX3M3KF#T/_]cɵVVe !d=.U=_#'QӏOwRhbzj[]|h.Y&w083'K:-m ; MX ]ӉeysM!![$>sˣr땝TP4% -ʺMJC舷6oZxm2P9|\dl#HL[2skБ@f=mjp٥X郭J\wF1@3='sdwhȶ_0'1a 7p ~&bCmXR!+U@/ M O>3Ho'4/mgȗ/FiyϵS >hvL!W7n|Pa1bʕ31@3pu |ksiӕA^V=fQҌ-M &g316lYt% s]d6=E0X<.A\s踟7`|AC9]$W|,{viJC>CZk'7㐩-]؋ YKjF뽸=; \ 4HOhq?: I{>QRپ&[4^Ɩ̩&W<f/zC~ v_2Ǟ=}rcU3l3$fFa@a!.G7Xgs gEנptŨWU_*ܧ{#;XvܩUD5CQS)HRţh'|Q4=oB Bʁ{S 4bW>5D2ܫ/z2֛X~'̇t#1ElG5"nϡNb_uABW PiL=}NٗNCMDmiot@4=~5FlI9]F7Yshj2cgڷ mCMMS eJ/l{d焚[ri4,#ޛ" hW1xqfs|THvd7L)] ڇxH8Q$X5geiᥳw'oԎXWIM1UCMEfycZ`[o+ǯ$},9CV%kǰc3Е־Iqĥًn ,tBJ8c_L6HxmUi.-Eyeַ}x f-q~mƲ@ұفY]]0+'"L6 ޕɋ5PnÖeQ69OI#b%uO5YL9W\ bBLF\ 2!MN ˇ9UFx,pLol{RnFIdm,a$f9L,?Jᣪ@Khf'i~C,lYJ1O)'ҩS葁;o`X+hם+ٟ^i]0 u㮶w;+$b=vntoe%ꢛ\w:y{'z^aL Q@AbqW̅N* ʵHkdY.*p]6G/8B;>P3bInyXo…?ABn]KlQ),y AH|Jp7y0}l\եKYkV?e2"(/"!F- hR1#f*$QH[R8IĻiLD f@]ͨ7 k$1qOe @1qoFK|y-Fˏsqz}{Gu#7:)zf9kI$6 k}{{k^-=]qYV/ :45ZR}?ch: @cNU  Wiʼn[H#PN%cm! :rs#qedlZD](qh-Nݵu5e=]8]*H,.^$iС4+78GU*+YD:%'Qƥ 7|1]qw}L8P/%-~n \w-#=80I#YSH6עDU C]/*jS*H!/Uӈ=2@L&Y4P7eҮRJ+Sζiբ͐KQC-yQe@@.KS ;;']y,1Eyy?'0kq3vcۉ|)혠78aȽ<@iF7JCh_\19{}~BB(b?Hy~gĢM8:;m3`xJk@BdB 8vÏ=wR==i+r&FnHJg;]W0$r ip \G,chrGӜ2m᥵B&%DChp%2Ų)7O= 5JEҌj3(Rm"ցBT^w1OB,h6$qO֡6DP猭"%$:mfp+:E tAsCmf~㘛9Xn] ʸ.)cs8]+^ZF&l-JZ?XNuΠ&FL03&}6AwSKmٯVmo%)v٩jY T@wy]'4|^)LT:6 )JU؞2o<`zTa,pb DhH12WA">IikfsX/Z!q!>LQE9s`*OUߢrkQQ᣻9M;A@8)CHocT[V-]]pb\2#>S;DSPKPVq`Y 6s#mg? BCOYSɾ8Ȉ3'ůfemGva'UL[O~/v]ȹE;OI& w-xLYڻMAٝt~qY'':׊RBI%~UALʩg);98UokVʨ.g 18PmOQ[< :1!}^Uvp];PFd>^C ɀq2-M[Fj}kwG0 G*Zx!gB[XsviQ8E [) -/$2^% :' 'ܱ!IijyUœj>,6uxfzNk_ΤG}e=q1nc $6C`hmX-Ch0<|䙉Co.kg1*ghÍ ңk\LjAR,#M+^z%&z zf6=İ^L}nU r[7QrPCOl 6žRbTi^ש:(bCMoĕjŝ!WvmF"w)"X |Ts{8Dhsrs[kkd>Qb9^IɁ}!ٻT';)95q'Epq eN7^AɅRO!M{/C_u)or̞ ;2(o7 My1kȬ9ŽFlϝK}jVg4@~k2aNhjbo)t8f& MȣvBIAY>d+rr%vtm˸P0+-?|WQ|Fr6΀Fn !nuJwU=.2acgX؋8Qk絼-;RkV7!LHᢛoǸ.+: Wc)OZo~X.ս+`\=`0 ;3VU^  b|C(HODC޽fʄ p1];g0Qk8sb'3fm)Q1пybxm沸hb۶p;-!/Ыfq9ڼVTk=RvhFQUժ΀j KxXkc93hoEogq:HT0kWoAtiڹ2QL/zɡRmĖ=J(ˣjHIFI\b_$5}؃'Ѱ%뵱Sbiv^tCӪ>C'_gPfok۫ *L#ېAFDkaOi(׶%#Hr'`+=tƬ=ґ$- Qp41;TSce=;`g OegNT1im~6*Tb')J 6m8K؟T|T틼"VLb#%ng8/IR-i6pD '5FLfn_`EuN^Tfiޡ̧tņg4v>M9ttp\L!ĞZUj[74ytuljeIBOzyU ͕,;IζH+QeUc| p;JZε($K L*kSjȎt#bzdž׶BkVHu)qLYqU:;LDߞxsc>=R =i;c-Uq:sŁ<Z{.$Bwo@Xu OaƉsA?(y҇?zV6 l#;kx' _>_R_;M*Wrʯ/?As na{,~"P 5e´J_4( 2LG};H~o6/*" &NR)͜G?d[ j$N ?o+_>M!#a1-[r֑v^.:bx~ȢAtG 'zh"# Rs͟| + 1kGk. Xtˋ6Z̸ZL#5*(V?6ATZV&m`|Hfaе,lpxюH$|}㴬gKV:λ`Gf$8x)$`4gbms/S"7% $w+cqkqqbg?SN-P biK"&a` I].ϽuaNrXT Q!fUEH[ޡckHI}ϰ-w^ng/\0\] ,5Sy<37]~R|l8ZDcG899OB!+g7bda}E'WD4WRϯp!TpKκuAg2Ti$faZ5UpW4HFPoyɝMdnTmr^-9JdX_X%֕%VFP_@IZ"<[]4t k^DAu/0FR :+:.|5ga)cDqlRc*)g\{ܲys@WY bjMP۸YQuTy=6?Ee6෥2nl2tB^hJsAI964 \v0$n"8.w^F.c)J/74%Kߧ|:~LpPF61@p28n*z\w) kpx!'s9G$n"X4LW2PHqɺ"t:x]UPO\7ŊԋZ6Esv>' ͐%_nK#fz57¤tcBw/!&͸ ?%UN_^.kH|ƕy)cs߀GW4+*W5KT0sh(o?եCZgQ+J c1aD{e),W>U& cv*z)h+7Tꬡ^[HM-KAx.3J*J1LL -S?b7L~JC;>ɧ Jr ~جfQ朆Hb;.^t_Y^>fvL=,ǒVϥŊ24{<+Qxß_no6SZ^Y\2UwYƆ_ unT NᦺX9Leat Up}Ye2ħҾՇK[8𤪆Τnĵ0aq `r{͙g`yB "6u-?U̒d̿)Pgv'N& Fs(]>nXeHV e'̮k]υb[~gL4=[sU6p^+kT6[joS>+gN,`F,Y1“ |[a%Koc%er,mB]ɦvӢ8 lc QYzZe&Rg;ʫ,5K}HѢTq퓷VpA*ڰ nFm-&ݕGz98g1IsQGhI.dg0!U)!:y3ih>}]Z(ϰJoNJ@C SdRẺ~3yw0[s؍!)me )"S:@j2i\HՆ"KyN(` WzGt_;Az#I [lUS$fwv9dw+z2p6H/ I\Q,vȖcR8ɋiڃ׆$=ia!4oj/iC#ϗ58F(u4]NH= %B >i[aGGZ W{]8{vΜvѹѲٮWwc 䯹ݱ,0,5[+K`)̺͐="][:6~YA2G{.ݡ*PV!يpfk2GUAi_Bn(1چϪ((S!t>s"ItY`W}z/b cE\2acӫ# ;m\9SQ<,"2 0Jǿ3Iqށ#K3;0l-!f6 Q~M,C8klLv.I057}C)'?{fЫ26ɸ;WmTH7:R7cW etoSؕom"جJ[|<يo߾| ;+ׁE ѥ^ՙ9?GM :QL[ U'b_.$e?3>t׶~D&d]I؃9OdvQy} j$|ˉn}}#m@Ӂ*6Z^uퟺ؃_'PJH}DD1; ^Đ }%`Uj,5BaJ˥g BN8Ƭ5vE$}Ƨl+lu8yJDCWRZ&e7q^Nz:s%%Ck꽵EjpHV-ed c7v:wH ^yy [mBMc$^ݿ,*',hR>h"ڥW L=#:[7[WpoL0$ 8\+QS;kJxAzh2s#?E^gOgY s~BA./cX?|%vw+E.ـL5FU9_+fud80'=:F:J97K)T!uVTrKaGئSWDàRts0tŶm,_r&(hd7w%wo86fIa"琠x+ؼs1M`0a2̟ ZdbBIulErV`i?k~.0bXDdem qw|\dPx(Br"9vv| pzE)&ӀG c̜ާ8mL 6+.gAһckħqG1gDGUֱH[<>*F`U:Ι`( 4H+/'nfxP(MsEB##-р`kk!`6g=6]<꾻[6i9dP9n9r|uٍݙf~[Gklu1re|E-ko0B+USP[!"ɷB:{lzO~w~FDUUOJ8Vۏo,@ݮ[]C|;3~5FFpqH7&T #vCz ԫ!.@[c {({o0CƢvGvB \^/@,؏/?/쪡*!LV N;-/ϴrլpGij'c/*ѝ{M橠@k"Z8[E].oSUWq\qe1A9}@ˬ[63ϸDƢ05(yܼ-\]ˍAST{IE+˽TAB}>Wѭ<AاfsN=D1oW;q/fd #Ƙi !4Fp_M&~KNRu:ӄ{q<^nUQ]to,TV#:ngOH@(H|ca |Bbי*6i2PƲ;uů(\?{ 22;(](њf۫xbJl3&S_Hϴ5C:%a1`%б 65v]ѩ5zbQnO470u;tLJk<'֑l yy|Y<=ޮa/'jڼA˟,6nls3RsX;UJ;Q׽z9UjVU:$Dr#L\a xJA ?-QD0ڐC6דLU" JFB۱v{@6͉WҲ!76z؃Σ<`A@]D;Qݻdp1F~pg$U E4ywNKE!!\+"y4rkzשtosw/5&ðû'{;P#~G:YgkRJer?7JKMo2ۃ+bS뙄* \[YY;ZY׎:~0h[c@o;6D0BT]r 7iK=0BeWWU9-J&|$z煉Džףb:V)2I<uDe(dzjdaA;;."Pח=ʾ7XقEH‰h)y2U#ѶC LyP 4R G)'ԜepUĺjxc*ș4gq ? Չ>;5ؕPW8_bzRr& \ + ˱67+Y`j^$:S~sc;ʯbT+4m4u#L+Y@UngPсl;o<Km2[H}1Wt{df 0^Vٻw8 pH\/_NO;GWHK*QTQ-/5?`OIW>OSy,M/഑uL*o\-0*KN%8Í2lX7kY(W@CRn˨%|O#v<`jZ:-Z"L/8%҂q=^#wo_i'"Q1p1qIVP[B:D%!-& GLCl%oBE+&}ۺ'//܅ G*̱|;u a֛l}f %AMNE AxQB^I{YN-dYT,H|]YbI\GvO){:rW|ƃR9:q棖/߱;^Ռ<!'TV |r@RC?|p }se+LiL!Ҏ}%yWe|ή 9ҍ"3T×KDsQ"]:갟T`^es G)d?if]vhSUxkӎ5,}$ ֎o#Kld,;C- U(Hq y.srq\`\MV\Qj-{􌑥ϣz)ǐ'75,ϵt1c'sA|׀⓬Ք {$֛W!m)԰ݷB]xo2B&/]-[>Ei.Fc/<+x/ItSW0X[&N~YU@꣦wɁRJG9 %y]#^Gb:VjؽG@a3 l|_d ܟV (Ĕ fӑ6 ֮o,2IB|._v1]IUb10B$"^) D9T ˚:BS(=.gbCH+Q.b|E2/Irdp}~疡}޴/(^au(nr2gb,vaؐ痀?l9Xr~б 5UO)%%Co`Mܸr/'NC;~,TuHDr ')i^z ډ oˑ w]2A߽H3p, j@Ltf@O5hΗ{ޠ5Y+;Ó)[/H:(>ǒS*keo0FwٌD>IN0!VRb `S>2b\}% p=Zn[SN krGn8?8^B*brpTWhb7eC^d(LozcpRy ؍0`I˵*g?rE h g-Sm J uPхw UENpVxdL!6o_Nn㯴t8Wc L4.iٳMV՟IuGu0Đo17 N ڽBǍA/]mY`+d{.<ى| vs&fzᶔ䟦o?|.8SmY$@)IcYɼ>^Fo JciP\G_e'qssNdJi |ZXePA/9H3WF6w;TH:Rb%,J1_؆7jjwQFŇALSq"%7+\#3Uj 6 HFbZ}KWm{h`QA/SCgv<=P#=JH{bsZ}c5׬4 W!ݘ FZꯄk"+InF2Fɩٍ IֺyXu\T9JmꐵЦzgVN>C͍(ky8M8 ڄbE9޲BMFg! ԎD,3.gb LPK]Z4LLu;T}SV=.Ij=\.t5+g=@).qЀ4Zx>l&Hy)C[17B%u~r-ɓ4.1\Oc(#[BvCpZ\m8@>Jh2Qks3?wW˹v_%.*yi8 ֢5Ba֏ŀu4 '(*643o`Xb}=/QմW |:.6fK^R]! +e:ˉQ1N{AF 7n@q6YE&oT AvB9SD?e]4ֈa1:@ R2SݙΑ*bb\Vx3V7װ*QXKT9߼qzs c ֐LDgD(UGA}#* hpnƂbI7oe Rw2v1ҵP~8ΠV~Z(C"q@4R,l}]4 t4$L9c71Ҍ{>O<5U(7x47Aw {"LSCh :2LSM|,kM'A9^w;z'^n1K75)3;xA]ϱ _WP$oaP%uu驛 %A+v%ڠXiz3 !<1] 6\"Isoy/#G~9D:RnWvZ<х?qql7+d>&\s3d"7> =jhiB\gū-gڜ˞$7F|H g=+_,yϡeAz4JFLC 5`Z`^=# C/[苐n\+bOtZ!{oqJ蠲.0蓄3=`N4[SDxKx`?H޷koi!іtoscKn=d⾼ L ^HƜ†gZfbWA-qπ.ZК+r_̂_B7`Ӂsk#Nݔo?*ꏭ$Pw/lQYU'ȭ> L'J~D Zן)rqt!)K?R 6-G 5'⸵xju#jK:Wғߔt+L$Sr} o$ kDM`kO  KnlX9G ﱲ  rbmQuCA*lmwaf"jx0>)e~s0c rɮ֛KB&mMܹJI49xRֿ ]g0% =!.gܧr!&H6XCf,~_e2;WA AϺ 84+(/?U:վ72/_ k!t=>LI:]|u}C/1b}K)hD#OPt oB3%/ وx`0+*xt՝)<λsö`2@H̵L q|/ ޠ~pN2ͦ_o/g٣Լt,G; uE?w,ka5n 9y\8ԚOR!FH5g5yVr.T 39gU/^@Kx/.RX!(.#ҽ#ǜ[=:haꚬ;G;!CG*])4rKlx싙Utyo'41g2|Q\ :i:L L㐬@XAgg6.-q߇i< rRNKrh(2 :z~}Cu.Y$NK] 26# #G8t۝䌠z_ >fHaP)zqJ}ck~Pr\S#(9p.{~e?Dž0#FZJ#K~cr M/W)[cf߅-{;14 eM4ҿ>vOݻ%pQz2 U8p\xF\0mBkZVh!}ǤFGC aiJ*X5Z{*Da\vOtʒLyy~#ԼT';)S턂{Kkܷ\̰تC|(YHk!R P,hJ>Qhj=RM[2Uۥ|W-[Ȕ#GzI=̣U_VWIu".t1s]0+╫Ixt;^7&avS Y<b{_RܳK:TI .k߮BeeW-2 . h^zm쯙=ݮ'jWUY'Iӻ[;bDc{#twR|q5$ -Xyr9d+b\zՎ+XӷBP h(V^}Mq?MQ/Ơ/;/~)w6QD!Î<8ig"|\E6?fV$]ฬ㵩 ud+{:P c^ʴ-1;> EQ&bkNԛ[sF~+ c(GئSѿM[T,c9:WQjG(eS (VH*hdȡYS#)3-Iyvw~d*=>rr]/,xai~*keYW][I(U wkژVJC쉷܍v_˱9r*%DG#~d6#?5ڪptR19 cB.EPҰ0!2u=|6j(O(cȴ.f`jfAR,zJ6'*S#<_Ul>(~OL@}'yf؈h-͕oΏM*"'@bkؼ pM .Sf]Hxm%?*:oJ|I/(~_5W![=$,PHIAvTrAU+fK>7iO~~,VA1_>SvG- L*S%<\>іw3;Zjf ejܦMt;QxVh`ԵgRUߘs7# &~ڏ,t]VLu";JFB^d: KQ=+@W3$akl’ 1zQ+ \^Pay^LߘQs3HljPe } o"i[cHb~^wiz?)cB-tc0,x۵K^{XsВXimiJ?ump?oJ7Y3ݽ#jc\˕ \4D? WDS!?%qA Q&eE8s8RBs = kb仩v wK|BDcxϓ]YF40]rptN20xA<t\ /h$),b@C ;Pcc 0U\tN[\[,1NVd|%@6`.Sg"R*ҳ(MFT5i>c Fn+b}|D7dlϐo<?K"SY2ь@~vAv38ې9Nz Jl ζ4/*s5/nR'"]Y (CikQG(QCC-·,u#HaI U)4Ԋ%,{8h ~~I=ߥ=C\>(N6&`iv{$utC:Hl]^C(ɀᖨ Bb-5"auw+3'pbRrѼJ#$UgxgF:i=+aB!Z{C{!AJJ 5TI`EHZ^Q~k-RKOgh^~?O WSsH_% s592&՝/ ·QE*hFLL =]e7IS1i6n+?;uv5ZY&;X"rQTir佯 P@lxVxind'=k l L1潊SNלj0u zA,V8!bAk5G$QƣU8c,$tlTQFޛOR6X[DQ#[HYQeeb\!ӿ Anݞ~WY'?3àmf/4ǂ}΀9KtTyjU.l͂`Wq܅HimPB;Gy7 6Q;n)reMI+5+Y$4Jy0q;NZi1Gҷ) aqMM'%kt3ZyĴINOW=$}]8-Lh .<~'Z, b_GQX^?aQKb-kf\Uq.0YG} >4Jy-/Ch]GGe1xŽd7}ߟX F7 L1(؞TmA%y/Bʡjï >$RanK+h+ E#70Y65g^!m"Xcleb`]j4F4fRN_DꌦP&2:L*HG4a#٪9s^ bh,Qϑ7FOٖi%A8z'Fg3rޒǪa#}ܶ}A@9&n%PKVXT ΅>;dOD^!ZM* RhP5;VjڋN2lՓ we Sfy+L kN6o% L|w?3bQO 2_ W0ζjPpn ٧fj̾XmCw}GkŪ>#lN &5z._16n"" /skpcDN`5#meu4' .FC_~a#qSqΧ^%|܏KX@pG2t6TLexd`e,g @Gp#Z쓾"N3$~dWfzDmLj3Ǝgj/gliSFr:"E:/M9 UR -33UdT1uW)4UxNfU lI0\ aZjz:H09_;5S. Fb&(^rbww.}$Q ĜG] kk74ˑ*\"&6=lznIl"ⵂ~/SOltᘤ3^tD"y%"z C5 =FO؁62mCmy'x:s=E )Lztߞ~q WIfbU%pi"^x;ZRբ'.0gcƛ8[W,T4m0{oP3xSJߟ/aGmj*fJ`qKU/5!lP[),bjMd׆ѱz 16+.8*K)b\ TୱN,Gv6/'vcHh]$lNهc:CꭉN6wLZZq\)V/9dBȢYZx()þ *Ǻxq|R[  !z?BS?5J\ةBwȒ&9ݵ %4^@crLo15FQ_*XF3+ :=i(28dS\ = l ,a[{Pq|?X l9ɴ?*cY0ğ})JւH)`,ky,_~ká+p]鱥Y5yV$g\AeB6 F[lWU`b6ZPC'4:Xp[fS@v>@%]:jpȽpkBoz8Qmpt骛`i:~lwMβ |U;%?^ 3h DI9Z Ph!+ذ Ь&Fa\0 T_h?[ظ$yp;?<\LyTg] {kzhY#)-x4x3ҩ'wEO[ezrx1i1Rn ", (]Ne!1W:AU$bL&%u6SSEM3fBNA+| ͟Vz-Lr >β7TŐ$:l(pԣpxToa䌑]2?y"T䑫 HITJ-RLת2/_| gL_- >y_amK)3xvKT}>^d\v3e+30ٔډzȬ?J0c/Lh>7>Cau_jHR\߂0ILjEs '8!q(͘مb]-ncp8H>Na=WN %ڼ`9Y,:D\q 2~ !xgud5v#SFF8>!TEܽ@+̱͆_ū\65ڽo +zN8fWs`TIݓ/M_ǃI\C5?~*H& "وNht3+G(ۀRڤ5{#!י"v2 cnh>SWMX~7%pBaK}SB0T{g x:щ_ROk!o!8uȄz̩Z?\Laب;)+Cn%.x\(SjjOl`OPZ[}ʹS&bhJ}6K.)`A&=*:D !E={AVDW$?{u-_=]'0HE=lowDpV D,LQC@9ژP)FC6l0(Hf:_bQ5y,NڶyzM'{?3󫳇hͷ`Yk-QEdà PSٶ3tA2D rI,C8(DqPZrv!{Avc,ޮj!µwie w:._;uFߕT]apIF#Ň2y㻂=)lL ڊ?]B8/MBl> 4JɊ.L& T(ǍF;}Qpbx>ЗdeKEEu~ l=ϸŇnnznZ:r5HJҕh56rp @oO3Й2ZTNcMUN3M̗b#f}%QH{/!#N?:y<;cwqꎧ ^(]]?*eƤ 񨐹͛&V"XyU أDۂo8:h%QWWA)&cib R?t$!s`D2i83 `'kKg $ATwAXnns 3l2}w]=@bʮ8QO۩&+y Qq﹮jxV)(U >RN-X;DO?e p2wa JPvLt]h8Qe"$慠]Wv'bdsí]f[˿&6ڽs%V6/9"g۝j6h Y_d OaZPCG`ܩ >|68$Z?{^LOP7RSuL@$]TAT90Ò] u@tddDYp5>Sn޳wyI?e2\Қ8U瀬V#G_KXg ޵dW~WmRnֈJ殏X*޶y]@GBB-#1MxVetʎKu} GRwxh~INPL`,?uљh}щF8jӋjY c_7lVՑ}{M,F=@62 ,DӬwR^]ܺpiLձXv _K/ [򼠘.7&v .H}CQ'T V>l[ͼ<$yu`6뤔.w ТoGң~EX(!q+ѷ<fQHEA1e] @|W-b?Cypygt!͠ˈKФSvsqڼTE84VA4ˎIM!mnzI!w鄜VxVb!f]ܥѦINCd)zLO>r!A)~dzF{l'B;*w<b7_R R Y7C1+I Or$*~v7&Ip9d4pu["yY/PEx& 6L)IX<-Ρvie›5N+wPŖ ~oTW]zvqTR;;̰p٢6 jL*8ՎO:('Uts^u~?ebuש) )oUݙ*l·_HPd܋Nt3G4.w" ɽˎlc@+~Ed>K<7^>4ke5Tά) HʼnX$HE㷬 sLT? \SIⅈ\n{DH5ΔLxH0Ԥ<c7MFZ/07HNVѸ֯8zkiF QrY8g9QlfL<#fSL|a&\䔀JUF?hǾ=QKhR*}!@ Apx2Q ^.AKXPs Žkvav'"*e$ee@L4/]N}=5 e"RK4gN&ҔYq͸!F"`gocd8OQa6tRc[@ j TIOR\!0bJ2̯ [ :5bSSS߉M<" VoG,u]D'-A:ZF-~o>/LZ94")#Fwo=YkJc#;bGU+|I&UDe-"k"~RImV=P Bg13 ijq xͫP(0>'ſGhg87;?,N\ T187O=ax/fRcRx?a*+Ž>k@B5@6F,{(- ޛ5O+6ػ 8K@=%*5"aM]4v)nNwd )\oo'ÍV7JEsBtUV ?KAVΐQ }yCgo*[s/aFwn's@eIi|bn0_3vfNp wC&~?taϻ,j\SVn1 Lg0)c*}Tھ Te"=GvJTx.jx5WA}UЗ-йo1hnq?P¥:ߩ슥{xؚO:jNU-<[jCǨS7ɾ,wQ/\t9$|esBtaق/$nG8cXLDw1fVKxwN:A!&j' E<nrER0wF^Y<7Vt ;$elx*}Lb&Zw+m7(.eIDAl;SH,P2r l~P *`RS{ JoܔmVzz2p7N"]X,ؒ iH׹\ytbt78wYVpQ{bpeWQuo4OUP/em3C7sŨ{ ·'llW_1P6r=\A|'ڤ\ĩ$U6B#=ܓpwLl^[OW `fhP68V_҄i@~G1 i%'ybV#b1+J=>1"JApD1?t/2ڳfDɩ'C$`T;e >ʊ/VKN ~ ywx }um&Jox֦bgMiүԵ%R+wc#@>RD qӞU0`j$j3aP$eJI?CEP=w%#gsԑ(UP7+>c S P͋,zmcm"wLDoݧ׏7ՆϠD3$N"@1 噣b4͖ca3O b5>Ǩͥ7UajR^j+/{{@~Ic߻t}R@yX_ou>*Z_2VgZޫxDzVS?#BYW;HnM ~H޹CBڎDWv.P0F!k Nl#WbJi% 5;-~60bꥈSIX 9PN (vYϹkclxIOΕNNihŀb}19%Rɀ Cjf-x .7%M3d$8#`l.b lUkAp؟l,ͣ50aL}1LWߠ6XcdB?&,a}ŶlHZ<:l!G% Am:ӇأA_9_ ehY-Cۆ >9OEQ):i&cJ^:"4zM#ӣ8" 9yJV ScG ?)xzk~蹞>|l<,bv"h]SBtS}VˆE*ev[Gpbd+J;s%#b#:}ܽC!:<$I2QP'R:ROnR Y"W 5N . o!8QN&NL^;'پ|""06z}v?Bq;G .AC:'I褈ZzX'īr}5!]I^qcAZn ]y9{&d[h &=o+*fOvm3M1*[ʀUy.5[ \s߱vnjU(wQ);~qg||sHoow$MM*TYk4 45k$C :K i +a~fO巏;wZ9:Bi@91 iUۼkjww+te|Z*z9Nlېp،X#x6dv)ji9P-wi4Gc2?87}pg86V$&mۊ1nڗ?i@'oA0SʦTr'=ۄXdb)Vl&7Yli vk}][: 8˝1V?hf`abX )a( Gе#<$&4m5~ Bqsd<#Iq̮zP SKэD[-vc%sR=\eJ8MMkU\Zq͏sn,|$^aѳ合s.ukVz4/?jpW}Z:Gf'=H;N;AWn4,C\` $6Zѧo?ܶ1ӂ"[.rC;DzVJ}ЃގKKCߢLSf("z}xOTATԂm,꜍'T+yP({ ˫R^m:7s v72Ų=5+K =ki5v nX G?y?G^]{vؿkq}ef-;O~UQPcן̚84*޽0ǁ([s !*sN:{ j.uBStG$C ?^lĐ`8w:we;= (Ξ0,QF=)6}Bt֮]PB>qQl>n&nz_N2_(? >P߁'6z|ZYzԖ,b>:sOEMؠ Ӻ7^de?Dg; 4li:V%~y{^j8܎ZQz}3HEz%l~ϘOH-ěNߥGtMЏNHଯѾE9v`Zae1NM5!8KbH-Nfgh|^&2e5DpdKdf+ g @C[ͦBFI*6p >]Sl 7OS\'PCb`uK) @y {K#K!W)KyO1J(b^.<ǭ(p iVzD*uCwD=sD'e-5:B;`o٫;r!=x w#mSb (K[1COMX6*iΝ_uϬ&zDn';=/V=@y^ hkȟ=@}.;l/4y@\tD=Ro]l@>vJ}0^4* / ui.¢f q&R FY 3Nl/ۿn#:xkaWe'`p764 !Z =4ew XekzYdplA>6+7SNw1As9XeHEjhMAPV`u@(H,OcYc~_D;|5O6at둑RW'+FtٙuPI~>yƱ߬kG n,ݑE۞xKt芄J׹>kE'D` Y-]p$PvZ\<(Dz1? '̪XXA^sw~_NPv0L.lFU-vSG7ԟOAe?)aDuM)ߪ%j yaysLgE%²Ş\~dq7p-M2cR"aVHHZ{*B\ +`t oH=xsO԰ܧi&ht..YC|94I7PER_*M4ǍKͽqMjhjs4?> K#+xG=HcUI&/6݈cJO =_%SFDOJ:^96˘%z$t0-|oMo|gیJ{_Q ^rQ"NѷOy5nBeX(2M$`)v#QrzQ m3ymC`D*P QsvF須h4G>H3+R,ċB4ߕFHS"r@ C74=:>R0Yl:[|u%tw\Wb!L1j -AZqJluאAi4XQFZ*q2Om]~8}oT:) Lz.=9PyޢdQmly{G&ݖ-{6b|z#bC CV*m]K 嶴>CڟiT'kM]Wutz85~8?9òsYr񇦿~cr敝 0h5;&&fk7k_l\BEh NJW.SqJy8%eZ^fdA qI0(KNM8H(:!FJx՛agV9?JSA-YK 6*RȭӒ%yb4<1?y]6Uw QªlԤGxhFԶ(]2ئi‚X RWXJmHiRv |slnDeQH 2~+ʛ4ͦ$\AVGʍm*);΅H<'1S{\ni4L:esi=v6C\_ xDAc6YDawrVh$N6#f>\Q;AA$'ILNrHӀ9cϡ[ynr\:% MIesMm\{ ǰ&b5HQEf{ਸx/ wFujs6^?YȒdxNڶhE!x+S%*+/3٣,ǣ{(± *tH!vSQx(Q)]#ptв{=Mk6Kwr5 M\v YD[f@7vҴVQߵ¥T,Cc[RTdmp+^13@(KopQèpv<jeU`=K zVF9(~%;Nw:%#;E(xj{TʚRע̬)dz(d͑TaYE9HDfvm\$TW{1S9.QVT™ܙ+@Pi;};!75& mF3!3ߌA^/'}<d!Z_6b ;Ji,'0Fel*gT9&5V8l^I݂pNKL"3# 9ۇK*eAf}r h@wLJ^GFBf*}¹y' DL?vB9qjVJbOޏ ڀ=VF7A1sw89;wWU^DxF@"2颵4LNGK\,ZZ? d WF12ᵨɒ.agcrx X[-ЭrCDClkBnȃHWNɳ[;ru $v[ ||{ k1M^BjM4bZ>XW *DiFRrC6zJяIqnvAظid9 եN nIQD1H :ԼĿZm|8 V:1;{NhV-Zͫe.dRxL 3V7'70q*]-K-gQDžF=IV٦s*gs5jr— kgͧeFp"PBw`WMJ=V'XvwKG(rȢ{fy9A*E̠0y!|#dUcI)n ik4;̨D}.0~Lߖ@ (4+!w z>tKՀU/?KHR8HԴ.I 1_QsaxMĐjϖ3Fƣ̫mDrO9h,I;;e?_,]fR4X4_CDB𬂑d!0cO#IraZ@>&9iw-Q!yu]DAuQ2s"*(-s2W$QDJEÚS ʁh\OfHyw ?nb 4aV M<3?l8*eRPz*[)Ȟ%INܬPVT_9qPjx4׮p\vċb 0aZQgZE7t}îqx@'dK ,|>BE |z14Q Sɬ`dN!%>aݖ_椿.&L|~ɳyy\?oq]є(t@~0Q{e^ִA Uc$,ƨ(fN,4_&1*@\O^F˅['!55 U݃;7qVl4Ì6顉ywzo]:"R3Jh&fcmkO7ZRcQI!YINXCiz߱fx}B?% Dw设:6]WVҼI!-A0S2JVw p3ڛ@_r=}o⁉bΖJy-KFQ,ڄki$_pѦk "XEeK`beq1b#]$`]J?tz)Wfa);ݱ#< ] %G C lW@ڐǃ-&k_T_a|GdTL !vhpb5l'$Ă/BkX #mǙY5P#9s$pX"^t2oq&MEm\Զrm-@n>wI?!57b*KL*'@\b4=ldCto@qz7X`FGy+µ MK{(Byu d"|r)c-Ru1 o+^eSIx/ȐZ+јet{ v@σ{1V!Q:Nx uXrwFۙ3!\ ͑ZLe{y6R0иC'$c2PP6&3E&'t̔}v=Db[xF)Olx*ɣϽz)!Yf(L,a}n3m+AkUzV]\\@wu >tSwQs.ЎobGh>khF')"o(E۽+2}XM<^El8Z G|+`0լe$<+F:/::=|iHF^* Upv2wI\ZUEn :+p_{%:0%zlO]&&eU4hU$=26w@?^ Ӆ"݄0wd  /{D>./RϺ8xMN:)e"ȭ70lZ5L^B¸;*E\0}\$ڌ(R[+=KCYkwXܸrص.93Ii#~R?eB6d%N0a]q v( yD1"[m6 >3oE8؏z.2qN\F81]rO!غ.0ff#(9J?iAY2nlZu>]Wlui۹/5WC|xUV"k ȿJ(7 brӓIvեpols`kOd@U;Sdj઎j) ڐW'>^7'H,'xMnۡ%C{No K u4*ZXբqƊJ =yUb<#C9GH/),"Jw\qf;Ң )*SyOW][ )"ۥ[fF%!I3i6;4G8iW̔hUXxWI5n)L{So9[g\ݕJಅL~Q)EPIAa;Msh0qlYyϚMD4z|:yGJm>5j7uI#T͋X94hLF9ƞEa:'\]N@ |krX:$ |8'Gp4V>h7%0$Y_W fePn#UuJgUq&+ePЀ£H?ȟrA ݡPQ·:O-܏ {?wH^ p\>@ta2Qxa˜sA̘E咬>g]Ox&sT1*?0i]FEʲ;w[o Mv#z@1[\W:0YN)}\54apV/"4tcAҟHx~NKË1L`g8"tkj/R9yޑPT 13C;b_}eJm7m^f5e(~8i~1;%At瑈_DF[Sd}iM gCJ XĀ]Ѽ#c42h+b4 ӛ:D*Hi&^ <;ߘQO+d< 2!P݅۩>ldh\cBΕ3/v@v33#Fc0q`,]{+Dz +$ak-ɱYR$b.eܥKAx}rnGB;+|]$Li}/7W6%22kJ1=~d ߕNAP(W' ,jXa9 -#bu' c:y]Gg຋le ` j<@)"J^Kál7~=j9n Ph3]90gјWi]UST( KYB.'H@ZeK+J[^mhժ|[.=ҕ9-?b )d,aݣr6]jT7D(8ǁKѭ uKNա>2_tsΗtPfy&6L!J7c3? tT߶Ьo((}{~׹Q}MƾB| Ӹ2$gH;҈fJԅ a m}|-eE|T16C6ϥKu݊liUmBrZ)3PBDDJJK/lOV3)٥U:n">'BTEUCUh)ĈtM2vؓO?s;̨CCY@d/ŧfmqC P|@ta/t!-+Ρ3H_+E~NHb_$Tv((!KaW!40akJIxSěJ8@L%i6t Xh(u _ ^SUƻgCrh^3mOgB1ȼ&5#[鰛ÈG0d[Ȥ_c^-XXH?F0/~E GpFkIg7/rkׄ)\~8X(]L˧`ŭgƛm(6@1׫y| -Ww,}QCb#/Cƅ e[XY10Ks<;4*+Ҡ"b%.3 ZsM/JUBugQ>*Kqu5 "9W4Gڿ iKO9Ykͺ>9ǰu +/[+; :1pMYCQ6킺iltWɥ\UǥP5003;~H'B+ "N'CpU .;ږ/%` ;%m=䎤q@$ B=kk ړTkR* F!XB*]m40R;=6MvxJ``H;9E2'+]-Hk_rYfs>oV?}`Lu3ߌ`2'V))󙊘 *KT׏AJ7t]}ר#6nny| w^wܝu^ 9OHm:0 Y~p pμ>.&C~N x:o<~8 ~l ȃ 85_@m^&B,jЉ?RAG˄F37ܼmmad#QI VכFjZwm?y+ĦNrAe:5ebV`nHd0AhiilfҟC%1͸@(*+NmK7`_k8{޾DQI&cYɯ+hk;, $봣<6w9 G_p3H˖ F~[TTKS/Xtdn!A7eSV`Ϊ&w u.CGVwwzB (,PW,b7=T]*6s:\*P]3G41`/ +&m=!;|.Q&8q3y PЄH&ɿcO9^Pl<[Wu\.X7kݛ9cZtsP vVZPD2k^CۘLʁf@IhJwr_dXs,TN8~|QһDb5WTd>#uZ1?ks['& _GvN5_t5h6 % Y搻q&(wmVCJ_XYF.t(O/_^S> Ga9h'޾ٌ"ˁ[]y cDۏЂEIQtH3~¬jAQ96uu n<~1vB@ g- @ʥu1ahi$7]IhIVCjR)&(3q,B.:}5?6I4OuԇU?wD@xxQ>nUM ӭYܢc;![%ɨ+Igb~-ݛɨ\=Pj3$X)Pk̎g襘^Ԃ&Ry2'oprsb"`Z ӎI;l6H'`4l m\G=rdžt5hsbY(Y9Ȑ`>]s{ Pek È3Wp-wF^2F-ҁ(.YKF >]/cr4neGB2d,tq TQ1?>nz_U{O3T䏏5l1yJdM8‰s`UXNt+1-oFnUvcaޱi104Q~%֨UaouG5 VNo> c?CJS~ mƁ+Qo4vw8Chz< NX_pRɩ voj#yd,N1 lM?C^E]L)L_5K1. /Wf;7rv5>Bi@27} M-f{m@!5v˺d*Dՠ#1zS_A(';(65ܿɋq5iSƀMInħ%L#lncN!NʨԎ8/OWe:E&<{6FڸLR-ZsV҃R =dZGGu߉u8&:&MOQ0?0{7ST{wYƂP|BY3SsLm3@Ρǧ];㗁= ط38VLuԓI@oWG;3(LEQb׺Zu"us>p.B8 m°*bcbL\"Xp,TYj9H挠-r_i oWiW̩1'GZXphC &C<9~|ƼebF e1 X+ag+"_1/Mot3>=Ԧ~sh1DTك"3V+[%E%Wة'3p:'vm SC#}f~7 E% 6Șj4>Wd QLG+]& Hx4'GuˌV7}A%SFޝf+ !0A33󑜱3q7ϒ(uω @PQ-$.PDb"JXW%}݌wN\o8(q4pWK X t2T鸃1B%_m!~ڠLB 6\C[e-6uR/H;qUqoDhQExYdf /к}>־贤BgfL6H{ U424J`DE=b 3a9Q҇`Eo-[;zԾ5bm4$ "2t2u6#v[wM`1:F@"<޽҇>'U"dLH-Acg`TbIH4@H4W.]{ʄH>;n bmr%y ]Ï(qX K! |6$-'h<oT3 L5gZz9p,OSȈ"3GϺXH0݁\Xq&bFXH˚WH2ci dGpu|TF(|Q;` {υ{WCRDOqH=Q!Ug~$MˀY鄂1y<bX `YV}PG*dQ ܑ1@hEtbi%g=ds8'~cZ?|"@ cSEh {ߞEM]s8?$QF@ޥPR }P=l|ng&ͭ⪚BQ#v}ڔֺ`Xƻ62+\^t*F! o,G9 N\"FZhJJ4{ %FsB j2n]&{'X{x(ݵ*ήQKUp)J¡#8ژli@$F y|HXV.a!]p=J%>kR~Nf"<]YOȂ?a!r\$Pɚ^ pȄ@ z=̽m/VMj'#2٦@@j- {H;L  9>R}[cos "AN'rIT|r\ HݫPfIZm'Cstpߪ=/{X$ƜN;fN/h'M44r UDdt8!Hy卯 iԍEIa1j>>fZモ ZwhiaQ8QR32J;Z\ hUpdX#P"m !-R*hl̸TY X+hBp 'r 6ܱYZwhhFh3c.cܧj}?mۺQ|% Pba$٪ߛo\!)m)R7 0MwgB#^}|4/W wεz{평cc>|.Ui}WHt /XQSӋDyCj?AU#GbR/y/VGmskq\͍_Ak8]]x %V^`DY⣭cu\ȯxm;l"(Dهv\@A|v>5~`N2Osu*giK[ZW^6L*u wZg;\wp̷SgKn&UAo*h5=pEb3}!Oօ. &<{@(W=}''?ì%{0r%;`@yt|](q`?k1$j]O R U/'Z(( I p3v}^,TS퇼"ֈ4FD2zE,gq_E+bu1eZ CE$J>V LeVT#=%^?BBloXÀOu]qӮsSM[,"d}E9.3 \a1]A `}taD[hAKc7ؔfwd7Ox<$>i/D)qؕmFp9iV[֛#?pX >V(x,nA\⨑N<8 6/k܎%ZlxbbժS2fBefƝ?Ppӌ+}8@}C; "9=.!Ґ#5bf Fb[P}-fe+!*_(\v֧@.!zN*#@#RPcA ڋϔ~I U$# ]ˎiU%WhPN猠4SS>*} L !*1R7K":?\NAޓ97/6LB_T?q%n(GMSgT bLq֘kGl4z)6E[k:φ_^iNt%Z_ڛ6T_ 7= Pѥ y;tSs2oI(J$/  03뮚ƃ?n߄F+ϪSRC2E!^6}qgu|[Q{3gL8&gXEq+=8 eJ!({vqȷ"I9P3\SޓE`V:X&W@&*NTQ] ,Z_Jcq7;Hr !Q z-z@HaZ<''dSL'?ƨI*h]3-Z; .hCۭ~>\*׵խ_YI%]ܜe7=o (/)Eyd@D8k+tRXv Pe  OFj0bBI'*C]9{8IF{mZѾ2 wv, !B -9'nND$C]ngj@Y^SlI2qX٩hJð(LdhظxSǞ]M#p f:7! . htVF4 GKl|-=nyuLr^/Ir'nJ:wZ7A86dQńDݻzuhQwlҌ99ufAF'Ë́Lgt}F͢*رኳqF.iq ɡ$Ԣzq)LK/g C o 'm/P,/Q g $g 4Ӡ(F)LqȬR-h=K.igEGY1`WJf %G+H P8n%KO- {tYCD={׉'euh+E|0IܝUtX EƼRnv#~I٠@'%2bҿ<ז8J!_p ,y:D S)Ӊ~8`s\|e#`Gת ^u8 WPzn{|kʥ=x?mj͛$u]`Fp=yzI504O^t-Ek{Sj+`]y3e#)Z+}/8d~O vZ>|a/LwyY[F#У=`5^u:Co4} 28&ZbVrcCF5E?"Xlrq&Cnn+H:a*]@72m@ySD7o"%T︍DuHj夽KUdS_*ԕ 1X4$QU nb( }17)2(߀ 稇gGfQf Km=b 7Èc.i俹RÆ"Ʌ%_ _e] W 䙜xpp0rҀ`Piĉ3-4Λ )aD..oa}1Rn&36hEG8$( 5 #_S`1aw,KawiWG= ؅2CW:Z/rgZ櫰41՜ &OqEKc E.  âY-pOZb1£%/Vt\9R~wwu^=BIlֿ(4(04IZB{hzP /y OW B%ɚ!~QAel Jz!;u0'uip-D-e8-sl~DqAI ݈!R[*0UYqӅ,᧹E"=S}$W ~l=aWZ;@:?r"zRyA[wI3"⺛UɄ`NX&9噝iKt҈ KȯSLFl(a6+4}潜'hlּ9W6m)bOu q#a4?A<&.흸 ؉hmVån']*K5ojSc oMM6>P&İ:vpήv' j y*Rh.sw }{+W36MH_0 1_vN#6V [u5!n; B2 zj M͜tTd+1VZ (Q?YCB`ld+zgsh6[.%2@?EwXIu|tF(=@=s,t0%g?I֐/ҰHJ RQi԰RX尊z'g[,^ |"NGIfїK&& /#Lac< - 6TIB8WVWD䊕$LyyqOb%V3P`dkVӎ hWq,a;QDugTϞWk뗻ΞѲn8w.CN3O*Hn! *6ڜ#9 ċm>_r aZ$ BITcVvKIO*h:Eמš$nbKGB/ҍ#&S}FoA`x 樻aš=VPih截7$ 6#+C?cnG|.Ta 4z} u1Qzf}ħ &9k;9& K(wI#0DG^8Wxzh"׃9{UY]I)VHlkᝁZTKŞ )uhe? 1i*i0]U>X[ \v )-|e$L'&3Af=?g+C#u0>p':X^GɅ#D pׂ:3 +pCUrg"" gEB//ÙY@yъ%^g}#^٫hPEoam&ZM2o w {&p:(icJC_xy:d?Msf*\ C2.1|xeJsIәͳ6JMVPSw_zl&\9_n\_4Fqʌx¡r1f|r~iS']h G{Z '试.vo $J"!=^X:Q ؍1%h# g!5B6.۾KЮ9hg/&&Qhd&_SɖΓ;z5ច+8 σ4:0N<ʔT k@k1[i Rzՙ](dP^uzFSAɡWo5DBw ey~HV=x.:j]e=y?uLypǕ<9Rտ(,'#-Л=yq.VFQ>pRjkᵠ*x Î,>T%VT}=l.+J015n臊V0.K'>*֙Ivj)jѸsEɩ9w#//$9L稕Q7s3UKK6cb9R6Q:NBS ADu͢`z94s| QסnL>з` >Ϫqץ`љi/lfs/Ü0Ê\YPo0joSpVÖ[ʤӆ>O7^y7x}pWƑY|_Np}HQr_AC5$:Cv0)c70md^O 2:H ȤςxotNw1 ViHZB#<m::Ҵi+HK@tlމ516wlm}!8b]o3=*xyJ0 H%$ oQ+1O-G/]RҀ'; 8<؟~χHXe8MVND "I700R*1,A2VP)t}sS견cݨy!ZJϘul>/Ma`?1M^r!d E*BuK+ii;h@'9l廅Jko;QVrJaͼcY*&¼1{OY~ 1.d9b*RRu bZr[(M2g7ƞ:RXcb0EO]߸c_^;jP!?'{S5n 56qK;dr Owң; G̹C@%Td&MO=Ўa_҉. [p<\cj-lfGBx["mĵg:@CE[#8b]j*gyLdjpDƵ.',A-$[Xơ9T/0lj eZڈ[IMw㩚iS,7mI^K.'ۓ͸Āۛ=[QJXPKr/nR|\1 dF.VN }ֳ=ҍ&O+Sī=ϒ ~=h tcLgy]C!Pm-ZyʀWVXk~z*4R:0?DS F& %1%޷ieA9\=]u/ȳB g鈃%3CGq!ZZz|%ϬBmƈl>dIᗭλLJQg M $i/3f=#P-TOעsw1oT 3inu(еNw~^jE_tIz[U &'TߋFaaW]ÕBjXbˁ KqtX6n]`uW8 zL]׹h5.Ыb@gG=mcu\JEEf9`2Kx_`yF)!+\vm\t3 GラM!ˣ"yeTV̖'0$Z˰ @Y?xxa,j۰?o!xs_kTl,z}ut R1\юcP~=oSaN@(tW17e +xe!KުU}ȷ`u'bs!R{ k! Q9ښ| GH@)bud7m٢;MZqΡ*MD+gl'u;& tMQZ)> 5vvd|K- GVf GǟG#&eԙR)!yQI*̽rq4Cͼ_KNcݟJ>7w}CP5y0`p32034N)8عf)u6Y"g:lKIwjUHm ,;8^PvkٿfX m2w2OFx}p-t45%C,2*TGI5Gp+,fhoN-'ck{^W̩B'@lx]v;nG茫c_a!]kۦ 0!W.ٖ -uD1^9@nz:G"y],w,h(JrYôྮ6;a\YZk!9ld<`f\cE% @Y_4]%xW ց L˝?>plp;r[;(9푝j ٸȣ~$hN~MArW,/O3E֫ȸr9jRelA0}=4)$f>U[Q*fͪ@E*%s jKuB#d ׉A fY;D}yL&+ظIWlWkQw'3*s@@Ǵfa*{&x)'YmFT0z5 tl"5ЈM!Bf̘n)-2֨`Pp҆ҽRyQiVy f=!pu|*gj9o@'ȅi|l;1SF3j Ta?=Q(6|^K",n!$+5>AAvAqq >{_)^y-G ` RCb^A\.EX2DZװѷ:k{tЛD&8CbrQ>y ؎:wg_[G#̢?g".}9B l lP%) |o(i+tDb]H7ü<^+tfen 97;b32FPt; _KF&}/Fv;/!K"Γ=׊fۯyqv12}<9J\WMڥf6$Йg4 >mFg`N_4yl9v4eai=z5:_yCn~ ~bBcGfyb%6Xn]~G!< Mt b}+]2F+B{]lF &b8rP|6ڰeỗ#e/ǀ_,?qJJWcjJ% n7$p#\ʷnۛ]ǍHH$ `h fIIi+ӆhq0iLDr7-NӥH a}-[6T n#QXnkV`_ʧw-eszxX߹6\MYYË%Q&L &؉#@ȩrj,O>buJg:I foq+Dx;h@o(Dc'&`u 5T\yĀ5J23ճG|Wm|$l:MrVyf$^s ƿum<42@$;@ی%:?30Z +nF^èbk>s wMIo }3'NQn11 5l-:eR|PK'z؛r7("HYNF$œF5*V)यmORzs>G->NʻL_}y-#`TyUE^ΰܔ -[|;q1ei!d[{\.RUe2A ؖꊾyV0/A 4̰ R0Mx`qfLq4@W#;E!XA+VmgJKBܕZy'=NV\aƉE#j%l񎕣.5A4O=Vui<}h51Dꍰ3y>J ]Gyv2-rVѵDlsAF$K5bwjc5_##GD\K[eeN*yE"NU[A0_݅yr^Y"4*Z:n͝ [[ZBH;O#SN{2~:Y#$r Rخ._>*O7-vD*mp0WL.)K\⑷gd> rJ=8c|ɘq~z51A˲$@$TFn^Q@1&kMͅZ|^Td׋&6 5坹ayE!ͶuU}8ni4ը- "uЉJ1:[ '4 odu&\!J߳hn!5euZ\'䭹Qߔz<0rtN3ԌMnۣ r/A^Uΐg=Emnܟ}]+i@k-A(x':b+GSP"PrTAFtbc&Rm;2mxҨ@Od?Hl֊|e4q晜:9(̐v#k\4FyjHdqj%g8gaW.fW3lmMa7+iީ(e!2Cw'݇΋z`eUr |):a3Ea.80-L|-$Nǩvg;Dfh{ Ku6PbզEZVaG6:Oא?]K>l jϔTћA$F*f ZHP\uB9 28'WA0@mZ7XT(ΟfY둹W3>Ťj73S˱=TtԬB` ~{&3c (QF]d/h:p`j42HT w^W]'|RͰ_M~OD6enʠxRFO~aŐm^^5rO?Cx+Ƨo>-G{ːv 0rt6=v875LqEklWO{BTiLd'֘B2D}mrx-g|(GƞBL>,yǶ;bI4KP.ۜRaU1ID?dpO@Ց!;C IVx!Ϯ+V5Ц4sN&=&8ۉ2LH*A$.fdK>Kun/ 9a|"p%F]>ٔisǵv@p +=P0Yx'8x*,;ʖh+r0IFGěSa`s6eA>2 %D+uk:/mg\1oL2 z1oQaxXRbYӫzt!mK<|&ο?y gH) JC_Ae9Xi'#k(f n5iaj_ɽЕ}8ww~){yDSpTSrmOF1%# vo; άZOV=NzDUk WZ)B]+G^> Ml4/xɢj eO%`g-D7f_y#9?֔x뵭iXYgtga@PT?bLqș޴wFtf*Áx$Z0߉qI,҄@A x!CSޝ+ 6:zN#Kb\ I(+7HH.-v@aV4>4J(,M*wRYX:!2A)63OI@ oíoL6>T@S8/+(}#~8b*WbQ;ojmS>PRs+N>jAvnzGY>Ԇa~پVFD[Hʼn-2?[1;cSbsF!:myng{n͘ߒ9Xy38q32(<ĭs֖ƺͮ;+-]-U{fqr] m5pf mdfghʍյ뛾3{V c=@&fU#sX'A֧$3"dĪVS> ,C UN4S>DB6J w shؗEo'6E ?w{OiL>}Ibb"ul!7v)dPpAq?+Xؑo-ȶ(s<`ObJ0@uUG*:N ?SA-)vi1m7_Z@h(*]25W+$y 8;ۣbEyVoѦTuZƦlL$  =5IegL x^)1̭Y2hY3Ph]AhQȸo%xD/_s(]Zl`P Ļ}W f'V5-*f $Y OBd[wN!8d)GG`Bse1G g+{jߧ{vpɧUdIA&5ZK}Ι? Țq /m7.SZ8Lcn}Ғ j1p8KZ)e_}-aPn]VQ!GB^|۵ӽ=^@g^-}.}h9)D,rӖPUv]>k&w '׽:B{ ?qڇܢGf3q)\Uv̑ O:>\_sBВ,W\ YhY\iZGFK):'oR- |s &#n^z+ִe"02z rŲ0:tc@C&G~gB6+xlla̬0J*CwY?eRX|hź[!%忯Ns|D8$:yYuZvǀ,#!CC,S%vqf%Lha-Pc$7 (ޚC_4`B;ˍ@E&U?Q3@ ๜L*V#5)re-Ўw|(5iy%ׅ9} nzK>\ISIĦ Fp]<(.XIHd[“"tZCtr\Tv9vZQǯ0K޿h{u+M> s9aYšĕې0^BtKnR1bbpK7KЄ?ę|؂4@{o+pבl#Z\i_N]k~2cU6/6a"w X6:]iCygjQ9v]!bj!+rµboㄣꇊ?u|I *GevJyUcmge4|ѳv:U+&"ֵ)tN{qH淦k. 6K?O1N-.AR`Gz)$ߓR\zfyޏp!_/pl[Ly%vW$)`PVgtH*GPS srJ=aDkZ#pVdh 2֨:Ii,ِ S|0B'lɽ\0Aږ8 u )lIq*2ɾMiZ0тC`)RfQI75V' wha)"`w&g'ZȦKOcl2dE: DM1Fŵ\ys7m #߉;\W.v:(gŽ;% 0ǏzdihsՑjh@uKUc{Y-kx˫J+IK5n!9YMK)JU"(T$k ~ѪW0AES'Ca@=H^:uҢFX b8gp{ (J0v<=HM6WEɌItIا/ %8i@3(H𛛀veځq 9>aZl<cԍ.U-*>8_75[TP*!G o~Y8QqՌ8?"kk >a(O1A/KnH@&",4vwޝ<8vQtLBJB'8ₕ-'-Pd >OjWyoH3%^fs$rkx1UCEt:MO+A*,0Q>!aqwGҽZAOҀȗ :u5z}ZS^`R9싷{<#>]yE`ڐx0U] PH@,,ĕQ$Y _%sdNEF+r{yBηK*cgs^j|2% ړ6Q >Lbma7&$5u7ꛈ붡J'1{rd_tb4?jJM^k~ 6`ڻw҃d#Z43U1J;26H, ;59M041kb`%{euHd|Y|#&7ΌE{.i :Jh洫`nE h݀0P//:< !3O^xp!l8#m߮'2}#b{CJ[X1.0 =o$PcqqxD3f{.CTX_ؿ㚨F|ڏ!hv~L!Zpe%u%M_f O >Ew|0pgTShyք<`zY}CZ_OsRS4*m\sLyue\#@`y_GH{,p: f_tb% s㋩B~;Mt#EȍÓ1_%-v Ƀm?՘^ϗ*->1Bv/ۆ&W*.g%\~)וUCQw|j'YX%cqy07LyCZ\pq:PÞgx&QrLHC--ǰa+J h9~@['&M0/TŌCo=;& '[[%^ډ{uʺ`3allT\h10e <-x>[׳Xk,Nv9muM23}9 5v>؄k`qyMageGtsDU_(U|M=K`сR^異ƙw"V32HA#O;lŽH|7Rw)<5[C"t#qA>?K/v?F&y N6"=5?t"+o=MOYBgc|tMnO as/hE* o̼n >leNwe_*H #LP@+[ND<|F٭iqCJqE8pk[5#*?b#qL=w|FV]GeWҨo$/ciuLqA$ƙ)r ߒd4og:\!ouS]G *k@xAN&tYh=1{$mE˿ҔÍwu W gw [H?uo(%(^ҩ/z`\;]a\y#*ղ=tV7ZuJwbf,-MDq Νodz?^]TL,e RO(]Q5h v%4Y'Yœ3H8xg?ǧ|F<}7mX hـ G\TnJBBmW6\3V6 L!=h=* :-=@+zC>w Ya6)gfMLOȕٰ:AH6fp n"N ZKb{nj? \y&ZRԿM.Z.9'Ui:a~?L3ϩETH1aLҥ)ah+ˍm$?-WxnT0E圜Hε@5SQDWNvN4 q 'Mv*i %r /$S`M  ms2b4F`wYb„f>ʉIZ)V] > I=p[Kn ]2eM`8کذ?US'O ꈘ= "0 (k}џMtfIw"<Օf!濈Q E~L$GR$Znì4Xl|Q/dhƱc5GRyn/#/&~?rR.!Y:{ U60kg1nB}`D:(^~bLfܛWHQ VɝMĔTCMWj/ ](Q>ZnqޡNi9~$DI_RV %'c>cScNW4È|wrڢ`^jvqLQC{zIV@*j<8չ!ьCÕHDnhE^ ~2\h^ Ə09N4dik<ȯ=cc+OZ~xSm 2nRàmQAZ<=lZ%5sU5KqgެB#.x:5B % W5BӢ]rLE=id! 3i"[.HTrg*GRU|tN@ܬ,6暠ZK#&. }Nybh s$f#*. Ki"?k]*Ysh[e.yŪi zgJ{{@ġ?ِ({9 <n0;>ŐV#q;8xTpUt 9}G 0!Xe+umF׬ h.YpyXx9>ZRȆ"D.Jy3?^?@Yg EU`Il/X Hb0ϮM!˝>jgZٱW`T]'E L6n8]02pЏ3Y{~7v)֛l<6wq pRȧ6f-ȅ>-Jj hRzI% e˰_%DO |[;j sr?ґ8HH='\O!+F.^zOݜ0Zb<{P$G'#Zst p㡲ׄ/3ƴa2uKoICZi]XD,o/- <: e~0Jk7@ #6(v4G0H3Z6Y=,53^.MU{+ɧ5, ]XO lD 'űajuZރW(4kzL=WX&^D&l+ p ֲ82(<<DDɨ` .,=x4F/dWV>ɁIzUUwh bf5,OxJ~2Ra j ƛ`": I1 :"n"S d$߉|eeߌ)aooYظ3dc"7~N)ˋu,cpkd?9mnIP5M9Z 9gTL{&.EKF N1msݝH + Y}301;'%- ?P=J϶,%jm_4wʼn#5j~ I8Hb訆|@Hyu  2%p͞KBpƪ oH{8daD"ɽ;L#؏;L\tߡ(V ߔnO*N垹ؿxȕdDZodzXgMfs)se?p}X5L["$d~Ṋ(=N$獰0"k/YTxhڱ67ǩ/;mruPXU!^  !#;ޭd7CAu;DU"Og7ݏ6j?.Hn)+uuTe dg b,?WvXU06%e1_sGʯe@b鵞&w񚱼R /1E/tlv+8:zy)F)X-&o{i@c:cfX闒'/ 3h¤|c1&$RTcP`4WnWo:*7>u*x_𮲢Ze GWO$7Ѣswz82mA=`i#3 ;}!ٻIE樊3%1y;?ĒQĺZj{XĠ( =`5GNYU#~xtc#(;~m:n2s$F dWjUbe xb(OrK(;B[%|EU+#bUl[_TÙP@m6 Y @p9%xu/u,_^|/pqxV{޾ aǓ^ RKYC~qGevϷlxS6huő+1Sb7BҥlAɵ!*7j1C5v.\;76' usUōh]O.f2w9iMd:ւFؗ%$(.j 8!CPW$C';yﬕ"V},=z!Ŭ'Cc#dӝ;)'5^djNBu q;>w!5p*F`?&Fhx!+6UW&NHN6^P G:Pjcg.u\pnؚƖ1?O7c)9'DCH= h=$]LP`{c2ˋҀ77'D.‘ELfX4?fuj޹/7iz9 e?+p !ʺ%@\4u~]&A(oi }3]90iҔf;) 3ܒ$v}yJ #5-œ‘mK il(ϙOla) ˰qD/N9{ݽ=(sx L~B|zrѲ >j[\̈8`I|Br;Y,Uš ,R { :iK890̌;۾B1\ mѯ~N+EzŔԾzSeנ- ᪯uʄ3(aPZ>Ӂ9n 'cqT^8F*2QOƕntjKktrsV;C)crXQGp4ogQmT,8G_Ko D/Yz&&pB\AkZ!"$]cgZ;Tpe>q6BE/"Gپ) 2~s\lx.acձt';;nS @&C]{e @TsL~(ժ"Q菳XujTĽ?9>n}uLrʙ(",[ilU5 ~qQTryLhM׏Glwl zVar˄in UhIo ӡt7(!ZT[uB/ݡi+S`+',;6{'.L8e‚i-]QlW.u~u|h !-<_qz <ΫLjR>ת 5ZxuxK^^;72R.Sx #G/lM[VKhط{G9C @?iS 0l k"^vA!STBO_0b赡3>(]VZҗ,Neo`z$˱&㠳|hˬ#ɾd‘% \+jRvuAȪ₨2Y[/.WJ+YsJnF :k}>Yq~k`H{cR=LؙX!v"PNы XJʍ[S9_V*v!z~t.$DMm\{æ(lKR:ޢB)? Sec'->?cqw kH4e]N'DZpBTjH`s&z^b2(@ӆNx䨗؀؀ZtF- E ?DT)‘뒢Nĉ7 :?_#&7Rt̡IΘTiNayE<Ͳv_O&Eԥ.F[[j&a:odԀ%5J*{M*nML@B;cSU4Eq^H9-ݵDDvL yUq};; eͳNU RgΔ6}N !}U*bD:4Yʑ8Uod ܻ,Ƹ.//HҊVyxan %y;GHvX_an_'93V]Jt<}I.x?B7q^2c%PsV#yG~qEG@q#~"TM"6ULYw! Ɉ'$@k!bdͻwqbHOfn Z^GP40|;O ^G[ oεJqG f=CdsH#5ܾ`nHVG`,c*CPvfa5d+ ~Cf&%H K`Fo.6f " .~@_|?!X5 i7yWe0Cl^V΁\K)P28ŕ8Nx]k<9V;"<Ŵ8v|0y$8˽F5V|8seQʤ E5^LSAo -g;,U*<']æuJؐ J<++`y87aʩ.dOQXVAH\<&LԊ,5A2*Mͮ1j~SwYZxʚ^-3O@8E~TAnj[e[o/mUw0C}LLW眃)!t'd_/?uf> mmH jW{ue;} BC\㲭Ie2K4‚SӋbdgd"D{5t[sm79j!*.$=CS##~$2-N&gn6jsr(?mmm_Alبw+IR],假gi`1F1HjPB竟y̶kg- Ul%P8h#m<̡y{K*/@a1 fd+Hf[e *![h;OzYA81>x͆.ޣa,tWzn`{ L:58y͚='ٳ2=Ǎğ6BJ쑏 r5P!;#`'@/^Gz u'+k&Jԋ=WF/5BKgK</rZi'&/b#3gJtFv66D KA8o ]nc7F Ek<IڷSz~G=wc=>'U{ ۘ_ɤ[=F1}?ݡ}ʿmxPF7"?;+c_q951z:ѓW YmÆKl\quA A"7 )D9Ȃ ar& 񚙤e#rܗ/g4|o]$ `Bph lƆ$$-Y|"lLMxޑ% nSu.BdK*9Y!ԎN]Ųͤ)5r^3(15:v8:#_ L=ٴYKe"$+C{K%L)֮,p*B..q*쟚" 9ξC,EBQk\XJ Qd[s)b3$dRu+N;pm°0"oIjo"ok>&df}_g%.(ϲF~z`Hۘu1*H뻦w[m{չ,;q`Z;g0;j5\Ev8 IkVcḴ2X'`ȝ0 (I~(}bC|gl0ũT\[Ǣ!_~c5&E!b=ӫL盆cdQF(ѭyҋ `y* hF-! ܏h͟^6ĖG YZ