python3-libuser-0.62-26.el8_10 > 6 6_6 3!pQp)Tξ7]mtZ`f ]mtZ` bȹ/8wˇ̘~wlͿ JD1L gҮ3c6lٗ.) diBl ̧X.Qg8\y_e4t&o|&@u\!m!WzX;r?Uw]C~0ygZAwצk&~v Y" ]n,{{Ĝ9LW\ʼskx-q݊YMyoVPQ0 yѳ[G ~hfmM~5=ÄE$ ccr*ŝ'.`%]o돪UJk;`5|jBpI?#2K29MA_QKn^l}SEv5}n+OP]stmZBYw}':qy+y9y$F'l.\jè\NBPOD՘}4{Zv@^yE1^_ y`ngW(nX6;sl,>+uGΕDBULf@5ËR̍Hbc 7AMpOԀYB뢘ʋKyƒZ!dP婺)R*DѼKLc!`>p??d ! K,05;C aw    n  8p(89 ,:/>B[GlHIXYZ[\] ^gbd@eEfHlJtdu|vw8xPyhCpython3-libuser0.6226.el8_10Python 3 bindings for the libuser libraryThe python3-libuser package contains the Python bindings for the libuser library, which provides a Python 3 API for manipulating and administering user and group accounts.f,ord1-prod-x86build003.svc.aws.rockylinux.org'KojiRockyLGPLv2+infrastructure@rockylinux.orgDevelopment/Librarieshttps://pagure.io/libuserlinuxx86_648*wAAA큤f)f)f)ff)U=}5b76c99afb9cf7532c60ec1f8cd4b947fac28f80c96fb45c9c573a02debd8cdac0de5e82ed35d91e27af2e20d1cdb16a096d263a23e062faa9c2b65529257a54../../../../usr/lib64/python3.6/site-packages/libuser.sorootrootrootrootrootrootrootrootrootrootrootrootlibuser-0.62-26.el8_10.src.rpmlibuser-python3python3-libuserpython3-libuser(x86-64)@@@@@@@@@@@@@    @libaudit.so.1()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.4)(64bit)libcrypt.so.1()(64bit)libglib-2.0.so.0()(64bit)libgmodule-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libselinux.so.1()(64bit)libuser(x86-64)libuser.so.1()(64bit)python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)0.62-26.el8_103.63.0.4-14.6.0-14.0-15.2-14.14.3f@c@]^@\Q\&@[[@[[qr[h8@[d@[Zc/@Y6YyY(@Y@Yx@X,X@XWW@V=@VA@U@Ua@U@Ts@S@S @SR].@R[R[QQT0QPP`K@P3x@POk@ORO5ON@N@MlMQ0@MK@M9u@M8#M0:M*L*@LcL~@@LvW@LF@L-KP@KKoKC)K"4@J@J0@Jq@JjI@I2I1.GG GG@G@GUA@GUA@G(n@G @G@Fޚ@F@Fr@Fj@F'YE@E@E@E{Ex@EIEED@DDU@CCtC@CCqC7@CtCtCK@CC@C&@BBss@Bk@B_BS@BJB)@AA@AHA_AvAk@Ai$@AZAYR@AXAXAT @ARA8\A4h@A,@@@?P?\o@?0>Sq>R @>BN@>@>=(=ki=><@<@<@<<<@ - 0.62-26Tomas Halman - 0.62-25Jakub Hrozek - 0.62-23Jakub Hrozek - 0.62-22Jakub Hrozek - 0.62-21Jakub Hrozek - 0.62-20Jakub Hrozek - 0.62-19Jakub Hrozek - 0.62-18Jakub Hrozek - 0.62-17Jakub Hrozek - 0.62-16Jakub Hrozek - 0.62-15Jakub Hrozek - 0.62-14Björn Esser - 0.62-13Miloslav Trmač - 0.62-12Zbigniew Jędrzejewski-Szmek - 0.62-11Zbigniew Jędrzejewski-Szmek - 0.62-10Fedora Release Engineering - 0.62-9Fedora Release Engineering - 0.62-8Stephen Gallagher - 0.62-7Fedora Release Engineering - 0.62-6Miro Hrončok - 0.62-5Fedora Release Engineering - 0.62-4Fedora Release Engineering - 0.62-3Fedora Release Engineering - 0.62-2Miloslav Trmač - 0.62-1Fedora Release Engineering - 0.61-2Miloslav Trmač - 0.61-1Till Maas - 0.60-7Fedora Release Engineering - 0.60-6Tom Callaway - 0.60-5Fedora Release Engineering - 0.60-4Miloslav Trmač - 0.60-3Miloslav Trmač - 0.60-2Miloslav Trmač - 0.60-1Fedora Release Engineering - 0.59-2Miloslav Trmač - 0.59-1Miloslav Trmač - 0.58-2Miloslav Trmač - 0.58-1Miloslav Trmač - 0.57.7-1Miloslav Trmač - 0.57.6-3Fedora Release Engineering - 0.57.6-2Miloslav Trmač - 0.57.6-1Miloslav Trmač - 0.57.5-1Miloslav Trmač - 0.57.4-1Fedora Release Engineering - 0.57.3-3Miloslav Trmač - 0.57.3-2Miloslav Trmač - 0.57.3-1Miloslav Trmač - 0.57.2-1Fedora Release Engineering - 0.57.1-5Miloslav Trmač - 0.57.1-4Miloslav Trmač - 0.57.1-3Miloslav Trmač - 0.57.1-2Miloslav Trmač - 0.57.1-1Miloslav Trmač - 0.57-1Miloslav Trmač - 0.56.18-2Miloslav Trmač - 0.56.18-1Miloslav Trmač - 0.56.17-2Miloslav Trmač - 0.56.17-1David Malcolm - 0.56.16-3Miloslav Trmač - 0.56.16-2Miloslav Trmač - 0.56.16-1Miloslav Trmač - 0.56.15-1Miloslav Trmač - 0.56.14-1Miloslav Trmač - 0.56.13-2Miloslav Trmač - 0.56.13-1Miloslav Trmač - 0.56.12-1Miloslav Trmač - 0.56.11-1Miloslav Trmač - 0.56.10-3Fedora Release Engineering - 0.56.10-2Miloslav Trmač - 0.56.10-1Fedora Release Engineering - 0.56.9-3Ignacio Vazquez-Abrams - 0.56.9-2Miloslav Trmač - 0.56.9-1Miloslav Trmač - 0.56.8-1Fedora Release Engineering - 0.56.7-2Miloslav Trmač - 0.56.7-1Jason L Tibbitts III - 0.56.6-4Release Engineering - 0.56.6-4Miloslav Trmač - 0.56.6-3Miloslav Trmač - 0.56.6-2Miloslav Trmač - 0.56.6-1Miloslav Trmač - 0.56.5-1Miloslav Trmač - 0.56.4-3Miloslav Trmač - 0.56.4-2Miloslav Trmač - 0.56.4-1Miloslav Trmač - 0.56.3-1Miloslav Trmac - 0.56.2-1Miloslav Trmac - 0.56.1-1Miloslav Trmac - 0.56-1Jeremy Katz - 0.55-2Miloslav Trmac - 0.55-1Jeremy Katz - 0.54.8-2Miloslav Trmac - 0.54.8-1Jesse Keating - 0.54.7-2Miloslav Trmac - 0.54.7-1Jesse Keating - 0.54.6-2.1Miloslav Trmac - 0.54.6-2Miloslav Trmac - 0.54.6-1Miloslav Trmac - 0.54.5-1Miloslav Trmac - 0.54.4-1Jesse Keating - 0.54.3-1.2.1Jesse Keating - 0.54.3-1.2Jesse Keating Miloslav Trmac - 0.54.3-1Miloslav Trmac - 0.54.2-1Miloslav Trmac - 0.54.1-2Miloslav Trmac - 0.54.1-1Matthias Clasen - 0.54-2Miloslav Trmac - 0.54-1Miloslav Trmac - 0.53.8-1Miloslav Trmac - 0.53.7-1Miloslav Trmac - 0.53.6-1Miloslav Trmac - 0.53.5-1Miloslav Trmac - 0.53.4-1Miloslav Trmac - 0.53.3-2Miloslav Trmac - 0.53.3-1Miloslav Trmac - 0.53.2-1Miloslav Trmac - 0.53.1-1Miloslav Trmac - 0.53-1Jeremy Katz - 0.52.6-2Miloslav Trmac - 0.52.6-1Miloslav Trmac - 0.52.5-1Miloslav Trmac - 0.52.4-1Miloslav Trmac - 0.52.3-1Miloslav Trmac - 0.52.2-1Miloslav Trmac - 0.52.1-1Miloslav Trmac - 0.52-1Miloslav Trmac - 0.51.12-1Miloslav Trmac - 0.51.11-1Miloslav Trmac - 0.51.10-1Miloslav Trmac - 0.51.9-1Miloslav Trmac - 0.51.8-1Dan Walsh 0.51.7-7Jeremy Katz 0.51.7-6Dan Walsh 0.51.7-5Dan Walsh 0.51.7-3Nalin Dahyabhai 0.51.7-1Nalin Dahyabhai 0.51.6-1Nalin Dahyabhai 0.51.5-2Nalin Dahyabhai 0.51.5-1Nalin Dahyabhai 0.51.4-1Nalin Dahyabhai 0.51.2-1Nalin Dahyabhai 0.51.1-2Nalin Dahyabhai 0.51.1-1Tim Powers Nalin Dahyabhai 0.51-1Nalin Dahyabhai 0.50.2-1Nalin Dahyabhai 0.50-1Nalin Dahyabhai 0.49.102-1Nalin Dahyabhai 0.49.101-3Nalin Dahyabhai 0.49.101-2Nalin Dahyabhai 0.49.101-1Nalin Dahyabhai 0.49.100-1Nalin Dahyabhai 0.49.99-1Nalin Dahyabhai 0.49.98-1Nalin Dahyabhai 0.49.97-1Nalin Dahyabhai 0.49.96-1Nalin Dahyabhai 0.49.95-1Nalin Dahyabhai 0.49.94-2Nalin Dahyabhai 0.49.93-1Nalin Dahyabhai Nalin Dahyabhai 0.49.92-1Nalin Dahyabhai Nalin Dahyabhai 0.49.91-1Nalin Dahyabhai 0.49.90-1Nalin Dahyabhai Florian La Roche Nalin Dahyabhai Nalin Dahyabhai 0.32-1Nalin Dahyabhai 0.31-1Nalin Dahyabhai 0.30-1Nalin Dahyabhai Nalin Dahyabhai 0.29-1Nalin Dahyabhai Nalin Dahyabhai 0.28-1Nalin Dahyabhai 0.27-1Nalin Dahyabhai Nalin Dahyabhai 0.26-1Nalin Dahyabhai 0.25.1-1Nalin Dahyabhai Nalin Dahyabhai 0.25-1Nalin Dahyabhai 0.24-4Nalin Dahyabhai 0.24-3Nalin Dahyabhai 0.23-1Nalin Dahyabhai Nalin Dahyabhai 0.21-1Nalin Dahyabhai Nalin Dahyabhai 0.20-1Nalin Dahyabhai 0.18-1Nalin Dahyabhai 0.16.1-1Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai 0.11Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai 0.10Nalin Dahyabhai Nalin Dahyabhai Nalin Dahyabhai 0.9Nalin Dahyabhai 0.8.2Nalin Dahyabhai 0.8.1Nalin Dahyabhai 0.8Nalin Dahyabhai Nalin Dahyabhai 0.7Nalin Dahyabhai 0.6- fix findings from static application security testing (#RHEL-35578) - translation update (#RHEL-12111)- Man-page update - Resolves: rhbz#2070941 - small typo in lchage man page- Actually apply the patch from the previous build - Resolves: rhbz#1670997 - Amend the user lifecycle auditing- Resolves: rhbz#1670997 - Amend the user lifecycle auditing- Resolves: rhbz#1608321 - [libuser] RHEL 8.0 Tier 0 Localization- Resolves: rhbz#1637398 - libuser-python3 should be renamed to comply with Packaging Guidelines- Resolves: rhbz#1602600 - Please review important issues found by covscan in "libuser-0.62-14.el8+7" package- Resolves: rhbz#1608321 - [libuser] RHEL 8.0 Tier 0 Localization- Resolves: rhbz#1558151 - libuser needs audit events around the account lifecycle- Use 2048bit keys in tests - Resolves: rhbz#1611729 - [RHEL8-S-BUILD] libuser Fails Scratch Build on rhel-8.0- Drop the fakeroot dependency - Resolves: #1581448 - Remove fakeroot from libuser in RHEL8- Do not build python2-libuser at all in RHEL-8 - Resolves: #1559103 - libuser: Drop Python 2 subpackage(s) from RHEL 8- Rebuilt for switch to libxcrypt- Update URL: and Source: to point to Pagure instead of fedorahosted.org Resolves: #1502354- Add Provides for the old name without %_isa- Python 2 binary package renamed to python2-libuser See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild- Fix FTBFS on Fedora 26+ - Add patch to fix issues with -Werror=format-security - Ensure that the python 3 tests use a locale guaranteed to be present- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild- Rebuild for Python 3.6- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5- Update to libuser-0.62 Resolves: #1246225 (CVE-2015-3245, CVE-2015-3246)- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild- Update to libuser-0.61, notably adding Python 3 bindings Resolves: #1014555 - Filter out libuser plugin and Python extension Provides:- Rebuilt for Fedora 23 Change https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild- fix license handling- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild- Fix the -2 change, %check should fail on test suite failure- Include test suite output in build log on failure- Update to libuser-0.60 Resolves: #910774, #985569, #1008825- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild- Update to libuser-0.59 (CVE-2012-5630, CVE-2012-5644) Resolves: #928846- Always use secure_getenv() or __secure_getenv(), fail build if neither is available. Patch by Viktor Hercinger .- Update to libuser-0.58 Resolves: #844140, #854236- Update to libuser-0.57.7- Drop no longer necessary %clean and %defattr commands.- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild- Update to libuser-0.57.6 Resolves: #803840- Update to libuser-0.57.5 - BuildRequires: openssl, the testsuite needs /usr/bin/openssl- Update to libuser-0.57.4 Resolves: #788521- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild- Wait up to 30 seconds for slapd to start in the test suite- Update to libuser-0.57.3 Resolves: #717116, #724986- Update to libuser-0.57.2 Resolves: #671494 - Reenable (make check)- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild- Use %{?_isa} in Requires:- Disable (make check) to allow parallel 32-bit and 64-bit builds- Don't default commonName to gecos if it is empty Resolves: #670151- Update to libuser-0.57.1 Resolves: #668855- Update to libuser-0.57 Resolves: #497333 #610172- Handle matchpathcon() failing with ENOENT Resolves: #631717- Update to libuser-0.56.18- Change default crypt_style to sha512 Resolves: #629001- Update to libuser-0.56.17- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild- Provide LU_VALUE_INVALID_ID and id_t validation in the Python module Resolves: #610838- Update to libuser-0.56.16.- Update to libuser-0.56.15. - Drop no longer necessary references to BuildRequires- Update to libuser-0.56.14.- s/%define/%global/- Update to libuser-0.56.13. Resolves: #251951 Resolves: #454079 Resolves: #456373 Resolves: #456382 Resolves: #530513- Update to libuser-0.56.12.- Update to libuser-0.56.11. Resolves: #454091 Resolves: #456267 Resolves: #456270 Resolves: #487129- Fix nscd cache invalidation Resolves: #506628 - Preserve timestamps during (make install)- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild- Update to libuser-0.56.10.- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild- Rebuild for Python 2.6- Update to libuser-0.56.9.- New home page at https://fedorahosted.org/libuser/ .- Autorebuild for GCC 4.3- Add support for SHA256 and SHA512 in password hashes Related: #173583 - Fix file locking on some architectures - Rename sr@Latn.po to sr@latin.po Resolves: #426584 - Address issues from a review by Jason Tibbitts: - Remove default.-c, moving the provided functions to libuser proper - Remove the WITH_SELINUX build option - Move Python library test to %check Resolves: #226054- Add the usual "there is no upstream" notice.- Rebuild for openldap bump- Rebuild with openldap-2.4.- Fix uninitialized memory usage when SELinux is disabled- Set SELinux file contexts when creating home directories, preserve them when moving home directories Resolves: #351201- Work around spurious error messages when run against the Fedora Directory server - Fix error reporting when creating home directories and creating/removing mail spool files Resolves: #318121- s/popt/popt-devel/ in BuildRequires Resolves: #277541- Split the Python module to a separate subpackage (original patch by Yanko Kaneti) - Update the License: tag- Update the last password change date field when changing passwords Resolves: #243854- Allow specifying a SASL mechanism (original patch by Simo Sorce) Resolves: #240904- New release with updated translations- When changing passwords, only silently ignore know shadow markers, not all invalid hashes Resolves: #225495- Tighten the API and implementation to avoid corrupting number-like strings; the module interface ABI has changed Resolves: #226976- Fix inconsistent PyObject/PyMem usage (#220679)- Update to support the 64-bit API of Python 2.5 - Drop the quota library and Python module- rebuild against python2.5 - follow python packaging guidelines- Add importing of HOME from default/useradd Related: #204707- rebuilt for unwind info generation, broken in gcc-4.1.1-21- New release with updated translations- rebuild- Configure without --enable-gtk-doc to fix multilib conflict (#192715)- Fix bugs in handling of invalid lines in the files and shadow modules - Fix pattern matching in lu_*_enumerate_full in the files and shadow modules - Add more error reporting, return non-zero exit status on error from utils - Use the skeleton directory specified in libuser.conf by Python admin.createHome and admin.addUser, add parameter skeleton= to admin.addUser (#189984)- Fix multilib conflict on libuser.conf.5- New release with updated translations- bump again for double-long bug on ppc(64)- rebuilt for new gcc4.1 snapshot and glibc changes- rebuilt- Fix crash in lpasswd when user is not specified (#174801)- Avoid using deprecated openldap functions- Rebuild with newer openldap- Support importing of configuration from shadow-utils (/etc/login.defs and /etc/default/useradd) - Add libuser.conf(5) man page- Use gmodule-no-export in the .pc file- Make sure attributes with no values can never appear - Fix crash in the "files" module when an attribute is missing - Use hidden visibility for internal functions, remove them from libuser/user_private.h; this changes module interface ABI- Permit "portable" user and group names as defined by SUSv3, plus trailing $ (#159452) - Don't build static libraries- Rebuild with updated translations, add missing translations.- Allow empty configuration values (#155402)- Ignore nss_compat lines in the "files" module (#154651) - Autodetect Python version (#154096) - Add BuildRequires: libselinux-devel, s/BuildPrereq/BuildRequires/- Fix adding objectclasses to existing LDAP entries (#152960)- Add Requires: glib2-devel to libuser-devel (#152501) - Run ldconfig using %post{,un} -p to let RPM play tricks- Don't silently ignore some I/O errors - Don't include a Cyrus SASL v1 header file when libldap links to v2 (#150046) - Rebuild with gcc 4- Important bug fixes in lchage, lgroupmod, lnewusers and lusermod - Minor bug fixes in lpasswd and luseradd - Add man pages for the utilities (#61673)- Export UT_NAMESIZE from to Python (#141273)- Support UID and GID values larger than LONG_MAX (#124967) - Fix updating of groups after user renaming in lusermod - Allow setting a shadow password even if the current shadow password is invalid (#131180) - Add lu_{user,group}_unlock_nonempty (#86414); module interface ABI has changed - Miscellaneous bug and memory leak fixes- rebuild against python 2.4- Make error reporting more consistent, more verbose and always on stderr (partly #133861, original patch by Pawel Salek) - Mark strings previously blocked by string freeze for translation- Fix home directory renaming in ADMIN.modifyUser (#135280) - Further Python reference counting fixes- Fix memory leaks (#113730) - Build with updated translations- Fix compilation without libuser headers already installed (#134085)- Allow LDAP connection using ldaps, custom ports or without TLS (original patch from Pawel Salek).- Fix freecon() of uninitialized value in files/shadow module- Usable LDAP backend (#68052, #99435, #130404) - Miscellaneous bug fixes- Don't claim success and exception at the same time (#133479) - LDAP fixes, second round - Various other bugfixes- Allow documented optional arguments in Python ADMIN.{addUser,modifyUser,deleteUser} (#119812) - Add man pages for lchfn and lchsh - LDAP fixes, first round - Avoid file conflict on multilib systems - Call ldconfig correctly- Don't attempt to lookup using original entity name after entity modification (rename in particular) (#78376, #121252) - Fix copying of symlinks from /etc/skel (#87572, original patch from gLaNDix) - Make --enable-quota work, and fix the quota code to at least compile (#89114) - Fix several bugs (#120168, original patch from Steve Grubb) - Don't hardcode python version in spec file (#130952, from Robert Scheck) - Properly integrate the SELinux patch, it should actually be used now, even though it was "enabled" since 0.51.7-6- Fix various typos - Document library interfaces - Build all shared libraries with -fPIC (#72536)- Update to build with latest autotools and gtk-doc - Update ALL_LINGUAS and POTFILES.in - Rebuild to depend on newer openldap- fix is_selinux_enabled call- rebuild against python 2.3 - enable SELinux- Turn off SELinux- Add SELinux support- ldap: set error codes correctly when we encounter failures initializing - don't double-close modules which fail initialization - ldap: don't set an error in cases where one is already set- use a crypt salt consistent with the defaults/crypt_style setting when setting new passwords (#79337)- rebuild- expose lu_get_first_unused_id() as a package-private function - provide libuser.ADMIN.getFirstUnusedUid and libuser.ADMIN.getFirstUnusedGid in python- fix not freeing resources properly in files.c(generic_is_locked), spotted by Zou Pengcheng- degrade gracefully - build with --with-pic and -fPIC - remove unpackaged man page- translation updates- doc updates -- cvs tree moved - language updates - disallow weird characters in account names- automated rebuild- files: ignore blank lines in files - libuser: disallow creation of accounts with names containing whitespace, control characters, or non-ASCII characters- refresh translations - fix a heap-corruption bug in the python bindings- bump version - refresh translations- ldap: cache an entity's dn in the entity structure to try to speed things up- rebuild in new environment- add missing buildreqs on cyrus-sasl-devel and openldap-devel (#59456) - translation refresh- fix python bindings of enumerateFull functions - adjust prompter wrapping to not error out on successful returns- be more careful about printing error messages - fix refreshing after adding of accounts - ldap: try to use a search to convert names to DNs, and only fall back to guessing if it turns up nothing - files: fix an off-by-one in removal of entries- refresh translations - fix admin() constructor comments in the python module- automatically refresh entities after add, modify, setpass, removepass, lock, and unlock operations - remove debug spewage when creating and removing mail spools - files: fix saving of multi-valued attributes - rename MEMBERUID attribute for groups to MEMBERNAME- files: fix bug in removals - ldap: revert attempts at being smart at startup time, because it makes UIs very messy (up the three whole dialogs just to start the ldap stuff!)- fix thinko in dispatch routines- lgroupmod: fix thinko- rebuild in new environment- move shadow initialization for groups to the proper callback - rework locking in the files module to not require that files be writable- expose lu_strerror() - add various typedefs for types used by the library- add removepass() functions- lchfn,lchsh,lpasswd - reorder PAM authentication calls - include API docs in the package- ldap: finish port to new API - sasl: finish port to new API (needs test) - libuser: don't commit object changes before passing data to service functions which might need differing data sets to figure out what to change (for example, ldap)- bind the internal mail spool creation/removal functions for python- renamed the python module - revamped internals to use gobject's gvalues and gvaluearrays instead of glists of cached strings - add enumeration-with-data functions to the C library- require linuxdoc-tools instead of sgml-tools for rawhide- fixup build files to allow building for arbitrary versions of python- link the python module against libpam - attempt to import the python modules at build-time to verify dependencies- fix a file-parsing bug that popped up in 0.29's mmap modifications- quotaq: fix argument order when reading quota information - user_quota: set quota grace periods correctly - luseradd: never create home directories for system accounts- add da translation files - update translations- add an explicit build dependency on jade (for the docs)- HUP nscd on modifications - userutil.c: mmap files we're reading for probable speed gain - userutil.c: be conservative with the amount of random data we read - docs fixes- apps: print usage on errors - lnewusers.c: initialize groups as groups, not users - lnewusers.c: set passwords for new accounts - luseradd.c: accept group names in addition to IDs for the -g flag - luseradd.c: allow the primary GID to be a preexisting group- add ko translation files - files.c: fix a heap corruption bug in lock/unlock (#51750) - files.c: close a memory leak in reading of files- files.c: remove implementation limits on lengths of lines- lusermod: change user name in groups the user is a member of during renames - lgroupmod: change primary GID for users who are in the group during renumbers - ldap.c: handle new attributes more gracefully if possible - add ru translation files- rename the quota source files to match the library, which clears up a file conflict with older quota packages - add ja translation files- add lu_ent_clear_all() function- close up some memory leaks - add the ability to include resident versions of modules in the library- fix incorrect Py_BuildValue invocation in python module- stop leaking descriptors in the files module - speed up user creation by reordering some checks for IDs being in use - update the shadowLastChanged attribute when we set a password - adjust usage of getXXXXX_r where needed - fix assorted bugs in python binding which break prompting- install sv translation - make lpasswd prompt for passwords when none are given on the command line - make sure all user-visible strings are marked for translation - clean up some user-visible strings - require PAM authentication in lchsh, lchfn, and lpasswd for non-networked modules- print uids and gids of users and names in lid app - fix tree traversal in users_enumerate_by_group and groups_enumerate_by_users - implement enumerate_by_group and enumerate_by_user in ldap module - fix id-based lookups in the ldap module - implement islocked() method in ldap module - implement setpass() method in ldap module - add lchfn and lchsh apps - add %d substitution to libuser.conf- finish adding a sasldb module which manipulates a sasldb file - add users_enumerate_by_group and groups_enumerate_by_users- luserdel: remove the user's primary group if it has the same name as the user and has no members configured (-G disables) - fixup some configure stuff to make libuser.conf get generated correctly even when execprefix isn't specified- only call the auth module when setting passwords (oops) - use GTrees instead of GHashTables for most internal tables - files: complain properly about unset attributes - files: group passwords are single-valued, not multiple-valued - add lpasswd app, make sure all apps start up popt with the right names- actually make the new optional arguments optional - fix lu_error_new() to actually report errors right - fix part of the python bindings - include tools in the binary package again - fixup modules so that password-changing works right again - add a "key" field to prompt structures for use by apps which like to cache these things - add an optional "mvhomedir" argument to userModify (python)- finish home directory population - implement home directory moving - change entity get semantics in the python bindings to allow default values for .get() - add lu_ent_has(), and a python has_key() method to Entity types - don't include tools in the binary package - add translated strings- lib/user.c: catch and ignore errors when running stacks - lusermod: fix slightly bogus help messages - luseradd: when adding a user and group, use the gid of the group instead of the user's uid as the primary group - properly set the password field in user accounts created using auth-only auth modules (shadow needs "x" instead of "!!") - implement home directory removal, start on population- fix group password setting in the files module - setpass affects both auth and info, so run both stacks- make the testbed apps noinst- fix errors due to uninitialized fields in the python bindings - add kwargs support to all python wrappers - add a mechanism for passing arguments to python callbacks- stub out the krb5 and ldap modules so that they'll at least compile again- don't bail when writing empty fields to colon-delimited files - use permissions of the original file when making backup files instead of 0600- finish implementing is_locked methods in files/shadow module - finish cleanup of the python bindings - allow conditional builds of modules so that we can build without all of the prereqs for all of the modules- add error reporting facilities - split public header into pieces by function - backend cleanups- make %{name}-devel require %{name} and not %{name}-devel- clean up quota bindings some more - finish most of the ldap bindings - fix a subtle bug in the files module that would show up when renaming accounts - fix mapping methods for entity structures in python- get bindings for prompts to work correctly - clean up some of the add/remove semantics (set source on add) - ldap: implement enumeration - samples/enum: fix the argument order- clean up python bindings for quota- finish up python bindings for quota support- finish up quota support libs- start quota support library to get some type safety- start looking at quota manipulation- add functions for enumerating users and groups, optionally per-module - lusermod.c: -s should specify the shell, not the home directory- finish the python bindings and verify that the file backend works again- remove a redundant check which was breaking modifications- finish adding setpass methods- get a start on some Python bindings- make binary-incompatible change in headers- add doxygen docs and a "doc" target for them- add a "quiet" prompter - add --interactive flag to sample apps and default to using quiet prompter - ldap: attempt a "self" bind if other attempts fail - krb5: connect to the password-changing service if the user principal has the NULL instance- the great adding-of-the-copyright-statements - take more care when creating backup files in the files module- add openldap-devel as a buildprereq - krb5: use a continuous connection - krb5: add "realm" config directive - ldap: use a continuous connection - ldap: add "server", "basedn", "binddn", "user", "authuser" config directives - ldap: actually finish the account deletion function - ldap: don't send cleartext passwords to the directory - fix naming attribute for users (should be uid, not gid) - refine the search-by-id,convert-to-name,search-by-name logic - fix handling of defaults when the config file is read in but contains no value - implement an LDAP information store - try to clean up module naming with libtool - luseradd: pass plaintext passwords along - luseradd: use symbolic attribute names instead of hard-coded - lusermod: pass plaintext passwords along - lgroupadd: pass plaintext passwords along - lgroupmod: pass plaintext passwords along - add libuser as a dependency of libuser-devel- initial packaginglibuser-python30.62-26.el8_100.62-26.el8_100.62-26.el8_100.62-26.el8_10.build-idf3f23b55d473448535512bf276a816cb32a36a8clibuser.sopython3-libusermodules.txt/usr/lib//usr/lib/.build-id//usr/lib/.build-id/f3//usr/lib64/python3.6/site-packages//usr/share/doc//usr/share/doc/python3-libuser/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2x86_64-redhat-linux-gnudirectoryELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f3f23b55d473448535512bf276a816cb32a36a8c, strippedASCII textR RRR R RRRRR RRRRutf-8c9ec4686c57894985346e9bafa8d9bad5c837066cd1a21830c5ad9d06adf878f?7zXZ !#,!_N] b2u jӫ`(y0g,cιV8ʸ2݆7ʵEh~m_0%`hR>3;jGKۤFN f^XWD}Hd,/2sx?hG{xqjS^wR光e-x H㙜Hďebr-bV躺[vL"K6U \45[&;A=1Aos!ܮi %w==}5{{˿r|7TL6KM۟0H+l'گרLd/a+O vgPyW,H9ci\u/;*+$VHC8?B*lu$x?JWY* m?!vk#9yWO'] _QDQs5diW8uL#3Z>ԡK۔)4 {VOtPj\Yճ(e*}\cEfȄiE60kڿLG"1:Mbk0MeV΀N[f!)(IS!P/m'0X04tq{G-.u.⛆B'*M`O83JTN{ͯY;pּAEfU]`RcF M>ۛJFE0-] _#Qq!3e%m i[b<g)?AZUo1`֑,P xid\n]w%emS/}S=[B%Llɢ{'c͏젷𭿄2.Iw83Ϳ]͜J`Q]W^E BDM)٢CmQܺ>[z$cs4 ߷y#( r<ٱdsJ)M&3!S_1e>H-mZ4.8r0=TҪ JdrJy|m5*Z3aˊFJ0g%bp рV&^()`e cX'irTļ3O,)f3n=}ΚvMu1*BzA[[% ,ﶴ& `^6HoP e7lXp16SV$^+d|cRn'0կ_2Za~IE}ΡF(ۓ-']὜I}3.F|/P^#eH8%d8hyήbPlgj[Vv?p:Ӡ 5l$jaU٨!MXpfb}z"v b=S I<H.k{&JcQvgϰgm8#;U?7 V[Uַz2à[HLX XHšWkߌ8soVՌiFV| 17FmLk}>?3sUaE=IصQLAe}~wFys31F!%}Qdzg*P5^WZ֌cfTig+kr$^;4"ʚ3%;5 Ѵ,+$]bUWc.s3p?Z<TgIڹ/ t?b ֡=$mhg>&bCCSh=Z2i6QOf}9X3hFN:%ޞ؃O*[8y*uCwetխ>'jAl9Pk M wMWU7v3mѢT4!w{HCg ͩZD.y8 ٕB}OM΢sT~ݿrN3Xb-6 SDl|m5D$]HvOG;JjSTc[Dox0ML}6,H~CeӠ]rK/7簂dƅѝoêDu|%01b&R#/qXU9-8#oW##ix[HQOG%"WFQ)V1CSSڼ X3u\1%B4,E@䴅ǡ41qlwx=7zhʪV T\h@=.e&+fm[ؑ,fXî5;!=-p^*&c4[S$e5>.K&e`G#=!YR ɶ2 O.PtКPx Ok*DA4bKYi~VuFfLHyHkA/`q󯽾N=7yh :(mbrzއ>T'PPIL?mF_O:O!,$qmS3ރfU]86=WWB_gz!W=eAMb EdQ0()˞n+e506pk}tmTc9깅nTN۽D;_{Foxj)/ /izG*!!ÊUe4{Os*xvc\Dm@$Bp=^Vm݈,uӐ<9 %bAWi]{57hI:ۢkN^R7M@w0xvp:z<0U04bIy',=LPr9މp_׵Ze4)Fd:8[TDTjv`Fn;C&(ȳ!pĉH`{י~1dZ*)w>FyIg94@?I &Ggx4Ρ *مwM5Cv k(;kA pͨh<+9Giߠq (gܽG>9ƪC} σyװt8M+o4]V70-a%pL>:WK=Z0g1û eRq/g |+e8:GДa'*5{ĝ&R[h̪iO5B&gyc2qk6{; "؃;J;;լLq`pybWr,xk6iCWх꼿6)GYxg4`ZNbR.o`jD@َ5N`aoX\ư( ˳E -y N9qR5+w:Ɛ~kNm|@JJ}$Cm_DZuDڸ0D<:QWLA4=䵉„\r !}bç2- P_,7Hѧ; =ISoNS̩ ' 񇶗fIo=p m|Wq)mrL}w# k5Sd}\AK lk\%w"m[Qኡ*I@!D~~09fIQFc-S5H IXt k5'uPA5{|M0BsҤCk/2!o9^S_/1-sܸgtVSРH4`cm9I 88n?'"iell8(:d^xt#~کJTF 'ߎ> 7O{^Q7n]gމqaР񀈂ƺ^a҅.r1T:10twl•H-(WI0LňV%NBe3]65[ xIsOY-3x {Ȅ*ceJ.-?MK0hP{42z0>~l=18AC= y Ғ'X3TA7ʵX#j!qW)$3 ⁑{5ȵOS9 4yĤgvp $)tĉzM20`P-_{NEٙ')Gs&%QX^I@9>iϨ@͌]rņ~=Rb289{[0.ȑ|  )&XQ2_'IĽ) )&<(LQͪGv%@PE-TT]ɳЫH)~vV#5QTO;K`t1D,&u%cE**R(E-3O Z9ugx ӳݔ2N1iY`'_ƱVEEEsaέNQ?ĜHSR|EVaW0ۅJ]#J:|~"q.L4)tvs>`٣oS&i͍8py^kZ+(",E'Mv.H,эQ&_!6 򝢀<6Eka%Q1Q*)?y28A7^O}$,_51\94ݲI\ػ##{!ԑZbi1 fS̰YW[R;>\ndE}|}7+%w#bdDZ6F._5~ 1ʖ[*̋e6EI/d]ʄJS#Sc0=ȩ{i-- ѥ|IjЉJ$4Q!i-Ǯ/*h5td@cv "F˱+IkP"`k lhsO<JƓIp(ݬs1gkƌzfe  KZmqV)jv$bpM8A) ӽ&{))7&M$\x.Q}t.h/d*EY`,>nWI;x8s9RL Pq꥓՟8quz!؉V[g9dإhw\b=SDtaƈ3 Ca׋Z {lB16Jy?Q,>GIloNXpր(r{4g-ަVev 1lP]'r/sb$氉jNDZ0;.vsZ$U`hB% i$sA L-RDQ]Mwɛ|t'EOV^ 7D-bcd萠S;WJ#mY 1YZ(w _a,X~0#Vd^5"}ϯ;2POœ-y BE+HAv tNC*~#Ejz/h5Z6/L*gl `x,B^N)Y=x)\w%N4(춚UnT;yWE8mt;@:? @_ #jm=| ]g @T o e'瘟yov ~FLZYrbVe X _΃d=ռ\e:;1XG\m~` (59_C&T"U=Z$Yo뱰M)c`{՛9t YZ@"L 3^b-gկR5S2Q`iB.]\;:wc>_:PNRh.LL›]5:K7.8)i g4a~=,&,y\ ^b\ o#UgE4v;$67W՝K*iY CI[=Օ ZO$A-Sڀ9'w̜RWe{_1 CdrI[Ik(8]=ePr+"(`R6vc|_c bo{]8jwoz i:Jce<| d%Ż$%Et]9I# 9b?wC:Ib ] i4xڠб΂V}N3Z\7vhIȉ$/KnCƍIP >,f2?07.>q!CLZ'} _ ݆hzEMTΜ2̾~JeR]JJ܃:ah< _ e|FC\= rƜV/9t8%YͳNU϶SaZ|Uex;OdG_d=:eR Ԏy;lʌwm*j}lIu gA-oGSbcx7E- G ^:rYr.maCB4G34'fyY`3R;9Wn6:XS4i%%n+=t^V)knX cZM$ƟOWNhRCuMKp%k_ IZ]i^E :Yxp+T 4.^Љyt^畷@ԼUU`<"%)N^dVB:<0ȥoqkO9#P04u *$#h$@{C˯HsI*(%\ȩrrF%1`h%hnsւpr]0>#y;hB$ޥ(H"lp(QÄUfZ+wa-*]nοAMCc2,Z+qewO KXٲVKMUf>]O_-E6tlY&NQG;t`lJвEr +'+.X^xNSv{>'H"[{Cܡ_~%|¾eHj= Xx/g'v\5+,TpT!g%w>.}+g? !9bVy;k|T3nߖ"$j w|M8aK|鋢p1aAi?^%ť"T IoZS1iU.a譡.FgY_ P"VF^zM/=ߖ"u6V+bJݔ{(ƭڟ!ɼ|E `RApnB} k7jQqö9m{&A9шH{:<0Jkrjp#$L]&c1p~r꡻4wos8|k}ʼ0mR깘s'Ōo3V`Lȫs +SF VVF5ASXvg)YU>񶢀6D?AW ^wa4AjRrcF~~<+A<ڑ7uW`֥SFnOMV?fKr X}_;n4x^$KZ(ЏlC$-a-sI a{dHlb0.W;2-Q,fKw2&aKxl3EhSr{%5X4t4d:w6P RTjIeL#%Zڎw@sk5 Er^\4!<%{^+Eg+`+/r&rBڙa_8[q \0O%DF>ELq9€agrX1%@*ݪֲHRoVMmaN^B%7bOZl= c;YO3sYg6='NW!<;uVpM,g!hPCքa5.y</>!udKb1zz`9_<yCژMp:ޫl/p$!176~Y? XT8kFZxM~L{}.2:A|Q]z9)(fAF(Syv,KŮ"u7;c<]2 2vfUI`KU^]l MnYU fJbb,E&ˆVC_8#6Tyn%J̛| Vu F*¿C8GFOyDF"S,r D%kMDКhDq ˑv¼q-_(f=ɂ T$e{S3eޅ*CfE?9d 1$xu=-$#,Ƕ&U'X1KGXAgzHba\Sai. pxX4`so$0vi}.;C ?P^IjvkgKg@|ޡ f})6c~C,_fuT5sakS&qϘ PD" PEK"N>P7)HL(HQh{k\BH粄8R:LAQ+o&1Pi]|W"7Qo z!ܜOKWWN0b! 4kS bUŶ8 |^}$o"oCu{(5'ѐȇYc7`pO\QL)!}2z\\V8Ϊmݳ_*׃FOibh@1A~8c`WazC6Q\ +=nִJ }r;sC% tvVys?H8quybtnpںؙ%sJ5\Y6n .yְCˡ14AAEZf8.cX8%g>9cM n}rq*$r<'6Ó&tDm+X<j׀@2їůi)nxDѦ7W1zCb&Q0mqsh)E|[,]nٔn[&ªw XHTbޘQ7ﯩipY?''M-DWpk(9=)#W ;AA r:#p'<+)f* %YlF/XtckjjCao1ѺK-+c쬝RF;ݲZņƉ 4injp=/#(ur9mbF.{٦=OYu|1wʊ76~G=^r`8Zfġ4,3Za]Ad#ǧF4;bmYMCV{$ \ x_^ lrpYMU(%̎+2k\46PdWU Vc6B_%tFw'K9Ju"m1CqKs\6A;UX&hn6:Deo#s_7 #ؔP3m5 9cNwWЕ. 218f_JOg=ՙZ2="[YpR Gh"dͨ`US,8: 󍐗;!4Rg&Q+cGuiNfhʇ *_*NY =_ӢEV(K< ȳnmcQ@.ԠBkYJU![Y$.I_ zCiP[b}ZL5U0mfb)Ei薡MS Eĸ輩EiE2Zs' Mz-$4BK@(+yqI4X iFpYwf : rc[O#Zg,Tp}yYB]6u-KM!9 ؙZMhZvt{ BOyN|qȡjUl"\2 /7&jZ}V(~q=` (*h]5\@gn~vk @fQ ڙC |AJMK BN:; ;5lh(G~XY68MVE*]hܮ&0x>Iƍ 7jߨU#wPbi9[s#Pp  B>)Mh{[Zb(<K؝7!4GSUtP%FQ\ V")tqZY kgr732}`]zZbv@-a'%Xژ*^*:oZL(rZ7Լ OAZx91V7DžMd#pR['oşpyz$ #D .1lǵ\V Uj[Jkvnمi'waQT͙мgѮdžwP 㞝lgD}jTPȡ nVCԼ'1 T"DNIriY>3.WT6~6F!4Fa",/Um:H JgxM%_=n:z TbȘsz4-D%5-#sIa"R}E6sz#J`{ ̅,صvqzs ܠ5T:+w2>uomQkkҟm:\4ɐY}4< ^c%~!d=[\8T#HԢ,nrv-~g`/=@p)ig3{YmV{rAרU!LR( ՞]BGjb1qa8-bxMؒ5C|iSFc8ʕ^a &yTuM(!>? es]>-#E޶jYok.:lq[[1s^.:Zbͧ`>O6eQ ϷJg!v /غK\2 ޱ; [{ j=)GYPkx+;* gbGrYr3!cbgfSLwJ$ `H0צn=8 lQڔOq$١EbAEC2NP3ӍN/:װnM^ o Dj{l},<ΌHThTt )>6 GcR3(jDj8c`UITFT8(E8^αf{sHcHZҶ9,lEnь# !v -q|g UC#:%A5n,%| @U7P3[+k}0x}c띅x f D X_%Pj$O&wy)''7s8AɵJB_&vOײc?0X >"}Iv ReA}MLdȨ8ae5%Yو E(T9Dah:{Ez⼺'ƌ"MSq <ܱ%3)?td ƃ]m'M[c($@VOz>bG gD׳;(!cϥcui6廮۶ S츳xru_@4`Щ)4q>yw0Ȝfv\\){f1 `ԫ |"{ /a%SCe+㞛/i 7ԈF׾䔣곍"p(Sz>/~Ĺ 4J(ME7/.n@chN>7îx[g3E wit7w*,Wd `uT8tJ9>r=8c&SiL bī!%^+@PpAV ,V[~0,h>Y>jrad}g YۥW{]_2pƩd^FuABæmBl|ġ)r 1wSH BяI( `c(4g$S6:jj &W.ߤMg2 B*lHVɛ4g ZiuOT,  zIqKEHipdy2WsW#.;]HYA- adTY[$S6f<7j93$>{dbɷuܝIr^}  XtQrzJ%/qTM6{/&EYKZka$] Ft+8X]4N$1w)֭`YЎy3-}aUap]̐J"fϛ5«a eXe6_vx(Rt߭uqL?͖Ս[qhcC]-fZPɗA)[QPOL.vgF+)I tOڗ./>`A_q#^y1U|"Б?DÃVSRU]>/Z|~TKIZcZH]p(8yH p)a4,iF& ڻ%oB /Aӥk2ש NwYiT2aOPhU`խ|K08N7R<FI ӽL Kc/~u)(j)^"Hxvl({9 dcSY0WShbH",X3 hػ,#lN8bi'Mpn'cw U,~ӐAƆCѐ/d&02eO9=OS9 hqNYI .,U _uݓjj=[ vuN*szҔY]KU;TnLʅ",wQZ/ ގ+5"Ow*J~?_.CNsxC~ '. *N`iTOpj/dD+}Ơt | p [%([)V*^yPV,,V @R6Wqn@ e9"8<\]iGp`OY=eGm>G>-dl@kJ7ȏ*<EI,ac@%Q;lXGnY&.A@eRJ9pAy~b@'r"SH."tQLDm@g^Sg= -&EMt4b̤g<sTQmHHۢ99ی }wb:jtmаR11?$A3& xDQ"a`Pk'LOP .h$|OxH vTN@0k0"PFAYj+<>z&L5_[8ɿjC$U:)͓g#S7(1NS>jeSmޞmy|&`uu9ְT]b!6s~_h21[ F/H?4^[`u#]!&BU]$KٗaO,W/t2FlϳCǻ0z b=Of%-tQ["aIdnъk|P!ѻ] ;x"Qل@J1u[OMeQbvұA&]9cWz9(ޥi:DwgЮ;_B.l\oy ypr)R&2ͣJ~=WeEZ Q<'Xs8n٬f;%1忕WoUo쌺&ex j&;ݽvYb?ǘ笈yտ}p }:*}zI#AشkPRD Nމ*U*-Ux˸Ѡ5FSO &phM{J$(}w:<Y(x06ʡNʻ%qʊ_,E+?)PX:(a2fQ?XS,Gc[#Jߵ1^iFNf5W5JacYfVA> c=C(5ǭぃB`ff80|}-߲4iR(MkV)?L*؟^AHOq9eq*tU=$e&LeT(!;O[Nt?El6d3vMj'{je8B)Fk+f51YD<;8uwDs-$ʃl̿q/-෦)҃1qS (m4Zo;j)߮=+ʡoc7JA\ E "P5 t.n1(pC94hy2Xim u>LP?R/Iuy]4Heq-c 9I'/Jrzq9hz跲(/)VQyu6+aR֩,Gr7I%UDǡ}HBf#qcq8ln OM9@>w6ld)+^ *|:o֤DIr-UfŹ])vXp;Fo"[H⑌qQ$%l:mgb>b0Aw4fZ1 2wHq; 'ܧea+Բ3Z͵|3'eLaz9y=ItKW=R*} \ &E _Ng((NT:"@>wXO=.)_2jzICbJm2 `|No(k| kX"Bs;O YZ