AppStream-0.15.6-150500.1.1 >  A d :p9|wvҥ*}!h+UJ 5+ݠ"OPT;1wB+=3.d[ T:jgj}ɩe!lec}t }۟/*P?gA{Mw?ѝnJzAOPAk^A@`Ψ@2]P*SK@MW 40s!5lvKn_M7S-f~B%<:B²T @E:d*{Lj,33c1b53599ccd8d07fbc6fa1c46a597719d22d0e8cc2ba7ec16be790a9733b912b36c08f063f1f0cb9475f02f984f985312719ae6d :p9|w 'qk(k-<$Mԕ3s D%ڊ(SC]޼~\֪ꒌ]j4'pK)qJf:&ujs6ُ`O.Qc Kd&s Hr (ɳ2i &KD$8o뚇pA?d   R0 Ff    C Lh`(68@'9': 'FxGHIXY\]4^b'cd+e0f3l5uHvdwx y< zhx|CAppStream0.15.6150500.1.1Tools and libraries to work with AppStream metadataAppStream-Core makes it easy to access application information from the AppStream database over a nice GObject-based interface.d :sheep26\SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-or-laterhttps://www.suse.com/Development/Libraries/C and C++https://www.freedesktop.org/software/appstream/docs/linuxx86_64A/A큤A큤cެd :d :cެd :d :d :e556e7583313b024f4df8974f4e3773c7db1248a8142f9265877a131ff8cbb04b698d9e50305c71f27e0aa3964794be2d54333ed9b3a6949e74f62c8ebc8b447f893981f177b4bced125987061bdca759150ea9645428f47156dfa5dc2c23abe696236df155363f7c35ac58bcae1ddb57768e037d9f72d5c91134b7a458a226373be5d8b344a8d2b3e1cd889a54b24d3d57ea563d800f8939f8a0e4292cefec4rootrootrootrootrootrootrootrootrootrootrootrootrootrootAppStream-0.15.6-150500.1.1.src.rpmAppStreamAppStream(x86-64)config(AppStream)metainfo()metainfo(org.freedesktop.appstream.cli.metainfo.xml)@@@@@@@@@    config(AppStream)libappstream.so.4()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libgio-2.0.so.0()(64bit)libglib-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)0.15.6-150500.1.13.0.4-14.6.0-14.0-15.2-14.14.3c@c!@c@by@bf@b9@b!@a@aqV@a(a@`u`-@_=_#^@^V]]f@]@1@]>] #\6\}@[[WZ0@Zo Y\XwoWv@WWWYZ@W documentation * Bugfixes: + validator: - internat: Don't allow bandwidth_mbitps when value is offline-only - Fix timestamp validation - Allow release descriptions to start with punctuation + compose: - Only add no-metainfo tag if component isn't already ignored - Show better error in AscImage if compose was build without rsvg + Add a hack to clarify proper PtrArray element ownership for language bindings + qt: - Port away from deprecated QDateTime API - Deprecate Component::requires - Fix warning - Fix stringListToCharArray and Pool::componentsByCategories - Port away from deprecated foreach + as-review: - Add a typedef for property enums - Install properties at once rather than individually - Specify G_PARAM_STATIC_STRINGS for properties - Emit GObject::notify on property value changes - Add missing property for as_review_{get,set}_priority() + ascli: fix NULL pointer dereference * Miscellaneous: + docs: Split releases specification into its own section + style: Make code easier to read by using helper macros in all places + Make some compiler warnings fatal unconditionally - Add patch to support meson 0.59 which is the only version available in SLE 15 SP5: * support-meson0.59.patch- Don't use %ldconfig_scriptlets. Leap 15.3 doesn't understand it.- Update to version 0.15.5: * Features: + validator: - Allow severity downgrade of releases-not-in-order for GNOME - Perform stricter integer validation - Check for url redefinitions - Validate the "internet" relation item - Add validation for memory relation + Implement the "replaces" tag + Add convenience function that check if component is free by license and origin + qt: Add wrappers for AsComponent isFree/supports/replaces + Always add untranslated component names to the search index + Implement internet relation item * Specification: + spec: - Specify a proper "replaces" tag - Add an kind to requires/recommends/supports * Bugfixes: + validator: - Don't permit overriding the unknown root tag issue - Distinguish translatable from not-translatable tags in duplicate checks + compose: - Don't crash if metainfo file contains an invalid stock icon - Don't synthesize components for desktop files of settings apps + spdx: Fix possible crash when NULL is passed to is_free_license + Return the correct values in as_display_length_kind_from_px() * Miscellaneous: + Silence static analyzer false-positives based on GCC version + data: use lxml to get the XDG categories - Package doc sub-package as noarch. - Use ldconfig_scriptlets macro for post(un) handling.- AppStream 0.15.4: * validator: Check timestamp validity * validator: Allow (limited) overriding of issue tag severities * validator: Add strict mode * ascli: validate: Allow simple overriding of issue tags * validator: Check for exact relation item redefinitions * Add vcs-browser URL to metainfo.xml * compose: Improve media-baseurl sanity checks for icon/screenshot policies * compose: Don't create bad data when localized screenshots exist * compose: Sanitize prefix value and verify all units for results * compose: Fail and not just warn if we couldn't open a unit * compose: Make no-result detection a bit more robust * compose: Properly handle localized screenshots * compose: Ignore current locale when analyzing screencasts- Update to version 0.15.3 * qt: Include enums for VcsBrowser and Contribute * Add vcs-browser and contribute URL type * validate: Improve validation of desktop files alongside metainfo data * its: Mark deprecated rules as deprecated * Implement l10n support for metainfo keyword tags * validator: Perform basic validation of keywords in metainfo data * compose: Prefer metainfo keywords over desktop-entry keywords * Specification: * docs: Document keywords for metainfo files as well * docs: Spell it metainfo, not meta-info if referencing metainfo.xml files * spec: Document how keywords in metainfo files should be translated * Multiple Bugfixes - Update to version 0.15.2 * Relicense remaining GPL-2.0 code to LGPL-2.1+ * compose: Allow setting a custom CAInfo file * qt: Always use C library for enum-to-string conversions * compose: Allow any amount of release entries for OS components * compose: Implement more flexible icon policy * validator: Ensure component-ID has no punctuation prefix * validator: Check existence of version and date release properties * Implement component-wide end-of-life date attribute * compose: Build API documentation * Support the new swcatalog catalog metadata location and add app-info fallback * When finding components by ID, use provided IDs if no exact matches were found * ascli: Fix install/remove commands, add Flatpak support * Implement XML & YAML read/write of the "branding" tag group * Handle embedded lists in YAML release info paragraphs * Specification: * spec: Specify a "date_eol" property for the component itself * spec: Specify the new "branding" tag * docs: Update links to API reference pages * spec: Require that branding colours start with a hash symbol * docs: Clarify license and ship license copies * docs: Document media_baseurl property of components * Multiple bugfixes- Add Appstream Requires to Appstream-devel package, a devel package should require it's own binary and config.- Don't refresh the system cache in %post. The user metadata cache works much better, rely on that instead.- Update to version 0.15.1 * compose: Port over font support from appstream-generator * compose: Allow overriding unit used for locale processing * compose: Refine legacy support for desktop-id launchables * compose: Allow setting the custom desktop-entry translation function * compose: Allow to run with threading (mostly) disabled * compose: Reorganize feature flags, allow to disable l10n * compose: Allow setting a screenshot file size limit * compose: Allow to disable screencast processing explicitly * compose: Allow to test whether result has a specific hint tag * news-convert: Support a "Translators" section * validator: Check that first rDNS component-ID parts are always lowercased * validator: Validate capitalization for some selected text blocks * vapi: Rename PoolFlag to PoolFlags to add the missing deprecated flags * Fix cache always getting updated even if unnacessary on Debian systems * Still verify download return codes if download was aborted intentionally * compose: Warn if metainfo files are missing and data was processed anyway - Update to version 0.15.0 * This release contains a complete rewrite of AppStream's caching code, making use of libxmlb instead of LMDB now. This will allow for more complex queries and simplifies the caching code a bit. * Allow clients to configure the addon autoresolve magic * Allow clients to control the local metainfo preference * qt: Add wrappers for new AsPool API * qt: Wrap the AsPool ::changed signal * Implement the new "Tags" tag * Make component-ID search case-insensitive * compose: Adjust to rsvg API changes * qt: Align API deprecations with C library API * Cache Flatpak data properly, and add some quirk fixes for it - Add BuildRequires itstool - Add BuildRequires xmlb >= 0.3.6 - Update BuildRequires glib-2.0 to >= 2.62 - Remove BuildRequires lmdb-devel- Update to 0.14.6. Check the NEWS file for the list of changes. - Only install the license files once.- Create and install a Vala API file- Update to version 0.14.4 * qt: Expose setter and getter for pool cache location * utils: Use GLib's gstring_replace if available * its: Allow to mark release descriptions as non-translatable * compose: Point people at the specification if metadata license is invalid * docs: Clarify which metadata licenses are permitted * docs: Fix a typo on the icon cache page * spec: Add a paragraph about which license to put in * Add documentation for YAML release type and urgency * Add documentation for YAML provides * component: Don't strip ";" from keywords before translating them * utils: Don't strip modifiers when stripping encoding * compose: Check optipng is there before we use it * Improve text line wrapping, especially if many newlines are present * Make word-wrap function unicode-aware * Make license_is_metadata_license parse more complex expressions * Improve cache refresh code, don't flag cache as updated if update failed * Use system cache even if we had to drop some invalid metadata * Assign more string class members safely * Fix flashed firmware generating incorrect XML * Fix YAML having wrong names for the firmware data- Update to version 0.14.3 * spec: Mention that license-IDs are case-sensitive * compose: Don't loop endlessly if external desktop l10n function is set * Never create a predictable dir in /tmp for caching * qt: Implement missing Pool::componentsByCategories * Share one user-owned read-only system metadata cache between all applications * pool: Clean up user sysdata caches if we start to use the system cache * Port over some parsing improvements for desktop-files from asgen * compose: Add helper for reading desktop-entry files * compose: Handle bad UTF-8 in desktop-entry files even better * search: Perform partial token matches instead of prefix matches * search: Unconditionally perform partial term matching after exact matching * news-to-metainfo: Recognize the "Contributors" section * Update our own metainfo file for appstreamcli * Read descriptions from collection XML correctly again * search: Make whole-search string matching a lot more strict * validator: Resolve false-positive when testing remote icon URL validity * utils: Improve textwrap if text is just one excessively long word * compose: Permit U+00AD SOFT HYPHEN in string values * Validate our own metainfo file * compose: Don't assume lowest priority for desktop-entry-only components * search: Only replace full words with greylist terms, not partial ones * ascli: Take all positional parameters as search terms when searching- Update to version 0.14.1: + Features: - Switch back from Soup to cURL for HTTP(S). - validator: Check a few more things on requires/recommends items. - Only download the first bytes of a file when checking URLs for validity. + Specification: spec: Officially mark tag as deprecated. + Bugfixes: - qt: Return better errors in AppStream::Metadata. - Do not automatically clean up errors that will be propagated. - Remove overall extern "C" to make very new (2.67+) GLib versions happy. - ascli: Don’t use GNU C extension type names. - build: Use c11 rather than gnu11 and define vendor extensions separately. - Changes from version 0.14.0: + Features: - news-to-metainfo: Interpret placeholder release dates as denoting a dev version. - Make as_utils_build_data_id public API. - Add AsReview for attaching user reviews to software components. - Add a branch element to component data-IDs. - utils: Add data-ID hashing and matching functions. - utils: Make as_gstring_replace public API. - Add branch info to on-disk cached components. - content-rating: Add as_content_rating_add_attribute API. - Rename INPUTMETHOD component kind enum to INPUT_METHOD. - Add "cabinet" bundle type for firmware deployments. - Make AsTokenMatch public API. - Add function to AsScreenshot to get image closest to preferred size. - Allow AsComponent to directly ingest desktop-entry data. - Make as_pool_build_search_tokens API public. - Add "origin" token match. - Make as_component_add_provided_item API public. - Add some useful image dimension constants. - compose: Add blur function from asglib. - Add more efficient load_from_bytes method to AsComponent. + Updated translations. - Drop fix-build-gcc7.patch: no longer applicable. - Replace pkgconfig(libsoup-2.4) with pkgconfig(libcurl) BuildRequires: follow upstreams switch back to cURL.- Disable vala bindings, fails to build on Leap 15.2 because g-ir-scanner emits the return type before parameters, which vapigen does not like - Update to 0.13.1: Bugfixes: * Install enum types headers to the right location * qt: Construct library using libappstream dependency object * validator: Improve check for invalid hyperlinks to reduce false-positives - Update to 0.13.0: Notes: * This release introduces a new library, libappstream-compose, designed to provide building blocks for composing AppStream metadata. This includes GUI stuff like font and SVG rendering, which libappstream deliberately does not provide. The new compose library is not API/ABI stable and should - for now - only be used by appstream-generator. Features: * qt: add missing Provided::KindId enum (Aleix Pol) * Add experimental libappstream-compose (Matthias Klumpp) * Implement support for display_length relation kind (Matthias Klumpp) * Implement "tv-remote" input control kind (Matthias Klumpp) * Refactor AsRelation to use GVariant internally (Matthias Klumpp) * content-rating: Align the OARS/CSM mappings of sex-* (Philip Withnall) * content-rating: Add content rating system APIs from gnome-software (Philip Withnall) * content-rating: Expand translator comments to link to OARS website (Philip Withnall) Specification: * spec: Specify display_length requires/recommends item (Matthias Klumpp) * spec: Add tv-remote user input control type (Matthias Klumpp) Bugfixes: * Use glib-mkenums to create the GType of all the available enums (Corentin Noël) * Set FD_CLOEXEC on the LMDB FD manually (Fabian Vogt) * Never ship with an embedded convenience copy of Highlight.js (Matthias Klumpp) * Don't fail doc install if global highlight.js wasn't found (Matthias Klumpp) * Properly escape markup when fixing invalid description data (Matthias Klumpp) * validator: Don't pass NULL to vprintf, it's not an allowed value (Matthias Klumpp) * meson: Kill deprecation warning for pkgconfig.generate (Matthias Klumpp) * validator: Demote cid-contains-uppercase-letter from INFO to PEDANTIC (Matthias Klumpp) * Change some AsPool GIR annotations to only transfer container, as workaround for issue in GIR (Matthias Klumpp) * Properly parse YAML font provides entry (Matthias Klumpp) * content-rating: Lower the OARS/CSM mapping of sex-homosexuality/intense (Philip Withnall) * Change return annotation of as_agreement_get_sections to "transfer none" (Rico Tzschichholz) * contrib: Vala expects element-type of PtrArray to reflect their ownership (Rico Tzschichholz) - Drop patches, now upstream: * 0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch * properly-escape-markup.patch - Refresh fix-build-gcc7.patch- Add patch to avoid FD leak: * 0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch- Update to 0.12.11: Features: * Auto-update static category data from fd.o * Implement support for input control relations * validator: Validate input control relations * validator: Put AppStream technical terms and tag names in backticks in explanation texts * Modernize the README * validator: Check for uppercase letters in cids * Strip beginning/trailing newlines in a number of places * Make AsContext getter for AsComponent public API * qt: Add support for name_variant_suffix * Make component sort-score API public API * Implement a YAML representation of release artifact information Specification: * Build specification and docs with DAPS * docs: Add (HTML) anchors for requires/recommends items * spec: Specify user input control recommendations * docs: Don't show reference to nonexistent provides->service tag for services * spec: Encourage the use of only lowercase letters for component-IDs * docs: Document --explain flag in ascli manual page as well * docs: Add permalink anchors to some list entries * Formally support BLAKE2b/s as hash functions for release artifacts * docs: Link to the MetaInfo Creator webapp in a few places Bugfixes: * Be less noisy about ignoring excessively long search tokens * Tighten the "free license" check and prevent false positives * cache: Use correct fts value per result (David Hewitt) * validator: Control items can't have a version * validator: Reduce download timeout * yaml: Strip encoding when serializing keyword lists * Allows arbitrary indentation when converting NEWS files * Ignore NULL values silently in our stringstrip function * Only dump valid metainfo description markup, sanitize it otherwise - Add patch to avoid parser errors for invalid descriptions: * properly-escape-markup.patch - Add patch to fix build on Leap 15.2: * fix-build-gcc7.patch- Update to 0.12.10. Check the NEWS file for the complete changelog. - Drop patches. Issues fixed upstream: * 0001-Restore-compatibility-with-GLib-2.58.patch * 0001-Fix-possible-NULL-dereference.patch * 0002-Don-t-ignore-xmlNodeDump-return-code.patch * 0003-Fix-infinite-recursion-if-component-has-itself-liste.patch * find-lmdb.patch- Drop itstools BuildRequires, not required for either building or testing. - xsltproc is no longer invoked via xmlto, drop xmlto, explicitly add required xsltproc and docbook-xsl-stylesheets.- Add patches to fix crash with some invalid metainfo (boo#1139463): * 0001-Fix-possible-NULL-dereference.patch * 0002-Don-t-ignore-xmlNodeDump-return-code.patch * 0003-Fix-infinite-recursion-if-component-has-itself-liste.patch - Update build requirements - Add %check section- Update summary and description- Update to 0.12.7: Notes: * This release changes the way AsPool caches components and will also permanently keep components in an LMDB-based cache. Additionally, the GVariant AsComponent serialization was removed. Features: * Depend on LMDB (Matthias Klumpp) * tests: Test pool cache and XML read performance separately (Matthias Klumpp) * Improvements to data caching and fulltext search (Matthias Klumpp) * Add new LMDB based component cache (Matthias Klumpp) * cache: Implicitly hash keys if they are too long for the database (Matthias Klumpp) * cache: Implement all supported search modes (Matthias Klumpp) * cache: Implement various performance optimizations and helpers (Matthias Klumpp) * cache: Allow switch to nosync mode, make insertions threadsafe (Matthias Klumpp) * Refactor component pool to make use of the mmap'ed caches by default (Matthias Klumpp) * Don't limit term length in user search queries (Matthias Klumpp) * Ignore one-letter search terms (Matthias Klumpp) * pool: Mask removed components in readonly caches so they can not be queried (Matthias Klumpp) * Remove component GVariant serialization (Matthias Klumpp) * cache: Use binary representations for cache values (Matthias Klumpp) * cache: Always refine launchable entries, to make them searchable (Matthias Klumpp) * Make component scope API public (Matthias Klumpp) * Handle LicenseRef URLs explicitly when extracing a license URL (Matthias Klumpp) * Update static data (Matthias Klumpp) * tests: Update perf test with test for the new cache implementation (Matthias Klumpp) * its: Add "translatable" option in metainfo.its (fujiwarat) Specification: * Add a note about not dropping .desktop suffix from existing IDs (Kalev Lember) * spec: clarify purpose (Kamil Páral) * docs: Explicitly rule out nested lists (Marius Vollmer) * docs: Add link to project page to specification abstract (Matthias Klumpp) * spec: Clarify format of the appstream: URI (Matthias Klumpp) * spec: Clarify how to denote proprietary licenses (Matthias Klumpp) Bugfixes: * tests: Fix potential wrong output when two tests fail in parallel (Matthias Klumpp) * validator: Allow some top-level tags to be empty (Matthias Klumpp) * Only match all things for broad queries, for invalid ones return nothing (Matthias Klumpp) * Determine system cache age correctly and don't needlessly refresh it (Matthias Klumpp) * Never attempt to load the system cache when it is not needed (Matthias Klumpp) * Assume "unknown" distribution ID by default (if /etc/os-release is missing) (Matthias Klumpp) * cache: Ensure previous cache is closed before opening a new one (Matthias Klumpp) * Put test data in alphabetical order (Robert Ancell) * Generate XML and YAML in alphabetical order (Robert Ancell) - Add patch to work with vanilla lmdb: * find-lmdb.patch - Add patch to fix build on Leap: * 0001-Restore-compatibility-with-GLib-2.58.patch- Replace boilerplate and em-dash summaries.- Update to 0.12.6: Features: * Implement artifacts (Matthias Klumpp) * Search improvements (Matthias Klumpp) Specification: * doc: help distinguish the 2 'languages' tags (Beuc) * spec: Document the new artifacts tag (Matthias Klumpp) - Update to 0.12.5: Features: * qt: expose the spdx parser to Qt users (Aleix Pol) * Implement operating-system component and add convenience functions (Matthias Klumpp) * qt: Add operating-system component type and a few utility functions (Matthias Klumpp) * Allow fetching the ISO8601 date directly alongside the timestamp in AsRelease (Matthias Klumpp) * Implement date_eol for AsRelease (Matthias Klumpp) * Add convenience methods for retrieving date_eol as UNIX timestamp (Matthias Klumpp) * qt: Allow retrieving the EOL timestamp for releases (Matthias Klumpp) * Implement new release details URL (Matthias Klumpp) * Make rDNS conversion function more generic and add more extensive tests (Matthias Klumpp) Specification: * docs: tag can have details url (Jehan) * spec: Specify the operating-system component (Matthias Klumpp) * spec: Specify date_eol for releases (Matthias Klumpp) * docs: Explicitly state list items are allowed in ol/ul lists (Matthias Klumpp) Bugfixes: * Don't warn about issues in a cache refresh if there weren't any (Matthias Klumpp) * Ensure releases are always sorted in descending order (Matthias Klumpp) * pool: Fix g-i for get_components_*() while GPtrArray owns its elements (Rico Tzschichholz) - Update to 0.12.4: Features: * pool: Be a lot more forgiving when encountering invalid components (Matthias Klumpp) * Implement component removal via remove-component merges (Matthias Klumpp) * validator: Warn about insecure URLs, handle mailto: URLs (Matthias Klumpp) * Add a contact URL type (Robert Ancell) Specification: * Document new remove-component merge type (Matthias Klumpp) Bugfixes: * as-pool: fix GObject annotation for GPtrArray owning the elements (Corentin Noël) * Make invalid components ratio check more accurate (Matthias Klumpp) * Ensure description paragraphs contain no invalid XML tags (Matthias Klumpp) - Update to 0.12.3: Notes: * Beginning with this release, data from local .desktop files will not be loaded into the pool automatically, unless a metainfo file also exists. This should ensure less duplicated components in general higher-quality data to be displayed. It also provides another incentive to add/fix metainfo files. If you prefer the previous behavior, set the AS_POOL_FLAG_READ_DESKTOP_FILES flag on your AsPool instance. Features: * apt: Ignore errors post-update (Matthias Klumpp) * validator: Allow content_rating to be empty (Matthias Klumpp) * ascli: Display stock icon name if no suitable icon was found for details view (Matthias Klumpp) * Refactor loading of local metainfo files (Matthias Klumpp) Specification: * spec: Clarify the requirement for content_attribute tags in content_rating (Matthias Klumpp) * docs: Write intro for addon quickstart (Matthias Klumpp) * docs: Replace hyphens in component-IDs of XML examples (Matthias Klumpp) Bugfixes: * Ensure all addons are linked to a component (David Hewitt) * Annotate nullable return types (David Hewitt) * cache: Set explicit variant types for cases where they can not be inferred (Matthias Klumpp) * utils: Handle NULL strings when comparing versions (Matthias Klumpp) * Explicitly include string.h in as-tag.c (Matthias Klumpp) * Properly ignore desktop-entry components if we have better data (Matthias Klumpp) * Remove AppStream XSD schema (Matthias Klumpp) * Update static data (Matthias Klumpp) * Set error variable if there were some errors during refinement (Stefan Bruens) - Remove patches, now upstream: * explicit-variant-types.patch * workaround-hidden-symbols.patch- Update to 0.12.2: * Fix a couple of incorrect g_ptr_array_unrefs (Iain Lane) * Use autofree functions instead of freeing resources explicitly (Matthias Klumpp) * Add missing const (Matthias Klumpp) * Ensure we don't produce a .pc file with unnecessary Requires.private lines (Matthias Klumpp) * Stop leaking local GVariantDict instance contents (Phil Miller) * Drop leaked references to container items (Phil Miller) - Update to 0.12.1: Features: * ascli: Add command to compare version numbers (Matthias Klumpp) * yaml: Allow reading multiple localized strings from YAML data (Matthias Klumpp) * yaml: Always include the untranslated strings (Matthias Klumpp) * Allow to ignore media_baseurl when parsing metadata (Matthias Klumpp) * xml: Add implementation of the agreement tag (Matthias Klumpp) * Add new "repository" component type (Matthias Klumpp) * yaml: Implement Agreements field (Matthias Klumpp) * cache: Implement support for agreements (Matthias Klumpp) * tests: Improve cache data tests, add agreement tag test (Matthias Klumpp) * Use gperf for perfect hash generation for some tags (Matthias Klumpp) * tests: Add rundimentary performance test (Matthias Klumpp) * its: Mark agreement sections as translatable (Matthias Klumpp) * qt: Add support for service/repository component types (Matthias Klumpp) Specification: * docs: Describe the custom tag (Matthias Klumpp) * spec: Describe the new agreement tag (Matthias Klumpp) * docs: Clarify that the /usr/share/appdata/ path is legacy and should not be used (Matthias Klumpp) Bugfixes: * its: Allow translation of release descriptions (Marc J) * Load data from desktop files properly again (Matthias Klumpp) * Update desktop-environment list (Matthias Klumpp) * qt: Don't warn about inlining in maintainer mode (Matthias Klumpp) - Update to 0.12.0: Features: * Implement release types (Matthias Klumpp) * qt: Support release types (Matthias Klumpp) * Update static data lists (Matthias Klumpp) * Make as_str_replace use as_gstring_replace internally (Matthias Klumpp) * spdx: Add some compatibility workarounds for SPDX 3.0 (Matthias Klumpp) * validator: Validate SPDX license expressions for metadata_license (Matthias Klumpp) * apt: Add config snippets to enable icon downloads (Matthias Klumpp) * yaml: Ensure all string values have whitespaces stripped (Matthias Klumpp) * Make as_component_get_launchables public API (Matthias Klumpp) * Implement support for requires/recommends (Matthias Klumpp) * Add recommends/requires data to the cache (Matthias Klumpp) * Add a quick way to check if a version satisfies an AsRelation requirement (Matthias Klumpp) * ascli: Properly document the --no-net flag (Matthias Klumpp) * ascli: Allow to disable network acces via an environment variable (Matthias Klumpp) * apt: Support 48x48px icons (Matthias Klumpp) * yaml: Make Requires/Recommends data more compact and easier to emit (Matthias Klumpp) * validator: Validate requires/recommends tags (Matthias Klumpp) * Default to format version 0.12 (Matthias Klumpp) Specification: * spec: Add a "type" property to tag. (Jehan) * spec: Initial draft for requires/recommends (Matthias Klumpp) * spec: Document the YAML Rquires/Recommends fields (Matthias Klumpp) * spec: Clarify that the memory requirement uses MiB as unit (Matthias Klumpp) Bugfixes: * qt: Implement missing constructors (Aleix Pol) * apt: escape the icon scale factor as it is using the arobase character (Corentin Noël) * Check plain language string in as_component_localized_get as well (Antonio Rojas) * qt: Define location and soname for all configurations, not just Debug (Gabriel Souza Franco) * Never override high-quality data with incomplete .desktop data (Matthias Klumpp) * Make data update script work with recent SPDX (Matthias Klumpp) * Add a timeout to URL validity checks (Matthias Klumpp) - Remove patches, now upstream: * 0001-Fix-regression-from-153.patch - Add patch to fix assertion failure on cache refresh (boo#1105691): * explicit-variant-types.patch - Add patch to fix build on Leap: * workaround-hidden-symbols.patch - Run spec-cleaner- Use OpenPGP signature provided upstream - Added AppStream.keyring, which contains the key from the author - Use %license macro for license files- appstreamcli can use curl for some checks, so recommend it (boo#1080446)- Now the appstream cache is refreshed in %post. The update to 0.11.8 plus the refresh fixes kde#389531. - Headers are now installed to /usr/include/appstream instead of /usr/inlude/AppStream - New package AppStream-doc with the html documentation for AppStream - Use meson to build instead of cmake - Update to version 0.11.8: Features: * validator: Emit a hint in case a discouraged AppStream ID style is used (Matthias Klumpp) * l10n: Renamed Norwegian Bokmål language file (Matthias Klumpp) Specification: * docs: Add quickstart instructions for intltool (David Steele) * spec: Discourage use of hyphens and digit-started segments for IDs (Matthias Klumpp) Bugfixes: * qt: Export the AppStreamQt target (Aleix Pol) * Various string improvements (Allan Nordhøy) * validator: Don't make HEAD requests for URL checks, fetch first byte instead (Matthias Klumpp) * Enforce a non-broken version of gobject-introspection (Matthias Klumpp) * Ensure LINGUAS update is only run explicitly (Matthias Klumpp) * Fix a minor memory and fd leak (Matthias Klumpp) - Update to version 0.11.7: Notes: * The appstreamcli validation commands now use curl if it is available to check all URLs in the metadata for existence. If you don't want this behavior, pass "--nonet" to appstreamcli. There might also be false positives (one is known with the KDE bugtracker) that need to be investigated, so feedback on this new feature is welcome. Features: * validator: Check all urls for validity (Matthias Klumpp) * validator: Check web-application components for missing tags (Matthias Klumpp) * Add API to retrieve the AppStream library version (Matthias Klumpp) * apt: Allow fetching 128x128@2 HiDPI icons (Rico Tzschichholz) Specification: * Add the "url" launchable type (Dimitrios Christidis) * spec: Clarify some icon details in the collection data (Marius Vollmer) * spec: Allow tags in generic components (Marius Vollmer) * spec: Specify the web-application component type (Matthias Klumpp) Bugfixes: * Fix endless loop when validating screenshots (Matthias Klumpp) * ascli: Show a list of component-types when --help is passed to new-template (Matthias Klumpp) * validator: Drop the wget fallback, making missing curl only an info (Matthias Klumpp) * meson: Properly define header-file in gir (Rico Tzschichholz) - Update to version 0.11.6: Features: * Improve screenshot validation (Matthias Klumpp) * Allow to disable introspection (Matthias Klumpp) Bugfixes: * Revert back to the old build option names (Matthias Klumpp) * Apply maintainer flags equally to C++ and C (Matthias Klumpp) * Explicitly set C/C++ standard versions (Matthias Klumpp) * vapi: Include the right header (Matthias Klumpp) * xml: Correctly write screenshots tag again (Matthias Klumpp) * Do not cache a screenshot that doesn't have images (Matthias Klumpp) * xml: Support legacy screenshot tags again (Matthias Klumpp) - Update to version 0.11.5: Features: * Restructure build feature flags (Matthias Klumpp) * Allow disabling API documentation build (Matthias Klumpp) Bugfixes: * qt: Don't check bitness when finding AppStreamQt (Matthias Klumpp) - Update to version 0.11.4: Notes: * This release switches the build system from CMake to Meson. You will need Meson (>= 0.42) in order to build AppStream. Please test for any regressions. Features: * Implement Meson support (Matthias Klumpp) * meson: Make build with sanitizers (partially) work again (Matthias Klumpp) * meson: Add helper script for building documentation (Matthias Klumpp) * docs: Always rebuild documentation on-demand (Matthias Klumpp) * Update README for Meson (Matthias Klumpp) * Implement cockpit-manifest launchable type (Matthias Klumpp) * validator: Actually validate the type property of "launchable" tags (Matthias Klumpp) * Allow to search the pool for components that provide a launchable (Matthias Klumpp) * qt: Add new function to search components by launchable (Matthias Klumpp) Specification: * spec: New "cockpit-manifest" launchable type (Marius Vollmer) Bugfixes: * validator: Complain if a component has no ID (Matthias Klumpp) - Update to version 0.11.3: Bugfixes: * qt: Don't crash when an error is found and no error string is passed (Aleix Pol) * Propagate document context to the context object for XML files (Matthias Klumpp) * validator: Correctly recognize "launchable" as valid tag (Matthias Klumpp) - Update to version 0.11.2: Features: * cache: Refactor cache functions (Matthias Klumpp) * Deduplicate origin/locale/arch with AsContext (Matthias Klumpp) * Get rid of a couple of internal helper methods (Matthias Klumpp) * cli: When using convert, always assume collection style for YAML (Matthias Klumpp) Specification: * Adjust docs to clearly state that licenses are SPDX expressions (Harald Sitter) Bugfixes: * qt: Improve Icon QDebug information (Aleix Pol) * Resolve crash when serializing lots of XML documents (Matthias Klumpp) * xml: Don't truncate translated entries after encounting a wrong locale (Matthias Klumpp) * Set a real locale if locale is set to "ALL" (Matthias Klumpp) * validator: Make ending dot in component name only a pedantic issue (Matthias Klumpp) - Add patch to export the AppStreamQt target correctly: * 0001-Fix-regression-from-153.patch- Update to version 0.11.1: Notes: * This release contains refactoring of the XML/YAML parsers and some other changes that are more invasive than usual. Features: * qt: Add new getters/setters and classes to be on par with the GObject library (Jan Grulich) * qt: Add AS::Metadata class used for parsing desktop and appstream metadata files (Jan Grulich) * Refactor the XML parser and serialization code (Matthias Klumpp) * Refactor the YAML parser and emitter code (Matthias Klumpp) * Implement 'service' component type (Matthias Klumpp) * Improve speed of metainfo description parsing slightly (Matthias Klumpp) * test: Add additional testcase for reading metainfo description tags (Matthias Klumpp) * test: Test metainfo descriptions starting with enumerations (Matthias Klumpp) Specification: * doc: Add Distro Packaging page (Jeremy Bicha) * doc: Add "service" components and their launchables (Marius Vollmer) * Allow components to provide other components (provides -> id) (Matthias Klumpp) Bugfixes: * doc: Uncomment line in middle of paragraph (Jeremy Bicha) * doc: A releases tag is not essential for components, but summary is (Matthias Klumpp) * Allow descriptions to start with an enumeration (Matthias Klumpp) * Ensure we always update with fresh data when refreshing the cache (Matthias Klumpp) * Replace invalid components in the pool with new ones of the same name (Matthias Klumpp) * Resolve a few potential bugs (found by static checks) (Matthias Klumpp) * xml: Check if we are trying to parse a real component (Matthias Klumpp) - Update to version 0.11.0: Features: * Implement read/write support for content ratings (Matthias Klumpp) * tests: Test the content_rating tag XML read/write (Matthias Klumpp) * yaml: Read/write ContentRating (Matthias Klumpp) * cache: Handle the content-rating property (Matthias Klumpp) * Add new AsLaunch type (Matthias Klumpp) * Fully implement the launchable tag (Matthias Klumpp) * Recognize scaling factor for HiDPI icons (Matthias Klumpp) * apt: Allow fetching HiDPI icons (Matthias Klumpp) Specification: * spec: Don't give wrong information about the tag (Matthias Klumpp) * spec: Specify content_rating tag for content age ratings (Matthias Klumpp) * spec: Specify the new launchable tag and apply its effects (Matthias Klumpp) * spec: Add note on where to place icons with a scaling factor (Matthias Klumpp) Bugfixes: * Add missing word in string (Anders Jonsson) * yaml: Fix crash when serializing component with a dbus:user provided item (Matthias Klumpp) * cache: Don't write cache if there are no valid components (Matthias Klumpp) * docs: Clarify "permissive" for metadata_license and make the paragraph more explicit (Matthias Klumpp) * Ensure GVFS never starts in root user slice (Matthias Klumpp) * Correctly tokenize values with dash or plus (Matthias Klumpp) * vapi: Add appstream.deps file (Rico Tzschichholz) - Update to version 0.10.6: Features: * validator: Be more strict about the tag types in metainfo files (Matthias Klumpp) * validator: Unconditionally check for name and summary (Matthias Klumpp) * Move all merge logic to AsComponent (Matthias Klumpp) * Allow making AppStream consume data from metainfo instead of collection files (Matthias Klumpp) * apt: Do not enable any icon downloads by default (Matthias Klumpp) * validator: Check categories in XML as well (Matthias Klumpp) * cli: Make templates for different component-types a bit more useful (Matthias Klumpp) * Allow a few more permissive licenses for metadata_license (Matthias Klumpp) * Add support for "+" operator at the end of SPDX license identifiers (Kalev Lember, Matthias Klumpp) * cli: Print tiny summary after validation (very useful for validate-tree) (Matthias Klumpp) * validator: Validate for hyperlinks in description / summary / developer-name (Matthias Klumpp) * validator: Make missing long description a pedantic issue in more cases (Matthias Klumpp) * Also recognize "FSFUL" license as pemissive (Matthias Klumpp) * validator: Adjust priorities of missing modalias/font tags in driver/font components (Matthias Klumpp) * Skip loading desktop-entries if we know their component already (Matthias Klumpp) * Be lazier, only parse what is necessary in the data pool (Matthias Klumpp) Specification: * spec: Clarify that name/summary are now always required for metainfo files (Matthias Klumpp) * spec: Clarify desktop vs. desktop-application (Matthias Klumpp) * spec: Add a small paragraph about whether and what xmlns to use (Matthias Klumpp) * spec: Make it clear can be used in metainfo files too (Matthias Klumpp) * spec: Make clear that update_contact's value is case-insensitive (Matthias Klumpp) * docs: Make sure all examples follow the reverse-DNS scheme (Matthias Klumpp) Bugfixes: * Don't hardcode share dir but use CMAKE_INSTALL.. (Heiko Becker) * validator: Don't enforce .desktop suffix on desktop-app component IDs (Matthias Klumpp) * qt: Allow catching error strings returned by Pool::load (Aleix Pol) * Always drop data from desktop-entry files if we have better metadata (Matthias Klumpp) * apt: Install icons back if they went completely missing (Matthias Klumpp) * Update SPDX and TLD data (Matthias Klumpp) * yaml: Read release/urgency key (Matthias Klumpp)- Update to version 0.10.5: Features: * Match modalias wildcards on regular searches (Matthias Klumpp) * xml: Add methods to get/set custom data in metainfo/collection files (Matthias Klumpp) * Make cache update issue messages slightly more verbose (Matthias Klumpp) * Add preliminary code for reading metainfo files in addition to .desktop files (Matthias Klumpp) * cache: Cache custom fields as well (Matthias Klumpp) Bugfixes: * qt: Make sure dependencies are fetched when looking for the package (Aleix Pol) * yaml: Consistently read/write the Suggests field (Matthias Klumpp) * Correctly read bundle kind from XML data (Matthias Klumpp) - Update to version 0.10.4: Features: * qt: Introduce AppStream::Suggested in the Qt frontend (Aleix Pol) Bugfixes: * Properly validate suggests tag (Matthias Klumpp) * qt: Add an empty check to Provided and return it if necessary (Matthias Klumpp) * Add path search to find libstemmer headers (#91) (Neal Gompa) - Update to version 0.10.3: Notes: * The release breaks the Qt library API. Patches to make KDE Discover use the new API exist in its Git master branch, and will be available with Plasma 5.9. The patches will likely not enter the stable branch, so if you want to upgrade AppStream, you might need to ship patches for Discover downstream to use the new API. Features: * qt: Update API to reflect more recent AppStream features, be easier to extend and also a bit faster due to removing needless data conversions. (Matthias Klumpp, Aleix Pol) * Make components record their origin kind internally (Matthias Klumpp) * Provide a file:/ URL for icons when we know a file name (Matthias Klumpp) * Add support for Snappy/Snap bundles (Matthias Klumpp) Specification: * Add new AppStream logo and button (Ken Vermette) * Add new AppStream logo and buttons to the docs (Matthias Klumpp) Bugfixes: * ascli: When converting, always include all translations (Matthias Klumpp) * Match .desktop files and metainfo data properly if ID is lacking .desktop suffix (Matthias Klumpp) - Update to version 0.10.2: Features: * test: Add unittests for reading urls (Matthias Klumpp) * qt: Add AppStream::Category class (Matthias Klumpp) * qt: Add missing URL type (Matthias Klumpp) * Handle "font" provided type in XML and YAML (Matthias Klumpp) * Replace Intltool with modern Gettext/Itstool (Matthias Klumpp) * Add logic to parse desktop entries (Matthias Klumpp) * Don't add ignored components to the pool (Matthias Klumpp) * validator: Validate fd.o domain name, make GNOME warning only pedantic (Matthias Klumpp) * validator: Allow languages tag in metainfo files (Matthias Klumpp) * Read information from .desktop files and add it to the pool (Matthias Klumpp) * Give the client app full control on what data sources we load (Matthias Klumpp) * Add private API for component scoping (Matthias Klumpp) Specification: * docs: Clarify name/summary essentialness for desktop-apps (Matthias Klumpp) * spec: Clarify how fonts provides should be handled (Matthias Klumpp) * spec: Simplify font metainfo, add more examples and clarify requirements (Matthias Klumpp) Bugfixes: * ascli: Replace refresh-index with refresh-cache in help text (#81) (Larry Price) * qt: nullptr access on unopened databases resulting in a crash (Harald Sitter) * qt: The data pool must always be valid during the Database lifetime (Matthias Klumpp) * If search results are going to be sorted, it makes sense for higher scores to be at the top of the list. Fixes #77. (Larry Price) * validator: Don't enforce long descriptions on fonts (Matthias Klumpp) * Hardcode metainfo directory (Matthias Klumpp) * ascli: Make every module use the global no-color flag properly (Matthias Klumpp) * validator: Don't emit excess warnings on missing type properties (Matthias Klumpp) - Update to version 0.10.1: Features: * Add AppStream button image (Ken Vermette) * Ship a metainfo file (Matthias Klumpp) * Don't use an extra hash table for AsProvided (Matthias Klumpp) * Register bundle type for AppImageKit (Matthias Klumpp) * Implement localization component type (Matthias Klumpp) * validator: Complain less-loudly when encontering GNOME-specific tags (Matthias Klumpp) * validator: Check for superfluous dots (Matthias Klumpp) * validator: Strictly validate ID for KDE and GNOME (Matthias Klumpp) * ascli: Modernize the way we handle subcommands (Matthias Klumpp) * qt: Allow retrieving the desktop-id of a component (Matthias Klumpp) Specification: * Add new driver component type (Matthias Klumpp) * spec: Describe localization component type (Matthias Klumpp) Bugfixes: * docs: Add a few missing classes to the API docs (Matthias Klumpp) * Fix cache (de)serialization for screenshots and suggestions (Matthias Klumpp) * yaml: Set screenshot image type correctly (Matthias Klumpp) * cache: Iterate the right dictionary when looking at checksums (#71) (Iain Lane) * apt: Ignore broken symlinks in /var/lib/apt/lists (Iain Lane) * as_get_yml_data_origin: Error out if opening the file fails for any reason (Iain Lane) * Make addons find their target component again (Matthias Klumpp) * yaml: Don't fail if we encounter a translated node without template (Matthias Klumpp) * Don't use GObject ref on GPtrArray (Matthias Klumpp) * ascli: Read metainfo files correctly when converting files (Matthias Klumpp) * xml: Properly serialize provides tag (Matthias Klumpp) * pool: Correctly update addon info when loading data from a cache object (Matthias Klumpp) * ascli: Auto-disable colors if we are not on a tty (Matthias Klumpp) * yaml: Enforce string/int type on YAML scalars (Matthias Klumpp) * yaml: Fix loading of cached icons in all formats (Matthias Klumpp) * qt: Never lie about a component kind (Matthias Klumpp)- Use a define for the so version and fix -devel requiring the old libappstream3- Update to version 0.10.0 - Disable stemming support until we have libstemmer packaged. - Generate libappstream4 packages since AppStream changes the ABI in 0.10.0 Notes: * This release breaks API/ABI in order to support multiple metadata sets describing the same component (needed for bundling support), moving away from the database as central data store and general cleanup. * Porting is relatively straightforward, if you were using AsDatabase, you should switch to AsPool now (AsDatabase has been a wrapper around AsPool for a while anyway). * Many methods became private API with this release, file a bug if you miss anything. * The 'categories.xml' file is gone - please account for that if you were reading it directly, and consider using AsCategory instead, which offers the same functionality. Features: * Remove the AsDatabase class (Matthias Klumpp) * Use cmakedefine for compile-time features (Matthias Klumpp) * Rename AsDataPool -> AsPool (Matthias Klumpp) * Add placeholder enum for web applications (Matthias Klumpp) * qt: Implement Appstream::Release for the Qt interface (Aleix Pol) * Recognize the "Pantheon" desktop for Elementary (Matthias Klumpp) * Get rid of the menu parser and make AsCategory more useful instead (Matthias Klumpp) * Allow AsComponent to automatically check for list-value duplicates (Matthias Klumpp) * Give bundles their own class (Matthias Klumpp) * Stop shipping the categories.xml file (Matthias Klumpp) * Allow multiple metadata sets in the pool to describe a component (Matthias Klumpp) * Name AppStream metadata styles consistently (Matthias Klumpp) * Allow the 'C' description fallback to be turned off (Iain Lane) * Make AsScreenshot return localized images by default (Matthias Klumpp) * Allow to compare AsRelease versions easily (Matthias Klumpp) * Make get_icon_repository_paths private API (Matthias Klumpp) * ascli: Allow dumping metadata as YAML (Matthias Klumpp) * Use GVariant instead of ProtoBuf based cache (Matthias Klumpp) * Enable stemming by default (Matthias Klumpp) * Make components directly reference their addons, avoiding to query twice (Matthias Klumpp) * Refactor data pool metadata loading (Matthias Klumpp) * Allow setting the AppStream format version when (de)serializing data (Matthias Klumpp) * Always write modern metadata, unless a lower format version is requested explicitly (Matthias Klumpp) * Also find components in searches which have the search keyword in an addon (Matthias Klumpp) * ascli: Add function to convert XML to YAML and vice versa (Matthias Klumpp) * Consistent naming for metadata format and style (Matthias Klumpp) Specification: * spec: Add hint on how the keywords tag should be localized (Matthias Klumpp) Bugfixes: * Resolve unit test failures on arm and mips (Matthias Klumpp) * gir: Correctly annotate ownership transference of GPtrArrays (Matthias Klumpp) * l10n: Drop languages without translations (Matthias Klumpp) * Don't hide symbols in public headers (Matthias Klumpp) * Properly validate desktop-environment strings (Matthias Klumpp) * validator: Fix name/summary check in validate-tree (Matthias Klumpp) * xml: Properly write localized keywords (Matthias Klumpp) * Avoid watching superfluous directories for metadata (Matthias Klumpp) * Update architecture diagrams and optimize PNGs (Matthias Klumpp) * Get rid of Xapian-isms (Matthias Klumpp)- Update to version 0.9.8 Features: * qt: Different approach for storing the icon size and url relation (Aleix Pol) * Strictly validate AppStream IDs (Matthias Klumpp) * Add AsSuggested class (Lucas Moura) * tests: Test merges for suggestions (Lucas Moura) * Add functions handling SPDX license ids and expressions (Matthias Klumpp) * validator: Include a line-hint in the issue report (Matthias Klumpp) * Implement console-application component type (Matthias Klumpp) * validator: Validate files following the new cid scheme properly (Matthias Klumpp) * validator: Validate metadata_license for permissiveness (Matthias Klumpp) * Compress cache data (Matthias Klumpp) * Implement "translate" URL type (Matthias Klumpp) * xml: Implement the suggests tag (Matthias Klumpp) * yaml: Implement reading and writing of Suggests field (Matthias Klumpp) * Consider merge components valid if they have at least an ID (Matthias Klumpp) * yaml: Read/write merge components (Matthias Klumpp) Specification: * spec: Add console-application component type (Matthias Klumpp) * spec: Streamline the requirements for component-ids (Matthias Klumpp) * spec: Define a "translate" URL type (Matthias Klumpp) * spec: Specify the suggests tag (Matthias Klumpp) * spec: Describe the merge property (Matthias Klumpp) * spec: Proofreading fixes (Philip Withnall) Bugfixes: * Make searching for multiple terms work properly again (Matthias Klumpp) * Don't fail on invalid search terms (Matthias Klumpp) * Don't re-instantiate stemmer on each use (Matthias Klumpp) * ascli: Line-wrap unicode texts properly on the console (Matthias Klumpp) * Add missing docs to the API reference (Matthias Klumpp) * tests: Add test description to each test (Matthias Klumpp) * Sort search results by default (Matthias Klumpp) * Fix a few issues with merging (Matthias Klumpp) - From version 0.9.7 Features: * Don't fall back to Debian screenshots server if none is specified for the distro (Matthias Klumpp) * Split out distro-specific helpers (Matthias Klumpp) * Implement Xapian-less search (Matthias Klumpp) * Use a pure PB cache instead of Xapian (Matthias Klumpp) * qt: Don't rely on Xapian for searches (Matthias Klumpp) * Deprecate AsDatabase (Matthias Klumpp) * Hide internal symbols from the symbols table (Matthias Klumpp) * Allow injecting components into the pool and unittest the cache (Matthias Klumpp) * Add by-category filter to AsDataPool (Matthias Klumpp) * Validate Freedesktop category names (Matthias Klumpp) * Allow building AppStream with stemming support (Matthias Klumpp) * Cache search tokens (Matthias Klumpp) Specification: * docs/quickstart: Clarify the role of releases/provides (Matthias Klumpp) * docs/quickstart: Screenshot images don't need to define width/height (Matthias Klumpp) Bugfixes: * qt: Properly expose enums for introspection (Aleix Pol) * qt: Make it possible to easily output data types using QDebug (Aleix Pol) * xml: Fix formatting of tag (Matthias Klumpp) * xml: Work around non-threadsafe behavior of libxml2 (Matthias Klumpp) * xml: Properly write provides tag (Matthias Klumpp) * Fix code documentation for as_component_get_id (Lucas Moura) * Fix some xmldata methods documentation (Lucas Moura) * cli: Create metainfo directory if it is missing and respect DESTDIR (Matthias Klumpp)- Update to version 0.9.6 Features: * Improve metadata file decompression code (Matthias Klumpp) * validator: Simplify loading of data too (Matthias Klumpp) * Make it easy to compile with Address Sanitizer enabled (Matthias Klumpp) * Allow compiling with UBSan as well (Matthias Klumpp) * Add back support for Travis CI (Matthias Klumpp) * yaml: Write Releases field (Matthias Klumpp) Bugfixes: * qt: Properly check for component validity (Matthias Klumpp) * Ensure decompressed metadata is null-terminated (Neil Mayhew) * validator: Long descriptions are not needed for generic components (Matthias Klumpp) * Make VAPI generation depend on GIR typelibs explicitly (Matthias Klumpp) * Be more verbose when failing to move the cache directory (Matthias Klumpp) * Handle format errors when parsing YAML metadata (Neil Mayhew)- Drop the separate Vala package and include the files into the devel package- Drop unnecessary manual library require - Avoid /bin/sh invocation for simple ldconfig calls- Generate the Vala API - Update to version 0.9.5 Features: * Update README (Matthias Klumpp) * Provide a bit more hints for translators (Matthias Klumpp) * Improve error messages when reading broken XML (Matthias Klumpp) * Load all XML in AsXMLData (Matthias Klumpp) * Implement reading localized images from metadata (Matthias Klumpp) * Write localized images in XML/YAML serialize routines (Matthias Klumpp) * Unify codepaths for checking compatible locales (Matthias Klumpp) * yaml: Implement read/write support for the Languages field (Matthias Klumpp) * xml: Serialize and read languages tag properly (Matthias Klumpp) * validator: Validate files in legacy paths too (Matthias Klumpp) Specification: * spec: Allow localized screenshot images (Matthias Klumpp) Bugfixes: * Refactor icon-finding code and fix rare double-free corruption (Matthias Klumpp) * Properly validate randomly ordered XML tags for duplicates (Matthias Klumpp) * validator: The translation tag is only valid in metainfo files (Matthias Klumpp) * Be slightly less pedantic about size info when reading screenshot images (Matthias Klumpp) * xml: Properly write description tag (Matthias Klumpp) - From version 0.9.4 Features: * Handle legacy screenshot tags (Matthias Klumpp) * Print prettier YAML documents (Matthias Klumpp) * yaml: Allow loading of distro metadata slices without header (Matthias Klumpp) * Do not check for installation candidate on minimal validation (Matthias Klumpp) * Don't check if component has an installation candidate before including it (Matthias Klumpp) * Quick-check components only when the pool is fully loaded (Matthias Klumpp) * Support the stub data of GNOME Software (Matthias Klumpp) * Support reading per-component priorities (Matthias Klumpp) * Implement the architecture property (Matthias Klumpp) * Use architecture data to resolve conflicting IDs (Matthias Klumpp) * Add icon size information to generated XML (Matthias Klumpp) * xml: Load size hints for icons (Matthias Klumpp) * l10n: Update Specification: * docs: Explicitly define more minimally required tags per component type (Matthias Klumpp) * Make /usr/share/metainfo the canonical path for upstream metadata (Matthias Klumpp) * spec: Make architecture a property of , and no tag (Matthias Klumpp) * spec: Update the cached icon DEP-11 specification to allow size information (Matthias Klumpp) Bugfixes: * Fix a few minor issues spotted by the YAML validator (Matthias Klumpp) * Correctly build distro XML descriptions from upstream XML (Matthias Klumpp) * Be very strict about which elements are allowed in a description tag (Matthias Klumpp) * yaml: Prevent bool keys (Matthias Klumpp) * ascli: Properly print long descriptions and wrap lines (Matthias Klumpp) * Export less C++ symbols (Matthias Klumpp) * Show a better error message when failing to parse XML (Matthias Klumpp) * Allow adding 0x0 icons (Matthias Klumpp) * yaml: Implement the updated "cached" icon format in a backwards-compatible way (Matthias Klumpp) * apt: Drop flat repository entries (Matthias Klumpp) * Probe less sizes if we already have size information (Matthias Klumpp) * Don't make stubs delete package information from valid components (Matthias Klumpp) * apt: Handle quoted origin entries properly (Matthias Klumpp) - From version 0.9.3 Features: * Allow to update an existing component with fresh metadata * Implement YAML serialization * writer: Allow to omit writing a header/root node * cli: Add convenience method to install metainfo files * cli: Add a new "status" command for various diagnostic information * yaml: Allow unicode * Print prettier XML by default * l10n: Update Bugfixes: * Reset umask before building the data cache * apt: Work around APT using server mtime for its downloaded files- Update to version 0.9.2 Features: * qt: Improve usage of Qt containers (Aleix Pol) * qt: Implement Component::extends on the Qt front-end (Aleix Pol) * qt: Also call reserve for bundles on the Qt frontend (Aleix Pol) * validator: strstrip values when reading XML/YAML and validate linebreaks in summaries (Matthias Klumpp) * validator: Check if a description is present (Matthias Klumpp) * Always build with YAML support (Matthias Klumpp) * Move XML parser into its own class (Matthias Klumpp) * Make data-pool use the new YAML-aware metadata parser (Matthias Klumpp) * Simplify data-pool building routine (Matthias Klumpp) * Preprocess extension information for frontends (Matthias Klumpp) * qt: Use the new extensions property (Matthias Klumpp) * Implement translations tag (Matthias Klumpp) * cli: Document the "install" command (Matthias Klumpp) * l10n: Update Specification: * spec: Document the translation tag (Matthias Klumpp) * doc: Don't use tags in documentation (Matthias Klumpp) * spec: Mention the essential tags for a type:desktop component (Matthias Klumpp) Bugfixes: * as-cache-builder: Cope with no YAML documents (Iain Lane) * 50appstream: Don't run if we can't write to the system paths (Iain Lane) * Check for writability instead of root permissions when updating the cache (Matthias Klumpp) * qt: Don't compute screenshot images and then forget about them (Aleix Pol) * Add the missing extends property to the Xapian cache (Matthias Klumpp) * validator: Don't fail validation for description-less addons. (Matthias Klumpp) * Make reading empty cache values more robust (Matthias Klumpp) * Check if GIR scanner & compiler are really installed (Matthias Klumpp)- Update to version 0.9.1 * Improved Qt5 usage * Implement date property on release tags * Ship ITS files from KDE upstream - From version 0.9.0 * Refactor icon handling * Modernize AppStream classes * Update translations * Drop AsSearchQuery * Improve error handling for database queries- Activate appstream-qt5 packagesheep26 16784575320.15.6-150500.1.10.15.6-150500.1.10.15.6-150500.1.1appstream.confappstreamcliAppStreamNEWSappstreamcli.1.gzmetainfoorg.freedesktop.appstream.cli.metainfo.xml/etc//usr/bin//usr/share/doc/packages//usr/share/doc/packages/AppStream//usr/share/man/man1//usr/share//usr/share/metainfo/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP5:GA/standard/56f41a67b368b7518363c9090ced1411-AppStreamcpioxz5x86_64-suse-linuxASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=01adc1826eb14151d2dff004bad966bb8bc47e82, for GNU/Linux 3.2.0, strippeddirectoryUTF-8 Unicode texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)XML 1.0 document, UTF-8 Unicode text, with very long lines RRRRRRR RRPPz8f hzcurlutf-8918f69eaa24c02481e25ad35998d0732a4b3df29afd566d14be8e40ee53113a9?7zXZ !t/zW] crv(vX0hY+:I7Na#c.ZTa{}T#P3Ҋ c?0Op0 Y `Az-jth?%%G?,W?+lk^'V!ro_#QԥUjj@a$8 An( Cҭb!$} EDBʝPĭf5DQP<"!#՘N/{&pf"̶dےE<Ʃ)p48cڤ$_xL4 )h_p l>F۞J>xWLqa"'Z:קE p/Od.ן/47]~[i44E"M {0#-}RaUSm&*eJ9" #Ŭ'<!E] Qĭm\3ĆP56CKJSn6Kߧ^.49p2[V^7.F@V̌{DJe,,yE˵UCXRO]PnY|{yM|r-(#Bkj`LrU1# fܪ Y(l\k M4TEbR(罱n#G;s6G!#2 ##NmфMt9-duH1h0S,\m[' [ ): fm{;B9;SيR>y@p'sahnX4NMd<^ɏT +Q"q7 W gODlm;`1T[ݯjbDJ'2;+i ZEy N?}^č Jn!s^9nZ}&p୿;E{S]RCHZiũW{Ͷn{I\LpP>%ܩ4͓E21|H\ڂe).埯 )0}QP&3*u GGV..!q >N1fp]M\Fifjo򅕶LKyir")}PEFLXڰ8V$ bf{VNHoq,U bN}Er]h4_Z_m7[_E-7#2]'jZov'k&.d qAvJߧ5s-e@y KrM9)ZBgϋ=q%fZ"6拁R=Gu—ȏIz`Lmo ^$6E]ij#HN.!# fO|] %|F:ŅK;5L"gB  xKԯ;ӫˏǴ|,mSSQ|1\`:e ,`V=-VŊ>}ַζ2Yl)%ߌ3>LH3 B]VYȲùﵧ@k[-TfdmI `/d7:9v%_h-u $;P&ip+U0g 8,iZ]]lhcYԕ@u>Ӆ5{$J~jl)0h\(-YOUٹY"ZJc6п RȘ]zCf7Mt$Za~lxE"x6KUQ40+<,I)JV1%}Mb'0GH i!bꗐI[{0>`3% 0-يI9A.~&F ֯P7#s/sKg#zz`? jZ;d ]"PMnجЄ[erQ:jRbQ@.VُV"3UO"**lU؏2 S$R{킡lsu~wxgA)OlU]B]((A궀b2`oQ,(kleh\\stz3Zޞ{V1=Ʊ+8D[GqLp3~~9 \ |PIנflQ^70`~Wď.pɁJпlle 5"Qo=V3A$g 0F*[e^ӓ:L<+H8“iho"\w;c(8 #_׿wT.FM# \6X("9Dŏތn3-gޝV#>?v6fcͫ )&|VV^M@w-C"VKF-IOwbT%\jDn%]$V~U_7:|)fa쉰ߎaiX9_ { mL٬k6a& g'.90W&4[#i[.܆&C[T\{Bn]pAv122.M%S%AM0yˍ8 5Ն >pm!]?'0Qxl)!AFl;"ɿ #['86i" 8X3t(fW"} 6>?( Ĉ'wf1g"z~_ğ4-%)m #*u5YE |o{;{B.:ÉJpZrZAU4D/LwFaBYPzJ"1`vQE||68 lؖog56<X0G3 {`,<5Z)F2̾JFC l h*l,H7.S`X 뮘s1paU rX'FΖF5sZP܇M=|Cc}|6'rj8 -H\4|*b]ojW:+Gc.xbC?P~W`W%l3&;VR)@߁_p{ CԲvwz(0&l`8yՏԽ"T+R:Oz$Iԩ7cG͐IQO]} L u}3([s.6= G8?tOS(1nt73595Hp< o0"NP`ދf(dS^$X,@3e͹JKCdrB# JC7RdvgVz LeC͝|yRSZ'@! [tъ*2__q >;н(K#) @rgq\܁,Xx%we3 0sؗ(fVqn-~Om _&'wU0p_k!bJl,v8%¨T^G?fO6k:d E=U08F{gnT%[[Pvɇ5~&q]쯋T+2xen=q@z)@}\YM][JTת]h! sJ,kH[ĿSZ7WʡX?*O=;PzFVVx+'1s$/\EWh1-k\”n؀g6t6=w]Ňlsd~_1הZD "A9 2f2D!&a+< 7iE.]x./vqtÑHOmL >#s% UǺk8Cm[{yƫćӅJ9ၳḁL &g|0'\*5w.}2C.)s>% 6(/^zag1"ɮ'R6,Y Ligm|4o:a?N *)i(}ϴw8SnNGX/hȩs佂<(* b|2r̀棰< leł۳< hmfW>[KcC3G? _t%i#U:6ݧ"9ʃhO՚R U;F2^WE4d f9Ϫ}y*:+oh~WkR X1iM7%i@;"Ɣ~daA6VqDVJ[vz\e!"M\a6wc)qgRI}#m7mD휤.$2x~)"X TL2@{|"JVt_BCV Q)Hr|0"6TTꠡ5nŠ0(Q+/}EWeר;-ѐJ 4 OwMJO봥vqQ뾇/DR2oΙ3I+ĦtW3y!1o2ۑmZ˟'0y!凞%M?0eh.^,w nw*uak.ۡŸDSk=vnF+OCEM5`;۫*$\[Q85|Xl?(/>GxW27i6 #_Ma\hdr_ Hvw2=bN, '\ޤwa02)6-|EsWT3 k 2AIMi7fWpO\a(Q[S>8dvc\-]E6j|ΐŇLy'󍃆u.NcV-GE+>du0+ *LK@>DxD=Hy+l5`T[6引 ^#Zxwetg_J׸rՓ x4b] UUS14Ju5Lʐtv=';5/,^KIٹG;ڥ=e={ Ts/TQXRȆ>vǹ@ўRWHli.p Jl>,Ilkg R eq<:R}hi;XȞ^h]eAC@rtG1>'{s['}Q639sXMo@9`; _(R%L];P[v5"s;N#9}^^K&,Ioޗ.{qBG~7rx׻;VȄZS@U  iQDSfsޥYjѓ}}3 z.? b^ P P_ [@bx=8_qyzay'yDv8Y}QvtJj׬ʟp>yZie:BD™y !:3E`8ƚ[݌F>-,B~,Umʷ"9GS?1>t z!u$Bis7˂fj"D ba璀;:[ P,PAף"3VlpqvGCS;1)}8f5%.;n4Akovx*߂4w)`5ZjOض&`D]Chis_s06w!-lqZzP6IX 돃op]8t'7+M]lT|s$rm)B6nSFXq>>{xEJ鋨9ҿd 78,̭U#My_G4&bJY(#^ey8eζM9-<[٘&s#~^5s놬vfGOUl|\þx.N5 HNhҞ9<91f'Y۟OIV3Laޖxʛ1z%aw:;lZT_Oi@I5tqFJL4ھ{nΫTTR>d3zuK!2 p| _-^yM|@cS(X!8s[ݯ>кJpkKTCTg]j"3ǥ_^~MaLR5Kȉ"`8ˉZth~CK{3T/z3dEmj㉯@*C{)'rhnTRr~i1;":AWx (QƄP~ a+BRU<=oV`@n"<_ctωã#CŬ^+w V.V)huoN1l2vEo$ghSNG1RRʢGTc%IhP뾙&d W|[6D]M;#cK80F;+]n>K6QXb^]:rLg#*qj|Bnɬ"ع_S~Gl")ˢbc!\! `/En[]p?H&vUr|u3 &8}hU?o-U#:xh"M t\Y79FDlA Q*z)x`h[~>}0*P*Q-tUEc7d|iK]Au#8عx[XK\f(O'Rx L(u`TS6>19)6GzFս9A\]}ti+_ʅ@>6HjicᣦγCdPrA#ZEV|Z2$h/;\ hԎOH%W)[c%3[ !iϷE) B,k6!n[.0< nK~_JɔZ"d4ͅLC*j?;`X2Wz^$SGYRoDWkTՉ"wkTc&Oѷwa9lM!fh%>{E> Rl`_ &+lpZCM7=q/-xEc85:4cra[?RX|s ?j帴©`b聋n̍Os``Vq)6sm p +C!Nsi 7|&d۽%zq{Uh( 4x׎, VX`Rws6+ߖ6E rM\n>5",@D Mv:Kc. O(d936MkNfIX'&u ުCԨx]d^%&R0S0q;O*-  }_ٳO>=8衆'VT8/& GMiΉԺT/8jo28M)f1￈ x쬷z"f^E.xD#\nn$4vZIOTA9W":)cʿ:N uCf&T4lTtij?zu:NQLձE@.)LKȡ(y,Ua#,QQ\Yy ?&.Y6?o˩dMiṘ"D&'O|z4{mfr:D,~,867)& Ē~wN/p~ue|߹&~Y/oC* Git tO9P +(kXѪ"ơE,WZ}n4_зI7~#hhwc_Kp\!1,;16|U+bX27`i%s7%L gMԓBUc@7I΁̊USz)̌rm[ ߔnD= f&l* ,uX=ٖey۾uA~ .vs/oK 鲫HͺWn%sma_rj"o9rD1)C!!~~8iJ+G {v2m3~ZGX܀:x|rpu)ȉ=7+Dtey:dbmF=Y Uq|iIA_xYK#-^O;{䥤[ƌ @ne\kfPh&޹G_VgGksȏO[,T 877sM4F4 Sz.-g1O]qU&rդޫsoؤU"}!ӸIzv0)"N׶d!mR͔ou@(%_I ΪV[iT MP > s=v*Sƛ6Xvvj;9Qg`鯪T5ʤ)?s jkuK>k .K9^C7xz;ȿAeR`2r]f*.T|@&sG RU;o 5?]eI CMcL@ȪY{)4zo0E25˧90ё"!DEgҎݐ*Wa=&_@qP34SԬK&< ֨ºB+@]Jyu?iY+[2o./-r@~%U7uܼ0i-+gn$tltqrk܆ +k& K=MI;ۧ@[,y@6d8"<%a_`{~&z왖IԹ bmهѼGsi*K蘾 jRU\yHӇ֎yQX}\g2ݵH ~o&}!&/b@{8n({x)Q"tcVfp,ʼXC@3:87B5"qb_2,\~}EfrwBU6LAݸscdHYgy(6- %:{ͫ i J"X.Gx:4+L|@(g2K1Υp7 jY Is޺o^k C#9@:l2'%$`4ȗ=E[{Rs#eƋ!vXs1XfXo="U]v;N+''"ZU5W B!ݲUÐj5 'J}Ч&inޤ W)ad9gׇb[,co3Y{3xI;2Hd1iVxKɏEZ(^RfiK^8|Jq{ܿ& e9sbL{{"_쫹?eikZߦQ$R\!}tF=c*sMokx~W{~paC)s "Ջ[e `Bݪ`FT1l: {aD?YrU,S܉yf. N Ԑ0 JPmk&r0|8F2B?apҾFcuW-zɼA{dSrY.ߓF\G%}V{\lAACph^x<MQXC+ w򌪳|y0/Vkٔ9J*bGCxF?F83b19 H^ `0JرgWy FK^9{[Ɗ{ S}@՗B䶕[¤W;.oWz b"Td$ W'+=qdoĢ U\cDZ\cB!%3 :4)!#@IT#X)ex7j+WzƃW覸 wb ަn;xլmN*KNs9W׽KrO36b.;֞;IXl'N0⫛BdRp̼۞i8$8p+u_0Ebf(=z}'CD ɀbؼ=5EP \u骐i}#} 1 QiE#ʳ]M2d bᓌ)sUv8"evu3N!1[i%{TbU$7$[,!U_g@X0vE-Bam esj94-8]*#{+ʿ0v3;74둢aRP(.y)C`[dt&z/qxE^}xßU9if1h̪e+5Kb6ϤFDNhw:TE3mVO4cb7ݺ6BB=KRG_!ǎ-RS*(Sό={<Ud""]}W7q/NoӺ1 }Qvj0>qzI/ &Ӿ3xc{/I&V;lIIDm%w1oZTrːfHd2&XdLT"Zwo_/r @f19@ Td4 ox8*4hr+VmܡcbUৰ45Wv\m)?P2'Oŕ8x2U'dL۰ځ:#@ 3/p:ZhX~`! -6='bCƁ:j[-ϔ9 [}1oaʬ -sozŮp7h!Sy4BP(Y hddY8/uK 􎐴;< n%ļ/ujm(?<7\ 3WGڇ KC)H;dg i;xFGfzSwҡ4fqPskZܛPҲk Boz fZ0X6І8 ~R/8 0J`HWbX"Gj1 L~ا:wu2*ګDZ|ðX imvwu'݇J!]e"_s. ˞3:@:lG^"C|Lasu *3\sDd!AC_M8ɦU2U1mLfT~F@.j&<|g9R s嘄Bjpl>|RH@a?C~sXnI؏?|R+Ͱ[}Fb^ኌLLc;;׷@(-r2V\$[vGVZI4dWjABÅ`IvA6,+-#ɩot"Y xfp&Bhב_b:4̬Հ0<PƮ]y Cdj0 $ |k2Wɚpaz1o"KJ#rĤ6Y`\ 2%% +YNc (m^7Cw#{0fNG ]NC<]K%AjUGTdi@|懢+ORs^7?ڙoSu .Xnkփ5c^ gY"Mt`k&'/,[%v)iX}[_Y%k/KTr#f8D@ \`W4y֥\/YQ44HbVRoiH:7mm*:nͤI:Q?$a |fy*VGr|- ?rrHñGDz*p,?*]  Qfg^d =;x 0UV0T)q/ē)F,b}ǡP  GʷxJwER2L#C80{C9v䲎l.6.oh{Gkh;W|t4"rDIaKuy >-Yw_blkd3FbĈ{}؇s v _1h 'V H2%$4W9Y\eyM_}Wx)-#]rt4Q #k[>{謻XxRT}Cf:rZ8q4Ik\M e-f0y'Eq}ONL{mKR8 vaõkPQ jk+DYdnTO {|F:i+NNfxX Ka l*}oؗ /G8@^eq1U.\ lYV&I}H×: rFH|HLs'aׁfT^Fe5khh]7mvc:(K1`8jGM#nH+/FUi,YZ΀rP<0]@P{҂ [wn-ʐK܄ѐ.Pxg=+7n KT`;2vťQ>4VHHW (O'UCW 8qtb@kd>#@'hyhpPFi֏AYR;qT=nĽq__oF`Ť~EXv_\nC*_O}[Y4 `Ԅq`VEg1wkӵIߡ_Ԋ|Hs;SmsE[x.fJ';6+(_ gGʃ<+\r` unjuYmFc+ii3dא$'/ZT2 b4!]m{D( >4{n)ؕc?φ+2aw |j=]jX] . 9 }Iڽ9G;b|Lp C9Jno]Maz$ 40ۯ a8yp}gvl^>ثЯjBt8?K2xT(q̐>OYO[2C}Mw?/W',Je.Rq%>0ZCswIJa=D.),^0FҾI68E|\iCSz"#X\0T,IEEVs}2HVF҇uaא pBT0dm-0?w.?o>e*.LѩNn׀O4^IH׺IZ0P#u%bNQV{B:)W&轌 o7lӑf]Bv-[> Il^_WJKPs٘NJi ,c{lwvIY)>G0 ~~@+Qr0OHأ.ΧRƤ`+J[HYtNq_Kǭg!_^-72œ4KqJ9E 26ˌ.{(DiNUyj]h%LTQkY1`kvɂP1J!7'}6A꤁;EvpEL~G Pb r&!=l2`%s)-C`gyRñ`-ݑ+:m`0*`ùCE5`J0,B3-2{ר3,/(- %'w`'JHKcK[$DS7*(*J bMkQ`匬cDP"1Y}QWo­g]-eHs) 4泝/T }[\Y|nԍ? 琑Ol[M__ceN0Sy=5|dHI;ii潁PZ^`)\j%b!t +Ad61ݯ)h8ymߠm AƦT."~ƥzJNQ rsOWSt_u/{G%`W$;wZW~^ \egV>S`?ùU-è^PNQȱٔLH_޿BqFW@̢ف%ҌMUHPw8DKlex*+Ԝ _֪Cbm)vƐArG@PPA>/#mW^&m" e^d{2P+`H R K6hCmFMh?P}TlDL.9|v[mOhX 8賰CW2OGruWUzJ/2^ Tq;YLpwo7#_쀞y"Z!xUg\P/M9ǐ1Jpi2Aw]SeCާ,ꪼP@g XdGPG*ݏ5 "֏>8ć[+[7B"0VGCڳ|\ldD 4ܺE{yEAFhK ӿJqGW#B߫+D=5/LkE 2_h»oхd'9!>ԃŒi,^_WTġqKc 8؄~Rlx߷^s9#t6|Q+MC'\֌ 6<K==j;y\Ã;h}4&8ƛěG/$[d"JtM'-{WZ/&/6otmٍP` :3@f=`2H ,(>Er2ӛ GHwW Jo}pѠ9)52rƂos%&Gǧz2V=.̧O3B~a !(&6GgqnZ^HO^5ϑ(E,'~r(Cnp~@%֢6Tl| AI&ˑ:SƿEs#LG9UeG5"-3܅Y~sα{LDr6ZvV[JDq,F-%%.Cq'|KW\Q܅_3.M63T.`a߶fe4!.eiOLqȋxW@;?Vk8Q_FK[Rr,'P|Visɔ}|_NܘC;O''E^?9̑ތ6ӡ_0+q9-~'mn;%7*51|Oe7+p6t̑!s&%_3BnTΰ}r\xfhw@-E`_ƿ? K1#(Bʥ.4Pp2t-(\ h,,ߺBսm1 0 R ?; "e ʹ/TޑHѯ+W43įJ)Jl`;?mh=Cg`lc`+Tӊc$‰"I]:u*.OOiyסSǵUgzKtW{ uq'J;%2/%`OPZHx( ]y&&Q(v2[J4`Y{eɖCVD<+}'18]up=hM]u}a>ChBd W@ؚc`lAb.y G U|RN3IZG_˗~ c?囊Y}gPNkoo})鱉v4t L~ e`9TkQՅ"?+FQ$P"zfOI6vף.=c,ߤ@<-6>1Vv=Dǵ2҅JI*^DKcFMۋ0 }Sܱ<17ܚl"qnz;{ڭ[.gD"F"F[XaKgu6ih"|ȋwHcI?tk'z}cL<:^sT+IrVz3#003z2IvZM1"'iF*.eǧ~ U^E+@&G"XTt +5pрŅwN>p5yB,\6Oig%C C\ "ZS)Ow4VLY2 6dw\Uht~(_W G9'|\wU)Ϣªu0M Vd [ɮOpjDeA<&\tK6fRڷF4^Oʣ╧+*B9:wڀw4*|on*,sYh,ɻ # bG2E+m%gs|(м VL{2/B:dLHYPֽZsDYeZEWNz[p7: K)Jׁ~|̄,?BdsƽH"^2jSMxk(niR{BSsZ MFf?d9?fde.?=o-w$vNR*T}aV60Y6BI鏱R2pɃ)+g0P_P`ݎ):'76*!62DWkh>phF\hFD-V*L_Cwp"R'%^6:-A=E^NŠm_DoRZJ_},|pp7D;-\G5Z3w/c3)O%o.A, XXȭoM$Ӹ@vإ- BTxVDIEH1 8DxЅ 4>(9Pهu2ưtj7Xzf{"u[I`rIGWWf_ĸX)diγ֩}R/to3GQٍG{9%yFZ,?0kim8eOsHz='&gJOzâ^퐖j Ӹ?V .^Rp*UI]lmjsL=EV,NSMRX9íܿ,>Rm~ڮ;l"g*+e0c~)WпєҪ}Iey. =p E@aФ#V7``#KSIqOy5 He%lSaUXF:qyIOy(ļwphW[::F/)m GGL^ɭ*?8*,LoaM,߈("_ÛEi,}DWn[=eĚALq!y(kZV@,;1eonj35LXo1Ucڜ#ŸL%F"~_ULt}@TnSTHn)c~a|F'e2͵הxXEm4>h]+!CpN_fMebfIQ!dsB[x{zu2k4iE ü;3:@EMgs[%LؽMr'j?2"KyV׌ʑ_ui\) HpPu԰>e_o^il>R<$_uH+#CVjR2X2O[ッtnsx\\s^X)xLEAu¤Mq9ײ&\w[G,#G$ʞ?jN%8y΅Ջ.:ď[=*gsMw~;HyepoԡQ5HK48dyz%_1N :RC zLwup-\+UhtJ Ǝ'%bidl)rL= A2b[@V% ^qtHmWY]Yr0u֏@h}b9M` UM`qB4䬈_LzK̬WkeEՎ ]\^)-*jׄdup8۬6jR0vS%[ |.Xu?׭#351a=g)ͩm .'\fO&ķahgHS'dYTQ_{&IJwmnmVͫO:wGn ^Kx6j,nWضV;$~_W憌+>>P4ܰe3qGg>%S;zgAC'**ZÓנS2eX3yFJM4^19+'\3sQ6muⷮKsni(wYpԯ>gpoc|G:K bvt<}@Y=l1,򊭟e=zTk7cnG9@Oʱl`3} F) s%`\+2<'OeQY3">I{`gʆ_r`gI̹gl0”MfSn8AzӺV9nkCu36&2,X*B`-i2BUG3r9O1;&:X7tefjɲSK!eơ~2󈊤&Inx)mӛ؆NB %JlXvq8c؅,mzv0 ڏ*C%X d\xhD[[Cy] ~YĄƊinKVёJ_=)HC޵z %ɗ>b "*/(;y1u}t9T].o^;Q7[6pFh 7,HF؆7U:8q1?S4X~KV E3vi5gb}ZChBO&8K >hYV5ͷ)5Pro-,\W>{O5T \l\ U-&t (+WM?l P4ZF!YC}.ղd<JU`,ZZ9 eCg]a ÂJ֊xtkZfomsP|񗞓[wcۺtfIL?th${zӟb4)?_z,T{3ABQkST0xoh,310 0^FpK)2DRw|~m0&) uoF[6/TX:TůB46_K$)&ulRQ&~9.O]`īn1 G g,اzSvʅ82lzb Y~,nspeƾ8 gJcOjk[4}%קlxLz CϢV d%c]t0NhǕCvΙF˃B]/)+2)*9XlzQP-8txvjSM:bju&~nS }m'ۑZ`H)Bz֘J)v)+!ctZB>iD0ʦҷFz}LwQ| (PZOYw 6-E~Sa4hy%τE:؊BY?Cl;]A*5.H0EqFq|އqb}^&x#kIǪjAz|"؆4~ 52cdFZ I#cޫp' !xbybE]/I"V 0(.=:ڱ4)[a/;HPވuF_Plyb9k߭77A6O0;V3P*cxd]TSXTPR2$2EW yL>8SVRAP Zw/ez~4?&WY94pDKv1W<`1ᐧ]UʧbDLҨ‘kun!Ƕp3b`2itỢޜt@.دk} ޸/4gzY yf^W驒D^p8` ]aPݓJF荜,i%YC腪&X1؊_myO; Zœmoʦ^VZr(2 "NF&AN o FR=@,H+g9I/[!Fci35 fy-GJj9+&Nq2dN鞀 TLzL7+%p?>W,IڵEHAtm]Ac=qaa2Z9bn)\D!f" PoGfL~FS7Td lX~_=Pӆ֡Q5DfYɹyX]&h17XZ}>VIv</zͿ~=_qu1{ t[ϻa:{4A_9UO2qk + h Iƨ(nX~h"dΡfYh4to{K?2iPy.E |[MiHR)x*e^ʹVbTpCmR&o #J~%fU-\Pk[!(k/c< Ъc|FGVTkZ׀\&HnQu`o* U;p 2A2W7;޺@Ƌf/Y&/eRR?²<dXi.[fCI`O=Qd= Le:3M 9{QbCe(4yo !YqM|HomJ@֭'b(qQ%ɐgc&Ov J{/~gr%C8Ƈj"DF32?N F8sBkZMܕ U[~9;.}]Lhhksч5p9Dmy1>j~ :L% l16(XSYKBToha_crUt=sU٠NE-gYo |P]ՙ,& + KH]l+ޕ'bSt;LM>tca=:naxmk)&xᬖ@q䰛IMHa^ |VLM!!syE󜘷}FBq!@Cq\ϘYFR^[R!m}bZ.~smTOͺ1 dˮ)ɝ6:31H* xlÆ0׈B_b[@mұbq;jW pº1$%o=9^^_FKU๊Z:. !/j^)b1rhP,4]>G}LvFm?m4Ah+WNq]4/Q#s"b\'qqn €yAs=tG$xu&݆v?9^Q` u  k h\%o.Kd#̋nl S vo1F"~$V1Jm5 W@KQS*ј2VL?J`(t֫nY{EQ531SunPuk;N6MB,fp+gˀ6v=# C(g1yj']P%=*=|ʎEُdHJ^&l,#q+^59)kb{Apw.yDLK7E_@<(Z{[%bu G*cFe}0X%>["`kwH={/)qVj,eŕqFw%L)pE~A`ϓ/I?[ռdP4[ljdqs}{۲1K޴+\5Nۖfeg{$N3A,%_-tW bS U P 2#x// Fu_J9@׸i2 H: p<Đ0(oԽGQ:JBR:GFm{6u_t@HI|rE$Z{^Qi@L!o4הZ_t8VEo3;B&vY8\6h$h=j5OOsS ^ipVh֌`/1w?X *h4XXuvRF[љ2bt^;=Q{ Y /Ѕ؆ [E^aBQ]N^8;)\Nͼy\ԸDF2Ki[λk|V`)N.%6״fS B]U<)W rH+Vh,5s/^ v6+NE_^4pѶMR,xdnƚY'S62o m+vec >oHވ>q>dRU4X):8۔q|l1H.jVk aAq5OI9^ɪ9$1,F 0`6}x8I]"Ol&=jRWFf\>,KSx_Mr]-c^ڌVҤcM"E=nr_^'q[4Jz5`@YJ"4a='8h6 h8rwHx;b*iD3rn.iEcQEh@Nu`Cͤ&LNh"D1iLi5'ccyu=828<j D5^9ph`s;L7ozt f}7 ehYe'Zy!bj"?slroMBn!nq7.d>mpZ4flrL-pa%dV!#/PO؅[[:_}N2'Zۋ?@+#/ceT>?tz^VlpWXPo៏q?d1Gg/aG(Fx Z\…a(qwwuC?x@UaS<4{͇i(,}kTeA>vBkMJ)]!.DU zE8BWB)zHБ^g6JLYXcoCqf'u8(m"¥R ٽ>lU~EK7<}@-hTwJ3A= :zdɛU%w~AB}O4L;)!7TqjA1O:ޫwI )wKQdPy_u4q<XCWŖK%b:N徥 =,Paqie}S?kDE=rz')#>.jh  Ny:6jJ2T;(jcJ5@ .}uD!L.f8 G;I$Hr꼼1p(lܪ'Φ `7$ ^|nX?6;A@y* >Ijbz&pCB䩋q{Mp98^U} F(tTP(G+)="KANc,:1 H n yu^Je;2,G"ċ0:@L0Mi x)hq`O1wrn((?ayM2>qW%\4bEqEtPQyyO+J= 18 Ml0;#C.V-',.iIM"s;쫆&.,=1J 痖sZS+lZo]}zxMQ*BE{8M=N6l o+231\mY"]* -5i}w0-V_p;N/ϏlZ7ȡ'u2 mm)m8ӲU~BsĂKi9j8ܮ,wG % anypW(kzsh-̎DBccv km_bqX94wL`O#8R…\Xw^$iDf9 q&,+%HSI yBZň΢9_a)W[m^ZlĴl9==W ~BDm'k**NhZ\4c; oAezZeyQhrnE"CI e'ΚћtFJp@\dFaxEOk4`m ^ƢqF >meY7Y'hƜ&zEK)E{;=򻌆a&P Z.*'Zew79ȢwRY?3Б\<ЩLp._qy&G͝5Ut*A<\z,M.د.5KQ55գ] s)N]\n6 D#I@aA\`Jl{N26/][˥ ee8.FO _|/;DY3>e'D5T2·T0 ]"GnMU(nd˦$-:G5@wȽ[@GAP@CA{B){!Tvsf_-k0d:J _[` -NMhNL%~hH08JWކȑJ/^.@\ *hs!+ѭPW$cw_Ё h;8 )nbWB_x4'腼gxH/jxT{FȢ2;/GxI5~e %"3jq(>ZVw*MƩkahKW k+4h~ohj:D8׀DK묦t<̥2!i0{O @]9F%C~qL$!ZRhH^^OG R\!aGP^6qalz1o2RX­-/'N2s^<>tS<א3, _Q4vj;¥tedcCYĩ̳`8S_8&"[U#iԸlli(;0E.t_M*m xZhZ6Z vb`$&#cr25ɾ|7is 9}i"2fdho L\/IݼG:.s`a8iU[S[Z9rֈ,$'ϊB6j}2H{Y2"tK?Il)ʺJ ErkM0_s('@'jp''o>@Q lJpQ.<~ᬰU?8AZ4c? :2EN3+o>HL-Q^X[hIaPڥP6%=^78 ){/>8ڈwAI.TG4Ֆ9":NH__ xZ Z A ҷ׸ dIM'8AdV"RP{^[Au)3" {pdָͮk`RoJYX(:C]Rޙ@[`Wd{ƊR37T>;.,Ȭdy4!V=fa~ ʞ1EB UA(ͦ)*r&.BJQң%X(;zFFRrxKH+ RQKt-,T0 :DMFRƃݢtվ%[o;>QpqoE{6.ePpw,%AI1/suMc!{\sS)A ^[XBuڂѤ,JJaNJE*LJBy py"Rv2:i[a;W|ۿS#  qy5c9}]p?h9BXКr"Z<s6[[[o 1V ؂- ?\>`AÏe2Hw*]zݨ|1QEaU|؅e3,>Oj#!苤Hi}#*D5q:f{ QMim +]^P DäI晏hѻy\< ?ǜJ?p cͱԲ$eT/d_Z[N=E@GrIY~rTTBF:Ǥ QtUAHOQ $,0P(m Ѹc!P0'ag>lVڎ " !(9}yVMfIIle5ߝwV٣c`E:~VaPxd%ƣmWGG_etsFfE-*1ŘȠkz{.l]>]3$N :`R :/]m:eiDΏw,(CAH5&pp~K*pW]lk G'B 4K| *aש4ѕYiܚkf56'*-7#mPfOt]4t'_יa-r\)=o}o-ehͅY,ڐL!8@@zPeLa{SMUT[C!44<^Ʉh`D9|LA{,bH'zRI..謬.' qUTp~rTdg]2#"W4Xv hh^e,(8/L=i 'SNȚa2-jO'Cc'$a^⸰IwNmN&p#GQ*B[ظ Qeb/-؏ȧC'0_+wxPswqqb40HO jrn/UL}kaݳgzp7DBz``$D* vdaQ0qf`#U8[1 X%!9|7N%mV\d5p1Jeԍdt 31 ^`I~V>+̮"Q\?B/ +Gs:r\KcԽ];Ӌo\D5Cr9[ l35kp@%h::.*!1L̃yϏ-tQ3wxh\"E5C\+gf |7aތnK,ezs!-X 2irv^OQPp|_QPujBݯtDMDAe w?6o}Oo=AwGl]H mhӾӻSN0xEZ:yx?ڢyEzX#|7N>rAtP{٬I Y'Ns0]Ŏ$Z4eL=a O9M؃x5{e#cOӄ,|Z:i]WPB|/ʰuJ2˧t 0q6dA<ݨ1&˶^TmM}XqH;V \@g 紡U(Cw9&p\KŊx 淤7L5Ӊ[*zA1jI/p,D |Kv2:6B9.v&ÛεDXz+xYLbwQQ-䟺h|e&uW crj'ҐuGb`(+:Eu&x'5,8/P֊T1t|+nQ' e%qeYMObCuŝ.#54Rul~tXaimK'r5eϥ}XBWºjudqC I䔩\ES1fiͱ*BcTTDSB>6$>ipBLoS}:R}/qcy!;rIm"ˎgo xٽNd ٻC OZau b%,$zb< i﷚ss3*kf%t x꛶r rY ĉ1RNjԸ Vlmk̈rXW0' =!N_DU@p~r]A(hs!n?p7m ݑ*rYXۭXjL)A0 -0ƹUy2["!Useܙ`9ݑJ]3HYhg@#m΅W9#}n'ypSDy:f.UnKn=6t80Q镚ʲJڤrQ1X]uې fy> xP* ]CnyG E\bt)oTTGqy&E^R(*JPE\dfk⠷b:4YIvMr0Ƃ>dV7bV1$Z_B0}aEEX77Mq$6i7\NKV5}L?zDK$& _| * 7'jY`˵ve6rH.1KäURy7f*V<\$tz),6:Xm&vP~"orxAscn"M}msޮ&P$faZf O'E3$&*ILUeG6,;s)<ŋ} "kV8R*?`2\D1+!#ȖkgWۥR p^XH-.ޟ0 V\8;[!T=´ؗHq5uTjL 7TwՈ'!AD{(̿GR8U3=Yn ǀQIrbU+=z ^S;g˧KOp\dtMf_(2o-i^Ȅmp<;KZ82W>،[2jF~۔B['Y]XձKt=n KJ]^+F2w-ds=`Lbmf^J4˅Hò-xy"9bސ+ɔm,o({,zv6B f?jdwG]wJMMU5QIXF(HnDYh7] `g{}̜Â4₆dָY10}Z{㒲3s˱6-&qɝyq7Z҅c&a,LQ/>vԝ0 |1''ae/m !cH+ چ\L,F@WxxKU"e+WA}Ǔ(ҝn{Sfg̩(c&=J~Whي)k³n xg0X1G1)̠.XU8|BjkfVDt3}'EcPVh[`F# ʣ:_N R/7X vXFh'/Պ9zV[! p<[ 6^ q_ɋ(ZUƖ5F}`1ZIg7yy#>#ݎ$d&PvJȣRވt9l7: LR|VP۟L[3C0Ó/β}"5&&2گ  xAT]\CUVySb[\GY"> 7^?pb5^RSN[Eٚ(Wn]ƟϒЁ*+qwspl0ۊL8EjT2P2WS4 x e%^[Trz;]_D.q[?k-n6&gWc3Pp̏섘Y' oTL!j >m.1 7$k;ڬc#%EgO]D(}2<, jIX߶f&֦ uj]Ag9hKx)sRGeT[SI$ 9؏D`8 )_ @N4|Np?M] ldgv浰OX݋>68(Z u4 *Y28l56}սE5H\}bv"1ϋW1 crxcoRmo.9Yceɓz}ٲ-M#7~gV*iD1Wav Ў)ܐMecVeXTox>Ay v1UҜ9N ӽ2T%!s:"9.7$CVvjDBfpG)!a5KsB)^'}&v1&D#Rsc/wkʏxFq3 d(O.1˒JWAސۈ> OǜCn'G՛/&qTotl/߅p I{uFXLħm 6j 0 ѳrp7tZ>I!:Z&(5p_ȭRO(ac1dC!(g>Ƶ1F5LLQb8ͮ?H=>x:{ BZS8؟hYh?sLV-#`ځN-}e5 ^pymwypݚˆ')A鏳 TEs'2pC6dN\0\3v[E5:Gx^|Ӎ#I}C&hYyb!TCrPcR^UN'j7]=WHrC8\ ޢ\0,#߬D^ pɜ>r hWOmRjӚsTZc̶Q`܋.87'-ФκTc g ?I 6Jߓ"UMb>^v*pmh{> L0=Mi(AC$D8hr*fEx!khxG Fo+iY9 O_]Q-X >˱ݲ53%m،ZkEQf/.Le'Cn@)"8 :.-"PO ,SqA`x Lc:\zRU~Y:!*{^x-%e9iVA-_]:Pb"ƽdaip DR\[jvK/-\(1CZS|_3"V;oIi Yؕr~$A,Rhi7z]zѽqќ8`]#m=Oq'{ޔ31L+gytvEm*AnB#7AVC@-lzU{\T^`lZ`yqť2C2s `:/jc#` ?;/-EZyj]-A2@Eض 2Qnh'vlw37- eWc ݭ?eA`"*es)Bعk̒ ލR^eF@r-+)= 0Z k6K82@'ф.c-GvU Nފ^U -BH'r̠Ʊ8;{WJ C$**l܏cs'!Ob"OxqɘxFu<flʹ*n[|g| 1a6Fhd,a؇,NGm9Ρznv(ӝ4Edl k0(g/r`L9?3#.A0pVlsHF΅z($Mea[Kf:z%#zY/{Pi!;JnF-q] A^T}Oxi|-T6oH3 RZӅ%jkjRCHL2LFp3hKisn^~7AA_{;3m8\8 HapsZ&ѝ./q[`L^uG-^ 2eu[^c)Ǥ$$[}<{SMb!Z۳7BLz/OYG=&NiTbk( y"g؅Q2:Z*F(fztĪ" ` @Q"|Eش|KI$<#Is@RFJa-?)fݮ u#IH춎9odn;CDӻ@T kW#[DH_x򟲙K򹥗CbW x"89DҮ)$La )JrNU4)m]Uƿ|Q0 ?!s2`g6q"xJ V$cyU[w0)ͥ?T"^ڵHQs%nQQ=4Lq[ajF0Pڽ[EpO\\ADXҽSKclJY~H$3|]+pQ xӣC8jߎT)QrMA4K6Pvcc;jѸ@-*PsGW6NZtN@P̔tv<#wTTmx#[wn bD+I}3)f" 5yu%v.SO!F`uCYo(w{VW^ZBy)zzrWbY܏2-Jcce Y௢tG(FߴyDRɽO㣥Cϣjz1Ffxhdyoi2-,C`bs~JM;]Wo {BB9W;n]0ӋRRwO 81#TR|lpyASy,VbxWzQmTUL-l.O˜EqN(8sPr(L4s([ͧL"r/J[b9OzwGJ@|Bh#ۊ09v`-kF{Kr&|IY\)i\R?'2TC0O M(I14cxe}9PXoY~&c@d4xmUe%]Tv}J0MӀ"5P/zl~Q1;Y_?b^f2!-K,yS@qԘ,keG'~Pi;eI5Z5žٴrL1uztAZxI6lT&Ua01_ztߎi*_ٲnQ6{ Hq1~ ?)=_}2|o ӛc+~O9e dWvh(Ęl>nVDZmh6*ً;-aqFvNof Xl84;"t=+97e5c&:`nuiԲwҼzjɶڼ- C$ j1s PL:4Cr;WT4/W%ZrZ>!9 s_F o 8v WNG5>ԇoE58e=5&ޥNɳHK| i0NTw@uid!$x %|_Z;W9 *􋥉˜G]iMݨM Y';l+;}(ʯd|y/yU7*54EbX+;BC\k8YOWpO4-3QOv5 ΢h)Y$D Z"WG8i[][FV1_#3&1b8 #z_uS)z1jB[ˤe5-Bअj PYIMDkc=ӗY#)?eͤY[3Wqn+ 8]?doFeԓI^Q<3xH3BK]74︓JF@QbMbsjѐt5o?lWN[ܸx5j> ?:rbf<T0}`Kk J8@Ud.\׷Օx\/?8(o$F_pԔJXEZYxruh݅ JA9:OnK6Εz[koCwSB*йET2VO* LlΐS1 lvL d+\Nu3{JJ~?rަg0 M]CY؜V.< M;&߷8 X<1b/~1*գJ]xr:l!ZxΰVDgT[Ƶfʇ{C!?8Fn׃4'rKasD4)cl>/Cm_1aڇ_8v3i_ X@n#w}b3:&t7?͔vmq}'[6V.$BPClF{XiO˜>GQ:uIQuJW@YVrsY{<ՠ? ˟'EWMft}ݑ)?y ZIٙd)v+Wz3ml{ FNG9eV jtmz7gDq֬J\c9:5i9\-s*xkL4]tH!/ +؉Q7QW7J{:9TsDm-9Jڗv6 E=xR~[s#:cR˰ A1Bռ?v AͺH?&1=ڋ~ u҅p3<ʼn׻" }s|ngMdىy!Тw@:=s_ 2m,o/c<rnM~ڬiMj<5fj9Ϗi2XCsGkg?? nY} O馧&O8f.ɨb3!%$n{xK#XdiY9x~Zυw&pS0SLSشLkﵧ%ʃ$Ͼ8^ i(\cۺ?D#U NJ|"A)Ǎ7?i,'NFw^f_ߪ!+Qr_[dOn@Y VVp^_̙|:+*P 25K3:ݞ7<O,~I'; #F!+4 W[X T`_^L,-e!x~[Qa_d3cv¤ w>͘0 ^6lVt>`0$L4@%"}gS"w/lM{RbB2VU2 ܝz!8Rkh tu BX mo20c+59=JHDg2#rL6Yӝ+Y&q%YYXWu~쾚戓Zpl&L]0(&Wg%UȚgEE9p E h8w5r(Y.H6!J`hpۣ<Kv9*JN+R2Ґ5ND)/O<9#Y3\R#yZoz*[*$ @N63Yo[֘3^Ti=ꗄLIz9> ;@2>Rk7W3Z('ś\Q)r02fhak| ;T'%|)x&`$28 VJ.XoAMgN'‡FE@R@ABO >@ˋc+ _@7 :d@Ȝ+csNOX󇌬}Nyղ,(Z,"[ n^GF0bG"/Az>Q'!.&)-{e{uz=P{JЎnhْ"i{ ̇*3D+Mx=X:Z!ڠ &]\Lю G9""O@Kp%*?(dͲFc/] }g= A*^/ѻqD"6tFH!{ f{1 uFSQh4Τc1wrYN$`__ir}+FrkRϹsDf A8U4iz0Z@99݅}֜OԅAZ~cQ1ƌ9VM۝R9?$9bLc5yVsQ *F4k\1_T*b!0t0[EGL=aNIn:b)~H-S;dЦqo Z2^g֨98!%ms.%yýo4Lg#xua?F%λGZ|[i Q hZ[T6Z9l$ᬈVE` XT}ͤˆ %i=\A%,xirX|& *yJ+;ЦARv.O . n'?ܔ}*;UQXF.$˖P#:}oz^Sh[  fby(vb ^#IفH(/$%؊R7@ʳG$"zQO/2 ̇:cqH!2);kV: -*#j|TY ^X 0򧽶VV%Zd$'aN\oY)ƌzX P }'5_HJӐNꒈw5!KUY{?Gc-|ViaOB`\o|h 1P ^ O'M|^= h?l(", nѥdQV|jIzGEkRhA"|ْ輆`ޙe3c.^ے~wGs)9y(;HBc9|lv07|/Zz|y^}=pg4/уti0Eǘs-C.͗5KZCL0ÛuG "60BT 6?RLqrҰIGbD,qI]Z,C*\~rn.6⒳+SK=_UBj Ed8N} 3 fn/^劋%9'(C*!A剋u{W_ΰ$.Jsv.Y]f*1dd2a!GfnmS/>ʇnւz/8E^N]w?!F/9nӣR ⭤eh ͜ޣ; 'Rl LMXȲ;՚ۚa| WY5}z ve%bࣲá[X_m1Ӱсdvio_/]Я-t%vи; ꌰH:m=q6 9ٟhm>sKWqfE3eJw xzx o,G5ˆЮǃYNK@( _LŸme>%jƮԹJ۸͒%Nz!>=$b yx/_Hø``?kb@㚮  \‹ 3kǀ<靏.BA{Ҭ^c5N7@m A r Lf!O*#ȝ>p+a(|PIB]^~Z) 䫾{H( 6!361De/.H9տJdŜ[U)h6 NsePEr~zYwES(Ô/x$r`N:,RTɋ./ ¸~?ospʵ* bfEхqo>ƻx@Y4c|+9Rd.X p*뀑W\E80 |x;{(! n*xl?39Ө׮20*B-hxTf.rǣC!$>QUOH6Qwl8[#K`a/ ( e9  \wIJ ;EfyE˙| bϽ3Д*gdȘ_g+KIcz.wjȻħz@6S}juiyifez{T16/$fw`1 ͰT3uHI';pg?%IXN8~CT-Hn p2Zru,\̄"_K!KJ}2IFûpWW!u2L[!d8f04N(ŏrEGBb[;*gSUK2 nQyUXցu ƿT-x!YI32wXU{\>TfACr^\ dN ^䙅[Y*N^ _E;2؟D_u2."fV֒#C,olWA9r]2m4vfb|}B7`ڹ:aSa{ ?_Z GqHm$K><~."!35}afdl"#2ݼi#yl:2q˥'eȡ@ȇ]6Ⱥ.L7鏠6^*y '#X c%PۇOƬPe+I Z *䖋$7),OА v/:w')8^dAO$?Ɩě ~BU0eqN7/:Q \s!8NY]V ӆTA.e VEi7?} ?(ʫGݶ\M72nP؀ꔪpԬ0UeL~{Gm^SnCCv`M$(~YjEsXAnR4xD0B|}FⶼF: O(>WpGT0bs$LPt*kU$TF]XU5rtP'hajE4.߫I>&Шl%CA7CAwqe]LL K ?İU|UrpvP{]<ۂ?\|o~:ۖqGiUEdäҶWh TF$ ]}f6uuJ?A&][ߌgvzXve yYAN*wOV:/tdӱ@`RpKvf+L DPā GIխ:Nb s2x=j% gW;F/ .{M#  {T߭VG]1l〗Cؚ `;BM)&Ň'ĤXk)$gx Q1On-{o43_ fM}g^a`[Z0ꊞCkrS׺֑9.jq.4mc^9Me~T1/ꯆe$C ^Ϥlhf*k8S݃ůz<dIt|,ؒMT޴4ɒr TJ΄vT*GO*f)\/[b EH 2W 2K'W7oUؿ)8C=ct&"2'{ӣ.1xLkͣ(fԣw;)עp/.BXL7Wñy$Fȼi&CvN_||quγ)%B΂Y2U qO  LG'U#TfϘX_^dhN]Z L.hT{)w2՘& ̾E6=ƴ-s~䥐R$%[_1->"URQb*x!hc9T??SFehP{zdQȇJWi_@xLsRqW8D(@{4;Uvd7ZXlNۧA+jm~ߍXa8xx EJ|S(-Up71_̶i8uZye<=n:XzÚ|\O Peۿڌ'1bdݪo'bqf HeZ;b!tDwwD<*Jax`=/JߒŸ`];3cȧ?{G3KOhCGYCi_KuSbhv`$HhK;oBʋ Vk,/eȪ~Ս0?xplsn$`sR"VkQ-x'+^Bt\T b[w09Y׆Q =b|G"26{ZX"/bkx)q֮A@/N;{u &Z;w ZREz+(a /L_p$P 4'`܎[WR3qߐiI _b$L?Q/FlYTipm3ccO:/"0|p"[NJ^EUmJ8?c=*T &[4h7]}~X&RJ˪ CQl6lΑ[]y>;:)u*m&Vh).ypWet2> ul)"}=ZHOh':L87<( L7RĬbHdcP5/:Z4v3H# h*٠$ ׸@! 3.zYzv"Ien.9=zwR׵Kϧ #-R9xŚ7Jx́bA)!*̙9s@|F mi[rO4>|5|a,~'8ׁM>܀3sA &7RhȩS'Cu|s W6*i+KYc0g 5kc%e'j+ᶦ4f%1ŧ^ʪ 11)vD Raab,9Ȋ-N1y?cCcKP1~A\ۄL)~cL `uDaYvP)=|,gU/Sk< YG[ J.c;kr)^܇DD=yV,/0hV~\ϼ\&v ; TUEP ٹ'G%s,R֚* S/U@4QFꕂZy-k/tKXjL;(Qy;U(BnK4,T_{K3#wjS? )<<jB@@fq{NE y2\0CNyԛ s6M4vy/ ?*"z)QcB6Y=i&?\x%:44 {Iwo(Q lY%4N,R$1p8nf G+|RQW#}ß>#|'MkD_b3;m' ۲(Dj> ۢ}1VZtI#ŇΛ?nSQꌫswI|H~btņehW{d)mz"1XoR{F$mEڝAbtu4hHb/'skp$t;2\0ݲ쫆DxJq[JENVjm'UW}9WoE.rz&'@'ˤ/iLab]e))yr~J͔y.Vd,婒eǥmS֐i7ZcME9+ D2<2s"$N)F {X^(U8".$,d:P*c5~W>2Ijb H_%\w~9ъ]ϧlMDGO!G6W$lr]ѫ\P07 23IϦfBۏ "6'xnnu&JK8yyt<ʼ^$j`5)$qlץhm^[٬C?g墳Z6 ZOC%&⹐Yҩrf^v_z_`sBPNMnUVJ^!HMZ) E5<"ƙm:P!NJsU~En13Gy,o;3mOy\C,St**A-␻݄X +m~]OolvG?KhY K%;&[hZѣfu[y y"7'^9rRC_a voZT6P])-2kW.XQܟD`yL<GcQ0p-n^4̍>X.2-WQ.Kmǹi'J<ѡf)/NdOu#k:bpi&7EPaX[v1N׶alqv99O^^%| Rq'B0o@px- 't7 f %t.\^*wu"2ڛ÷Y-ϔz@Âϵ Ś͏yB A ]+:;޲D<]vtIyEa'_Κ2/L2u֛̟e"qyCq8'"T˦8{ycNK }7TZ 7Δja8馠[JD^旀e.I̪|eC=Ҟ&5 _26OS 1(dg)ݦlixfx0rfbT"}$䃎 rWFk~JU8hZ,+U#1LÒ8^vu ;XbP WW+)N@LďN ZG3pX)=x"]ё$m]iqE؞%= c}/Sx[> C`gQqsIjy:1McF cl4jk$Õp@В0WA5` 1x~sfѣ&*,Sa`j|;j# J[n܀d4O+Р*U;KӰ12K;`pPyPJ1q$!{FA:4hTbey6,DC]gÆC)i8ΔObҍ6?$Ƅk"(\l݀퍃pELNP3҄A 7WSYڸxL4޷'|{nPTWpi`ѱ QԄu+^l-2?ro` 31 *]4>Q#ivm`L~\:T PݩYM{B#c>MșYƐׂ^Ϙ !q5jl f҂_fiԷk;(kuw!` #h^/oNs ,eimssR>,Of?&|| -Zfnڄg!BDj6G?d_ {dR0OdH(,=}j/\gbSP g4 HJEҦ̸fz5"D7Q\ΞKnvP7scO D}u;8l,MfiBchj*|+t RESlpƉۮ8|Cn?}-l}m6FwQC)VsuO O"|*Ȝ5ޔDTы>EKV4+ _6y4OL:@a]M\k@t'si115q6=<@ٌLeXa{JE%c(up+nc3k"?Mev֝65B~n &*:w aZg݋ŘvQcUd%\Ps"6Vv-7Z;4Y#L6iEv9lRJ2Y@1)VЁF**lPՠ-sGrK}nZ1Aq80nvX.$W-"q]`,גb Q`Fꂅ# ^Ʃ>H܎Yh%φRA_ /ptG%xuoK{i<vJ,ўGfjn6|ѯf4vӞr)We]J@Ɨˢ{uPb1v;TM|pY9˰I֏uՇaj}A#& mfZV]|Vɛa :?Y_Q"ϛ ۩Z3cO{ے78嶙܏O]RDś"c6TDq3]ȧ"_'79@i(DAFx?A O I0=, m6er'ܘ~hQk:3I/H݇$jj[}[Z R(NL]{Uvց:5) *Fs>fK9':qIEo:%[t7 ޴0n/&.-rI1J&o$ߌ}KE|r(D'H^3x^΄$i@>uoڥpH^J;3s873`n>(h/o>F3Zƌ.3eò]. #BCߨ0<(N ЪP60+Ւ+,qͩې)W?j,Q3Oj u,t_.OW?P8AS 7p+;#f>}\@9-w9w|85eyۓ? =kbطusV8lCyK a|`XO#!٣VItl5k<9a H#@{Zp͸0vLnu]NgucQb~Y%9O"?lB5poq1?hɨŢ=ʴ=`z՚+L;SK :<͹$&LWZ//\U).wB ;&'*!:;{AH +,"{c 9Cgfc Ҿ [I 2l8PMs^ymt%j/G{!I1]0In(85|D?-w϶[T2\&~f5NdϳmO+fn0g~rNQ"m꜃ mRQre00نSrqQi$f`tb]NIoV@40f >X6EN\ N44CʹZyg3ɋ@-\(:DZ1GPCw&/奈A}k{1Ufcyxa]<'R7/G7CS1Dbcғ~XZC\-90^cwu@Q!-ɇT4PmvCytab9~0/|,!Q8:Ww y4SShW*dibXn`g:})sjjA|wP=ʪK?=((aֳ<91=(X : @R诞q)y*AoYqJ ZS+GXYrNA0l~FQBXf+e=ױhovyXV |}Q,sʏAEa<̘)TT BkdID{ӆvq,tuV(R;\E2QȴniF[28Ҙy OU80B0:# a^zU"mճgJ. *X\e0}&B~5ZRImYvu*4ͷJߌD"yj,p|RėrP}P/W=ooAR^&ei~uZPcd.NlRR]Q_-tbM=FV v|dTO h6 Bww3y`3 x,(1[+3)thݯ\Rh!_uOJh5E)0X,C|xfyH)6޴rx?hnP6p`ǭzEEQMM? "r*"|NF&ͿU}މ}񛓂U'qnس'=)ᘪx冄lŭi?O8b[=5D[k l! Cͭ]r| i6V6"ϥXXfXh`yI-[D:'XN󿒦I2k^X 7Wty)H>3 B3N.u|mz 7C"#!{Lݗyx Yc ZN1AZ'*DH 1E ZI>Ps1վM^Aqުz%nYW B$Chy5W!aT8$O K6(5q2JOįey&ˆed$(v\@E,,\2:t濎P܏Ĭ޵=$"N*dSn堩 Ƽ㇛ $' ҧ߬^9(c,ot!VEȿwIM7 G@;(g^腓Dfr^£vM2V,$-3VA`(KKc~ڪqxsVS齖 i)0s9DOznE!N.xk].Upv\^ZBU p}Nbb[JK!2=pN#/@矧T4 ")F*onG:=TeI#dB@).y:F+ :jsT jo=rLBXf 5rp d1z!)|n&ͻ8\u|3.?.":7s?!nXo.ԑnl P)~F*B|I]NsNYiKR f T,@@ڇeʴ{ ɿWHnRKJK|!,7{-5bS({*%q~3/{<0O!0f9F.IG@غN--'/%<{M !06]U]mpخ7s>:ئǪ9sT+&yLw>Th  !/Ml/ GR'"b;fWڍ]枩㮊Đ (ٳC?|huh i];lb&7':n¿T!S}F!֍^Y5eC8\NJwQ Èfq֜Tt"- \h/xӪTo_g%~$ fKZ-V1C Eh)D ew902{ϯ0fBmEv[L"-nP26=8.GGȷ9GIA~Eʭ~ 9'p>H?oLZ5aƎHKeJ*-º%1-(5uHh2/ދ CA u+R9/U&hiJ 9_pD?GƁϛ&4RgÖY%XN/:}zhv6 YwR۾JzZZ9Ss JHB@b*IgYkVl219 у%Ս=0eWf5LIy,7J)sQEZb{/F*JsHGyETYGJH=mى#n}ʥ(!kWC`12G3}kR'^E=—@Ldzzm4B oŶd-;#Z0Z>8*n۱Mxb$® V#~غMz>w}7,nqynqP(}O-|;1(yqsf\q9Xwťmj:Ra,C" |r $';I:Ur*wD~d؃ /Pט8\><:#R&wϸ)VzňݳΤ\&y;ϤŒWaX*x WjZ%)|6>itׁU'?u'oI16K }RpTr&WI,K{%*,|{謠X:G8q,_SMI!j:ͽ[XQuab6t>s>ǔVFŅ5@yޮWu-p'Ǵ JWAJh+yawp'u t쿦@׾.3î<%n% {{ؗF:mPgR;|;\Cz`w\5DgI( %iUWtw-r(3Pf.L `Laihب,YH?|voiGP\#&ԭZ8PFp@}}J\=VT= l0#< TJ^4cLm,fkŗǞcj|X,T2b9xlKTDF _~ \SbK 1r]d#lW WC&wў_N7#Ƙy%kWF&pA&:RzOHڅM`h'U!a>w MWuP1RQۏD4MEV6\"P!/7Q@7uek0n!Ve/(I0%B 2XӁ&pkX!!&2/k/_$)6)~A0pL@r!uB⬟ފ 7]YgGg [ѩhbtsɚKQoW<. iV#a}#\蝭aԧPM}^g8 vs%0b tE  |4ēNmqtvV;(Cv?c0]-ࠓMlwRQfU"CJ`)xgDFK||[9(gNI6Nsd?Uԋ6+=i;]Du] ` K#A"µ'ŃԌ|U.' zj!s -8 e99JLUI0~+J׾R&wnP!I#M|z1Lol TO%fg%#ػ`ՉI֑1$p8i$k.Pn\oE*cF8EZj xp@Oш~[~~/\K8JɎxR~cI En-GiגM{WƧ L}99LHBzl=ֳO & 6 y!~xXR oc3_R"X&rv[M>:l3rqϐY Pd+KgKz׋I" <f_Az9}]u }2S糨L β[7nsBsO~ *׾DY(|RF,(۬o^r'rpWr߇W{I'@L0{?5i¶Fy ')nQyabƑւ_Da%(g{yy`bըΓĀKtQaRAN (y bmٛJNo$ѢA!7gl/mtRn h?vq,8b a^lSG&cFJzT.o50 U@ .]Sb,*220(KZz$E GA^f>p)Jb9bL[ÞF:,ȊGiA^sfA[uuCGI` &(f'EVJ%E3snSԤ÷A9!v.Sxɗ%ܰ;BUc Dt^y|>^*zC#vDs莬CbK^(%DZb$49rX[ V4PR $W`h@Uu`ΦEpsWsERM ;|Y5UR)2DMgYΦJXe YK6'u~sEHNgTK"XK$ . K}UT>ږjV \**E.*}L^"lW9D_pG&n5+^uLm 61'RqT _)pEC`k7]9gy9„*SƕqC|& + *J NV\qtMB(^k75V"n9ڇ%42qIRx_*`;4`\m:Ek(;-}ؿ7nIhC ?]b/ FP̕`A G.û'_ux/^R*{#rBdDvWD~FSTWś1 r]D=t\WHĻџ} Z麷[JҿGjq}@n‚jnB@i w֍:iAR/ ;s:}й0r?秕Tw1'Dǥ.=nF?#%?y̺ HDwfrS*=42B9[]هFӬY/>3lj*ǟ0,2<.2Dv Cܹ^G>//8"O -p7Zk =uQL^=LU d\ W,@&bwFo$ni7b[ݪ=8}T'o`ߜsIHRذiq K+^+\`8@&[?>vDn6e8 Qg07^ >S4u_x&Ni\~\&ŲL5Iƒlyu"]ulvΒhs?[W6T?AKR $F~`7o9"^[5?İu[\/% ,YH=ꉜ^+ѰL0qLw1ו*\/G93&qv]N[(s,~a!tFmK {Քx=׭SX.˝XXlmKK0ȣ*06ncCDLTR9,))  n2ExC<וɚSq욼iwEqkhXݨcXշ 3 \5c j޺ZToC#uU[i:6(>*>~2NEr67[ /7L爗FBG8I#f0p2`^#-Quq?cTL|˷Qy5ϿMr CЪNI8[c=)[1#8H jw_ 䧠=L;F]+9 NPfEcC3DmeC240Q`95v  AqS3;LQܨ׼> 0N%ڧ\Oíh#0zz!жޜQY,l|%S錣W r_8SRp"rɀn+KWg1IN-}L |>IPpALQ“ Sb3hsr 7R0VF QǗ ,9jJ:mVO'k$/Etvk&q7co7'cX ؋F" 5"|)l 33m#PGnFسnS ȮͨRhVMUh= tQOJJ#&Ӑqh2In%.Y Z49OH겕6GgKie!WDI4& y٢!n ݿ[srDpR/=*)pI>0T,._JҢ{^;{ڶᶫY 0&g-D6lX>Jkʄ '17@MgqxIm%: ZEm)M5p.nwE &N]>\&^0TPbB1Ծg.8r;^L<0}-PK0x#IdCyhy&-˾4 w'B;uGcb=s_!Xqҿŏi 'LS ,1X]Z5&=ukEM&%("EӾ*4ySuؾTr%xx*qb1{\ ?ͣMd3қ8+mU6|q5j'C}Ǔ0B61Hf^AVAL=3K*@_&2#B- xSafާЎ.qSe S5r!~UӚN}q$.w:+d6Q%^IK?dYEc|le2Tl A`RaB I2Sf0( \X(?c3?<:O ]#&oȖjx6XzvB┘Hq%|##}6&)[R~i[׸VAr(4Ql${M0{{Dw>Ԧ #""ZiM>uF Ω,s~3HV:RJR~𬢥ZV ;@q jwNQF HrڰSX$]5G&GB0L!PMθ#!sF{ٵo6w+rHI 7ykYXԒ5*9F]vu6Q]N|'TJҐʩ,6 ~o"_VE=F {F7K"[l53gيHY֫lQVLn͏ ies Bo&"13N+[S/W, AvV$9ŘԂfN9Q>)Y?Ax:Ԟ"%O< ]0DSR{wynt)pm~ȫfDZzhR}f,fs)W Qp9qs_K~9c`[T7UwH~פr oQ"+D,; |.X=h2`)0VUyapX_<,,UoBb]zSz f`*7Dl"xi|g-F,m!ϕA4p!k$VK)3CKvJh[3q;/۴q*j/Xǻmwݼ?_804ѾA C.uEľ5ڼQI&%Yߥ/{o[g*.9wc'mU隶'jK-kY9^g A1\Td FUGP? >H2 oa\XR\8Ř"X,Tê`SUQEd_+ ܐ;(1U.+vq. 8QbLkI\WDӟHx(~K; صJ8ڢp4H3\ @)fKx}wܳr8r|v!Q.1$/m^Y"۶/>|l(rR_>UGIǚZb~4$I΀Up4^(gf: (ԇzi,n_< \L2M1r {j9F:e3Rn {ODgN 3PV1ȭ^FUքp7M<~QF+ӿX xvަ9jgǴm%~땡h R=ec0|;Ev"bC}Av)&L8ؓ&! 8V]n*0(H8=\fa6ΐ f[FofcbɞζyAvK+:՘p6>N683lDQ-Eyp`f wyN63wOMոe!Mlr4څGZ]bCB0|D)|W3Akj㖽qLj8継Ue5.3Ĥ8L=brEk{S39P!$x`Pۆ3OsA mm&kNLrhid]祜*q KѓW xC 6k40ҶrM8@64 L5T/kx@U*DNS"?yr"qMߦZ4TʢDP8`KT$JaN>:7IȬ4>y[n jm#{O~@HDXES?)wR9c!LSl`|lASy˙O(IҼ["}kFBP, tbt1_b .ijy=y>M)FH@ƈM?h[trxM 9XɶCgoA^+qR:3 CnO F屩)\1ʸ3-ӿW)1f}D4s`L_h^N3\b@ůVCI6rfްL'?:>=;DVU.WZ[P־=!.azY6~n!Ap.fEhYn˻EA(&^+Bu+QZ$ʔeYp[[`:!k(XrJ71sRalY>lpL 7\Qqp@|헚Q0VF ŸX٨fu: "uuTs:J9[i!Ј*Mˠ"ηPEwk-[rک`92vU{ސ63!y dPjD҉t{[C#:d 7'ڋ4ġ%>;PQL] L5X tB֚'H0W7O3t^H/ۓ2Bף+H&гԯOœ#qaPc=p(E>nق r}p\&|vhV1\ȹ+-Qx7 ς௤E7 ;AX\](xtoT.u+kw|y8*rO1W&Z3T4Zo[˥eFd8#fY'|EPAO\pJv@%σ6FmK|b53!XqPM