libqb-tests-1.0.3-13.el8_7 > 6 6_6 3!pQp)Tξ7]mtZ`c ]mtZ`B رfP |qVB}PŽc>W_,TbN :S CHfЙj=pRoxALG)N|r0#R0u_-;?c3ʛ|<EcZ7E'~ز$jQ0Ȗ :WrK=x9$oz=C))t@Fo,NG";Ƶ,mcT QKA<[h6o vVyF'L3}o64Z6f8b4905b1b0c4826e6314895af24eeec5a1b50e85069bd8a4dc9eaddd1a4e62db3c18e11e012a30adb6e9598175cfed29464f5d|3!pQp)Tξ7]mtZ`c ]mtZ``R 1G\u(rJO}W/$B̚=!@?e\dPVV' uQ,vя  I /QH#^uD7PA`o7a߫Aӣpo$m7Son]!a>˛]oP[ͮLFTæ()]'Q0Yj,dcjmpP-e(70X5  b.fNASwQQB4b짼Hޫ:c=PuVX<#$z6+& E?-QFe9$gWܗjt7.Qj7yLʼn)%msN]58>Oas@ 鐳9-- n`[lsL7e}x:, 5 YDL&7NH,FޜW=쑖1-f`bR5 `-,-(a]k<" /zL>p<?d  2lp !! ! $! !  ! !,!! v !  8  ( A8 H@9 H@:a@G !H!I!X8Y@\`!]!^b>deflt!u\!v w !x!y([Clibqb-tests1.0.313.el8_7Test suite for libqbThe libqb-tests package contains the libqb test suite.c>ord1-prod-x86build004.svc.aws.rockylinux.orgrKojiRockyLGPLv2+infrastructure@rockylinux.orgDevelopment/Librarieshttps://github.com/ClusterLabs/libqblinuxi686)(0(*1'()>.T.p@>L>_AAAAAAAAAA큤A큤c>c>c>c>c>c>c>c>c>c>c>c>c>c>c>c>c>c>c>c=c=c=c=c=c=c=c=c=c=c=c=c>Zf3a6b95e7a0753c269becf885afaa2197f736d039a2f0360a3cf19f5b4df2feca5301002308dae6512cfa4a377a13da627a1048137e7a216cbf672d13e937c8f5c376dc60928d510fd90903b95e7553ab93fb8749d49ae6eb3e59639bfb154af09d29b35515d39e65464a7a208537f29601a5ad7970148ca0eb6c33dc42954316ea74faa160eea6fb8741b160486a2442a16785f46046b0485f513864b9fc6b11b885acf135cc5d40a9f6361e325859a7d6c230bdce5e012829732c855e98533327158003913683a5997feedd7fd3782af6bbc7aabc37f406f2cb839bbc34b03d3ddebf3308d38d6c8c3bddc49edaf2dc6ce1bbfa7b7f163a84f8725c5a03629348f9a96b1213005605496a50ee6ba73ba9d72653325b0e30f7b684a64c895674f3b45b9c92601ab8ab0fca6a279f293edbad1dc48ce06055d68dfc89fbaf25c67cb3a0b646c6aa8663d7dcc8e23a1a1a99a331f66ec66237f9cfd9c0ab2d19c25271ebd8aaa1f00c7feb93bd52e7ef5903b73db27fdc2b12a9e4140f3ce3b5100a89b0d18aacd4114decf79122db87bf35bddaf2bc50e383c9c9f4c263390b2../../../../usr/lib/libqb/tests/util.test../../../../usr/lib/libqb/tests/map.test../../../../usr/lib/libqb/tests/crash_test_dummy../../../../usr/lib/libqb/tests/log.test../../../../usr/lib/libqb/tests/array.test../../../../usr/lib/libqb/tests/file_change_bytes../../../../usr/lib/libqb/tests/rb.test../../../../usr/lib/libqb/tests/ipc.test../../../../usr/lib/libqb/tests/loop.testrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibqb-1.0.3-13.el8_7.src.rpmlibqb-testslibqb-tests(x86-32)@@@@@@@@@@@@@@    @/bin/shlibc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1)libc.so.6(GLIBC_2.1.3)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libcheck.so.0libdl.so.2libdl.so.2(GLIBC_2.0)libpthread.so.0libpthread.so.0(GLIBC_2.0)libpthread.so.0(GLIBC_2.1)libqb(x86-32)libqb.so.0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)1.0.3-13.el8_73.0.4-14.6.0-14.0-15.2-14.14.3c^\F@\@\@[@[^[{@Z@Z}@Zz@Z;@Z/Z ,@YeY|YB@YYdYp@Y@@YKY@YJY@Yx@Y@X@X8'WW@V=@V@Ua@SvS@SS@SQMQPPoPoPPy@PM@P@O@OO\O:LO1@O/O"O (@ON@N_sN\N$ @Md@MQ0@MF@M0:M)@Christine Caulfield - 1.0.3-13Christine Caulfield - 1.0.3-11Christine Caulfield - 1.0.3-10Christine Caulfield - 1.0.3-9Christine Caulfield - 1.0.3-8Christine Caulfield - 1.0.3-7Florian Weimer - 1.0.3-6Christine Caulfield - 1.0.3-5Adam Williamson - 1.0.3-4Igor Gnatenko - 1.0.3-3Fedora Release Engineering - 1.0.3-2Jan Pokorný - 1.0.3-1Jan Pokorný - 1.0.2-15Jan Pokorný - 1.0.2-14Jan Pokorný - 1.0.2-13Jan Pokorný - 1.0.2-12Jan Pokorný - 1.0.2-11Jan Pokorný - 1.0.2-10Jan Pokorný - 1.0.2-9Jan Pokorný - 1.0.2-8Jan Pokorný - 1.0.2-7Jan Pokorný - 1.0.2-6Kalev Lember - 1.0.2-5Jan Pokorný - 1.0.2-4Fedora Release Engineering - 1.0.2-3Fedora Release Engineering - 1.0.2-2Jan Pokorný - 1.0.2-1Fedora Release Engineering - 1.0.1-2Jan Pokorný - 1.0.1-1Jan Pokorný - 1.0-1Fedora Release Engineering - 0.17.2-2Jan Pokorný - 0.17.2-1Fedora Release Engineering - 0.17.1-2David Vossel - 0.17.1-1Fedora Release Engineering - 0.17.0-4Fedora Release Engineering - 0.17.0-3David Vossel - 0.17.0-2David Vossel - 0.17.0-1David Vossel - 0.16.0-1Fedora Release Engineering - 0.14.4-2Angus Salkeld - 0.14.4-1Angus Salkeld - 0.14.3-2Angus Salkeld - 0.14.3-1Angus Salkeld - 0.14.2-2Angus Salkeld - 0.14.2-1Angus Salkeld - 0.14.1-1Angus Salkeld - 0.14.0-1Angus Salkeld - 0.13.0-1Angus Salkeld - 0.11.1-1Angus Salkeld - 0.10.1-1Angus Salkeld - 0.10.0-1Angus Salkeld - 0.9.0-2Angus Salkeld - 0.9.0-1Angus Salkeld - 0.8.1-2Angus Salkeld - 0.8.1-1Angus Salkeld - 0.7.0-1Angus Salkeld - 0.6.0-2Angus Salkeld - 0.6.0-1Angus Salkeld - 0.5.1-1Angus Salkeld - 0.5.0-1Angus Salkeld - 0.4.1-2Angus Salkeld - 0.4.1-1Angus Salkeld - 0.4.0-2Angus Salkeld - 0.4.0-1ipc: Retry receiving credentials if the the message is short Resolves: rhbz#2151300Correctly set socket directory permissions when qb_ipcs_connection_auth_set() is called Resolves: rhbz#1836146Avoid deadlock in IPC connections Resolves: rhbz#1718773Improve security of SHM files used for IPCs Resolves: rhbz#1714854- Add RHEL-8.1 gating tests Resolves: rhbz#1682119- Remove linker magic in the logging code. Resolves: rhbz#1615945- Rebuild with fixed binutils- Rebuild with newer binutils (hopefully to fix pacemaker/corosync linkage issue)- Rebuild to fix GCC 8 mis-compilation See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64")- Escape macros in %changelog- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild- Update to libqb-1.0.3, for list of changes see: https://github.com/ClusterLabs/libqb/releases/tag/v1.0.3- Evolution of the previous (rhbz#1478089)- Evolution of the previous (rhbz#1478089) - Make -devel package dependency on the main package arch-qualified- Evolution of the previous (rhbz#1478089)- Evolution of the previous (rhbz#1478089)- Evolution of the previous (rhbz#1478089)- Evolution of the previous (rhbz#1478089)- Evolution of the previous (rhbz#1478089)- Evolution of the previous (rhbz#1478089) - New test included in check phase (as per upsteam)- Evolution of the previous (rhbz#1478089)- Better approach so as to mitigate changed treatment of orphaned sections in ld.bfd/binutils-2.29, resulting in logging facility silently out of order (rhbz#1478089) - Related to that, build commands now shown in full to ease the sanity checking - Adapt spec file per the upstream version (conditionalizing build through --enable-syslog-tests no longer relevant since v1.0.2)- Bump and rebuild for an rpm signing issue- Mitigate changed treatment of orphaned sections in ld.bfd/binutils-2.29, resulting in logging facility silently out of order (rhbz#1478089)- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild- Update to libqb-1.0.2, for list of changes see: https://github.com/ClusterLabs/libqb/releases/tag/v1.0.2- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild- Update to libqb-1.0.1, for list of changes see: https://github.com/ClusterLabs/libqb/releases/tag/v1.0.1 - Move qb-blackbox manual page from libqb-devel to libqb (where the utility itself resides)- Update to libqb-1.0, for list of changes see, in order: https://github.com/ClusterLabs/libqb/releases/tag/v1.0rc1 https://github.com/ClusterLabs/libqb/releases/tag/v1.0rc2 https://github.com/ClusterLabs/libqb/releases/tag/v1.0rc3 https://github.com/ClusterLabs/libqb/releases/tag/v1.0rc4 https://github.com/ClusterLabs/libqb/releases/tag/v1.0 - Adapt spec file per the upstream version (drop defattr statements, autogen.sh call with %build, conditionalize build process) - Add gcc as an explicit BuildRequires (required per the new guidelines) - Do not depend on the rpmbuild-imposed man page archiving method- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild- Update to libqb-0.17.2 + fix check_ipc tests, for list of changes see: https://github.com/ClusterLabs/libqb/releases/tag/v0.17.2- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_RebuildFix: ipcs: Correctly allocate receive buffer size Fix: ipc_socket: Signalhandler must be resetted to Default, use only cleanup_sigpipe to return from qb_ipc_dgram_sock_setup. Fix: trie: allow modifying the trie map during the notify callback Fix: fix invalid option when run 'ipcclient -h' Fix: epoll: don't miss poll events under high load Fix: ipc_shm: fix error handling in qb_ipcs_shm_connect() Fix: ringbuffer: fix size in qb_rb_create_from_file() Fix: ringbuffer: fix qb_rb_open_2() debug format string Fix: trie: fixes regression caused by ref count refactoring Fix: ipcc: Properly timeout during recv when timeout value is provided- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_RebuildFix testsuite timing valuesFix: build: Allow 'make rpm' to work with lightweight tags for release candidates Fix: spec: reference correct url in spec file Doc: update broken doxygen link to something that exists Bump version to 0.17.0 Low: ipc_socket: further optimize max msg size calculations for fbsd portability tests Low: ipc_socket: Allow socket max msg size to be calculated more accurately Fix: fixes travis compile time error Low: tests: Fixes compile time issue with make check High: ipcs: Prevent ipc server use after free. Low: ipc: Remove ipc connection reference given to dispatch functions High: ipc: Fixes memory leak in server connection accept when client partially connects IPC: Increase the listen backlog of IPC server Low: ipcs: Clarifications to the ipcs server callback documentation. Fix rb.test to avoid overwriting memory during reading. Low: example: Update client/server example to use server enforced buffer size Low: Client side buffer retrieval regression test Feature: New api function to retrieve client buffer size Low: check_ipc.c: Verify server enforced buffer sizes work Feature: Enforce buffer size limits on the server side Low: regession tests for regex log filters Feature: Filter logs using regex patter on function, format, or filename ipc_setup: Set SO_PASSCRED on listener socket Fix: log: Filtering by function and file must match exactly, no substring matches Low: blackbox: Abort blackbox logging on ringbuffer overwrite reclaim error High: ipcs: Api function allowing server to retrieve client connection's ipc buffer size Low: ringbuffer: Abort during chunk reclaim if OVERWRITE flag is set and reclaim fails. High: blackbox: unique blackbox ringbuffer files per pid Low: ipc_socket: Fixes fd leak in socket ipc client disconnection Use sizeof to get the correct size of the sockaddr_un sun_path member in a portable way. Fixes corosync on Mac OS X. Detect the max signal value that can be used using NSIG macro Avoid double-decrement of level->todoBump version to 0.16.0 ... do not use version 0.15.0 Update release gpg sign key Bump the version to 0.15.0 Merge pull request #83 from davidvossel/master Low: ipc_socket: Output send event failure as debug instead of error Low: ipcserver.c: Fix example server's glib mainloop implementation High: ipc_socket.c: Detect EOF connection on connection STREAM socket Merge pull request #81 from davidvossel/dgram_max_msg Low: tests: Add dgram max size detection test Low: ipc_socket.c: Handle the unlikely event of an EAGAIN or EINTR during dgram max size detection Merge pull request #82 from davidvossel/master Fixes detect disconnect on send for tcp example Fixes sem leak Fixes less-than-zero comparision of unsigned int fixes double close Fixes double close Fixes double fd close Fixes fd leak Prevent use after free in benchmark util Fixes use ater free in shm disconnect Fixes use after free during ipcs client disconnect Remove dead code Low: check_ipc.c: Verify dgram max size during tests High: ipcc: Add abilty to verify dgram kernel buffer size meets max msg value Fixes travis build error Merge pull request #80 from davidvossel/master Low: check_ipc.c: fix debug message to only display once. High: ringbuffer: Make max_size of ringbuffer accurate so shm ipc max msg size value is honored Low: ipcs: For shm ipc, always retry outstanding notifications when next event is sent Low: tests: Added test to verify sending ipc msg equal to max size succeeds Merge pull request #79 from davidvossel/master Merge pull request #78 from davidvossel/master Fix: ipcs: Fixes compile time issue reported by travis Merge pull request #77 from davidvossel/stress_tests_fixes Low: loop_pool_kqueue: remove potentially noisy dbug statement Low: tests: rework bulk event msg ipc test Account for fbsd ENOBUFS during stress test Low: tests: Adds ipc event stress test to testsuite Low: ipc_socket: In fbsd send() returns ENOBUFS when dgram queue is full, this should be treated similar to EAGAIN High: kqueue: Properly enable kqueue filter in poll loop Low: ipcs: Attempt to resend outstanding event notifications during event send Merge pull request #75 from davidvossel/ref_count_cleanup Low: qbipcs.h: update ipcs connection iterator documentation Merge pull request #74 from davidvossel/ref_count_cleanup Fix: ipcs: Disconnect shm ipc connection when poll socket returns error on msg receive Fix: ipcs: Properly disconnect client connection on POLLNVAL or any other error causing connection removal from mainloop. Simplify internal ipcs ref counting, add comments and document api behavior Simplifies connection ref counting without changing behavior Low remove ref-count error in example ipcserver. Merge pull request #73 from davidvossel/ref_count_cleanup Merge pull request #72 from davidvossel/master Low: tests: Verify reading valid blackbox file works Fix: refcount leak Fix: ringbuffer: Add file header version field and detect reading corrupted blackbox files using hash value Fix: tests: On some platforms -ECONNRESET is returned rather than -ENOTCONN after server failure Fix: tests: Make blackbox_segfault.sh not depend on bash Hopefully this is the last travis link fix Fix travis icon (travis is case sensitive) Fix the github links Merge pull request #70 from yuusuke/fix_logging fix a problem when the character string beyond the number of the maximum characters is passed Merge pull request #68 from r1mikey/upstream Add a IPC service context pointer and accessors from both the connection and service level. Enable distcheck on the travis tests Add atomic_int.h to noinst_HEADERS Use the new atomic ops in the ringbuffer Add internal support for the new __atomic gcc builtins Rename the configure macros from atomic to sync ringbuffer: use atomic ops on ringbuffer chunk magic Remove some test code mistakenly committed to the example program. IPC: make each connection ref the owning service Indicate when/why qb_rb_force_close() fails to remove share memory files Typo fixed in configure Fix "make srpm" Remove doxygen from travis deps to try and get the job working. Fix make distcheck Merge pull request #60 from t-matsuo/fix-makefile-of-tests add file_change_bytes into check_PROGRAMS and fix a typo Deal better with corrupt blackbox files. Merge pull request #58 from inouekazu/fix_connection_state_checking IPC: fix the connection state checking LOG: copy the function/filename for dynamic callsites Deal with /dev/shm issue on Travis builders Properly discover SO_NOSIGPIPE and MSG_SIGNAL IPC: fix call to QB_SUN_LEN list: don't splice empty lists onto the head. rpl_sem: make destroy more compliant test: fix unused-but-set-variable warning test: fix missing-format-attribute warning RB: make the "sem" abstraction into a notifier IPC: clean up the connection state checking Use dgram sockets for message oriented communications IPC: don't interpret EMSGSIZE and ENOMSG as a disconnect POLL: prevent a spin if the fd is not removed from the mainloop add TAGS and ~ files to .gitignore docs: install qb-blackbox.8 if doxygen is not available. IPC: seperate ipc_us.c into 2 files IPC: move utility functions to unix.c IPC: make sure we return a consistent error when the message is too big.- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_RebuildLOG: prevent the last char of the blackbox message from getting lost. Example: make the blackbox example more practical. Add the processing which remove notifier at skiplist_destroy function Add the processing which remove hash node and notifier at hashtable_destroy function Unify to QB_TRUE/QB_FALSE a boolean value Document the default prefix in INSTALL Unify the list processing with qb_list function Add travis link to the readme. Fix return code which is an error occurred at pthread function TEST: add a progam to compare the speed of vsnprintf and qb_vsnprintf_serialize LOG: add a test for a padded hex int. Fedora's splint has a strange syntax error, don't fail on it. LOG: fix truncation in some messages that get padded. Fix the blackbox formatter when specifing the string len/precision Fix strlcpy and strlcat functions IPC: don't over log on disconnect Make sure we don't use the format string whilst it is getting changed. ptrie: deref the current node in trie_iter_free() LOG: fix the format comparison to avoid generating multiple entries. LOG: set the return code when calloc fails IPC: call poll if we are mid message and get EAGAIN Remove extra ";" IPC: set the error more correctly when qb_sys_mmap_file_open() fails. Make sure that mmap'ed files smaller than a page size are written to. example/test: check for error in qb_ipc_run() example: check for error in qb_ipc_run() TEST: fix typo s/,/; in check_ipc.cFix test code highlighted by new check version Remove the call to autogen.sh - not needed anymore.IPC: Pass the timeout to poll() if the recv function returns EAGAIN LOG: make the format comparison safe and sane LOG: don't break on empty callsites, just ignore them LOG: use the array callback to register new callsites array: add a mechanism to get a callback when a bin is allocated Solaris based operating systems don't define MSG_NOSIGNAL and SO_NOSIGPIPE. Make sure atomic's are initialized (for non-gcc atomic).Fix a crash in ptrie if you iterate over the map in the deleted notifier.Get libqb building on cygwin. ipc_us: slightly more robust cmsg handling ipc_us: on Linux, set SO_PASSCRED on the sending socket too ipc_us: clear request unused fields TEST: Include writing and reading the blackbox in the log_long_msg test LOG: fix qb_vsnprintf_deserialize() blackbox: fix 64-bit big-endian issues Remove IPC_NEEDS_RESPONSE_ACK and turn off shm ipc on solaris Define unix path max for openbsd Only turn on ipc_needs_response_ack=yes for solaris Some improvements to kqueue usage. kqueue: drop log message to trace. Fix splint warning openbsd requires netinet/in.h before arpa/inet.h Avoid strcpy() use strlcpy() instead. Fix kqueue complile warnings openbsd doesn't have EBADMSG openbsd has a different UNIX_PATH_MAX LOG: change qb_vsprintf_serialize() into qb_vsnprintf_serialize() TEST: increase timeout to 6 secs as the recv timeout is 5 secs TEST: get the logic right - grrr. Turn off attribute_section on netbsd Some missing pshared semaphore checks Cleanup the checks for pshared semaphores Add a config check for pthread_mutexattr_setpshared Remove uses of timersub and use qb_util_stopwatch RB: change the #error to ENOTSUP if no usable shared process sem LOOP-KQUEUE: fix reference before assignment. build: fix libqb.pc creation and make maintainer-clean LOG: Make sure the semaphores are initialized. build: remove bashism in cc support check Catch disconnected sockets on Solaris Don't free rb->shared_hdr in qb_rb_create_from_file() Check error return of qb_ipcs_uc_recv_and_auth() Fix removal of automatically installed doc files when building rpms Add the mailing list to the travis email notifications. Work around debian not setting the arch path in splint. Remove color-tests and parallel-tests automake options. Add travis continuous integration config LOG: Invoke custom log filter function if tag changes tests/rbwriter: don't ignore write failure ipcs: avoid use-after-free for size-0 || disconnect-requestRB: set the new read pointer after clearing the header (#839605). RB: improve the debug print outs RB: be more explicit about the word alignment RB: cleanup the macros for wrapping the index RB: use sem_getvalue as a tie breaker when read_pt == write_pt RB: if read or peek don't get the message then re-post to the semaphore RB: convert the rb_peek() status into a recv like status. RB: use internal reclaim function IPC: use calloc instead of malloc to fix valgrind warnings Upgrade the doxygen config. Fix a valgrind error.LOG: fix threaded logging. Add user control of the permissions that are set on the shared mem files LOG: Restrict string trucation during serialization to when a precision is specified LOG: Gracefully fail when the caller exceeds QB_LOG_MAX_LEN LOG: Observe field widths when serializing string arguments RB: use the same mechanism in reclaim as read/peek to detect end-of-ring Add needs_response_ack option to ./check RB: fix wrong sem_flg IPC_NOWAIT option TESTS: fix warning about unused functions Remove D_FORTIFY_SOURCE from check. Open shared mem file in /dev/shm only for linux Don't use msg_flags on solaris (recvmsg). Turn off attribute_section on solaris ipc example: add -e (events) option IPC: if the server returns EAGAIN or ETIMEOUT the check the connection LOG: make it possible to fsync() on each file log. IPC: make sure that the created callback happens before dispatches LOG: fix the printing of %p in the blackbox IPC: On bsd's use the notifier for responses IPC: interpret ECONNRESET and EPIPE as ENOTCONN cleanup some warnings config: use newer AC_COMPILE_IFELSE() blackbox: fix %p formatting LOG: put all fields in the blackbox (added priority and tags) example: make the priority uint8_t Remove strerror out of check_funcs RB: fix compiler warning. Add replacement function stpcpy Add missing AC_TYPE_UINT16_T to configure.ac Use AC_FUNC_STRERROR_R and STRERROR_R_CHAR_P Add stpcpy strcasecmp to the check_funcs Move some conditional defines into code (from the configure script) Remove some unused configure checks Remove message queues Check for union semun properly Blackbox: provide more space for log messages when reading from the blackbox. Add the blackbox reader manpage to the spec file Enable error logging for the blackbox reader RB: Read the file size into an initialized variable of the correct size Add a tool to dump the blackbox. RB: to be safer save the read and write pointers at the top of the blackbox avoid unwarranted use of strncpy: use memcpy instead blackbox: fix the print_from_file() RB: add an option to not use any semaphores LOG: tweak the blackbox format string LOG: accept NULL strings into the blackbox LOG: protect close and reload from calling log Add benchmark option (-b) to examples/ipcclient TEST: make rbreader/writer more like the other benchmarking apps IPC: log the connection description in all logs TEST: re-organise the ipc test suites IPC: only modify the dispatch if we get EAGAIN Correctly display timestamp in blackbox- Remove unneccessary __attribute__ ((aligned(8))) from internal headers - IPC: add a new function to get (and alloc) the extended stats. - Revert "Add the event queue length to the connection stats." - IPC: cleanup better on a failed client connect. - IPC(soc): be more consistent with control struct size - IPC: kill a compiler warning - IPC(soc): pass in the correct size into munmap() - TEST: Use /bin/sh not /bin/bash - TEST: check for lost shared mem on bsd too - rb: cleanup the semaphores - Fix some small issues in ./check - Cleanup the .gitignore files - configure.ac tweaks - Remove HZ and use sysconf instead. - SUN_LEN() macro is present if __EXTENSIONS__ is defined on Illumos - PF_UNIX is a POSIX standard name - Test for log facility names - IPC: drop log message to debug. - IPC: fix retrying of partial recv's and sends. - IPC: initialize enough shared mem for all 3 one way connections. - IPC: keep retrying to recv the socket message if partially recv'ed (part 2) - IPC: keep retrying to recv the socket message if partially recv'ed - IPC: handle the server shutdown better - IPC: handle a connection disconnect from the server better - IPC: make it possible to send events in the connected callback. - Add the event queue length to the connection stats. - IPC: add a is_connected client side function. - Fix typo in ./check - docs: clarify the need to use request/response headers - Remove unused local variable - IPC: change the socket recv function to read the response header. - Add some special commands into the ipc example - TEST: improve the tracing in the ipc tests. - Make "make (s)rpm" work more reliably - TEST: add a test to confirm we get the events we send. - TEST: reuse send_and_check for events. - IPC: make it possible for a root client to talk to a non-root server. - Run ./Lindent in the examples directory - Add some debug code to the ipcclient example - IPC: make sure ipc (socket) clients can connect to a server running as root. - IPC: allow qb to bump the max_message_size - IPC: check for a sane minimum max_message_size - add rpl_sem.h loop_poll_int.h to noinst_headers - Handle errors more consistently - call recv_ready on socket types - Handle a recv of size 0 - make bsd shm path better by default. - Fix kqueue on freebsd. - Get the example socket includes right. - Fix kqueue compiling. - POLL: seperate out the poll/epoll and add kqueue - Test existence of getpeer* functions - Add inet header to tcpclient example - Don't link with setpshared if unavailable - NetBSD doesn't have semun defined - Use MADV_NOSYNC only on systems where available - Use SCHED_BATCH only on platforms where available - Fix a bug introduced by the bsd patch. - Cleanup the selection of semaphores to use - Fix some leaks in the logging. - Try and improve the portability on bsd variants.- configue libqb to not use epoll as it seems broken (#800865) - LOOP: remove some old timerfd code. - TEST: add a test to check the order of the jobs - LOOP: when new jobs are added they are added to the head instead of the tail. - LOG: Now the array is self locking we can make the lookup array dynamic - Add locking to the array when growing. - IPC: make the _request_q_len_get() function more obvious. - IPC: fix multiple receives from qb_ipc_us_recv() - IPC: make sure that the wrong union member is not written to. - TIMER: check for null timer handle Wed Mar 7 2012 Angus Salkeld - 0.11.0-1 - ARRAY: cleanup the pointer sizeof() - LOG: turn off __attribute__(section) for powerpc (not working) - TESTS: move the util tests into "slow-tests" (i.e. optional) - TEST: make the test_priority the same type as in the callsite - LOG: make the log arrays manually grow-able since we need to lock the calls. - RB: fix test failure on ppc - RB: change the name of the size to word_size to be more clear - TEST: add some more signal tests. - LOOP: fix deletion of signal handlers when they are pending - LOOP: signal handlers were always added as high priority. - TEST: deal with mac's limited sed - check: add debugging to the configure options and remove unused options - TEST: properly clear the filters - LOG: expose the mechanism to get a dynamic callsite. - Revert part of my COARSE grained timer commit - Remove timerfd usage and go back to timelist. - UTIL: if possible use COARSE resolution clocks - they are much faster. - ARRAY: save memory (in the bins array) and allow holes in the array - LOOP: add qb_loop_timer_is_running() - LOOP: allow stop() and run() to be called with NULL loop instance. - LOOP: fix doxygen parameter comment - LOG: add stdout target - LOOP: add a function to delete jobs - LOG: remove debug printf's - LOG: remove an old/incorrect doxygen comment. - LOG: add a hostname %H format specifier. - LOG: Add qb_log_filter_fn_set()- Fix "make distcheck" add include path to AM_CPPFLAGS - Bump the version to 0.10.1 - clang: Remove unused code - TEST: make the ipc failure test closer to corosync's case. - RB: add a debug message if trying to read a message of the wrong size - IPC: split up the recv into chuncks of 2 seconds. (#788742) - Be more consistent with the internal logs. - LOOP: make it possible to pass in NULL as the default loop instance - RB: use the proper struct not the typedef in the implementation. - RB: Fix potential mem leak - Don't mix enums (QB_TRUE/TRUE) - use random() not rand() - Remove dead code - set umask before calling mkstemp() - Use safer versions of string functions (strcpy -> strlcpy) - Increase the coverity aggressiveness - TEST: make the loop ratelimit test more forgiving.- LOOP: handle errors from the poll function - LOOP: make the item type applicable to jobs too. - LOOP: fix the todo calculations. - TEST: check for a single job causing a cpu spin - LOOP: prevent jobs from consuming too much cpu. - Get coverity to ignore this warning. - Change example code to use fgets instead of gets - LOG: pass the result of qb_log_thread_start() back to the user - Fix some issues found by clang - Add clang-analyzer check - Add a split timer to the stopwatch. - IPC: merge common code into new function - IPC: better handle a disconnect been called from within connection_created() - IPC: fix scary typo - IPC: fix server error handling- Fix a spin in the mainloop when a timer or poll gets removed When in the job queue (#787196).- Rebased to 0.9.0- fix qb_timespec_add_ms()- Rebased to 0.8.1 (#771914)- Rebased to 0.7.0 (#754610)- LOG: fix the default syslog filter- Rebased to 0.6.0 which includes (#734457): - Add a stop watch - LOG: serialize the va_list, don't snprintf - LOG: change active list into array access - atomic: fix qb_atomic_pointer macros - LOG: allow the thread priority to be set. - Fix splint warning on ubuntu 11.04- Rebased to 0.5.1 which includes: - LOOP: make the return more consistent in qb_loop_timer_expire_time_get() - LOG: add string.h to qblog.h - Add a qb_strerror_r wrapper. - don't let an invalid time stamp provoke a NULL dereference - LOG: move priority check up to prevent unnecessary format. - rename README to README.markdown- Rebased to 0.5.0 which includes: - new logging API - support for sparc - coverity fixes- SPEC: improve devel files section - SPEC: remove global variables- SPEC: add procps to BuildRequire - SPEC: remove automake and autoconf from BuildRequire - SPEC: remove call to ./autogen.sh - SPEC: update to new upstream version 0.4.1 - LOOP: check read() return value - DOCS: add missing @param on new timeout argument - BUILD: only set -g and -O options if explicitly requested. - BUILD: Remove unneccessary check for library "dl" - BUILD: improve the release build system- remove "." from Summary - Add "check-devel to BuildRequires - Add "make check" to check section - Changed a buildroot to RPM_BUILD_ROOT - Document alphatag, numcomm and dirty variables.- Initial release  !1.0.3-13.el8_71.0.3-13.el8_7  .build-id0ff502a528c37612844f1eee8e766eaa8c35b3091a0d09ecb53c01233f3eb81ae04e2dfa7798c2d83a1056d487452187fae4e8f6709df0c16a87603b511b601a9a3c1ba80ff8953a11acc9f55099aa126fb21fb7716ebd07c4acc49ef751634a44ddb1c57b9608bf8615140fad1d79949547caf9b22057cfa66e466e3c1a44a209da170ee5ff7a338f013981a9244426bb4b11526017ae8ebb211c1beb90607ec307436fcf151868ccccad029c8baa9775e6efd6array.testblackbox-segfault.shcrash_test_dummyfile_change_bytesipc.testlog.testloop.testmap.testrb.testresources.testtest.confutil.testlibqb-testsCOPYING/usr/lib//usr/lib/.build-id//usr/lib/.build-id/0f//usr/lib/.build-id/1a//usr/lib/.build-id/3a//usr/lib/.build-id/51//usr/lib/.build-id/6f//usr/lib/.build-id/7b//usr/lib/.build-id/a6//usr/lib/.build-id/a9//usr/lib/.build-id/c3//usr/lib/libqb/tests//usr/share/doc//usr/share/doc/libqb-tests/-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 -m32 -march=x86-64 -mtune=generic -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2i686-redhat-linux-gnu  directoryELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=6fb21fb7716ebd07c4acc49ef751634a44ddb1c5, strippedPOSIX shell script, ASCII text executableELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3a1056d487452187fae4e8f6709df0c16a87603b, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=7b9608bf8615140fad1d79949547caf9b22057cf, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a9244426bb4b11526017ae8ebb211c1beb90607e, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=511b601a9a3c1ba80ff8953a11acc9f55099aa12, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=c307436fcf151868ccccad029c8baa9775e6efd6, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1a0d09ecb53c01233f3eb81ae04e2dfa7798c2d8, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a66e466e3c1a44a209da170ee5ff7a338f013981, strippedASCII textELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=0ff502a528c37612844f1eee8e766eaa8c35b309, stripped '3=HRS   RRRRRRR RRRRRRRR RRRR RRRRRRRRR R RRRRRRRR RRR R RRRRRRRR RRRRRRRRRR RRRRRRRRRRR RRRRRRRRRR RRRRRRRRR RRutf-8a5d715e59e15c360a68e9082a8b86c3b82cb367636dd0781f00fa7d30d950cf0?@7zXZ !#,] b2u jӫ`(y.bH q8=2QVO*|SH(\i2=uvKͤ1HzvŢWtHOuxfT|hoQ?}(Z0Daf=a϶!t"IV⦁zu?G/K@nC kv6fVv vu?,S([\9 /;%nb)LIAXs%h~5Q Z[B>| ^4jX<@(* $8iɿEnP) z"B(?R.3 ou+F(h(wwq$ i, ;W#=A22,:7F9(_5i>cj 4gEte+usʑgR#JѢ</0}>f;Bɷ@l[)~ösZ5\Y@^q~mE0R],h"`)͝yX Q嫔.AISrqH␨D0Y_U?YZ44ν=D,,s wK/}lemdiwQ~NT8LYq=P8?tOTZ_rsh9*`9门5ԁ&$2eLTA`^tcf)0]=4ń~fcZP#0rTD hrXI<e'~Ұʌ|@UѭxAJ P-Bm>jx[ÅR#(㥵!0Ir9JPl\!<>9&@4CN)豿oe$f0̂6.t뮧gG<(>MYXpV.WR^-q?K 5uB%Q BGR~[3j-L?!l불haP}E1Qkc)콡{wdP߶DI!a8tz#6H9G% W YYx:y.,2耚TS$S=N#*gx63nhb _$U*1ʊwF׬.e%)zZskt.~Rߗ27S xX%+vJ<'@aR0t'rī 9D6Ѕec6|CQiiJ yqU<e+PtghGs2#l?M];ysKXTaV[1v!dKXS#`\ y9oRYLOFw}EW2Bٍy=Yesu^™Nj|Lo' jqfimQHILφv~iоsf؇#z6&oIH JۇĜ{0Ӑh(uq0s(/6iA 84NG)ȸ=iP; nUwq9[Xg{""eY6+: &pT(R<`D#肭'_.e\A Y]Ia 1E@l-_I I K){Th466Y@ 4ˍjŏ!Uꬬ{@M Ԕ=:nI.R)b/bAP ~p3 nh  QBv9 9O~lw9cX9BMnQR 5p(H/| J+UhrK[UǨ6upZ1򅲖@*Gck(#R)uy.ۯw q4>ǽl;\ K禛RW/896+*U/ȏqiE;o5Ik< OuWSXb`k񡢒Wt#cRέ >NEz jފٰ[1ЩO=O֓[;JlKN,9I[1K $UwGF q!>OE -b` iq+~|g p \B\bG5%PId?5Q='xh 2!K}uFi؍ԺfW슭]K*L[Ѳ|7P1v. 49cr& 4M),M p JQ*ןp *>26S 7=훞,Jz ڜjY=YL*.J@{hz {ƴKgq_qsK[B{+!Q;?tD9=FH 1?F LPՂڣ#Mݻ|W}߱EQp@\n; eBKaBz6`:T߱ۼc볹hy Ї'qjY| G?l0jcXFJMF2u2XE_ TX\+C1hXޒ[NL<9WBȥ۴bo[E};Rg+ҙK-bT5Sg7ȫaaT1q[7I2]"iOW[R;sN~B:Uɖ+T=\ʏ-[aX7a4I7֏~I.BTmΨzG?+bmJɈhF 2C;/^w0$bL$N.}K~ҾLm΃AVG 'tC)e I4RB[uC<_)dtJ!E|oul:b8V ffDsq?90z4o ~^χ|8fͺi fJox۾'Pk0 _2O[SaK_{;✸{g7]q+7 pM&xHOABJA͋XkG=XZS0'6#YQxARA`=g/JFT]6e#X*~$f9|b܀)4ځj17el `ğXuE^X^?cӘ䶃`f1ʴn ִZQ)Q&EH"] W6R OJK:ZR> `W3Ȼx&_Ib]%>e%ajrmV`_l֐w惾WC6F}ʺifBth+/E?N`Jx1!4 Ą @3fk8q\GmۮUp۵p7e)V)K e` n))"qPt ؒAPCRFj= ]N)71wX+dw /9m=r)j\cOV+/ݧG l't]PBx F^r^鹑bva`N* FĴsXA|BO;ٲzA/GX40[E8'ˇHy|f?i?PovJY 0Cˆ/9>Q2-hIM afr% (a]H+OK"&Kl`$ҎGQEVtίeXXk“벸:j|C"2bw FO0TEI6{Y/4Mo_?I,mSljhtiQHU KFݐH}uX5<3%U9q2"ˠl`ā$Xjgbe VW1o/4V[u`F1I۾LDތj,ު hRmP.3~0~,\ TPb@t~xk,w|V&/o&-b9 wX<sB J/^(#Qj#d?=b"@Yp/5 k5uwLe\8 _*sI%)t1N7_kAb,OVxدtE;)5@5:`Ub~Jɧ&v(2/|`X53}B3c`~E&^ݱQl#3Z8C%2Y,e/mM#,$2ĸzt ~JԒ)>܅1,ҨogK~Kn b*ysF?/O@MKF$Q'hVymuEQfIHڕ:pqs;p]s6o˰V\lΏQDY*#V 43d&_s1qyo- oWw(%|=Ywf >&C3ďӫkN,G'Hz0["Y߈0ND?>U1ɥ6Ub?*eZ]4s GŽîj$.[d'Z=vnz~< 2kB4uxfsT zc @ 13DBKFWIjLg%;Ac`Ɠ7v%;T5F؟{k&B>[toK?')|87Uf+yO. m_ [:čuU9SgHmw2<.xn[ 4M)/>Np [LDQm\:BWZ/w\n<]$н^-yY:m->h Eb}w#dhDo7?4|J*ů.{ŊB3>DB)/Wq50'=ЧjF`yT 2PK( ]a`j7#C~6sZEAJyZH@h> {q [iJ s/gJ:ֈ3 #uqt˄!@dHJ@ y<3eQmr#A4ݭ79ǵGUVZ#I{f,<į vJMmzPJʎA\8锭NQhB5Et2&*4piCXg1N;]!$B>e+euo XBO>.U)xKtԚ0P=0L44Od트 aDC#=ϥ\P}pj hD) ԊR[3NUò4)Ԕ>`x(["|i\<VA~̂(_*U:FP3z:cA7?lGU02*7;*4Hp" k'j-RGv,7E;&zq&@dUtjŅ=!P0s6qk~8NIHO˯-]b| 1i#pcWpn)Uَj$l  Ptnk(WK6R"A PjH9!pڑ[aEr`ٜMD H0ϖqSn̘mV6JT\*;$nS_#e6ʟ@4y+1暮zYHk] mf+XC!ն, D$;uj~!(`:Ge?{dArGLޢ񜡲٣0+RgH2+&\* Y;8v4Gků(=}rRJyRVObui =O8~ϐtY@x>Qlf9Ъ[3h)&1ȟhJSxGN)LٺҨ iXF"nf[(UNҚǎL+ZM2pI5@Ocn5I:Oh  $Q#IJ!guNvQ"R"K{S qU ƀvA1s7-jY#[^<A|dOSV!}sct|HX>H!1a/%&pcM-d歚m]d]Ǿ۬7L k=&/Br0j<ā|$5#8`hbJ%l!YW)ܴ=$JVW3iy[sxf33/UFkMJ (5|+teBR0^Xzb-^b t=w,`&vmWlW&^X@eڳq\%轃P@2<%<i05̆oF6H3 &?MՑ15p2uHu& 0+IT96/s~g|{QwŠ9+Mvk2|yR{J1DF]2Z)KPY3AGf%6梁STl 7eXz܎%6 u 7qGFpȒ6k)Ľ0a@[%ts'͸ C΀ sؗ@q|u%[bzP*Ð)nUܗrEP=O4kqYQ*l, 0®#7jM}9eWQ=tZF=5&H6/&iF#Jh%.8t}L[>Kdh#ٿTUD ǎ|>fFci+9 rs}SR„赵g8l * Ʀ5[L…#\NøgZnN_[X/]9B>6 DfJ$PNl &=)BnN(*뺅4ȼu71j3 }x}_|xuH߽nKUk̾5HpQFP&~wۡ(&o51f:t =l1jd:Ђ?p K49![HB9I{؞X~{^_݌fҍJ#YMƛV7o7c6x/-hu_);]1Y9Qkc)tF|=[)mu؋(ÔI$?8a3Mvld (]ϝ$lٍz`*Nh.GuxvQOez8rP<'2#YXϒ'fҾTIu,l\ å':)p ~!W7X0;ek̼)fj`۔N`86dO_ ]*W`1<xrm1쩅<H;ıJMHzSXO!%_Ӟ ;Ōt̻-=Ԁl0FJWZöM؜o";[BʗǃG`5Vou(I{#͒i@X7u0?-+^&p8!,QV,ø[gjx؃i mA vױEѳB .;}(&=0Tn~t=gqe,WՆH58jX cBmȚ0'΂/)WH4։>&.c;65NeћmGM\%$G)_:Q1ԲFZuE ,'0_y W؉dЗ.6>Xէq˜퐅c}2?ߜT 8T LvHxF'U,s[Dk[iqvK_BG*N|Z"o^ x7Mt˴6h hQ|8S۹1ӨngȽN[1en=DG ߹A6Ǵ5$:fW`$Tڏ< c"ALœs"1cu ijMgj)տx/C]G|O j#BkaP 1F5]l r"^/P˜3s.Gl"ChAȀD3tNQ=nzGgi{];L_ܡ<11Bh ))r Aٍ3 7Fs\^@ña*fT_η۸"l7 ʐEJFEYKьԡ H`!:cWvxĭ k!ƀ1Ek 1j^w@ޏdp=).LfyJtBqej-O޴ qo* ^Lۣ ~`f`tu8iPc$^4U=&8HIsQ0!W<Ému)r|X .UИK^ }-[~3/4 n@\ǶbB81ͫ7/*]oZP2= H,N}G-)%D7)@oܵuZX}hl[fH9X_b(np%MS%,\Zͬ4jZ8-F`Vv9doڭ!SxJ&>%cUMǁC*1ÿ k',f̡)xhiC`1X$(1:>#7 fdVȨItc8ַ۪Upa1|B\ ΋x,]V)~ z}C[3W󓠋WdAu4WF/7ehqS47uś=|!;Bf Z9:19{|f4kWH=Nx6x}OoՁmZe3,ުa09T늭iugد*͋qIbΠPۤ:6!&TpDSdF9!5qQnt_mK%~~֦tgeTNEn [`A. &+N(ѹH~Dz?`mӹnjKs}}rYUizQ&1av)J:749G Gb)4+9܈^xĨfq]/\39ji/9S'^7'ojZiJcg3(+].BQ#%;jCxW@ GN ?)WN KZ?ʲrG2wCn;_--Æ2֓7AOmd<6 ]R;"C^3KA!yzi M=ت%@S[XOiHpcJ)/'i{li#̾Ɗ:nPfq0r_>4k)mҪ:HQK!ҏ\@Bhe˫(:h~=.lZݻO+IY  N'Eo5Ƣk JxFr O dh=hkKwS,M{EGI kTB~IWwe$THpBt"BwD4yc g81CR -x@եVt$2D%zJY`= 0V h Q0o/ ɊqnMNkF=e03{,6u޵1cd7+q=F#z~)y(]\R*1NF*(:%x] {EDS@ŒdiW[ʼn[16RQ>-IVT]_ $'`r!> -t4 ˀ*7ێR*C %gO\svBSGeb!vC6NfiΪC %={VCaA`%Ablmk˲л3"[@[c:"D8`{I$;ܢf#Ml|3vkDŽ|ah:b]n L/$I]`^bjB-ބ- ⌏ud$+RMe pܬ!A[kŨ-2e%7hv>FEf;VC_cItxR|W4Id3X $$Z?ThwnyCOCz52%@Vr, @3r9 C\%Y8mA)y?On­!MEFIWNlr9-cjȊZaKF{\?\Gp5 G,,f<&aYEv`h2,4̜5HPzZ i X:Cgm7)88R.q$1Flpe=R@wE gjE4)$xASk_G!YJl ?" dN!ϗ(< fzpH(v=s\aIOJ:ZoN, ЩTncOmoEShZ dI!o# vN(lpx78"2$eoe\$_O 7&r,zaPfcD6o6VdN7g&j! F\ϯ%dd$ܺyj%nʛpj~MqEcMh ңΝ C?[)ʶ72K`IJסpqV;{>Lʲfdkcw8(7#.ljlWIݺƾ:+q 5 2Ym}a+kM<`%~G$/HسN`R 7yJߟKl_#Vy[Om_jE KAEQq,iԭ^Z fkCXBhw'(A-Nx&L~g3ek5Ozz0/Y==)NJK FfՔ/pW6#4\k()$N;5hĚE5FDaAcYKf.1c)x0c.Y;f tڠT$ɯFc3L]'ZWiK%F?-Iەyg3|,;ts[ALq̕`׋ g/* =(@"?Z[3 '`oPeE 8Ed֠LK?>`4;5FV֤Bw)R.exe#-\$uud+~8/Y H.'soC6,\!VEy#vnh'Ce[Skґ0MQn-ط@5'I֪@5'& =$<e7tXj>nW sWʯծ|FG%7W؃T=6GLH4Z٨Xy``],ϗi|=q둗CzQ&I&AW!$*Ÿ‘C4#v3&{,ۜ,3bs0rȥMJ0I8\muG4 EXPz%^5̔Zx B-.l<%}"^ cb+ ;C1$%㬭<*3L]pJB#"4N'd| ;J>E&Qx$lBc@aO&HhqAbKsbF8Q^v9 lCpA ]ўM5^\/S*T7 69Јk0T" EmlçO.E/'1hYyJk־N)ի7uu]g-ezN?5aӄ/@;ӄ8¼KrN53{/ 5fǪ۰aD V̲ɔIn}akU }]2kDZ|T/ ׿(C$}W5`d,7 vD<]_OcaJ>kHtQql./_vfҶ't-9kg6d,G%^]C,H3א;CnƨǖxW:ƏbǺuP4r=<:=%0{d$`φ;GqnmcCNXDpдf@jW^[4Yj2:"l83M*8ELȈ 6ᤒ'C=܎\`2$C$984wçР㧱R8!_ĚSamI8쌰tc}* ѯg #]6VdLK\JځXƛ2o@>u=vjׁLu+l&5]$S cXGB;'ǪDouٴ DVG5x`|D,v(rPqCUY.H> YFyCk15!XI@pe&|`ћ!;]e?tb3u-+Riy-hX_R:w::-2wUq OMP DӪmg}ݖ˛G$uw]4x9(K+J8&# FA6O?TO 2yxnʼn4 /Jhד`$d=$6Sc )%9O"* _kD{1ssaѭžLڜk9A"_gNa[VzY.RX_>tULHdd֫Gu9ew4q+Vc3gX@zѤn@({XOj7ΰb3uVX9HboT[>ĻnG@Lmѥ-0{|D.vͥJE`A r&QpMRӆ-Fe|o'a_!# 4jK!3U33wXzYC{zǶ1&`͇'`Eu1?(544QQ)!OFfr7%tϳͬkU^5yBs}yoτ'D%;$YCVftaT[S*ƃWxޏ۫ |M&ǦB/nyCO.˼t1t,Oy#dUJ6.ROEK0ש6dP;$ҦmpY?bW7KS3Z߅;+SvWS)StAyyP%EL6\5GnfJP*ί\\dp';1T-Tܥ& Qqj *^hQᆕnޭj(d]!ζZ тz1 dh(s1u$d.J^U…ᐦ09o_©]8$:bVlhU͸_[%q&sa¹;%?LwVVv o e{lwd9ֳ$#tm=c[p IԦ/ MA A>a)ᰘ. 堹M%^M\uS*{ h&]%1BEQ#gs P5jQܔuA>z5vJ"GVrJCb,F(}¶@B0 kb%*:{SXJ \3$=7mأ?FZj߱ EΟ2Ukg;>}W^* !]OuaMtqDu #CW,UVN ᡼f~E_;j hTqpDe]LoL-t'L_ x=,fYDy};.IJ+ <XT_3hd69Uh4/FgamY Jsb#*hSnBcitԩ&"N >>CR7Ji(rT8 E;KU!F%Nz mq|K;=_}haB]K?[{ n6:Ն^g#wNE /t8eW~>аM&¢qyGF n*CJ11-w߳,!yװ?uͧ\KRg&~M5eOsR]lϐc .Lg\QzWHބ-e3ZɹL*,ĆA|h5.j"EMz$&θEB={ᄑ6Qʬ^&SmiVeP xpCv$S $ q5 B4cE /eBNf0zxx#O')Y5mD[/ ŏdx+NؽL|d^k$1g59֕5Cߚ'c74 pI[6'v c*`5zyoֿ#^i+ Go*hQH5`dV?=2'K#<%xy}z>($@~`.HhtH\cklQ!`*(W,Pב鉶H]~W`i\XӛhM+kWZP_XVsQCD%RۚREwsMZ@߷ap ' ^%N LcAl`AW-ӻ]N[J _zڎ=uy?e=(P!:7__#m!SWB^5*e5%U뉈+DwX_$6I4Z C]>Բ'+u`N֎,ԛ[Ľ+W|#u\͉Xl<ݪRQɒs&73u*& aj>_x5d3xy]׭2n5AռlY{+H8~]G\6N #dNNٛxʺqWˊYMl!rGyJ(a8ڀ]wy6h " yN EFqR«v#Q60:+•.oƇ&C!B*4̠OMؔwEF8m.nFp[c:I1!Jʹ5POrB7y_>1³6I$Obx6#0 *~?dΊwx;0 B wE PqZ 4nqԌ8Dz o4; -;LOwN}Oe5QeS4_xf-EN:+oV]\<#u+j ej˵I6z/U|]t!DHdΎ}D>2M3e{^<> 01kF~1 T¼a6 ݀~E‡ e{luo}㎭A営FDCʞE+QCp!FF۷><3 .g0߄*z U ,֚z\!ږ; yy4<:R_D9!թyXiQy}hc~ILv^g?m֧=  .|V[0sOH>mL[6=&YoGCc'dZ]'c=]G }Ph(F kO>d"aZ4]+3㊑+À7J=\bQ^s-<3YH8ƽ\$Ay}M vBmj 8p&vLTAj(q˼%=-w{\@dA]g˕FfHK}򍠂meoR.ܘ񜺵.OAR뿹MBE9m`or{-aԙ>Z)IU hT R*E6G6WJ")IVs]ιلJY>%HtGvuc_dl!%+J َRɃ_.~E mg/_WFI>Rl%R;އ䵢sPQ+aRO.+aVxjkﶁ7z^%| mh@ڙΕܗ #٢ZPM5{<i>?:T! 2N[ufMQ 5.^sͦnJnd "@ᢻS7IUTeuGD=>bz1a^ .xX|#k\<;2->>{ SG iw/_?|mZ`K:6)yOv>|"+</s`E7B%lSP9] y[GݟՋXwYZw^E2rWFʫ4nd]yFE+ Җf,ZAKo/E b(o%w[e"| gޙ@"!~v>k E֬Cpៀblt8) AR?Z}I08d7!$@Z0D<~Y#7wWլhBݐ&sCl򒶯}_h6Ia5F.wuEp2W]e槑{$jY*37VH]>fmý=J7o .g_CQ^N=zt2< M%m> 'e݀.B^]ٽ>S$\qѫWKa<,- >uc.ub Ca%'*D%Ŭa.8}۟CeRE9Y;!U@wN|hr Ư䝺`8f'WLInq2ӻE L(zS6qY;صڿ1O#~LMM3b;^:?ZGq c0]XjP iMbb{ـjDL>APy<ix00*'QIiu-Js8I9HW5XY2uC Ǭ6`wD 5$f-S Ko ڵC':'sŐ<I6DU%l:j-pI F[`hkcbsp"v'w$#PpM)6zkpЭAKnvBe/ yOAȇ_FH qvꢱuxx Ky=䡥mG(րo}`aVۇ9`f%8\eFWta'nx=7'\,Sbc|c*>ftD6S8CdEyy&Su)*R@jR;3Fc|υ&WsAl(y ᩛTx V?~aU dJÏ%;fDGkx~i`\""GBW;G'f59ׂ*,E3M:"{f 3R$ ^@Lq/$Js. (njFա,Ћ<gmGЛ+Fl0(xS-@/JB(*)Fh]}l;~R'g T|IMT0n+$hCly uggb!RTn17X]4dl!,=L{@,J[cy?*,8s8^B BVNq$_\߬b-ٚKV;Fg.1hNF"}7Ņ [*R@j<\I;Myb Kkj#MS %֙qCY>YD,HrTi3/n2f5BwDyZ&E}{u};#T1ٷ.Z@h;Bb*b`U,6]ϳa+-lulSG`c[wl[JeO%yHi",lpTjGy\=̵LLtc} }u;I ;: ?υc5m1gؑ#'gaڌ rTszmE,}I>r%kݒNUp7,svV LRYmfɞg62_bŎK8\CXϰdO'L,Ԛ=9'T^[-hW!E뀹_"˗zo]+AA F;k!S߾pm)[ҽ`i9ov7%*^UKj9ͤ ŬgmXz>7qie9VL cR\4ȹ \)&U)z&b6br*Mҗ"t:~.!EXcomdq8[7N8q59v,Esa<;NրjalE0pwߎEꓬ+>A75& "6b99kBBj m0ubX'P{i(Fg@²`^~`7?]3Ị|Vs{ ˶|y3ĩMS"q㵣Eqؠ53m^o4yl@ cZӨ0,˕:**M:6bxs\e.[Xu [jM˻2bgFCoOCWs*ZQJeat!1γ@0<9UT?G(Sڕs.u^vOtI vu w l4Ypx*t~b$9@]CE6z$Li f4.Aq ۔jn,3i}G$+`Dz~#%֢Dנw3%C7Nף5s'ҥ^0RH5 #~q=BhS@XU2{% UVSRj -0Idᙯ7 3"7<=]vNPs4-GB~t,O;_ߊ]RlPR]CuWଫ~^85*x,1: >dEFb#7=H*ld;S`z H4XښRߘl.{;֓W^tEX.jagw> 8f&Hrhop d;8._#Rd sҒ+οTRS>L܇ ]fyH LUT;2ZWecs!AF֯ksK\8,fJb$xd):bYX}݈yրV@ЛNQ{Wt*k6B` *.0,`k 3NPƫ67% VC}u(G˚pN.O ~S@);5֎AčRS%|u^8*A!: ]L9_nLnNJ@df1X6?N mˌ!Վgit/SEbЄs˅T~d!ugjj}`W`vAأ%$=~7}YJklŃ7"ehL&[F pL/>NY@ct؛? ]͑fNbÛmh"ffT̝/MC]).~W_hW9캄X${TVep~4h*5KpDaH( eIJqXI/)+2cNq'Ux4zNEV"%j=%kn6bDD!s8NE@*nCm4?/,g Rg0iՃX= e;#Sbŝsơz6}Xli :v!'+]7}~\^.9Y쇕BEL *|ߨtkHR0OlF&L R,0ψ=.\r`Z¥h X oIe P݃XYZ+p܎p9-5/Hߧ/ZA*(;4718(_H?,evK¯hgv pe+Y9˥M li&a#ЀK@INwCG+tۍM}+VEG}zFvl: -_^Ml>B)#I;,e" +,2~]<"3uЪX#_E^v6W[jܒ٢yQc[n}(3? yv+.CҗtM:.|d]_#9%7e#.x: 6Ǚ)GlNgЫjuhf2fI JAK\h<aMH깖xu\[&9޻[M|.* Gtv]4dBv˩X.cAP=B%wn2 η[̌?F|َ]+m({oК\~p0ᬝnMnjCϑy/76 ۋ{VIr@Gy\D~%ń tຉkg#(z6PGDRk˱5iznľ}]T$I:zA|a?OVI9R^/ONa&_H˂zy1=o9.hx0C RB|/ɀ %ʮ*vwCgPwr575C:ki +mx N<#L7+mJ|3J4쵛'E{&cnv^US4J\~4diJ]fX?`sw6ki٤::U?H3~bB&l}a8'kڊ,\")$P4 (ܷIB(/vy+\jLf(k]EWHׂ+XDJz揯;.TD-N>BO;:4r7@A X `iìU;/~Equw.Xض@5vreH9C84eݡ3m+-? #jYPEɴLZv+̦7T4o:46j*Ye4Y+r?'I=Df,`=/%#y ;q3wׯCW)ԭ'X3sO9S֧\LaWoXh\TY5 :C׏+O#`qbNMx[Ty<x1 tS6X a }`ksaqje4EK.mfoA& a-(\i=LViuK9+W+JpbS=d8<𨓷K ~2S}"/ϖ=UFκ-S)&e? : 1 G[f2FoVq iհO:vu툒\o&Ц7װcâ.X#M8iA:H~5g4%VO*?%F&iQj55n wǙ7c<x,J|+ 4",xKP1"ٸmMx_[m~5uxD9q`̧E^aLP]{wܪYR%M~nSW;s[lͼ_9Tz/厏4ۘ3oV ) |.E?L3](?:;ܬWk,#}A@q}|:yzsvJ\.%?:>`Yuidl"9,N{7׾rBnV]h/.:hʊh% AI^לNX"5r/H_<66Qdc~~ yԦ5| $*ׂjռe H]CL'`-\Y^f^Naf'=b"}R-k"OwA>Ͼf2gr7Dцb^s9%87Twǃj =>S'{;h9+s-GsoGǟ$IDvBAV(8hb^a.5C!n/}Y}{fW&86. dH6=/y`3X$~ 4淟-]ݝI=xJ=2ƃ.#P3Y<΅]UH \&) :mn#948Ω?%>$,  mpȖ*ao}&+(tJ6b^\3d dC@E9iahKjy wh*< )X!a[K ("<c0f/)O J/n)vYښ[g)¿N-s͕fSW )В,ZǽS{d.M:HLK.9hs(at#N~]qӚŘcGTСDXk^W5QƑW?]B#Py5K5̚&7ӓ:U# DYR @zHՎ0-;*S6Mmm H%zɚ^r1-ޖB~'mD,k)sJU-/{]h4r}LaT7ufi$I >^8\eWVe^$E!&KC߿NXJDzin*.ns5gn'@@q޴\JVkӴLl*z(ϕ/z}2(2v|:Dh=D\"_vvZ(!8Pۈs~gYہdblgǂ#"Wz8aJ42:U]a)$9?9={2Ĺ0*Q7(!΄RS@szX; o 'eٲ< H{#k5KJ0!.NK3LD[[ >8 준Jq(C& XA&{M mjur(m>lz Nv0yZMv .{#tg睁~i=WbQ0˫QȰ#aG*Fڟɭ"VԷu>%ZxYְ{]gf gyo@myCh7_g0DCY.j3EO3D揀9OɿOeUw@Rk7֮;Oz0N6ommR @.4o[NOg=26v\.W SUw#K&8 g 'SwR@; nBM߰>T R!v䭋 h.FA|@ը&;kz/ߏool:j*~r+$;LOm #$gls?f"\|&BAs)Up]Jx[׺ҫ^f;F-y(f=9RZ!1eHčmv$2USPOcEX4Q_#U֥e02[6Clį$zi3Ta >YFU6 u0X=J# uJ&hxe|I92H:P٩l@ٱh+q p #AlWdcԎI?ENG7c.]N!Ǿȋy(ٌ:<,~2nۜxj𹘇6ab .Ό5d5R0E+ 6ػe70XlL}1ٲ}ӶbE.7UC`B\wG6.!۴;}^L h\mgb-瞁q1vnULbt GH ;bZץ[bIF~žվ"jL$9JfG7SCņ=5^\x)Q3x;!syW%(M[yܞc9̻asa 8is@3/OS,cP öhw]c* B!{g/c[v<TO aҮ xIR(E`uC Z~uߓVaB^q s<6_^'ǤN[mQ[BiE=>\sl)^ƀVpҺ''ȥMiM")=MvÚrIr*dV`yJ/WS8dU!L\ Fx&9ZiGJ4uP8{*GdvRǁqC#{P_].imkn-5-B.UӣW.?Sigw-}#rzG2:sbܫwS D!Ofʔt>//EGPֻq@+ rf4$y[^ t*w˪RhZGT;ݭ wP4|"+sXE xqZ8 0g=-yɦ29e7j ,Dh"8 BV`_t%lġ'28.3YC93j4ua_U ^QZCh3߄5='`#T-"9U)2^=H{r 6f᡽u1B$[5h /n! E[ԁRO{ 8jɃ5:֝ۅ/T*puCЄN~'k-T)x hc^ٰ_:;-œ6VhΖ oϻwʡrf/"i@4_N/z5J +枭-Hq?_ C=v]9.D#.\^KbyKӮ\y:n2V*Ɍ!&%|z`@sHۀC/eލ~Y>ݶFiZ9s+sGҭ}Lop6}X"[whd$6oTo+_U]YU2ֹ'"z|.>Vt8i֏I ʅm"TqJ<0 +1ׁQ4[vZVj}eLwůjȑ0oa'XVAX3T*[ㄣ- mَu:?+,HkC.:c*Aj:_RRgE>)h7} ;(|Āψi1RfԴ]Es2;@Һ^bƬ ;qﳩE!_[NjILZ4I;CJGD;G''M?Fˡ;bσ^9t9yץΙ9OE_KGzmQcYq x {`Dg 2SHo%0vt<;k⛉앛Nͬ^Vb1z=p x_#Ƕ*r-De> M# P^~n *i΅&CmYۏ5w;B ٮBiJR242&Lg`kS~enrY^ ƞLF)MVKsx6oM_9cS_f2Mۘ| C@@#r?[mjVAEğ9W28jW1R+'',aO#+}vPmYK҄<,^;MFxچDs~O0+F1n6&ooD0_JƯμ 5G6BCn  8tݟ{ 2J r5b/Cæ_lb'm9X(e/(.F`?d|ʆk/}]Or[q6Ks1`; \ĚBaV;\qo0ۏ徲dc #yݑh;}slRQt%t3!hˮgnHM:&lƆw=}xf/lڢpEQCEH(̜ ]& $P#:'a?k5 EN5 n&F,ɸARSe6#P.ӳ*i*zpދCG *4bborL-fے ;CR Mbս7>&tSAgq*#U2)_w$Z&RR; VY\.z:[ NR80ےd1W8#R`G\5RORk i2f)m}:zN(xx96黬k/HNK_0EsR6cL*ZA9;" ݲO/+hױg][rDfM:Yf`we14 QՍ5fGrnp[Г&Bl=Msc|:9mF>T\X9oI<ނ19?_x8a,ۘ9 ɥ=M1/b逡Z#u ",rn=EJ ]%]@+nOڕf'Ԥpm|?Gr,μJU?',:1Ech#.["9"EW6;{ki {e\Hs@Ξvhq:N;vJTnA=*9>6p.ZLe8YZ ڽjS m3+yjMd5&G)ouI m0 3!8 tkUid֨XTELH]Ẅ)pٟ b y1pߑtl0$hlb4]ϚQx6,DoF+̫>٤(tf}v+ H oNQo* efxM#&:g<? /T\ l򥺝z1 ܹ =!xQi/G Ƒcsjٞȩ}iҰ@ _$s~_<-b,׊Djhn`{(IbvՁ\23M%1r'u@[j'3 Ţb!(~o ~e\ls$j$̟9k6_sGg6 Y^5lwy6~*9c 1ID=6h_>,߶~ۥtP-5|P܌10ca 2b ӪLH֥Yj;+LXC-crOdr80,`9c(FEixUgӦRxt6| Q2 >{9kwΥLsjƁ)PylB:p "WGK qxh#<(\Z48 粠jИ|FZ4$f =;FQ L4Rx ѳFog3#m?Õhڗ;8o2g?! Hէ ɦxɈA~~plcJDUIOb3$_FR5x]U%HSԭ+ccjFAwQUalS=ɟƱ]ߐWBߋ5 RLQXQhvegZkWYʳgrmͯJwsTusxe= TI1ete.Q€ǍG %v3ay>__B{U,˪{X ija0.q6xդFC!C/;S~:`hK 7J1S3а'5\%xڵ∖~ژ3gKuze&oV+S? ?o,\%S;j6ƌYD1O5R, q%Ur"y ccc%ЦD+/`θ٥#$»[ӳf}e*c跶m4Պ>O#l =l_Zh}t{JJY{K¤O[ (jDR?cPx 2:3o<7f͒$Ȍ-҆&~iD4!iRsfu\3(,[MD^Oإ彗1G9%ǭT aj7GJa]"1/p3TXnQSCECޚ] i+:a!kҝQY`kV@i ^`*#jwDͧ<"Bj/Kf2>ػĘyɝ2()%~- ш.byԲ [MxIbV߳5\aƗ"PFJyv>F@MVU-[0O)§a00FQB> Rv\O.RԭεtӠ1ȉESgͧ>Q@u+h36rlu|@B`7<88zDH6:@^*IhAxfj<1bPy|8[r+ hs'2V׊  }<3$g%l}Ɂ\usOݯF\}O

