python3-ldap-3.4.0-150400.8.1<>,8i9p9| >A+_'4b2͢R'{eUT"ؓJAWx q; @ U0аE^r)mD&b 鵓S* A>Z,Adhe3r@#!aQu>!꫏~.y*lVm*P#3Z1 i]n~Pe LDk0]g 68ky^2EP*aDNr `jY̡yh=71F5!/ >>?d  6TXdh    ,  < 7 8D;T?(BC$F4FXFHa(H8H!9I,!:K!Fk>GkXHnhIqxXr<YrD\rh]ux^bc^defluv wPx`ypzCpython3-ldap3.4.0150400.8.1Python LDAP interfacepython-ldap provides an object-oriented API to access LDAP directory servers from Python programs. Mainly it wraps the OpenLDAP 2.x libs for that purpose. Additionally the package contains modules for other LDAP-related stuff (e.g. processing LDIF, LDAPURLs, LDAPv3 schema, etc.).i9h04-armsrv1 T(SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Development/Libraries/Pythonhttps://www.python-ldap.org/linuxaarch64-->>0 * C! ! UU&& @ @ g50`` a a99@@O +d ,   3 3[  H F l5 O O BB qd TU-.wP> H0?O'$"88BBLli=(';z Eg% \CRu# F) a@Q S B i'A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤AAAA큤A큤A큤A큤A큤i9i9i9i9i9i9i9ai9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9aaa+aai9ai9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9i9aaaaaaaaaaaahi9ai9i9i9i9i9i9i9aahaaaaa+aai9ai9i9i9i9i9i9i9i9i9aaaaa+a+i9i9i9`'"`'"i9i9i9a+i9i9i9i9i9ai9`>T`>T`>T`>T`>T`>T`>T`>T`>T`>T`>Ti9aBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaD`T`>Ti9`89c253b4fecf10ebd0774fbe12264a131b04637d6a3c738060b287cac50d92b489c253b4fecf10ebd0774fbe12264a131b04637d6a3c738060b287cac50d92b423f677eff939e5277bd090f48d5f093b9309dadd5f18d5fb8e24c828968995ca23f677eff939e5277bd090f48d5f093b9309dadd5f18d5fb8e24c828968995ca85393f5f9d6923ef79e1d24df78080ae58435eb5a0ccd32af7e861332e21516252af9ac6088d45b84512ef66565033ea2e00341c8b7db70beed9475108b3e957aecdedc9e0e0fbf9ffd12af89e5f345dc0a1f734293ea883398b5d54a9046d6c28353787cbbf145a0352b9148ce30724c64fcad27f6f93c69018aca2083447e248390c043af1f4b803a3980ef1908456626bd87c6112510d6b711369b1ada7b148390c043af1f4b803a3980ef1908456626bd87c6112510d6b711369b1ada7b18cb45591e56c9c081d9a0a95467faaef4db07abc3d1a2af8db862b54bc820f688cb45591e56c9c081d9a0a95467faaef4db07abc3d1a2af8db862b54bc820f68b2766ee7929224076c84d778450a53445059ab685acf18ff8078232e5d007794b2766ee7929224076c84d778450a53445059ab685acf18ff8078232e5d0077948462f5348cb59646f9d7d194c3b7d6731ba765ec9f2788a7a60bf6809a1ada708462f5348cb59646f9d7d194c3b7d6731ba765ec9f2788a7a60bf6809a1ada70500ad4b211bb3f0c5c5519a583c6f400b65171d532f5ce7fea8bbcb0ffe2110e500ad4b211bb3f0c5c5519a583c6f400b65171d532f5ce7fea8bbcb0ffe2110ed2375c712335c4ae38aba98d8859b031b835e4140e286e45edc108d668eee7a7029eb636f9174cae70d91876b48e170226dc692e693679785a1c959c0df866abc0445ee6dad87605460f570ecec3cc4da518d59d8aa10591f7102764b16ad933c0445ee6dad87605460f570ecec3cc4da518d59d8aa10591f7102764b16ad933d960e8b05ac331403eae0cf67d393de91729a90e14ccea7fa3d1d0221cfb31453d51c15cf89da59a96508337dbe235e0370d5d391e7e52124d7452fb30cd3fa4676a0ebb60664582fb57513f3a68d2b3a1dbd33ed5ffb8b904a40cda6fa4d1e2fdc295c211ade64296eb2dcc272804c80d309effe8eb2ecf266d3881273d9c6708263433b6ffb4e08e0101a3701abfef36c95e76d77422a1123c32d3e2a6f5f208263433b6ffb4e08e0101a3701abfef36c95e76d77422a1123c32d3e2a6f5f236c8231b1793ea0c875cdbde366e7a632451390cd16f8e26dbef51c775d734a536c8231b1793ea0c875cdbde366e7a632451390cd16f8e26dbef51c775d734a57576246d4c021d6b972d867b218b4c9b2edf62ec1ae15cd6447b18fc50ea42a67576246d4c021d6b972d867b218b4c9b2edf62ec1ae15cd6447b18fc50ea42a69b98a162b313451c562f0d11aa1947cc4c5a0766a3619c8e5e8868b4e16cbc869b98a162b313451c562f0d11aa1947cc4c5a0766a3619c8e5e8868b4e16cbc86908f9f1f51e5e76ef03c316df0e7789d5be4b7e9713836afb3f25d3c69d27d2aac20d53f2e20f8f998cf54ad25f0d763154e8032e205b478f96ae720c267ad6c94fa84ad9cc5a463425c67cde133a2c2b11546db7bda3025544d54df59fe429d94fa84ad9cc5a463425c67cde133a2c2b11546db7bda3025544d54df59fe429d8de0221babf7f721b583287d7887d870f7ec3d3f775417e12aacdd7d4ba319f4cfe60980d2e76f7ec9c0e130707a42703a2f579df2ec47f1aa74e793a5fd19303c29998fbfa10384166677a522a7d70b6109e97e6da9a562e42eab6ded650bf978b0804d1d0359ee2672eca76e17a33cca7c2cff11bf439ea7bab0e182f2b820c0c75b6593592ce780ede642670a40bfa7070e93ac567870b73b82ffcfa5f9349c32fd1a509ed0d6d21eb1962320ec73e860dc16cf59ebec1f84c793f30fdd431b5b50e0a273549af7ed011fb6d12aa42cdac3cdacbed920904f17b496289fc93182b068972585e5d14882f72d7e1b234f914325ef5fd7a7b45500a76c2a0850a2f08bf925af6bab6fc6f57eb8d1c16fc0e5646b48cf008434c40cdad10f3ea2a2f08bf925af6bab6fc6f57eb8d1c16fc0e5646b48cf008434c40cdad10f3ea26db50f7be8dbcc50079129c75da5d18102f52fd158292bc2bbdbac2b2f35515ebe46cdb37de9b1f9c1e7c01f8c5328c4dc320e35210e190f790e5b31193733898b217ca0f3545868583b82c49eb7e3bc457ed767ece3f7fa10a9e847b8d2dd028b217ca0f3545868583b82c49eb7e3bc457ed767ece3f7fa10a9e847b8d2dd02450aff902586a34187faee0194919f90271d2a666158be2e228854a115955744450aff902586a34187faee0194919f90271d2a666158be2e228854a11595574494d41c9a340ec7a0f25e8306aff984125127a116ce46c0d5d95d74a72a9ced8094d41c9a340ec7a0f25e8306aff984125127a116ce46c0d5d95d74a72a9ced80a237d4c00220c3914e40e29ba4a5c0cb7a9c0bc3a4e6eceecaa5f520b03da997a237d4c00220c3914e40e29ba4a5c0cb7a9c0bc3a4e6eceecaa5f520b03da9978957fd31692b1621de3dc30f207b7baee1031f3342647fece925de0d7f00cb938957fd31692b1621de3dc30f207b7baee1031f3342647fece925de0d7f00cb935f9ac46fe97bc2f48c0f195e91d4cdd008c2a3a845f8048b538e55dda37a4bd05f9ac46fe97bc2f48c0f195e91d4cdd008c2a3a845f8048b538e55dda37a4bd0224fbf305fdc4bdbe707cc9b4f41a3faec1aaa8327db840db994a914b595fc38224fbf305fdc4bdbe707cc9b4f41a3faec1aaa8327db840db994a914b595fc385bfed1fe43c4861cddc73781cfe21d7163dba35b15d8ec76c1daff8f5a3c3b7b5bfed1fe43c4861cddc73781cfe21d7163dba35b15d8ec76c1daff8f5a3c3b7bd64a4f5e877f1e86a09264ebda94a020f7d783b3a297c2eaa9dd5feecb5ddc0ed00cdd19fd766a1b431f7453a4a72749d7059bea2544daf8f3465ecc38af9b64ba3f0b5937cccfbd5bc35f65af9b751ac15c44ebd52fc500e25e7321cc216aa05540127b99e16b938ce5b4d72e00c8d808ef9c3706cc6d68b87def69c6e7bd9e45171279c6a4ddc5ee32483690d0d94e248143b30c46b2c365108fc0f3526189d7637745dc35393ea70b1cd2e2d02599ad99900bfad9e774c309704c6e641936f2ef88f55e863339996246222cf03af51f7950088c8cd0392eecdfd840014b9ae9b5a84b067ceffd19498f252496f28c7fa074ab59349e1375f44ab23931711bd0503c33fedabcb973531de528b72ac91ed0709d1565d9d3228fdcdb2bb105cf8190964512bd5b95ec3da32d9da58dc4587df15b033a2951942157ae29a52c8f392b4111c05a814ba894e2788ff9d88728e29dae64365cd8cc6f6f83cd3f7e1f23d9d141e65a9e1dcb893e2ae6cd7fe2c9747d62f7febdfa0c337127eb95a18cb181793c6856f30fa4dcd6946c753ce1c26729f536f2586ed88ee33ceb3a860c448c64a33ce5272fab076eba90cecc3fbb8c0a3de61e5460ad0432484241a8173fdfe0c33ffcc0cf9d0ffe96da35775a5ddd5bf10583e4abd0c785ecffc316e7338144c6354316c2c92cbf41099d5f6b875e860d73f5724236d7302401382f922d1129dfc185a50961e0ad4057d3076d24b417bee666153f5b30fc72af191a8ad95eb2feede0c5e092902994b560c1d24f36bd5bdb858267b9d95b054138899860bfd272b0c4d351565b185002326ac7d2c1133fbcfa776f10bc378f7f978fd060bfd272b0c4d351565b185002326ac7d2c1133fbcfa776f10bc378f7f978fd0826a2e8c7d5196a84aaaec8fe62cd876cf7ab9362792b666a1d03f40edb48348826a2e8c7d5196a84aaaec8fe62cd876cf7ab9362792b666a1d03f40edb48348a821c1942da723157eca1fa6244090ab25b19bc6d827ee92dcf3d126fdf924fba821c1942da723157eca1fa6244090ab25b19bc6d827ee92dcf3d126fdf924fbc5eec626708f0734b78906b19301139f0bfce6dd1b603c92c060d4ff1ed5c03473536e22a0e9ab042aab4881d6649cb5b6f1033bcdc8a7dc8b6cae6d0c183a1baa0ba9fb1f48474b77aa90c4b8465e354a9a7949bec03729fe4574977a6f2337e74f8c2a5b555476eb169dbcfcb76d511857a7de6cce8fec0a58e00f2d43c290a55613ee29632466d439af062a4dfde8b7951e510dc1bcd3ee1d3d8c280de319935364109afa6ab1911fcd30fc56c78c5273d82e1390ab5426fb8b7332b6c41ecd1a731234df884738c980cf1bba23de7201f562d045ee8a5c290c00b86e1fc589368f4063542445e068082e0bd053a8a5c7a0660b7f801c8e0bbf79c8c0e90b327d32a732520a278233297f9bd801d157ff46e1a1984ec65b12821d29754c99fe698a5a1bc8918834ecef2d9e82a78986c245a78edbdc3a830eec30d278efe541e8c31edc91c933b1b0a2f3505342c15f8ef46ae76b74274daddc2438b9f11c60360b57c039ca5e8479c23fef0dab2f7199b9dbe2aabf4a8091a0365b32941860360b57c039ca5e8479c23fef0dab2f7199b9dbe2aabf4a8091a0365b329418718b9d56167ed85ba9121efc022566b9caeb5dec3fc9a28094a4c7ec1d0f9464a14174c731d1d870478c0c9981480d1345f4c44c51d7fafc3354d7b289f35d1c40138e4c16311ded934274a2caeae1dab35d3cc2b3af6b6d653733490410ac9901a7cfa0d7174580fef46ce1f84250d905679fc875fc5b0583f408ee511a73c37768b29eda5b64d776dc594e60a70459c1f160317170fb0ed29a643c4843de7a14c388ab5f45aed591e9c261f9f5ec7f786eef7d43dde46a24458699ea742a78de018aa8c967558e2451560d02f86c339efff6c62fb8af4b77c2dda6f08ab4b1a413de727d5da683f1f8ac6884d9b727b0774e67d12593abba2a1f1f293ac1cdefe3cfc25f9daa0d2c5ca8c4bf20c87e433cecbd476673494b804bce7f4eab64426c4c4de0fbe7d98a80a6ac05b7353bc5e24cb3c9cd04bad0837a1a24294ee8bb8cfac6230c8c7ca9aba973feb21415faa03985007e1f25000b65971f586ea18ea63a7a566aa14b499fada8946adfeec732a2ae1e1c4d44eae9cfea15b27d76eebd15d87c943039bf096a7a0418e83d43f7db18a5b4f800b3fc69146948564d93f36b7ce236553eaaca9f8516e5e77e7af7ad829ee679d47d29bdb5de2ab84801ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bcf5a243c8f65ec7c8f37a0dfffbee1f5e76074efb36a3513d7047bf59e641194a1e266b63168f1a5df8fb09e0990c667f4045a5cb697f8a31d96f18caf825e5f6ef40571ee0de805d44b9bcfb7dbdae9a656e01a155b2b7d7827bfa9686f7539c0ab5dd76c67f3e684f776260eff6f8747f0cc7eccebc3db7666021fdbf2d91ec0ab5dd76c67f3e684f776260eff6f8747f0cc7eccebc3db7666021fdbf2d91ef4c9cd2a49a44e287a9a22c004ee5fc0eb8d5ecafe6b72b8d2cfb664f22591fcf4c9cd2a49a44e287a9a22c004ee5fc0eb8d5ecafe6b72b8d2cfb664f22591fc93427a9d611689618e9bb247a21b7950442136940aa12dd55064cf51b2d104ec86ec70dee9b7cad0766b61ab57c18c68b4fd1447e7e5512471027ab943526a0323fa095d331b23931546de01762c97a6fa2aadd791a91bbd5e151b49f69ba9b0b4ccd24128448411a70129b7f4494f3aeb29a549eb3a1a871f908c0f995cf0ef4da52583cbfdb46e086703a9e7d2c6c8ab87763a89a89c2257bd20758792f267814a73e184c15a70cf859070972c1ee07b00bf5e77d7e29d2e79790399474235c20de7bf941e722d022e1aac8e9647f504c630cd0488297c4cd17ffe73e125643fa0832bef19f55ee67d7a615a55e81185cc6d96fd9a765a1ed4dadb304fc7cd76b926601dc4eedbf3970fbf01a1a13361ac4d29cee122159d59f3d12a60a68deaeda1ad205aa0aa1d06eaceda880b5985ef906505bd2a3118f23c138eb04903df296a558cfefdb4adb21c17484fdf5353902dbbf5daf661ab6a93479e9a4141382ac987076e722725e4932244f1245ce1f2428e5fa2ba88d1e14fc385f47632a972cdfc222360bc7ab39a4fa72b062da4c24e3113f137ebb905fc408eaff93f9a0e7b0f4ece3fb5abe3b1e52046b291863e172e28f09e11356fdf5a53767f7f27c681907290a5ff746912004c45e86773a7ad92c23fc4dd697f96ac90f6bf190ae880d84e72b3adb04843d4ba907f5eae563d6582a66f27d388585578edeb6d4be820fe0c72bf1f21d976996c36e6c16384c73d5358acb41c58d634e4feec24190aa4d3a0cc90b4b184318e085dfa8a5860a27b176099d7a6b6494d8ab85575257ab93c0bdaeb1fc2b1d720614e7399d3704d8bc25f5af3f5b7808adb7a3a9356308750580219118598803dd8bd1f9fd380f263e0ec7998e08bfbf30964a824a6b48a2d3ed0dcba5eccd15f67e83f91313f4435dd00e52bd49532685627752e3a29a7c0a5f244179cf7d8cae084cd16a457728b09e4a20336f1d03155abe18e7ce0a50f445d5ad355ccf12c3a79314efe79d88660eca65033b24f8350f728007dea46228b064602b8c7e348fa93f97264e488fc28e913feb97d151c7a37b574e70fa4adc2b4884d558e57147a787ecad3190dfff6622a26f645a5f7fc88fec53a00f5882b6531837e848308cc1de385a969f62f8748b0cd64c6bd80a7e02f20f4d16e9e265ef12ae9a2a03d2a78362dab39127681c9d18720d65e7df5d37fc80d5b3f4ed467ac46c4241352e14f2329bd074dc5cf16d8b350857b2a2ea4e0af54cfa87956e0c1279eb8a506fc93fc04b01baf4587e7a4681e54dcbfcd4bf39a2cd29217bf5a1daad286d2314cda1e6334fe9b997a4d0867bec1125e422aff11ec3769ccc644969d14b7c3cde76acdf4cafa561bba9548933a1a71733a89eff0d643ecb4346126d71dd8680c6f358cf451ae63395665921e3a5c3cfeeb67b50152f83d11c08ddf2ca5e5e83054095d2412bd1406ba31a99fafe762ddd2b6a8569cc705acbfa7e57036288b3473111163a2d68d5497728f06d80309ef0e737e5c21585cb9a53059e5a6103e62b43d57d53fcf43c24a84ee015f9b7eae435fcfe5d3155b3c4e21f0b26d8589aa54f8d8fbdebb065454c3320a79a239ddcc5ecca22782d6adfd32a905f7289b7f2249cb333cd196c81a57ea1aa867411ec464929374a1187cafc7a06de99f8d0fdfa70a584b8441e096a3843bc3005a182bec44b507a2fa0dbeefc8cff34a7b5d7331ac7604a42057036e2895cb28f65c17d4fd5a087c1d6709cfb3095a171afb6555667554c0f76ba4d2f4485e647cad71a5f189695da57d861784fc205b1081dcd2176f4658b04e6767752b8275e30567ed3882e732905f9a3724853eb26503fc0034278f7a3ec4505df9e117bae5a2fcb8059783f37e2d24585788142bc0ec2c7ec05e4fec5cc332169592afabae7676253f0dcdfe9516f92d825bc1ea8616402f4f082cb68e422109722c8c5301153ffd7facad3962c6bcfc8ed41d035561997925b7bf9775baa949bf6dc51d790b8a67b0796eb737b0407bc87d4790ad5bc0d8e69c0c1d64e657d3bbdb25574999165d11045d893c2de8261965466578837f9a4ae945c1e082a1b2f622c44aafd99f94a5c21bef88f2dab0ffe7aa7e0b13798b0718172a1ed91a0048272a3faf770470d345rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-ldap-3.4.0-150400.8.1.src.rpmpython3-ldappython3-ldap(aarch-64)@@@@@@@@@@@      /bin/shld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)liblber-2.4.so.2()(64bit)libldap_r-2.4.so.2()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libpython3.6m.so.1.0()(64bit)python(abi)python3-pyasn1python3-pyasn1-modulesrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.60.3.70.1.53.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3haA@a@_q@\U@\ `[r@[iZ`@ZZ7YdY4Y4Y@@Yf@YRHY.@YY.Y@X@X@X.@W9WVIV&@VV+rV7@U@Testeven.kowalik@suse.commichael@stroeder.compgajdos@suse.comwilliam.brown@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.commichael@stroeder.comfbergmann@suse.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.comjmatejek@suse.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.commichael@stroeder.com- Add patch CVE-2025-61911-enfore-str-escape-filter-chars.patch: * Enforce str for escape_filter_chars (CVE-2025-61911, bsc#1251912) - Add patch CVE-2025-61912-escape-nuls-correctly-escape-dn-chars.patch: * Escape NULs as per RFC 4514 in escape_dn_chars (CVE-2025-61912, bsc#1251913)- skip Python 2 builds - set PATH when running tests - update to upstream release 3.4.0 * Security fixes: - Fix inefficient regular expression which allows denial-of-service attacks when parsing specially-crafted LDAP schema (GHSL-2021-117, bsc#1194834) * Changes: - On MacOS, remove option to make LDAP connections from a file descriptor when built with the system libldap (which lacks the underlying function, ldap_init_fd) - Attribute values of the post read control are now bytes instead of ISO8859-1 decoded str - LDAPUrl now treats urlscheme as case-insensitive - Several OpenLDAP options are now supported: - OPT_X_TLS_REQUIRE_SAN - OPT_X_SASL_SSF_EXTERNAL - OPT_X_TLS_PEERCERT * Fixes: - The copy() method of cidict was added back. It was unintentionally removed in 3.3.0 - Fixed getting/setting SASL options on big endian platforms - Unknown LDAP result code are now converted to LDAPexception, rather than raising a SystemError. * slapdtest: - Show stderr of slapd -Ttest - SlapdObject uses directory-based configuration of slapd - SlapdObject startup is now faster- %check: use %pyunittest_arch rpm macro- update to upstream release 3.3.1: Highlights: * ``LDAPError`` now contains additional fields, such as ctrls, result, msgid * ``passwd_s`` can now extract the newly generated password * LDAP connections can now be made from a file descriptor This release is tested on Python 3.8, and the beta of Python 3.9. The following undocumented functions are deprecated and scheduled for removal: - ``ldap.cidict.strlist_intersection`` - ``ldap.cidict.strlist_minus`` - ``ldap.cidict.strlist_union`` Modules/ * Ensure ReconnectLDAPObject is not left in an inconsistent state after a reconnection timeout * Syncrepl now correctly parses SyncInfoMessage when the message is a syncIdSet * Release GIL around global get/set option call * Do not leak serverctrls in result functions * Don't overallocate memory in attrs_from_List() * Fix thread support check for Python 3 * With OpenLDAP 2.4.48, use the new header openldap.h Lib/ * Fix some edge cases regarding quoting in the schema tokenizer * Fix escaping a single space in ldap.escape_dn_chars * Fix string formatting in ldap.compare_ext_s * Prefer iterating dict instead of calling dict.keys() Doc/ * Clarify the relationship between initialize() and LDAPObject() * Improve documentation of TLS options * Update FAQ to include Samba AD-DC error message "Operation unavailable without authentication" * Fix several incorrect examples and demos (but note that these are not yet tested) * Update Debian installation instructions for Debian Buster * Typo fixes in docs and docstrings Test/ * Test and document error cases in ldap.compare_s * Test if reconnection is done after connection loss * Make test certificates valid for the far future * Use slapd -Tt instead of slaptest Infrastructure: * Mark the LICENCE file as a license for setuptools * Use "unittest discover" rather than "setup.py test" to run tests- Reduce the runtime dependencies to match the actual needs * User can use either openldap or 389-ds or anything else - Run the tests on the package - Fix the fdupes call- Add this package to SLE wrt fate#325747 - Do not add version dependency to devel requirement- Require openldap2-client as some of the binaries are called on the runtime- update to upstream release 3.1.0: * Long-deprecated functions `ldap.open()` and `ldap.init()` are removed * `LDAPObject.compare_s()` and `compare_ext_s` return bool instead of 0 or 1 * Tons of changes see CHANGES file- update to upstream release 3.0.0b4: - Adds support for Python 3.4+ - Adds support for `bytes_mode` - Idiotmatic python code changes - Adds testing for `pypy` - Fixes/enhances tests - Remove python-ldap.keyring and python-ldap-%{version}.tar.gz.asc: There is no signature provided for the new upstream tarball- update to upstream release 2.5.2 Changes since 2.5.1: * code-cleaning in setup.py Modules/ * PyBytes_ instead of PyString_ and added PyInt_FromLong compat macro * moved code from version.c to ldapmodule.c * removed obsolete back-ward compability constants from common.h * build checks whether LDAP_API_VERSION is OpenLDAP 2.4.x * _ldap.__author__ and _ldap.__license__ also set from ldap.pkginfo * assume C extension API for Python 2.7+ Lib/ * removed all dependencies on modules string and types * removed use of .has_key() * removed class ldap.ldapobject.NonblockingLDAPObject * new global constant ldap.LIBLDAP_API_INFO * right after importing _ldap there is a call into libldap to initialize it * method .decodeControlValue() of SSSResponseControl and VLVResponseControl does not set class attribute result_code anymore * always use bytes() for UUID() constructor in ldap.syncrepl * module ldif now uses functions b64encode() and b64decode() * fixed pickling and restoring of ReconnectLDAPObject * more modules with PEP-8 compliance * ldap.ldapobject split into module-package Tests/ * scripts do not directly call SlapdTestCase.setUpClass() anymore * added LDIF test with folded, base64-encoded attribute * added more tests for sub-module ldap.dn * added tests for ldap.syncrepl (thanks to Karl Kornel)- update to upstream release 2.5.1 - adjusted BuildRequires to match upstream prerequisites Changes since 2.4.45: Mandatory prerequisites: - Python 2.7.x - pyasn1 0.3.7+ and pyasn1_modules 0.1.5+ Modules/ * removed unused code schema.c Lib/ * ldap.__version__, ldap.__author__ and ldap.__license__ now imported from new sub-module ldap.pkginfo also to setup.py * Added safety assertion when importing _ldap: ldap.pkginfo.__version__ must match _ldap.__version__ * removed stand-alone module dsml * slapdtest.SlapdObject.restart() just restarts slapd without cleaning any data * Compability changes for pyasn1 0.3.x or newer (thanks to Ilya Etingof and Christian Heimes) * The methods SSSResponseControl.decodeControlValue() and VLVResponseControl.decodeControlValue() now follow the coding convention to use camel-cased ASN.1 name as class attribute name. The old class names are still set for back-ward compability but should not be used in new code because they might be removed in a later release. * removed SSSRequestControl from ldap.controls.KNOWN_RESPONSE_CONTROLS Tests/ * added explicit reconnect tests for ReconnectLDAPObject- update to upstream release 2.4.45 * fixed error handling- update to upstream release 2.4.44 * GIL fix- update to upstream release 2.4.43 * SASL bind fix- update to upstream release 2.4.42 * small enhancements to test suite- update to upstream release 2.4.41 (small LDIF parser enhancement)- update to upstream release 2.4.40 (small memleak fix)- update to upstream release 2.4.39- provide python2-ldap to support singlespec packages- update to upstream release 2.4.38- update to upstream release 2.4.37- Update to upstream release 2.4.30 (with compability fix for pyasn1 0.2.x)- Update to upstream release 2.4.29 - added python-ldap.keyring to validate upstream source signatures- Update to upstream release 2.4.28- Update to upstream release 2.4.27- Update to upstream release 2.4.26 - updated pypi source URL- Use HTTPS links- Aligned desciption with project's web site - Removed obsolete stuff: * build flag -DLDAP_DEPRECATED * outdated URL in package description * removing of CVS files- Update to upstream release 2.4.25- Update to upstream release 2.4.22- Update to upstream release 2.4.21- Update to upstream release 2.4.20- Update to upstream release 2.4.19h04-armsrv1 1765383068  ""$$&'((*+,-./0123446788::<<>>@@BBDDFFHIJKLMNOPQRSTUVWXYZ[\\^^``bcdefghijklmnooqrstuvwxyz{|}~3.4.0-150400.8.13.4.0-150400.8.1  __pycache__ldapurl.cpython-36.opt-1.pycldapurl.cpython-36.pycldif.cpython-36.opt-1.pycldif.cpython-36.pyc_ldap.cpython-36m-aarch64-linux-gnu.soldap__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycasync.cpython-36.opt-1.pycasync.cpython-36.pycasyncsearch.cpython-36.opt-1.pycasyncsearch.cpython-36.pyccidict.cpython-36.opt-1.pyccidict.cpython-36.pyccompat.cpython-36.opt-1.pyccompat.cpython-36.pycconstants.cpython-36.opt-1.pycconstants.cpython-36.pycdn.cpython-36.opt-1.pycdn.cpython-36.pycfilter.cpython-36.opt-1.pycfilter.cpython-36.pycfunctions.cpython-36.opt-1.pycfunctions.cpython-36.pycldapobject.cpython-36.opt-1.pycldapobject.cpython-36.pyclogger.cpython-36.opt-1.pyclogger.cpython-36.pycmodlist.cpython-36.opt-1.pycmodlist.cpython-36.pycpkginfo.cpython-36.opt-1.pycpkginfo.cpython-36.pycresiter.cpython-36.opt-1.pycresiter.cpython-36.pycsasl.cpython-36.opt-1.pycsasl.cpython-36.pycsyncrepl.cpython-36.opt-1.pycsyncrepl.cpython-36.pycasync.pyasyncsearch.pycidict.pycompat.pyconstants.pycontrols__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycderef.cpython-36.opt-1.pycderef.cpython-36.pyclibldap.cpython-36.opt-1.pyclibldap.cpython-36.pycopenldap.cpython-36.opt-1.pycopenldap.cpython-36.pycpagedresults.cpython-36.opt-1.pycpagedresults.cpython-36.pycppolicy.cpython-36.opt-1.pycppolicy.cpython-36.pycpsearch.cpython-36.opt-1.pycpsearch.cpython-36.pycpwdpolicy.cpython-36.opt-1.pycpwdpolicy.cpython-36.pycreadentry.cpython-36.opt-1.pycreadentry.cpython-36.pycsessiontrack.cpython-36.opt-1.pycsessiontrack.cpython-36.pycsimple.cpython-36.opt-1.pycsimple.cpython-36.pycsss.cpython-36.opt-1.pycsss.cpython-36.pycvlv.cpython-36.opt-1.pycvlv.cpython-36.pycderef.pylibldap.pyopenldap.pypagedresults.pyppolicy.pypsearch.pypwdpolicy.pyreadentry.pysessiontrack.pysimple.pysss.pyvlv.pydn.pyextop__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdds.cpython-36.opt-1.pycdds.cpython-36.pycpasswd.cpython-36.opt-1.pycpasswd.cpython-36.pycdds.pypasswd.pyfilter.pyfunctions.pyldapobject.pylogger.pymodlist.pypkginfo.pyresiter.pysasl.pyschema__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycmodels.cpython-36.opt-1.pycmodels.cpython-36.pycsubentry.cpython-36.opt-1.pycsubentry.cpython-36.pyctokenizer.cpython-36.opt-1.pyctokenizer.cpython-36.pycmodels.pysubentry.pytokenizer.pysyncrepl.pyldapurl.pyldif.pypython_ldap-3.4.0-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-saferequires.txttop_level.txtslapdtest__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_slapdtest.cpython-36.opt-1.pyc_slapdtest.cpython-36.pyc_slapdtest.pycertsREADMEca.confca.pemclient.confclient.keyclient.pemgencerts.shgennssdb.shserver.confserver.keyserver.pempython3-ldapCHANGESDemoLibldapasyncdeltree.pyldifwriter.pysizelimit.pyldapurlurlsearch.pyldifldifcopy.pyinitialize.pyldapcontrols.pyldapurl_search.pymatchedvalues.pyms_ad_bind.pyoptions.pypage_control.pypaged_search_ext_s.pypasswd_ext_op.pypickle_ldapobject.pypyasn1dds.pyderefcontrol.pynoopsearch.pyppolicy.pypsearch.pyreadentrycontrol.pysessiontrack.pysss_highest_number.pysyncrepl.pyreconnect.pyrename.pyresiter.pysasl_bind.pyschema.pyschema_tree.pysimple.pysimplebrowse.pyREADMETODOpython3-ldapLICENCE/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/__pycache__//usr/lib64/python3.6/site-packages/ldap//usr/lib64/python3.6/site-packages/ldap/__pycache__//usr/lib64/python3.6/site-packages/ldap/controls//usr/lib64/python3.6/site-packages/ldap/controls/__pycache__//usr/lib64/python3.6/site-packages/ldap/extop//usr/lib64/python3.6/site-packages/ldap/extop/__pycache__//usr/lib64/python3.6/site-packages/ldap/schema//usr/lib64/python3.6/site-packages/ldap/schema/__pycache__//usr/lib64/python3.6/site-packages/python_ldap-3.4.0-py3.6.egg-info//usr/lib64/python3.6/site-packages/slapdtest//usr/lib64/python3.6/site-packages/slapdtest/__pycache__//usr/lib64/python3.6/site-packages/slapdtest/certs//usr/share/doc/packages//usr/share/doc/packages/python3-ldap//usr/share/doc/packages/python3-ldap/Demo//usr/share/doc/packages/python3-ldap/Demo/Lib//usr/share/doc/packages/python3-ldap/Demo/Lib/ldap//usr/share/doc/packages/python3-ldap/Demo/Lib/ldap/async//usr/share/doc/packages/python3-ldap/Demo/Lib/ldapurl//usr/share/doc/packages/python3-ldap/Demo/Lib/ldif//usr/share/doc/packages/python3-ldap/Demo/pyasn1//usr/share/licenses//usr/share/licenses/python3-ldap/-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:41930/SUSE_SLE-15-SP4_Update/e43df2f715e32954a4d591740db7a394-python-ldap.SUSE_SLE-15-SP4_Updatedrpmxz5aarch64-suse-linuxdirectorypython 3.6 byte-compiledELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=13c4ef72a01164b4781f83578e3e629172654e0f, strippedPython script, ASCII text executableASCII textPOSIX shell script, ASCII text executableUTF-8 Unicode textdiff output, ASCII text !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ R R R R R RRRRRR RRRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RR@uc٘XXutf-8ee52f9d61c11b2be823a617ea7199ebf37ab4b4c51e5745eca1bfa9a372202c3? 7zXZ !t/}5E]"k%Ӆ) `>.' W%_&ӷËT#H+Q؆eI,]7N!|QxŐuV]ڳj!FCa $GZ}("~w" p⧊MQt}Ap`qM2w*aZ24CWȨE lȝkh3+ =IoGEC]LB:769X-50u%ly|p" ?7 k @Cxy{lBKlp:0_xqX pT\>UTWPc ^icU!!c:YhWBUZ{ء§XLCh\A"dna =lؙ)vQ@a~HGJBPF vK6AYy_U*ιY{,*.IJdo,{v&:a732N,&NFzՆ A/%"K2t>jvp<|+pTOlycݔ{0%!,[|7=K+P'o?C$h)dZKEѭ{0FJhTG|n b5^d2GMôr'NyKV?fI* bISl[mΣ@X(ax=L9<6ňHt>PѓU5œr|x4\3@Rt/8 -f{dP6M bpaLS!Fv\A4K%bY \zM7:4æ{t~ɱ(&A>|!}7 Z:ׄI;*Qr;7]woPX9#%Ss*mSNvgWNҪr֋&Z.MwNp&ݜި>՛y$/7#ulwR5 (zj 4eS˿jt5#Xq(Šs\E2B/@)AP BgT_NY z;y),7z=g*)?IqΝl*!vHfb>LHn+ѽ"g\(Qiq헨/.6siբVW~-0(BV{6 k4jLY ]yFZ=1Υ(iـFO4('D:Dԓ|:ԨNUԯ5ُ-ŝe^pԡNܧ}dY h>9P-/Y[ͫ wz13=j15čA`zV\PJ?OOIe1)"iqj-06^nDvE1Oqڰۈz7y8Vk离{G>nnOꛓ$o8Vz9C}d+GEU+vb?2=>*s>a ykq6𪒓$Wԛ{N@w]êiNANXł.EhzIu%ҍb͑1}3`$jƀM BJ# 2KJD 2"5, 7rEZj#7QSbrЃ3Aa%eTS 5_bYYFpbv_7!<0x/wh-8M@EQ6Okybu`يǷV(]7Rp+|,!\ڃD[{x>PpD}|DDru`Ŏjŗs: 723@/NJn:h(~\$ [̴37n![@R; σ#(٫A+.M;R:SO*m(6dvJa0q+=G=s`a+@&ZCDC;/tkBs 6wב@ /BcQ%sJg=0k Ջ:k5 H<#P~#Z>mq^3$ي=e@3ߋ7W+/D}VV'nI}VpcgO Rl֎Mz,Ya! 6VUJkeY7B*ᄊSZV1H*%;> ‡IyoLl 8|f*X2`A6`r}D4|8C, @3e==bѧDpsۜ.xWU$}8b(cݧ #YlBV;ޒ]khTB;OByW5,/s-%CkCx,GnjJq:SEG:(W-ǩd7ᄎHϭA"CӃb_g&e%Co3l2.NcpUa,"Zސ:mIj#~|]} .Efužy43TkR,/iT]I>"x 5]Ga|{h)RAW>I|O/ڊ6_q& A>@0mD+6rO͌$F5# Jh0 5YYȖ)Vv^C{nbJg*_S&xGa5;x9p’?%^Vtmx`V-RE"ݎJpZ ~sqMԄ3pq [BԥI&^_Ĥe=E`d㏸ ]=ki"ָ8ݓi G~$afavTF]%lWӦ3UG]0iD!fFu@Nm@l5)&& 5?8mX(FVϪk "3yets_pSh_=_EV_xU`ԸqrS,F;3_R5vs8WUIpcؖ_VLxfΩ*/|O!E(1?bd)ޯetj@FCEBgr> ? ~a\]r5GftӟʰPٍE"=q)i;#Iah&D4N-҇@Ɨ;*Wqi^^f۔ȐK| =G#D(VwyhzHݰ?`IQseKPV*U‡6P$'cxX =-`axjas4AUm-iers҇Y> bKpރѰ&G>4O0`~>NQ9ꊺLVY#);ybrXm]?>Dq#4Wv,xOͯ^oل2d}̓"czZSVG"Dp-念kЁm|Lڙ]e~m•NL$2c [mþa(Z4xeUy &Z0ܑ{Rmjv"Xp Is:5$[ i0v5B*s>w;.sTaOcoe!ɆTKi۠%RϜ?A*`š?*M\F;NZ+$>^ No"0ފi{cD6PY 8#vDdd4-Qlj {Ԙpoc k[]4p P-ㄆ!b77*n?M6#1H-ɫs^Vcl``z"s~7 Rr*ǐ0 EGf+N++`' V!)Z+/Y#* h@ *#[5},P k+=% O7]m<=)iONOe ؈p+hIW e;RN VU.h^֖k''e*xN=#vhmyGQk 4@'D8~vV=Qu:UU(`,,qchh;h }jxq\4XeҘ}Q4TS,VVBm.sh2W3͜IP 麊|684U {&ctUѱ@umX|v?SwL%H2vOG5祱E%4uW4RkCR(wϖ7/38dsQEǨ Sc zh8W9Ez :3m~:&.j.?za#Fm@0Gbz1b6 H~9(SXv$w0uj䋉AN_[^LyliۤJ|:b 3ZqU5n׉}ⴑۀvvO5U >#:,e?F\a OֲD8ʺ'HJ,.gvibc5=GQay T]CO 䆱.?"/FIٻ]C;o'y7Iԅu5AB}Y*6ʭR4ptc(4_TUwBI 8kz)ō m.Zp^ɘ40h9) '3:8f^uZ.‹Q5ZGy|}:vX$`gbP D0'bCȈ|Fq._{+YC6}۲#XQN,lN=)-tXR}j)1V&k`{2>j{G(b;1zBxY"@fj 'CԄՄ 1aVNWPQSD3EN 8HF-`9maZqC`͊ܰiOՑm4^rT~R]XvvWL {>Ҝ6z1B)T'!U{o9VǦ.m}R㧅E%-lՑ7 qb+9fR!kx6Dc=7rO ݴ("p&&Ku;y^ 4zeC*jt 0-w\{ߍL&l`??C+ck.CI9 ; Gp&BUh~uL, > cO,>.}GAAOf1}U+#N>L\R$j5X2{ְH|>-_XbFŲC^1"꥖ƖXw1"ozuڱO/\.v#dGQW1Ò'$#+7wj ']o 7\">ȋt B%ۘCsGef*Rw*GTb=]-&KMOY*и !7ㅗeCdQn,n& IC; [O"0:(S^i'-6YЯ;I_TWbo3&vl}4Pca5Spv}3UI!gt9< GY#Ww1\~%RD;\_q *IsPt1iaB`:>HpZ;+cX i{4~p"CQ$.Mٲx(pk` S1ePK}#|hx@L3a&zӝGq2 4֠9Jda׾_WX#eaw;'soV#,LCXFSDCKHŇb%dw5|e JeФ?V]A3Hs;i67וCzٴ׾,Md>PMGsgmmA)X:i׭ymbUZ7ΜE&z־2Th)djQǴ|zYvaXYb֞ to v\ |4ͮ \*KV1`MK"̞2HNQYdNroP33M~sqxzi{<7#.BirDC/X:"!x)FCCNFr (}Æ~ྻP'ʱIUBZi>?7Z.GrXRw͚Ihuo+ܢPdϒ*k#傒peRZeo"^ƤAhDkTAHeĄ 'jd',2n]-KU7TwخU,KJ4׭@eh6pv . LJ|$wcR~ná-N|)XYJb* >AC&j&f;վ$ZgG 8AJ&@%+h"@)I-+tۜ$Dep'[ΞB ͯ`˽QO.f')b6D.uH~۲"Q^х@uڤCXh.{iR(f03%Ƌ:qS2N1x.wlzR +XVF;kC]*I#]v'eX!7XFivcTcAߢHiX\;ݤX2cfnӊF?7#-Z]e#Gkl[$ 2%βT9EZpi~{F2("Yr6{3V<7upmH+Rut+>M XlVOd'1tM0_[4>u'|JDl~ g[g%W'5Υg ] |aNۘ%5֛<|Î?$i ɮE'B:`mY%{ AVx;1_3TSf?'|Ie">VI#tD*&_tE13,'$D'ӲHҝjX&>xHWq&N7*Jܽ7b Ht9=YIUө'7ܨ4 N|bm;uvj4wd3ICגQ[B&o1Yȷi '(xoZ&Qv錵[36|zq66+7v&0 JQLg44+ 0Jn;7ɝ5.]xdӰ%KS¯ $)z)6H~CQd9_T`=\BPۑcRG靑DϲA؄Ipt@ݰ/(b/-_NRu6'(wf/QAha-FMıd?= j&G7峾ܠDMj>vGN묧 kNoio#*~Aga-hz5 {Jht`\/&:uo/C)-B[.Ə^e{GX + ( 4Cgڙ-՞sy|&O__svĭoj^!ȔA.TfX0})Zg#Z}1 +ʖ},[uuK?ɋR'bt$ dΤbC%,Pl.R1U'l<\\mO3fe]MC@d!sz_o]@ ;P/_h$uqɵ`pZigJT$2ˈ荱n - ]A~ .[GUlЀ7zcE25ZVM&dUp|\b(|=8'cF<kIZg,py76w ؚ0n;gH:urFS@Lb`#KRua n9tTU yC@.y, IPv\"o7wT2b&$\hҤiqUdeRbْa?^ݑ1 _^1偷rt22Cq<; 8vn)Eɼ%7 ~b+SGw_E\$Z0}Lc|z?r Ά$TɈ1t3!;J5_c<6uӬĆȼ6k%>2PPo 6ۇ'RsT\ X\"_y >vJR n%2R{ZP~vy1vxu^E$(z[qZ ˳6L2V؜WmT"Jq2/cͪ@;As+@H#)6L1K}f;pX; 2{U:(IdL8{5~%Xc ek [B b͠J r*/+KBD]D*Up(@^( 񸧪m.)PTSL^y^=硺.-5È?eʤ|:XIXDd.~ˎ1@(F{>c].)Im֮6k?AFokw3RoXLnDy]/CND5t406I_20"ao^%چ6Nŵ挄}C!⒲9a:GWi I1}&f?U9V@E)V6P5" 4l{FuF~? o,N')r<? V' ,,C3*/@PM nfij|$^5pݠVUn4h9%(5CYM{MgC} g|5MqcP؇ Tlܓ[l3!<ƻ-6]9ڋQQOW&x, ;ivm \g=uY.iͷd~O=1ǜp8m +LEu6| ,V9a\sl@CXS6ߝ Ӑzo(% PwG)z 䂱xJok%B5xѿealؗ@I.%g]7.P$T,Sލc;$c\b8Nz3bN=y FrTHc/g(B>%2:Nili{IOX '6]+lFmLQl\%۾[ YDLcrʒ~/`X0L^ZzxRrJ@ᴞFV:n-W 1 2&ZFOfWS9q;BH;S͔$zrfI&^K5O΁^jcJ᣹%);מt;4#n$weH5sbzy\R1p +fԚvZ}d\/:8c^Jmʽ?Q(,t}yKXhH@! pKع椦w))4L] Iu-d9/c,+ .G^Gԅ $|jV;@~zAkܠGQ3G0I٦WHv?S#{qt D;)/|Ѐr!?Sd‰%;c<ߴ^,RlWUIc9m'("~Ø~7ؼ=ȉ&Zx/Q -~񍱤D97$!y8S*cVR iB2垂+vVcT᤽ Ry²%ߧ"`(;ŋTK+j+F|{5Se} P(orOCJ]i+8dތ%EEg V,$k< M^EQQRkgBD¡xLsK 1 P:vdG/B1qVjbKX.m_^ml5qc`bBU 4Q8v95[~%8iFq<>}#* 0>|7Nz9T4_N`WQlӦ0.ܻ"^MȲÅʼnF̆T3 ˶T<z7Ӥvxk0s^UȕO˽еr@mK~E,s׉Rm0'4s|}S1E9&O?ҩq().?Qy٣=[NZB ,MEca0\ׅ"YiaX%u-lqgeτċ C%X{N1D8e*FyHI q} Nɓ&eajWVQ3=Xm>?QhW(5LC*Vl>-e Zxz=5Fj̩B$:, '>DS,\l\~ia4"yZřD: Z{;aMa8[Jy$fBhrGѢKI^9zǃw|\pqm&%!˄kOyyJ(0OdMyѲH~D/k|hQF7<DPE 0x4:7[|S3bxjgkt^^]®|42z rzD Qge] |Ad"5co+YڗeKؕw8>Z.+~ӫzh>ף?S;q$?Fi;/m2XQ³}L}?^j%X8Ws9u=(ē Of(̂cs綋༂#2\mԩ~d3?c?A^2}G XNiN -9Da tQϯoAUB1[hQM .VHjp,\6ܕ%yw:xN#]|+#(o &nNĩ ti;eLaNaY,€pedX;w7ŕ~CTr3 I@x<Y\GR?}b-Bex$-+m t BC`&1ӽc𓿉y@"}$#M1q R,@$7 l #L|f{^&`\4bPwqo%&"8# H+gw'"H4n u0Z;&vnUb9MG YgɭɇHwVÓ틑JeG7H Q.ua(]A\5G PkŖ g+@{+^lxN9iEVk[@DWj _/`yA,F&v WH× ~ܿ:xgZ#`e͆1T8ڣVD=G'¾Yd(†"0`t,! { y%&L$όSh28 ,١,8Ƨ}EQ(AQaw(A>ѿ2(LutPq, og Y DHcof_w;o+97ST3Aa @zZX%V{NY^劥+9@41XuVm]rɑ<~k2&xQ0EͰzaK \شW]T+iTGV P;>_$ X+}{b{)ۄ٘01[D ^ӪX!nG~ Yqi .<0=YY.9[W q W;"XِcQpҒH9w Qm Us Co1rB7ɞ8mE(}veZR6ٔTK[qItjREZ߭k X1^N~G^)ʓ1t;:i[<`#N`$\5YJ1#Vevg:wz, ?ɱI? )1(EYMUXdNPyĒ%?BqSMP :C4TJ%WW4ԏK/v8.WKv$ﵬTImHeC&k$Xt@,HQ->Ai؀p|`7(d2 ym0[kQRRԆ< 7$~bƳ9{"ģkXx4If\*8DǍ;hY>2پw_ [n&n Tb4Ud0^Rqߩ Şoю1%.J[9&pTQw)JБ21hld 7-PӬ*b6?52P y"ۛ>5M 7̪/ZcY YZ