rpminspect-1.11-1.el8 > 6 6_6 3!y덏%!E/֡d !E/֡l06[/˸4cY V7𥳐s!vՀ#G8l|FgDJ6UUIt43F}ׄ4hS]@ZJt6X!6ͻXxt/}ls2a@GP9|ZgN-"pGJk@ϩ&102џG I'b˸a# >VkkkF,lO93E,:D@I\.b6 qM$ʚjm(ck۹GO) ^yI-9xfP< 3jI"O׍:`"k{%:T Ob~Eb 7@ [\9 W$4Qmd@!N2@>p wzN !\H1.Ct1caڈ)o<22bd932238a2ebca0770906585f866cc53cc7f077824973d4437b22fe63bec87d73ea326f369184bb1f36dc551896f2caba8650a}D3!y덏%!E/֡d !E/֡[cevx.BF}Bd Uf5lZ\]r\yp+ `+}&J*e Ԟq*;ixGLM~_)Gz 1}q;a.=!>\ZoLRYz ??U°"ZYN-S!W+UZy[\x*t~Vۢ=8J! QMG'E*nO9G6 O&23\?6\]UZOm9Np\Srp7ՍK,YĴF߽jZ@6K`~=S=g$n~?Eglh_jۃx^;4?0(ކ$IO/ F4[1*9/ެ BԁT>sD0>p=?d   848`ds *<ekt           H |   Pp(P8X9: G HP I܄ XܔYܜ\ܴ ] ^݈ bad߱e߶f߹l߻t u v<w x y <@jpCrpminspect1.111.el8Build deviation compliance toolBuild deviation and compliance tool. This program runs a number of tests against one or two builds of source RPM files. The built artifacts are inspected and compared to report changes and validate policy compliance against the defined parameters.dbuildvm-x86-12.iad2.fedoraproject.orgFedora ProjectFedora ProjectGPL-3.0-or-later AND LGPL-3.0-or-later AND LGPL-2.1-or-later AND Apache-2.0 AND MIT AND AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0Fedora ProjectDevelopment/Toolshttps://github.com/rpminspect/rpminspectlinuxx86_64(0TTMӜ^AAA큤A큤ddddddMdMdMdMddMddM5a733a4cdb1a30bd50430f48cac5b70d7c0102d5110963e2a90fd8364bc0d8c56c63310097154d7a487b54c47c9c096331a4cf5da022bb704a58612e0d6f0d5aa14f24b5d900ee5d4323455620691eb32d174207e618a08778f7205556f5c6cfc60d5f055477e7920014372bf5ca758ab2a1a9d20e76d69cba1b1e915c54df773d3c7f3c0eca326042445e387366024eb11bcfc5922b8dae848b31936543b32a3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb369861c870234259a01b13a2f3c8ece6bcb952bec6fb316c1016b72a6be2f6cf8abb0751f4abde88f86d8e158f189782d916f561a6fa662956b0ff7f9780a6b515419../../../../usr/bin/rpminspectrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.11-1.el8.src.rpmrpminspectrpminspect(x86-64)@@@@@@@@@    @libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)librpm.so.8()(64bit)librpminspect(x86-64)librpminspect.so.0()(64bit)librpmio.so.8()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)1.11-1.el83.0.4-14.6.0-14.0-15.2-14.14.3d@bb\@aW@a@a0`@`\{@`7@`7@`U_@_@_@_@_[fDavid Cantrell - 1.11-1David Cantrell - 1.10-1David Cantrell - 1.9-1David Cantrell - 1.8-1David Cantrell - 1.7-1David Cantrell - 1.6-1David Cantrell - 1.5-1David Cantrell - 1.4-1David Cantrell - 1.3.1-1David Cantrell - 1.3-2Fedora Release Engineering David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.1-1- Upgrade to rpminspect-1.11- Upgrade to rpminspect-1.10- Upgrade to rpminspect-1.9- Upgrade to rpminspect-1.8- Upgrade to rpminspect-1.7- Upgrade to rpminspect-1.6- Begin work on version 1.5 - Use llabs() instead of labs() in the filesize inspection - Improve has invalid execstack flags reporting - Use long unsigned int to report size changes in patches - Fix some errors in the changedfiles inspection - Update the changedfiles test cases - Check DT_SONAME in is_elf_shared_library() - Skip debuginfo and debugsource files in abidiff - Make sure abidiff test cases add a DT_SONAME to the test lib - Report INFO level for patches findings by default - Python black fixes in test/test_abidiff.py - Update the test/test_patches.py cases for patches changes - Generate regular changelog in utils/srpm.h - Skip branches without targets in submit-koji-builds.sh - Fedora and CentOS systems in ci need diffstat - opensuse-leap CI job requires diffstat - Fix the Debian CI jobs in GitHub Actions - Fix and enable the Ubuntu extra-ci job in GitHub Actions - Use pip instead of pip3 for the Ubuntu command - Use apt-get -y install in - Enable the opensuse-tumbleweed GHA job again - Make sure the Gentoo GHA job has diffstat - Get the Arch Linux GHA job working again - Use ubuntu:latest for the ubuntu GHA image - Simplify the utils/determine-os.sh script - Update license table in README.md - Allow any number of builds specified for fetch only mode - Handle old or broken versions of libmagic in changedfiles - Update GitHub Action status badges in README.md - Fix $(OS) check in the Makefile - Fix the ubuntu GitHub Actions extra-ci job - Make sure the centos8 job has git available before cloning - Change strappend() to work as a variadic function - Use json_tokener_parse_ex() to get better error reporting - Fix reading of the javabytecode block in the config file - Catch missing/losing -fPIC correctly on .a ELF objects (#352) - Refactor elf_archive_tests() and its helper functions - Followup fix for find_no_pic, find_pic, and find_all - Install cpp-coveralls using pacman on Arch Linux - Install cpp-coveralls using pip on Arch Linux - Install cpp-coveralls in pre.sh on Arch Linux - Install required Python modules in pre.sh on Arch Linux - Do not upgrade pip on Arch Linux, go back to using pip.txt - Drop DEBUG_PRINT from source generated by pic_bits.sh - Do not run apt-get update as a second time on Debians systems - The lost PIC tests need to invoke gcc with -fno-PIC - Update the OpenSUSE Tumbleweed files, but disable it anyway - Define inspection_ignores in struct rpminspect - Clean up the config file section reading code - Add add_ignore() to init.c - Fix fetch only mode download directory - Stub out libcurl download progress callback function - Perform symbolic owner and group matching in ownership (#364) - Restrict download_progress() to systems with CURLOPT_XFERINFOFUNCTION - Read per-inspection ignore lists from the config file. - Add commented out per-inspection ignore blocks - Implement per-inspection path ignore support (#351) - Report annocheck failures correctly in librpminspect. - Note all regular expression settings use regex(7) syntax - Allow size_threshold: info in the config file (#261) - Check ignore list in files for path prefixes to ignore (#360) - Support a list of expected empty RPMs in the config file (#355) - Call mparse_reset() before mparse_readfd() - Do not crash with the -c option specifies a non-existent file - Update TODO list - Make sure brp-compress is disabled in test_manpage.py - Require/Recommend /usr/bin/annocheck - Note size_threshold can be the keyword info - Ensure ctxt->lastError.message is not NULL before strdup (#382) - Handle corrupt compressed files in changedfiles (#382) - Disable debugging output for the ignore lists in init.c - Drop debugging output in the xml inspection - Remove what working directories we can - Correctly find icons for desktop files in subpackages (#367) - Followup to the Icon= check in the desktop inspection (#367) - BuildRequires libmandoc-devel >= 1.14.5 - Manually install mandoc on centos7 for now- Start work on the 1.4 release - Trim git commit summary prefix from changelog lines - Report the program version number in the results (#309) - Handle compressed but otherwise empty man pages (#308) - Flake8 fixes for test_manpage.py - s/self.rpm/self.after_rpm/ in two test_manpage.py tests - Disable broken ELF heurisitic and size limit in libclamav - Modify dump_cfg() to write valid YAML to stdout (#306) - Migrate more code off hsearch and to uthash - Replace hsearch() with uthash in the kmod inspection - Update TEST_METADATA status in TODO and MISSING - Restrict style checks to specific directories - Replace hsearch() with uthash in the abidiff inspection - Change tsearch/twalk use to uthash - Correct misuse of entry with hentry variables (#321) - Normalize copyright boilerplates in source files - Use hentry->key over hentry->value in pathmigration - Adjust lib/meson.build for Fedora rawhide - Drop gate.yml and begin non-x86_64 arches in ci.yml - Add armv7, aarch64, and s390x to the other_arches job - Change init.c error reporting over to err/warn functions - Modify file triggers and matrix use in ci.yml - Split 32-bit osdeps out to post.sh scripts in osdeps/ - Split style.yml in to shellcheck.yml and python.yml - Rewrite extra-ci.yml to use the matrix strategy method for GHA - Move the emulated CI jobs to extra-ci.yml - s/pkg/pki/ for the centos jobs - Debian and Ubuntu fixes for CI - Python pip on Debian is called pip - Try to fix just debian:stable - Enable debian:testing in extra-ci.yml - Enable centos8 in extra-ci.yml again - Enable centos7 in extra-ci.yml again - Enable opensuse-leap and gentoo in extra-ci.yml again - Run each test script individually on emulated targets - Try a different syntax for the emulated matrix jobs - Install s390 glibc headers on s390x fedora systems - Detect 32-bit and musl presence in test_elf.py - Skip lost -fPIC tests if gcc lacks -m32 support - Add stretch and buster to the emulated targets list - Drop Debian buster from the emulated targets - Install gcc-multilib only on Debian x86_64 and s390x systems - libc-dev:i386 -> libc6-dev:i386 - Disable Debian targets in extra-ci temporarily - s/AUR/git/g in osdeps/arch/post.sh - In read_cfgfile(), keep track of block depth correctly (#329) - A few more yaml parsing fixes for block vs group - Recommend or Require libabigail >= 1.8.2 - Finish normalizing all the error reporting statements - Advertise of rpminspect-report in the contrib README. - Report libclamav version and CVD versions (#258) - Ensure first argument of warn(3) is a format string. - Enable werror=true and warning_level=3 in default_options - Update the translation template file - Get rid of invalid free() in get_product_release() - Add inspection_id() to librpminspect - Update the po/rpminspect.pot template - Improve mkannounce.sh to handle stable and devel releases- Remove duplicate elf_end() call in init_elf_data() (#303) - Update translation template- Small change to the way Koji builds are submitted - Move the master branch to version 1.3 - Drop DEBUG_PRINT in process_table() - Add doc/git.md to explain source control conventions - Change Suggests to Recommends in the spec file - Add kmidiff and politics to the inspections section of generic.yaml - Update TODO list - Use warn() for non-fatal errors in mkdirp() - Require libabigail >= 1.8 in rpminspect.spec.in - Enable multiple --headers-dir1 and --headers-dir2 args in abidiff - Swap out some more fprintf()/fflush() reporting with warn() - #include in peers.c and rmtree.c - On fedora-rawhide CI jobs, install gcc-c++ and gcc-plugin-devel - Disable fedora-rawhide GitHub Action for now - Correctly handle the -w option on rpminspect(1) (#256) - Drop the relative path handling for the -w option - Build and install rc from source on opensuse-leap - Update doc/git.md on how to track upstream - Add .github/ and osdeps/ directories to extra-ci.yml - Build and install rc from source on opensuse-tumbleweed - Adjust curl(1) command line used for rc in opensuse CI jobs - Trying to figure out why the opensuse jobs produce curl errors - Another slight change to post.sh for the opensuse-leap CI job - s/PowerTools/powertools/g in the centos8 PKG_CMD definition - The output of html2text on opensuse systems is different - Rename HEADER_MAN to HEADER_MANPAGE (#264) - Add inspection_header_to_desc() to librpminspect (#264) - Add xunit output format support (#264) - Support the new output function call syntax (#264) - Move init_elf_data() to readelf.c, move data to struct rpminspect - Update inspect_elf.c unit tests for librpminspect changes - Remove check_ipv6() from inspect_elf.c - Create the badfuncs inspection - Update po/ translation files. - Add badfuncs test cases - Forgot to commit test_badfuncs.py. - Fix flake8 and black errors with test_badfuncs.py - Skip debug packages in filesize, display changes correctly - Fix spurious execstack failure - Fix YAML config file reading for BLOCK_INSPECTIONS - Expand dump_config() to cover all config file settings - Minor spelling fixes in strfuncs.c and making code explicit - Simplify list_to_string() so it handles 1-elements lists right - Add abspath() to canonicalize path strings - In the doc inspection, only show diff(1) output for text files (#254) - Add strxmlescape() to strfuncs.c in librpminspect (#264) - Output the system-out xunit portion as CDATA (#264) - Slightly change how strxmlescape() works - Add the runpath inspection to librpminspect - Rename test/data/lto.c to test/data/mathlib.c - Handle the empty string case in abspath() - Expand dump_cfg() to show runpath settings - Fix block handling problems in the YAML config reader - Note single builds cannot be rebases in is_rebase() - Hook up the driver for the runpath inspection - Install patchelf for tests on fedora and centos - Update TODO and README.md files - Pass -D to rpminspect in the test suite - Add integration tests for the runpath inspection - Python flake8 and black fixes in test_runpath.py - Fixes for GitHub Actions on Debian and Ubuntu - Disable Rust support in pip modules, more extra-ci fixes - Update pip and setuptools on debian and ubuntu CI jobs - Make sure pip is updated on debian, centos7, and centos8 - Fixes for extra-ci on arch, centos7, centos8, and debian - Adjust docker image names for opensuse and arch - Add Gentoo Linux to the Extra CI set - extra-ci.yml typo fix for the gentoo job - Use gentoo/stage3 as the container for the gentoo CI job - Disable opensuse-tumbleweed and archlinux CI jobs - Make sure util/determine-os.sh picks up Gentoo Linux - In the runpath inspection, fail if DT_RPATH and DT_RUNPATH exist - Use pip install for PIP_CMD on gentoo - Set PIP_CMD to pip install -user for gentoo - Handle a NULL from list_to_string() in abspath() - Do not match path prefixes in the runpath inspection - Python black fixes for test_runpath.py - Stop doing an emerge --sync on the gentoo CI job - Replace emerge --sync with a manual portage sync - Use emerge-webrsync to update portage on gentoo - Add uthash and move the file matching code to it. - Typo fix in README.md - Fix some memory leaks found by valgrind - Create mkannounce.sh to help make release announcements easier - shellcheck fixes for mkannounce.sh- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- Formatting fixes in Makefile help output - Begin config file restructuring starting with rpminspect-data-generic - Support multiple configuration files. - Docs work in progress. - Only fail the annocheck inspection for RESULT_VERIFY. - Read debuginfo if available when running the 'annocheck' inspection. - Add the '%files' inspection to librpminspect - Add __attribute__((__sentinel__)) to the run_cmd() prototype - Add test suite cases for the '%files' inspection. - Added the 'types' inspection to compare MIME types between builds. - Update TODO file - Update the MISSING file - s/rpminspect.yaml/generic.yaml/ in the Makefile and README - Skip debuginfo and debugsource packages in the 'types' inspection - Add test_types.py to the test suite - Note the 'types' inspection generic.yaml - Modify add_entry() in init.c to skip duplicate entries - Start GitHub Action workflow files for rpminspect. - Install meson in ci-ubuntu.yml - Change 'nls' option in meson_options.txt to a boolean - Install gettext for ci-ubuntu - Add more build dependencies to ci-ubuntu.yml - Drop the 'method' parameter from dependency() lines in meson.build - Split xmlrpc libs to separate dependency() lines in meson.build - More xmlrpc updates for meson.build and lib/meson.build - Try to support systems with xmlrpc-c without the pkgconfig file. - Changes to build on Ubuntu, specifically the GitHub Actions system - Syntax error in ci-ubuntu.yml - Add ci-fedora.yml for GitHub Action CI on Fedora - Fix errors in ci-fedora.yml - Put all of the ci-ubuntu.yml steps in ci-ubuntu.yml - Remove install-libmandoc.sh and ubuntu-pkgs.sh helper scripts. - Install python3-setuptools in ci-ubuntu.yml - Install rpm-build in ci-fedora.yml - Install libxmlrpc-core-c3-dev in ci-ubuntu.yml - Disable ci-ubuntu.yml for now, enable code coverage in ci-fedora.yml - Remove Travis-CI files. - coverage fixes for ci-fedora.yml - Install git in ci-fedora.yml - Enable manual dispatching of the CI on Fedora tests - Remove actionspanel thing for GitHub Actions, drop Coveralls block - Comment the ci-fedora-yaml file - Fix the 'elf' inspection and test_elf.py on Ubuntu - Enable the ci-ubuntu GitHub Action again - Check all return values of getcwd() - Ignore installed Python modules with pip3 in ci-ubuntu.yml - Build 'execstack' test program with -Wl,-z,lazy - Add ci-centos8.yml to enable CI on CentOS 8 as a GitHub Action - s/centos8:latest/centos8/g - Trying 'container: centos:centos8' - Drop 'sudo' from ci-centos8.yml - Rename README to README.md - Enable GitHub Action for CI on CentOS 7 - Drop -I from the pip install line in ci-centos7.yml - Use the 'make instreqs' target for install test suite deps. - Add back 'dnf -y install 'dnf-command(builddep)'' to ci-fedora.yml - Nope, that doesn't do it. Just install make in ci-fedora.yml first - More 'make instreqs' fixes. - s/scripts/utils/g in the Makefile - s/TOPDIR/topdir/g in the Makefile - Install make in ci-centos7.yml - Move REQS and PIP lists out of the Makefile to files in osdep/ - '^$$' -> '^$' - Slightly different sourcing of the osdep/ files - Set OS using := in the Makefile - Make the reqs.txt files in osdep/ contain all deps - linux-headers -> linux-headers-$(uname -r) for Ubuntu - Remove html401-dtds from osdep/centos8/reqs.txt - Use `` instead of $() since this list goes through make(1) - Does $(shell uname -r) work in this case? - More osdep/ work and simplification. - Rename 'osdep' to 'osdeps' - meson patches for opensuse - Move mandoc installation to post.sh in osdep/ubuntu - Add GitHub Action for CI on OpenSUSE - opensuse:latest -> opensuse/leap:latest - Install tar in ci-opensuse.yml - Install gzip in ci-opensuse.yml - More fixes for ci-opensuse.yml - Small fixes to determine-os.sh - ci: Add Python linting jobs - ShellCheck fixes for the regress/ scripts - ci: Add ShellCheck to lint shell scripts - Adjust how the Makefile reports unknown operating system. - Just check $ID in determine-os.sh for opensuse - Use pip for PIP_CMD on opensuse-leap - Update the centos images before doing anything else. - Install curl in opensuse-leap - Get 'rc' from Fedora on opensuse and copy it to /usr/local - Install kernel-default-devel for opensuse CI - Move the 'uses' part of the centos CI jobs to the first step - ShellCheck fixes for the utils/ scripts. - Some flake8 fixes in test/, using yapf - Combine all of the GitHub Actions CI runs in to ci.yml - Manually install rpmfluff on CentOS 7; pip is failing here - Use rpmfluff-0.5.7 explicitly for centos7 - Use rpmfluff-0.5.6 on centos7 - OK, let's try rpmfluff-0.5 for centos7 - Last try, rpmfluff-0.5.4.1 for centos7 - Back to trying to manually install rpmfluff for centos7 - Style the Python code with Black - Add the Black formatting commit to blame revision ignore list - OK, just copy rpmfluff.py in place - Make sure to manually install rpmfluff-0.5.7.1 for centos7 - Don't assume we have a header or even a list of files (#161) - python: flake8: drop * imports - python: flake8: wrap long lines to less than 100 characters - python: flake8: drop unused imports - python: flake8: remove unused local variables - python: flake8: add PEP8 whitespace - python: flake8: mark in-line bash scripts as raw strings - python: rename several duplicate test cases - ci: merge style workflows - Adjust rpminspect.spec.in for file moves and default changes. - Return the reallybadword to the metadata tests - Adjust test_metadata.LosingVendorCompareKojiBuild to expect VERIFY - The shared libmandoc check should not look for a static libmandoc - Update the AUTHORS file - Rename ipv6_blacklist to forbidden_ipv6_functions - Rename stat-whitelist to fileinfo - Rename 'caps_whitelist' to 'caps' and drop the use of 'whitelist' - Rename abi-checking-whitelist/ to abi/ in /usr/share/rpminspect - Rename 'version-whitelist/' to 'rebaseable/' in /usr/share/rpminspect - Rename "political-whitelist/" to "politics/" in /usr/share/rpminspect - Drop unnecessary method re-definitions in base test classes - Use super() rather than explicitly calling the parent class - Call configFile() on object instance rather than using the parent class - Upload coverage report to codecov - Improve the error reporting for test result checking - Convert to AUTHORS.md file, add Makefile target to generate it. - Introduce the 'movedfiles' inspection and a lot of other fixes (#155) - AUTHORS -> AUTHORS.md in rpminspect.spec.in - Add basic tests for the filesize inspection - Multiply the file size difference before dividing - Update README.md - Update README.md (more Markdown changes) - Update POTFILES and rpminspect.pot - chmod 0755 test_filesize.py - tests: optionally check the result message - tests: add further filesize tests for shrinking files - inspect_filesize: drop extra - from the message about file shrinkage - Enable 'permissions' inspect for single build analysis. - Add 24 new test cases to cover the 'permissions' inspection. - chmod 0755 test_permissions.py - Make sure all RESULT_INFO results are set to NOT_WAIVABLE - Fix some specific problems with the 'permissions' inspection. - Pass "-r GENERIC" to rpminspect in the TestCompareKoji class - Add 12 more permissions test cases for setuid file checks - Update TODO list - Update test_symlink.py tests for new waiver_auth values - Add a fedora-rawhide job and renamed 'fedora' to fedora-stable - Update the rpminspect.pot translation template - Relicense librpminspect (lib/ and include/) as LGPL-3.0-or-later - Ignore .tox/ subdirectory - License the rpminspect-data-generic subpackage as CC-BY-4.0 - Add a copy of the Apache 2.0 license for the 5 files in librpminspect - Update the License tag in the spec file and the %license lines - Add debian-testing as a CI workflow; add missing osdeps files. - Update determine-os.sh to handle Fedora stable and rawhide - Drop the use of 'sudo' in ci.yml - sudo required for Ubuntu CI job, install make for debian-testing - See what $ID is set to in determine-os.sh - Workaround a bug in meson 0.55.0 for Fedora CI jobs - Add 'debian' catch to utils/determine-os.sh - Rename 'osdeps/debian-testing/' to 'osdeps/debian/' - Add opensuse-tumbleweed to the CI job list - Add libmagic-dev to osdeps/debian/reqs.txt - Fix memory corruption in init_rpminspect - Add comment clarifying the License tag in the spec file. - If check_results() raises AssertionError, dump the JSON output - Fix test_changelog.py test cases that are failing. - Fix UnbalancedChangeLogEditCompareKoji - Handle rpm versions with x.y.z.w version numbers in test_symlinks.py - Fix mandoc build problems in opensuse-tumbleweed CI job - Install gcovr using pip on opensuse-tumbleweed - Handle systems that lack pkg-config files for libelf and libcap - Add archlinux CI job in GitHub Actions - Forgot --noconfirm on the 'pacman -Syu' line. - Add missing DESC_MOVEDFILES block to inspection_desc() - More minor fixes to the Arch Linux CI job. - Install gcovr with pip for the Arch Linux CI job. - Support building on systems that lack - Add detection for to meson.build - Ensure an int is used for snprintf() in inspect_manpage_path() - WIP: 'abidiff' inspection - Only report permissions change if there is a mode_diff (#181) - Fix -Werror failures in inspect_abidiff.c - Add sl_run_cmd() to librpminspect. - Add get_arches() to librpminspect - WIP: abidiff inspection - Some minor edits to the README.md file - More minor updates to the README.md file - Replace get_arches() with init_arches() - Add test_addedfiles.py to the integration test suite - Expand find_one_peer() to soft match versioned ELF shared libraries - Add the beginnings of the 'abidiff' inspection code. - Report out findings in the abidiff inspection. - Update the test suite to cover rpmfluff 0.6 - libmandoc configure workaround needed on Debian too - shellcheck fixes for the scripts in utils/ - Add abi.c, the code that reads in the ABI compat level files (#144) - Be sure to close the open file before exiting init_fileinfo() - Python formatting cleanups - Add --diff to the Python format checker - Add new setting to abidiff section of the config file - Add -n/--no-rebase command line option to disable rebase detection - Store size_threshold as a long int rather than a char * - Check abidiff(1) results against the ABI compat level definitions (#144) - Add 'apt-get -y install libgcc-s1:i386' to pre.sh for Debian - Add integration test cases for the abidiff inspection (#144) - Add 'dpkg --configure -a' to pre.sh for debian - Install libterm-readline-perl-perl for debian CI - Install libabigail for Fedora and CentOS CI jobs - libgcc-s1:i386 -> lib32gcc-s1 for debian CI - Install libabigail for opensuse-leap, opensuse-tumbleweed, and arch CI - Install libabigail for debian and ubuntu CI - Install libabigail-dev for debian and ubuntu, not libabigail - Install libabigail-tools on opensuse-leap and opensuse-tumbleweed - Install libabigail-git for arch linux CI - Move free_argv_table() to runcmd.c - Install 'abigail-tools' for debian-testing and ubuntu CI - Install libabigail using the Arch User Repo on arch CI - Explain the osdeps/ subdirectory. - No, just clone libabigail from git and build it manually on arch - Add beginning of kmidiff inspection, put ABI functions in abi.c - Read list of possible kernel executable filenames from the config file. - Drop abidiff_ and kmidiff_ from extra_args; add kernel_filenames - Just call the abidiff and kmidiff extra args settings "extra_args" - Define 'kmi_ignore_pattern' in the config file. - Handle builds that lack all debuginfo packages (#186) - Do not assume peer->after_hdr exists (#187) - Store copy of original pointer in strsplit() to free at the end. - Use mmap() and strsplit() in read_file() rather than a getline() loop - Fix memory leaks in abi.c functions - open() failure in readfile() is not fatal, just return NULL - Add utils/gate.sh - Have check_abi() pass back the ABI compat level found - Update descriptions for abidiff and kmidiff inspections - Hook up the kmidiff inspection. - Use read_file() in init_fileinfo() and init_caps() - Use read_file() in validate_desktop_contents() - Use read_file() in disttag_driver() - Adjust how init_fileinfo() and init_caps() iterate over file contents - Fix 'tox -e format' style problems found. - Avoid comparing elf files that are not shared libraries - Support --kmi-whitelist in the kmidiff inspection - Trim worksubdir from paths in reported abidiff and kmidiff commands - Remove the kmi_ignore_pattern setting for the config file. - Create include/queue.h to replace the _COMPAT_QUEUE blocks everywhere - Update AUTHORS.md - Report metadata changes for rebased packages as INFO - Do not fail the specname inspection when given a non-SRPM - For passing upstream inspections, do not report a remedy string. - Do not fail the lostpayload inspections if it only gives INFO messages - Clarify unapproved license message in the license inspection - Use FOPEN_MAX for nopenfd parameter in nftw() calls - Make sure to close open file descriptors from get_elf() calls. - Include 'src' architecture in the rpminspect runs in gate.sh - Make sure kmidiff is listed in the spec file - TODO updates - Update rpminspect.pot and POTFILES for translations ru1.11-1.el81.11-1.el8 rpminspect.build-id3e18088ad80e76b2138958c5562aff54d5c45289rpminspectAUTHORS.mdCHANGES.mdREADME.mdTODOrpminspectCOPYINGrpminspect.morpminspect.1.gz/usr/bin//usr/lib//usr/lib/.build-id//usr/lib/.build-id/3e//usr/share/doc//usr/share/doc/rpminspect//usr/share/licenses//usr/share/licenses/rpminspect//usr/share/locale/ru_RU/LC_MESSAGES//usr/share/man/man1/-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-gnuELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3e18088ad80e76b2138958c5562aff54d5c45289, strippeddirectoryUTF-8 Unicode textASCII textASCII text, with very long linestroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RRRRRRRR RR https://bugz.fedoraproject.org/rpminspectutf-8de12b2e2f752377f98637b08cb7664e05a4b1bb3ba8f0273dabbc2330a558862?07zXZ !#,N] b2u y-iSqk J]epjM-:U/6 O%0>If9cu( 7B( NR'q|*+xT}Ud7wY8[&IME: gCxZ>):ؿ$;1=Sg~ Jmfc(!68r:m֛0F!Kc(VfsⱃT$/e1z^{2_.bkd_YGp~'&@wy6?=fF$Jelj*`<nJ ؙDHލQ 08"7m5#k^kLFx i㣎 ka,I#)+=LE;.E5k&6Nؾ ~sf=e$_hS&fTAw.hPj(s tS.2"Uε"<~Ap\V/.:H, 2ȟOupVI^~_`DjF?&`DV6 o:/[4`MJT"@Eш*q6pͱg`Uf^#isQ^>6 8XЎ ĄjAcK^74J\nϸlZQU` v%KՃ3\ҨsdB+DҪDv?nn̵gh5#&vhe|lsUlf=2_|DoPâZh7|ض|˅ck2DIA<3. ux'WX@qU<H9 =&r[wD-l|Bmi*#!)xÃ\G9L"nr? ڲ eװ51Lw*SHo=PC&RG=:wk{/E54TWԓbC%U0'Y=2 w<= al:iY'hiQA/ ; *Kr?O,$Y<,Sqۚ,a'pkeX1.?Γ}A& Df ;Y7a@Q*1 }k?L.zn8`U@d zu tvk%nvD[Zk>;|4kIlvb@ZƳ*SɬХòyG "mL'o >mo_84 Yihկ No8 &_mZU'wށ@o{n} yzWudpkaDYw;kg'Obki cFPMwDaݫr}>mfKb7f\dZa>jAt!J(mELƤ:1|%13K4fFoHauE mw6ܟhrֱҼn*8=U)SR@"o"&f='*T(Dě$V"[Fj)uB9YVAO:9%!Nl= Yy \f.T%n)|dg&n}xV~" ñoʪVd=θ牕jnPrbΞ:bȃ/JS(5Of,BUBLˠ^-P5t>l 0.C*}?WAy'島|5u,/Fx!E5Z) }`%/Eq"A?d/+ ,zݺ6K8..vq0FW  (ȐD(^U.ȣXmX[[sfR먫_w-!)nN3xYc@FnOtohOBD6>nyC;M(\Ŀѿ|!kp{eĄs/A9=4hN³L+5nר3jۃHܒ_+7CE훐ohY`ep~a8tjx eHJz\Jiy:Vs< 8e,] rAӔ}h#JPcu@]ւU.=3sn-o%T I!4ls̕?#fH, uHGŨ]TFWgK a'[42TRW5)7S6I!b:0' ͹_XEri\Q $ul)%` I> lw@hB*&@EM +ˣxFՊ M'\Tr,@ NPzk`I?yi="aqWU|fcOkhqO>dg/~ h Y86Bҥ33~`BQ)!k~ܠØ湶>Ec;ᴱOCIo bw' Y|u+R\P#O?Zk57rYM0ݙ~}{4󜳥NEٮ>KF/4tgĝ* tʭwXz{b4ѪJ5h؏j8 Ơ\!@j a>MP__,s[ %¬#g٣]*ҝx|:v} n[[xUhŸK!W.: b|3q`咱8v/).[3)@U |}!$ǻ*9?\%W刺o` =biw0lG#;A'EjjppQ`q rwȏX ԯi?g$%wY\'j װi2Y[ƙ'`'2W_Ej[?ـP?$|b +?`A( ,Ŷ34MDOU:;$qq+uKӽL#ʷ< eaՌΓ5_E9?VOZ¸:^!EzY06짣b$X?BrGdϑ`Dr[AyB),vy+qN~ A"s+/؏B⸝Ytkݦċ 47gƆsh>%j EG¾e-SYeG ?}!Sk*A_CGf~GDm4=2XS.J,[Kh{F!;w/냊>(dS C->&/L̪b*hr'ғ\74ZaY/"0̋9RYg06Gp"į6uDb<ך(Viw? 9"mnrs#܀hlp?W(krFsL{}T@lI,)T:CI1] {eAn WXQV4I`ۥ ^Kg frK4Ix\4d(θ='-zzl]fQ#8~8 Q)3ۗ"+K0D%cNhF;VϺݬG*ZqԡN>=#*ӮV ^ Uѱ%Y:iSzv&%"ӓa~|T$5=-lLUWܦd+鸞;el\ZDTYϮsܤ^;h O?+"ltRDi O&7]Ɲ ~\Qz7>a7ir79ѭfTWdPJͱܝc?7Y:hc:~ dI`R2H=($ˎKgՆ|I<>ލT]sS?hAy:Ek]HЭ~w -T^V-pB]:f BJ7E{޳;;UL K6Z.i Au&ral ] ĴD)-g~ c$*%$[D=nC IJ"z38fC%[ Yq*e-D4#WG(+ylihԿR㊞&&[/ò}gp;xwn%.l^%^>q(=3i><̡g*>D  HޛMҩ :i/4]N.0ꅀw."_KVhSBUḎq.s}s \rGT Ǡ( VzG!\1AtŠOߪBb/]SOwhԦF^YoizPlE2$n 7p Y,YbߙDD@p>J 6(i>pCѼbB_bzXT:̍ uv:_! 8[#0l42kHV]юrGhVj_^r9`0'A(SYWRz%C˕9\^f72, pI LN"QL7|HɵjHs_SGwq/͸-VJ;dr6kx$Ta7cǑW]D;ِOhIGfJf D!UCk0d3S%kGlpYQ}]Jz2\praYy?F],x[Lꫥd_+i 7Nw>l= &d6M2:DQRT3«*W^4u_p0cզm#d\&;Gkb~&pLoX)ðFt7*ԡՒ}=0>acij,hxA܃[o9840 p?L%侹J\fqݐ],1NzfCcYٍnn`6W95 QAc2 |Q3RZ|/hG\RqwY+p;t$+]h.UQg-+e TɏdCcR%XxH%az<a#@s$Qk:sw`WXuv(v4ş9V0zȳΓx*-bG@4_^tzc-HhɛislsLk[ʬQ}R@SJ0i~LYk^p`J> PʫV彧 Z4ПwNK v1e rPY,O-Zƈ1*PПɆcXT,OI@TUË~ъ7NWo+@L1aUs_-ٍPXJAc$hT9+>=<~!&7o4[ƕ)W|YӴHw]9YbNpE<:Zf9.Q: 3jIr,Aْ6X$ޏ1- Z@_wR˱ұ1݈MqA%:4]av0&Gh1&ΚΫ! 6v$xed3q y,5/20@ofMΛډbEu6)#cK/nCeqiҊCܐtT ?35BV lO!#}"-+ &8snva-j@)cߢ+Cs;*Dz_`NgP]Ȅ8@ѥW *'pK4=z-{{6PyfO]{_IJ/' Gjjÿp"<ۇrD"Z XD ?%|CZlGTW*-MQUCUsw蝹#dv;W9`遽Dm'z|ͷY:Cs~D3a9eY Շ皽Ld~濕O2k<[ uA Osdעڦ>\/;(A3 1O$%''a*"#m,aY]>hv|Nr  ʯ)$2"rtH-$#!JV+S P=8f$? pNѓ cM{Ӎ3ykݬx-Ҹ3;a5wfk7 NnҌK1ƽ[27A YeTw3"{6O9*y`]b*oRR9VS ֿM\\68ԃ(8i^l?89NA-b Q9rQ_Y$4D<_`hs\áGG_L>ll;" /V P.]wH)E u);H-:3KKフ0:W!!T v~f9pp?[!EM#L 8||Q|}6&)V?hXaԶ5z+Ωyn_#E\ $N"eSP0ضCnf؁BCtJ0SE/;VP:M35ʫ{Z2t~urV@F!Մqd-" :# [d+t-`FslW6#3 %==æJ U'4bEQפ\bmZw`1B>&o>X0z"/@qݬƍ &#f9բ(Z:jvku7 [&f;w3cl;,0+W~ \^<M=6g?0[ q,<7T}:A"ҏy.L n~9mrCCݠ/845WICeHX6~3-l(?\|E 9Xp*ǽ;ͽp ε=iΪ`)"N+9`%mJdzIm~:]"`m:x]&,8eǥ#ϹAnpB"'XtdojТfoNbn_.)Al!tyD8yФ'FGfT,QyNlc戁so 4KUW% M&{#@ѵ)3&گ{D*ga*]!X?i;)zUC+@0M+m#dzTRf$*u Λj·, ߷saDᦚ>A\QIyYC:~UwU "LU,TJ)!=ڤoE;־;3OeLu|Nm]Y?m#Dbrtz')bo)_IB~IG؊?#?X +֊~½/OԴF-EC/?8QBhW91'Vì.kQSR~];o1і/a֓%HJ֠ILHljRa|& S@5uaR; B%<; uFP:"Ⱦ<r ]mAgCk+kJG@V=߸-~μkA `ꎭiPVW.ȍVSKW:xĭ{*8Ү/h_K=AAď~usf  .?Rٛ[gN~W' yF{ 54~Y!7K1ɼ'[2;z{Km/Ez6Q ,Fd,z4dQޏL 9D#PB3H< =4tX"G9rjHm;&OɈ&FV|nU]) ;oA%)D\$CR1^m+i7)\qB ڋڋf| 蛮ׯ 0xtsmHM0fcIۯ gԝghk԰y9젟Hn_&3`xirC:B= lY2S}8_v΄ɀ2(C-=!ݛfA,Ԃp=j2IVAp]A4(`BVBS"ȶ&}ha H @Hե ny>,N`(5 ~L%+;c'Eda#u{l۶* sĈ>=]grm8xҪC=ۯIV4˭N"dקj*0"pVRbK>| AGF" S\$6& #mJ1EN)Ar1ؙz0?〛`yJDL 9cAPѐ)2g uEo`hj7 ܔaoCwKvXK)e uHUtqзwRO4Av0d7Wr.>/®\n:O3^h$TC։:o` k"I jQAqI " $豱d%'*Ф_TM\v`|5A'ܥ8}"D^ћss㍪Y%2 h4A,0 #;vVJTSJMukl$oG&XVU cT6UK^4n'ʗ1d|z5f {A+elȾg?{SlC$-qEǑtĴjWd%4 w"" {Kuf%\VWl|ȡס/x녨{DuT)>-o?>x5X܆)"]1M1%2- V]0RvrfW an  ׻zBYOcϚw[lC^<}9<7mEM$I+c?7в*8!a2 cg}y1kmXOjuI&¼@av@(ݒ!Zs6c0 ߛ2";<6Cpa/%F| Ld^Mz 8KKEVϥ-I%yJZ7 Bn`3TT4Q+ѿ\YtNjWN(mG[.Go,ߌ6P{ܸ8&iN)37픵OE3;.Ff0,ٙnTÉs/J,V#覒)r"u3JN6o $Bk*mEpY3ٶeYьM(*+/)1Bs2 e;|X^8|6H](w;_4& h*6]NE-.Co5a̻U SIwA$k(& `:'7WVbwc4-Ǻq07 AXX Mb/av:=#怘88bl#3+]Wt\S燈5GRl,Ie64j6pD @4sBNh,%7b?(ʞ"LB>J׸Ƶ07=2_/AJ kmpjA8VT.3O)qCGE{+ T.u*NVQwNWɼ&v*FP$$xWL,pP!j!}06Nb-Bd2EѫZ (^Kbu F&.@?()U"&:=tnH膸ŏ[P=Wz{>_@Veap%`o0yq1.S<훖Ó C(Liol6F4Z )QtlǔMJQ?4R`}>xモZ̲uFEgDv;~PD8&JTa`Jt&5цyO4äةͭkZu[:KXYg'p >4˷ѓX=[MSls',S~'a+ f |9l^q#'E39h.$($IFI $43Ĭ W07 Oچo$:9O*w#N0hH?q()\WQƱQ^6lGhSNZS# l"->"iz ,8fjr r5F Y-ʊBh['MIs.G~`R6.I?V/-sѡ%|eDqH%tM1sg ipnu5b1|PQ rLawgTNh1DSZhj;Ѻp* ||bS6ё4N>,kBl0sgđphCd.S!rP|'a[Pn+C"V=0Puj49b6#=3* 3۬_? ^-aBʝ,2$3mdDV}т~gLoPWjrQRX#0 oi Q̒}Z0K[1,q$x)7)y&Y8)v,{&^c#ȩ4d;:lw"/Uz[P-G:,,Ɨ`0e=d@bO]lÌ<[+:SưghK!p࡞o;SV!'nQ΅]:Oe,Gh婢;Uk,35|]V5!QM2H`ڑ1&Eٚ:1H)3_$K!J%;| K-LZdg\ ):RVP54 lݧewC:A MndGfl|ڻ:15^|ڃCYo߽H%2c馇ۥR8`'s4LMHuOs6+n ݛHv3 ut5WX!}՞Oa-^аtOXiFJe\$š&dmmilLP#{uҗ:pC.IWx- †u~u/ B^2kB|n|CKW2v ƨ>d { l53Jg|tv3$Hz)«q탛&F/U$ұ>x%He;wtsx6%GN$~͇pxm~.{~v݇Lq'6Dj+%"p *7[?9-:<@Z@ :5D=8i֠ EwA b{C񂊰{ fU~뭝ELbn8C[50Sҳ13xvgЋƕ.tLPEMgsD: MMN"2QV!QĒ",$tn.JB ^2Ƴh2O B`O['&QzZ͊#]zuu(76Y&b)q;/e8\P-AnXV2ԃ:wL>X55DŁ +4Wf@J譎I=" ҳ{0cu{I=]8Y\gctAZ+ט0wa4-?\Qzx|?-~(H'C_ႌ!e% e1< .z=APli~vA)RYψ$jHV-vӞ4#l @m5ص:Da蛉t$Pr|VWzI%%`ZW;ԅQ~WTw)`;Zkc.J8$z}sq4873W,^XaF&s צ~3(e`1Ef;rֆzZ+I ֊/`mZLb ERBt­ VȘ_r`N=Z~=ӿ}hX9e`fh+@j|4К5v}c_&M#ӗIyQPIMu]А-s_6\" \DrOg;YY}2ưc6$.Mv0j⺰#6 xhqpy[uON*ٌfzFLfSDG&j +Sԩ|kC8 or'fHz2R'+Y+yq"x\f)@gF Ss_lh$"ƒ !זd(1u1'[5{>L lCnwб{c6yg `9.tHGW$'CMÐf~>aۑU lk,Ӂw3߮sNcf'"БEgxgr= EZX-CgK5"?|@S|@43rs_PD@>ō,R=`"_! fzӒ\dV{t횜[!Keω/b;t);cR<%* iǑ٨7!B|B8~OK\CiV',},l ~p^D ­D5!/D e$xwGexfbHR>:]g NQ. zQ@),(34{y2A4@9 7V>u3ZnfavHEL{s{ 烵TZMovB /#l,D2""e@g1~MkKpf/T^[Z0B|O n<:CM\o ^*c0*M6 S 0ϼ@r%3674yTV8f#[J/ ( MwtN>Ѷq>pl|bf)HUBiS1ܘ4tV͡!4t@1lR + mjxO.q 稄fsP2NwSIdn P51{q9VP%g*c窎R5$M;cAM<Q{|SJJ<ܕ,+9IV(`3ΆȺ}:JP}LpCy\;:Y4I»B)q۷h~nI&TH嬝KNUugkؠn| erv۸] =K5%*1i6JDkɇ6B~̤T_( Xh2˸vT(ifGYtM+;ex v ;I>K@964K5Rco|-Y)-_6zYz3F/KG1e QNOĭkIuUD'ƣ8Pl.]$F1YkQֲ:tґY(‘Cס|R'>y5L+dvfW+th2Es #>a,%4 D8aSD|?c h`:QŢ{]pM-]. 蔹Df |8 ĬơBR{nՃ+b/WZk/0=( ;nZsvn| `]loH0$zN;O\ Ǐ-DFF$z'QJpЖ7L@VLP^2e#3.@ϒξ`y>ǭ`3f:3J :~JR2ZWoFne'>Gb;$Q_K%W&^%uij''D߭?:}0=*jkӄ5Fu[U/,eDz=e(zAF@\2ɕ6 *Ԃ2g6h'H'@ICHXeD41@]1 $3Hmo;f3%򮃀6k30"+ CJ:RK܌\;D]&!L7ah /lK T~!{^쨅&TM? a.k*+LY( 7 _Ux20-D~M.n7KE*cx)a {l|화*e.D*)}#8 :K}T~9K v޺oph'POxpw;r,Qό{[NM<5R2q9FqPVJCY>C8$o4|Z#ZY[c@'49J6Kp ~w 296Tdo1s_PltM`t} AۥlOID}kHqDÀ5ʸw DK@%yde2Lt 굒4j( DW r]qW3#JH`t nKv 3ɈW"sNfh`1:ВkHrWoVD#Jha98TÔ3Ifj>Mz8`rY*z|UTRhw.XY'&$Ԃ?T0T 0&-QCA; h|*Ϥ!õ҉͏FjԸ*>a8{$2]׀ _/l,K.XUČ$J2ɺoɅ[:kLMU {*MMpXH3g> G℀cd1>kJ>&4ωx8vpa?<{'o'l|? #<#m,vGoݧ)p^ԛ,v&=D92YY!F{}8Zr+uμ8|h*w0V㽅(MYko39mPVi4}a}3v>MJ-ў5 Вx kƗY;Kr*fnM ͤk] 'ݻ߯to ZٍHBqX\o.[c6|kG㺑HɓPAYYe7(1rQޢ"&91xoŬCdGzS(]wGd?5qdZl=77ыPR6 ֲ3 Fwh>v?|1HDÉ~ &"\5F8S,Q\;~Kl_-38yyGR2Y2r>i}U{X$n[=) >zהȠr[k6t: L&4 sV߸erɖX3bi[ȸY[цt$Y~C1ֳ2KM [=\O]\%պUXI!,)?Ww6ǿ߁aWMmO)B=;TφO*;W`$AӄifVUcox0$\7R("X6DQ)q#] Hh ȸ'zqؘk>'}(r9*?gjGLw|M}G\h}|qX 4q_d)W # (Y@=j-(jAK=U55LbF Qtܮ&!i,Hívߖq:h* nxxks_Yaә}~ BWٞct^ڝګ=&,V[qFmdSl;<~EᄵFY-9$E($VǃSN2hY23v oRgǍ:#YhO~50ѸeP`rz(uIk!~ӹ7 @a\๎j_(#?P+aJ݁ $/xl'ƽ.xL !ݓ:*%/ X*'B: FFu錢 cJpjjd-heᕩ 8&/1 D  Ń/dO:ꢿV,IQ+hN+!Q2@rynyE!bbL~ӉG# d4eN3+]ЉmzoH\!u)73˩/.J'gtA ;3' \tpt W5k,bz=!c(fF={ђF:oïSl !?QjkY(7"Hތ}tr' 닭C]j#r'uRKQߢ$MH*_|T^,N= 7M_Bzv3b3m!L 1lF8:Vcr:_;*C%m_IuQjjo-07_rEWGFi[Vk rSoc+ A4έBFW.nH!lw;4יZ$T}]v$ 7[ i?[At׫*3@! ۈ+'auFc=?qڗ]%ݺ(^jLAבrtE 3>X$*Y ڱ$l@Hidy˨wPRGvvd#&u2̧PP? hE !sےϴV8W_qw%P/ Oev jׂ q( WOCʛ{M Xأ/1+utPP(&p]Os\/m,ʠIr-ztkWA87>38u9l -Uq-$~J}>KT#"H'W)%9b7m19wKbV0a.`ĀEn^JJB ,a2meSRp)?m\ִp~9uDD$kI G?1 Q= ҲnN&A 9#`(RHw>s/s ߙUP"5t|m(p~г֧s.kvu-Y IS|IVF=nBN$m$^Ti,]]-)]+b5 E_w c>HF&:|n/"`r\A d"W&Hfk: i1kHmñPDN-L]=01S9rq=YG0Gk+1yE^T= <:q^irb!xd{ b}b=P lӌ( Wذ[!'.u0L21}OF ps匍qȒ4a:#\|4GvaWK;[AWCּku$p>l>7fVV)/=ZY&YD{^uء`q&ij/ h[,2<Va $"Ɉm XH >\{O57>Qn\0ǜr"EAμ^jf_}\yy2ڃ| [d'R~8}w>V]ZpFa@?5~9(ib帖~75AXGL;͒>0T=]RKBkA(Phh0]rAqVL-LmD  ||)Yqr_F/uv#\gJ#Jx/t^SJ^HQ% | UqULwo8ۘ9Hl (DɞcSP|8U@AY0ZsGm}aY \MӞ}\Z~6o&\<)gx`ԩ "׾|~Di7ټ L2٨c#lwD5ֻxn.2h XL_DL@ⲕ?dlVPF_zyqGiuTeZ9,ƽ\fƼ!?E 'SUǤ?iY5Jgb5`; ۇ ("䉲ϸx^(suu{!GyƗt*A}b͕'8j;Ylj˙nouN ]/5*2$&ˠ;+he׎!9EaB-45ӖonmΧ/pBnS ۣzKe=k*׌s4:ώZBnBeОdyeG ae<'<ž\,qk aO2axUMC]ŝra~4"?1SS*Ӿt774/1=f=n Ұ[+j)^zƘH5b~ ah؜) ֗]>ofS:QZ?-Ո^X!٧}d9)qCfi2˫F1.. nd \U-U75/IlĐG<7wc!cEyRѕ:DKSˉvWZrnV=N[-BatlHʌ_)Cpn`ٝzн\t\agnb$e\cy̌;N)jRE3P(,e1@*?=qg䗬7>R<Ĩ^>n4=?V'7!آ0 ӰMm uzvXP㿫*tKb<Ⱦd0(qP髊N_$Y{fKiUQ6oّk{کN,WA&0l@-2&i`9MZ?qBQM,Qn|iٜGJ[ QUuT) /d kLvoe%[[| 9q vF{n {3ĸ:g}T(S'%G h̩f`T pBDWt e߃ᏟL&fݸS.XVnW5R!t,xH7[dTsq\(S'4hJ &DtPkwEܺ?'Hč ԚBGpͅ^o:FDVω^?1TXzuJ%uKb=@8;'7*pSv,EvҾ*=Ik(M{yv/ 4FE_Tu6 Igu9r66ё2<0y̞x CAU"faZ%>#vcĦ"^DsPGl[)$K0Nz G<Mr8 ,w21/ivznt^vrxsi82]Ldf¢(*2)IUMqV5㟂AVH|#?`yU` JwODJ,m)dT-ʦMt~sqkc@ 2 =PCO&ֹq8 [y.}M_va3+kciHLnUD6CkO3<҂ Ԋc0[DӕOm Z`65х4w1ich'\DW&ry' CGDjEs]qSǢh8vR Qh w;CW=ɀi< ԋ \LSǹs:( 2';V:CIEvA 6j8x=vXj%^_h8ZˠA {ܮp+ZHGJ4_u6SQ5 Ok*VUM!ӣD" Ox(lv_CYI)oh#FV>|8EcJOOűt8\vMҮ=mR}S/{TQph9yWy8PެiӧҾ6wu~6o@f!hݶ;zPl' Vw,рKXdbvJ?I/1];wE֝cݕ+cVD@{r+ 2ODYl$e ݜPWК4CIbc^HrՁQ[ 1BtYB \q$< 6q\)J`kOY8ǯ oǵaLdyh]/2wڲ,ӵ&D@~h7~/zVzL.MϡZ7"k~{[%/E RJodZpNz;5x܎%Y])!W")rO `}Ϡlqiy:۠d±Ґ]C};5Ü8?-ݢ.;+7ҘKmW1\,y;ɝ#~ bH:z|Oc%}O8NE8y^AL8c^MY 竡R5̮s'qHmz0P۳`ps *WsaF6%\S grR'5DOʱWc/K?x1c77?0.PrhRCtm)Y0}Te)dKMJ ˘)d4jʄ_IKXsEx>Ei{ WS.:cy; 8tU4-CDk NS4h_tf@&!͵ ]7oOhnw6Ru|Mq\iyz, &T'KF8.*o?SwI K.͚|hi\%_`n 7 αN.hkꌣاFIY42:'.}<Ɇ tF"0ę% A|s˦ l\43 8k 1O!:1W>'O$4@`$Ǹ .,w ("iduD%t+ EZrTXAD}0b/SYn^(N(%:1ISuzr;kVߖmd嶓JэCnт")3AHARD}C"]]+Nj<+ wMy6DHmcmWHR 1"xB(L Ftf55PUH.f]=^`tg*Lw!C[M`nBWD!vjn.M35W qECq0% *0bunoW}viC:䖙:gW(u OFϺD.C?r߄L^d?XS}sϣ sJ LnlUf@U~Vܞg9j3o^~NPwPt$]MMCelxo, gA9Vr73t 2PiҴ TOe?B3{rٍ0JRLg_iL/(aAa-?]޻([%~~V"p+f,VI4``wr]3,4 n TjcL-vY3V!zn]cNC`вe=nIRp{RD Ɛ[p/i). aiբ@#޳ eJ@_DP|V2L R= gюK2[ҾxBjy/;e'{kj!y2>;&.0N<=$> u͏t,=.1y^Y.J")M+:N,ϩ]9=s0R4 `_83 0{2ߪ% ӕ/`ok2MTl{{i=A^Qꣻ#IƢ]?Bš!Hxx;8e@NOk<: "=:4<0[=9s8bSjK B_9݀RbR\A|# cubp $ anq_HMI? \OBj^{G@0TaIt==$ Q SiI|A>Mbui>)ɌDssD3BS^HQK~*K!]H{bDC*ClTGKrCK;łHDuRz5 {_g X"]*.jOqW/-{2.nC/$;?ss*4^h> lڣ#"lw uXQ?x%FY-75QcE o4sPԁ: o P9ZB|q6(ς&ESZ). (RkbRIV|+fnDGIUwSvzk 'i<'%zDXOK;GYםn?Fc/yW ޻HI'xXt: =1 (ݬa)Лd&/3AjMg#|v*6~)Z5<[֜ 5G:vAWa{e,2BdZW:(\#;骂j:̨pvdT?4['*k< t?>fkfy|p)g{͘#*K AKP*ŒfЂ0.]TpfZ.f4:lm43͡"q!|vxo1< d;iU͋di˻c y ?Retm@3£H-+5+fy(݈ K]e# ⡡ȸr ׁ׽ m>6NYpfJ);T֐DŽpd"zze5%4,Z8-y|ZAo7l[J8\Ģ_'\-jE TA#4 |1HC4 */T<_'ƻ"rlF朚P,62Qax'a񜬮֊ҕxTVG1R+5?K!T>[q9`ļ~1n!$l铀q L+{$ʚ!3H"*Vkl#F`J\p=VLT"B5 ܏$ `֦˥攩>M#e;8K_Hش۫x#.XD=^6Shv~[e| agHt!/Y\`xEF͌#SSq+o);)9ZEOBOOu+tExҲuI|Niy -R &ϟ<  l;[ 6 ;NO [lJH%gpZ׸*P7pq*flITY>$PwHa.,q'L482oZCt Tq̟_5wyp*Dm0^\zsd蛀$f &2VtoȻU_`R Y\5L[Ʊxz`U?lzxIL68Ώf40pVөMq\2$a $n-Ctr.N0h = lzr .:o&'Kǚsᬋ$IE_-suol5w{24SؽsTZгizIFL"V`+TT@jt}ŭU;hAU+|κV͉k( >zƅ:x= -enO ޹u0J`[/7nٳJҁ8?1I.HӦU VqP~N;T'Y0~.5y2cTsx[w(T1>_e%.g :@,m2 +q*/,*:>jE9~ `ܬqFL#Ev4WԄ be إ9M|FLwXp+N6 ʼn'c91E;Z)]0O& Xy1eH'\Q @Iv?*/Y !7* RdaRQSg{e9riP3nAM2U]  6]J(4(LMsA_/znBa-`CާmFy&3.=Ҋ`^k|g`R\*_)=h:+3ƌwim~wQwJ9!}\ikI {…9d֑ aV,G9/ʙn*gXxU$ޘ ,Q kd?1Ԝ\≻[.>2,Qkڴ㗲 [B=6k,I Hp>bt2A>Ot1ȹؘfiz+7*( 2bWڐ/7&wk1&O8Wy_ۉ`9:օϘ&ܦPA0&1v|Qn[?W)TӿWz?rviFT %. 5j?f~e6֩a)rųE5FTFjw2!Hx/QCC:$^rOUݙ\'GDҬ\]{?#FZ7%U;dLpzS]aGc% tWB;Qͦ.؃+Di8D![ɿի \SjcYs]oFGޚ&d(V!!?/]_l mAнtE8#d2ZC2Nƒ܆GA(q+L_I$ X;z70{&:)2>1yO7+D%\,@f֊ Y΅͊\Y]K:{h]$#S;1x ">B]AVO[ò5k:҄C2 !;+@>AZ&U e6-#D?A`Ԯ(\a|*2nzmDe.e7ZO9CSX9[l}Q_ꭡL %_xKl$\rx`1!I+j5W3hsn @ђhh&,`E+Ct+E۵6tWG(=Jp_S#!5Fc }Uh & 'DK"@ЫgU:a%*Hq7_0~Syuc]<ɬ|H+ 7 _3l+]a%6침Ѻj ,)v8d$CήA×{l/^]s0I*Vn[Qp=AJAdlCC>ab{ K q ޻^kAhgшaZe#/PPˊD'%"k5. C_t1 $lHKQ8m_^96B{d|Lx;f&  x-7;|̅859DY'rk/Ai"p֦dh t1GjeHQ{F91kbNMJS>-(Hj&%1Փ]aB*? &; \~F>c`3XU7ɉ/ Bz5ASZ|NਵI5 R@Ib!efӽ4t2:ҽDQA h{(0[練e=Ttgi^^n:+w8N# F="/&۪wv=V3b@0Slbqyx|=KMPcl,$6TRx&R9E?[+iSp,j-cAἑSd|F_ёFlM p6`^HFeiQJo*LN;;D\kBԎhk =]i^03_ r.ͽa] hEkߢ=`ۡ;|55glij,"H6VQ!+ cFzwL g6O=??fqMN|iS-Yģ:|"~mX&w4Z9Z #eWۨ'zo,ǭIlE`Iz͍P0WȺ#h$BɳlL-2/FLy;ˤJiCVd$̗?gLPka?܀5ݎ-,S1+"F]CE,wN+>GUdQ<7N Bv*ܝd[7Ħ<ᖺ<ˮbⱓVJ[nf7KV&ÆEl+fE{)OIu:PVGc%cB 'rlG nCxfĈ5N!\j`Sr+bP&J!{r:Ĵ~8ZY:R-}\IQ|.Q}v8knI=t("ū|/#R%;RA58pЕqh{PO2Q @by੥ sjY:X%q1>ѡW^6e&?Dż=+9%ړQR P)9?(@M]WLCźv0X?&R`WR:Qʢ$[e1-&x'5":@'&ĵ ۅ` X+tx$cO_pdq¹C2a QGS\!s2tc3P zSZ€s.erVa8n%!CKun ymGȡC rf{ֳB Q{<j"'' PFs~868 :3LXb@C)8o(v{{4_vOc7̉ltF(r J%Z1ǵ߇`U«jŷb>dl*]F-I޳ IX4;A6=neK܀3-]gfu{%= OpXUo6pPֳwtb|I~.䍒DM̈́8IY8߽Fg!PI`-*~=avXYdN-AjzTyTNvcvrAՇ?LxrB[_"Jie*5KmAgl Is1a_]O]VR+*>skl9 ,+;OĚo驵I)$rMƖj!=:WI<"я36~V.M zF?!w:w[> 3ʘ<4A;^ဗKI{i =huPbC]iqOfg1N[P#X9^[b,qHF-=*XڟCU :M!y==کʲ0׽˳>w1saCRѴqSڿ;+fM3QzPte=5tjҒXraax"ĽL_ f65tQ!@X/7=ִCzHU 8;Y;y$=/C} 9m ~::6NEVPЍN]ئ^,8D 3#Vwɬ T6pw-{>E"`РMms7XZ.$_G*-uXN\ 8Ցw\9>Bw9";>zu+Wk6*$n.mp-E4G-4Ddsu(Av H?HYJ UxB$;u0Vybş&L5zcKjo;'X2 R"֝$( bEzspXTF/S1i:C;Kʖ Qr/=qy"| 8&̌ dhDN.)6-KmҨD٤3#^}wl^Fx%򷓍.Wbޑ `t_N[kPk(tV@h,3sgB5M7?ppK;{&PuQ XJ:_TӟX&6X랩#M'Ѿd6tnDXU {MR`Q\$% 5kjAQ&KJ*Cz zr9aofA didO7<2fdYTy7QfΥ9{D(R2nхi51 j:?$֍ n )hc:Z -XyNb`Z\8ktf<:.sA# Y uX,p^No<"Q8*(4l7, ]jG`mWx9 \SZClhtxիLs~bޏ- c492箰iq~1~[ )t+'.rW/bŸ2#kTS iQ@9g\rE\|ub$FњQ꿱ͥKd؀l&Z!]5a$\XYS} z_%hjxe'eW[/#{iYWg'5|r$R`R݇l1Dޘ shk6.|W^nj/,}U΃ !E푙(}#;RjVhsxTVČhǍ+ ~dƓ]0a.b@P2xI%| ‡!);}nUCK[hTI#^[;lG/ N'( G7󠉮́FڷnxUkGFeB9&\DF4rdg[=gz| #رz/MPsQ{΁gn\}| 1yG)6yD&|PۢcZ`s{Βvi;_(6ˤ:CJw^rf-*XC&s87Tl+S6Q\ hcsוhG"vOe6= ED[]L[Qs"(WKNfs>^l4ȭX2&_4tzLҩIZn>R][.rs k21ݔPO"@+N}cP0LG ,\Fr^4qD&Ew`xt\5Q92&Dm@S潤pk{ʞ[Y+ VWsY5C{Vw gA8OAGgZ6ʣS&#JDw֡8cgA%[v6ϨR˂ oJ9 g@(%'m$1@;`/3 wDdDՉΙȂsE\ _i9-JHC9 "x!p'J^Z~( czM\|[_ngMXq,bhrdIAs\|[hGwaT?Fqdcv.LТ XnYy;t${N}Vgߏ+?4(tNΆuUE2׻ςUzpvNCLRUo@mhɟQ+ _YCj36t.ͭ]rS\c)NeB}=c%c&+ڄljHb:3)C(;aU~pc_{Whwii|»]IZ>1PYq v[Vng]o>陗6o̸~SQR8C$,cs&C0~/}mw_NY՗I5YkmZCuSEh~xJ-Dۢ7lJIhKִzxu9X$:X)n+TN*AG]E755LOTj3T/~~ ۜxf@^'T:4໌,CAj'菛3u,cA8FA/@V]aEfw/&Oػ[QS^Hvx'(X4;&?x5ը'ک= zzэxH7lC9L{cJ-A]/>YNœOc$PxӶ/tuW!c_oj~#p(-q%p 8"l~o3KxNG03g5^_B2>P'o%5:]UtS8vZJg7H'ɓ3g!Vs 0 T h ^@,䆗:c1Nei:R;n@zJ,QjbgJDED4k@e0&AK$\a Z ч:#v^h{M^G|$}M#Л$cPɁPijn+NJT齠=:͐dҖ ?qfq:mtn-.:q ea}dBO;f ễʰpzyN<|( x<'@FPTsƚ y׎BѧqGL]bFYnjkP/n'*٣[tpH3܊I>"6{+9Z+pc*/PX2 h=] 9/o6vSJ*FZ}M8¸_lxz .?kB;v069u-$;MXGOK #l=*Mg'dMDsu |q V ';H!&)=)PcvjpjJyQZrɡ+C-W&83OͲҼ_" ߧ߼9 N)/ AtŔ:[xJU3g!YWv:x 7sd _"BX <-cԳur orh;x5au&0ڃVůt/YMӿd7Fb b~Xa{dL5@.SXA>G_ok0M %oY!a;YIu7wS9G W}]ji}d{;+Y;A0YedXe36" [8֙ҼiˢƽTZj XYɶOj ')vKs -ry._fMQquSS$ڮށ8˝*q9`(w~ɐuiSV!_J/Q< lH&q?J#8Wtš?Hl2ۯĢb -º\ƿ6sHqxG"RC6醼M6pۑ&roMxyv=lcA@OIO69~YGtb1Щʦ3߱u7>FPEi>tC:Ρ5ݽٶ<}f.@UÅ,״d(WCcV!ʷ}b%Kp~e㚀(iZX+K o\BX+Js}"LlG"'QŲԛdc5N0Ë`ʹ騋ƑrѨ@k))TF9kƌ\Cj>MC }SM‰61 ^$&B%li[12gdsQȴ64GP? Jźq)}Fwhz17g?%0>BYm H1'ڒy'<mN9&괎(f#&^4lӏ -vHmSD`|uC 1[ Oă1FVRQEαs%n#[Ǧ|79r9,.*<N\u vg:Nڜ±徏qNSmqZ~۲0?e( C^>KxL3X?=R昖T˻0ۦ}vs"]5+lj瓲ř1emAjdY7gQ@Nj NJE=u=5;^Qa3@0;Y;~K ]OmaJ$į6HZ^Y1F>̴(X7!iυT7LrK(4k@[YnQcXM|d%Yɾʓ9m4q_HCP#G q刐ɪ8;b/;(ʅ΄0b/\ d,cTeݝ-w};zv yL:w5؇\`@sn{-/Kl$|Iw٢!6 F:6PZo-,vAubi|GV$*$O ˤ"?Te=+Ժ_?`|z}/p<0jQsBX('Wseqv\C*򺂰ZZ7S8͕Wƒ?V>=,8cx eiJ xfJ"WC+p8.zzɴ`ֲ{(~zw =Եys ̟f1h {!Hҷ)(~_I 9Wq$0@vT+(O {oOU!,ʻfjEawrr"bl o>t, __H'AI !ڲoNJ@pM9SQa6#a;2-72FvVIV˩t|_J/ҙM፹Gfz[lvPmH`24Y_WZhVpTuJgnW!I2yP#кi~گ'l88#Y~/n6=T:m!eqɺ^Ǽ&{-D6edNbUIa=)rR`u xw|:+ZOh@[¾WЭ&a#b4ս"ށ;PS yU;TSl^a~/ ek%h @C􊤙Zp})-y`U[GZ>i찐خ IZ@=]O-q<aIYjt}Dvll]GWvM%H8h1Gk͖2 3ި8.̟&Mc2l$0skqkV54URN25leI/CBS.1Ut_mc@D`ě1ɃYʁ{cDDb~QvU8/f >!]~؏G>Hy^TD`Hi̿r@,#IWF#6ynE niHw G"zK縮]ۜ(Ӷ zZ!1U%e[' $ Ũ r0dVx Z!8V|Lh4/|-9Qȓ/hd>*Vf1S1 Gi0bda|. 뱂Idp*ushnMƽ8u3O-ʭ7|ɜ;(素-39[*6PAd[4?mNWmN ]'ÒzgX3ϜaA% om>ۨ0% h1|%G$zL! ,,<;7g mUeV jJ)%xm ee~N{0KmR8m\-?N/[I&q_T&I3#Ph$\ſdRU^S}'CZR_Qڱ)(3k"shl E276TI~j?a3y SgPuFV0 `D:x>&Ԯ-E.\o;A=!&j Vz-[Q+&>.@Hg.^)`N冢2] Γ,t>{7'Ӝ5u5ig]BaM kG2;P{dJ;)ioZqȠrag{(TZux(hmXq RI^h>_msbJ.<*EГ& /y ܓQH`r,+P<);pߪY[y& sL4!I[q O-fDb3^Q OֽZf~(uI}ޑVkfqFrB33^9ZJND\I+ ?9/Q`Nd{X739e;C'R~i{pLX*]V/xa2oCo9 U U " y¨]*aVԅ>y :-퉺*sCXiSJCLHi7B~C'ٮR]S%h/D`PպT h ] jTSN>wJyn_F$*ri=_\(dE?o{7I D?U| ~DTڤ H~1ղx( S8FZʼLTINSD;Ya?zd'e7k$hqbƼI ), 򟤁+uBA@$+G{D%^KHLZc! Y!s!60B7IJ(3^(dM_u<%9Vq 7idWzqb.˾j胛OƧdE<-7e,MG~{~ЁGHTkaX9s'#՚U u@.Tq՜|Yȣ*ԼR$Ύ*WW5*T zFG"8=3hx5)?Ⱥi.`1Y)dh @Oݔo4j8(zL>sk+>,_1|nlud;R7tW~-F# Re5>UnLQ϶e4s yYmu79vk2Ȓ(7\3:&a2x!B| +,B/yّ@e/*&>uݪVsSŁeV[ፀf^ٟ確:Y̝Gc<`X0'J)S9Gʝn{08%"x**I\Z"GSjl80)F+b~m*m["t.I0 5.Ѕg̗Z=g[ylJ %@ks˜ɝsJ.<N:~:[x|JX0_3hiˏKG*̧!a܄gU 6zUu ֙/1$uXN : UM^:ny3rTw6ݜx`S jJ /$?(:T'*ԍ{\_/sPgdYTs׵phſ3!өxa?YlƎ 4o,2_!gWXfH59ǔi[$i>qK/yY.ivO9L1L9W_҈ @ MkCef5ҦtC~/UZy;D459ku2pONkf Lg r{r wkYfxŒ/VĦ&1syWNͬXCv餧`dPA0.1 0ME9[`b4fc+ݎ!E I{o+ZC,^[R0 E,@ȊQIB#]3؇gs zqr(Fp4t`g*׋jSsXM,גOn&v,{4 Y*GL 5j?/J5+7ryaSyT7U@Z wEU*1o#&P"ĜCڳW%Q!vB%bW+уs n{$I5`A94Uަ*ZN7st(Z`2GP Ӌ0Vc&#;*÷aB(ҝxY4ln 2pN 빦ݮ m3P8]#jYX=TLaS"Qeʷm-7lgd1[$h5 CWc6ACtYyuW״B5%è@MpE~> 9#tBK,x ky lzs5jovL*WɬϭAX2(<5p-84n549\@N863kMZE#1s iDGHrX} qTYYϺM'>V}zGv;CC-_<ՄƠ1WuZzV1>ZwE K~P+ ң_{{P7L|S|HzS7Cvʫ64& ; CA$a3U ĝFn WzA𺜈K,NxWTV&U/HM ShB¤ʷe߁xlyиii| :BE>E*ߕC]gE*fullA|HezN84հ%:HP[~z~Tȝ,WQ$.E.RLVƎ'tiG^#MQkV4$h|2}@L uHʹ_F8>Hp|6Ue +kyqv}&mëT ZWmDJx,W}(]eeފKgFJ#k2i풩1U߿8=;;C5&.m0%\O dϕbd cb]PG~YϷ.UEJo1e+/nPLuטkbvbqѮx**"\0i^~&lv niyx"_qg8K]ĹU)]JPZyw"_0 4{ /94/<Dnk*2k!E_܄L;Ex?FsެĀqΎ6IQtGAn%HH#S8( _Hg!ߣe Ծz^mP{: $GK"+[jÙC6ߞ;zM:7d,l!v1SD(1a061~ G@ r,!F~U|3v_D5NUHnr9V]j/8؛/,_mfXO+ {7@IhN1fxH4&"W%_9MT&P_seC&*vx84i s%pZKh੎4j"o9PW)4xg"LsX@_X80rAM럖 YRz(|&uW 2 uln\v_u%'k^sptӢSZɖi _e.&R]A.5ˊaL^,/0- hqF2a[\.gce`" 8΅yogbSQNn:7&G#YC)+dSbzk}<vP0~TׇY.xBl7h/LS],'8NxW{nv4B9I䅱ml'Jf0ԏ]Ed,LfYՃ\of5au}2x4>eM%%fhѠ@ٻϳRO83V})*Zh5odq$oF=O\NLAՠփⶼPa%a_q[$붾(K9Shc ~vv gN8"ڙ|T?V&5/zSVGMV"32u1M `0!e5$aWuǀVU _ARͧHdFi)1Js} jt&j25t `i[N[Y=C`e{s"Ѹ5&̝R+ -ɤ(]OF #8u$mN@$)*{"_1rN]wj@Y%+fkؠ8;`:hXN@Uk P% p=cVxN11* n 5`(KNns@yV6`#|e7BpRIݻbCGE?8"^ RɅ^jM0 žXio`K˖I9| Ki"fD>;ywlٌV_Gy+AU/i[̏ (E9=,ivݛcХ#10ޘFY4p;xRkqD[O9n%jT/}ځAhx'=$G׏s~/K,gԚvʳ%IKDDWFFRN0zGO#\gYc,-6G6[3PG{d؜4.T^ t4 *BjKpjE5s='su6Fp BvvR} CSJٿ2@vH+Ct4^[&.ne4z{]XBUJAy"/CؐPhֲJc7 vjMn@Iuu#p&1mN {%3w=+}y7[5EU@B>//0Ob(@=w$h䳖pbBicjjiZ3|AoPIlXzf! 1^)P4:6\]mc1É><Ԥoq|+heĀTHȹmR(pI:>b8ghem0*ǔKtTBCLOHr{fD䮔5mc6QjSA[^#KoD)|C^BAcO 5IRӰ|~$9/ͅ=M8. (l VG^`t"R$U\ 5F:b,QpQځkpi=XI%(lS1k ʪ2[ؼjي֎n&׌^z69[.Q9q%H wu>9a,`c!dz(w2gN ~VI>lu5}wy.RG- 6Z>8Y$ 2UK6&.C6QS!?B>`I}%PO. e1@q xӐ?jrY.u}W@X4lm<_l[E([IMۙ=ĻD}U ]ekiϱ,-i8͓7wMNv oPPm=\'J,-ded lin;5uK3>~1QltQ.;~p./ {svGN`g`'9aǘk~TUvfzet+gh $I8xlDarfVw=ھS M ju+c<ׇe%}†LX% RNZ;ls1z\UsElcх 띀eMwrpVbȭJE>N-X݆O)^yQbG~Fo`Mt#bF1I.(\ܡp]wFs};fr6k ZROM%'C[ꌴ@'{rе:è8-xXX)4MءF[wipBϞU\%3l{fk @ļtG";jKFe(̈ OZ60";Jp{~=k&ZuDQ/լPgsѪxeyR_r$i.qD_9 Z?fçs gP(*~_6\H&y(QixN!Y)&Oۨϳ^0E ji 2rGWߜ&=+rk]LUҀkOPQ%)lFP9Nĺ;dJWH sςT4<_bWYRS8gz@5fe!WnKOx GBUqj޹hjP>DߗKjG湀[G. Vqq0,"ċ# OLcZ"hC^0M & x i ɒBK~.z]|"na{ מփ{<$S܎z?8Hay Wj8t;aN-.W@֓S!ENj};GVݥd:#Z ־OCS(Ŕ$aK E 2=F5uAsa+^[yɿܐpϚ s2qœM#`ƒr$ҟiSO:a|cAe,A r; |H 9s &mBǿ#qXzCb,vЊRΚ4pܫfJ>y/ͰM!5=!BGrGjtM}A;"Z+fC~6hѡ3_W~L'P$xٽ|_z~FXIƘ?37$ܲLvɩrgS.WLQj3 xU&Xr M!L$:&P־i@RGQ?p#"މ@6kTvIw]~cETd"af|nN#4sLt{am> owOm?hձ--^^IkY{'/H1egxfkۏh6^pSy&VyS aGv]wP5.WҐtY1eǿv+w=wM8.S[ЯV!нs)麗=\ 8 o I}N!|q ?^uw5eEGsf^b^6'{e,V),ູi%IĂ$OL.bWY_ SM)-0 ^UZ}vYqJ _lkFT{N٧xJpA5,Z>  ُȋ=eQ v˼ǁK![b.#u/dPZ'm׭=0)C@W)><9E6454dm],>O|sd5Ys#h_#je f RCD'Zudl7A_?\ifJ[~}ֱv%R+:?u[I {FE)6u=xWjHk]1$9 *~pP%d]Lc9eV ];;d:DmpDLKi+ffFO dtJVQӱqEؗ( R2cbf_ .t׶毜5 .2aZLu-}O4]$d(@=L .Ypȗn;?ǂP|v&ױu%gP`e#5BZC"/hyZ< 9:eGmxr.A'#=C.2 `.6uY}&>S 4UzELii)X7L6UJĿ+m='1ZD_C}b]]xSG*/ {cX[Ѣ HpR0p+,WW*;E~+a,1CW pghmxaFB}&*rT.R(<< ]yP1Nѿ"ik XCh^pc?e\ K|H"|˸&WKl|YfssHPwSZ-XϢ=A3T~nc VzW*g%Bh[(kdU>bqxɚ:5 th\X| cV"v@qJĂ%oYe!6(^"E Ȃ"—܉FX)c+O"ٙt|dE3okLz ?:Z 9B\F4NKq. \1܀jƝ7.Y"eV'WS@E~])ǩHop3pSLm)LasO4FiV@63Vϋ76IٕL.敮8eŐL+Lh ""?VlMD7}liy 2fz?ډ7l.gz'jeK`qw0>l-m5CHNc $n19 wp7A`gatumAJ  >cCGXoZ1Egz(5 .]eĘ1~TVqHD$`#ڹ*@ޑ| l][t"K b1G,A,X& +5m%Gl`xj`uMi߃ɑ4eih͛$@n-mQ6܍ͫy$V$B+ncӡDWu!QŒaqwj@܂T~X;.oWpQl+PZUuVq'CtǷ]l]B8$!{&$G+eStÚgע8`˖Niw\ʿL &awϣݼ bv45bV:gxR`F$C=F>8H_vj፬^ã*yb|hMm?mbFBM{Gi'o~dth4OEE[>F? (@i)7@q-<5&[IuDc~,!4έ.mxD%d@Ij48e2&|\ ybKDY(c3Xif+0ﴕ?⃥ 8UߥKlC1de9W9Zy_(lf{"ɫH٩bfy餖Fp~ٓX:D1ޮ{YLA7 Cٟ[bun{kܓ&Q?lhi[r)0jĿZ0svLM:^J_S$|@;)Zg?+6J'ycP&(1uf<X8 g*! a7lo&nv/%z]\@-!E|(;tnz>l_lXoN҈\l{(0qGr"}< t'w0?Cnv:%AF02ڼ%f_ғ-dh+ۏP /Z-:UCYWq|=N0d9Wwŵނ{w=ў =|MnԆZӐZ\pLNX?t ?S|oEYLb.d*-`N3}·h]wfB$4j'+CX)SɝfDz{tM:ys@3gY|,][c'l?ȷ'9C|G}16Q>[cqdg =Ք(:|t Js> 7jAф U%Q*N?t~LTcfOJ&juQa[9 Ajc͊pI#p]88!mXt4| }DS$cRIrbbiY"!8RҊ?Akfލz!uS/xn{^ΑgPeįDIxO[yY+#od\'H/`D= 4k'vC)9ik<4>/{0㙥dl31[Ġ!zjQz=,SR!} K-*pL:oֽWh)ϵx͖WFTmo7UAE*^1Tfഈsx"i60%hfѹa ~Fz+z]S0lTDCA)ߎJyu*4kdk?$YʼjPe5X ɍ{wwl!ܑnv*+ERTE{uP^w1#"U?MKL3 ׃sS}I'v4y&]칰L7ۻ<w|3f=zrE-\XK}ֱ9[gOq58.lo_z>A@;Ww~mVrTlK17B! چ@!Q;l T-v!uRI\h S$p1D~2 5,,&Xe7|8 ~z36v@פ^PP@2%f Y#$D}!1 -|F#V35WAYlg?##mާ_ =(J!1?$Ȋ?F^TAwΟ TqTjDԥD 48VS۳iHȭgD❗IsLCuWx[GX)̒) 4uV.Orsa r}_ǸK3p/VKm,^[U]]_w.N8dejҖa>z}g0 X&ؽ*A 躬vFk X&I::ҫ B~$G$TsHM*:g&ODIrm/s:n|'IBC^r\xEiNK):"dz(Cؖu+kX)~eKt@)_loIo$Bm1$١T2i170.r*Y|VXUPRN; %*zB#+?̆S"O ^ŐJ++}oYQ&/-A1"o>uM؞VwJMAvxvo UgG@MUXm$lM]aT/طr&8?~Bgy U t (GwT ')uNx`-.j{ okABڞ5;@:cL̽4L7Ddzf-:Hf cK egu NFd47w)<]{RND@gmdG)P4 tp>ڒv*j)w7:ˠcOh>5fjF2c0b"g҅^HR bZP<ꤑ u;+)q"LW RUڰ (XP6`"VhL޹Q norM4 cvȪ ]UGoF蟘EyTtaW ]NܥY\Z7xG#3~⮋;E#2,-k)#bSq951/GF #LX~̚?M f؂֞yFjuh>V I?Xd3V"p-|_SJG=t+G࿽lUI|OQ'QK-zma_#5 +Gl|!' $،Uw Y0m&@_xE!{̏O[vׇ-:ߛ'AqP %uWUT ˙\L lU6n6Qs/ d{D+ڣطF{&Dk +qMiBUܽK-ZRHtqўv8[& 9*O0yiޱ!G0y UL0Ϛxm,a}oׇAH jB=h|{=P]*aۛa=(U~a}eToz\%4q. pL2 wgi7Y|!TT/ s޵g#Uh%D,9j8"1p־}k 7o:e,Uƈ8^B-LgK\u~Nyߒ9 =Z^m6?> ǛPjw0"d`JTB6F-ϳ x\ŌrxQ{?@aUEBw*Sb>g  MjI'Xۂ҈d r^ R7^= E:0=֞<J5%/ _mfйIEο~w9 ј@<,9˲Xc>ko!r: KC=Ɠ^W>m)Qʉb ]\_ :XK q+~sFA@UۂfM{9s`BUoiw/lQ tapz[13uZϋm K^ DKEma|pG GJ)+ g--`,pJr_Th[jO!HwEe-`0Z[UyS-\1%+^et+q";xhQࣵw~:YnQBq*K̕W/k _ns~3$P΍n6Z(#抧R:V* ӮAzc|/[ˉPKX+%+ܷFX<_!tcMGzlqFx?`G?N**> >,J1D?1cyH* tS@j+A>˴7!^׊5I<%5R2+DB3K ?SC 2ߗ?KI_͐rw@TGOm_:BF6%ӁAE3WD?g%*z]Ї֕,>(w 1{PmQh]obvqS7(>jguu:Y  bN~1F\-a(yifWl[Y"{vkT q u%F8 H>mUlZs|6 CZ0|:},X~ȕ'ڞSv|g졻F\_Gvݟpxm5~M5o~D$S]g3QVO /'|PW`>l|&vwZiŜ*9@lbf>e~EcٶcZ.+3N1(gy{ջ[5#y_&ۏACH uh+zOobi|3>1S8y!XpgQC}eR"! 3YJ6KQcYl0ZG+.Eƨ&sA QMpĂLՂrwCܞ?{cZ4K@c|p@I BͧD۞pk8=}#dcOf.F) .t ޤE@N[Fs_g̉Vټm)\Lq5BG6p5>4ͺ<0(]sKk^r&VcCNxzhGt=OUv{Nb"~stoXۂ']r);>BER(hUPOi9z{ؑd`p+[Y0PLz'k%=P_~HGV:z+te D5I{sUP۞rE>f$Nlȉf&al͕XJʃʞk2B6󪀠j"gG.gF%iH@04^_B*$,8Q)“sEB2tGT{/iMܾ?n4>98˲78<U&-Z$-PLkIYr a?~ZlF^ PYʯؚw'09yp*fW{MZ|'T5{f˽?3`=һU'e,H':6!oΟ{7M*%~%QkcT* fv]([yCe />g!U +RdE=*7QGRcsޛ"jd$n}fQ[Ənݛ [5y /pGB|`ۡs<\wW;GV[tF}S`,9@g2#u R7 0y!kg%c 5‰mnHlOപGw8_)A%d;zik&`'zc0 4OK;cN"]UF12Ia(-\ 渫xUaCӎF}!%tHM5GK/2`8|жW_(J6 qh;G0qIa 5<1Lj+}3w8f15$ELp p~Ž#;.^EO92YFX$5%YW*-Bay! l%v E.^7!Xa1yEi^=Ӵ\VZ>UT n.1)mEz˃#/z2l<@|m"ޚ}"^/h<=d9v:.g!@+%Œi <-^/Mm%P"1Ԫg;GzBz~Pmqߞ-PproM8'Hδt[9L, wx%eTPgaDnfB*:Z@nD06j3_LgOV6D8,j*T-c]dT`ǎvp8!nėSDX'g+mePS~GN8* x)"EU !r(_g f^JKˎ'IFk04Y/cLmajߪ0?o6ӂ,,DBMOf5P&"BDb: N-1\Oځ-XjJ7uȳ|yٻ/E{iLJ Ɋ˼XӘh]5I :''@ʰ5// zmDƮwdf h˦2^oM"\ +6>"Q:5LƽR8F`F$0w%u[Pgݓʿ`O Xi?"e5j(Vg6? \""$OmezAr^ ^玃˧DP7a*]Rؿ ln=U/KS"S}A,Np~ccq΅݂9e.mXaN!H3[\'-u+܆"5ޚHy$t ۄz~Wt c>YnJ(Ӄµ+++ ^9"֌\[wq'{GAh󱷇-]Q&rUG]7m iXrlih_0P%Q8M}NmXFofo ]FRʓxWH7 $9S$u=E)$2H@V"r`haGZO7u(BK [ 1M.tՇ2=Lϋ`T3cpVׄkŠD9!s(Er,2YUpق6}AyI MfݲjЗ$g60$4V܅zuhE5݀dڍ_?M *Q% a%MO rD}Vb}hLY0A S1j$:z? 8S4@AW;ƞ5>Ku"~3KBm;oa_M< 8%N߭:{H5<@Q*0ۙY츆]N#g7Edskk~N_O}H1[6KfKhy+zwmaU_VB;q'QMKbT HUЉPlI9Gqi2_"0@/*'jF<0ZvE3 Qu~@i6\Ux䗁b]5ֿurԜfqD)J軖 蹍 D*C#FXqEh4q~T)HdҡF;9H2w44s(:{&zy.E,^sf`H3`P j; ֑[x(F&mlw^z;>})`v]>F]PŲ Ygm v@4PxgPCj{&5j}אXJnAQ OsƄF%s;r-۵Q>DLoBs}72IS>Qqazz.ϲz0/$qjN푯y/tP0]-G!$e> A8~W.N)/?U<(Y>zu]MMb2] &RS-ZȋZa{$ $ϛy1O._l ¢ =Ջ_i-ZԲ$3Œn~p jD[ ̋ Cvא9c71~-z*9wr}S)#?KGQhnRGܧOq 1O/I3t)wQ\/-6y K&P3 '!ݴD JclI`zʘtl "`t]!o:$fng Ax/#ɧ'թVnޛpm$)v]juέB4^ *EshgcW%߿U?rO^Ӝ񀐇ä$*M! hv@18kH ..#,X((V)B,ӅO+p 2ÿjLy'(Ab$H!:|(l \4G7x) to٨%gRJo9fC­)wZ-pwhx»CަĶj&*EX6A]~$ynעS[0RE^oo@`%"}qCǓB_e8zς9#0Ooߐ^` v+/am:]cplL~a|V\;qq]w~LĊt?2%uVO&М 7C(e<ʰ-Ys7:-X4yQXC^YOcFк"#pIp?Jujޖ.F ֈ]}U5B;Fht7u6ޥ9MJ_–!i`A8~x?%ҵH/Ox8<\'(Z : zVhI/ɼ?L c~O;P\zgK^yq%sRl WheF3 eZ<5: ]Au9Gjc\Rgeuf%lb']1S_}C7?нOnA fL!QV-wSF$k ?شq陡D`XAgѭl^C5ĉ־f -~ڌc?(XZo3莶w8%d3EmESMT0J]fr3q|>!(x(ĈUT4>\Ok(jrT>@>j-F6)dN_wU X>vu{xl"=`@TLAFƄJ% Gu<&nAzn9fŵp=z/2IG0Pd(zHn]&+8ldz{}jUupbrso33 ՚4Fug@֌G,I}6PH:Д1MHW_amG#t: s]A4cbuܚ3;c1Y~={B8s:s O7Xv%`!<10p=3u+! Ofx_^\$봸A/$O܀@,L|e ڡr{c}v4)p֟+=I, FgAlh:*Ț"ӕ$(?sC6\З Ap)#~0{dM̚N O^fưELoFJ/6A+!C-d@<zFB;tՑW͢8Wewm]>+t@M }dQ-dJ29 V?`͠׷`G]͋N P9gw, ~qWnz~ҿ4-sNb)=2??$j+a";[5^a[\lJO1^NC )juGaiZrJLUq/~8ط\9SV>F,hcUeID5t0^߉SDzn#p͉0{-$6MH""5گp l 4UNuOa~&u,ջe܀ASiXrAYT?<9Z43LDIo>\\.x9#^Ih$*w*5>~мK;@p_-@2<@wHz=Mt|b .J?"Hn/{m?hӨ٬.Dc-up >Ģr/ ʥ; GsoX5)(J,{ͰQW~zH /.NJsZ&'3G01/`#}3堮.`dTxM2.ԃtsi9|L&9.K"rɒ"1xSCIs1KL ބ<ܳ ׌Ź&-^5󞭴v K)'Cl-õ q9^+{⻔Yr>|PMMd.Y$SԃyZB  VW5sEhBEzz{ c'|="nzeOȴYihMvO}?狖 #~; uw R)K֩kSP8nz۷r,BPMHNxTY;B eo?kq*}`/, 4Cf}IbÍ4 :朔-&H #yKC`L?EC>."L;;vp4ѵLmMT@SjKĮ6.t+bq۴=sIaggط);SȞl@pӜqnըK$Y"qP#YY[޲%v՗ue ~;ĿW_1d cl}*YrK4CTr('](4nOG-Uh2EPT7lPўݢ[ӱoJ St0ˢHPiͦ:T3ڱ"B~5m3f[ ;N#wqz9Qʽxo{fOVOF)j7\Ⲁ|DHqb 6;"dޱa|1֗yeR#)KxFqC$ 0FNaNOdB4ձDGcDd٤b94N3N%N0{.I d+pg>zIL(?-fµK/AYt)p.E7=lk g a?Bhu ƪTK)Qٱ{|\jxIrEb@I\jNdvgTdG |:|X4Z:AxDvĈ`k*fȬWTGYg'$_ Zk|p[%`y9"@ee` 'AU{y<+ofI3[}Dx8 ,bi+xM1x*""]YQh(Ki΀ʄ.)#}qw(\tއ~+* }j6koiO@>]*Ap8UQFj{l/0d0jKQM %^N+[X1Kʃu5*}8lD?"%//ƳsFBlf~gL}q8),B z9}&V`x#R4/qp%f-l6V&Xl{=D۾vL<1 6>[% ,?@uB^NSz@(7QΛ wP|1HOmÎ;rvr(LzLKh #-3xI :kpU-bщwq,s?fr GW1ʔCvW`0VĿ;DVNd] cXf龵TT2sVS(Vif/p\=Jv+|?E>Zh 4.$oW剤hP &Է{p2!Lg?MsCH&E=&/SпPh.JΧrpgE]>[q)qq^1Y{Ku,k1LWj<6.Q{}+E$.C_2*7j/r*4+m .Ջ] ,H,>aO`ű8VTĨ6gf iK?u*N]ۅ':*ңR"t+1TG~ EƠ17t^685ϹwB:T]87G~ :Хy؍i,r~D *M]3|r޵U qhA lMN_Aa) wȀCsM6?uS/`~UTrYٝ7}$6*!#4~V>G <>;2m&BG,:B-J"҄7pg4,h5aabE@4 gB]5iŞԇC{AlKm#Oo6;e{Υ CR x|FJ[d`^_}pHsԍ пhJ XT护%qcLV)p#؇t!!t[ܑqwޒTkޣ-밢5Ъ-"bOxg bSnyxvh%Tč+]s{.r  &ny*{#5bEY^cݵ}͋k"dm פ"s2vdԂ}hӟm{l{FoT /DqM:nLvoK]9}=kǣdM8][8%(=@AK}H BsGiI8'4ӯ1 {))c±'ICB;-˝ oI < `y]MUݵw%WJF CC#b!B~=8πqqiTcBeaU E5P[hde*G u_Mʌ^"ɯDc_  L+$2!~n=U7LN, K } 3̬UVoTFcX_+ݠR 6QZ0:a&1\{ D`/Pޒ-Pb!#G#9nAg#lXr|% b2Hjk ggvSp2 kXzcJ^A- -1[ 5PxIi[y9{}X{z៉`H6VڢA%TT%(n5[\%I:{S\, Ch{6 Xu6*EB?=}M^0VvKsS?U]mmk:+eq$\bg\DU>c?­6u#yQSvR{VTyݎo#Fc~uϣCO9F0clc35a*(8.\3 aߠ;^=-}|!o#IUYڿ"km=DSS5ͭ=N͠ጨjo}.GLp~13nȂ 4"l?C"ao|&h+,15xϝQ+[fcDiec-#[Ddy$Gn6 w4[jߠ%,?lx?q87xƠ0e͉؞|8ƫJd]`^i!l}uf ^QK"jǰR*Jݫ\xhH;bio~%`*V,#{]O6Ob\ZOHXT7kbFGOUZwòϯԥGN|$s13TxIU4o 'B)]=YDsX?"@`5_g;Ow558̳PnbSEa:b?e;qC4@HѡK h?Y1ʄto_F+ \aOĢНV4=)2mOCїj}pm>שPֲ1Y##@Mɮv>8ڐ5l"?J5ėIh+FHngSxFx:&ˆ|hcDQ!̰Ki8 zفFlX+Caz0EI }YE=>W]W&LEZX,r ,% l߹%nff\9mUpgrk)~<[*xv1 &91,ҰI` "@i$dÚFl9՗bqj¨߈ dle54[1sCi@t%uT{lqʀW>@20BK*s Vz``צ&S > R-25*rl 0&IRI&&/5Vw9(QVv,Y5Ic%}[}a} rv%-78pد\$b \6Qn=U{qL~/W1S$TgxJݨXP{Cv חˉԢcfvT0t\x[)=7X)Rew._,N!X \%}O ~BB׻Eƫ1|Nu Ox0`6|{ِ 8Y`-'w[7_2IɰKMm=qT %wYEdEܙZJ0is2#G$Qi >*n)J,r .uct`Eͣ2~zF7#~t>5 ]W[7zq[DW'%7A~氊|:GR#I[_r0<XXD%3J 7N XY dۋ41# "FDOf3Z$hZFhG=@M%O#ǯ:2%yOΪں%6 }3xRK"+yKoMB+WFY9[դ0@f`@/ZHTWkx _Z%LU?oyPI2ԮY#9_=&bM' 4(_iBB|.T؏(@=xFp紃W>h J $qgx){5a wDhQ^m#,P{RqaNC>Ǟ7iJnӻ2\vi1'wxr$rJN141kQEDu:suϒ%wٻѲ!&A@se3(}-Hh(KNQQu0(I] ΎO,?Krl vp+ GЋ-D;n"$L.N(w@aw^~ټՒY6,cYsCzD."?<6sN+#?=D+~Lx4ZIGpWK[; Z(*iIӮj ŋHpr9uXƐ*[&gl-sm"46wf!K٥rƪŤXxI_?o8c~DrV;2 r#\>c8q;|XO&Wl+M d2m_U^0^mU:*€z {162/Bq3jGkL8̚ A&KM1ai\hK*$6! 6Iwv'*ce.=OԞb̓zA.S݂[Ճ[>髇%..Yƚ5v錰p*RⶭhEIJ,pRqM&8hnkDZK ob-.7)"vAoOd!KqBpʿ6V/!8l@'+C绡)07;;^{\IԶ=>d6q,f=Q--)\_> ަ;Kdt?@3fC2Ys,x :ܜ)J%ҽ]o_q4߁ 2XUKLҧ `p *D.}H3ħ}-^%ɞA K_R;\ Pc SbO5- E$Fa#w24E փ,Gcoc&뮡 ΁<3>wyc+D= T~4Q}jlAHנL饰nV2$t"νT3#hNy`125aR|CXHn߅tV }u1t8͌QUOcbmחleeePXk^o/zImN^wJ/OŞ/3Ћ@@@9vՕ/?5Rqi1e+Z9+ώMUr=Z=F[ߺ~[A5~I~0G=%KFwUl1>`8Nwttf*EQETp&@W2,`-瀓uD*oy¦E Fe"ʰ_RN]_oeAbдTxi$GH`td|ե Cp&q^NIvv̂$&2叒臟ɶМa?ΙO?@2_ eZn4#>[.A,p{U)^{)|y aq,RD#pMw ?EB[Dbv +W6x`8wj;rد7FJ!YB}0(7u_}eĸ;FRe- -`@eJ|#;xpJti(OZk .HA_ ( *}Ny(OPP >q o\v̢=[<q}BEɋe^W%%mK|3 OOnWS|4s2hUF@'rM ay]<])O|3TO௝gV.4`)ڋ.z.ߓ XQNd~(!Ekefٛjh;Wj`ylKFzZN "|a"vKX?]| ԭyj_$_-FE`.-Q9w0J粍^zv:e1q^>%4w $\t6~g+qQ鯗0?wDyM%/&9!N.v5 qN~@*yHt!c'î9p.LjS'ǩڴ tqŚ1; rxdz'7W] Wq 1o (G¤KO-(:83#NlY>*H䍛~ |0 KV}'#T=H潧ܮj{kȞ)*}X{/^MnC\T)@SDN9fX0ekya\ڢN88fR!zf ]?“׎q ~]/ fG~bCejmQ;rA @CJ௙^ag}zL uk.BDF)n}߹F%B1Oyjd?<)O.;0oxfՕ$=@|X[RlCGGaSȟ BFf-|d)m0;v'}논0fj5H#dv7i'&ZUqN؃:u7pS'C}dw*T&^CU;$3~"??;]#7 )jD(fdJ>>@RON>xf_w"TBAl`HsNg6\YgY1AjlWktEb"l70D&@)vk?gNlp+yl^KK/JIu|J=x^C8S9LJ"%7GPFQa3 މ-1ЌHyR_KsXPaF1cկgںJyp/)N+W5gc7DԔb)L{Џqg=D5Zʙ2}uʯ|}! t:Nc݅1_ޑ\^t̓h^.AT~Q,\XC8b*Fn_{(f=g^3 4R-$L6rAn.e {QdSL炉І 6aSUg )!WΙּk HIp[&ˠf_&뀚Q0VSR\'IW9p퇊>iAEnlN"jlҌ$}ԺRVQb)q`|oj%Cawsv]7DX2"u\~CUF6Ӏ5߿)h.!6+eBzH˧8"qB$X!<咣iiE;m;%O >lWQ!5\ 1}k[Oste]!:/״ns,QZ: V_ ;'q(Ja Y=dښLOwu7al%Dä4xU4Ry& 8p^窱?6|BRS?X! ɇ!5m^ L5&2eUM̶I AxZ`_+>6.ϣ4T(Tv_.C*!O9PJ76(=M$?ϔvFb,m'xa[kPdfD< yhNh-]/j1o) R`SRkqc\Zvڣ3F˂pGO [J%FSOT;╻74 f v|^sT"r ʹ#*źS66-$%Y+ VW g`!BG}~pyQ"0h){Tف q\Dy e]xI8<#ў)o_ʪg/DB=gDG׆oBTmpֻxȲ'RNe.N_SHv籹jW# OGL 蹉,ǔ#=(xՖqx 7N&;rр/w zun-\TccVDۺ^]$lӟ"3@nݝ Ot."O\ MBc$}6seAWh|"~u3$1-?7 `D +>`&ѝ83FO28:?"cˀrX=l. Zp#V7R8K +}{sk-6#HM}QS+x3)MRHi/?)U,b85 NSS{JEHT@إ4 Pi]@<P2(QVgŎBDmY8p+OtC4 Uhs*_?WgyXC}{ '/3?^ 5Xgyqذ%l I1 7!#\C}ɱeMxAs!l6H>E_MVU-Jl POya&1>I(:j `0s? t%>Yd7^,|j6"R\OkŬ;NqڙU0ZMKX# O#9''cs;ԉFB~|+X#EH`/[XoimiC@w tPX;1;5W4f.~~撓Eɉ4ȋO?qjuԾ. fY@INP^Ӊ0SY8FrhAVIwPdtB{cJ짤dV&t^`lC=a*LV#}0ׇקI\X3O.]JNUq}ɳLaY,-AoL kiuj j|\t;i4٫)zys Oŀn 2 $B*}---T`9F$7,DlLqJ4[=l}ZBz8&ׄMfiԊEhb+B1Ri?ozK,?IT^+qf~n%[0+j:}!e{/Z 5T nep x:ppKpZEF|7xHAҚOȒ9]W/'H-DZ`;JDι6w7jx-bMb:-D bU!>x 3xmdh5γ |4.Z4Ybe?JT qN]iksNʟ'^Li3,hxn%蠜vv `+|(I4:w,H+rSd#s*Xj<$/ve :B9l$p,Վ m7hd(4tw[l\B[r%θz((ʵh@HU3u=܍2j S(5F:(K6M^;E9rYbUhUoq3oO„;hOu -ݰ]PײF1{dyL _:Uet` `YFaft/e3dH}h܇'i$B\`<4ϻS sZ 0q[jFl zc q>:~Ъ.܏r?ʞZњr9d{ܧVhAӍ-CM朄GceqP:,VVʙ_wd|dՌgCQi2s݌Ҝ9Pw/.LGl&m[j;XYi`N!KȶwBr71GY[%Bwp%+v!;g3(p&Qq0{g[ZJp,# l;] !7.6XW`Sx|kZ A]|34UgJRrΌe󰲵]Sù<(Ǔ.H7NrٔHO.3VrNӻgۼܖRfQ 2rYs@lYbbekY^w# k/Bѡ MLWwژɞΖY5ŏ'ˠSVdU@\cnaCJ;"P |,.T׌h]S¼^ :h/RD epq?JóV kђ,K-ݥ\6`o] 侭]$\P7F<(nܻ'.C{݈Jw~lٓ)#1Y k HG/M,~e@k1 -iż+ %zcmB}[dt(GfPꨍƧƹaS\I(rulm7#Ŷ^Ӑc__Π]e\RȦiӧXJ1Oe%Za cǸ⍝m KGhEcZ{ˍtMV )ҬLACk2:NI'~Y4t=")lV)h f$!~U#{x)W]5 d\܌[jPXԭ]7XXmK+@" JWv,7J{U 7Wo!V(duL3gxˮUĀH ^YE1^ Y%Q{iJD2-C )9LB.!4A)E?|\ٍ8 ~seמ<a~@̱Rs*-ОY%>cOtUwK!Qp6ey~_\ MTESmɯ睕whn,Nh'QtB4+JZ&x `x\zq}mUFx|g`[t{5TDmd&W(esƆ)٢0t#=y*J6Ãnij-+ EऒNlzQ2'|D'_4a 9mР9Ċrܽp)+aGnݾDTNB ~*LZ(PJI6_>YG"Vyq<'6cDPfZNE]^l_!Y+K#s!BqpƩg?.SؔǦ ^~UҜFt.cpmI%Pv}[ryޏz7d3 E}xـgHѷ#$;>3^%cljkܫe (f,NQuݸCloan)|tMO5ӌzOH_~.e먍ԫҰ9SdjqS{A Q c88$(9J*XXSr]lqSPy](Y^H=ʦD~b8bRvW iT8B/p}SvJS6HP^"^yzՋS֙].9rEvC&k0L>R Y.|gLPgUs+Ӿ/ >({;rTA1rAF@=_U؟StAI.eZW .rXb~-` ݶNաYr>F&֎62a<{-p5wӇ$ `Υ/[v<H)w;j\7,"I-ju-RMҟ<T]Rj`텉JKhMj"OIlbo\S]JPJ=smq0j5XI" ꀚ ,(٦¹mg{ &XA>s+UƚU5MӽWO¨^m1G@nm଑"8-y44aio=uŪ|[}5yc `["EDݦ3FO{jiJɍeªz#\cVG]GG WJP2Rg=ُY W4WيJ@\Zf+_oVrRoxq=fvT_c7e@ެr(d*auGd;rtq Z']*%Q8+d>Q'DF9`;`QT<WG꒚+VI 쪚hLR͇ZLΫ3;~a9As}&&P/)~L9U[ __5BS'/6ȃhބC5* $ 6H. n>lZ5)S9 qsZ|;(5H"؁:XRQ8O}"j>' 5KgtO()SJ/MėC8-<]Ms{Ûx#مՉj(>q?:˦qԠ/λ$KN]v:̱Whwj|-~Ŕ7yg nG̮ڨ"ԏo6%~E\#ܧ,J&SX07()n<{]4uz'əd٨ݮ)L`ȥu)[c?(-E&Ll~ݒۂʱ|G6l wʹWGwb(gGÉ2w-}ZNDM2R=67>h f%T'&IN9n1a1 (n<Dn@`kToˏ$N΀F׊52dt-ˎVWMv6eOjLrMaډ-6}7/+4ݿYe|xfx)랁jwP#vDeխ9)5G|y^yGRL搩u4wrjepGcF`k| Dđ.q h,G}s`~>ꤰ,4D1yĤW吽ƵCe! {&s:aϲKN\_u̩m&PW#nCt!kέъdJ궶e' }.cz̓maAH=_Ypk•|n0҆Ksy[֔z"F}j/" F<*3Ͱ(eÙ*qiNTR'K&8Ad[8QÃZӆo酂m&- lެWW>etuVT4WG8B߉^z+xuV6uXе=Ah~׮W\Ըݮf7YҳT?ɢ=rNQfo˖Ⱦ!]{[`4̥ΒzϨ뿚?HD1e{cF9a T8M0[7nnxhl}9U}lx+.׉ Hp8E ڃ* "6E /קT8zLUQKwt3Alֹ_*1L!fO]RQN%?ZћWϯNqLN)LΏnsǎ?~W/TB5"&~l/ *~Tf6bNBU?BLl~qFͺ=󮝔R۪P(!RiСc(’sFSHNnE ՄH7- <^FcKN 3oua*hcNOuꕍ&fD3-eS z|X+//s"¹ajK=H.= @4+ dTf?׬).`b[B-\ P#@{8x9S m]2O,-cd ƺ(<~[ IE¦,x/AcPzYKr{3z93z2~w@7I9,1n0b)L|6-O;5/Woi`O$Z`ڻρG[GҜJ`ꑌu_vӚ:\eeWDS(ܬӽsbp^N>H|Aе.ey 6 |ln*44 _9JU+`o.LQNn*? FEuulAul*V[0J6<ϔ lE8^2< CԳ,^:R$RabUXǎkr +.shg,[)uEyy~"(=^Ik<`Dq11F(l$H~2S YKfr^bxiJ2`~abم:}v0Rj YZ