>5{N0v"x=!$5nHyCi+j"6$'8?[ ziv$$B]Ը>Tس)Ѫb+PdX,Ӛ;.|ozO5'"ϸaEU7,` ~W ^5Kd&"~oj]S m: 8oEYGk(0?ksg"܀js瀝z!,}"j!Lt4dZ͔ w3{oDxߠ3}:Ⲷ~5sbf$$!% @Qs0:*!؀ߵkWkB0! H_}4N=r s OULCob T:l&1$N݂WN^Ŵ, 6xG! { .樆LRyh 9AC١1dHøIL]eڣӁd?RZΤS+4K!1qDa-TLqQQ?g.a*c˗R"GZ(r{P s[.溷HZ !ԮFJ1f*.`.o7 *P,F:uʄ5Z㾊[/&vjւf2̌n{ t) ǥx OːrBN%ă 1om~"ceeQDحl5&r.f^/AF񣖀'PD977P͟ց(Bo=y߭Ӎ0TqŠ蕱' nd.kRB.r ;CZ5~'lGM[~x5SM*>R> ᤣbqFX?J CYw??s-s3^Vx|@Ħ!=y_l @7*\B[T-@6[PÐ"?}|Si3,\m"c;KJNpi;FJ Ni63"T𳙺sϔ+:7Fe"ly6kw[`b8a1$ P*QHNTٍ-| tW'auly2eуM \.S ptQbe{q-LR.͓(aseg(>Ƞfjڼ%J?9_?#I "j=oGDۍhQ a=!d <m $LaRv&ZV%  ZcD*]W4&AL7S*M*,MK"@!3|>97~i2f(6"2}Huߩy@=IId7CxARVZ@Q#s<\CWq}M{$Қt"[;z1^ܟҫ-ΣNӷɇ {&߈dBE6iܰ~:iߔjs_TXs0فC:F|"gynu,g V/ऒ$r,OS0p u#x@5RG/>t\]q*XR84hwjT;mrߢ?wRI# 8RFFa%D(&Z{v02AU5xf= a흤RJH,w~V֣-Ը⾿{`O6LLw x(Ѻ[dk{}5-]~cL[YyU&$"vOou6FrxM+QuD^٨ZK8'D8&'I tḼ@t1m"2 $q$qDa Z{gC&9{|)~hL3%1襤=rޗ2C땕v%6䌛_ϱE0 6R׀Vۀ>`O" 7MR`(m,0 b3 ӳw|ea 0ex]kgq;QAʑ ![DuqSrEmF|\AI;TENR3QޥRLT@ŃDlV}e{$݋< &d |) 7/۞Vd=Su|daThF<0k;؏pB\b$  50BV"B+-C(G%mA )i@vqҪ,% ΂ q Ajȭi3 <$BD:v7EdYyKf 4#CwQ$eFzȮXn@ rĀPVN]܊w ׀%*:+U XD HAXq9h:h ,rt#2X;Lim\*M2InmȌe\Pg@7NofR<ծһA}RYJvQk;׹do.{˻GQMH]P=\ +Okm~?leͨ_5_zYC5o%(mCΊIi Nep ޠҸ`o"B9WmU.Pxgyr7UEA}AݨcĪQ5tևe{hIWPqko(|rbi7 q&`4E6[RpLYn>.:|P@=W36E=V `Z73[]u3+HA)mbm\ Y(7뫺0(jlzً J:Ld+/2(ݤTŮ-Qul.MosZmcg %_q4ZZƥjɴ%~M[#6C;wo_ ;(-)t{aɉe[[io N{O ]x,Vop;7č3op.}gkdf+N wMPTWfW-;wx37+VI'> u ѿܾScLjZCxIk`sxX<7>_v5V'bVI M7E} %0>UI'$?uՌ"=ffw*ׂqrTzQbdDqYG= {'Yc =Gfeɿt^7NI|]2/^fLpzem]ؖSڅ%I^tp5uxkJ4@6φ. ,? !*#/{=[iõӬ%xLsWI[$,n㘤* ~ut@78 t4s첳v8ݬRwdl@u0,,`3R,R+TyICNsev}.thJ#p qhq^*!^M\$|ň&qWr[('Su0E`Jjd;;LrVci+_6M{k%LH,U֒v tѕHzjUkKa Sa{-zFp EY,ϦR~>HaރZNFxW Ռ܆yKclv/:z cR eN̨DsZ=/xj'o3"2ѢRJ1p4BCi}~0e.SKw^#2^SNԞ FVy DTW!7`(nI)[62@4Hu~SnMZܬy,H֫s/`B1Pz 9nZƬ>JMM%(`rFaj2:inBVXM|edgi_+,9t4m`X_s9pEOKg+2@ (mmqX}i '5ݪbmG8Bԝ5r?J* 0>vN9%4⋛!|I"r0 :-loS8OP%Lq%HzdIAN˦Mo*C嚅M$Wu!Lg򂌸N꫙\ vYr߁A/YZ貆ISr&>dAWdŨICk7"[Q,k 1ZK` ӽQRe\ToG-:L,\(l ph[ȩ1/(-Sgn+wrKO ס w6}M!vc\;yF5-\3sr1[}{/ 2j;s&q:Tf귷a)[WS28D8_HqICw\Z3p@:$1"1AgVe"f*2 ~Kj˖T Ih4?Jp0uQ_Ӛs]x% Q#5c~ެ$ owCٱ[_2 +lyY7xX5{OWˈUDQJ.O'Sσאz^sNhk/ Cޟ 4)|c{5b>1NηKꝤ%5'2E$e-kemVJ&5a(dyP`ۦ\w_2U_a(#~tx¿[8] A% ʔ$=E)cMli[W`bcXm+ٞhȭQI_I N_惷8k㿵YlX t'^e%fϜ^7' ?90%T|8I`F 65.=dT*0Qw@JW7< 'E7$RSdW{a%WoaO;&Gv0͗Ж8KPEa1x{2}ZxS(K f~˲"{R WطL[I[JoԢuuq޶>}̸ZR>VS u g==I{`sc64w|!v+W:) cxF+eغL/9M%x֑kE%W܊QK )+XGtn|ͧB9]$Y^f?8#k۞07kizi@yP94.+, r ^CV8+핯pSlJLQM꨸MLDlhhjcO[k ME *\j̞z f˲A/'w%hqFW0z=N|zY?p,@\mp! M}^aWۋѩRʾ ~9iM%r(q͑O{ی-wJσh'G,$KA TL,/;hb \]6s_bi]7XK1N$}sU:nӦbPP_IDcniHDNq8YB蚉sg5EI# \YRGhVeeK Չ?[::Sj9I:BZE~@0m"jILٹ/WGMNrO[om%EbhF8Bјz&YvlXȼܢh\cLDS98iMm6E ICQ)HZFv}\@]d\UqTIӱ+7-NpE]"|hƾ5~q-z+?1::> N* }1z(3vtV>}i6F^qN5r`ĈH@df [z[ {Qleq%z{?J'U#gm˴~ރѕrl00j*),U~Pػ'ɔ//ݮ#\OA,^;j>Mv7"qE'`J 4Ĵm.B /f5EXRP!+C`a-ꔎlT4ܓ ,HmϤ-1h1-DIdcXT/*́~=OGƀzōAS[s T9%sqiI? \X`49#["gP6/GhQpjAsa@)u_YoeK`U?kK((E!O}y18}[e~R܊;="hȽAݰ>C Rņg u\bYw冓3ӴN0;ݛf HPVW/|BOmW͟Pr[TcQmᏍA(-+7h{/c,Kngl} 56:v~flvYز5S6u}쟂CxQ gqYmQhtcK'5A2|!nL N[iø/v-#grNRa~h5Y*2SQe1 yq4C>'Rj_|%G#|y(]?tW ?Σ\p.[x -Zz*RmG[Umv:F83fu),;P)W\'TSFrڜB%J凚쏲:{n(Tf^=5v?2H~1pƒ,2i嫛FDh|Z( u/HR~r/d`F oS6x<}?q,LE)&rjv^TVIv0XӁ$f 0 *q  2l?!P~&ْZٹZBpQ0 yO6-$.DSVoO 6?fL&Ś]*7tQ;[qP% N,JE#,u`}Ia Pȓ{T?tvkx'jҨoQ&GaGN Zt*W,5]s}dF|Q0 N?fn˵w|pÓN)ޒ> }!>J)2Y?~᳐'B[1/$h}ێkXbjq\帨<;mb[r$7Ս!kόNKzܷZIP+r^30wr%TBo> !Oߊwv_[$zLC$v0>'[}.ߑKZԝM&|M`3׎Y6sR k&Ia.= R)/2&.LGovyvx{>ʼӌvA:3 H:zZBkVY='g3D|M`1د\L :j/g"A5Jd/=) )Gt+@ x~z#ZV QO:C+z-HP T6bY1IsTSwSƽV)9HkĪ5ڠAu5ЍC:"!uF.IXݢ)$1 PI_x%}iDk5|"seSԑԞbyic&ƛ'A 2KVE8"V[2WSI4ۍ5lgLmXs5c㏥\JqF`n(Lk^!_FMaJw-V  g<9 wod 5{W_Ms~=.aiZgj=rmrt|V`[ .=]>ys 1ѭ@A$`э#{ T\"-\v)f95U+38,Ä9ulé vq^=!L\#"]a^Ԟ_7V". DG=ݑsKű!gO4p 3ٻ(XfXNjjkk*ѧmxF49,=`h/J uBxB qЂxK7R\D^9:|sR"1MWn[HM4-?Mh=,V^ܲ>B2ievqzѻmꦒ!u '^;y ;ԟ'9U? ˼Q{>𢒷-i W"e>z+pØg]J ڸgq/0̦A@/* H VQ+5{w̓p*t/q %RyZ/V*ls$Cؘ͚|(7K=#r5HA?ԿsUB]dR]7>ݬDL+S9+>Ynci1rRg͓WR $d<.q&kS;ŏ5g\?V$gH&"P6k⠨\3ɛAC.G.EyR:924U/a Pj14) lW6A +/.{ ˙KIc㈭D *T?VRw~"O#F]>4$EYvfuM4Ul!Ҩ"77|xM1B8^* "-L7Y7i.5"jt'" OS cqzHt:,\Xxy'p2Re*"L3>頾 {J2և) ㆕ZI6筑22Qhd]/3RlZfƾ 7mMQDvVx05ILCײ>f48lW@.w]dޣ5qk]-eM m2jiIPJ!_kDfGK'd(fM 'NICD8~.dh"zZӳ,K9z)4U2Hdo`+]x]O-$HzF֗' W] h2Rܥ+MXQ[C8owt6t\@sf³+@,dxP1F~DOU_"0+9kRa#lm7r9 QW$ʫ y0˕ luuݔIRI} ЊNlGJձVA{/++ nBBsN|T ׼ 7:1Y#\ȃe!Ul>FًbQY_a/ӥQ6brmm=(bt}_e/)1A\Mg`eDi9DB.l]E)Ϟ-kjٻKW{W_8z4T98g[|z:PSKݺ}&o*s}n7?b<0TCk SZ `2paDF'tBc4ncĉEu@#Cw%Q6[p,tѝ/l>Uޚ%E3%jM64#MMX$kĜku{%koLfU݌A7z'&}]lz=R5[#Mej L 8vWC*gr̈Cdʓ/W2|PG+kzsE4Fn@)=o P!qő\l7c {•10*`Is:ya:tygբ0[_Si&jчޅkvZ=_x76p0htrY>pi'L}~k,X@ v V([tR[iYb8@Tθ&kɝRELZM0@v~L6A)$JFUɼ|ϕWjOC=mڼ ʜ43M}@k|(|5n N4+S!L2O c64$2. tVi_w pc:-hBv^@<U3A2 R~ǒϤ3&Օd V#0'좓qp'~Av*ҵ} |L92OL=㮅ɋ[)_̌g3݅O3jmcJD&Y3PpiҝpMn- u`(s{!60'Q8ttD +d[`!lN#0_ՙgf*eXHaiʥ 8>ą-~ėXE 7H$y!x dY}ЍP,NT츝@ʅ}8/d3Ov%H*ғ;7b;fY[͑&ai޿#Sc65x]K%pJ Z 6Q ۧŒmVtd5 Z҉7> [6uR$g:p)\gXӦULVk.g&eusKWJmqº |)Lxm5<>(vmKW-m2^ 5@QZdR|)]zFגpa=9p'?Fh+(6x$ڀ",Մ|¡kTXlү 2Oթ]NLUepSlMytx["-.gѥ| ̙/2]u}@+^W q[Q1ҧ]foH )0uat,RF]^byVh[Лw:SL[6I >hOUXً'ti'sgBɐ(6?1oPfYg3 nwPcnt#AL3擖ר qϐ..ҤR9b5o>TN4SY+ط/!A;# Kcҕ83uzN]KˈhL٪00i T6܆ĴS-"',KT/BFJbmq:.x+ #㥌6*r۰e?lHK^6f%ҭW3%eS\ WGaVA 6>X8c3ې>7,a;YI^3g>17EbWiaSces\nD"z2UPB,Uw[sI"'r&{R] :Ҥ[aquܙ P^o-W7HJ:1^P(vY1_3y Ar`- I),DP(( [/8;wY ٱo!`uzOk! 1J/!>@`.Ig}Ɲ-I *% zQꁟ7N{yv >.Mx͇b*?FyAx@\KV3TJr O؏G8ƖЍЏIN-Hkխ:Wf%"1Uׯ lHy{0(LiZ=lэavscTYb/:i|zX6 84d8>| Dι41#KP%zɞ&K^d5(p Nf2ZrzS>ZUT=5KUUSjb` &e gBpqN[;H h%!F\-4`OG*l0Usӊz~;ˑTU=E;3\|h샦`j!z*eI'lZUM¿%0tIJ"L3U5>}xn[pi!k\9E+Z ACk4a3;s \tmQ@ 1c6Ֆ~&*A%9a+r[x%֜%jSZ?7+RPW3oХB[Ǖ 6&b:|sjbMyi$r#{41ZdۨSD9EU^d,հ#`4U4vbY,cC(‹B<=TJס\36h,^^7j˦SSڸ2xHǝ]xH*]ֶbq 3B (Hk70v7Nʕ1چkq^ыB[O;R fCϋQm^i'87TQ?Bvp|EyRIkFc>;X p',_c1 >}62vH4ZqNbWޗ"^()19Sy3`K {HEԳ8ĭFgߍD,Û{QTWKPJLv8k)O~4rgt8~Js5vlHv/9ߡ-)2٘=N]v-pxZY>mx<$gnAu;Q* :푙xF0DzK^MT 5|6;@,S@*b0Ey? uw>Mh6 A e!"is:^`(j{jiaB-"#O'P>[+d$3l&/(Q.}OD \+mjȎ4Od`UcBEYKv㭕Vc{$ĎUIK+D۱ME94M0PIS8YiM̚ħjkK)pm["m=FÛ@d;/vKqdڱY3&궍.E˫SF'wCrĹ0 !}vH%ho4y+؏"Cwe?Xf6yPHKaDˊ^Ь E}>ԁ24D8Rwmſ5p9cW""36c)r=ںVW3:%+83(Bj'{kT V P).aq +עA0oUS03Cɤ귓H,}m+#R VJJ%+j# 8u$p ZJpL;)]F6&ӽ_6.+6ǟk侗?|vG2YͤדD%WT2wh1A29b4QM?"jwXE~Pb%w\9Κ}89FI.s,UDž44@些M`I1+6omz%gͣ`/9pȸ;yE|Bpx@':Z:@:_ U}"uoG,߻5 b= 90py& dl"\V&ұyX1Cx)Veq: 8fڦI07䨰N?OeYE9ꥅ  Q۠1$eIl?\t'S 2Z3PxXNè.YK}V]*f4J혹% jw,F䷊-&JJ1uQ;gX~l/c 9$^W-^IE?F@d1V_ñ]%}^=n>;vUXe :s <)dU;&φ>v7 edQZо[Dpuz| ۥl*hYXxj?'$>eW9dJQ/i( Rx.eIvyuYك'hӯcS7mqYw|[-qqv O~X%j9B8-H6]f5W@S>S'eUag|:|:`QdJe:nL!GHap|%ҼFGJZbZiB%p(*,(K{>@bAݲwΕ<٬>Z(O5b7#:x&|@Ņ|iCBeuք`bDŵfLN/π:,imKz?N@R:eꐴ7m^HڝJ?T^ZZG @71x)U^߼4zHU>[G&A yԤ?8"5ch>@ֳy|s48TcgX;a/V} Fl-[v|[2tW>Ps0uNkE݂-ǢȽ=Cڇolw&c=Xf]WqEzs1AV,i`ny8!e(YJ>zKNxU:p\ZSm[Dˏd@3{TϠI,7ȓYw.ɫk =Ĕ 8hhW{lU\:)ZK{#SQN*GgGMYjGRUH}mǓ8ϫ凜ଶKjmóDc,7=j dCWĤ܆SI_k Ǽq@~/)mYX2EU-1<+LnP]rm+A;Ee ][AV!6'MJD0B[-qDA7e~A yBHLdiy=cd8nԪ5b^g˨.C00hݪ)܃R'։l@`Ǟc'Aؑ+UoWM+ dDx-$t.U|QVr*CilJn;: j>̩6&mnCTXd3-9y='G2Sŷ`吖5/Ǐɵ,4P˽pdW5$/jKg4h3 빋` qO"c#nNo+ *}<m(upy-~HU%p#nLbD$ܽ*;qZ`@& ´SC"| >Alal@E |ЋO+_`=` 7E!b֥!a&qO\4ˣ8=L&i*XR~j%?@{w߸ѤAVjRjUBrI_!߁N,]XO?uFvӣB^1O+Z؅VxeRjK,%=N:IB4ߔ9}qKz9Y} s-Blϊgٞe[ UJxz%8@c3gªXեl~HNѡ.6.ύyHƔj.?cW[! pqh «:sE5z9_>({MGl+/kٞ??_H !UTb9ih蜦ϳy4 |`5ґa9ZJިPsc_ 8Ȏ9b@ϔj꾼wc q<@}66nI.Ċ7<'IK Jx"q ^I[@yWt(e"pL'o&Mp&ĵ5_9>$R?j$L]$erGJWĽF%bE3,ͳ>X$+z(/r``'˶)#sqlEc98Ѥ7@O cUiKG )Jdtӭ9zKo,uVJvI HchM'@qyu]Faʪ;i2O6XUA_'B YvH!(-WsFI~q{ZMIzPBeTSxĵg/#Ñz$a{rxtF׶./jYEZޮΦQEeS znaǼ ( %ɿcu~_N^4y{hjK0,fYՏ wa48< :\!D|R]j\S5 8 j 1$XAP_o3Fek%օē%rG$>:?@6MICa\÷̻'.+uaƋ|CcyN$k ʿ``0'}֡ІUT{b1uCw3ՏP8I3>Bm!]FP/Ɵ;;^l3Y&\ zmf122!MꀇwDa=ɯ$pS.!>9i - />cu]_ KI1>x zԃ+l)DƳu)M<}Hh7Fx症tYeowmH4Nv!yN"/$\n(9D $K/$b ܖ]kX8עFtXԌ|LzWc0Y D3|tTD<64Piԫh osVWDdsI@=K{2 ezI#h0 tT!ݐ}ތ Oӫ{єF6UV&A)^kpW8> hN/ v'l.Khξn/F 5Uƴ.jSi}jvަDŽA>xy}Ӎ*V-_.vkR!6'JrҪHU*dX_!0N囊Ypƍ*@jpc.(hPfAG2x%J߿PNiƗop]9&;G2xZJцyu/ƪ-A10&y+8;NNd;E9I]ː129\<]z3Ǖ(c$cjvbu(؛Q}yTXЭ8n ~ 9sywq(+V#A\EG.Ԟ( BP]* Lx_G)60AUطGB |/U$ngKdxpD-K}K|x xo߀M5,kkZf0 GtFяOq:?<[@UQّE gH۶m>6[/b3zjMUts(ėrV'cY1y ,xjOvacX}ɚGP2+'v|t6h|SW1t[M*“o0(OTU7GITQ:rm oݶ6My C'p3Z8g tz'J7Gv\)m=K.zwd!z6JZn\eo5. ;[l *` ks:jLpz}XZ%3~4k! 4~6. k1pAVO0?y~/.6^p x eEH+ dSKȢ!pOR 4,ۆb>Q: \m&2~D=}|:VeǺ @Ւ^c4 E;&eú k! rZVeU(XwH|˄aAA},`թmɟqn&kP]T\E\=/4-8no@5{8sbٷyNh:7Y@XY7d,݃ΠA[ ,' w|rH!Ȑo& rnP9*f*vٳæ'8VfiNŞ `~)}ĪXT15o~߭[LSzBRҮX@$H" YoC@"8zVVAhQEFm8zF;ųcȤCXq ?N1uA;M alufNb+{?fXO {'&@uqt<^SnHZD:ulQvgZƥ2j\;W\W$m9*ҷ׷+jM}bF][ڹv1F\"oKMS>ME$;/3pfƒp{M5ZE /lt*sS06&7&/?, LOhoC}sO&թ:y A^.U: rkP򔀘ӘI2yȫB47~ç|ocLoupk܎N!29 C &c D8s.k虔#oSHiIԣCD "II =!e{Oc>XCY|FG)ӒQ"hDuDrZwVOzN`chNSEg1hʁ^Ĵ'Z}Sdvt%i&qqt^dU~|Ja,Ԟ03@Y5I=1sBbw$v46A1]OwΣ/s|X: trLEA .Z}>>:i{&sq] A]OX}*_jGVAb(HlۚM AP@.co@)P|K1ISӱۭe0 _#s_|f1q [VKBϳd oFGnp-c9,{' %H-F9k"n~l||Դ62]Eq/"ѹȈĉUoY+zp#6Dഴ䟢kg2OP@ noSS®Bʅ^x9#ZM\FW] g_BAb;|,):[2Gy,zO^|r"(PwpKf-LzWiT >*.eO߶5Rtq6<}dH9/;bn ()lCZqg3nYOq~+|~Ӓbfzd&>EZSqa򶿔PK6BʹB/ȝub {3~bB$vz(+GtI#Cl{L҄!O.af^v5Ǒi#m ,;Nh:eOJ}Q/sOlkkǽ?ޱg{U5 d_!o$5 贻 -ϽE]'1SV۝z82mne?.B -dEcMxV0h~?Pr4x 3"wNØNȝN#w,~iTC es[oJoo @k#S&] Hur]KDk 4ʶB Rîih><k44fi b.H=jW/;;0>?r+ے3"cAL:ݶQu p$-gkx7Uލ6#(֜a[SH%.ӏ5}ZwcD i3VUNM|9ekKSu#Sj ~JȞ/>"IJ~fD)3)`*i`.?r<YYqf/-쿣9PS^tRUɖ2sӵ}4?]vN(Wjs3#QhE&mer#hزocP> L>V$9g*a$!ӽc68F6bX+\OR6x#Xa>~Rύ `ɥwh3=R-ax)n1@lGn?UJ'o/=Q|! WDHHhEX־TzݬV1;[aX·h +v X۰*~XL ` o);Vnx&^_c7 SX>OKe{KׁBMx ݲ(S>qb\7ϵX0LM:(!L8;Eϟy22OPyIΚ"IDiUa#ȂD j]DKCk21Fm(Wi٦O|^s`)|i|/쳄L,"P֞zJXDҐ}h{K m1Hk W B CDO0fDjR~0R!}է^ok#0(2 ZZiB]Dh}kc70Mob ¸j2XJlD-USK m`о_}N-kRa5V I$Aj,}(?p&zbahH3;4Clb7)&w3rľ;tt\%Fn .;%k ?z>c@ d$P1H1baUGѿL#ș\Hi?]Cû J2UH3- 8*TȲOa:Ay=6 _pذ5zp - r־–r?g&t;ǰ=y`,"^,!;M6?Tˉ;j}| )L`YBWɿPcbߏ)ҔjyTف.$~$<,FeJd*rx滰ϨJ(*P|O=U_k}پ-n_b%W,WZ0H|UaӚ+U}܇Bp$(A6+r\D$>0W| $ ]Oξ Ѭԉ㥽` YQ"Gz%QK@^{b8mUYԻQRn9 *^q ^ CEB&DN}lq+Aݕ>++jyZ\1ieBS"z\';;DvU<HqA/ur 9Vmjpg$Ҭ#`Yo D9?}2;r⡷Lܬk?aM+Dnf4>0]p\>HץM._ur^@l8*-M%s!\{ɲBKF"@ ]JG(`M{N{6@?Q%_R@TF@hV nޞZP@)m;uNjvϱZlX  O%Pǵ!y13 <ܘ@e/ް'[8b)mnʻ}p MbÛ~{OV=#2N,M.=&gQ7{`i)*~ ߎ2 /Dd?ea\]Aq pmm!|_Y*2#]խ~Wͤ_ل}ioK_UۅQZw#N0&(`swpcK- }j8%`V$Ókڸg/emb後5\Ydvٌ@72{ۼ#!_ɖ{Sz䱞Դp}Jh ?#em(9+p%Ĉ6<*ix yA&riADcDPp8! (ﭺ-L:ܮ 5ۤV*t !ŠE"%e#M %n `;QC=kOYXI&5cՀ;lA&u2"op`p^L-v=x8׏us'A_L O(x4/@KQAĉ]񩺉TgO*ꏗ$1#)Le\nEGHPЦ4lxR_ Cd`\i=n\3b4Ile\ɿ!cGN(CH/^|n VsvvBB1}s1oU4N%UtST!ZA\jq7;,yKm'g\ /v6>Y4O9&?bzcAzzmW\WkC47+Bلq} 2 ^DtNĪJ5g6\6#8rJq'18 qO:ٹgl56To}YNX8oS pddr8nEg7Ǿ"Sn J0;i6h7!ߓ_NFsdrE8شpD`go՝;4k3`^mxL1fRW6ۘ %\jWy*Fr~hp)~ٞRbsv93}wr%qnZ F*D™nd]mD-Y;&<>{=wNI5{4~ /"9H"D&xyihm@"& bؖAdOlQ+ Bu0yaI=kY/DASkz2@z~ss̰4&A(}z1/8,3a]l[, [8r3OB~s'7kj<38x p/o8Fs7Yju}CG%[^/˟4d1ꎠ:B^8DHF {.8aNI5VqG@%!޶/ܖөbn99=b9FnX%8d}o ,n$}qgG^֒~qs8a45$P3 ֪7цb=ׯ)- .m9Ӡ`ug.y []ba}#])Db)ǝ.ޚՐj5PfGfYL 4ԁ6%pTI3'rڝF%@vA_SxG^oZnnVZlj$4 ڠ4qZu.TsrICy"0~j\nk&X5}kwRuZU1G"7K[ LAmiǹ =_!鉻u|;k*Y"<׏-cy"ͩusi M6Nuj[ؿeܩW0D " bm^8(@diC57rȻUX4YW M+8hB".\!j)0A%ncMkKcq|zԙ~ngfȣ"u!FVrVVq Kͣ#~H9L}O$xu,HsF=k3\NĜl&C6P3'* r p!u9v0SWZ?Ů~)[* ;Lj/Ty3Pv?i<Gxd7:bYxOܻφWY&fA6SF6lj Ԡ,Yr#hg:{C~󉁎 !{ 5:y=Ok P%E-Q+%fd0JuY3TWL^R}F'ר^F `N Í` 1Pr=`^$XQgTԃCjip#.3ڪ/3(1锨V`\5:ad9լGIAK(Έя )zOg +.+&/'1G Zxt9준U|CABn3Zo.'>M7Cqu#h~YU,H_Mzt,4U$kReFiH(VPVzĊخ?6>)f8[G9A"KY\6Ę{l5pɿYODs1a|mR6m%$Tg|{7ҳyW^ kP;/\Zr\@0׹K!1o'"gCHCh4p*-k? Q$\K:+ƿڇr0w'Vwr_FWǃe/:%mXKcU u$HAjFݫpteEN]Eq"vx;z2B 5(7;R[ڧ4πu Ane+i!lpMUSRa]ZY|6=9kVF)_LPG:'j04̂Fܞ a*[/_y ]~@{8|ț8cߡS! Pz9,&[Q& !o} >m;]??vܞVmȰ[ B9.IV3F扃ӳm虻-5F`lDx4qk)gnjp%RbEa%;%ɩl.ӸEe(%􇦗$Gq L%/L+

b\Gvpj\oH_Ѳ-)W&R%' t/Vk9fZ EO3'<6.>VZ*'J!!lwƶG~e߽hU}i@Q?NmpZO2QYL%_H]Q jjuP&Qy 0_* <(K'ǡܔRZrf/uK'NF"B g_!Daż8[<a5$Jh宯Evq 򸤨Wi f'PRFE/ -x,UqJ)po%޻ g5SxɧW}FJ lVWx"O!NLlw%%~֕oYk0]h^oL1nq^;Hv:Z!̐zY YZ