fwupd-devel-1.5.8-1.13 >  A `,p9|B\>h^"] Uһ*FYZA>*1L7߽T[VwRڬUcJ2]#NA6Tw#V^)*-}ة;{Z.fmz:#v(U)ujC <1&J#gIɒgw1adGl4 z,K)Lj ~^4!pcиڪq{4&#ʌT!0R̹QnՍ~Ѽ=AyFfֻ7u4f77abb2d38104327c78c4a7becc14872dbb22bbe399e0dfd52c3066ff164e3d2b619573e24e609139d9dc8a16b0ff217708a980 `,p9|,FxrYM~kWd*ԝJK&Ie'4=]0Ŧ4f}qH.w3']di=7, |+Ũ2XQ>$АXc0":JGu4p>`?`d  J 3Sfltq8q q q q !q "q$Hq&}q((q**+$,(-8- Q9.PQ:4aQFI GI4qHJqILqXM0YM@\Mdq]O(q^W, bXcXdYeYfY lY"uY8qvZw\xqx^<qy`z`X`h`l`r`Cfwupd-devel1.5.81.13Allow session software to update device firmwarefwupd is a daemon to allows session software to update device firmware on the local machine.`,1nebbioloD+SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/Development/Languages/C and C++https://fwupd.org/linuxppc64le@ CP " nf--Kvq  *  Z |/ ` I \rAG<I`ٳ[ Q9)]9)DEc!2x*u+Moh^,0Jp1Kq +u-Vuv9?A큤A큤A큤A큤`+`[^`[^`+`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`+`+`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`+`+`+`+`+`+`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`,`+`+`+`+f3cbf852a17766ea52df4ee6d4c531b6b168c97eb157fa91473628bc4783263823999e85357b8b5f3d2f0953e9a2245115bbd48955eba7111fc36f230dbae45e73295a0c521b16bca98b42a29228c78f2687c8561104ec317fa17cf982ee95fbf20a17434988cc1517f54adab67c130aff925ca40d2066def02fe8584a337d716d5f1725d841854294e27f1fe8b6fd4726877cc3b6b7e98b0b376344e53697d0f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229086066e2a2ccb105be7c2ccd4ca15048ebc8e0a56252f9c52231f1844e4c5ec5908d071153617a0178e0ef5d269c87262928657a5c2271b2b3e96b2214922c383cf1537f7454f41b4a2f28d3207751da5f9c1b48f0b3c2e1ed1a6b3792833a105fd4e9aac3b87474d7b31592861636a1938945d2ff58a566840c2052533e73f0fb9de2d74b3999a8513ebb810380173fea9c145fd94d35565142d31a13f4adf2a887d56a173bdc523cfe38346ab90f60b8b3738684a8c63994b493d043bf180d4579c314ebca225e49e2f0f5c7aaf3ced394822dee5aa654b52f8c25ff62325f95ca9ec2b74d2422ee455608dbee886b63369286413b12ff8578eef790db615df2e9d38d4c8d3f6cad84feea1d97e73f80f38cac83c529133b91a639867571c483ca68c171d09d2f7c1366daccf63aba35a17073e443718be4e1b9a5a0f1cf2bfaba47c62f1dcc8e06cc8cb518fd24d41eef730d4f40b72ddfaf328be1eb70c67a76a8db1206fc8ff1e047635b7e387c47011e38793c2d9d74c859e4b23d28f3d163dbc1ca6ffa16c04f4617cfce2d34a9cd0d1d5a84252dcc1daae690cc8b4f7de2ba7b9213643c272e2bd82eb82cb048e77f601c7a8db7f4cc3860380f83f1c0ec39b218a2342688abb320eccce1d9830c3a3774cb28e3aee902d8786093c890c50d69b21a3da323403f188132b17fa9220b0ac147d7c13ef3c3787a5674d99f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229078b73e50b009f6c86dad9b514198eb7d4736b623e5dcff65b47f14070d579181e0a5b865b4d118fd3c2f172de156316ebe0b099b3df476c021aaaf0d77641dbc889b043909ddce94d1f24802b0501bb7c9c7497c8968c0318344f22946612d789e47cd14558c5e4d818fa5ecec64c964213a0d3727fa6234f037bd2794c890a486a03e399cf02cb0c84a54f84737381af119e98c2d7918b59e569b1332a0499d361072290c6ad052c9d18d0bacb71921142cbfee8c5e67892096b03e14f885ecd1877f29afe177fdbdae431db1efa6f63f02a2dfa722e9886fd75ca85e743baa41495f3f5e6d72e60dccc1f814cd24b3a93d36b801e58adda4315cddd82086ed7ab67c119ca914e730acd40124e628fdadae91b3b12120100213124cc35d3a5e38638d6576453eab38fe165b12d7fce788ed4944a15fbbfafccaf3e57003bb96c4ba9dcb41242cca5b8711e6b2bcaecb4ee2376b60d2fd2f4b2f3c241258ea2dc64be4767a1677f85edd97c500fd8e573cd8530f4739f5fdc9a3bbda97ebc10a4ba2ee43d804a261230aff29401778905379c7273ea887d30f286a3ecbcdb31d4a744c6caa020d6495e1f92b86342eacaa1e59180531fb0c8e9683d1d444a537e99a3a84faf3a9df02d517648f504037d0fb7705799efb7bae52e273900cf24dd84c221a71b80b78b75f8c8a07c9c91e8801a465aa80f8d0202b922434f3fcceba4b008a01f318d7d55add474b75a6c9289bd9f7919f7b4bb1100eaba87a77cf9051c55028d3bef196650c78f81ee881490065e0a2a3c5dd46418c575aea39cd2bfb40b21bdd7191a3c792b2b0bf51fdc9b05a0c3efa20e3d9e101d29ec34bc7e0aa7bd292179ec55a8e29199d55964b85f86710a58a953eea825103c894de1ae1155a96bd15bc7d804e4f3ff3e60bc1fcb2d1315c1ae40d5006d5329f8ba6ae3cae0b3305ecdf40446932d75d3e4ab92a61494771ae421f3ee2633ad31608814909ef6dd16f23ade68f15e65a3c20f909b983baf6882412c06ac9636cab2a9cbd5a30868c1cf804d4d219eff362a975d10088991e8bc1a01d8a2263433fac17b03fd9955686afd13263790933d6856a6eb1e580c50cdeda5b05f8a5d1581b8f7f2b529e63e34c8d5b4e4d5708d653179db9cff9985f6dca74b9ccbbcbefdc088499434d80f935a31a114ec2169f2ddaf36c216eedbf1fbfe4e91befb1071e16ac867a8112e9846ccb313bb173203a4fd4c515033b67e24b0bce32c825b836f3ab2a4b3f18946c01af41ceecd23db00c41371f6ceb94e9267fbccaaaf937a0d7e80b603a0ac201598cc6db9a74a81f272cb258be4fb0d948d7dfedcbc3b590488915536f3daf988bd6a5420e75dff698e673a94902f2f3ef142d3d91c7ebb181e8c0d6505dc3c9fd3a4c8b7dc1ed8be8afc8a207ed295ea5a8299041b2902b90ec2ade822864477cf15d30113cf9ca98ce9393f736af3c32b32b96ef9869ffb8f79287fa4c737f0e382321c59c16429edb1142d43709a7a573558cc3eaa23a9c7408e2a5aa71f77e2d1c94135b5cb24ea08da34586fde10f1c28b6ad242888fba30a61b3c2747a216272d11312f285fe828654767499567ddd08a18c2e661e2acedab7d6658df962cd674888fceef0bfc425a80716d74b3d0dfcddfa3ae6ba367789b9626dea9aca23eb322ad7924d90bb16d04458e81776fccfe7e6b88d06b836054a2328d17132e4bf95857d20b6e6bb23838c5e9ff8f3e82cc98f90241fce2c9fe23562e56723d223f6c2b24bd62494b13d76d7cfd3e5953b0ae666696a5fc11a95196146c6065072b295f80de0f5a331d972d0a81c12c0ab56e4019d966270dc7aef348335337feb501aef64a54321ab2cd9cad7c39444865fdb6e02633ecf9d5502b88dc6977478f4deb73dbf9122aeba7ef51df6dce1db6f352295f0532044a5eaf98bf431c3667bc8b57ab13227fc84e172636d9f967dfbe931fbedba0c6be291f391f38f7549988d9b26c3501a55dae56fe7df0a1820b3b1799aa2fe21934989e0e67d0552df120a013af846819361587fcf0c4c9ae729a2811e08e6d71a7a16648bc53618c91d8b481a6d06599946f85d7af28f325df17836cf3fe605edc8ef9b2e3b6d7b6b33267e9b3fcf02c1d39a606667537511bb5bc26777a5d9b66b138a7aa19b24104d206675cb9dde59d7eb01321e084672c4b1d0482b4323c6837a960db8cf0b750193daffa9a5c31d8167d7935803cbb117fe399be4fe4ef30ea8122acdb0bfac6527051ad330f95e2f469bf18ebcff00026fbef5577d5889b73adea0be60ee8cb5b60f67a8dfe7ffac1d82a09b80567090fb8246b51bdd19c99725bfac9afc1d62872a3a7cd9be35a0e3e479d5c6551a350f175bc11bc7ac8e6b99638ce178dbd1ac37563654067559d6382a7d8babfc6eb15120af63d3a439fc59fa2afc5d4b3679a94812c7b3f0252d61b1312dcc9004c40882a0f704ed6d01b9ccb49ad9da7a343643a52f83be2634b84f8ea8a69072fbf0e2516abddb8b5af682a7fd8f84678141cb6c68b0f9a2de09916b5ff97928ec1c8f39bf1cec5fcdb95eda182c604dedb5a1b3fe4bf7b7389cf36f7461d08646a631232fd7a89b985ec01d2cfec0efddae636f2c2923d6e445aedb906b3d7802b55b2c454449d3fc73cb4a46bbb006e757923eac7b47d4faf9b9323da34ca2a1e8e95a13612b557065d2d741ebfe06b8de2f1106343dcbe7f28eef78b45132aeb12d46297ba7d54dd0e9ca51f57540afb571f58adbf9adfa11285ddee01a8c4cbe23bc382bac75a28168d496d32ec674158ae741ebeceb6a6e7a003b5a47eba5fd32c334f742f59ffcf01f2b8c712a066ca9866877588d8cc3916fd34c8e515ec8617b03a8e8bfbcdfeb5ba7650d8d9ec83295561237ecb4ecf62a8bf3244db3ac660aa83f70c8ed5c94a50cb382b5821fd0d42f12264923e5b8b9cba74f7ebaeb93a4f9d8ecd3c9e82308471cf4e063f2e3a34c913423b8619ce825af273ba403adcf0b7a8d24b00f5fb6bbb0446249b605efdd36598e8a0f65ac3fab2e18438c73b91e5c564e4586aac398bcaa3e5bfe9efe5b569c1439dca55b06b338d3d0a3130ccb41634b3042e56dc65e9bde9a165c231df4052906bd26af3deba74987e3d7fdeb303355d93cac53410997dc7a3f9bd60f3ce0d8ebae7908978c8731fe9bb139ff0eb96fe775524c2d4d4f167d79041b17c5cc8ae9112478665132c31a1417fb4adbad72f861982bb78e1fd3771ebbc230a1a27559f8f662cf3229cf5b3c6ff567f2130b883b3c95ab17504880cedd2c2c208f6466053e0515c2bcebf4351e838b794050c64c498420599162f2b3b6928232dd0be7991d942b1dc0b1670eb8695e0629ad38280184be1b94602f2015707a28170151058f7171aeda501fcf0979d3b5a67eda502f1d76c81b8ed7a7cbeeda0c867a4c24dc206490ee519d4200dab0371530831b2ba10977c7a6c0fd7e6ca89e221cd416bba0828a20c195dbd73bd40420f2040eebf418098a86a3fb2ef5a9659c87d37b81ee85b69316b045a9453ac54b75948f4d26357dd018159078f36f90deeaf29ce3b9d2bd0ea6655ef1bda801887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd188872030fc1a7e7ea726c79f4648ff57fd97c270b1ea1c3bca24c48c6a280c51a44d49201887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd18887203312936dad905030c45e53af3485acc8213899f4c43d74e7143bce01a9d6bd959libfwupd.so.2libfwupdplugin.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfwupd-1.5.8-1.13.src.rpmfwupd-develfwupd-devel(ppc-64)pkgconfig(fwupd)pkgconfig(fwupdplugin)@@@@ @@@ @ @ @ @@ @ @     /usr/bin/pkg-configlibfwupd2pkgconfig(fwupd)pkgconfig(gio-2.0)pkgconfig(gio-unix-2.0)pkgconfig(gmodule-2.0)pkgconfig(gobject-2.0)pkgconfig(gudev-1.0)pkgconfig(gusb)pkgconfig(jcat)pkgconfig(json-glib-1.0)pkgconfig(libarchive)pkgconfig(libcurl)pkgconfig(libgcab-1.0)pkgconfig(xmlb)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.5.82.45.82320.3.50.1.01.1.17.56.01.00.1.133.0.4-14.6.0-14.0-15.2-14.14.1`e`c`KW`6?`.V_S_м@_$_i_F@__@_O@_"@_"@_"@_@^א^א^1^@^h^)^ @]@]@]c]8H@] \\-@\@\Yz\73\\U@\ @[k@[Q@[\[h@[Xf@[GB[E@Zľ@ZlZ@Z`@Z1@Z1@Z1@Z;@Z8@Z2gYYYX @XX*X*X*X*X*X*X*X*X*Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@UeU+U+glin@suse.comglin@suse.comglin@suse.comglin@suse.cominfo@paolostivanin.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comdimstar@opensuse.orgdimstar@opensuse.orgqkzhu@suse.comdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgyfjiang@suse.comdimstar@opensuse.orgdimstar@opensuse.orgglin@suse.comglin@suse.comhpj@urpla.netstefan.bruens@rwth-aachen.debjorn.lie@gmail.comschwab@suse.debjorn.lie@gmail.comglin@suse.comglin@suse.commpluskal@suse.commaurizio.galli@gmail.comdimstar@opensuse.orgglin@suse.commail@bernhard-voelker.debjorn.lie@gmail.comglin@suse.comschwab@suse.deglin@suse.comndas@suse.denico.kruber@gmail.comjengelh@inai.denico.kruber@gmail.comtchvatal@suse.comoliver@getspam.deoliver@getspam.dedimstar@opensuse.orgmpluskal@suse.comantoine.belvire@opensuse.orgfcrozat@suse.comdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgstefan.bruens@rwth-aachen.defcrozat@suse.comstefan.bruens@rwth-aachen.dedimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgmpluskal@suse.comzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.org- Remove valgrind from BuildRequires since it's not a hard requirement anymore. (bsc#1184248)- Update to version 1.5.8: New features: * Add a new internal flag to opt-in to GUID matching * Add D501 Baklava device support * Add fu_device_set_battery_level() * Add missing uint64 read and write helpers * Add Qubes wrapper source and create packages * Allow enabling plugins only matching a specific HwId * Prompt for unlock keypress if reset command is blocked * Remove obsolete dell-dock non-passive update flow support * Remove the Hughski public key * Show a warning when parsing invalid quirk files * Support for GATT characteristic signals/notifications * Support more than one protocol for a given device Fixes: * Align the CCGX DMC firmware to 64 byte chunks * Be more strict for custom quirk keys * Check pixart firmware compatibility with hardware before flashing * Correct a thunderbolt assertion if kernel failed FW read * Correctly erase STM32 devices when transfer size is less than sector size * Detect SREC overflow to avoid adding ~4GB of 0xFF padding * Do not show a critical error when flashing footer-less binary files * Don't allow device updates while needing activation * Fix a regression in the elantp defined IAP start address * Fix a regression where activate stopped working * Fix firmware update of pointing device on Lenovo ThinkPad Nano * Fix the HSI plugin 'Disabled' state * Fix the quirk key name for the Lenovo HDMI with power * Fix writing to the GD32VF103 bootloader * Only call elantp->detach() when writing a firmware blob * Updated StarLabs GUIDs * Wait a few ms for the Logitech hardware to settle after detach - Remove GPG-KEY-Hughski-Limited from the filelist - Drop upstreamed patch + fwupd-bsc1182057-fix-sbat-section-copy.patch- Add fwupd-bsc1182057-fix-sbat-section-copy.patch to set the proper section flags for .sbat section so that objcopy can copy it into fwupd*.efi (bsc#1182057)- Update to version 1.5.7: New features: * Add initial support for Bluez bluetooth devices * Add more supported pixart devices * Add support for the RTD21xx HDMI converter Fixes * Convert MBR types to GPT GUIDs to help find the ESP * Do not allow updating a synaptics-mst device with no customer ID * Drop unused heap pages after startup has completed * Ensure SBAT metadata is added correctly * Move the plugin build logic to the plugins themselves * Only allow verify-update for plugins that support CAN_VERIFY - Specify SBAT metadata for openSUSE/SLE (bsc#1182057) - Adjust the meson options + plugin_uefi => plugin_uefi_capsule and plugin_uefi_pk + plugin_synaptics => plugin_synaptics_mst and plugin_synaptics_rmi + Disable Intel AMT plugin in non-x86 systems- Update to 1.5.6: New features: * Add SBAT metadata to the fwupd EFI binary * Add support for GD32VF103 as found in the Longan Nano * Add support for RMI PS2 devices * Add support for the System76 Keyboard * Allow downloading firmware from IPFS * Install the UX data into a single .tar.xz file * Add a plugin to update PixArt RF devices * Add new hardware to use the elantp and rts54hid plugins * Allow specifying more than one VendorID for a device * Detect the AMD TSME encryption state for HSI-4 * Detect the AMI PK test key is not installed for HSI-1 * Add Maple Ridge Thunderbolt firmware parsing support * Add --no-remote-check to ignore checking for download remotes * Allow creating FMAP and Synaptics firmware using builder.xml Fixes: * Add support for the Starlabs LabTop L4 * Allow using an external ESP again * Ask the user to reboot when required if downgrading * Be more paranoid when parsing ASCII buffers and devices * Check if the fwupd BootXXXX entry exists on failure * Clear the pending flag if restarting the system * Do not allow flashing using flashrom if BLE is enabled * Do not allow Lenovo hardware to install multiple capsules * Do not parse the OptionROM image * Do not show Unknown [***] for every client connection * Fix dnload wBlockNum wraparound for ST devices * Fix OOM when using large ArchiveSizeMax values * Fix several crashes spotted by AddressSanitizer * Fix several places where the Goodix MOC plugin could crash * Include the PCR0 to the report metadata * Report the lockdown status from UEFI and SuperIO plugins * Show a console warning if the system clock is not set * Fix flashing a fingerprint reader that is in use * Fix several critical warnings when parsing invalid firmware * Fix updating DFU devices that use DNLOAD_BUSY * Ignore the legacy UEFI OVMF dummy GUID * Make libfwupd more thread safe to fix a crash in gnome-software * Never show unprintable chars from invalid firmware in the logs * Allow using fwupdtool as non-root for firmware commands * Do not trust the Block.HintSystem boolean for ESP filtering * Fix a memory leak when parsing Synaptics firmware * Fix a possible crash when reading the Goodix MOC USB request * Fix crashes when parsing invalid FMAP, DMC, Solokey and Synaptics images - Deprecate fwupd-bsc1179790-disable-hintsystem.patch- Add fwupd-bsc1179790-disable-hintsystem.patch to remove Block.HintSystem from ESP filtering (bsc#1179790)- Update to version 1.5.3: + Lower the CURL version required to fix build in RHEL + Do not use meson ternary operations to avoid bumping the required meson version + Added Lite Mk III + Allow setting the GMainContext when used for sync methods + Fall back to the misc device for serio devices + Actually implement rescan in FuUdevDevice + bcm57xx: Refactor CRC code to remove extra byteswap + bcm57xx: Fix CRC check + synaptics-rmi: Don't crash if calling ->to_string() before - >setup() + Fix a possible critical warning due to missing retval + Add the serio->firmare_id for UDev devices + Export the driver name from FuUdevDevice + Allow the client to send PKCS7 and GPG signatures + Force the remote kind to JCat server-side + Only parse the signature if the remote is JCat + fu-main: Fix sender_features insert with wrong size + make platform integrity plugin optional and disabled by default + Add quirk for Western Digital + Mark more user-visible strings as translatable + modem-manager: validate firmware update method combinations + modem-manager: remove unused byte counts in QMI/PDC update logic + modem-manager: make sure the correct interface number is used for QMI + modem-manager: udev monitoring only if device switches layout + modem-manager: plug udev client leak + Restrict loading component types of firmware - Enable supported_build to clarify that this package is supported (bsc#1179790) - Drop fwupd-platform-integrity.conf since upstream disables the platform integrity module by default now due to incompleteness. - Address fwupd-refresh.service in %preun, %pre, %post, and %postun and provide a rc link for it - Version "Obsoletes: dbxtool" and "Obsoletes: fwupdate"- Update to version 1.5.2: + ata: Add OUI quirk for Toshiba + libfwupd: Restore recognizing gpg and pkcs7 types still + Register the SoupSession gtype when required + Switch from libsoup to libcurl + Fix sync method when called from threads without a context + Move ABI check to Github actions + Enable github workflows + libfwupd: Add fwupd_client_download_file() + libfwupd: Add fwupd_client_get_user_agent() + Only download the remote metadata as required + Add breaks for fwupdate 12-7 (Closes: #960688) + Install modules-load configs in the correct directory + vli: Do not be clever replugging the MSP430 device + vli: Make some trivial debugging more specific to help debug an issue + make gcab optional + Fall back to FAT32 internal partitions for detecting ESP + Add a flag to indicate if packages are supported + uefi: a new option for uefi configuration to use UEFI removable path + Add a section to man page on scripting + synaptics-mst: Improve reliability by waiting 2 seconds after writing data + hailuck: Add an plugin for the Pinebook Pro laptop + Allow setting global flags for FuHidDevice + Set the SMBIOS chassis type to portable if a DT battery exists + colorhug: Don't set the version format to triplet at startup + Allow components to set the icon from the metadata + colorhug: Fix detection of version on older firmware versions + bcm57xx: Fix reading vendor/device ids from firmware. + Remove HSI update and attestation suffixes + trivial: make dbxtool executable to fix snap build + Ignore an invalid vendor-id when adding releases for display + Notify the service manager when idle-quitting - Refresh fwupd-bsc1130056-change-shim-path.patch - Changes in BuildRequires: + Replace pkgconfig(libsoup-2.4) with pkgconfig(libcurl) + Replace pkgconfig(systemd) with pkgconfig(libsystemd) - fwupd-msr.conf and fwupd-platform-integrity.conf are moved to %{_modulesloaddir}.- Obsoletes and Provides dbxtool since fwupd 1.5.0+ now embeds dbxtool in the dbxtool plugin- Amend the spec file (jsc#SLE-16818) + Only enable fish support for Tumbleweed + Only enable the MSR plugin for x86 + Only install dbxtool in the architectures with UEFI support- Update to version 1.5.1: + Use UDisks to find out if swap devices are encrypted. + Show a link to discover more information about a specific plugin failure. + updated fish completions to 1.5.0. + Remove the duplicate parent-child data in FwupdDevice and FuDevice. + Show a less scary fwupdate output for devices without info. + thunderbolt: recognize authorized value of '2' as well. + bcm57xx: Make hotplug more reliable. + Use a different Device ID for the OptionROM devices. + contrib/ci: switch TPM simulator from ibmswtpm to swtpm. + Delete unused EFI variables when deploying firmware. + Fix probe warning for the Logitech Unifying device. + Include the amount of NVRAM size in use in the LVFS failure report. + Add external interface messages.- Update to version 1.5.0: + Add a compatible re-implementation of the rhboot dbxtool. + Add async versions of the library for GUI tools. + Add commands for interacting with the ESP to fwupdtool. + Add firmware-extract subcommand to fwupdtool. + Add FwupdPlugin so we can convey enumerated system errors to the end user. + Add plugin for Goodix fingerprint sensors. + Add plugin that can update the BCM5719 network adapter. + Add plugin to update Elan Touchpads using HID. + Add support for a delayed activation flow for Thunderbolt. + Add support for ChromeOS Quiche and Gingerbread. + Add support for Hyper hardware. + Add support for the Host Security ID. + Add support for ThunderBolt retimers. + Add switch-branch command to fwupdtool and fwupdmgr. + Allow blocking specific firmware releases by checksum. + Allow contructing a firmware with multiple images. + Allow firmware to require specific features from front-end clients. + Allow updating the dbx using the LVFS, validating it is safe to apply. + Include the HSI results and attributes in the uploaded report. + Support loading DMI data from DT systems. + Support LVFS::UpdateImage for GUI clients.- Add fwupd-jscSLE-11766-close-efidir-leap-gap.patch: Set SLE and openSUSE esp os dir at runtime (jsc#SLE-11766) - Drop _multibuild and build option -Defi_os_dir="%{efidir}": with the above patch fwupd can detect esp os dir dynamically - Update the efidir related %post and %postun scripts in spec file- Update to version 1.4.5: * Add XB_QUERY_FLAG_FORCE_NODE_CACHE * Add support for a delayed activation flow for Thunderbolt * Allow firmware to require specific features from front-end clients * Allow multi-byte FuUdevDevice preads and writes * Be more defensive when remotes are missing required keys * Disable the SQLite lookaside cache * ccgx: Add more hybrid dock support * ccgx: Modify readme to remove customer info * ccgx: add new protocol for dmc dock * ccgx: remove verify flag in plugin * modem-manager: read the vendor ID directly from sysfs attribute Fixes: #2209 * thelio-io: Add the DFU instance ID as a counterpart only * thunderbolt: Add a new subclassed thunderbolt firmware update type * thunderbolt: Allow quirks to skip the authentication step * thunderbolt: drop support for force power * tpm-eventlog: fix PCR0 calculation * uefi: check for free space after cleaning up ESP * vli: Add dual-image feature for VL103 backup firmware * vli: Add the project ID shared SPI PD controllers * vli: Allow chained usb hub devices where the parent needs GPIOB reset * vli: Do not modify the class vfuncs depending on device type * vli: Do not use GUID matching for the MSP device * vli: Rename FuVliUsbhubI2cDevice to FuVliUsbhubMsp430Device * vli: Set FuQuirks on the shared SPI object * vli: Set the i2c instance IDs in probe() * vli: Use the GPIOB reset for the MiniDock VL103 * vli: Wait for the root device to be replugged when updating the MSP430- Update to version 1.4.4: * Release fwupd 1.4.4 * Fix regression when checking for downgraded metadata- Update to version 1.4.3: * Release fwupd 1.4.3 * ata: A OUI quirk for Kingston * ccgx: Fix a potential division by zero * Check the device requirements when returning from GetDetails * fu-engine: Allow --plugin-whitelist to use dashes instead of underscores * Always enforce the metadata signature has a valid timestamp * ccgx: modify install duration for dmc device * ccgx: Add support for HP DMC dock devices * dell-dock: prevent updates to occur via synaptics-mst plugin * dell-dock: Capture the dock SKU in metadata * synaptics-prometheus: Force the minor version from 0x02 to 0x01 to make sure the devices can be updated back to 0x01. * Generate a body for github releases (Fixes: #2034)- Build the package separately for openSUSE and SLE using _multibuild (jsc#SLE-11744).- Update to version 1.4.2: * vli: Add no-guid-matching for all VLI devices * vli: Remove a copy-and-paste mistake * Add two OUI quirks * ata: Add WD OUI quirk 000cca * synaptics-rmi: Essentially blacklist Dell K12A * dfu: Avoid communicating when bitManifestationTolerant is off * ata: Add OUI quirk for Western Digital * dfu: Support MATEKF722SE quirk * Fix various build issues with -Wdiscarded-qualifiers * thunderbolt/dell-dock: Delay activation for Thunderbolt updates * Switch the default of EnumerateAllDevices to false * Add OUI quirk for SanDisk * vli: Add two standard USB instance IDs for shared-PD devices * vli: Use GPIOB to reset the VL817 found in two Lenovo products * tpm-eventlog: Correct the display of final calculated PCRs * wacom-raw: fixup switching to bootloader mode- Update to version 1.4.1: * thunderbolt: Don't show safe mode errors for USB4 host controllers * ep963x: Various changes to make the plugin actually work on real hardware * Make tss2-esys conditional * ep963x: Remove some dead code spotted by Coverity * ccgx: Only update the FW2 partition of the ThinkPad USB-C Dock Gen2 * ccgx: Expand the FWImageType for future hardware * Allow specifying the device on the command line by GUID * Fix the DeviceID set by GetDetails * wacom-usb: Fix a theoretical buffer over-read to make GCC happy * vli: Only show the i2c devices on the USB3 hub * Allow devices to be updatable, but only when upgrading a proxy device * Reset the progressbar time estimate if the percentage is invalid * ccgx: Always report 100% when finished writing * Add a device quirk that forces an explicit device-id match * ccgx: Set the device name and summary from quirk files * vli: Only do the APP5 FW bug fix on affected hardware * vli: Show all the buffer when debugging with FWUPD_VLI_USBHUB_VERBOSE * fu-engine: Refresh device name and format before setting supported flag * Allow a device to set the logical or physical ID during ->setup() * ccgx: Split out a trivial helper to set the instance IDs * ccgx: Set the device name to be more useful * ccgx: Set the logical ID as the FwMode * ccgx: Split out a trivial function to set the version * ccgx: Do not reboot the device write after installing * ccgx: Do no show the flash parameters when unknown * Allow devices to match the proxy device by GUID * Do not skip attach() if the device is marked _WILL_DISAPPEAR * dell-dock: Port to using fu_device_get_proxy() * Allow adding a device 'proxy' device that can do actions on it * vli: Do not show the USB 2 recovery devices for USB 3 hubs * vli: Add metadata to identify which is the same physical device * uefi: correctly format firmware version of Dynabook (né Toshiba) X30, X40 and probably others * synaptics-cxaudio: Use the ->attach() device vfunc * synaptics-cxaudio: Wait for the device to reboot after writing firmware * logitech_hidpp: decrease verbosity of messages that hid++ ID is missing * Prefer to update the child first if the order is unspecified * Do not modify the device priority for child devices- Exclude fwupdate from the architectures without UEFI support.- Update to version 1.4.0: * Release fwupd 1.4.0 * Allow removing device flags from quirk files * Use black to format python source in a consistent manner * Define SOURCE_VERSION when building a package * Only set the parent when adopting children * Do not conditionalize attach() and detach() on IS_BOOTLOADER * Do not crash the daemon if a plugin does something dumb * wacom-usb: Add more sanity checks in case the daemon goes crazy * wacom-usb: Use a per-device cleanup function * Add some more device regression tests * wacom-usb: Add a lot of missing metadata about the devices * wacom-usb: Hide a lot of debugging behind FWUPD_WACOM_VERBOSE * Only auto-add counterpart GUIDs when required * ccgx: remove update message * ccgx: add parent guid for hybrid dock * ccgx: Use a smaller timeout for i2c read and write operations * ccgx: Retry the register read and write with a i2c reset * ccgx: Fix buffer overflow when reading out i2c status * ccgx: Retry the HID disconnect up to 5 times * ccgx: Show a better error message on failure * ccgx: Allow forcing firmware of the wrong app_type with fwupdtool * Modularize the hardware tests * Ignore indirect devices that replug during the composite firmware update * Export the device state as part of the D-Bus interface * Fix devices that use CounterpartGuid when more than one device is installed * Use the GUID as a fallback rather than the connection ID * ccgx: Fix critical warning on i2c write failure * logitech-hidpp: Do not add peripheral devices for receiver in BL mode * Install the installed-tests only if tests are enabled * Load the signature to get the aliased CDN-safe version of the metadata * vli: Only reboot the USB hub once * synaptics-cxaudio: Only use the PATCH2 address when the patch level is 2 * add STM32F745 stm dfuse quirk * dfu: Add a way to set the timeout from a quirk * Export the release urgency * Export the release creation time * Check the firmware requirements before adding SUPPORTED * data/motd/fwupd-refresh: Only order after network.target * ccgx: Do not add the HID device that will disconnect * ccgx: Use Silicon ID and Application type to set flash parameters * Add a new daemon configuration option to control EnumerateAllDevices * logitech_hidpp: set the bootloader protocol * Install meson from pip for LGTM * bash: add completion for fwupdtool reinstall * fu-tool: add reinstall command * fu-engine: export fu_engine_get_releases_for_device in header * vli: Wait for the VL103 to timeout to fix detach * ccgx: Show the UpdateMessage in the correct device mode * ccgx: Add extra instance IDs to match specific firmware * Use a static version number * thunderbolt: Rather than hardcoding to PCI slot numbers, use domain in GUID * Revert "thunderbolt: Create a unique GUID including Thunderbolt controller path" * dell-dock: Port to fu_device_retry() * nitrokey: Convert to use FuHidDevice * nitrokey: Port to fu_device_retry() * vli: Port to fu_device_retry() * Add fu_device_retry() helper functionality * ccgx: Implement writing firmware to flash * ccgx: Add i2c status check when reading or writing registers * ccgx: Add 5ms delay between read registers to avoid an i2c error * libfwupdplugin: Use fu_device_locker_close() * synaptics-mst: Use fu_device_locker_close() * Add fu_device_locker_close() * ccgx: Do not store the silicon ID in the image address * ccgx: Add device quirks for the Lenovo Hybrid Dock * ccgx: Switch HID mode to HPI mode at startup * ccgx: Clear the event queue when in startup * ccgx: Wait for hardware to settle when coming out of reset * ccgx: Do not mark the device as updatable when in boot mode * ccgx: Verify the firmware app type when preparing firmware * ccgx: Set the update message when running in backup firmware * ccgx: Read the FwAppType from the hardware * ccgx: Set the HPI version number for the current firmware * ccgx: Get the silicon ID to map the flash parameters * ccgx: Read the HPI device mode at startup * ccgx: Set up the HPI I²C config at startup * ccgx: Create devices when in HID and I2C modes * Add a new ChromeOS CI target to build without GPG and PKCS7 * Use Jcat files in firmware archives and for metadata - Removed fu-keyring-gpg which caused CVE-2020-10759 (boo#1172643) * csr: Allow truncated HID reads * vli: Only consider the high nibble when building the sub-version * csr: Parse the firmware as a DFU file * Add support for EP963x hardware * Add FuHidDevice abstraction * vli: Correctly attach VL103 after a firmware update * ccgx: Parse the metadata block in the firmware image * ccgx: Add a firmare parser for cyacd files * logitech: Correctly set the protocol * Add the optional device-id to the update --help output * Fix a difficult-to-trigger daemon hang when replugging devices * vli: Remove a dock device from the whitelist that is never going to be updated * vli: Add some trivial debugging to help track down a bug * vli: Never add USB hub devices that are not upgradable * uefi: Don't use shim for non-secure boot configurations * Start fwupd-activate.service after snapd.service * dfu: Actually reload the DFU device after upgrade has completed * dfu: Add one more m-stack device requiring a quirk * Apply version format to releases and devices at same time * Ensure that the DeviceID is set for child devices * Fix a daemon crash when removing children * Allow waiting for the parent device when replugging * Add fu_device_get_root() shared API * vli: Fix an error when detaching MSP430 * vli: Fix a critical warning when getting the USB speed * vli: Fix the error enum values for the MSP430 * Do not add blank lines when tokenizing Intel hex files * vli: Fix the version calculation for MSP430 * vli: Ignore one more error when attaching * vli: Always expect the VL103 header at 0x1003 or 0x4000 * vli: Do not fall back to the recovery write for usbhubs * vli: Only show the 2nd header if the device ID is valid * vli: Fix VL103 reboot from ROM mode to FW mode * vli: Add some better comments for writing GPIOs * Add a helper script to add a DFU header * Add 'firmware-convert' subcommand to fwupdtool * fu-engine: Make two passes of requirements checking * fu-engine: Copy the VersionFormat from the CAB if specified in `get-details` * Add a new plugin for CPU microcode * Don't build/install fwupdagent man page if agent build is not requested * Introduce a new VersionFormat for `hex` * Drop UEFI quirks we now inherit from metadata * ci: build Debian using libflashrom * When TPM PCR0 measurements fail, query if secure boot is available and enabled * fix fwupd.shutdown.in according to the movement of fwupdtool to bindir * ata: Add OUI quirk for Western Digital and Intel * improved fish shell completion * vli: Set the MSP430 version format to pair * Always return AppStream markup for remote agreements * ata: Add trivial OUI quirk for Micron * added completion script for fish shell * Do not fail loading in /etc/machine-id is not available * Use xb_builder_source_add_simple_adapter * Create FuCabinet and untangle a lot of legacy code * nvme: Do not try to handle integer version numbers * Allow server metadata to set the version format on some devices * fu-tool: Correctly append the release to devices in `get-details` * For the `get-details` command make sure to always show devices * fu-engine: Copy the version and format from donor device in get-details * fu-engine: Use unknown for version format by default on get-details * Inihbit all power management actions using logind when updating * Decouple the version format from the version itself * Add raw versions for bootloader and lowest * Allow server metadata to set the device name on some devices * Remove support for GCab less than v1.0 * fu-device-list: Check protocol before de-duping devices * Do not allow devices that have no vendor ID to be UPDATABLE * ata: Include a vendor ID for ATA hardware * ata: Switch off the verbose logging by default * Always check for PLAIN when doing vercmp() operations * Discard the reason upgrades aren't available (Fixes: #1678) * Improve the description of `fwupdtpmevlog` for man page * Move `fwupdtpmevlog` into `bindir` * uefi: Move `fwupdate` into `bindir` * Move `fwupdtool` and `fwupdagent` into `bindir` * Use the system provided flashrom on Fedora * Add a plugin vfunc to run after subclassed FuDevice creation * ci: use standalone script to generate build dependencies * Move the daemons from /usr/lib/fwupd to /usr/libexec/fwupd * Use the recently released flashrom v1.2 * Generate an additional UEFI quirk file using the stable LVFS metadata * uefi: Apply capsule update even with single valid capsule * Fix a critical warning when installing some firmware * ebitdo: Fix the endpoint address logged in the error message * uefi: Find the correct lds and crt name when specifying -Defi_ldsdir * upower: Move battery threshold declaration into a configuration file * upower: Decrease minimum battery requirement to 10% - Refresh fwupd-bsc1130056-change-shim-path.patch - Add new dependency: jcat- Update to version 1.3.9: * Release fwupd 1.3.9 * Always check for PLAIN when doing vercmp() operations * improved fish shell completion * vli: Set the MSP430 version format to pair * added completion script for fish shell * Always return AppStream markup for remote agreements * Do not fail loading in /etc/machine-id is not available * fu-engine: Fixup broken-ness from 0c0fada18fc9cb2a0efec351db67f0867bf045cd * Use xb_builder_source_add_simple_adapter * fu-tool: Correctly append the release to devices in `get-details` * For the `get-details` command make sure to always show devices * fu-engine: Copy the version and format from donor device in get-details * fu-engine: Use unknown for version format by default on get-details * Inihbit all power management actions using logind when updating * fu-device-list: Check protocol before de-duping devices * ata: Switch off the verbose logging by default * Discard the reason upgrades aren't available (Fixes: #1678) * Improve the description of `fwupdtpmevlog` for man page * Move `fwupdtpmevlog` into `bindir` * uefi: Move `fwupdate` into `bindir` * Move `fwupdtool` and `fwupdagent` into `bindir` * ci: use standalone script to generate build dependencies * Move the daemons from /usr/lib/fwupd to /usr/libexec/fwupd * Use the recently released flashrom v1.2 * uefi: Apply capsule update even with single valid capsule * Fix a critical warning when installing some firmware * ebitdo: Fix the endpoint address logged in the error message * fu-util: fix a logic error in report uploading introduced in e076d48afb74d1447936d353f12781755f13b047 * uefi: Find the correct lds and crt name when specifying -Defi_ldsdir * upower: Move battery threshold declaration into a configuration file * upower: Decrease minimum battery requirement to 10% - Update to version 1.3.8: * Release fwupd 1.3.8 * Do not use fu_common_vercmp() when the device verfmt is PLAIN * altos: Output raw buffer data when using FWUPD_ALTOS_VERBOSE * altos: Prefix an error to provide more context * altos: Add a trivial _to_string() implementation * synaptics-cxaudio: Make the verfmt match that of the existing Windows tools * synaptics-mst: Allow MST to fall back if no PCI device is marked as parent * Allow specifying a list of subsystems when setting a physical ID * synaptics-mst: Fix trivial thinko caused by the wrong dock connected * vli: Invert the logic to reboot the parent FuCliUsbhubDevice, not the child * vli: Switch around the hub tier values * uefi: Fix a build regression with Fedora 30 * logitech_hidpp: Ignore detach failures (Fixes: #1183) * logitech_hidpp: When detaching to bootloader use non-blocking IO and wait for timeout * vli: Show erase progress when doing a v2 recovery * uefi: Do not remove the 'Linux Firmware Updater' boot entry before update * uefi: Do not rewrite BootOrder in the EFI helper * vli: Add support for the PS186 device * Set up more parent devices for various Lenovo USB hubs * cxaudio: Set the update protocol to prevent a daemon warning * vli: Add support for Lenovo Modularized dock * Add an extra instance ID to disambiguate USB hubs * vli: Remove the unused tierX custom flags for each device * Revert "Correctly delete UEFI variables" * uefi: make debugging output more readable * vli: Fix a potential buffer-overflow when parsing firmware * tpm: Optimize the string parsing and fix the boolean logic * synaptics-rmi: Add a missing error enum value * synaptics-rmi: Correctly identify a checksum failure * synaptics-rmi: Fix Coverity issue that is impossible to hit in reality * solokeys: Parse old versions of the bootloader string * Add a plugin to update PD controllers by Fresco Logic * vli: Set the device progress correctly when erasing a PD device * vli: Use the correct command to get the device firmware version * vli: Correctly reset all VL100 devices * vli: Set all standalone PD devices to not do SPI auto-detection * vli: Mark standalone PD devices as updatable * vli: Set the protocol for FuVliUsbhubPdDevice types * Support the new gnuefi file locations * Cleanup ancient fwupdate-* EFI variables too (Fixes: #1739) * Detect kernel lockdown status * vli: Add the DEV instance ID to all devices * tpm-eventlog: Replay the TPM event log to get the PCRx values * tpm-eventlog: Store the eventlog hashes in binary form - Update to version 1.3.7: * Release fwupd 1.3.7 * Correctly delete UEFI variables * ci: allow working with podman w/o aliases * ci: fedora: force correct rpm package version * src: fu-engine: check version was updated by checking version * Correctly import PKCS-7 remote metadata * Add 'refresh' to fwupdtool * Add 'get-remotes' to fwupdtool * Generate a win32 setup binary * Fix display of UTF-8 characters on Windows * Move MOTD population into the daemon * fu-util: Discourage metadata refreshes more than once per day * Disable the battery percentage checks if UPower is unavailable * Allow getting the list of updates in JSON format from fwupdagent * Revert "trivial: Attempt to fix Debian CI" * fu-remote-list: emit a changed signal when modifying a remote * synaptics-mst: Skip self tests for systems with amdgpu * Allow applying all releases to get to a target version * Split up fu_engine_install() into two halves * logitech_hidpp: use the correct timeout for IO channel writes * Allow quirking devices that always require a version check * Shut down automatically when there is system memory pressure * Show the device parent if there is an interesting child * Allow the client to get the list of FwupdDevice children * Set the FwupdDevice parents in fwupdtool * Don't always get the vendor ID for udev devices using the parent * Add a runtime warning when adding a device without an vendor-id or protocol set * vli: Set more of the firmware max sizes automatically * vli: Add a SpiAutoDetect quirk for some of the PD devices * vli: Use a different protocol ID for i2c devices * vli: Add support for standalone Single PD devices * vli: Move generic SPI functionality into the FuVliDevice base class * vli: Remove the PD emulation code * vli: Use a more standard GUID for the child i²c and shared SPI devices * vli: Allow setting the device kind from a quirk * vli: Make more function names match the docs * vli: Move the SPI command quirking from FuVliUsbhubDevice down to FuVliDevice * vli: Rename FuVliUsbhubPdFirmware to FuVliPdFirmware * vli: Allow the device to specify the PD firmware header offset * vli: Add a FuVliDevice as a subclass to FuVliUsbhubDevice * vli: Define the device GType in the quirk file * vli: Move the CRC calculations out of usbhub scope * vli: Have one 'DeviceKind' for all objects * vli: Rename the `vli_usbhub` plugin to `vli` * Capitalize GNOME - package has grown a few new binaries: fwupdagent, fwupdate, fwupdtool and a tpm event debugging tool, that is packaged separately: fwupdtpmevlog- Drop docbook-utils-minimal build dependency, manpages are generated with gtk-doc.- Update to version 1.3.6: * plugins/coreboot: Add missing fu_hash dependency * trivial: synaptics-cxaudio: Add Google type C <-> 3.5mm adapter * fu-engine: don't expose bootloader version errors to users * trivial: dell-dock: drop unused quirk keyx * trivial: rename synapticsmst to synaptics-mst * trivial: actually set vendor ID for synaptics * fu-remote-list: Drop fallback path behavior * libfwupdplugin: Make sure systemd created environment variables exist * trivial: fu-remotes-list: drop usage of `FU_SELF_TEST_REMOTES_DIR` * trivial: synaptics-rmi: hardcode Vendor string * trivial: Set vendor ID for Dell WD19 to USB:0x413C (Fixes: #1653) * trivial: Document the use of vendor-id in each plugin * superio: Use the baseboard vendor as the vendor ID * uefi: Use the BIOS vendor as the vendor ID * coreboot: Use the BIOS vendor as the vendor ID * flashrom: Use the BIOS vendor as the vendor ID * dell: Hardcode a plausible vendor ID * emmc: Set the correct vendor ID prefix * fu-util-common: correct the default prompt for reboot/shutdown (Fixes: #1617) * Split out the remote loading from FuConfig * vli-usbhub: Fix the quirk for the legacy VIA 813 chip * Clarify error messages when no upgrades available * trivial: Don't handle a vendor-id requirement error that cannot happen * Only check the vendor ID if the device has one set * fu-install-task: Enforce that device protocol matches metadata * Add a new plugin that can parse the TPM event log * Allow other plugins to contribute report metadata * trivial: dell: hardcode the physical device ID for tpm to match the tpm plugin * Add a new plugin that exposes the system TPM device firmware version * Add fu_udev_device_set_flags() * trivial: Render large values of VersionRaw in a more portable way * trivial: wacom-raw: mark all Moffett SKUs as self recovery * Throw exit status 0 (instead of 2) if there is no firmware to be updated * Add a `dell-bios` version format * Add support for multiple LVFS::VersionFormat tags * Do not do semver conversion in fu_common_vercmp() * trivial: Deprecate fu_common_version_parse() * trivial: Support 'plain' in fu_common_version_from_uintXX() * Add the sysfs 'description' as the one-line device summary * trivial: Also print the parent keys when using FU_UDEV_DEVICE_DEBUG * trivial: Add fu_common_version_from_uint64() * trivial: Convert the VersionRaw value to a uint64_t for future use * Allow building on Windows with MinGW * synaptics-prometheus: Allow incremental version major and minor number * Replace 'scheduing' with 'scheduling' * Export the raw device version to the client --verbose output * trivial: Only dlopen the test plugin once * Export the device protocol to the client --verbose output * trivial: installed-tests: try to display journal for failed tests * trivial: ci: debian: enable verbose daemon logging for failure analysis * trivial: installed-tests: explicitly choose webcam device ID * trivial: debian: remove obj-* built files to fix back to back builds * trivial: ci: don't let bad symlinks cause debian build failures * trivial: debian: correct a dependency for libfwupdplugin-dev - Changes from version 1.3.5: * plugins: Fix potential use of NULL pointer in fu_dell_dock_mst_write_register * Fix shifting integer by more than 31 in fu_util_filter_device * synaptics-prometheus: Reload the device version after IOTA update * synaptics-prometheus: Reload the device version after update * trivial: wacom: remove coretronic config from Moffett scope * trivial: Fix a NULL/FALSE confusion * trivial: Add a BR for Fedora * trivial: Fix coreboot commit to fix CI * trivial: libfwupdplugin: clarify name of self test * plugins/coreboot: Improve version detection * plugins/coreboot: Get rid of FU_HWIDS_KEY_BIOS_VENDOR in coldplug * trivial: Move progressbar out of libfwupdplugin * trivial: Unexport fu_test_get_filename() * trivial: Unexport fu_test_compare_lines() * trivial: Unexport fu_test_loop_run_with_timeout() * trivial: Do not include non-introspectable functions in the GIR * trivial: Fix up a few introspection problems in FwupdPlugin * trivial: Include the Fwupd GIR in the FwupdPLugin GIR * trivial: Never add duplicate symbols to the map file * trivial: Properly namespace the defines in the exported header * Install development files for libfwupdplugin * Convert libfwupdprivate to a shared library libfwupdplugin * trivial: Allow building GCab from a subpackage * trivial: Fix under-include to define O_RDONLY * trivial: Allow compiling without * trivial: Do not use FuProgressbar in dfu-tool * synaptics-prometheus: Manually set the bootloader mode when attaching * trivial: Split out a new helper funtion * trivial: Add some optional debugging when hotplugging devices * trivial: Include the correct header for S_IRWXU * Always use the more portable 3-arg form for open() * trivial: Untangle FuHistory from FuPlugin * trivial: Allow compiling without * Revert "synaptics-rmi: Use the build ID as the version number to match the vendor tool" * Add missing documentation from the plugin interface * trivial: fu-udev-device: remove a prototype that was missed in b3d4d2ff * trivial: add missing gtk-doc fields for many files in src/ * trivial: fix compile failure without gudev * synaptics-prometheus: Mirror the _IS_BOOTLOADER from device to config * Allow setting the device flags using GObject properties * vli_usbhub: Set the composite parent at construction time * synaptics-prometheus: Set the composite parent at construction time * Allow plugins to set the parent during construction * vli-usbhub: Whitelist the PD and I²C devices * Set the protocol per-device not per-plugin * synaptics-rmi: Use the build ID as the version number to match the vendor tool * Create a REV_00 instance ID as this may be what the vendor needs to target * fu-util-common: Invert default behavior for reboot and shutdown prompts * trivial: fu-plugin-vfuncs: Add GTK documentation for all vfuncs * Make gudev a compile-time option * trivial: Set the offline trigger using an environment variable * trivial: ci: pull lintian from unstable for now. * trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h * Fix shebangs on scripts * trivial: Use prefixes for DATADIR in config.h for portability * Allow compiling GUsb as a subproject * trivial: fu-udev-device: add a to_string func for debugging * trivial: Don't assume that plugins end in .so * trivial: optionrom: remove unneeded includes * trivial: debian: ci: ignore library-not-linked-against-libc for more * trivial: remove version-format.md * trivial: Allow compiling without pwrite() * trivial: Allow compiling without * trivial: Allow compiling without realpath() * trivial: Allow compiling without HAVE_LC_MESSAGES * trivial: Allow compiling without getuid() * trivial: Allow compiling without * trivial: Allow compiling without * trivial: Allow compiling without * Ensure the _get_type() gets the same ABI version as the constructor * Use the correct unlocker when using GRWLock * trivial: plugins: only build coreboot when option set * fwupdtool: don't show a warning when calling `get-plugins` - Changes from version 1.3.4: * trivial: Don't force specific linker flash when cross building * dell: Use the more portable g_usleep() * trivial: Fix unused header includes * vli-usbhub: Make erasing less verbose and writing more obvious * vli-usbhub: Correctly print the 24-bit USB3 offset * vli-usbhub: Print the PD firmware offset and size for debugging * vli-usbhub: Open the parent device before attempting to read or write from the child * vli-usbhub: Set the install duration for the PD device * trivial: Fix a failed error prefix string * trivial: wacom-raw: Remove embedded from device name * wacom-raw: Correct HWID support * uefi: Just use a uint16_t for BootNext processing * uefi: Use a simpler entries set algorithm * vli-usbhub: Add support for writing using I2C passthru * vli-usbhub: Support updating PD devices that share the hub flash * vli-usbhub: Support the PD file format * trivial: uefi: correct a NULL pointer dereference * uefi: fall back to `ID_LIKE` when the path for `ID` doesn't exist (Fixes:# 1566) * uefi: Make generate_binary.sh more robust * Tokenize the Intel Hex file before parsing * trivial: Detect the USB version automatically * trivial: fu-util/fu-tool: explicitly block unsupported flags * Add support for matching requirements on device parents * Skip cleanup after device is done updating if `will-disappear` is set (Fixes: #1529) * efi: use a wildcard section copy for final EFI generation * modem-manager: explicitly use plain version format * modem-manager: add quirks for the Foxconn T77W968 modules * Allows confined snaps to activate fwupd via D-Bus * trivial: thunderbolt: clarify error message * Add a new property `Interactive` to the daemon * trivial: contrib/get-version.py: require git less hard * superio: Never read from port offset zero * superio: Fix regression when coldplugging superio devices * trivial: Fix Fedora CI build * trivial: Fix the autobuilt spec file with the new tarball version * Dynamically determine release version * trivial: synapticmst: allow missing `/proc/modules` * synapticsmst: filter invalid chip IDs * trivial: Provide some defines for common image names * Allow aborting early when using fu_archive_iterate() * Add fu_firmware_image_set_version() for future use * modem-manager: increase re-enumeration delay to 20000ms * modem-manager: add counterpart GUID for the DW5821e/eSIM * Add versions formats for the Microsoft Surface devices * usb: make loading vendor/product/serial strings non-fatal * trivial: Fix the protocol ID for VLI usbhub devices * trivial: wacom-raw: add more device IDs for Dell devices * trivial: contrib: don't require TSS for debian archs without EFI * fu-udev-device: Adjust bounds checking to be safer * fu-udev-device: Don't assume all devices have `device_file` * synaptics-rmi: correct an error cleaning up on probe * trivial: fu-udev-device: add some safety checks for fd * udev-device: fix offset of vendor id of hidraw devices * flashrom: switch to upstream source * trivial: fu-plugin: only show an error once "failed to open plugin" was being prefixed twice * trivial: debian: only use mingw-w64-tools in archs with UEFI plugin * fastboot: Fix a regression when updating modem firmware * trivial: conflict with old unifying plugin * Rename unifying plugin to logitech-hidpp (Fixes: #1329) * Add a new contrib script for installing a Dell BIOS from an EXE file * trivial: add-capsule-header: rename to make it easier to import * trivial: simple_client: make it easier to reuse code * trivial: firmware-packager: make it easier to reuse code * trivial: add-capsule-header: make it actually work * trivial: fix some gtkdoc sections * Bump the required gudev version * trivial: Fix a compile error with older versions of gudev * trivial: wacom: add vid/pid for panels in Moffett * trivial: post release version bump - Changes from version 1.3.3 * unifying: notify users to replug when using dfu control (Fixes: #1383) * trivial: 8bitdo: set a transient failure while waiting for user action * libfwupd: Add a new error type for user action needed * trivial: 8bitdo: show the same message for SN30pro and SN30pro+ * trivial: Fix up some typos from codespell * trivial: Ensure config.h is included in all source files * trivial: Fix up some NULL/FALSE confusion * trivial: Add all the _LAST enums that shouldn't be checked for ABI * trivial: Fix a typo that means that UEFI results were never cleared * Always report the update-error correctly for multiple updates * trivial: Fix fwupdmgr get-history if the firmware was not installed from the LVFS * trivial: Do not emit a warning if a child has no version number * Move the file descriptor lifecycle into FuUdevDevice * trivial: Fix some GtkDoc annotations * ebitdo: Modernize the plugin to use FuFirmware * nitrokey: Use fu_common_dump_raw() when debugging * thunderbolt: Create a unique GUID including Thunderbolt controller path * Use device safety flags to show prompts before installing updates * trivial: Use the new possible_plugin support for USB devices too * jabra: Move the Jabra-specific detach out into its own plugin * Ensure the device is open when doing the subclassed prepare() and cleanup() * vli-usbhub: Add support for updating V2 devices * Allow verifying the device image itself from fwupdtool * Use XMLb to query quirks * trivial: ci: disable pulling libxmlb from unstable * synaptics-prometheus: Don't add a config-subdevice in bootloader mode * dfu: Use the VID/PID to identify devices without download capability in runtime * trivial: debian: remove some unneeded lintian * trivial: debian: bump compat version * ebitdo: Add SN30Pro+ to recognized quirk list (Fixes: #1503) * dfu: Add several quirks for Realtek camera hardware * dfu: Always mark devices as UPDATABLE * uefi: use `genpeimg` to mark ASLR and DP/NX on EFI binary * trivial: solokey: correct a typo * trivial: fu-util: fix typo * uefi: rework ESP path detection and lifecycle * trivial: uefi: show more metadata in to_string method * trivial: fu-device: add new method to remove metadata * Add a plugin to update VIA USB hub hardware * trivial: Add fu_common_read_uint8_safe() * trivial: Fix two typos in fu_common_read_uint16_safe() * solokey: Allow parsing firmware with fwupdtool * Allow fwupdtool to dump details of common firmware formats * trivial: Do not do system coldplug when using FU_ENGINE_LOAD_FLAG_NO_ENUMERATE * trivial: fu-self-test: set polling self tests to slow * trivial: fu-tool: Allow `detach`/`attach` to prompt for device * Strip trailing whitespace from USB descriptors * trivial: Add fu_common_read_uint16_safe() * trivial: Add version to the FuFirmware->to_string() output * Add fu_firmware_set_version() * Add a systemd preset file for `fwupd-refresh.service` * trivial: dell: work around a memory leak caught by address sanitizer * ebitdo: if the device has the will disappear flag, don't wait for ack (Fixes: #994) * Add a new plugin for working with eMMC devices (Fixes: #1455) * fu-engine: Check multiple plugins if quirks match * trivial: don't try to enable LVFS from systemd * trivial: coreboot: fix a clang compiler error * fu-util: Add user friendly strings for all device flags * Add new device flags indicating update resilience * plugins: Add coreboot plugin * fu-plugin: Add fu_plugin_get_hwid_replace_value * trivial: Increase verbosity when actually updating devices * trivial: Allow plugins to use WAIT_FOR_REPLUG in prepare and cleanup * Add FuDevice->prepare() and FuDevice->cleanup() vfuncs for future use * dfu: Implement FuDevice->to_string() * trivial: colorhug: fix a crash that occurs when flashing sometimes * trivial: fu-util: break out of automatic reports if one is not automatic * thunderbolt: some more clarifications when using ICL * trivial: fwupd-refresh: activate motd if using systemd v243 or later * trivial: fwupd-refresh: allow exit code 2 for success * trivial: synaptics-cxaudio: Add Google Pixel buds * trivial: arch: ci: Wait some time for tpm_server to start up * Allow a custom FuFirmwareImage->write() in superclassed objects * dfu: Remove two completely unused helpers * dfu: Make DfuFirmware derive from FuFirmware * dfu: Make DfuImage derive from FuFirmwareImage * dfu: Remove private headers that do not need to exist * Fix device flag filtering * trivial: fu-engine: Don't compare device and content checksums * fu-engine: Read all releases and convert versions when comparing * Add new flags `can-verify` and `can-verify-image` * trivial: make verify and verify-update safer * trivial: test: add checksums for "stock" 1.2.2 * trivial: fu-udev-device: use parent udev device to indicate `internal` * trivial: fix TPM2 simulator tests for arch * trivial: uefi: don't add PCRs with all 0's * trivial: Fix a recent regression causing a double-free * synaptics-cxaudio: Support the ThinkPad USB-C Dock Gen2 * trivial: fu-util: add some extra checks around automatic reports * trivial: fu-tool: typo * fu-systemd: Use correct method for stopping units. * trivial: fu-udev-device: Use ID_PCI_CLASS_FROM_DATABASE if name not set * trivial: fu-plugin: quiet down debug output for optionrom plugin * 8bitdo: use will-disappear flag for sf30/sn30 controllers (Fixes: #783) * trivial: ebitdo: don't dump out firmware header unless plugin verbose * trivial: ebitdo: don't use local errors when writing firmware * Add a new device flag for indicating device won't come back * wacom-emr: Fix a regression for EMR devices * Add a generic DFU firmware object for plugins to use * dfu: Use FwupdInstallFlags rather than a DFU-specific version * dfu: Remove functionality for modifying DfuSe files * dfu: Remove functionality you can do now with fwupdtool * dfu: Remove the merge command as it's unused and broken * trivial: Add fu_firmware_parse_file() helper for future use * trivial: Remove the fuzzing details for DfuPatch * trivial: Add klass->to_string for superclassed FuFirmwareImage objects * dfu: Remove DfuPatch as no vendor actually uses this * dfu: Don't wrap provided VID-PID functions * dfu: Use the standard FuDevice custom flags functionality * dfu: Use klass_device->write_firmware() directly * dfu: Use the generic fu_plugin_usb_device_added() function * dfu: Use daemon flags to ignore devices rather than a special flag * dfu: Set the device state directly to avoid proxying signals * dfu: Use the built-in detach() and attach() vfuncs * Read firmware back from the device as a FuFirmware * dfu: Remove a pointless function * dfu: Remove support for the Metadata Store Proposal * dfu: Remove XTEA support * dfu: Remove the SREC and IHEX parsing out of the DFU plugin * ebitdo: Use klass_device->write_firmware like other plugins * trivial: Remove G_BEGIN_DECLS from all private headers * Remove FU_PLUGIN_RULE_REQUIRES_QUIRK as all the plugins now use it * Set all FuUdevDevice plugins to use FU_QUIRKS_PLUGIN * thunderbolt: recognize new 'generation' sysfs attribute * Rename and modernize the udev plugin * synaptics-rmi: Also add the product ID as a GUID without the minor version * synaptics-rmi: Correctly set the payload length rather than hardcoding it * synaptics-rmi: Write the core config correctly * synaptics-rmi: Decode BL7 status failures as actual errors * synaptics-rmi: Add some trivial debugging to help debug a write problem * trivial: uefi: Make efivarvs errors clearer (Fixes: 1330) * trivial: uefi: don't prefix efivar errors * trivial: Remove some now-unused vfuncs * altos: Modernize the plugin to simplify it * Create the custom plugin GType in common code * Reduce more boilerplate in plugins * synaptics-rmi: Check the correct register when querying bootloader mode * trivial: fu-engine: fix never reporting remotes * trivial: fu-util: don't show warnings for no reports to upload * trivial: debian: remove more conffiles from transitions (Closes: #932617) * trivial: debian/control*: Update for fwupdate transition * trivial: Fix a tiny memory leak when starting the daemon * modem-manager: Fix a tiny memory leak when starting the daemon * synaptics-rmi: Copy the behavior of rmi4utils for BL7 detach * synaptics-rmi: Simplify fu_synaptics_rmi_device_read() * synaptics-rmi: Set the version after ->setup has run * synaptics-rmi: Use the correct mask when getting the bootloader mode on BL7 * syanptics-rmi: The build_id is 3 bytes long, not 2 * synaptics-rmi: Read the config partition the same as rmi4utils * Provide a default implementation of common FuDevice actions * thunderbolt-power: avoid checking for bolt support * synaptics-rmi: Add some debugging for BL7 devices * Fix usage of incorrect type for return value * synaptics-rmi: Do as little as possible in device setup * synaptics-rmi: Speed up reading the PDT from 900ms to 30ms * fu-util: add support for a reinstall command * trivial: fu-util/fu-tool: update re-install help text to reinstall * trivial: fu-util: remove double printed message about succesful firmware update * trivial: fu-util: show no updatable devices error for update command * synaptics-rmi: Ignore the ATTN reports from the hardware when reading DATA * synaptics-rmi: Move the fuzzing instructions to the toplevel README * Fuzz the SREC and IHEX file parsers once more * Use parallel fuzzing for the SMBIOS checks too * synaptics-rmi: Fix the packing of the partition table * Add a plugin to update Synaptics RMI4 devices * trivial: Add a parallel fuzzing script * trivial: fu-util: output newline after prompt. * trivial: fix %u output in report upload * Add a --no-domain logging option * trivial: Fix compiler warning for impossible-to-hit condition * Add support for automatically uploading reports * trivial: motd: disable updating motd for now * trivial: fwupd-refresh: fix a clash with fwupd.service (Closes: #941360) * trivial: Fix Fedora CI * trivial: fu-udev-device: fix some assertions * Search up the tree for a vendor name rather than (ab)using the HID_NAME * Add some success messages when CLI tasks have completed * trivial: Put the boolean prompt on the same line as the text * Never show LicenseRef-proprietary to the end user * trivial: snap: correct install hook root directory * Export the instructions for detaching the device * uefi: detect unmounted ESP partitions (Fixes: #1405) * uefi: stop recording efibootmgr output after flash * trivial: post release version bump - Changes from version 1.3.2: * Add support for '' to disambiguate some firmware * thelio-io: Add a plugin to detach the Thelio IO board * trivial: uefi, dell: skip self tests with TPM if non-root (Fixes: #1396) * trivial: dell: quiet the TSS output * trivial: uefi: allow forcing to TPM2 via environment variable * Do not ask the user to upload a report if ReportURI is not set * Do not enumerate physical devices when running the internal self tests * trivial: libfwupd: skip tests if machine-id is empty too * Add a new plugin to update Conexant audio devices * Export the salted machine ID as a daemon property * Fall back to /var/lib/dbus/machine-id when required * trivial: add stalebot (Fixes: #1393) * trivial: dell-dock: correct another write_size error * Align the key values to the text *width* not the number of bytes * trivial: Move dbus directory location for snap too * trivial: Fix some NULL/FALSE confusion * synaptics-prometheus: Fix tiny memory leak when using FuSynapromConfig * trivial: Fix tiny memory leak when using FuSrecFirmware * snap: switch to core18 * trivial: Return the correct property when getting the host product * trivial: fu-util-common: fix description wrapping (Fixes: #1378) * fu-util/fu-tool: Map out changelogs from remotes * fu-util/fu-tool: Better display historical information * fu-history: Update device_modified in sql database during updates * unifying: Use the instance ID to check for supported devices * unifying: Ensure HID++ v2.0 peripheral devices get scanned by the plugin * trivial: Add some more defines to the srec parser * trivial: fix wget command in fu-tool.c * Allow parsing a raw SREC file * trivial: wacom: Add support for second vendor ID * uefi, dell-esrt: Show firmware version when capsule updates unavailable * Add some more debugging to the SREC and IHEX parsers * Print the instance IDs if the GUIDs are unconverted * Add fu_common_bytes_compare_raw() for future usage * Call the set_quirk_kv() vfunc for the superclassed object * uefi: make the TPM optional for runtime again (Fixes: #1362) * trivial: uefi: Make the TCTI output less verbose * Support in AppStream metadata * Include all GUIDs when uploading a report * Do not crash when starting tpm2-abrmd * trivial: Update DBus conf path for example Fedora package * Move D-Bus conf file to datadir/dbus-1/system.d * trivial: Add fu_io_channel_write_byte_array() for future use * trivial: post release version bump - Package new sub-packages typelib-1_0-FwupdPlugin-1_0 and libfwupdplugin1.- Fix file list- Update to version 1.3.1: (jsc#SLE-10751) * Allow disabling all plugins * trivial: Specify the tpm2-tss-devel version in the example spec file * Move to CI Fedora 30 * modem-manager: Fix two build warnings on Fedora 30 * synapticsmst: Add another name quirk for the ThinkPad USB-C Dock * Re-introduce GUID support to fwupdmgr and fwupdtool * uefi-recovery: Add a plugin to add a fake ESRT entry for device recovery * Add a DMI quirk for the Minnowboard Turbot * trivial: Make it easy to disable or enable libflashrom for distros * trivial: Don't use Recommends for RHEL 7 * unifying: fix timeout metadata * ci: arch: minor improvements * unifying: fix timeout * Allow disabling SSL strict mode for broken corporate proxies * trivial: Allow ignoring the daemon version check by using --force * Try to only show DMI product name once * trivial: fu-util-common: Show unknown devices as interesting devices * dell: Use TSS to query and build TPM vendor strings for GUIDs * trivial: dell: show reasons for lack of updates in `UpdateError` * fu-util-common: strip all trailing whitespace in XML description * trivial: fu-common: match all whitespace not just ' ' in `fu_common_strstrip` * fu-util: show release output in get-details again * unifying: use fu_firmware_strparse_uint16 to read be 16bit values * unifying: fix incomplete hex file parsing * fu-util/fu-tool: Print devices, remotes, releases using a tree * Add aliases for `get-upgrades` and `upgrade` * trivial: UEFI skip self tests if library fails to initialize * libfwupd: Add a new private function `fwupd_remote_set_remotes_dir` * trivial: add libtss2-dev into debian/control (Closes: #1324) * trivial: Fix up the GtkDoc Since lines for API only available in 1.3.x * trivial: Post branch version bump * thunderbolt: Add support for kernel safety checks (Fixes: #1312) * Include the kernel release as a runtime version * trivial: fu-util: Drop GUID support from get-devices * synapticsmst: Partially rewrite the plugin (Fixes #1105) * Remove replug flag after the device comes back from reboot * trivial: Fix running the tests on devices with the TPM in v1.2 mode * trivial: fu-util-common: more cleanup related to topology * trivial: fu-util: cleanup fwupdmgr get-details output * trivial: Don't use topology printing in --verbose mode * Make get-devices and get-topology aliases for one another * trivial: Adjust daemon device sorting * Make get-topology more useful by showing all information * trivial: Fix fu_common_string_append_kv() to align properly with idx > 0 * trivial: dell-dock: correct an error preventing write_size from being set * trivial: Do not warn about deprecated declarations * trivial: Update BRs for the example Fedora package * uefi: add test for TPM 2.0 PCR read function * uefi: use tpm2-tss library to read PCR values * fu-common: Use environment variables for systemd managed directories * Use more systemd directives for directories * trivial: fu-util: fix debug output for devices * Allow turning off the timestamp prefix for debugging * Add a ->udev_device_changed plugin vfunc * Add fu_device_rescan() and a FuDevice->rescan() vfunc * Remove the duplicate files in meson.build * Hash the source files when generating the daemon hash * Split up source files in the build script * uefi: add support for tpm2-tools 4.X * trivial: plugins: clarify stance on afuefi.efi * trivial: plugins/: Update README * trivial: disable gtkdoc by default * trivial: update references of hughsie/fwupd to fwupd/fwupd * Publish docs to fwupd.github.io using CircelCI * Add support to integrate into the motd (Fixes: #1270) * Simplify get-devices output to not show un-useful fields * fu-engine/fu-config: Reload metadata store when configuration changes * trivial: If no devices support updates, show messaging (Closes: #1295) * trivial: uefi: set vendor name for system firwmare from DMI data * unifying: update Solaar url * thunderbolt: Fix logic to work properly with ICL thunderbolt controller * Add fu_udev_device_get_device_file() helper * trivial: Fix regression when using fu_device_incorporate() * trivial: Fix a potential crash when using FuPlugin in the self tests * synapticsmst: Make FuSynapticsmstConnection an actual GObject * synapticsmst: Use the same style as other plugins * trivial: Add some helper functions for GByteArray * Do not use FuDevice metadata for the physical and logical IDs * Use fu_common_string_append_kv() in subclassed device * synapticsmst: Use G_DECLARE_FINAL_TYPE to simplify the object * synapticsmst: Add a SynapticsMSTBoardID for another Lenovo dock * trivial: remove unnecessary CUSTOMERID_DELL define * synapticsmst: Add a SynapticsMSTBoardID for a Lenovo dock * synapticsmst: Display the board ID in non-hex form in the error message * synapticsmst: Use a more suitable icon for the device * trivial: Remove unused variable * Never use memcpy() in a possibly unsafe way * Add a ->to_string() vfunc to FuFirmware * Use FuFirmware as a container for firmware images * Allow filtering devices when using the command line tools * Be more accepting when trying to recover a failed database migration * trivial: Add translation for X-ThunderboltController * trivial: fixup standalone installer * modem-manager: add counterpart GUID for the DW5821e * solokey: Release the interface and rebind the kernel driver on close * fu-tool: Port ability to update a single device from fwupdmgr * uefi: Actually write the new device path if different than before * Allow setting custom flags when using fwupdate * trivial: Do not show a critical warning if no firmware is specified * trivial: Fix overzealous search-replace action in user string * Verify we don't break the ABI * Fix a crash when stopping the fwupd service * Relax the certificate time checks in the self tests for the legacy certificate * trivial: add cache directory into systemd unit rw paths * Never show AppStream markup on the console * Do not segfault when trying to quit the downgrade selection * trivial: Update icons for Thunderbolt and MST devices * Add support for the SoloKey Secure * trivial: Allow a device to *clear* a firmware version * trivial: debian: For signed package fill out Built-Using (Closes: #932757) * Allow specifying GUID to check any version exists * trivial: post release version bump * Release fwupd 1.2.10 * Disable the flashrom plugin by default * trivial: thunderbolt: catch failure setting up device * dell-esrt: Improve the experience for the plugin (Closes: #1245) * fu-util: When unlocking prompt for reboot if applicable * remove those PIDs with Bluetooth interface, Wacom updater doesn't support updating from Bluetooth interface * flashrom: Only show DEBUG and DEBUG2 output if using --plugin-verbose=flashrom * flashrom: Only call flashrom_programmer_init() on whitelisted boards * flashrom: Fix no version format set * fu-util: Show devices with an UpdateError in get-devices output * trivial: uefi: use UEFI-dummy for device ID instead of just uefi * trivial: fix error handling for non UEFI case (#1220) * Add a specific error code for the low battery case * Fix Fedora docker build missing directory: dist * uefi: Determine whether running in legacy mode or not (Fixes: #1220) * trivial: ci: debian: Only turn on flashrom when running CI * trivial: Fix typos in error messages * Allow client code to construct objects from GVariant blobs * Export functionality to build an array of objects * flashrom: Use libflashrom * trivial: Fix the version script to pick up boxed types * trivial: Correctly order the map entries according to vercmp rules * trivial: Fix pylint issue in the version script * Add meson target to fix translations * Add support for 8bitdo USB Retro Receiver * Use the newer features of GRWLock rather than reinventing it * Revert "Allow SuperIO updates to be done live" * uefi: Try to find a duplicate using the loadopt name * uefi: Provide a quirk to disable the use of the UX capsule * trivial: uefi: use the path for efibootmgr that was detected * synaptics-prometheus: Fix installing CONFIG firmware updates * synaptics-prometheus: Set the install duration from a quirk * synaptics-prometheus: Don't emit critial warning when updating config firmware * synaptics-prometheus: Fix missing field in the IOTA reply struct * Create SECURITY.md * redfish: Never set NULL device name * modem-manager: Never set NULL device name * ata: Never set NULL device name * trivial: Add some parameter guards to FuDevice * trivial: snap: make polkit directories if they don't exist (Fixes: #1205) * trivial: fu-main: clarify missing PK file error * synapticsmst: fix GUID generation (Closes: #1207) * Lite Mk II flag for use-shim-unique * trivial: circleci: try to fix automatic snap deployment * Allow SuperIO updates to be done live * fu-util-common: Support empty proxy strings (Fixes: #1199) * trivial: uefi: clarify error message * trivial: Fix non-systemd build * trivial: Sync example spec file with downstream * trivial: post release version bump - Drop fwupd-bsc1143905-hash-the-source-files.patch: Applied upstream. - Add pkgconfig(tss2-esys) BuildRequires: New dependency. - Add gtk-doc BuildRequires and pass gtkdoc=true to meson, build api docs even when using source service.- Add fwupd-bsc1143905-hash-the-source-files.patch to hash the source files instead of libfwupdprivate.a to avoid the checksum change due to the random naming LTO profile sections (bsc#1143905)- Update to version 1.2.10: * Disable the flashrom plugin by default * dell-esrt: Improve the experience for the plugin (Closes: #1245) * fu-util: When unlocking prompt for reboot if applicable * remove those PIDs with Bluetooth interface, Wacom updater doesn't support updating from Bluetooth interface * flashrom: Only show DEBUG and DEBUG2 output if using - -plugin-verbose=flashrom * flashrom: Only call flashrom_programmer_init() on whitelisted boards * flashrom: Fix no version format set * fu-util: Show devices with an UpdateError in get-devices output * Add a specific error code for the low battery case * Fix Fedora docker build missing directory: dist * uefi: Determine whether running in legacy mode or not (Fixes: #1220) * Allow client code to construct objects from GVariant blobs * Export functionality to build an array of objects * flashrom: Use libflashrom * Add meson target to fix translations * Add support for 8bitdo USB Retro Receiver * Use the newer features of GRWLock rather than reinventing it * uefi: Try to find a duplicate using the loadopt name * uefi: Provide a quirk to disable the use of the UX capsule * synaptics-prometheus: Fix installing CONFIG firmware updates * synaptics-prometheus: Set the install duration from a quirk * synaptics-prometheus: Don't emit critial warning when updating config firmware * synaptics-prometheus: Fix missing field in the IOTA reply struct * Create SECURITY.md * redfish: Never set NULL device name * modem-manager: Never set NULL device name * ata: Never set NULL device name * synapticsmst: fix GUID generation (Closes: #1207) * Lite Mk II flag for use-shim-unique * fu-util-common: Support empty proxy strings (Fixes: #1199) - Add python3-setuptools to BuildRequires for generate-version-script.py- Update to version 1.2.9: * Release fwupd 1.2.9 * trivial: Add two new translatable strings for new category types * Check if the system is offline during install, rather than at startup * Prompt the user to shutdown if requried when installing by ID * Use the correct file extension for the offline updates cache * trivial: Allow using --force to use the wrong daemon version * trivial: Display the correct expected command * standalone-installer: Be smarter about existing installed fwupd * Add a plugin to update Synaptics Prometheus fingerprint readers * trivial: standalone-installer: rename uninstall argument to cleanup * fu-util: Check the daemon version is at least the client version * fu-util: Check that daemon is started by expected unit * fu-util-common: when stopping a daemon, check for snap too * Allow using --force to trigger a duplicate offline update * trivial: Allow using FuUsbDevice without a GUsbDevice * trivial: Copy the icons if unset for the device child * trivial: Copy the physical ID if unset for the device child * trivial: Ensure the parent ID is up to date if the device ID changes * trivial: Fix typo when setting the parent ID * trivial: Disable the flatpak CI build * Allow handling FORCE for devices that subclass FuDevice * uefi: Fix a libasan failure when reading a UEFI variable * trivial: Fix a memory leak found using libasan * trivial: Fix an libasan failure in the dell plugin * trivial: Fix some dead code spotted by coverity * trivial: Fix a typo spotted by coverity * trivial: Fix a missing config.h include in a new source file * Dynamically read path to use for /system-update * Display the remote warning on the console in an easy-to-read way * ata: Set version format to plain for devices obtained from udev * trivial: Only apply SmbiosManufacturer to release version for internal * trivial: Fix two bugs in the hardware self tests script * Never guess the version format from the version string * Only force a semver when the device opts-in * Export the version-format to clients * Add missing gtk-doc documentation * dfu: Add some trivial, but useful, debugging for AVR DFU devices * dfu: Correctly identify DFU firmware that starts at offset zero * dfu: Don't keep showing trivial debug output * dfu: Reset the forced version during attach and detach * ata/nvme: For devices running Dell firmware, set `VersionFormat` (Fixes: #1169) * fu-engine: Check if VersionFormat is ambiguous when adding devices * trivial: Fix fwupdate --apply * Only use class-based instance IDs for quirk matching * trivial: dell-dock: set minimum board to 6 * trivial: post release version bump- Update to version 1.2.8: * Don't upload reports when the user has configured their system in a broken way * Allow setting the daemon verbose domains at runtime * Allow fwupdmgr to modify the daemon config * Do not compare version formats when the release format is unknown * Do not fall back integers to a plain version format * Use the device version format when converting the release version * Set the VersionFormat using the metadata or the UEFI quirk - Changes from version 1.2.7: * l10n: Create Lithuanian translation file * l10n: Update LINGUAS * Updated: Add support for 8BitDo M30. * modem-manager: increase the timeout to wait for modem after uninhibited * modem-manager: implement qmi pdc active config selection as attach() * fu-engine: When removing activation flag match the correct version * Require --force to install a release with a different version format * Match the old or new version number when setting NEEDS_REBOOT * Make an error message clearer when there are no updates available * Add support for the not-child extension from Logitech * thunderbolt: Set require-ac for Thunderbolt devices (Fixes: gh#hughsie/fwupd#1142) * Fix some typos spotted using codespell * Add a component categories to express the firmware type * fu-tool: Port get-history command to fwupdtool * Recreate the history database if migration failed * Move the core built-in 'fwupd' remote over to the dell-esrt plugin * snap: Add a custom systemd unit to call activation on shutdown (Fixes: gh#hughsie/fwupd#1125) * ata: Flush cache before standby and activate * synapticsmst: blacklist plugin when using amdgpu (Fixes: gh#hughsie/fwupd#1121) * uefi: add a new option to specify the os name * Return the newest device when using fu_history_get_device_by_id() * uefi: More carefully check the output from tpm2_pcrlist * uefi: Don't overwrite CustomFlags if set from a quirk * Shut down the daemon if the on-disk binary is replaced * ata: Correct activation functionality * Fix version comparisons after reboot for some formats * fu-tool: save history from stuff installed with `fwupdtool` - Changes from version 1.2.6: * ata: send ATA standby immediate when activating firmware * offline: Be more graceful when dealing with Plymouth failures * Save the new version in the history database for offline updates * Show the DeviceID when showing the updates list * Allow forcing an offline-only update on a live system using --force * Do not schedule an update on battery power if it requires AC power * superio: Add InstallDuration default value * superio: Add support for writing new e-flash contents * superio: Fix reading the attestation checksum * superio: Add support for reading the device checksum * superio: Use the chipset ID in the device name * superio: Move the device flush before getting the register map * superio: Move all the IT89xx code to a subclassed device object * superio: Move all the IT85xx code to a subclassed device object * superio: Split and export fu_superio_device_ec_writeX() * superio: Remove the port from fu_superio_device_ec_read() * superio: Move the register read/write into the FuSuperioDevice object * superio: Check the IOBAD0 is usable during setup * superio: Use fu_device_set_firmware_size() * superio: Move some constants out to the common header * superio: Use GObject properties in FuSuperioDevice * superio: Convert FuSuperioDevice to be derivable * Update Plymouth when updating pending firmware * Ask to reboot after scheduling an offline firmware update * Do not fail when scheduling more than one update to be run offline * Allow running offline updates when in system-update.target * Fix the location of fwupdoffline in the service file * Add optional vfuncs to allow detaching and attaching verify() * superio: Add list of SPI commands for future usage * Add a verify-update command to fwupdtool * uefi: Actually upload the UPDATE_INFO entry for the UX capsule * superio: Get the chip size from the EC rather than hardcoding * uefi: Check the error code of QueryCapsuleCapabilities() correctly * Update the UEFI UX Capsule Header checksum when needed. * uefi: Copy the shimx64.efi binary for known broken firmware * Correctly get the check the new version for devices that replug * Add a simple script to add a capsule header * Ensure the PKCS-7 client certificate exists at startup * fix makecab directive options * fwpup.service: use display-manager.service instead of gdm.service * Allow signing the fwupd report with the client certificate * Add a D-Bus method to generate a signature using the self-signed client certificate * Allow signing and verifying data using a PKCS-7 self-signed client certificate * Fix a critical warning when loading a PKCS-7 certificate with no DN * Include all device checksums in the LVFS report * modem-manager: Fix a trivial build warning * superio: Fix a trivial build warning * Move out the offline update functionality to a new binary * Do not reboot when failing to start fwupd during offline updates * Do not write the schema version to the db when loading * Do not recreate XbSilo caches when running on a readonly filesystem * Add the fwupdagent binary for use in shell scripts * Allow restricting firmware updates for enterprise use * standalone-installer: new --allow-older and --allow-reinstall options * Show the upgrade and downgrade flags when getting releases for a device * Rename FwupdRelease:trust-flags to FwupdRelease:flags * fu-tool: Save device state to @LOCALSTATEDIR@/lib/fwupd/state.json on actions * modem-manager: implement support for qmi-pdc * Add a plugin to support ModemManager hardware * fu-tool: Don't let failing to find dbus prevent engine from starting * ata: Support delayed activation * dell-dock: Use activation when calling fwupdtool activate * Add a support for delayed activation * uefi: Fix the self tests when running on Fedora SilverBlue * Do not fail to start the daemon if tpm2_pcrlist hangs * po/make-images.sh: quote LOCALEDIR and PYTHON3 * meson: print stderr of python3 command instead of stdout * Revert "contrib/debian: Switch to debian unstable" * Add elogind support - Changes from version 1.2.5: * uefi: fix segfault in fwup_set_update_statuses * Show in Flathub correctly * debian: explicitly depend on shared-mime-info * superio: Implement detach() and attach() * superio: Correct the names of some constants and improve debugging support * dell-dock: Filter the last supported payloads of certain board 4 SKUs * circleci: Manage the lifecycle of the snap * Add support to run snap build in CircleCI * wacom-usb: Use the correct buffer format for the touch module * wacom-usb: Set the install duration for each device type * wacom-usb: Return with an error if there were too many retries * wacom-usb: Make updating less verbose * Convert all child instance IDs when converting the parent * uefi: Allow devices to create more complete fake UEFI devices * unifying: Fix regression when recovering from failed flash * Ensure libxmlb dir exists for LGTM.com * Add C build configuration for LGTM.com * Use G_BEGIN_DECLS correctly for internal headers * standalone-installer: Fix issue found by LGTM * Use '#pragma once' to avoid a lot of boilerplate * Force LGTM to see Python 3 * fwupd: Hide firmware-packager behind meson option` * fu-common-cab: Correct handling of CAB files w/ nested directories and older libgcab * Fix a regression in using the InstanceIDs for quirk matching * thunderbolt: Convert the instance IDs as we never open the device * udev: Manally call fu_device_setup() to convert the instance IDs * fu-tool: Correct a crash caused by calling fwupdtool update * fu-tool: Don't fail if dbus is unavailable * contrib/debian: Switch to debian unstable * wacom-usb: Record the block number when failing * wacom-usb: The touch address is big endian * wacom-usb: Accept a non-binary IHEX file for the touch update * wacom-usb: Only poll when the device status is 'busy' * wacom-usb: Only reboot the device when all composite devices have been updated * wacom-usb: Fix flashing failure with latest Intuos Pro tablet * dfu: Fill holes when reading SREC files * Add fwupd_guid_from_string() to drop dep on uuid * wacom-raw: Check the InstanceID rather than GUID * Defer the InstanceID->GUID hashing until after setup * ata: Check for USB enclosures as well * Do not use efivar just to print a mixed endian GUID * Add fu_device_add_instance_id() and prefer explicit conversion * Report the DeviceInstanceIDs to `fwupdmgr get-updates` * Export some of the GUID functionality * Allow a plugin to set _ANOTHER_WRITE_REQUIRED to run more than one plugin * nvme: Add an extra check for Dell plugins to avoid false positives * ata: Add support for detecting Dell GUIDs * Fix the self tests when using glib2 >=2.59.0 * Add support to call composite prepare and cleanup using fwupdtool * uefi: Disable -Wno-address-of-packed-member * uefi: Don't unconditionally enable Werror for the EFI binary * Disable -Wno-address-of-packed-member - Changes from version 1.2.4: * Remove the autogenerated headers in the gettext files * ata: Default to the non-activation 0xE subcommand * fastboot: Use a much longer timeout as the removal delay * fu-progressbar: be more quiet when running non-interactive * fu-tool: Show UpdateMessage if applicable for install command * dfu: Simplify the SREC parser to avoid a crash with an invalid file * wacom-raw: Use the correct error codes when the panel is not supported * wacom-usb: Add some more information to the README * fu-keyring-utils: Don't fail missing PKI directory when compiled with GPG/PKCS7 * dell: Check that the flash interface command is available * wacom-usb: Fix the plugin name to allow devices to be updated * fastboot: flash the partition after downloading the file * uefi: Add a quirk to use the legacy bootmgr description * ata: Mark all devices as needing a reboot * ata: Add a new plugin to upgrade firmware on ATA/ATAPI hardware * udev-device: Add a utility function for debugging * udev-device: Set the firmware revision automatically * udev-device: Set the serial number automatically * udev-device: Fall back to non-database model and vendor values * udev-device: Fix critical warning if the device has no parent * dell-dock: Add support for a passive flow * Add support for an `UpdateMessage` and display it in tools * fu-tool: Port the `get-updates` command over * When using `directory` remote type automatically generate metadata * libfwupd: Add support for new remote type "directory" * Ensure cabinet archives always have a container checksum * Add support for a per-release source and details URL * When generating a CAB Silo use the prefix "components" * uefi: Add a trivial debugging statement to debug a UX capsule failure * uefi: Use fwup_new0() to allocate the updates table array * nitrokey: Correct Nitrokey Storage invalid firmware version read * dell-dock: Add support for flashing Thunderbolt over I2C * wacom-raw: Add a plugin to update Wacom embedded EMR and AES panels * fu-util/fu-tool: sync up reboot and shutdown behavior * dfu: Ignore the SUB ASCII value * dfu: Fix the parser to support extended segment addresses * dfu: Support ihex files with leading comments don't show an error * uefi: Correct a boot order creation bug (Fixes: gh#hughsie/fwupd#956) * uefi: Remove all variable length arrays * uefi: Fix a logic bug in fwup_search_file() * uefi: Use _cleanup_free in one more place * uefi: Do not pass required attrs to fwup_delete_variable() * uefi: Delete the old Linux-Firmware-Updater boot entry * uefi: Use the GNU-EFI BOOL type * Check if plugin changed after the device attaches or detaches * uefi: Refactor and simplify the EFI loader * Show a console warning if loading an out-of-tree plugin * UEFI: Do the UX checksum calculation in fwupd * wacom-usb: Add two more Intuos tablets * nvme: Add the needs-shutdown quirk to Phison NVMe drives * Add _NEEDS_SHUTDOWN flag for devices * Use GCC __cleanup__ features in the EFI loader * nvme: Add flag to support manually aligning the firmware to the FWUG value * nvme: Support FGUID to get the SKU GUID * nvme: Support FWUG to get the write block size * nvme: Add trivial comment to clarify address bitshifting * uefi: Do not check the BGRT status before uploading a UX capsule * dfu: Fix flashing various Jabra devices * upower: Add support for checking battery percentage * nvme: Check the return code of the admin passthru ioctl * fu-tool: Add support for an 'update' command to fwupdtool * dell-dock: Set minimum board to board 4 * dell-dock: Workaround a manufacturing bug for board level 4 * dell-dock: Wait longer for re-enumeration on TBT SKU * superio: Support IT89xx devices * fu-main: remove incompatible locale error message * Add a new plugin checklist (Fixes: gh#hughsie/fwupd#899) - Dropped obsolete patch: fwupd-bsc1130056-change-esp-os-name.patch (upstream PR: gh#hughsie/fwupd#1119 - Fixed fwupd-bsc1130056-change-shim-path.patch so that it works with the new files - Cleaned up changelog- Stop shipping polkit rules, as we have the distro specific setup in polkit-default-privs (boo#1125428).- Add fwupd-bsc1130056-change-esp-os-name.patch to change the OS directory in ESP (bsc#1130056) - Add fwupd-bsc1130056-change-shim-path.patch to set the default shim binary for openSUSE/SLE (bsc#1130056) - Link fwupd*.efi.signed to fwupd*.efi as requested by fwupd (bsc#1129466)- fwupd.spec: fix shell syntax error in %postun section (boo#1120363).- Update to version 1.2.3: * Correctly migrate the history database - Changes from version 1.2.2: * Log an error if started with an incompatible locale * Fix building with -Wl,-z,defs * ebitdo: Fix the reported version number if the daemon locale is not C.UTF-8 * Add Dell TB18DC to the known devices list * Allow replacing the last byte in the image when using 'dfu-tool replace-data' * Check the device checksum as well as the content checksum during verify * Submit the device firmware checksum and update protocol in the submitted report * Include the device checksum and update protocol in the historydb * uefi: Add the PCR0 value as the device checksum for system firmware * Add new API to get the release protocol from the metadata * Allow plugins to define support for a 'well-known' protocol * uefi: When adding headers set the header size to 4k * uefi: Append the header on capsules without headers from Linux * flashrom: Ensure the quirks database is set on the new object * uefi: Do not add devices with invalid GUIDs * Do not allow a GUID of zero * Add shared functionality for reading and writing with O_NONBLOCK * Only run attach and detach if the device is in the wrong mode * Sanitize the version if the version format has been specified * wacom-usb: Remove the DTH generation hardware as it will not work with fwupd * thunderbolt: Remove a superfluous boundary condition when verifying update * Add a plugin to update hardware that supports fastboot * Fix a regression when doing GetReleases on unsupported hardware * dfu: Require a specific USB class and subclass for DFU mode * Correctly parse format the version numbers correctly using old metadata * amt: Fix a crash if AMT returns an empty response * Check plugins set error on failure * contrib: Add a simple python3 client * installed-tests: Adjust to actually use a remote for installed tests * Add more standard USB identifier GUIDs * wacomhid: Rename to wacom-usb * Provide a way for plugins to decompress a custom archive to ram - Changes from version 1.2.1: * Remove DaemonVersionFormat=quad * Shut down the daemon after 2h of inactivity * Create a silo index to speed up GUID queries * Fix flashing the 8bitdo SF30 * Speed up fwupd startup by loading less thunderbolt firmware * Query the XbSilo when calling fu_plugin_check_supported() * Guess the version format when it is not provided * Fix a use-after-free when using valgrind and --immediate-exit * Add per-release install duration values * Fix showing the custom remote agreements * Be more explicit setting the update state * Include the os-release information in the release metadata - Changes from version 1.2.0: * ebitdo: remove SF30/SN30 pro device ids * dell-dock: Drop delayed MST callback routine * synapticsmst: Adjust EVB board handling * synapticsmst: Remove the content checking of firmware * synapticsmst: Access Board ID through memory instead In firmware images HDCP 2.2 will be enabled by default,so access to flash region will fail.` * contrib: Adjust flatpak build for moving to flathub * dell-dock: Prefer to flash VMM5331 via I2C instead of DP aux * Use HTTPS_PROXY if set * firmware-packager: Make it clearer to use * Sort the firmware sack by component priority * flatpak: Update gnu-efi to latest version * amt: Set the full device version including the BuildNum * fwupdmgr/fwupdtool: Move monitor command to fwupdtool * fwupdmgr/fwupdtool: Move firmware builder from fwupdmgr to fwupdtool * Add version format quirks for several Lenovo machines * uefi: Set the quirks on created devices * dell_dock: Use correct offset for finding version of MST * dell-dock: Add missing unlock call for MST via dell_dock plugin * Support the Intel ME version format * Port from libappstream-glib to libxmlb * Bump requirement to meson 0.46.0 * fu-main: Catch SIGTERM while update is in progress * fu-tool: Stop any running daemon over dbus before loading engine * meson: Bump dependency to 0.44 and adjust sysconfdir handling * dell-dock: If marketing name is invalid don't fail initialization * Readme Updated: Added KDE Discover as one more graphical front-end available for fwupd. * dell-dock: Correct a situation that error wasn't propagating * Don't segfault if a plugin returns FALSE from UpdateFunc with no error set * dell-dock: Use different debug strings for each device type * dell-dock: Don't use the VLA feature in the new dock * Add a plugin for an upcoming Dell USB-C dock * contrib: Add information on how to use debugging scripts * Allow setting the version format from a quirk entry * Don't use AppStream-glib for string helpers * Don't use AppStream-glib for version helpers * Don't use AppStream-glib for the GUID helpers * fu-device: Ensure that parent ID is created before creating quirked children * Update all sub-devices for a composite update * Stop showing the current release during updates in fwupdmgr * uefi: Move the TPM unlocking functionality from the Dell to UEFI plugin * Run the Dell plugin initialization after the UEFI plugin * thunderbolt-power: Fix possible linker problem * Allow firmware files to depend on versions from other devices * fu-debug: Redirect all debugging output to stderr instead of stdout * synapticsmst: Adjust panamera ESM update routine for some reported issues * fu-engine: Optionally wait for replug before updating a device * fu-device-list: Use delayed device removal when removing the tree * thunderbolt: Use replugging from the daemon * Add support for devices to show an estimated flash time * Marked some CL options for translation * ci: Run clang static analysis for Ubuntu build rather than just clang compiler * nvme: Initialize the buffer before reading the contents * contrib: Add a standalone installer creation script * rts54hid: Add support for Realtek USB devices using vendor HID commands * fu-engine: Don't show devices pending a reboot in GetUpgrades * Add FuMutex helper to make various parts of the daemon thread-safe * rts54hub: Add support for Realtek USB devices using vendor HUB commands * uefi: Check the amount of free space on the ESP * fu-tool: Import debugging options from fu-debug like fu-main * superio: Set the physical and logical IDs - Add pkgconfig(xmlb) BuildRequires: New dependency.- Add pesign-obs-integration to BuildRequires and add fwupd*.efi to BRP_PESIGN_FILES to get it signed - Add LC_IMAGES and use efivar only if %{with efi_fw_update} + Also update the version requirement of efivar - Disable Redfish and NVME plugins if %{without efi_fw_update} since those two plugins require efivar - Remove fwup from BuildRequires since fwupdate is already merged into fwupd.- Use gnu-efi only if %{with efi_fw_update}, always use pkgconfig(efivar) - Fix file list- Amend %post and %postun to install/uninstall fwupd*.efi to the EFI system partition + Also add shim to Requires for fwupdx64.efi - Mark fwupdate as obsolete + fwupdate has been merged into fwupd since fwupd 1.1.0.- fwupd is require for thunderbolt firmware update in SLE15-SP1(fate#322681)- Update to version 1.1.2: + New Features: - Add a new device flag "ignore-validation" that will override checks - Add a new plugin to enumerate EC firmware - Add a new plugin to update NVMe hardware - Add a plugin for updating using the flashrom command line tool - Allow the device list to take care of waiting for the device replug - Allow updating just one specific device from the command line - Allow upgrades using a self-signed fwupd.efi binary - Download firmware if the user specifies a URI - Include serial number in daemon device output when trusted - Notify all plugins of device removals through a new vfunc - Use boltd force power API if available + Bugfixes: - Add an install hook for classic snap - Allow forcing installation even if no AC power is applied - Allow using --force to ignore version_lowest - Always use the same HardwareIDs as Windows - Check the device state before assuming a fake DFU runtime - Copy over parent GUIDs from other plugin donors - Detect location of python3 interpreter - Do not add udev devices after a small delay - Don't fail to run if compiled without GPG/PKCS7 - Fix a segfault in fwupdtool caused by cleanup of USB plugins - Implement the systemd recommendations for offline updates - Improve performance when reading keys from the quirk database - Remove children of devices when the parent is removed - Rewrite synapticsmst to use modern error handling - Rewrite the unifying plugin to use the new daemon-provided functionality - Show a time estimate on the progressbar after an update has started- Use noun phrase for summary. Trim request for comments from description.- Update to version 1.1.1: + New Features: - Add support for the Synaptics Panamera hardware - Add validation for Alpine and Titan Ridge - Improve the Redfish plugin to actually work with real hardware + Bugfixes: - Allow different plugins to add the same device - Allow flashing unifying devices in recovery mode - Allow running synapticsmst on non-Dell hardware - Check the ESP for sanity at at startup - Do not hold hidraw devices open forever - Don't override _FORTIFY_SOURCE when building the EFI binary - Don't show passwords in fwupdmgr - Fix a potential segfault in smbios data parsing - Fix encoding the GUID into the capsule EFI variable - Fix various bugs when reading the thunderbolt version number - Reboot synapticsmst devices at the end of flash cycle - Show status messages when the daemon is initializing - Show the correct title when updating devices - Show the reasons that plugins are not run on the CLI - Use localedir in po/make-images- Run %udev_rules_update in post as package install udev rules- Update to version 1.1.0: (FATE#326702) + New Features: - Add a initial Redfish support - Add a tool to mimic the original fwupdate CLI interface - Allow devices to assign a plugin from the quirk subsystem - Change the quirk file structure to be more efficient - Merge fwupdate functionality into fwupd - Run a plugin vfunc before and after all the composite devices are updated - Support more Wacom tablets + Bugfixes: - Add release information for locked devices - Allow building with older meson - Detect the EFI system partition location at runtime - Do not use 8bitdo bootloader commands after a successful flash - Enable accesing downloaded files in flatpak and snap - Fix a potential buffer overflow when applying a DFU patch - Fix downgrading older releases to devices - Fix flashing devices that require a manual replug - Fix several small memory leaks in various places - Fix the retrieval of Redfish version - Fix unifying failure to detach when using a slow host controller - Set the Wacom device status when erasing and writing firmware - Show errors in the CLI if unable to access directory - Use the parent device name for Wacom sub-modules - Removed enable_pkcs7_when_testing_only.patch- Update to version 1.0.8: + New Features (including version 1.0.7): - Add an plugin to update some future Wacom tablets - Add 'fwupdmgr get-topology' to show logical device tree - Add support for creating a flatpak - Add support for creating a snap - Add support for Motorola S-record files - Add the Linux Foundation public GPG keys for firmware and metadata - Show a translated warning when the server is limiting downloads - Add enable-remote and disable-remote commands to fwupdmgr - Add fu_plugin_add_compile_version() for libraries to use - Allow requiring specific versions of libraries for firmware updates - If no remotes are enabled try to enable the LVFS - Show a warning with interactive prompt when enabling a remote + Bugfixes (including version 1.0.7): - Add a firmware diagnostic tool called fwupdtool - Adjust all licensing to LGPL 2.1+ - Allow installing more than one firmware using 'fwupdmgr install' - Allow specifying hwids with OR relationships - Do not call fu_plugin_init() on blacklisted plugins - Do not require libcolorhug to build - Fix a crash in libfwupd where no device ID is set - Fix a potential DoS in libdfu by limiting holes to 1MiB - Fix a segfault that sometimes occurs during cleanup of USB plugins - Fix Hardware-ID{0,1,2,12} compatibility with Microsoft - Hide devices that aren't updatable by default in fwupdmgr - Search all UEFI GUIDs when matching hardware - Stop matching Nintendo Switch Pro in the 8bitdo plugin - Check that EFI system partition is mounted before update - Disable synapticsmst remote control on failure - Don't recoldplug thunderbolt to fix a flashing failure - Fix SQL error when running 'fwupdmgr clear-offline' - Improve the update report message - Only enumerate Dell Docks if the type is known - Only run certtool if a new enough gnutls is present - Prevent a client crash if the daemon somehow sends invalid data - Reboot after scheduling using logind not systemd - Use the right encoding for the label in make-images - Added/backported enable_pkcs7_when_testing_only.patch: + needed to disable pkcs7 test during build (can be removed for fwupd >= 1.0.9)- Update hasbang in installed files from /usr/bin/env python3 to /usr/bin/python3.- Update url - Small packaging cleanup with spec-cleaner- Update to version 1.0.6: + New Features: - Add bash completion for fwupdmgr. - Add support for newest Thunderbolt chips. - Allow all functions that take device arguments to be prompted. - Allow devices to use the runtime version when in bootloader mode. - Allow overriding ESP mount point via conf file. - Delete any old fwupdate capsules and efivars when launching fwupd. - Generate Vala bindings. + Bugfixes: - Allow ctrl-d out of the prompt for devices. - Allow to create package out of provided binary. - Correct handling of unknown Thunderbolt devices. - Correctly detect new remotes that are manually copied. - Fix a crash related to when passing device to downgrade in CLI. - Fix running the self tests when no fwupd is installed. - Fix Unifying signature writing and parsing for Texas bootloader. - Only send success and failure reports to the server. - Use a CNAME to redirect to the correct CDN for metadata. - Use a longer timeout when powering back the Thunderbolt device.- Ensure library package has a dependency on main package, otherwise it won't be usable.- Update to version 1.0.5: + New Features: - Offer to reboot when processing an offline update. - Report the efivar, libsmbios and fwupdate library versions. - Report Thunderbolt safe mode and SecureBoot status. - Show the user a URL when they report a known problem. - Support split cabinet archives as produced by Windows Update. + Bugfixes: - Be more careful deleting and modifying device history. - Clarify which devices don't have upgrades. - Ensure the Thunderbolt version is xx.yy. - Fix a daemon warning when using fwupdmgr get-results. - Fix crasher with MST flashing. - Fix DFU detach with newer releases of libusb. - Include the device VID and PID when generating the device-id. - Set the RemoteId when using GetDetails. - Stop matching 8bitdo DS4 controller VID/PID. - Use help2man for dfu-tool and drop docbook dependencies. - Use ngettext for any strings with plurals. - Use the default value if ArchiveSizeMax is unspecified.- Update to version 1.0.4: + New Features: - Add D-Bus methods to get and modify the history information. - Allow the user to share firmware update success or failure. - Ask the user to refresh metadata when it is very old. - Store firmware update success and failure to a local database. + Bugfixes: - Add a device name for locked UEFI devices. - Allow each plugin to opt-in to the recoldplug action. - Fix firmware downloading using gnome-software. - Fix UX capsule reference to the one specified in efivar. - Never add two devices to the daemon with the same ID. - Rescan supported flags when refreshing metadata. - Add pkgconfig(json-glib-1.0) BuildRequires: new dependency.- Update to version 1.0.3: + New Features: - Add a new plugin to add support for CSR "Driverless DFU". - Add initial SF30/SN30 Pro support. - Support AppStream metadata with relative URLs. + Bugfixes: - Add more metadata to the user-agent string. - Block owned Dell TPM updates. - Choose the correct component from provides matches using requirements. - Do not try to parse huge compressed archive files. - Fix a double-free bug in the Udev code. - Handle Thunderbolt "native" mode. - Use the new functionality in libgcab >= 1.0 to avoid writing temp files.- Unbreak compilation on non-x86, upstream renamed options to disable plugins.- Update to version 1.0.2: + Add a plugin for the Nitrokey Storage device + Add support for the original AVR DFU protocol + Allow different plugins to claim the same device + Allow quirks to set common USB properties + Move a common plugin functionality out to a new shared object + Optionally delay the device removal for better replugging + Set environment variables to allow easy per-plugin debugging + Use a SHA1 hash for the internal DeviceID + Add quirk for AT32UC3B1256 as used in the RubberDucky + Disable the dell plugin if libsmbios fails + Don't register for USB UDev events to later ignore them + Fix a possible buffer overflow when debugging ebitdo devices + Fix critical warning when more than one remote fails to load + Fix DFU attaching AVR32 devices like the XMEGA + Ignore useless Thunderbolt device types + Refactor ColorHug into a much more modern plugin + Release the Steelseries interface if getting the version failed + Remove autoconf-isms from the meson configure options + Show a nicer error message if the requirement fails + Sort the output of GetUpgrades correctly - Changes from version 1.0.1: + Add support for HWID requirements + Add support for programming various AVR32 and XMEGA parts using DFU + Add the various DFU quirks for the Jabra Speak devices + Allow specifying the output file type for 'dfu-tool read' + Move the database of supported devices out into runtime loaded files + Support the IHEX record type 0x05 + Use help2man to generate the man page at build time + Use the new quirk infrastructure for version numbers + Catch invalid Dell dock component requests + Correctly output Intel HEX files with > 16bit offset addresses + Do not try to verify the element write if upload is unsupported + Fix a double-unref when updating any 8Bitdo device + Fix crash when enumerating with Dell dock connected but with no UEFI + Fix uploading large firmware files over DFU + Format the BCD USB revision numbers correctly + Guess the DFU transfer size if it is not specified + Include the reset timeout as wValue to fix some DFU bootloaders + Make the error message clearer when sans fonts are missing + Support devices with truncated DFU interface data + Use the correct remote-specified username and passord when using fwupdmgr + Use the correct wDetachTimeOut when writing DFU firmware + Verify devices with legacy VIDs are actually 8Bitdo controllers - Add help2man as BuildRequires.- Fix dependencies and build options for non-x86 architectures. At least FW updates for USB are arch independent, and EFI FW updates can also be applied on Aarch64.- Update to version 1.0.0: * Add the plugin documentation to the main gtk-doc * Add a waiting-for-auth daemon state * Add fwupd_remote_get_checksum() to use in client programs * Generate the LD script from the GObject Introspection data * Prevent fwupd from mounting filesystems * uefi: Do not use system-specific infomation for PCI devices * uefi: Support uploading the firmware splash image * dell: only set coldplug delay when we know we need it * dell: only run SMI to toggle host MST GPIO on systems with host MST * dell: add functionality to blacklist HW with problems * dell: only run on intended chassis * thunderbolt-power: always run after thunderbolt plugin * Allow plugins to depend on each other * Add support for SMBIOSv3 * dell: prefer to use hwids to get DMI keys and DE table * debian: remove /etc/fwupd.conf on upgrade * unifying: Use fu_plugin_check_supported() * Add fu_plugin_check_supported() * unifying: Use a device whitelist to avoid breaking devices * Fix various printing issues with the progressbar * dell: Fix a trivial whitespace issue * Do not fail to load the daemon if cached metadata is invalid * Do not store the newest release as part of the FuDevice object * Add a method to return a list of upgrades for a specific device * Move the downgrade calculation to the daemon * Make FuDevice derive from FwupdDevice rather than FwupdResult * Add a command 'clear-offline' to fwupdmgr * Merge releases where multiple remotes provide the same firmware * Remove the UniqueID property * uefi: Do not set the release version * udev: Do not match USB devices, even with a GUID set * Use the intel-wmi-thunderbolt kernel module to force power * dell: drop thunderbolt force power code * unifying: Add hardcoded summaries for peripheral kinds * Create CODE_OF_CONDUCT.md * Ensure more devices set the device summary * Add an 'Summary' property to each device * Add a human-readable title for each remote * unifying: Disable if the kernel has no CONFIG_HIDRAW support * Move deprecated symbols to a new header * Introduce an s390x cross compile target to CI * Add ModifyRemote as an easy way to enable and disable remotes like the LVFS * Do not auto-open all USB devices at startup * dfu: Use FuDeviceLocker * unifying: Use FuDeviceLocker * colorhug: Use FuDeviceLocker * ebitdo: Use FuDeviceLocker * altos: Use FuDeviceLocker * steelseries: Use FuDeviceLocker * usb: Use FuDeviceLocker * Add FuDeviceLocker to simplify device open/close lifecycles * dfu: Remove DEVO support * dfu: Remove the now-unused symtab support * Remove the ELF support from libdfu and move the code to the altos plugin * Use -Werror when building in Travis CI * Do not install the libdfu helper library * Parse the SMBIOS DMI table directly * usb: Disable the fallback USB plugin * Test for missing language translations at build time * Fix the libdfu self test failure on s390 and ppc64- Update to version 0.9.8: * Add a command 'clear-offline' to fwupdmgr * Do not fail to load the daemon if cached metadata is invalid * Fix a crash when using fu_plugin_device_add_delay() * Fix the libdfu self test failure on s390 and ppc64 * Format the BCD USB revision numbers correctly * Never fallback to an offline update from client code * Prevent fwupd from mounting filesystems * dfu: Allow flashing when the target does not specify an alt-name * dfu: Do not try to verify the element write if upload is unsupported * dfu: Fix uploading large firmware files * dfu: Include the reset timeout as wValue to fix some hardware * dfu: Set the vendor ID to the runtime USB VID * dfu: Use 0x0101 as an alias for 0x0110 * thunderbolt: move test for mock environment (gh#hughsie/fwupd#280) * udev: Do not match USB devices, even with a GUID set * uefi: Do not set the release version * unifying: Disable if the kernel has no CONFIG_HIDRAW support- Update to version 0.9.7: + 10 months worth of bugfixing, integrating more vendor specific Firmware update paths.- Update to version 0.8.1: + Delete duplicate translations (gh#hughsie/fwupd#89). + Do not hardcode docbook2man path. + Fix fwupdmgr timeout with missing pending database. + Fix compiler warnings. + Fix a crash when enumerating devices on a Dell WLD15. + dell: don't initialize libsmbios on unsupported systems. + Do not fail to start on Dell hardware. + Adjust systemd confinement restrictions. + Do not dlclose modules when running under valgrind. + Really remove the NoNewPrivileges systemd confinement. + Release fwupd 0.8.1.- Update to version 0.8.0: + Show a different error when checking for updates while on + battery power (gh#hughsie/fwupd#68). + Clarify the test in --help and man page related to offline + (gh#hughsie/fwupd#69). + libdfu: Use a heuristic for the start address if the firmware + has no DfuSe footer. + dell: Don't return the address of a stack variable. + dell: Fix a possibly-impossible-to-hit buffer overrun. + close USB devices before error returns (gh#hughsie/fwupd#73). + Make libelf support optional. + Always make sure we're getting a C99 compiler. + Fix redeclaration of polkit autocleanup functions. + Uncomment SystemdService parameter in the dbus service file + (gh#hughsie/fwupd#74). + Make all providers and plugins share a GUsbContext. + Unexport libebitdo. + Move the plugins into plugin-specific directories. + Convert the providers to plugins to simplify code and for + future features. + Add support for Logitech Unifying devices. + Add a set of vfuncs that are run before and after a device + update. + Return the pending UEFI update when not on AC power. + Move the UPower functionality to a plugin. + Fix udev plugin loading. + fix dfu plugin loading. + Disable PrivateNetwork on systemd service. + Use more restrictive settings when running under systemd. + dell: add a new method for forcing a controller to flash mode. + Add VerifyUpdate to update the device checksums server-side. + Move the Option ROM parsing to the Udev plugin. + Move the device add delay to shared code. + Add initial skeleton for Intel Thunderbolt support. + unifying: Use the actual bootloader VID/PIDs when in firmware + mode. + Allow the metadata to match a version of fwupd and the existing + fw version. + Add fwupd_result_get_device_version_bootloader(). + Fix the appstream-glib version guards. + dell: Add coldplug methods to let other plugins turn on + TBT/GPIO. + libdfu: Don't read data from some DfuSe targets. + Add the ability to run a prepare->exec->cleanup on coldplug. + Allow plugins to request that all plugins re-coldplug. + thunderbolt: Detecting new devices and add an actual device to + the daemon. + Add support for flashing the ChaosKey. + thunderbolt: add some guards around empty arrays. + dell: Adjust the coldplug preparation and cleanup sequence. + dell: Fix possible linker problem. + Revert "thunderbolt: add some guards around empty arrays". + Add fu_plugin_set_coldplug_delay() to allow hardware to + initialize if required. + altos: Add error checking when using termios. + ebitdo: Subclass FuDevice like the altos plugin. + altos: Set the flags in the init_real so they work for the + cmdline tool. + unifying: Subclass FuDevice like the altos plugin. + Include all debug messages when run with --verbose. + dell: introduce a standalone (noinst) tool to force mode + flashes. + Introduce plugin for Synaptics MST hubs. + synapticsmst: Add cascade support. + Only register the D-Bus service when all devices have been + added. + synapticsmst: Refactor away the global state. + synapticsmst: fix cascade support in the plugin. + Updates for thunderbolt plugin. + thunderbolt: Add special handling for safe mode on Dell systems + (gh#hughsie/fwupd#84). + synapticsmst: Iterate all nodes rather than hardcoding to 3. + synapticsmst: build GUID using dock type. + Add a new function fu_dell_supported to fu-dell-common. + synapticsmst: add a test suite. + synapticsmst: Fix up some trivial whitespace issues. + Fix a refcounting issue in the udev plugin. - Add rpmlintrc untill security review is resolved- Update to version 0.7.5: + Clean up PO files + Verify devices support updating in mode they are called. + Fix an assert when unlocking the dummy ESRT device + Don't create the UEFI dummy device if the unlock will happen on + next boot + dell: Match on TB16 as well + Fix a -fstack-protector-strong crash when uploading firmware + Enable the stack protection in local builds + dell: If running in test suite, don't try to get product ID + from sysfs + libfdfu: Show a warning when getting the alt-name failed + dfu: Fix listing devices using the ST reference bootloader + Show the nicely formatted target name for DfuSe devices + libdfu: Fix two possible critical warnings for corrupt USB + descriptors + libdfu: Correctly offset addresses when one zone has multiple + sectors + libdfu: Do not do GetStatus on dfuse upload + libdfu: Fix uploading from DfuSe devices + libdfu: Use the device offset when writing DfuSe firmware + libdfu: Add DfuAction enumerated value to represent a device + action + libdfu: Use an animated progress bar when performing DFU + operations + libdfu: Do not do a zero-byte download when in DfuSe mode + libdfu: Fix verification of written DfuSe firmware + libdfu: Ensure the device is open before claiming the interface + libdfu: Ensure the mode is set correctly when faking a runtime + libdfu: Re-get the quirks when the DfuDevice gets a new + GUsbDevice + libdfu: Add quirks for HydraBus as it does not have a DFU + runtime + libdfu: Match the device booloader or runtime VID and PID when + checking firmware + Add a 'replace-data' command to dfu-tool + string + libdfu: Add dfu_sector_get_zone() to get the continuous memory + zone number + libdfu: Wait for DNBUSY to be cleared when checking the DfuSe + status + libdfu: Correctly erase DfuSe devices + Enable hardening flags on more binaries + libdfu: Correctly set the element address when uploading from + DfuSe devices - Add pkgconfig(gmodule-2.0) BuildRequires: Align with what + configure checks for. - Add pkgconfig(libsmbios_c) BuildRequires: Support dell bios. + Unfortunatly, until we have fwup packaged and enabled, this will + not work. - Add disabled pkgconfig(libtbtfwu): For future thunderbolt + support.- Update to version 0.7.4: + Add a fallback for older appstream-glib releases + Write the ELF files with the correct section type + Fix libfwupd self tests when a host-provided fwupd is not + available + Add dfu_firmware_add_symbol() + Add the Altos symbol table to the DfuFirmware + Use the symtab to set the VID/PID from Altos IHEX firmware + images + Show the human-readable version in the 'dfu-tool dump' output + Allow specifying the argument to 'dfu-tool set-release' in + major.minor format. + sections + Support writing the IHEX symbol table + call + Load the symbol table from ELF firmware + Load the Altos USB descriptor from ELF files + Add DFU_CIPHER_KIND_RSA + Fix a possible crash when uploading firmware files using libdfu- Update to version 0.7.3: + build: Fix gtk-doc build when srcdir != builddir + In get-details output, display the blob filename + Ensure the update ID is set when getting local firmware details + Use a private gnupg key store + Add support for installing against multiple devices from a CAB + file + Use the correct firmware blob when installing a composite + device update + in get-details output, display update_name rather than Unknown + Device + statements + Don't make failures critical while checking versions or locked + state + Show a more detailed error when installing firmware on the + wildcard + Add Dell TPM and TB15/WD15 support via new Dell provider. + file + Allow blacklisting devices by their GUID + header file + Add XPS 9250 to Dell TPM modeswitch blacklist + Only display flashes left in results output when it gets low. + Add a small library for talking with 0bitdo hardware + Add another compile warning and fix up any build failures + Embed fwupd version in generated libfwupd and libdfu + documentation + Update fwupdmgr manpage for new commands and arguments + build: Fix gtk-doc build when srcdir != builddir + online not offline + Get the firmware version correctly from 0Bitdo gamepads + Switch to the Amazon S3 CDN for firmware metadata + Fix writing 8Bitdo device firmware + be updated + Show the vendor flashing instructions when installing + Split out the DFU file formats to separate files + Add fwupd_result_remove_device_flag() + Add FU_DEVICE_FLAG_NEEDS_BOOTLOADER + get-updates output + Allow providers to export percentage completion + Add fwupd_client_get_status() + Handle the 8Bitdo bootloader in a better way + Show a progress notification when installing firmware + Add fwupd_result_get_unique_id() + Use the SHA1 hash of the local file data as the component + origin + Use the correct define prefix for FwupdDeviceFlags + libdfu: Fix hang when parsing corrupt IHEX files + Add a set-target-size command to dfu-tool + Support the 'DEVO' cipher kind in libdfu + Add a set-address command to dfu-util + Disable the Dell specific code by default + Conditionally enable all providers based upon what's installed + Add a summary of providers that are enabled from configure + Do not use the deprecated GNOME_COMPILE_WARNINGS + Ignore devices that do not add at least one GUID + Do not attempt to add DFU devices not in runtime mode + Save the unique ID in the pending database + libdfu: Add initial ELF reading and writing support + Add dfu_firmware_format_from_string() + Normalize the DfuFirmwareFormat enums- Update to version 0.7.2: + Allow devices to have multiple assigned GUIDs + Only return updatable devices from GetDevices() + Add fu_device_get_alternate() + Allow metainfo files to match only specific revisions of + devices + Re-read flags for a device after a provider's unlock routine is + done + Test for a locked device when trying to install firmware update + Enforce allowing providers to take away flash abilities + Support returning multiple GUIDs from GetDetails + Add a GetDetailsLocal() method to eventually replace + GetDetails() + break + libdfu: Add DfuVersion enumerated values + libdfu: Show the DFU protocol version in 'dfu-tool list' + Only claim the DFU interface when required- Update to version 0.7.1: + Fix libdfu CRC check for big endian architectures + Add dfu_image_get_element_default() + Fix libdfu CRC check for big endian architectures + Fix big endian issues when reading and writing DFU and DfuSe + files + Remove non-interactive pinentry setting from fu-keyring + Set the system's DMI product name as the DisplayName for UEFI + Re-order output of get-devices to be easier to read + Make the device display name nicer + update version + Return all update descriptions newer than the installed version + Add summary and name field for Rival SteelSeries + Fix a critical warning when restarting the daemon + Add a 'supported' flag to the FuDevice + Add fwupd_client_connect() + Add a 'monitor' debugging command for fwupdmgr + Add device-added, device-removed and device-changed signals + Match the AppStream metadata after a device has been adedd + Re-match devices when the AppStream metadata is updated + Show 'Unknow Device' in fwupdmgr when a device name is not set + Set the device description when parsing local firmware files + Add support for a new device field "Flashes Left". + src/Makefile.am: reshuffle so enableable bits are only + referenced when on + Add support for a --force flag to override provider warnings- Update to version 0.7.0: + Use g_usb_context_wait_for_replug() + Run vendor plugins as required + Add a plugin for SteelSeries hardware + Add fwupd_device_flag_to_string() + Return the device flags when getting firmware details + Show device flags in 'fwupdmgr get-devices' + Add fwupd_trust_flag_to_string() + Export FwupdUpdateState in libfwupd + Export FwupdUpdateFlags in libfwupd + Add FwupdResult to libfwupd + Add a self test framework for libfwupd + Add FwupdClient to libfwupd + Use FwupdClient from libfwupd in fwupdmgr + Use libfwupd inside the daemon + Emit a FwupdClient::changed when the daemon emits this signal + Rename some of the new libfwupd API to align with the D-Bus + names + libdfu: Fix up some NULL/FALSE confusion + libfwup: Fix up some NULL/FALSE confusion + FwupdClient + Allow other checksum kinds in FwupdResult + Allow SHA-256 hashes when verifying + Show the checksum kind in the fwupdmgr output + Add Alienware to the version quirk table + Do not use /tmp for downloaded files + Add fwupd_result_has_device_flag() + Do not return updates that require AC when on battery + Connect to UPower at startup + Test that GPG key import actually was successful (or didn't + change a key already in the keyring) + Use g_auto() in FuKeyring + Return errors of the correct type when using libfwupd + Allow overridding the location of the pending database for + test suite + Allow overriding the location of the provider offline files for + test suite + Validate that the dbus system bus is available before running + libfwupd tests + Update README.md for changes that have happened in the project + Add some basic explanation of how to use fwupd with various + frontends + Split out the libdfu-devel package + Revert "Allow overridding the location of the pending database + for test suite" + Revert "Allow overriding the location of the provider offline + files for test suite" + Allow the test suite to run in %check + Generate gtk-doc documentation for libfwupd- Update to version 0.6.3: + Require AC power before scheduling some types of firmware + update + Install the hardcoded firmware AppStream file + Correct the BCD version number for DFU 1.1 + Add an unlock method for devices + Add ESRT enable method into UEFI provider. + Only read PCI OptionROM firmware when devices are manually + unlocked + Do not use deprecated API from libappstream-glib + Ignore the DFU runtime on the DW1820A + Export the attribute and quirk values in libdfu + Show ignored DFU devices in dfu-util, but not in fwupd + Allow defining update vfuncs with no runtime support + Revert "Allow defining update vfuncs with no runtime support" + Add a simple plugin infrastructure- Update to version 0.6.2: + Add 'Created' and 'Modified' properties on managed devices + Fix get-results for UEFI provider. + Support vendor-specific UEFI version encodings + Move quirks directly into a single table and file.- Update to version 0.6.1: + Only dump the profiling data when run with --verbose + Always persist ColorHug devices after replug + Do not misdetect different ColorHug devices- Update to version 0.6.0: + Add support for updating USB devices with DFU + libdfu: Add support for DfuSe firmware + libdfu: Generate gtk-doc documentation + libdfu: Don't rely on specific hardware to be present + libdfu: Move the VID:PID checks from the tool to DfuDevice + libdfu: Use a custom error domain + Use the same device identification string format as Microsoft + libdfu: Fix crash when setting a target size + libdfu: Allow setting the alternate settings in DfuSe firmware + libdfu: Add a merge command to dfu-tool + libdfu: Allow choosing a different alt-setting when downloading + libdfu: Fix a crash when setting a NULL image name + libdfu: Correctly implement auto-boot in dfu_device_download() + libdfu: Check for extra args to dfu-tool convert + libdfu: Call the progress callback when doing detach + Ignore the DFU device detach:attach when verifying + libdfu: Require a --force flag to flash wildcard firmware + Use new API available in fwup 0.5 + libdfu: Make the element address 32 bits in size + libdfu: Support the ST-specific bitCanAccelerate + libdfu: Only do a Detach notification if we're actually doing to do it + libdfu: Use the progress bar for all uploads and downloads + libdfu: Improve the output of 'dfu-util list' + libdfu: Support download and upload to ST DfuSe devices + libdfu: Fix multi-interface devices like the Neo Freerunner + libdfu: Add a pkgconfig file + libdfu: Use signals to propagate device state + libdfu: Add a context object to handle device hotplug + libdfu: Add an example showing GObject Introspection + libdfu: Do not ref DfuDevice in DfuTarget so the auto-close + logic works + Close DFU devices as soon as possible after the transfer has completed + Emit the changed signal after doing an update + Rescan the DFU device after replug to get the new version + libdfu: Add dfu_context_get_device_by_platform_id() + libdfu: Add dfu_device_get_runtime_release() + libdfu: Add dfu_device_get_display_name() + libdfu: Fix self tests after recent API change + Split out the DFU provider as a new file + libdfu: Copy the platform ID and invalidate the GUsbDevice when removed + libdfu: Accept multiple spaces after the DfuSe sector name + libdfu: Verify the GUsbDevice is set before using it + libdfu: Remove the weak pointer when destroying the DfuTarget + libdfu: Fix dfu_device_wait_for_replug() so it can work with a DfuContext + Export the AppStream ID when returning device results + Rescan the DFU device after firmware has been updated + libdfu: Handle cancellation with ctrl+c in dfu-tool + libdfu: Add a quirk to support DFU runtime-less devices + libdfu: Add an explicit 'attach' method + libdfu: Add dfu_firmware_get_image_by_name() + libdfu: Make reading and writing to targets easier to + understand + Fix compile with --disable-shared + libdfu: Display all the files shown with 'dfu-tool dump' + libdfu: Fix a few crashers found using afl + libdfu: Fix another bug discovered by the fuzzer + libdfu: Add commands to encrypt and decrypt firmware images + libdfu: Show better device errors + libdfu: Add DfuCipher which is a property on a target and a + firmware file + libdfu: Add support for the draft 'DFU Metadata Table + Specification' + libdfu: Only enumerate the DfuContext when required + libdfu: Fix several reported crashes in the inhex32 import code + Release fwupd 0.6.0- Update to version 0.5.4: + Fix compile error against fwupdate git due to dropped + functions. + Use strerror() when printing errors from libfwupdate + Use new API available in fwup 0.5 + Release fwupd 0.5.4- Update to version 0.5.3: + Avoid seeking when reading the file magic during refresh + Do not assume that the compressed XML data will be NUL + terminated + debugging + Use the correct user agent string for fwupdmgr + Release fwupd 0.5.3- Update to version 0.5.2: + Ensure D-Bus remote errors are registered at fwupdmgr startup + Show the dotted-decimal representation of the UEFI version + number + require appstream-glib 0.5.1 + not found + When the version is from the 'FW' extension do not cache the + device + Support cabinet archives files with more than one firmware + Add the update description to the GetDetails results + Add profiling data to debug slow startup times + Fix verify-update to produce components with the correct + provide values + Clear the in-memory firmware store only after parsing a valid + XML file + Release fwupd 0.5.2- Update to version 0.5.1: + Fix the error message when no devices can be updated + offline update: Use glib api for for reading symlinks + Release fwupd 0.5.1- Update to version 0.5.0: + Do not merge the existing firmware metadata with the submitted + files + Raise the dep on GLib to support and use g_autoptr() + Do not reboot if racing with the PackageKit offline update + mechanism + Release fwupd 0.5.0- Update to version 0.1.6: + Install fwupd and fwsignd into /usr/lib/$(triplet)/fwupd + instead. + Use the new secure metadata URI + Update the offline update service to invoke right command + Don't apply firmware if something else is processing the + offline update + Remove fwsignd, we have the LVFS now + Depend on appstream-glib >= 0.5.0 + Add application metadata when getting the updates list + Simplify the version properties on devices to avoid complexity + and bugs + Release fwupd 0.1.6- Update to version 0.1.5: + Allow fwupd to be autostarted by systemd + Sign the test binary with the correct key + Do not pre-convert the update description from AppStream XML + Devices with option ROM are always internal + Prefer the GUID from the firmware than the device + Allow no arguments to 'fwupdmgr verify-update' and use sane + defaults + Add the ability to remove a vendor on the LVFS site + Fix validation of written firmware + Move the verification and metadata matching phase to the daemon + Add a simple config file to store the correct LVFS download URI + Make parsing the option ROM runtime optional + Add a Raspberry Pi firmware provider + Use the AppStream 0.9 firmware specification by default + Generate the ColorHug test files at runtime + Release fwupd 0.1.5- Update to version 0.1.4: + man/Makefile.am: Add --sgml to docbook2man invocation + Make statements about storing private keys stronger. + Provide a way for clients to add new firmware metadata to the + system cache + Fix fwupd-offline-update.service + Revert "man/Makefile.am: Add --sgml to docbook2man invocation" + Add a Udev firmware provider + Extract the version string from the ROM in PCI devices + Add a 'verify' command that verifies the cryptographic hash of + device firmware + Make the ROM parsing more robust and add self tests + Get the version number out from Intel VBIOS too + Provide a way to dump the option ROM using the command line + build: gusb is required even without colorhug + remove unused variables + Do not return NULL as a gboolean + Fix Intel VBIOS detection on Dell hardware + Do not use the subsystem information when constructing the fake + GUID + Actually parse the PCI option ROM + Accept multiple files at one time when using fwupdmgr dump-rom + verify run + Add a 'verify-update' command to fwupdmgr + Fix trivial bug when parsing firmware versions + Keep hitting the hardware until it gives us enough ROM + Make the version parsing more resilient to corrupt firmware + Fix the example .inf file to reflect reality + Fix ROM PPID searching to work for all ROMs + Move the LVFS website to the fwupd project + Add the ability to create detached signatures + Allow cab files to be saved + Add a simple signing server that operates on .cab files + Automatically download metadata using fwupdmgr if required + Don't call efibootmgr after fwupdate. + Associate the contact email address directly with the vendor + key + Use the actual LVFS GPG key + Allow running fwsignd as the non-root user + metadata + Do not merge existing LVFS metadata + Do not use the file hash when storing the LVFS submitted + firmwares + Move GetUpdates to the daemon + Change the DBus method for installing firmware to 'Install' + Allow installing an offline UEFI update without --offline + Add a 'fwupdmgr update' command to update all devices to latest + versions + 'update' command + Increase the size limit of firmware to 50Mb + Only sign files when the entire file has been copied + Fallback to offline install when calling the update argument. + Reload appstream data after refreshing. + Release fwupd 0.1.4- Update to version 0.1.3: + Coldplug the devices before acquiring the well known name + Add an UNKNOWN status so we can return meaningful enum values + Run the offline actions using systemd when required + Get the firmware version from the device descriptors + Added syntax highlighting + More markup + Support OpenHardware devices using the fwupd vendor extensions + Move boolean properties on the device to a set of flags + Release fwupd 0.1.3- Update to version 0.1.2: + More markup + Fixed typos and markup for executable + Add slovak translation + Add helper code to validate public key signatures + Decompress any firmware signatures in the .cab file + Verify firmware if a detached signature is present + Show the firmware trust status when doing GetDetails() + Only allow signed firmware to be upgraded without a password + Add some guidelines for vendors to README + Small grammar fix + Extract the .cat file alongside the firmware + Release fwupd 0.1.2- Update to version fwupd_0_1_1: + Do not crash when there are no devices to return + Add a 'get-updates' command to fwupdmgr + Add and document the offline-update lifecycle + Create runtime directories if they do not exist + Create a libfwupd shared library + Export the status as an enumerated value rather than a string + Release fwupd 0.1.1- Initial package.nebbiolo 1620323377  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq1.5.8-1.131.5.8-1.131.5.81.5.8 fwupd-1fwupd.hfwupdplugin.hlibfwupdfwupd-client-sync.hfwupd-client.hfwupd-common.hfwupd-deprecated.hfwupd-device.hfwupd-enums.hfwupd-error.hfwupd-plugin.hfwupd-release.hfwupd-remote.hfwupd-security-attr.hfwupd-version.hlibfwupdpluginfu-archive.hfu-bluez-device.hfu-cabinet.hfu-chunk.hfu-common-cab.hfu-common-guid.hfu-common-version.hfu-common.hfu-deprecated.hfu-device-locker.hfu-device-metadata.hfu-device.hfu-dfu-firmware.hfu-dfuse-firmware.hfu-efi-signature-list.hfu-efi-signature.hfu-efivar.hfu-firmware-common.hfu-firmware-image.hfu-firmware.hfu-fmap-firmware.hfu-hid-device.hfu-hwids.hfu-ihex-firmware.hfu-io-channel.hfu-plugin-vfuncs.hfu-plugin.hfu-quirks.hfu-security-attrs.hfu-smbios.hfu-srec-firmware.hfu-udev-device.hfu-usb-device.hfu-volume.hlibfwupd.solibfwupdplugin.sofwupd.pcfwupdplugin.pcFwupd-2.0.girFwupdPlugin-1.0.girfwupdannotation-glossary.htmlapi-index-full.htmlfwupd-FuArchive.htmlfwupd-FuDevice.htmlfwupd-FuDeviceLocker.htmlfwupd-FuDfuFirmware.htmlfwupd-FuFirmware.htmlfwupd-FuFirmwareImage.htmlfwupd-FuPlugin.htmlfwupd-FuUdevDevice.htmlfwupd-FuUsbDevice.htmlfwupd-FwupdClient.htmlfwupd-FwupdDevice.htmlfwupd-FwupdPlugin.htmlfwupd-FwupdRelease.htmlfwupd-FwupdRemote.htmlfwupd-fu-chunk.htmlfwupd-fu-common-cab.htmlfwupd-fu-common-guid.htmlfwupd-fu-common-version.htmlfwupd-fu-common.htmlfwupd-fu-device-metadata.htmlfwupd-fu-efi-signature-list.htmlfwupd-fu-efi-signature.htmlfwupd-fu-firmware-common.htmlfwupd-fu-hwids.htmlfwupd-fu-ihex-firmware.htmlfwupd-fu-io-channel.htmlfwupd-fu-mutex.htmlfwupd-fu-plugin-vfuncs.htmlfwupd-fu-quirks.htmlfwupd-fu-smbios.htmlfwupd-fu-srec-firmware.htmlfwupd-fwupd-client-sync.htmlfwupd-fwupd-enums.htmlfwupd-fwupd-error.htmlfwupd-fwupd-version.htmlfwupd.devhelp2home.pngindex.htmlintro.htmlleft-insensitive.pngleft.pnglibfwupd.htmlplugin-reference.htmlright-insensitive.pngright.pngstyle.csstutorial.htmlup-insensitive.pngup.pngfwupd.depsfwupd.vapifwupdplugin.depsfwupdplugin.vapi/usr/include//usr/include/fwupd-1//usr/include/fwupd-1/libfwupd//usr/include/fwupd-1/libfwupdplugin//usr/lib64//usr/lib64/pkgconfig//usr/share/gir-1.0//usr/share/gtk-doc/html//usr/share/gtk-doc/html/fwupd//usr/share/vala/vapi/-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-SP3:GA/standard/6a6b6901a6dfd913060eb5b34f62e61d-fwupdcpioxz5ppc64le-suse-linux    directoryC source, ASCII textC source, UTF-8 Unicode textpkgconfig fileXML 1.0 document, ASCII textHTML document, UTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesXML 1.0 document, UTF-8 Unicode textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedHTML document, ASCII textassembler source, ASCII textASCII textC++ source, ASCII textPRR R R RRRPRR R RR RRRRRRRR 3g@3TUutf-83adda7406a50bb07b7e99311c5595a18a2c40a7256f31ff65d4b120a5f362844? 7zXZ !t/P] crt:bLL ~~X){/%e!,Uի,DN!;8'O}U:PQ˓} b8Ynx Rͷ%;KxXQY%]d_ڣ]U7&eV$g,`=T&$2u1 7䴬m,#7 թy[.\>OԤzwh^lz^5q.LM (YD<گw])M?G?E k/ Q<Δ]6^q8dYG+-L oUY2SҜ7= ~BQ|+5yO)@q\ԧX| _teMuȎf28 |?:$qet{}È^Գ p%fUVxXYW )>?ifr)ohLVRmIXi$YMe$%&~qypSZTj Qp={4Ji~cV-1ddT+v] w? GŽ ^Q|LxCLM_Zʔےf9&'кg-0L^!G/ Ȅ=,GJG\:5p}H;7Pv18*RbW:+:6ό?n6 ']͖ɳqZ<Р@*b-}, L` ey&3c;xBcZE4؁j!=s!J ٱpƝzo5( N@ j6SZ#Y ]@xd7z= lP_HE]ΘqYЫ4F_$ BXDhqޘVko6E֍&Ge:ffqFTwD:`3Q(#|ͷzv |Me+%3elf=/|ܖNb@FH0 o_fJQK Fsl &>> A.AeۿtAzRN.uN%IgP={v3doP0siԁB3Ms++!i+ΈS k/ONVݨCU `橃{n3͝&QS dL.¾7٨[|L([!xw 3{ _0C{^4ƄsvdVϱ?0 vr0<`)nbCv7κ@TJXY89#`"O7bЪv΍=YVfBy2DXZU u i={_sD їK G3^s;^&xUܨfquvy~sFdPsd9鑰Nvp7,&B.GN([d0DZHl3p L 7{dZ !%`^H /d7m(bCHǫ~O ?yVuu/:2;G'Չ ~S *0Njd.ا1ܰi$eC ˲K4ZtBijs@ Pi:Prj2%PgudP:ҶaN2~ip_r0.-~S'j45k茿tgtڲ3m^f [{;emsl 8eGqt5Vq?MfF^2fE,hy-Xb0_)ӈN̷XGKV;qZx lكSg.pP/ TnJ4A+S4m~ 8$sۗղҚwDC WI{yVѶJ6v2 8@#XǑ'9C'y##.rxȑB;pvSJmWNvkZ= 1poIUx ]Hw,Ĝ6:ZZUq5 hgzhh4SYOKApX4{_,O؜}R]ٖ7FLB/2gJ'zIhяî!V{\Eр@/PXz$e&|:dCp ҕ{Gاy ҉&I~; jw<݂ty%EL%~u|&RI&GjlJ<57.e4B7© [ ##BH[f}8s%qbX߅=WS _@veTuyIQ"u YKYF})׬" }̤L!f'jCo`)8tD/njeﱀAVV~kx"D\[$^N$69 _} t] r%9'æ ;7Ԃ鴾\=H@idӘ̛zSF Jc"C_OS+;KM![l {eΗ .x`]A kjcf rI]I#bǍm&҈xpr"z6GFU0/!LG] `ŐOEZ-! a3+^d|±HcؠvRUtF^S`urMՁϝh6e}-..J=0xVS˩(~Ho+1d@p(jnOLe{cڅ=+)'0g|d!VH㹎tտWO,a QL^k㧱 zJ`yUf́WTUcpmu9(vHf?e iQ0ҒH'ާ۠ҳŒɣ}Q>;)?Ȁ hȚVD^7nDNjDF tY1g:Sb$D ĴE}{VpṔU -ǿo\lmĄ.%nzhS v=Rk6'cA@;`؉l;cF6sD7Avy3>OK H:_m!'xAi^^<܏)މU%]Z5;Oob5?+Л:aƛ:v7Q:j] ni*O{;<սӭxWDVSV&>Be @.‚C52(1uz9W_ÿ/mJzL*4 b)Vd4B5V8O2Hx:="]l8L3!UY!w\ssO s|e/1JyPTx[  E7Uؘhod,|1\3w@C "0f&;/]Sb&yO&Uj>ƤYD!)koΝk1g@ %Ay7lG>@TS+u{SM_8+V&Фjr'gpzC'xsԜ&vP"]+dӳ - mk_fF٘y8QH TљLʗavi%E7'fã5餢S勤$-dyŇ]ᡚ7-x8nb$[?a AİUA)җJˀ'H/xFM+rQ>=,8w%A$q ڞPErMt sU*Tuv.*<%hȘ{1&(2fPcudφ7wahˀ=ZBx:Yl޹+&r6(F*L &eA@V><8V@ڕ})^FS"4zRfV_<7A:J%nOLjMժ"{#4"JQ㢕ЃI1?wW6X 4}%iwH8u Aܛevn_ĪuMfV F@@\ C</ƓaEc+-64Ad)\ OOBj3Qb`JD"b3)\ P8Gﭦ F B(s'X-Ҝn;'NUi a#r}4D,wCUjoRؼ39HJ0Bת죲a4c*ØfR%o{-h$Ej.Iս '+dgݝreeG;44Lc ʖ^Q\Sg.O8 ʩ^RPmQyvQ9[Qf_ХH%6?Lk!'Ī%G{`pBJACcXR"v mzDb6P,9Q"niX,tEEU |_&/WZS|Ͷz]7{E듶" Ue"#1i>U{nE?eijtXR*;DŷI.~c[RHQIZ虍9rG0A(̤::~w#-!o4rj.7 lvOCpnc'38] ֕T{*qDw:$TЩmc )59RXj&C4ј)m$FiE3wc%y3/mQ0ֵ4\4ƭ2_@P R2nRQD>w#\ 2lM;DzDM^ C Q UGE뀅M.2O"m  \%%[%)6X;%RjAzژ8*h{auE%5S0Q;vK4H#(mTzױtUP3 6Ē֦9pE$h$H.*$V[j4vy&lN0߼ԎM`ئH3lʀ QMўi<: wМKm˶qsAhK|RjY]˷9lҿ2rv[ hi^ gV"l] KyX EVFpvDb u ʠnZzutk.  -Ui+MР}[ٴGĄmo 8R RQT9^̐z2Uԟ)DN? {Jz +}pshq ;7)=ZhbBs0Dߨ!{,蝕-%j&@)Q_SO"jćd(&^CaF?UM d+`cxJ*Mxʺp$#a)}B(,Q4vK|8.װC{A1ʞ'u^MX>>`Z?Q4"5PV׽ˢOh%b3Y.lpy&X?@iJ8 p +u}4Vqz>~X}?٢;vzmhؤ. @C%^U͒3#`+ jځD`Wǯ/L<wW­6CRbɼiAQ?5c8dөLy\Y_;SXw~绑9‹]M縏nFw룀tjvaDk}֟2HɊZ3wVJ3 ՔVQfzs%Qte#|';rgG ,~6vTă/^{{#Ӥ1JԐ>x1]l7Ͱ$JE$3qAJRIoz,#!|3ԃD\3VyGCw=5DR={-,Ɲ*kq#}yٺBғW'd[,g$谁>ľec K0BA.]J?)N_̳LlH/5zNAd܉0CMh ZŊܩ3xJ5&sno*^t^-,|!M/Aq|9Ғ[V}JWZ%s%N5"pGGb]U֘c#[KqΩ(X(z -]V2\ 7: kZ2u=Z{“XLq}RmO" x8QqJAs]D^CikkN*(wͥڪ)?Q@bIS[ Ĭ{З~^b:GJ.R*NQA=֎we lإA|ʉ1O]}rrSɀ{&؊huwA@ ? _,j]Mn|HpP∎GI+'cࡅxEZ?Fh ZD{MLס ;6wGj@&O1vbWJᱹHdE}\cWh蝨ea=\(|be1IXg陋UoRTA:R,ho#Mp 6]-Pkைة2&B9j-q1J{&;#Q| Z5ozlӨ%wSv7W^*/Og4'zzA|I> _0j7^s+^bgRl|DDnʊDmO7q]t柠95?—y6=!gRPn P"F*#=L+@)zʻDR*_9{ݐj)Ғ3L@f.@LiiFX܁Q#qu<%W~uv;$~DF"AΚ`1(Ʌ0N]J +(zVdžqS+?IVEdzOƋA_e[+lx|\a{ƽgU&`o)xȖ.gsE~hv)@xLJuhS_VL VӦ [pwن|xP/y<'*`~lcNQf$ĞRuR Mu7"Ǡb<bXuSJ grr*OX7˺:aNn8|bSgafSjlTr|%'qOcqܶZSdA|#{{27F!, OF1< 2#"YtϽ @ ""zUa٣_'ip}7#6zѦY-^rL}HG \]ּ~檶=@x?ow`KL"GOmRc{0q;` $uV!~VPl3]Qɖx\-Gy=^LL'SCnvjzS==V&9OlBW,=ΪS3".34fsBJAZU= U RU ~)\?&β|xuOyO1[GE @NLDshdP[['$0FRqVkP?7qaA>#g) BnNsLJDr<6yU;4 ;J75?iLzCw1~ᅓN34ۉ G21[x9gL>uU0 %CJO,| HF86ґfS^xNqx`7"֧, p'Y&l/1鳁EJMNjm5b͜{>TOLSUq0;ḰE'][A!s< #H"9eĊQbY4!/8mكf1V?L^4Z/Q@mqjJ ?+}D3Εh2~nɞ$y:mۼ`p˂Q7|QXOU~y՚uljꋆ{5rJ㲇3C LWVnxyg 4ڰLsؔ[ӹ '{}V`a.S"#|^J.4oU~c*_,oBPW@X3-⾭WG䰳2Uw^z4tPd/ cFqȨK+避sR,[\(O!J"gО|/.:n&GvM.n [f=Q Ch9L*rϭYW/4w @"fPt`|0%Xi{ӊ'5ojrx `>F=RSԞ;]u;z?3d'ܖ0 Xk8&0˙ a25Ov֬,pЗuK5S,d.|lQ7m8ƛ6{%_`rm^ H#%@[D)ڥ}gμ_9c|zrVx.{ skTiԠ9Musyh$'kS3bkɣ |qUVnOZX|Pq ,xJs0WйË-D.B@pK?8lmcN?QV`@㟴T|E$1/xKٸnn-O2* o{hb|T, ^-Il7mvø[F@ps6-y u?Cˤ'&%YmZHa I(mWYxF]=:dg̨N^J|!OK}鴏5V+Eƛa] Ƞ?I`#\]iTu D_.sw*17gQiQ>+z3[݋R/RՌrfO e.LcQch4nr\Pzc[uz(Y^kQ ;P@blQK˱{S'f Ⱦ cHtR xI,VdWj; Cx^T:G"TpPAҳC\LjB(qh؝1%ra+~?{iܸ2OC}5ޣTxYcW2z[c'>@ ԌM+9!0J,؜[WVX*0G9!j 3a[=1_ݻTr%DOd#zT!w# o, q0kKD[|HKp5  Lh;NS]a G!3U@L8H1P]ZDL68ob(WwIP)cESmf㺕GCtY+Y ޾g!ƥW tݙrgm4!+)e5TCKwR [ 8vohNam2w|c.oj'=';|'Y=t71xl)U"B@*q˯LrV4s6ԥ{q+)0`KςUl_yJAxzDBRCF -K%[19Yѱ tΙ7nZ8alﶼuMBSU)y̓埤:2FpFw?̋6(ps"Sȑή7l34!%qdnh /S$lfJ!Oǭ(ݷhe[QPe,26?Jz[9ґsiX~ynG}3ڇ )FzРG1ی%|ͯeVZyM15ն/ʎ=OyּzCtSma5IQ+Ҷ֮l(ҊUSf4rqE2$~ Ig]< K< R>iw@ _i(@Imʹ ݨLa/͹]?}=ɔED hQס [d<L|,|fFC1z!Nf KG( da6)Ɠd+dNb`KDg3d1VPutC3!/(& Y-!P#.cZ͊'*CsEYΡ;*%IJ8;N שZY0@Sd-&cuh ?I`3L!3ZnAN8Qom }$:H^+0D_#8GARǍ9I `g#|uVj |3Q YXV,*ET+3{}vY3"n^Y h fC =QQ5LEEm6\4YcIѣO V?7׉ ]71B\"x@nBQk%5N,̮Ua&Z\ˢ{7+3)E70[Uǘ⾬sWJDt;82^u}PRPvk|:#cJbԳlh.QP j7y@ǃDd{kн5%!wm0s_eER__sV| !dlD9.OC~gzL.Tf` *鲈JKNm&q  {ɉsǝ>1f E1m\>D0^&PHر1^?r]se{[ boy.T4`Id.Dnʴ;_0H?Ty): ̇].r4@/ )՘wpH Εc]QqsTyRj9kY)~Q][F5ЕpSѥݵ:D؅U%}-}0-}>'&?ur/r/J8c,cѠ 5/ JzKd-E] x`qw5N)ّR3 OmZ,lV|c }Y;(7@9Gp9}W\Eml?PWkn~}@r}}΢ qU3ش8X?mrʫh Pxۛ/pGT%ɯb+aٳXpLn~KɝbF"]sq5uJF]6g[pֺ /JJY!MZ3:^h4. #>q+N9W!4i%TNXٗ6F`>&GfۥzncQFd﫭p^72#%lJ7g$JXviW ѥgx:}OJ,O`&8  DA_M JelrD6GH]5%G#5'.d OՉrM-E᝴4 =IG.byXt\!l%?Jr.~M]W_l"\ApafX&c$ac/Y L{8eG YF7Hz2V aTlPb3>Yא'K) ?TJOsFYlh{vib@4یS| $ MPWFnQVB^ӡ9PI@)lӦxQyY;Tςv #qGog:BV14qYN4;Tosrt )S1ƶ.avOw8?BܨI:yq8R MBNsзJX tv#JDUjZGde'!@b%N9Sx]z[HB%z2QjnU %) I*d|j*Xf,ZBG!-?ܧ8vJxϦ̵[t{9,^\.'Mk &z+_Er\4ʟ=0j.44|\YO_?}^!]P@Go)_;iAA25^ :g{mbl}=9tPm̝ (:8P^Pe*O֩VjB4)aɚ< K74>n3C56oA\GGd氂cR9sM =BL(!>/fb?̢̱g„i(,?WQipdMi5Wԓlp59} s$Hk-kJhLRMbLsTU!&-P#tYMwn'1d sAp-f'~*p|M_d~nXyU9Vy3 {aEVb$]XCw ~(-wLj|tIYV97}Sl^q8[W?#"G`ΝZ 1Z/`{ 򴸙;(6}VN*E6vHFq AZ#ثᚚ-4e8Eý^*zO5j0 35__X{yijAVdϼǹ=V5З^a!sAX_q7j:2QQDeޝIYAECeU6Y'hc"B HOU2my %_v&Rv,A^ wEjR{Wex& Dje),KPI|6R}۵Hf(Wl%[C602Ç Ό< S5!38B`rtU% X56REf6?z^gyYThSaR%t$C!%FVLx0k5 8XݦN?ў!a3F2xA 1.`KF,ɺ!@ )4WID7>򛷷n!W>D<žg /3q¤miN ,WS{xx"8YhфTf?](bHZ&W( E(7  }Nzꮂ*j*!w'\(5[aN5IB_ 1 2MD 9,x=A AJY[Y0cB* B:w=Uָ``f)୆+#_H?Oo̢pv3ZoU|:1.y!U#8S56@HXr0Em]-8 pBXmB8E=D`˭:&"J|M7cURݐ:׻\Iz8F3:c1b }(5uXv(Hdۭ'2wccr HHj C5^Wن&೉"OG,*UUE]餰N۟lL?-H`,Օ .i%sʧL$͖|lN$YYG%Ԅo!Ul"FmBdKJ|K 8,R#ffcG47Mriu>AN'Yz"Bxz@²ܸڲ^mOZygL@yԹdf,~Ÿ OribXrDõZC Vԗᙊ$l~Pan)ԭ#I+?-_t 尚2vGxljDh5 !.AMò&O‘>!0ۛ'7P%H&8v~N$;cjYZBFw@v3JU2hEp /-š/25dnͩg>hH>aš"QC1(,،kԂ (#NLh)$D6˞FMq'G%%Vp%n[Y,Llcµ5 ܓq#UԶ &Ns@ߝwDsKE`6}&x %4F şʽMFSYz 21c6(w],%J S@-NL aX7a/`1 W̽,뱰aľۺڹ;cs'M=i7:B0u+axH 4P}WB3e來E)u&CNGu[55AD?6Mލ-:Ĩt6eC,BtY+Œ\3Za>(hLm!^Y0˲$\Oz7f@gu8 8AO0?ej[š;y5PZa"߃éwdo^erLqh<͙Cy .bMm%ӪWd }6Y?fz!aat~-" #vOH7LGiqƐ;Fvy,?`pwƍ߇8o[ xINGWgBXyXx=&e(=.]:?Y:|k, 3vH;cG&MabIo|)`Y-/ҁDoozڸcN"zUQtu*@|jS(-PpT%<+Pm"4gMWhW  n)3 ?yO-:oq>Td*7[tv͕%-dl0&QQw8aVsXЖId38xW1j~,ɟVQ(ew|vɈ65zM- uͻYӫ*)l&}g18 $ U-:|Ed{f&x(k+x^Cf*]ܷq([Ix]74Zdf~A \Ot |sӦN;C9\#ծ2id:e[Te.J)n׻!R3RuK):uu39TWru, :d3~;& 4l z@ i5 fpaW;VZ>WA/ "Q85R*K0•#Afݪ 3<2+1wepKB?BJ5&46A3*8Ik|u"U]hZ0ݏbq($Ga)>RY+E%+65ӜEd<$Xt!e⢌U7H3u?{␛l0Ɵ_46w*JȐp- E Ϯ"F)q ck#͈>P<.4/` "5bN))WQV@vQ([&nI/oHl>;Z._ N.-;~-G:"1-ɞLh2$A^$]@v=KbL` 7!5E (݉C.wrjXXt%}Ui5*|:lP3اJ@EeL:%Q *x;>ĝգsu%зO0ByŮ aL [b~S8?0ޗ%êLl(XLS@c ̝5 xX+~Zb>Z?Z۰]4.tmNqQY7Dսqcg55r [pSs10UP~nݞt吊0ocszƎ^@cʧz DBOg) }yX놩Ous^2N3|Q8Qyo3O=MV n.?aA!~:SVh~}H+60UD"'~VB}.z~rc1;y4 UpJELdP'bdɽѪRUä4^p Ŗ N\٧L"Ȁ\_!di)WE'.b<60Ŋ PZ7l8JM0g96rv[6- $|Z"udLiAsz#gf_*la{ǷW%ltC4NMU-=t˨H`y;Hr}dS razD U٥LXޣՋy=A_rf 2r*X-j`N/'0?ܰ X:qj;J1 o*XJQ%eUKFZ<ֹL3@P  `<mXCłz{Z O @3Cx۵fݾjWNy1}"t!2SQH*ż 2ܭ,Yw2%>|޲VES>0V@"۱SONif&16}}Ħ4AUu_/3@IkRY/`~ %J\Ȣw,ӏnhq/Ew$eJ35@"[_q3^Np u>l|EPU< aa-e2Idsh\ػ*f.7dN5L7SuDZI:(n\=qWU@j[-(^`I֝cv`,'.,QOT7%c=CTys4;dI?f2G`;!VF-G~&Ďg[kueK6 :+TO Y҉KV,Bp5X5\dUj!k2*r1/Uv@Rd.3/ YțS":Ŧwb6V}KuGZIv%w<1G =ch0qp44g*2&@0l#ڰJp]1j%p&P%lјL0|p8oSZʜ9^K.~8wW~~sLVm5Aףl:Yt/¤9D`9 dW@KSQo ~s<|=MAO6?N`OOa;Xց JL@n5 }cG4֮bez4XC*jD 'X냓6ʠ/Ȍ {4<] 0.~'pǔpyV$.yѭ9 ;[n7׈Z ǘpXgqml{JwRoxGJK3XQ9g%k1}?YP/ߪD 5nZ*.TdFm|c+;,7 ) ~T,dPxs$8'W:u{ <+(Л!oϋni.-I=Z0~}VBĨ,\r΢%]&z?f'0E9 -H+NI\0lrđ$-0JzQ2{}kA .$"؝|Qxwus7\/oT]oS︝Ӎq(syDE:Ej#mFh{PJo( \f#Gcű!9*mg"'ªc;%=LB㾊y, ̒{$bW[uJ9swSqr7(`saw1(iP.>䫥BAZދ1U_>ySE }nQpK'aO@=rro~H]32D}qGZ,=B7FQ˱ȟApNY:88\J "!=( IoY{T6Kku!+F_?D!߃bZ=Ҟl/_u,U~bݫհSr+eZ&*~;D@8<nY]Ȗ| *l4 = ~p&?z|Y$Nb!Gyv0cX>0R6Sp$Tp^@%n#A[T x tǯ?H. -9;Wh5x A~)'`ݮqf>DEk!ĶZPV#E,s&t_G:|V;ut{`ioBƩSige+XЖqJ1Md*re%;QGkچؗ#NsQuP&碯w̸J<-!g_j?m>pc5=1R{l\J. Mܛ?GLF\YHxeZ1E>ya]9ou 6H|˚ϭ)' \ 栓H$!2GK^sԆA\%\5腳V1rqx)9D$!ٞ&T#V]Ή,F=x&h:D{Ĕtޫ|3sr)Ҙ_Fݶm5{JօcQR(!wZ/˻-LIΦf. UggxW(V9+"9Sw> t`$㖒ؓOuGEIM_W V4U%`!*/gev\/L7hAtվfqd{> :mɷĥXAdaohq}7;oErV-V2ሔ}U0vK),zG,g4Zy]ሽ28 # mbҎ\\ /ș DS'Tˉ 8rO8Fyeg{b|\ioUG,Jlچ$?xj~oمOZBIHQjS)ߜ3ƽv\և6[ *>&f?nj۵{Dz $>!Wd89u?ѴPJq3K&ixSς0Ə.95YaJ F͠KKy@LbX Z[O-F5K葇[s\m*'YR*yu|\7l~H;aDlRWo{u-=Qg@^PΟ'm]4 𑢻`b$Ǖ_K4wi߉իpB{vq"ȼ̷jJT8eNĸr=8d`De~ieS#5%jE~Q%QX1[/iv 3l4uqк[e"o(4hկP~;1gyUܳ7T&mX Y2BdUR]#>O`#2g9AkG5WpIh?i gt ҽ@[??9z*XJᄁgp[ӕ%Vyw.۾m d D` I?ϋq1$#}ϳ~מh>URL az"Uv k.5O*5ws[ìt4NeM158Wa!3U[2FV=P('D!2鿭ͯE?G`|s 8r<))Ugx SC3&$/A| B#fm-3INN|JyP՚Bg<'~QD-]mhJi?FC@L):uY\:6:2R~ I[ x:lX.$g&l 8,dC*o=S1'I[n?=^\r/m>*u/QxXai8Ƀ2џ+)_3Cgl+e{&-?k<=h&z$QmsbRuWNpPYD"ײ|]>*_0Oșo֨3Zu__/ 7^RԄgA̝Mϫǩ+^OF+Y|ݏ^hj ΜU{}=" Kxa#pԭvw؎u#!Z0Q^pfMc(Xwo 5O֟ ۨ,W МdYԕp <˃O@*V5.d> 7p$wdR¹wSb@p^Hmx p م6 sR"څ LEPX6ޛPh4k(kX^P@'*u9ڌmD~[Tob`8!,] XB~OW%2` 5yoD=O[Mzpq<*WƝ$I_Uۿ>( wK!;ƃAwV3{R wLZbl-J/jW wGFƷZ*8m*'Qʂ'c$YyC)/B%,A3!lVW`Y!IiMK6i zϦ";[ :'ZɸYY"ӎ-6be('Yhpa䚕YZe uE^I&hl{)i`P.2WKA`y0U1Z es4?7|TE zDA M_q{[Q缸@q0$^22H-PNd:vL #p5bж)ڍj- \ {JɭQ[M~~\FWewj|۶_>C7MWߛzHs:$qnċ|5ㆋfGEO8¹H-2ozS@ēF%yV`Sov5\$Rh@ztɆp>{{#4r,߰d)jo|)MR|ø(TZ69imZ>Z=(5v_mzA V~X+nF0<B1k͇AEi(]"#ވVwlnk*D)12 vXfTl3fL/,~X[EPcG7bViQjs$&wH IiLpl0R[;A*jI >8r'$(oc65VGқw6֟QN?oMPTӬ)29UA[밮T](9{7dK. zw,,~:8_b9s%pt jV)x>ftr}!b*/ `IPph8? $dcXհq1+uZ_pp2Gok {Y\[62v H#DY ?&{prt(ZǮ/dt;j_Y+b7 6x*|]d'QsOf<]rW"?iGH82,ݵ1_߲\:fMgY݄j73"wRI:R޹q%"¦HYk'}qU6X!ݿY.R<tGILʴٮ(d<| h.˛üV>?#o,oa] `+<"hOLpOb~% x4Jfm}4pwDh+<9a$ȘYɓBPO\͖W;0r/oFגD/9z\=/+ىa] Pzi`#HFl` OwVtv2,)_ +%V㐗pIr'x5Az,uL ݛE[)ޝJЈ3itIVhLY;7ʃ8un=nBRewTQVT1tЛT3Eli酕 ;Okݹ=i1c&ClVͮ>hȜ$wf):{͸3R~hlXתQ0%VV`VںHEQ2q2l@,+ƌW6Ҁ,I /rN$)gHcDU˱ mNy(YqŸsOgy1%\ٜT3&T|ȸ> .l *u;ɀgaˌmǢ&OBn-dP,i8؉/I,S?X?0X( 3 }R46@LiG74HÌ,%U: qeFƯxz[b,)ޡٺ8JD:lR~1:EWW$t(X8 gԶ[tإ~㌸뻷HDUquP#Ҡ<U)mF\ѳcE+'*|ALM]߹lNP0עE<+БlhMJ\6>4VGU 키ِHv?䗚z}AWMiWi9z801#-Yt7ۨ6L[$ 뽵.[˕;v__ SxGA i!Ap zbgD!ї6Nctpʭ.I :ge.WJ0\H {C6* ˆ.n؜A[T \Rr8`k p0̃F-{ྜ4ʍpo cCS2?, 8"ݤ>KzyހY^|Br~6LaW:۪s`ƮDkjiytW`?K,<s@ s;#*ूL-E/F΍__"+*g$OhkAbH43Jc?=E>xZb^gƘx}p%V>A((FFfqվRMGB>/*)5.΁7@Z .Α?nG8/7Ww'sJu᪻@2'xOu[s4uGr^6_O s ХZmj "qNpz'(W(b? uM$ lpMb_2rB$AɹB@F=e~V f4¡[Gs4[؈9bNpK "DFX;ljID7045Lё̝˳(8~bR{u-͕Y 5%* (l:"3߰ B`ZA?to jG&w!cݸpԢTPt~'!Uح ]ɅIməsgG@&ov6lvXz{Hor̷|]fhFeXXY 9o#>Ffo/Sighp t@z\FJl; Q/N0NsxxBF}r:4)cTrwAG5 {ɻaHwމT 0p ^MQT Z,gR.PnzxC:ϯjYsѮ=@RH!p!N_yr&͔?RKҖhxR p%]uL̞sa8CD]?)p@ҝE*bngG<}<7-d/F{ŋ%^{ T4yؘZٹn*$:ᄸTx ZP=5: 4y5Dc SO6r!8䖨k'kB$ @(Uҭ+ڔSApč@Lnȁ D.&}li{OCMJ|ׂiR2W}巎&m&*)_ҫ{3#7m}u0XA0S4j!gkx'?_7#+ ̙T $.pWr6~_.v*q& 84&^?"Ӽ= OsAr㪛YB]e9P MAZ2 OEǬa49Rlkԁx&):=ߧ!5X^dHSPP,KN)}"4!/ݓʁ]T Ⱦdd+{ZN:_ aL{~ UpnoRiE-"vxW#Wϓ x;v[cDѴ2.cy! OE@I !:IӢ 2Ӎ ϊ7ߏ=wys+Ao~pmY+R949Rj qE(˥Yw Y:!:dkspȻe6O2%WwT@EX_ȉ<s@N-Ḙ&ľU skL9)RG Ov. FJjД!95f%\M6s ܐ^d"h1 $jYM'GQD#`iéOyt9R[B+H7&ZG &{nt_&S[0(F18(&&--y%@LK/\+S.4zi4wCr} ayZ=@v0C۞zFÒ`xfTv-j?Ћ Ke+pvF[Uj1hqʅk] -\#@5 H;:irCay)s;F7~v.|VAsɳb6t]3neFsmKhЫ]\._h} \#SCӖ. ?S.a=XsV'(a<7wc:a+5(`z _v2t $$j >ZHv#xCl$WO=#kJܷ*ց=hXж>Ȋ`jfAIf;دQad1H8d9{bT[ x!WOD\Y?sTp|!p]8HIWǁ׿*OMbC {kiQH'L@\!yw%y| :RyI?h)>09!PFU.h)g{2+&#z]'ff׷AU\OP,[9)w}DE<׳ GFe=(-~@/bXN/Dg70ڃ+|MLHL/z:~XEd&Dad?i2oh\7tB)T8 hCRO ګflj'_P IJ/H]_ ICG;2t݌Fǩrs? cz1?'ּ*ڭ[C҃(JŵJzvopdp1${scIP~wjxp֟]Hx8s<e\NS*Pر1LxVTOsIg:~*FIX>K뉵L9J H+>\*s`MF ^73IXU z<C:&d碚?1S|> lnr7*=7Iv'#q/vg.98+с">{¸~F'm Cn%wɼlvJYTdN.="St=M-ˣzٖID6b 2;1"-HWt$}zp[XC-5W%kV bgՋvnEL= A{˥4vW{3(z}āx Da\;oO@WA`~U3#˟ՔDA*fhm15WSc&{8=0U%GnbW3Њ#ʀFHKD:bK L uK}Hqضbo #n㑻D`r;[An &Hu|A_&rvr0#=ڊF=VM:n`4.$r 2{* .UffVX7 +q ϯ~"_ 5Ɇ 3VjzONt0GDlu` D"X|:u91A`Cs /1Xa} Šj_D;l$e\jB7UMy޾KG7k,bB"^rM@a }؀mG+MVq peU=iЙ §KdY 9iU_e/SAcάXi OpT:|>lG(j94m1P70>fz~`KV:m ̀RZi#A`2f#%~;7!@bB*l;┰ȾT6@?2)qoY9ٸ'˖(ǤHBG)4Bq \guHY*ULm=zn,Rsҏ&_w0N\u1G@͚dH8ef_q>z 61yBQ'wҿ7,St"(>I*1z|->XKи6F'~W -&Sam,ڹN3BgScG$|1V>3SUEH8W:R|<H 1MxA>$A/lrZn?TLavx2i2 w2m !Z{B`!sZū"7 5{ K@JFStC_w >6:Ua/1gen8DrIfw|~},Uo&}MX Q1>"OG#x ZbBrʯi~d=oh6>6\ W9QS?MV)WK`)Ips~OaZ劣f汔Cr_tfC[m[?S[aچT7oLxfG6_X4s=#ﻹS붸jUSV(j' f[Fq`a)Uh.65Q`y쒷r|X $Mߓsn IS>]UqPkL1O&Z{P}\;VİPxN`m)0n@f;ӖIvRwJ<ï>F`h~Tj^oM؊TGxݱr%6'TշU햝M*IRy{0 X584RU4 7'˟ULUD'y:]r{} r<y:ic_ow$&Ѳh:%v;dvk|U9Wu\Q&DQ病 =b_R3Chmǰn2:1w={ qP;K]* &U;𱌏;Te2ti&$|hxc*]s`՚zHā_;MNZyjʿ]|oDͮYĨ0+V 7Z(+x8-Ti{ۜZkrCt#ռB܃5 ,XHPiYK*}p,G8+Mw^u"Ϗ?4s} pv)=V'Wd =0?}PcB?( ۸/4#Ɖۅ-M}a9Z~Y.ۤAqvl8I(IÔ.IOT=PwKAsVW4 d(#QJCBiAvwV(' g؟A 㼕G*M Ldצ` W8tg9s?x$ԏW--ydy"ug ;'GL_|\cׄXTI@|gZ"6LMz".}w~LUOO;C 30!WWH(A>TZ2SWC@" e]5m\ EJy5(S4)>sW9ۂ,37Gjv?.>%<*("3Ǝ@d䘵^U%@GBDBOUB-H[|^4JN$"UΟNrâ#;1ڪzPDZô( U-^8-T P|>zVdd{DvY0_aCYcG G|v@Ay̹Ti w Xܟ8iF<>tOc4Fb.j,Oږ/TxVL 4)2ٻudt$} QBm7, mk]0> ׼U0I0UUC+?;s #O_H4O_9 5{t[Z+6H_^ [TEV`l*RE;am;$e 1&R.ژҫe1L"^E!oGǨ?zج܏Lt,2}h¶qmO)i:ѽ>Ni >o'GaRᙱ/`˃GmյzJ(@2׀9>oW'42ĝ&r"Hj3oNճ:qvHLh%Ⱦ Q;KbF@p>(mpJp),gĄ`yYBg%4$c:Q]}tIFM\/T *1g2[$+&UIbVTr(.u[T9븑Lwʩ}:ɾ}>dT7asm`gW&U/T#Aפw[W]:M3@co%鞼W}4&CkMtP"19ͽ h}\Ƶ&|(‰uSTY^#:Y7~R7h N<8?KS-bkMz xIrdObJnWrW74 &Ư5K (Xw[9ش#)2a[ VZf|;` f^!r&:&_c#,H /'i#*jsi=)VEυo` :fМ(^Ψ/T}hzG)M,B:`]obf( wrQts_"P̒y?Ʌy^BO>z>RIrQ2ΒxLrj8eT^@W7|י1ߞterT@'͡|nc,o h0(a럣pgLSR :6c { d'L ϤRYmmS8T /eB>b;?"t,Fw0Fq%ԥsJ%v VS$k˜sZ՗$gvH"<1B\.Ab+qX0u7?{s9ŨOwg[}1TiĶ:::L8;:7s]ikq F*a9;jNz])?qAMIM>טmy% ]zZ56ĝSU;0zeEƣ|'Avh|6mbWgNx&g'0! " C|XqA?|ܪOr/y8`. Id[u(ZnzytNL3i-/+AfJ=182n(]w  tTZk0`GHti;ɟE"`Ө Bmi7ݖN8"yc{gz?OBe̽Q􍮨ssF[%nxzg  }q Mَ1Snsej%h}J,oԱE~ 5hGt7`,ͽ~%'Qw{Y`Ci͊ęկ,4.o[*WrUҝ ` U)0Uj:2aɭ0ApcKrEp#UT?7@5dLPz'Q;>,^ 25!# :"{B JH۬XCy8(sQ`ubsvK#v㕽s4kD}W[+[/DQTM'-k wav cded33;4X[p  $U(l/qu>t[k_nwɷAC`J@í9`>)_)9H7 k2KS ̨FŲT>*Iq˵@5O2JgSzCj%20|$Zz_qQdLn0x_CWuLMTl-Y. ]]=qךv''׵0<§ E4ii42kL ~#E-&o'XHbjtc_I/]qAZZQ$VH76yXovv&@}0؜xk5`Ǚ^s^u?g`܂lt&\%*>b9l~*,A ؏:SĞ 5_Z$|k H, g04^ye⯦ lyzp9Ҽ@'MTjm^~щM`R (]w6@!>(gv9(ЗȢ q5&0xz׺$Y"WkU>Z _&Or9n]ŹEC0;!Ovi\:ί|uϫsS3`ϸKxnAu6=/tM{!*DF)bsXq.xɚg\mFGl iϲ"qO7g:=osYpu#4d(F$W:]̆gyP9xFtkT6 tPJ`J?= i@yr~ad|xF"dOLpѠt5vc^g\ ċuSAK[h9:E(7FX>3`+{Q7L fnˡ3 cM->.h95c-Dd}Jʫ+STԸh"#Gsj ](^R]ZȎ*yЭM;LPY ([cwVn*<2%ܷeTE- b>{'-_>?5دM7 ZbXaK/=~LԨi m9荇+wd`eY8Fk:OkЏ _*T,],,ӆ3P`ⲷJͿDk@"r'dNNP] +Z9OsΣ镊٪ #<lp&t4b"{{5˿VZqLp-WdФJ50dpe o!\ M^;[TAx W+QX: 1ĀM3?JeFΚ-tC,d*Qnʮ]?@֡ZD()W 907VT;g|y -UeeկH Y\8#ěnNiz(TGҪX9NN/prW}3,w@ Oπ^W6:V.9GvZ`^fn# )J Yk^# ^׶R«,"Rc efi.Q+i>F'ŞS9jGP~Sh'K먎 Wߋ0I'NL0nMouLrvEfcxSCKFOaЮ׶,7E#%3RJȿփ "?x?)15 .}w QVVSX6ySJĠFܲ*PC%Y%gwP߉|DJigчLld<,G A~h(K2as9˧v ?)wUwcYj %=h [.g;"$&UR:M5VXCqjNnTb~*k2924v!Y1b-߫#?V.bʔQr=!*`?ȠJyݜ݁!@"φ97H.:i9 EeY 0Q@`a`ځAa6 ~W&P7wgA\% HkJJ[Ğ [t zrg|FEnx6"a8Am^|A2*9!^z=>"$VvW_N9Ny5Pf:,P~Q;]Eb ] Rwo$q T5Qm$W .Իppey;~Un-)}ftPH8RǗtR$?.>Xb#?Hs6ݦl3 ^U|d͏XqX*;)Nè=F"Է~j(tr5HioH+FHh #Z~KT_7.h#d3F>@#+\]+ĤhR'.tbǐ^gG&xЏYDz_O(ɢ/O9 C?%`2WBâ 8܁ ($ 'QV{lå])!MmC^] v[6ue&ۻeȗ 2,[¼)`:KhVaŬRB6L Ɛ\eK qӜ[ϖiCt~;P?O^_Ű"jLvyR0%Ib}jq(]4mݺg=oT)Zk p~)_d'^Nlm+)*PaY"ԭA [^ AզZ+S5G [ou'? 0mYѦnZҋfoXEkv:gBcCzP;xe:tޱ0׳p ۍZﬓ- []oWv[SЍTzEݽ}! xTСnI mJ4?iAȁcq;~XQE#&# _9{kw!䫯ZωUCiFw|neI]])v+*I_5nSIl+jUXlYq*0P1|jg5_֔#5Df^͈IBumm.,MQL^/RR^.HIֿ!IM2y.0dwTWe_IR^ ս$јeR9)?uSy LQ̭j,LJNx,G#%y@AGJvA5tBc8(~`)  IZ+ gGVZOتdH4Ϊ6&RcZ*UXlX 33A@n $XY =%1⍔}[V~|]P&,9R@J,|Jo&2}q /r |YYCp} )W ٿ݈ "ԒQ/U30sG_έH^,`Sc<בI~^fKmnā~éEhuhjcHi0<괆P{;',!ú7fW`eL 'U)c'`a Nn&Eshtsg|CNJIrekPlQq5 UoP޶8[mgZ-|ܔCŋs"66DEIWiM6 >5eS>abt4e+>fURWH<׿Se"95 @݉F֙iQ[>d&N#kZ֗l>#=xҜ9+,qk|Jm6q<:Li2*jy=/*< Jyz1cᕖ)V8罟-rxJck`)(ֳi3"Yj]&OZd`hҲ'iN@,5ǧH2,j<'1?Ċ2#g=O|q@@œ?=?-;/.K9Qy4HS AV':e5e/C5~` +MH[.'zʶ n5 v(Ozi'9Zݜc/;"es fYN[@'#Q#ͭ|fb_,RWA9{ vR1\M TSxj쨳mଆxcf ~탈D r)DPlyW`"&Ik%lN4ՔiK$iΆ#xÈy~YWEu/ [>ѳz ߐWn<cPRTf*O][#B==^F˘4U 7 :;W|< aZPm֌uLF>9wCU?$cQ\=rׂ%YMϟB\g yo{ࠒ^]-c{/nk`]kwvchfZʢ,u@jDy.Sv0HMqxX?Zj0g ][Y98wFO t)':B=Ŝ6VlSRh(.ظT <bΏṬ@K5%0ΟO<;S^aM;rQ5m+;Avkg)T61[&E1WOI@: Cw&xđ8v/=bBp:Jtŗ]FJ6݃(GIضuՔMGU:MsxQ-A9 I+:S׊pv"U<8y5ȡK_od-Ņm * -9nYȋE/GOD1S>WC.yR#E5LҎ;z] N"][L[ȻZ ej ¾plWrNOVLVBbpmh{8!M:jHW,-\qSHaYdz?ON~lD5 omS %><6`ƙpQCa~m5/R%NsGu_2Ƈe`b;CԴY!-vFx)2oEXNVѢ"qx?u6$ q0tЖnӆ:^x}A[$f#: zo"yjwq^& 쾔ҷ(Dm`$W/n.<aҘQ| W&RF^E8Ⱥoh4!g]{=mL+kc+,v{?gF@S𺀑d]qVdϕml>?f1g$P{2`C&ZXjIm- tStdyl 2b=Jkǘ9xq~N54d }{* MIlX@@Z*QgOce{#q9]uM8Y͋ 9%RMI^21v(,Q=3GlB);6Yi@cBƪVO,QZIxTTUw,ݍE::ݎcPMTWfSN)1K]s9Y*H$+<(ZM-EnW]'Hs7Έi˩(?]SzqcF KN kKTǃ2(NToMFls@&9=ސL7c7tQF3$E ʒDo5x.Yƛ+e@9խV+C&JQC[K/kW ),wv2OCr-E딉P| -nq['垆$٤Shp \_-E#iFYv٢iv5Lzo5)"l [oӜ3| öYxļE+jzcZ fNT-f̦eΈfEӽX﹦=s/QK,ad&3p J4/Gp&ohnWve=EbY2I+ԨF89<'A/C@˩`ߥł6{{6#$) ҃^G9# K+|Q6TYyʠ߯.m8 w=.5 T>:x f݉I;!fO8gr as"cqw#4^aሸIkS }AU9Hq]BYMHa/5R =it {] V;s\IIʰo23Sz;Wr2BlQ_=KOV I? qIʸ,HF:6&̄xp:rH@ȤeXw3U-lE,}&dRnk(W ?ÀM2Lp63^ZJ8cuK?mHUz7xwkrHZzV od:hĒk\|jypl#›v;{*PH7:PV03Ԉ@,qSvygOo-zAFt* 8dt"LΩ}9O=$d,:35NN"SqPNjs2:M'՛@M?tZyLi)>zeePo Pl/놷ViZn@%EJK!`n%EI:`# Nn?Qa"ؘ>Pߟ.h|{YyUbSQQ"ićPۄfFn* JT-GQ4"T/^Kr*^ Kh"mSB^EX/2r2&hS}avPĺ :ߙq$orU^h1PK!:B{p-KON#G&Wa(bd8gn}R~-TONvCmFYzJ^E[^i^akSӢ#T?6CZUZY.I청D#,[8$&=) rY"Pڀe>+p EߒgHZgIL/쐈shٴߎtX5ۗ$;h%~ !4=PD>c鸑B>דkMrF hVJ\XIs-6owt e2Ӈ@q3d4#- '=r#=m/cpsP")Q;&R#ZF*kDL~W#!twZŔp-*xg&OL?v kU~;1Dvt*^720>:s.K:o:4Xus葶(<շԎwOG4oG N[7"{ܰ1pUoeݢS^b*βECOE޷"!^yՙ ˪A1N,H[*_bNQx\6I`K I*_e<6X5VCX2W^@!cdEP(^.]v1 _N&5O 9&x9’њ } !OS1kp%ߟX! qg=9bQwdjNYs; 8d0DІ'Ҹ-;l<-2g Aک]kV\g-g.E2Ih7h#-wHIryr u֫IqMe4prTx|[xi mܶ4`^{fi>tE2 }}a#OnH;Hێ۸) :Oe^i³J۰{2TYB[]ͬY˟ d)nڐ'|ker!d՝$r4y t1BW_]Ga;rIU擒vXKЌ䘆2ImAjaƟfM~ܙ?%߇NN)cp}C=+ L"sQ,F3[CBE&l-Q..;#a|냨_Td*#\rW>U5aejMOuF'F}٬9pbTLWȎ*;Ͱo{keX#o\d:;hL@}ӆ-Eowb'@:謸E8ȶ U ITxEz-:ĭ^+[P n;wR|J~-C㜏ɘ4Oku߶+d/u[ϫ&co1W|cm֑/q h+@scdw?Gq\iy]˓^I[U`/=/H) ¡o[k\R9 [*T){⩟/%?D'),.=.ᓫd!aj+@+ʘ'$!"ظ\m7d@hG 3:3)ai|PlbʹAIBD'껃,o%}.7,g(f)kU6\͏;>߫]935cr`dCI ʠ]CM\l' UkRxwy TN5X]nnn_BظHWNZ_Z4)FgH|D&s#9ޱ) #T縁wN7 8 ECu8{3>)u'􃤙s$_6[gEY +kQwYUѕےja'omOCL0đjk R1%;t GSU8OfЩ@"dTj0:C m%r'PItY&3_`Apxu܎b_/Va͚.#K:/?^JPzl[lT~C7ƍSat+#9J5JU[.;iCQ42k|c=N=59E?Tw3l ZHh^KRSBlH6፝/$RJzkRe}Z)ASVth"`2s bjV h 6ܞ_w̓Űǿ|$6rvR !q"ջ1ڊ;\b)s7>*kMfURG4L-(e׾\UၻWםVz.z hS=3G ^S>[qN:܏LӼ\)G|``UD`t\y+V],oªiN#a@'bB"͓V2tQ5P@H; a)$vPЁΫL.`cᶚBV!'Ic%/OBvH 1B@Y!O+ᆔ*lvOV56x ;S+FFHjkgQnU~Bdl{+%o^7[a?xӃnKFw <7vXMݣ1 mfiN%d/OÝ2%;2bU<}$\ț(H6V8x;7ʓAvqPQJ2Q P)z-Ie;=Э*;CЄ@r`cHFТ|hHq. aFP 0c`sC< ޲`@ );Zx] p96)@DeПLSNr/L6E1h#>bP 7=B g!kwI+sy3,p\Pwm.@?{[ԣh,9+=Z\f32J W̛2 8ml@1EqU6-PKQkpJIc@ U}- wЦ #ihc4Eb 3#}7hW|]M ǰ䣛R6 JUQͅF0ԾFsYI3ov59vtG2R~lAY7y13( +_9 ۶-|GZX:ީˎfK7M8v.1J_ݜ+62iUpf6#/Rq-a RAO[3F29Ў),@эqaik\w Ud7P+}Tl~]G;1O`ek }nKLOOƬa)!D84(E a>QT,LetA‹楛eV4~l-$+IcjD }ݪOMu9~' iI6E} q5BzV@`@| }K~;Z4l˻#eagR0=rJU@v.-'n{Wf+C5hp)1ҥ@-b_d=D}~Fg`_6!h 4.ݡ.I *KΐIYZf*譴xIq KG,Ƚ7`PvX3Ab>wVB#v6%rjQ^-0W$mJZ\&>C@}P[HlVZ5ىgR==4RuK48%G_c>W+:;Fru{汛?a/=iuCQ<D,ak>cᆣ&tL-rrfx)WƹЊL"Tp)ծD}:)m.H1y#pݜ0'u]eV&X95KD`G[k ҝIM:B KXHĎ\~ϵu3Uub>&{[h2MF]WQU b=VhCAqܭtfk%=ͼL~:'Dԉ+w+ބ u_;<@Hw )HzeEk o1AXmGs 2 Y:C!jt=7 z96cPPx{wD-q6Y(FhtoYA~)Tqr}p ",^`$BvU7Cv-D& 5xAB)2x[JP ?{Ad6DrkHN?Pó9%-w$XeX@CQigaS;/>&7Bxo-SD0[$ȥkHa iV; }aW쿹9cwIJU-UD[M*4gў'c'cR!}'X2l4R j.>e`&Cds zcpXeb fNA~20\Ȫyu``iBf@#LQ]LpCξ2@Di>T/L,;qڪ"')%I: X=srl)J@=f۞ɻyxGrD<>9 <4K QYéFܷlu 7%9&,) Sb#Mܚ 抅=ps`9#l[hZ+Qo=+hl)X ͋u귯&hYhE^1 SbтEs?ߐB: q'Dng{E;\6'* *bQ-!tZ7iXi(cW?Fn0 ]~2)]${͚mѫ™.eBS$O{$'Ey%ى|1&8Sdt 9YRT4A*#4O4-%3Q5)hp ZI>IN ز!xࠚqo>6?S EX94Oy~V̮NI 6Ip55ڬcPA>gx(f˙ji'Pgݭv2`8tēcuK *t5W~><-#'K3cfT(D/d2 WIf lIxJG& |EMMȩL# .K3%X?,TBu#|7LE`/cS5K7?XqozʀN{l$M `odu.&uWdV}On<'](`vvV0='ODG״I{7` k%vKI׆2YvSOmTe_͋{݆|S>~8LY2˔U)xp}@9Ƒ1Vh\.~3Pz3$LtXOF Ya|b %ӱS $lfMVlVnO f˗q%N"b]UmP"ׯ՟!g X+TU``85z3ysJ6멵 ~ES шwd ""[|ny!&˂©!ib_x\.%m K ˠ-*WQyLb@LJv78`~ h1TfTրOem+#U@]H%wpSroA[p1q?5n O$=bo-b!^~UȈFN V*Վmpp\?lh7Ц~zZi[wv0R1S>@4=WA4oa+ Տ'ʔksջ,ݨRC@V)O$3 IFL&ܚ>їjb^HJV4`}~2tÑ R5qE 3!oV8됊sN,Ǘ 8`eVkp6^ywUf- Nx~,4U8 oA'7&5;`3u Vw>WCd>E|PlXRPmFĿAMyz9^w_`՘W&\)C1s_EJ^!x,ė~+&]'.VAes89Yd։MͶy`&Ofj=g.;'b&V\!sx9+w]X@;6 qFѬx^T @qe$iM呹냖1z\FCEa\mG㗚'ցš(u^ٲz?lCa*~ }nM4շM$+ }Kߢ YHArd>+v&gÿi"ZnM1kUHoxeV"4cz44SM!h#YxɈX?K\CkM(ۀUVI*[F@~,*0zaoITFg tuח7|"o:3镪cωU춬=a*Xd߳@yᩇ; շ)!l9d_CX]&Gg> b1VTx nvi6MۧkVᱶ)H0oޓVꄮ)S;>t-#vSi59nN:HwĆN%uEkKk16qsFJc#"Ӻkʬ s"#!0!km9oDZ"ώcf&r zsHK^(S1`@Կvl=ȓkkw9k0!5 KįͰ6 n" eà5|B83bipS*6xUEs_hktׂò9:b[j@L%: :p(P!k-94֡"ۖ0nZ`K}aH¢OM'LlmUxvR:ǯZw.{Pn/Z׉kExNh b9M$4CUR*z6\]ZȣbgGJ⾽uPdV' itxX\[=4Req'?p-]jZwa0>_޶*.BüHMw"YBcC*-(,* ؾF^́d,4#q-m>Uk: L9d&PI_l.8v*Wː!?M)BPXoWhmM1h2OP gxe3K>^O]ko@{Z8a\ Jyڥ fB5+rL:GYp9{Qh``Tf%;=M20EjѮ^py9Ъb\wi_IQĚgS:~o/Z-a, s=i Kxf=0OH/_5F|cR- 1)=A9'-'_o9" s/ ؊*Cxq6eM]0\U~VKpNC_ݫX#sELBA-#Z=lPrI`9`{heB P{!h`}ۯХ#ƃ}d%lSog*HW\[0+?Y<%a(ځ6TU1.͜u F-y೩=gAaZ*LS.Az82@H餿QU ;z+T^v%}]KO+#' rLir#ҩ_Nn׌oAW"= V$]}LݖƖ2R;r璮y Sm ʥy<pҋջm+hg$y&19O*eF2ĤBZ3̴3IX|]bV,k,۝B=p@a"jv_|ncqN) @F, ̻Mkӹh.+g'*α٪fƑƤ=L@OH̞G8޹Ypes$a'Jvʗ3E7)~'!b.Ow^|{OO5Nt !NF[7uo +f͞ā * 0*\F6-{>yZ"=%:LMbtY藩HG}q^$WpoE]rR; AL~Ѳ`lZW<t~X,z]䡥Ky@]+w>?+^H p7HSS\`j)8p$VTtK65K.;#IN&ns>EێWJKay2y XY&V:Ovq,@[#Bb> PJ LWFkFL>! hk[`9g1y|O^ pnpo#3}"ɴ^¼Ri/,{>ݴdERb.TڍZA) bQu&=F Y Z|J3Cŝ meC!2k/Toy<;b L@+i)gro9Qͷw_~][FnXHGp!U_Kγ\h 1r"A~.G(B]+Z9~n¼)yu3Yݣ%fWF̓# (-x7ooܰ2TU'"IjQ} "!oI )ژO٢ Y)ʒxui.{Efzc$!+23 Tt]?2OMYPZn5U Q".,S\  )XdWonч!-zzA&\n¼_G$H-^9E3nݰ&6+V[$qtӡ@).LY@F|a\ϰu]k$j&%sL]TAqE71!Ha~a_w0_,ɺ*Z4}pN}&k2޶W=(XH0gNޚ]su%ij~H 6+ۓ9mt|4t^/%BGm++A-X]o@1˹7]_~$ÊH >Bg"P⡊h_o4/ @&umî_8!S`E ˕#T$艫78v-)@k?-opfl:HǗHg`3 ..NO:6/̫E9ת(piT"|4Imt [keTu,o6au`ji,+F{G*莟j{Q$5u$~}`4e`#;8eu,E~hBB}o|^;-+lIO/2X{/I0now# ra ު^rla:^mPtR\f'+fX轼" y&!z@Em"ϪѴ;Q]ĝ5&K   5s\ܒw͏FDf۶1 'CN'hFukd0{ /h.?-U}~ydy!qd>$}8g"MR &g"Z`v4SSp|}rP jbhO%ɮ+\ێem5B?IQ*/TmsX 9h0]Y:H F0x@^l GCm1Gh9ǡsFX~~|E ުmW15L~~Hm|YH~(%ͣBdULQ0 4$]֒5|BdI_*RN cGNq8-G}&~4ՉAMMTQ)ʮ\C  4tˆ0Zqtw =!eOJ$F5q}M!{f=J/?Φ$Ҟ4<sq:+ j~mi{tӁ{h%R_dkE$'*nT(t9ouncBZ;"g2 +7&OdC͛ W؀66;MwrQqK܍e حzj/ sxg=bD^f ldKu7\Akn?.IpZEHtIddھnȜ߸BLP;YRJtZ/\sT[vUFeNo[`ŝA$_U3/TV Esyb/Mj%,n&+ fM`f!Gm\z^|ɍ SrMG`C֘P`v:xr{+k0~Ċ`~=4-8;Ǹ_Lm 2R3.&@˳e^XUצNxHB6MNiZh'NQT-]lSR~84Z݅ I@A75ɸ=` P$goF[ҽ_%6Z/Ebǽ})^о(tK|oX%(%!QHAo7qq;\Ƥ$Ѕ;Eya}(Q8H"%jae\O4Uw)Υ |w]+sӒy0.6@HE`GH@4?=(-(H۰&c]݃Cra.% D.l ;]N:1A *L7\TY t=20a0;ó/=98yT^rDPԮ4){{l4x-`I/߉l0- ~2ڦ-0GCe#{8+=Cl/#0tO<2@E ȺLzҶu{M`Pdz-uM'J(7|wA's`G8ݣQH쁕A@ֱ=5H*vBU?BjO-X7(7 ABǛpRoyNA/q^2/FŦl m6!pN8e5濞plO +{lQwo^%aV^~Ը_T4u@Ջf} '^1| M֖,b{&YRrU%5ΈX]~`I0"$Q p<֌aJ4yD3I[ʷ$ce(Gʬe/5v(I.D:<,/L!0R,?y֗O ^$q?f8<6mr\=B~yTEtv#Vz& ǢAq,,IfVK˹:9ukْhZ٥ 31CD X=%jk>aԛɍ55Vsq=e(Ln3;6{*>@kGL[훥Ik$,fFFk?I~Klhx_Wd 6%f5Bl,iC>:25v4Щr?16S5MJP`{]N 5loKk2l2Mc1*]W2(77mqBzO7)XM&.cЕ|DI(joړcvum8 b, j! }>Bl+mTKw=$ ؽ\;Z hJ,F98*r 2qutsKa փ/X}\nwNVJUJeKgL UO = u\sN9t_Y=//`|Pt@GX'#Jh/34}q~I h |tj*qT|pg.[%xY^P83#BSR& TJzv+6<ԏz{8m~O'GO'%?N|iVdq9ћD O8=uKfVڀ)UkkP YaE(%XzDJr穧/ (`^O빭rmX% G &auڝ,Qm.z84qm ڸ6"Cri*jf@~y59;˱0\lt*Җ\ƚ v.%j ݳtk9O,\zoX h2@ p>zWcGg~;4P~@{:bda<((9yD<kނy;Fajc' sZ: KHiV|3 Ъ'`kqJc,a\:q=n8Q?̊Ss)U7REFXK*5a;V%/HKO pԡl 69aC/r^+(pfBZzO[8tq{2sP٨%/݊PI|_NOF!ڰþ(y^*U m)-7&mY7hoE]rfOau7`!%C^it6ҊM[p$*'^TǓ-asBJHdSi][,;xG4M*!gGVr ݵBs,-> !)r3a"֥CH| lcTJ9d!߇u$71SgW] pV\A 65s '>*& _MU+@EieM3].@F 0ڇi.6Dq] Č~S|z.I&zur9ºЬP0w80' zCp[wFyxʞ[|Wߝ|8܄+-${u̗#SeE= i5TLrUŅ߳0Ұuɀ_57 ~DˡToIcӒ>yzDVYQr!&7/C=bId%AWktZ|3Wx(w'{+Eciv*V۞ d)jT Lڞm~f t69ߥ0"!TTɡ8 7D 2=2ڱKtvؤ?0HK&]:VVzi"[9 dB0pc-La6/eGh8iVu}eEmO ;=f)q%Ɵx2R6v|W{y8"X5K~/[B")rmت\O+ H "!Tt/y .~oiTDQ@xPpTE8 X[I]2; C $$lPuz"WBnTǀTUBn]/3-HEaŬݻcwLCj APZ#ED L( "f2tWy2ީ)VWftVC1&/zȖ.Kۮ T͢A9_ֲ;;KщMъ3A9>1?"[I¾'N\A5zmeJ?L5c,~ sx !4$$#jmjSj}Z yAi_!dzd|`Jy/$e1G.7{1Vw?H\3|5!~!RnjI8X F1wYZ`,`eX;LMTD ,HyRźׯXٱnA,-Y@`4JW^dT9a#W7p j}xT;1RN?>4l\S{.j RuݨޡFjHA?:֊YrC?wS0n_ A~'aR '[W#BS 8 X kCg~R.IYwfIPunczyK$YG)r%h@U B]ڗ*@n%h^0b$,qC/Hz@@S2/d2nvDvQJn~)]y?{_F9_B%Н3r o]Ŧ2 2X1ptq#^DT?ɀ3-R ~#ʲO(WȊ+CM<qp-YtIJzE' KuOfP)4 s#?odگN/=Q_O##KRj:"Eô4&}^¿Kt)͙藴[k1c9YN:ZVfKMd渄OFeys)Vن8dq. ^<}J[O| %,u1 O A#dq_0r0+r&}[uXz]:V O~t CĪPMgKزyj︰`>΃l"V2& Wn6O},i.DEIF8Xhv޲b8um}7pz+.Qd|2Wk=cń&a}Li=~8_Z`N\O| 7?k cSȏ}êu7"#T, iO3C3I7M4c@ăJ{NXDwq|2ޖwI/lDLwDB:ЬE%3x&6U심\yfGZ %99Ss@imZ3m;#N_2~N7nFW>Qe$p.3#3y:~^c5GΕF2i2d846K.-rХm~v﹥$P_ʥ3XOֿG!7y -: v=\s}IRRm8kv![nu+ O,ͳh6'3HsaYUFrY0. 92/U;ߢMh# Tȕ,;X1Y٘MՑܓy7Sk|GK"vxnl\,֮hFo usptӸW.۞lQER-G Q:)Jol& L#YC5#)OSIUڟk慨=hesΘ&O'$EjܱIؑ!l&'@Uݟ?w)O~8P,I`XTRæoϿO853nPBd:RGmJVsD4C!Kdn:?%wf(FHy*߷3inZ DXэIujU|b}Pq_$#ט`}WF$w:vmޡoa,1a!= >w3pWwe")R^]xʙ<nr$@̚t1t\T['F+NOgܔs僙m] *6"._r?< R$@}1 tŽm_Z!(՞8 5` Wuƛ9vUYhWi E6KE-K%UbV^Skk^I$ހct;Nj 2 )3q|a;yrCHf;szD(2HmEӲZpSj)e>{ ~oY7]i5PNop_{x&l݌gp% 8lYЯ4h?%dl/D(?'\Ucp*ڌbk.\,Kw>aqZ$ 0xooD̿5o(yYPÞm])lGF3Y[d6oMdN&j? ]8UTZQ۶e>Z:vb r K-Th{|(dFo`ăA_*(=:~ۅz:S2_IOx)+iH&x"l M*d|c1D=dx28:j&?IiP chJ+?-QhijOUs/@תs[:6_^r aTT7 BYUP8]+?OƋelH @?w/u$JYeRK"QdNqP J6e M Hw/0A|—HVa{#2CplD3`zT1 sa[/@@9])c@tSA#tDVA<·A oa<,ğ(]R$&|]3JKyn.bnM*Dr7J)J 𦊒cV+"DGۍ$*wDRF/O9죞m1<)?gr1մ0c_ͱ x~\ Ree39N@6t+TKH±,¢mj e~oyZ>(>,Cy^~'H ~@z5׎FbN`M֊XeUlқ25#5\#um4; C4ھ 3LAIknٳ9LбE#.G o:'!]kj`E1}C1ᄺ}PIr|JR0u@upmk=ȱ!՝PۺMseE/z!'E,A%Ur5: #l=NБzjcVKn;^1뇍0Lh@=dž0jƫ[k&5U'wjf#ݎSR~=.nC-u hU][8Sb+uSvs쟗[b- lpcD^!F17<53>f4!p ]qt Ԍ0$t=^V\cZrZeB %_*ASnvQ(#c\YaӍwLdzւ9i GU]≈m @Yץ ۤ|~ӐU jn%wFk#󳲷s_&)Y I)X~z.Xe1oX/IwG$W}+ZR4N*Kmd:K;vI@4; I{LYbv3C?!^o0kR"Bj 4OZLg@_&uYy&D4Ym) QLiS.AF/nlZZK ) d7,xM|y&|߈H6Adl(v{bZ=xn-%x2l:.I:?[_L>>ryH,Tߊh/:PN&90e :rEf:vd毂Hm2ck?,y;1#. \W_Kc{'.+4BSɾ1KE$(g|h)eC>Dy%?Mu%=sR;h YN0{k^3(gN"fJ 9%٢ˀ9w!ENƌ-)_}WOܺAWXf2@&\t/9f"mb*_7aV76SY1nٮdM5%!yI_paJ%M쳱b؍s:!'J'eEioW0ե"EOg)jj  ,ps=;|̯ѽl~o571O2]ȆB6~ZB8xߩ4=~k4Ʃa?p˪_u\ ?xѮ SR_d2ΕjQUjV>OAAH`ʨ#Zޡ[XNZ*K9 L7BnX< wr "Kd hb;"y{e;"\+{r:QފmXs5%Z;PgiSfמxQG v_J6&s҄Nph+g#u?RS7ք";L"'!)1Lc*Za$`K s1Kf$(lēz vA= K/S1MALo\~?Z4EHw2pn>z)m@pXı ud71}sC,Ѫ \F"?*m=WFEd[&To6#ra[K21@o56nhwLDłAeh[3@p[^]ݶ}Աb 7{&{=!DJ6hqMH5k&ҫd;#Wcd.K|ϛ\ UBsvwd\@,~[(mq8)AҽX4p XpsbD3JZaOm  éarg<ņ|rnGQ͡s $)fF`%<:ys<&8(ao Rq=?y>lcn]-a}sb &|0RK`*,3ݳ]@^D,iiJHZo@Y^Ah9VSor,+I7he"}Q践h0*y5nrtO,D-KWaPݯlGc|<SdMvh=s '?[rcʤoLVjIEGa*x/V*ژN\2hp&癪/O8k\"tDA |wu2Ҷ@kCCP]nfh ~p:>\Z'1#LڃE v R1G63{je1@^ 9pЎį O,;?h Imu9ڣa.oށ:ף CRrbf5wHO }QAtaLSᴜ$.;(N=JB+儲@5~6 @GG5K7O`˔ޤ8ķQC#B0(O)S:7r@P&?N-'VB-I}OddE`&[!ste gqx(l DIUNɫqO(sp}tp}Q*@sGp')KF67m#qEF%q"q:VM]֫ΖWpHH(>BC@L.{*6+/&]Be$\V[nz\:z^u3o,9}WtNDDѺ%0SF9s5I͔Vx*t)bCAmD߉ÜdGL}_$ 'u!tcX)%PT!H?*̟+ۀ3[ < `hx`4~Fi`*Խ%8[ lmt!yI N+mE4>W}#w**只Iqm1=\{?gk+}fٳ h]u!: NOy 1s>/6 |BSvR+\KaI!?S[ݜ#Igj#6?Hs?]9b*U(1HoH62$oh "ԓ\>&I|9v``ﵻdNEA ;uoM0$EoheHɛW۟4 P_DbrrG\f0+J y0[}S6H[ÑG; IOz>!./}Ĩ ^Wc<ůlzg%8i%_-o{6UX2t5=y&|C` p:pmD63j4,_@XM`зpP "] !Ql@Y~A`G6P:=Cd7K a<'ܘ 1$c~iure5Q!}6͒GmXTbX DmV{R)=6aL4Z%OiC=J}N vMOV%SϚYNsDV/DcBW*}Eu|O \r==/.2韌;[1xiЕm z"\FNQFOd m{+X~}K<0D-#~glq  >RxY/(4#ICA \)ώ!NBE0X/-tQ?4{iX@ v3cg&g/ aO 7`{W#&ҥs)x\dg}ŏks[y3E~zuq6;li:i2E[D“P2z-[w#YwTbrH N걌}?1Y3]?!툲u%Tø.E]Sm=m#)vKh$DϪO8d޿erЩ>b\@nTglڴz~,C"-}#\n-:54-{-pI g9Ij`#U\$׃0QnwkX>t_]vsjy۾[)YwZЛY:b9k}!n4EL@"n瘩K j7$\R.kΑ^\u$/~/}VӸ1AƟ٢M>9[eLyb8D#HE2#"׷ ;CN&Fa8+qw J ~0_%?S3mSFKxTfbYߤ+5:,QHEx>L/{E9{Ǵ`ƇJp|̬޶֙DkfFP)W[3GX`u[Tr.hey1053:Ů]"(>c#*ۭz5WnS3f-iJٸ1MpVN$rOa/~2%e|Y(p+Oh+1%̻URi@lBߛUH7B(r\alH=:WQ~3Bt(mKн% wHb%Ϝ9n 0ԫ;ц&"wsi= HfH@ I,Ue^ Ǐ=3P )\+Uŏ%b ?> -?ƿk`ŨJ3o/G~_/K1F @Lƿ"Z`N"i;4 gr9׾6򥿔#7tˆ +zW`U!#45CݝͿ$F|vYVY3v c>lӛCMRMdiXFɺ\kUSvPב*DLͅ0P[ n <ƥU+CJa(NҘ&йl8 =>0uO%5a0 Q~'Y*^1 ܵ#UDd3iމţYY#S, r4b鄡G!җ (xX:rHx{yO8:CuBm~0?Ų6~w 3uMMŠݙ2O";ڙ5Tϗ*v-] .:˫m}gWEO_ILJK 4)wv*ϕmTY<`mEܗF 3_5S&ߊ4!PMK mxNI J2!%ϭwP5mZŃpľJͮ@nUu|I\ᅬLHh[+mzw5YW6W L^ˣɶΊ…gϰr GqHFyhPzeٓN*xB5qehEi_ 㳌@6GZ@wS'X笇ҽ$aP}eDeAn7tA( E@+PIg ݹ>$l9Oyᠵi&؋1!e KE%qs p,)C6Gal} QY}DMD`ywU8B[pUYȁ3M{n~PZWgbk }Z`Ć>3C6r|CS"ZRVw%a~}p1^&)$j/kOѺ=}19$bQ"s P-vO ;{K{3ADFP5L%7zxI[T/ݍ76,0 (N 7ɕtݡ n\3_l{HX!%^Vwc.LOsy7@z\U*GXDp01?F85b4L$Ks l/#܆Kcl5<\,$@8!07ϫcjdJSppZh]үӖaax̽LlL Rpm'c̛,'$:yDSG.I۸Z,*zWh^ramϵv/>)߀hZJ$ ^W,-' Pk$D{OՁ| xgpn*6lp8A? ʶUUu_.8$L 5$ֽnӼF Ͻοo {AIKҍnݳ.P;*POjq-jwHcԋ׸7=DaƓɄ4RъF%b#>6~,DӒ;70iڠWg]ZtZ^}W1B:Nӷӗ t|@C lP=4`V]6o$368$)8XR| 8xf:7Rq x!6[jXw-g2>=SjCJw"}K]&K;U1;O1rdZvN}7 Sjr+F#iyQ>u"=Vx H0w󦓒P̉ t4I"T&hZ?J'כc>TBEw }&尡nȲfzvr ܵ㏯P|k afqOVٲo^?<aX|(iz9 u'؋g'NrZͭ^񦴊ۨ`6+;aLTDn|xGab=+IQ,~<z-aμaU5\↲7űlwaJ:bE $#).qfu:6A5 ܄x j|jJzc8r_iÄkAB'uEa$XX*)~@i.dIlz\lO݉}^!rI$M ~f\p3ڠ)L`BҺ*(ߵw`*$B]\ ߦE@9̼ O PAN/LQP+.!)@*a_@~[ځVTuKׄ |i0 Վ#F:g1Uu38mZyUr#"|Q#r+"ڲ>9bza !q*g~g0fHaNkNluHTFbVB OFM+CqDY\A; jaTi}H}IÜzf4~%SeⒺ?7C`={qK *#5NesvQU˳;=v MO2wvd5Ԓ&;R#g۠:ߩ|W8*2"=-)Q%T"RK 4Ha Hwm( o,h菗5U3E<\q {|<_;| iB%9:w"X,4"ǮemɈv+ uxCK -d &G9CYEiMᤒuVss5a'>?lnabNa 3dr7)2 J!w"cx<̖ B-gH2ǦyeDJFQXkeU= *@Ro0̌z ;^p2Бcf5̜3$fFb'':e=xf=ͪك y >miCXsrdnmBoQzfֆǎ"c.]"' :D(@uHhZ \R.:ְ [ 4-ÙMrq^tp 4xRBr6v/ş8MʜoѶmX<˟/Xsv#WI#.O 缻,$B(v2܎bN~R)n!*/ӳgR7gE8糁hǴ6bmMT r QP%gz\NQzGK@ѾXS:Mj_ 56H%qxAaubV-toNyUris7 g`ۍ,FeR͌w;TN)W]%YgǼBMŁf~3,1u M}΄RTQ 'ݟB$~勵~HRjg0oSr4TI5T L$"F'Շ CXMVS9=aRs- je-L%l(Oiڅ>I$О".Le; 1+=)˨*k rJ/-8"Σ\3̖]J2z 2 Ô?tq>|pܑ?ϬPs16k&p_4HC)ǻlKf󽮰J[+"E|tm\+z$w^u{I͜/KU;$EP jYיoJ[YPpjLY:ϭdKkkዉzйҩ~F3vh +0 a-t=I۸ KlR)-ǃWFdX3wr ]W};fOC۬Θ1}62q.bmh=X]N#8*Bd(^*ӫxc,0?y)0_]!lTɲW$E0^dSiF .o0 0*P>6\^K51:pN(C)~==959>y'~ܽAsb[ VMJܸq&'o\fozg6T8=mWtD}enQU+RN$ݦ4tǺIms"J AYХU#/l4S-&h4~J9 Yך97j [DK6ۥȕr}źz4؀ uQB'R++b1_l~* I6+YEn!Ng8**×pDCja}<5y1KLCR8b .?CŴs! XUSan(D`)ɺ\7#;!k$1Ly}%> e- (j1_䯍A[ _OH˾է.k /0Ǝ 蠉BS~Αip҈SeF{]q>8{t)նY*bE2t4Wtf~ƾf!O*-e ^I89ѸJ@ƣ;1,AH0eb,mWȠz˾B,@Uœ4;m1+]issO:EDhK|)T`alC=66{$ ].Pt&_-3Bs&UIa'@\;z6nx͏1dk>[o~sΧ !W^>H@mۖb4SzͰ Ḱ7Ʉ/+KpE\.$l ϐC"NuZ0d.byO={=eaPlrh(t=km 1sxЀ ([Ҟ^vXJ~ iF-KZp`_=gaB7'[n r?CXxû'~~Nȝ3q{GEʃap{^?&J7:J,~*m:^R{7N\ FЅgLoЖXEc4(El}X?0=KÀJtۂcr3mىʀ#{f<~``4wģ jixk|'jX~-~GW/须"ҕY$vʜ>f]/asE`Zw ZN >@jxN_}; Q Kgl(<}9pd BX{a[O.[t ~!81=|2Uk+ P }v̒{-c`*jf cWimikmPItΌMV6 `ݔn]%; Pѝ5+ȘUGϋNX:YK ߵt4`WH/5&;{q`'mr*̔҂ 3밎,Zҟ#!$2`p,ZoW:;vюyW!ƻz} NgĞ\r}R4K~s56ڵ1kʪxB] DZA1M/ñ4/B r&4SnQ6{l&ě?0_r)psd$4^S#2y-S:uz mT ty7BPi:{_NJnKrvN*שU'D~0bv: 1D+PcۼKF5aH22WvY 2Azxo c@n j皆Cfw7ŚL@*{ɡ_.iOn ^~0wg;SpM_g>)%m}̃kgV#%J `R87dK&[E~T(Q uHQ'lUiƎog5^qƼ'{x9VpgNEz!DDxq!;KY '`ğ'yVHfXE@\vu?Ł ƈ<\qV(gp2큓K UVA,ΏaPU뾮32')y iyjma&pEɪꉖEaSn~M:[GŇ|MT:sHBY 䤁Rx\Y<>'ќj7&r7%qF̞Dތagy?GUYꕳn10%*^ba8l@ꜯl^">?(J9Gl ,Cw`L 2 Ie=vjB3EQ\A}Yz+EVLd9`^|W3g=?OkŰgEhu?Ke\#|Ԯ -ٲepX۸WBЌhKܮj%fZ %T<tbs[MI_uNe`D)Mpf?BC$$Idy1?G'NK 1Iy.%v>S} #KfnDJ1ox~GURXP@&:߽H樕Ifʾ@G{Et ڗEU۪7wɨ|wʬ)SCR΄cZc[.j6мK]=vl4C8Wzьkl0zԍL"&g߰V5;`yl|~쁨Qc)n>Sk߶:Fpr{erq%'^]I#e\7Ll]v|sDʔ7Tb=zfe2D%H v·LLBk@F+HΆztU%L* cDbØ( p|Bld>r2R ui7KĔ(괦Ӹ-L1IiqtѐC8*+U!Rؘ\ P؟Lid^͜KP^RPt7gC(WJźn`4LNе: :2-ؓ)7ep$Ujꗄq8cNwkGf8Ie5pO|jj6J=q14Gd9Q!NtjsA:ai%(:#lVG(tKOّi |_Uq XR0w -SB|A%ꟽ~2$?abF7ZNm,ܺơb|]<"wA5Z,W"m&-QNxҗ(QenV9 ;5:,c(D)hB^`93d8]{d?=IC(NpvS02 (*P!Z·ր+ hCU/H= o` bУ,,9@HxAӚpv%P2~ુÂ@& |$<'iwm`XJ)%6w.M&ZpsDz+ux|E:v*Ui"DEǡY92<E f;ޑ Bc̚ӝKr\@g׳R:~.B5;7HT9D: 懕 tYQP2w KA` Tw7"-TOs6*JS"\W(ɨٗ[#\!1GAJX7i#;&%]?NeO]BVLFGt<k8ؽp6ǝO'}hm0VKy3 ?0}uJqW1 hA hd++AnbAG9Onp'Eo,2g]_\3]lvdz_i/8@oAdCP<ЛX2R!b֢}59IuiP>Sxƚy:#<[#_Hs/#OGC/1( ׎{ LBM? x;a37t$ɒX0Q]h=RI-%hBAEşvl?K,l׿uC`CG=ܧ בk[~ @usLg\Я:Ord&U\K HCc1YU!^&"A,7%3rFʏYRa풴"]-bf[`lP:+|ƿ7.:.ӄ@r* W2ubS vM7$<2U]zBؖX|T"+V$jHqzk*r!ֿ'hG(_O |̺LKN٨s1)A1DԹg~52X$AqO%o1sn2G]2~_AH 1usI˺b³C8dZ49öO`j~l9]`iHѲ*&M`6; I%tkP6xo$B /ɁHvsnkC~)"6y%ۋ(cp7`#٦ F/~b1sYĎ}I8ǭgHTd!E'pn*6, h( n<5Y#Awgī W#*,&JPYwKg\c*idV WSkmfS,' O N гD][H(?:܏ *wH~=}*Ui`hh0AXY818[㜋~Kgy~"0" Qk[.csy1B/i"g"]dnžX4G-V7QAcl02eU?bm*_]<,P$̿"8aRZp~ؐ~," qqC(8~Xc{ e].qhM2$IDӯєPO\y|a4Ÿia^^B>RrPGs|{?#WA'YQN* 0{cL\| z1حSbMK2x9D?aK[:s:(cˬr D]S~`n>y gkAu)h`:oaR[xYs(C7? t878)Mg_,ygVrkR%4nDlmY\{xX,/8"ΜXV ȸTVλϹe@1,9!:i|F* DW9S "ݪG6|"}%e(,#7+z:0PZՁ~&sm'JQƝBMN<+ByZ][xl\IWftB/7h^M:ߥ[Τ;NEYw6y~2*|jsA!Ehl*㴲S2 2սkt'N<ݭ!TN 03Eأ5r톂k9놟T+c5Nȟzq%wiOHt2.7d0'j M6;|ɏmo mpM= BAI⇼r2})bT3]* 00WK(5+A\RGF H$g#z ~#!ubf61;Vӷpɷ|'32 ѽ^L2S'{"~.'IiӇG*j|~f"pI*+ԟki!U3GQG`E~CQE\V(VrG+'a ˾`[}̓}Ui *_W^"vT:7'5|?[Afϴ'lGZ7guJ;;`ږT|ӛ=.;5*ʘo @ TRueJ`bIɋ7h7邴^z --Z֔ITp]ώV玤@f! =9£|tݧ: UUc=(S9kQ[ V6X5=Ao;GwYFPu0ي*wz_ \h1FDI젬}ǃѬH|!ܧCMYɅ} W@-!PYRZ[gґ<O7~ Ɣ6(}Hx¿kq2?Ј@MKjkOoyWBS议q" 6 A6.ڦm jBC]pCuc*OQ?M' lqX6Y L\ K6d8 X{G\!!zOD\Vg~AP2kWj%ǤdΌc1"u֨xFk߉y)+2oG!mwz[}W&-ӜjYƱ3Q& 2nyX {:ǒ |E}N=qVj3џu"M` R=}fPF+ڻYY;A!; b05ۍ=!Qt@&c٪x? )<c^1qDcF `nʄ=b4HdD X" 7OuЧ&Ȅ寎|u({k{AD 0M!9I5@u8yN4yM;[>QYO/e^B2m-~KS5{ 1"; h@~A\ m ϢnY%Z>@!M1it3nlXˣ[q|\r4;<^~@UЂJ.>ִ>FO#U!чO.%LD%ʯݪ!CQ ;:[aV}xZV4^7w`M䫄,_aU+ɗgތ Tn@m+f1_^[pb7oD`S‘c&HDB5 : h;Fef ^bK1tb7ߌ ExΞX {^> 7F!ɔy+qOt<z gk?Q\H\:rk둕4ƚWښdfUCKRӧspIi22$lAdg)Fh |WroFIB++P_L;%/P B*8mZO?*Bu6._ 1^k$%sZӪJi 1}-"oruOpU4[w)_t@|ƾr2 Ȝ$@ܠ!pFfp)nߠN[@Qi +E/csTq5mMhF'u%Km"[xlJϾ6nnX9ϫp # .gQ^ ӥ3R6'<7Խm\U|ix瑍jfiAR▂dFI.}( S:gn;9UCw1-.lTf6# 9`v#uARYK譚#>r,,+GC@ՐYcC"kJaLFcÛeW{l+M]@9rZp@Qy΃N na5ɼ&E^,G'QxML}/.)$NΟ[D!L ;e׸9+X6K LU ^!bˑ39!")8 emp' :T({8w,* chvJ{[*:Ndg5ͦaݤ-?7Yow`D# )j+Wz{3Jfh!ҧґr RɮMp7vpZf.1ϕl\lnNJۏO Z]AdJ(1r:وxٍ%$ai\f zm׸(ǁ7h1PGU(o&wUR>VL?Q5Zg4Dt0`emQ3[(BM]b2&cu;$4ͮc~ 㚰YEկ,Y3Ǵx5}(\76j7m5Kѹj-Mwl:2fP)ӷ /KJtί.K>#dZvջ*@  s?}x@y6ߢOO'AgB]`&LCʼ_$jci:U"҆$/8{Dz_DANYo$,)\Y_9:!LkFA{< c:.wB^VS-u=h쯁קk=3*7@55hrFb%4yt;ϧB0@id;5R/o%%5oyj2T4Nϝ?3`Fg\˯>TuWrPνϖI' jLGxv>[1sP#]A#É/"d{15AG4[N@V߸Ga5A0m(*J!) Er/E@ %sf&H*I)z7!<{:w lWUzLgpfP@jA50ÌKuQQDg=FwoFQ LWaß݂gh9Y Lt9|W3d:m&t_J]D]֊B\jD܁hc)[+,O 8^&&3.FzYrC'ٞAi\':2^TH[|ѴcĸUVOJ&϶HE٫B=eQ` o iJ >#knh!S#488Y0I,w*U{wk^)mJ+OTy[Ay 9U985)t^Țcr[P`ݦ2x? w TMjA?'aSD4&P`pKb4a+l}<(NyvUe_/sdx7;D1}é|t%-˳o'˲~Ize 5j= b9R4۵O$ g?zi !ݵRON.K 3aIq0% m)/uN0 з$ H帙Mk~c9㭋b}m#ab,crb $Y_HJl6}#VEF@5ޣ$ͪi3%τ+<mWa)[ w_&gJSirZa+ZIG'L@7LQŮ,0<|p8i0T|AwaZ 5 P'ն'*?^$IخK4 \ ~O!M^۰>jm͔d`?3iM/:`m2G < OjhU1klVg 'i;*1\chJV=i'YG55<6?OpUXf3b'S}9{^`Q[0 'W|hig/[k͓*D9ر*Ɠ김ʵm#\e;t,βds.|+֮A/V`EoDb@/lfsR3݊w'OlCOmt^GAn E/D/ioTJ*VU-1N7^rjz2]bcj@GxBԎG t}æaCÝuUU]Wfa\lJ^D,l&$7ķQ'Jp\W!)=9viKʴ TEWenHl$2M\4r'MV~GBMg)8VTSgHFI.ELަ1YQeQ15}&7)Cxi\Xoyu KAGAf<)w!"TP S%u_wE Y)ȶ _)D zXz{ !*J|t6WOٰqԛL| Pa1~va;T>1+D<1 |ʾo/3MEDAҺrӾ4 w)@Xe53o-Yi~ %Ɖa"zk޹8p8Wu\[96nN/ @o NfavipotɳM<p;=:Z~s,l6J#ݻh0R˸MIn̷D]9D1Dn$HkDݮҴFtՙZT|jLזNhawIu41 +&LV41tUHv[};#|V11jIV9%f!F@l?s{bHőnv|4;8j]^^Cdg*[Mr3Ktn=f*_w0Uѩ~c*uj͇u"f7M\zHJuj)N#odzE.(ft3٨m~ag.IV+  >h ]m){J1y3/!ܑBpj9|$,n&6CF2NoRhB);/Xq|/.䋓t50@j۞};tZ7n&ج0og<* {ѩ%f(=vUvb%UaΎNSA;و@"SP\Fa=Ȼ<4HM4RW{MQ7}v ~ OZu8­X.i*6]"֯#ֶ{2`3&G+$t/(k'=X|sDi:b]}?i|a#jJq!uoM?M Sb5ʓ *l*ܘK2hP!\E <{I OJL7ϹO_Nl=\!wqӡW;)E9!G(e\AM`S,sS?*ɖA?gu~K<̬{'qIMUG$ݔC+IngRzBN~}-gl'C_Ը$:NcAӞ)H9R 0J\kt*~o=o {9[䳊*!)&!d0iTtw-kYxCXKwn;AnP4o p:n@ 6$ZN<+g<~5S4D1dI:p'ȃ]QBsޟ/9l 3t#o I?2KpBMVFR<~nǏ~  |r=_ #KI|;{}&{NzY҉.fG?ǎ7BB✠ vP[ *,o(o^( nQsv,Πۋy>QZjRxF5c|[u :DM+Lb8% ^ Wm4HunZڛ1Pj/L[;H%tI)A LD[$=EΥV&J)+̂MI@›J.1Wa˷AZUl?CBrތ0~oUpapDSAB"/J&גBnbG=%"qB.A(TH|xr aզkؤ0 SkwkWxn5Bbb+Ch,WDVX0ANx$2V?K{KZvƫ;sVΊ3:?ӕ;H`ԋ1-1>w,E-lYm]}".9v-ӚU98 n5rJ..pT> D6BGDu|A-Łb8ir/y9%G? =J@ԒgpEFHbǿmZ;Q35hhՋ#u2w9nmoӜfDg-}RfOf87=o;֢eMu\TsXlc'*%0}vOToӯ](݊j/}~qzW~lj] 5l*l3M(rQxJ5OM1%uF~Y7n"kds  Br8rΥ#f(sz({3 `XjO&z + jQw+9GoIޤy#i܆NƊw .uW'J%WدoJUޚ\"p~z(s1`ɃfB0'mj%^ >qOVL#F; pɔIwoQͤ}ǁ-X拄pA a4:j +'|^کt6e9T j1#GiQp\OA^*s\t2\Bp/ ,mt#*fՎ)0V~Y%踛}Y/Tf戇PRkENh&((&ԋ{(bh$z05rAe,aX1!w>2NYNv(KMKs ;u׽%OɌȩNMM@ |BܗJ ^A"tK;E:M&Mxm{ Q5lOz{gr׵5)(,> +J> =WG O$KQ6@` i @JEŢjZٰr]Dֆ(RY]a`9HxQ{;5'"1i~}c,B땨OY`1Q4wct.O%rin/ظLFr`A[]O5Eahì'C=gCə# !f w$(&1ٱ.KɨHBF _PsB29KxJ|OUh\Y.|̜)׋vx ;9 ue@zg*)7q7Dr>q ¦ޯ#T'$:+[C;dG'U쟄E VSˡǏ}OܔGxb^+M3$rsP3tKr h>[ dtbCSqKBjGKza߶|{x:|_Uݖi^YF<# ٻ ~xmDߐh'\㣲j[Rsc~zX˃QrU%ya#KMz(WRqty *1P*iۿF:+yh|#Jѻ#{ƉՂżt,(4DNF2EI6$ȃo%zDRKYr.>i/YP40/1 -ځс9A60G̉sS7g""-Dqϒ\1mnIt qr;G`Yi5 `+Z~56#zʂZyϕ{o_.q s:9T"2ԕHxkA.}?LkJd' BHs B> .6Dy9g7بJ,Gs qciC46$uzd{_hr ,`/o[py8nVq eQ)$W9;ofwޱօnBǀoʡ.W%mozK:Z4t}t: E@Ɯ %=܁ƍ-0 Zfq5sM0l bFHV27Nt̪Ϧmi#]™#ȚT FeWy,þ; wri}$ʺ ( *@yv-u=UT5ĪpAV}f4OEE~{EK31> Gw9Mun`rB$M߿Jz_P.|wԑմ!QϯVVa,XfjN*avž׷opsc>OaAG >u [J> VHϤy}?b{Rk`QAq8z$f|]PֆiaTw.z(XҳZ/1[{!kYUi.; iAqy[# vtHS #ψf]#Z:_a3[o^c g4Gm^_"(n!܆b3 9/x|I:84SMq8?.>io NЀ[+x!:K-veˠvD LE& \pXEoo݈.Nqd;*H]o%(HۜJqŏ-mPŎ8 p4]Ì%Mȍ]~oD"n8E@֧9T"}\!P_SmƮxn!4;pzd9ց4DD}uEYNe|X@r-MKe$DpwE卍HT .?dTYb:^A8bq+յ՘sR=a;`C|5L r#4E'Zi=YwxdQڐ:۾N_'$Rx^OL t2[ ǔ*MvЫ:Gݨs{\CΔzhɅzA@ճO3~HcCpUUJQG"^.Eg\sR 2X9_gW| 㨦<h)\Q4~feua$M7>PFm>`P,%۸ZGkNJ` i&XZW't9>ZC}SmbY~_}9u4N(-(nM!W0؀< ,$W7XmST,_) ڞNnȏU|Zfe-\BsneܔN(#}m3ҚXB:0<ѿ A8-_؁oCgˌ`k~JOO ?]>+ӶI6lQU2tJkl =q&lIZ&`Vs X:IR{LtI:Y]4Yŏ" nF{Q ?!v ѹ )qE;IFW˨uT*!6խ;QsA2:*L)=J;;X( !| 4sIS7Փ7g\XY'R 84)F]A;KפjBp7_#r(u>v1N VH, -' Y6sc'}MYJ5 "7N1̴˙`GC7=e]TW5L쿮SF&"]*겘߿=Jlv|H=C{>ZeՇ4ђmliz;KfZTq?nx1R;[-Zh#h9yΖ:ѣmkqX{a)'GHWc\L* M}r/_~i߁Q loйYHY=A@DA}V*x~C})C.؁[qI@$Lq>g1H`JD+5B iMXG{ r(. L~`^|qʳw<}ss2\#NsuDu>`U샚&"o|uze!/FKKb}bY掦7 <ӣy)?1dPgQ me~ s >:tY6O凼VyГ]U"@%̓NWKFunP- YL]/yX/&!-㤡Q8:τ9@@X3ב_udȅw%+ "M__)xE4^Qx/  m\;* bPFu/&L+( ;b+RBCOB͔-~^51&]M^l1pϘA,:ޜ]bGFT53Y5 QLY*P|+S"Qɐ\_墹#b D0O'KSLr+桉c]M nl,;>5bKih%?ⵒ/XcoCrD[PW ?\aC\vCPq֥4'+=C`1;<3>au,X 1H4sN3՝K""{F = 72SgF 3f9n l㖃 W_WY0^2p? /=;c2um{m̬:|2>!_@Iw&|.~> w?Jf2H_~TK0"㬫Kkl⢕yۂ1^zZkjbީvA(gMh1J&D)pIض.#k:J42;[gӶ:rIƺ\tws tٷkϙ|錙K@Wy4' faLfm Tn$BXu %̠Qň{b _e%+A|P]=_4=蹐 8ΠԐFs8`ߥz ۇ#R%՞l0 AIYR_ݍ* 9s糠FJJfI9)5#EV_X{9?6P';}@^ǝ}E;qy?ZPb1 le̴E~G˂& .D0 ,v"<Akm [r]x0^hE Erƚ7l}^j-qO#-G*4IuG+yF6Ƃ8޻l:Sn~eax Epſ0&@ϵPFkwհGAqB>ƀ>KН=H_Zxr2[t$9`įNLuZIq6rpuDldg8E)5Vz*`K˒[oC2sMpga"<Fڥ:H([w M|_C 4L%ƃ= njŠ%3?]1Z429ꗧ̇!RgY8,d+}1zsԐ

㙿n5g[+Z%BFeT79 #wpcVʡRK6^}XaEf⃈6ҊNʂhrm=d4Eʻ`5׺v7.3 AA?z)\&)ڒr_CVT76@,Ov=- EУ`[y-h X`)EWG[RMes;I 約Z{f^sgfwwt'4eR-tވ}"T?)6pIWL5z%PAa\ޡZ9σ%I/DLG3?zF|:wFzGoin Lƥ4qhc({-tq3؁%V#6Ia1N8[eЮ8n cH-ࡼBjeF2$rd_z|oĴ xk=nǪcOy=v, n8ߊKqkiƤGMJ˿"bV F-vQ"^ܞv/j?L(1S3%jMLh/o5*i^kM4vXJ4+:f2= 0<3( lDBCx$*PdΠ7,F=!BT>q81LO3Kj˒_ȋ d fLeUџ * k,9o J9]5`*. Ka܅"I P NS%^!/4$!eőwyMd r߷ h%N7J6&LfJb:+5k1pcE[LȿNco:nVoN=t(d&sbʏF>Ũ? gy>v_;4/x>Yt1!_݇7z/6{kT7g?[д:q5Y1j =|2%_GΓۮ;6WS'epLn4vFyAU%\zACiOJoUۡ1f 礇~qV4`P0/Tc7g74"&&ЯKjׇot4ߕ Κ%^OY)#/úRU}4olF߱5nCz8 tin,-7I}9#t|(%*N1TGXHeJ3zs\ U@-ʥ#n;hރ\obY]q:S/J38ډ2CIs+<s# ਮW#6#(ǯt!M£o;}jo88A/ C5bnGos)/_~ݛX F;NW6sc4ג7,ثfpi} *'/Ei=Ѷ4 boH4.7pV<<MF, U6 (VmMbrYS];K$rZ1'宛"Cvdȵrwf}tNnބ3/+64Xa|?:傽ͣ1K҉M!|$<a~P{nD=bkxű?=ް,zq`󂿸6)|[9b>ʰqcr"rg6o\?(y ;wU^VhLT/xd=y;mU 1YG3vV^1BnIA puqVvjE^#>a6q}1n| 3şu:}Tu`,> @i~VGb CQU @,@o`MGP]*x7!}z-efpKD3rcAN_ >,zt(J$t혰&wX`M]6vJQy%3aK$"֡Xƹ 4W̞JµbZnޘZLn`ХDv+"l+GX<).q@{d%Bb2hpLnCߴzKC"KTH5CNyt[?t s1ծ.x@uiy87[MFqIM'S]ӼYQᡒdp 0,Bs^he".?(r7}C8T5OG3RzT~K5@mDLRL lT/|gV'IHDSi.{%=_ 1>|(U:GQP}_}ag`[父MAe>zFSHV/vmcUO1&Cwf㸵eidCb[7]x : ę]^^a]AOuQMb`>Q~0tlMUZjYY6xb(QYf;bl 6fbpcsEDs߂w1 ^ĿGȨ8JKA'7]UtE>7pSDwd|ljaၢX!6cKBb7pj]Э0J"10OWdw>YF{s7g.CVKRH"S,wj\wB2{di=OVR?.&Bih>ūZb P[DγN>Ġý<Y!;2\+sXrV@v?p];g1!G7eH~bk(8 L.322>5дө.XjWJw÷gC5FѕG7聆W\^2 uHEG y1txgXw6ڡrb7xOX˗w](1V?EZ&6!aH}p-j(8Nm'79G Ȳ78:0Y8!@M=,fCSC I@9g供{( 5)NĽà-ͳVs'.:|V='0k*p3`! ?Y`Pǂr j΢eϰ IDXw2/qjf땭`:QJ>uG^ڦtPj/$i`#ᷚlꟺz<}isDFFeq㰠B=qA7̹W pm}i#aY.$AQȐ`u`"z 5JWX_cSHl0Eq}6NO[iP' )ٷ=i*hW^A|j8٬Pu:\hCk2ܬ hǧ!8@UDqJPƜ$L=H3ЭMA!rm oTb@ai*zok8,@x@y+`u߮l^ l2(-j9,UU9lu^b$ -^bgxoW{d!\r:a^,LgUrB5Wbe(0 GG k9 KM)sTvݔVPai䰲$ҥ!ℽ:03U6ucH . T!wehMcd'c Ή6LheT)fVWFʪ㟷i|eݲS7c>*b̵jEX{Fp{64J SiQ-Q}{j$p3ݿq⦪ *SM"lSz;%${'""]ɭ f1#gtq .0sM9n̼y}Q"uӴt q}[bqP>7[]O%3lc(# ݸoo3{^#{Pnj-(Ɏ\X!K!Oj ahuC욞|W'FDx1\w^kt]0. OA -`0P$(J\!H:8 EG׽.̷hJGؠFY,Nx֟!Fo]w[~tpM-2!$QksP>7o1n)x 隸 <="(R6)؝ah5h%.>wͧi2@$_s=ezwCs]x]F+="_p{LU H^$ l5^í!d8kɋ>/~|pʹCpޜu_].X 6BGVR0@nXanM˩Tٗr{OY*BT8?Z҃ѮډRv` " F|So2EHzu, FUn֗5M^$=IQ̊s-;Yu,ܴHb%f168Qp~4ÿ8ЗݷSJȾD]͌aH c2t12BYɧs)F#9?@__$e6tlV}٤%bc-4ei^uadK{Fr[P8a翯td=-7 )A)q:ɀbi[-JP/cÅĿWϟz/let1q!¿ORaqsˤN`u7g*tbQ:ET aO5PʿBL_Ug0[1Rt Qjpq#`" b݌?f3;,xpF#M 5쓧1g-X# K1h1]Q IhF 6 L3y>zaYf_VE#C8l0Bӏ Jvƭ}%ކŭD;XJ݉ق 6`8zLy1ZxN>ꂗ\&nQe3, zZrDqD; WƓt? y JpV^2sH)odi^0E4SCu  ?S౨=!ճsejĤ5kta(ŒՑPo zg>$ +j$~!)qKFPƍ"X9oRA[Nr}=[b.TǫN#9aV0mm] DhtQV6ʊ]q*e:n;'!ۜG6 @6aғ|. :jfZs(VmN:;*4NXe1Dbcqi@ZrL(F TW͹CjIt ws9 C=2bPF=^CDꂦEIOU /Ek/K[IlWm%jc~h)UYWۥC(-u֒Y?D ^U~/.9^/n>$th}c\9KJ:4;!WԕdDW_}m֥,s+?շd@74<%GI|*~aA ꪿1TW(95t(H"9r6aY0ZI.hI/j)bRGb!5U|-C+ԣm8}:3tA,.j\K8De(432zᥗj]j[[+&\2z#~hYL-ӎl|X뾂 VF'|hZ jș8] / Ork% [jGpx -?F S9Ru.|܋BS3)w=O\׾atA*~*rBVN&~cHq,*N3B)k3wцZ%7'9<X Va Sǩ{`U(oD E[LcnW|ػk,9ty¼3l MB4D\P'55M.QFxʅrMj$6 ?4A@Dp-Wuݽ"3cU$}ªWE`&SSzL;8o*XAVht*W.ߖ; |J_U#(K=x@rO{xI -6]mhhy8zE,Zȗ#;vOfK5 A:Xm3l$B;. Nz"CyPn-Wm=QH=gn'*xHQ"t(c&͂wyIm/gJ3/]a7OYdU;x˩laoS z.6Hu ȘE,h FCzu\wM*/mwJ`<P8$5rj'(Ɨct8u3m4ʡCWFǞLw1f֌܆}*Q<lxC %n[ۅ/B,|#|1BlSv`=T08feMPkc 3ӯ{dT%M]hZ!T g[%)ÁIu 0O<:}>(}iAe"=+tKE3ͧ8 ؜T{]  (53Q1)m5휴0TKBL#~RW_Gvo3렱$fÃVOq)F]JN iz So~,u_1%e޲½`/-At/^"iâTD jl*Ȋ,Y*גRk8xd̑;v]-X.u ˞OP/ ZtOm!u}8)h~# Ē*L8tqXƀ#,}Zj܅k2gҶ1tJM@ú h_ 1 7=ذ .䑪lKHNj!oǐԂRdj% vbgk|^5pOuW/%$&ċDmdyAa]6Y@)uL9!ƄFoanpFI=bӟkءkHxz:̨R{',ίMkaϫ Bu#nӡ:QvS1z6D b6s$Q)͡f|Yxg^뎝͸6:MC#9>ބthVϓ%W 0K,P|W[h Wݕ/b(? =V}'#i* WDJq >`C/7@pB.,oڰō黎EH#z,WꄄG~`ȧ_MAc>% bQ~+8h=d`Ȋ BzT톮ySLj1bQK |M`.{zCa .`prR'!=^f5okbZh&90EZ"|^^e}#[ Zz=ty`|P~Ppo,j81B`u2ǜ#f&6 g C!&~,}8jåF1h]L5Ukׅ+Y1݆[\ F j-(8N Ȟ!ELsTQm]SftOb_n{.P'b"Z$RX*"P4iLIkXW/Ő!یӠ|2uO?W5ٯ? 3?^H- =f'﮵1gMѨ$), ) q|Eޙt&3?'R">l"F.g`_|Ut :]%jor's>lݎ>)eèd̿ W#53 s}7׎ _9ȶbE4 |C`U /RɀR:`Ob C;NOLr;.%e2G Ql,&`wcVZy g~6eg8MT2U 4th6!EZdT8I=d !EIW%Йj-R6m&7E3'#婱UP#!!9X23%r B#d I76azG>lUnݙ{1 3ZN_$*_( S G 26jE$YI^%ְ[J j˄/sۆJ3h!~R@~\ʂjJˤ~FC r)B !Į Z7u;Y&]wkd<^T.y 64ܺH~NeUQ.ot> ]c+;eVX}p}5he Ŕ']wBilpIaE1GASٰ<xS&œp:!vpi/5V1$LjI:h4}B=>R=}t^㐈OmCh b⟣Qm;ԀNWz녊Ϲv~+6TR h7[}N!ȼ^ÞPpL&#skQ2jd郊+2]*~lڜ²o;158s%RZ>` DPx7pB,،ZtZzca7uI;[g3ht$ƸqtVoo#2;P" j Cj PD^4eJY\Mm4,Nϓs;ͭi!waXm8G*Sf3-*H_{ב mdA)Wv$E`X8OTryngۏQ!; fR^[$+U>[4\ ]5WtE>ϓlĿN#ZGMùV<Ϡ!YuZ"4 c~_'ޕeCז H͵G!O`?=",^ 0cMyMS%˵L苅ŧW=`E> h"./Kr# ,t ejkUzj$tj:1vR(1L$&~/f/1=.DJ9`(PteT66,%J_d9=UbjvHxI3DNç|CFhkNbN ҕ?:xw]4&~T?Ԭ\Ax~}Ƌ/P<ɚ1P8ՓǚMC.L# =։^W-?a;#S}`7DjrxX A,nEuPQdLEKh-fm8. ?xk!P>foUЊ7!xм骶mL# o-4\F8j:hyOe'+xFlen,Җz k_c6S56 ޠBjtɠB#852XoONZhL;ZK C fQ' H0*t ߨsm =jGLix/x0{wN2 D2Q6ȂK>BlM:zZ f]+Su,=6Y*|2Ƣ4FacQmh*?@1*SxfzY[CKvNc"M-d 6Y }Πqzb;qШkr} >iu?mMa塷Jcjǟ1'wMO7xVgQsHYdIdH 9]Ѩ[Z.8r@X~~&S*ѝqjf|hf>D^0Y9zr1(#D> kal ]օO%rI__S%)<3XL!s_x9̒ǒ'@L܇ŒИ9dZ,Oc6^@TS*(uo71s uNjjGzN%S\6dTfZ7_>[C*T~~G&gGq 贆mׇS³,>$y}E@jby@ @>ۉ0o?߻u9{ާ䅷.?`U׶uTz5I255'_ լ6& ztu- v5IͥfxY<Aygf.֑lf6_? K0LH\|MF9ő;dr=F N'W}:6=@C7%i:*j AҾq32_ڏRxs ƞU*Ti+8v)G:ghc@5L FtxN?AΨ;nS"J, RYb:ITh*#lrbz#z'fSW|+|БCuЗygGZvFcCQM{RX3+Y e^8gah`Dl94gei\ aj̿coUDMC5C[蘴=C3\4oYx$,;6˝:XQ@:EC 5AKPZ -L-ۈ*Vׄ5RTm[ر2$lzP+/ ٖu镩*Ř0t (>F!AIWֻ:HSܬ2 !Vip;Ӿ lڧWsȫ# *> )7 Eʅ薪; Vy)\j|>Mpi:!o#X0Rfb0IY:{E2Vk7.p4@NME{bO޻v5'uY)%:a-,~vݱߣ|YOK}?mb*8 ȓSg(],A/~_MLuBh1Ӛ3D#fԏy1 3?jXQ 2aݠ"]7t3J}5 0]=-5'Kz)iSHD QFJl=A`$C.]2LŻ́n0e4P厣s*ɯ&Ŷ/B 7-60-]sBP0oqe @ 6zQ>;ߑNrd_e}F6[>QWvŇ-o_plXvȯD6Y۴? t$!ǘc6NQ1Mf=h$:/zfk>?O bz<Ihڟr#ʅ'o|-03]Ct&SA oy%hZ4>zkHL6q^!խr 26#ŀAMywHzcwvװnP!8a?<V]b^/L8sE|;'UD {԰ TS^B>DƎ?~4Wzw r~4ᆙH@U%={lqvatHq@.Lԣ!L,7Thzxz|H= X&BOQתN۠Jd*LoIFNۈUu!XƯ$p\xa(˫c6W0WARN GM {$NiTNŜY`i Ks#mG,Y,6'bGI%k;֝9~jv9 ֒{ʽ>D|J(L; 4@3uA?5qj@%BCb;q:;%Ӫ%qn?Y?p.vsBAswŌ%9qf. H7"]8ox⅙|mc20*u؝oy;xk'k3CԌGGO^C8 ϟDhJtǚ L(=;"tѠ& k[.s8YEs0?-+I?qKzl(WS#2UR'gH $mHylp~sh{f" RGH9 ˉ1/meX |heNj8m&A?3 #'܏Hu5 ?,+D.b r _ZB єy2ۘ^IiX\%ϓkSJf GF2//L`*OM h% 96}͟_.WHgj 1D23<P/a+f* 臕n4:X ? 6pPhtR"v M!J-_h;G3F4=Rǘp8uA̶{>'F;=ъnBV?]9E5N"w–taęp>&v9*)VR{dxey$\`o*Zj(;kyM?NG2sZڷeя@Z>V EXcOc=*ZGAWg;е ۾"|ND~L5|T{ Ҷ|K*ahmӾQsuJ$+jȯo;7{P&RH>)·Mߔ҈A m#'>eQM_y:}ӾӨh:]%e'6\V~⒲EPT ]QNVaIIZrB+ Z>/9.](% "0bnNa&ېTDv*#Vޞ\t-bܞaM^dHUǫIsWϗsPJ4mU/Z,ׁ+qLuD>9O-5c8Q-ߖIУCyFf۷g:<,SK"9lyI>O)fl \kmM=Wa˖G?ZzG=8ReMG^)l09JT>greL`1veG a4Sd|5ҙp7zSF(l4^22&7K74t~HY0aHr h3^ܲoiۃn q-yn/ ^6hgiLL,<.k7=G,h>YkHc\BU ̘+m,\Kj,-" &-3$kݡ<;7qULΩ{^`!4?Al T 4>U([V }/E9$@tanYj%Yz4 ~!w䴊5sˉHGI"x)9ƒq.`-e<-+ bpm(9&,%HiAH0̚ːs`lY-3B:fB^7̟A!F39KؖVZ+1,SsIQ_S4~l} L}>c)bBRY T탕+Z'+2x${.cYnY$؈Tj߇o\UO+#x]X`W7"ݕlXӣNHV+ImSf:Nˍ, m޶O8VLI驓rPy '3ݮrif5_vulĥ`XjBQ;@ ow#?rPԅT$:Q㭈 gH_Rzu:V©|?+hWn G=?uApP[4o2Eї 11%IsJt<HXV=Mm7Y/?Sw\TMl9)\gXYR>y6Q+OSEsBA.eB_]z"FaPD6eC rqX>a`GFxya>~,/yFyd>G< ;*ld.ύsÙfW~uaY!PQ%iܼ%C8+C<&oxY1>]*ExTx[ݿ_ٌCty*!KJryk!a]4L)^6\V ؁Q^cuk ʢnn`Wur<=Rmzmk .l ?lh귪G^"X%X使) BPqܤToCKVCqǿƧe0];ٙ9TZ *7֫^odLzoT񯶨ESu.,˟&*ݝ>xQF~#mf>EDa+8i NTkhFidoA؊3Z=2k\3DzYH>jHىS_I1}| ^:^*7;Qː=}k㴠''P,<Z TL«Ao?-# z!kZOJ3 [jYVחip#ŅJžY6BUSPۗhqk3u^ԝRT=x Fn1x:N,zLy[|Kߔ9=cFNW]܏[rЫ8I@_'1Xa4dY#"M9yV&=`*nG9ۧ0zπJ_|?tI'wI2[ߗDz|scp _1U6=C- V=O`o6GЊWJἠH] *8JBI`Yٲ c|Ǒ X3VW5-7!3DdAvwje rK! 9#p5[sJ] JPm`rة3k^.I@me -5R R$:%+D=חW:T <ĢId) k:Id\?OW|˞4JN-\j_M3<Jno 0xˎ=C' MהYj^W+}]*!]x%BfGH"J!ͻS+} V2 68)`iوF*Jh?~ %:2'#`MYM3 p\Mũ#p5hm8Cch{1z0[X>Ntk= >`V`a.ڜgV%uǩa?rι+ '*JLNJGETdݮr4'w>A%V>i@/ )+Fq4'L'V fRXNL !ꡋ# OyuqaTP`5cϠ6/e*b4mf"?/yآ\[DJ ^F $.~uD*$QyL:\ U"z/]S{B&xJj#[9爨9}GOMGgx$XmKY\IYMW1uzUGF"w))wc!#/cuũ"f`f׫?_eNI<93lϲSJM\5Yine70 $C=0*A\ޒ ƺnx>}@S(P:!g& u%pB1"48!;!H]([UcW+(oFB(S%jfz93-Nu8Xm0!⛍PwTb8x"&x6)1kBDT`0b7on 8 RթŐ ؖ~ո5gғ8`VW 4x}g%?f*e;矇Bc;|+8$g>*e3+$ˏ:⤻F嵷bN[([2t~POD>R;~!94iвg5eӌ&)ݺ'Bws#z*euF&<:"ݱ8S)fBG% (p!uoI"ۢ]VPp~Nu{ٲu F&0C Y\-1\A%e c6Ѧ&j!TeܤU@ 8| in/Egݥ {t#+5 uPQdZ!ʂCk'"d~4efAkn٢mv}ac( "{'VWBȁe(I Iøg\Pʵw8(Ps;EC&ihY\}f}pbrvZ7[TOVC,R6RrtH͵U'~FR.ra R5WWPZ"=+2DuzƎAcU$N*C?{רhvp H@'};NeZk\2[[ƗB~1[vf&k=s0p53+5]ϧ[YNa:]@)THg#kٚ KϤ)ddn  pJW|=-_qY8ٕab|uE REy1s(!Yɽh&/==ɝmCq/&v.)e*)zkoqh?x m3;Bu bR%0x`tku/#RQP{=Ӊuin0E$x'w=>l8EamM oKC E-(Tǡگȇ(,WخMmf.)iAubv<`oh"cZTna"yGm^vy 9 ^Ǣ*MVGb3@hdz)Ki$ j$<ˡb>9Sgü|AHΎҵ~( #~oý6`ʙpR;>d3{Kߌ8ͯ%OWpb }PqD n$v 4*ouECc Ұq$۪=|"Nn1["+4)=stR+R{M[UNkgSzU5'a(nZB4'^y* P([ڙɮw=V yryQQ xT-JQTW)TEc d}dEi]s= ƶ)eԬx+* I< q<0+n~?U5Nx3<-;/O2 J7+}qLqEP(@?]\/44ss6P<#}e~ZGAzN H\/ZO<5I6Q8-U1neN߈zp('uBw-єR7PŔxO[&Hn,nnndc-;~?nN#)₡քH(5ƿݳYXG&!L>O 8CHO~-5(J !y5/%Đg#P 5Pl)l5;T g5境&ϰFCrkSBm.ԺLƕ0dLBeϿR"Ĩ:`" whO} ɲdț0OcYhN;xe0-6~Fq9 E|&' ZMՇҿ9%}[bCqέz)"I}߁z4\/4E.i0!Jv 0`92ZUKW'zut ^Yk&#@̹[ " =ОRt3)SͺDhUiL YCK ?3q3[bJ26| K$1ll1|#$f_*Y=P+Ql^3@fQJٚp K[x&5$9$WغEȗC_40TXz0\? Yf -~ m7,d^1rfm2ŋZ%y2?);j$ t"z߱@ ,xp 34/tI~-x%-zz5L #)tpO'1bثs)0>.;ذe?eO K] ĥ[ogUP} jfGeTOΫ4Y)+DwpzBYз$2lv^o)s)% 0u{.is%Tw3XAuV83%^rHz(rateӲFWڏ%X]W럘 8LW>2@хaUIpU ~$B22t-2 n_fkKl6Z?kr=g|ƁpF뉆6h.͓?T~J ^ȸH̄RR'_/z!pu *~kus$oZm]dxB\RPm_Eo"SAAZ1.u|Y;R񜞦}BiƵf%͔sM.mϕ,/nj 5":9HT1U_4#X,ɚ<~dp,-H@^+@@syثL a[b-aKgx#`@u2zkrlVo鲢DFsx;Z|H\_AȿGť+#*YG~jΰ)2DU 5ǽPn^,[hl+jTM׬ϖdR~pCR uDjNHUD6ϽiO9z< 2r{c({v.Lц~{?re si..8W6[fXCYQQu ^' wƀn%h@ AyD9nɡ1.+X~cտlW"ML\)g$1 ԇD~M^Iu\A4Z[WkEKMK+ f Q7;mѤXiR2i9@VS@[wzT0'Gwf$l>MCh`4%` o*$~ l`8$$UGmwTEk鳮Xb=[Dge5Ka2t1Q.AdMPS䑕Ah_~%_$JC>,}hobK[ݞ}am`(* ./$}hCEԄ?T4QaQUJYJʇL*k+F+`ԇ}ŵ]b~Q{K~^ ):.L>M?=N VTriBH>;6'2P]T/XgP* P5]ޫVlmAVr0%+t/ ͽ&X~IS! 8nYlexk?Hoe w(UoQ6͚g5>33c^s4vVUpmECT9dLE&ɢurKN>tkk< hܩi,G=% R0}Piixg-4B<~V4׈S$*di`UdԱ'<8"[/|1?Q}]h>eAz32uf|̅}V|T%3]=̅JrwJ>מΉi?t'Q]}تopЬyVd^ B.KG +AXPBa!cܿR4X,qɮSne9hn;'_ "|g'dՠx[yJK}L,̩I>@GXCD$ V=v;/ b&[\Rn[EiF D-4$"Eϩ{30>I \/᲼GFvek4edڑ$̡$h e[[o[9NNM]PqVkUsL|g3.6yO- ,ȓn 87zHU4|uGD!zƀJf̃|@~Lv6L2q,TqQ)ߤ!iHxi]!3y8J'DI5(X`*Üݭ+u h쀜$BdW%C"qN9Q>-*nYtD΀$"K&#zSW]O̵8SE]z/ZLYfv"hKqF?߾nTPҥ!9S %"֑3lhdrFK4ځkt)R{G?NK!Ի aZ۾A.;はhK,IT~(S[Mdq bB A]0CRn¥>L~YffwJ5@/9`֛Z"9?`T.$>ce߭э9h]ֵv c'h.QդWp5ߖ(Fmf,EoKQGgM N oys~^oHJct%'vX.U 8A~ ةO[2J L95뾎inI[CmmNS*XS!b^`^s(I:'.ك f'4PѰw}FT})#ԴbLW> ҂^iK>FТ!mTb 3J!ˮZZB١q63< 0j6%s ãP5gN:(ebc1X3 ۻ$ess̈́f%a@R.}{%6"d6FfɃ>JE*Ĝ֗` !CBW[;T8;(1`*ṷYTX뼧f6 T~xy=){6cM/2!9G%>:e?Oӷ UGRo/k9:ކ}˼'^h7L׶3A0mF<6 a9qPL]-2eꁸCnkpy%ʃJ{D"5wǨT/ŝn}oYHt9!c;Movf}?GUSVzQ8!6nJۢu/Byo6JfKԩ'7;"VFm]DF gjE-M+Li8ϥ6iK&d:F1[- :-`PJS E|3}?Rw2ؖYpjLo KŻO٤rǏ!SG yI}m@:ѠcpÀ/ģ5 '|x [|=n\X gF j84ʘ,ItG/ozє7%އp\e=P ?_ =Ze)#ܱ^&3/MHMavS4BUZ}MDQjglufЈA~_ ?c aN7 ܲЋpaV&&7r9E1 jAr`4h^GGV{$DIywPA] xrJ_5xGF;Tk&HOd6BX51C)loRh0ZDuӉ|}v9#6)cNff1&*dtX9:̞epIVW DPlOяVZa(HNVֲ l <erw A{q2FܽYAU*q57)J*a4&C Zj^b˽p@EK7$#ǖEPN@ keK)/ʢڷrePPR*W:B2q@%K1L.SYU꾶= (o&bb l k}9Ir1g2+ C|+U ^_wྷ1ڞ>̇q'WX8 ͻ`'u[FKI194C֙#20k ,DJPpA\:z :M.;k5dg4*2u{l <E܊%ދpSK56<8Wb{<iq~nj[ A0%8VRbM3Ѭ$]=j8W2NF j}ވ<met~6\9܋#Q O64ׅQ6BU|Y8>bNS ߨq:Dϰ2BV x,{\ ;^O˼KsSp"vvTKn-\t;̅@;>N/&7ŵx\}Y{g_r9mѸ{f@NHZ.tu ~@v'<x後]0 p=e-dymlqB$j]@)Yb%/F[ 5~8oA,Z]w1n>Y$+8RFLX^m||j X^*(l42>wC_6Fԫ/(p6&!OTeɕW=.IKt¼:dF1g[&zl>mPjsSwy ֹ]v{SvtloۏM~īmf)0W@JbWc:"h/CQJXKRf%s trZ֒FEka#Ҧ.bKWANhcwG-Č2*22Fzӆ7hּoRJ) T$ζEo֑QoLp]/x3;!zDR!NH4L 'lOִ`"WR h1Q ^wxZѶw񀿗P tckpЂK/Ju1'ɤIubOͲ~&_ZYfWb7#+\mb|g$+70,:7d(mn9 S˳LcU1V1eY%mtX+be` DˠpRՉit<<,Bk/RUtx&xˏ^{>ᥨn-3{ 8*5Cd5` x12FJgI\kjjOН10^LGT|j,^LXS5r*p8yQHr &)$ů«Gz|˜"ɻ/`q֚|`+/>+ C;j(.gm#heYo*)h`0wcv ͫ)ܭZn_OZ% g<7Bl%uIzrx~Dod^"?O`3HQru+HD-<06Sv.z}Ԇ{n0G3ɐ$<5=6T,eۑ;riZ@jVI_#/iIC1ݺ[ mͦ/vjP94ľ/(+Y*' MteYܯ\lRu}>eT>9wE(ZYcM$fy|DcȾ\h!"رxOg=nQ{ɀ&ǖsZA]շ[MDo26L1m5^zx. ݯu7I~bD *?,T ^ў{9-Ԇ& {r`T5/+9Ua\^}k{!y1O'=5 ̙URűC):A1J劓J7e^g葄Q$QTl<;Ԅ@dmnN8]8ҒOsCy1gXN,zz Ue%Ʋ ƍw=8 iJU3sA˘[yh4Yܮ]&ލ8GXY!*KVدMnM0ǮW9\^,P"e7[Ŭ/\<|*`M94@p6&~, %6~}j0x -<=)y(zmҬ:Ecaw7A//[oUB!G\NAlWPފͥNCGmx6Cxgtpsv>я}L^ToX?$G9+hUzى>jc<K1I2MwkkY7;:1^b[u12/u!O2-)U7`u-˫3>,fWjk;I_zuO^$͵!8ϲaK : *.YiPE:<N,+t=Q>pTѿa_Bvb2GsIؒ>vCIL_-~9 XxX!tQ> A*) }hxĬNqn'N['B>c?< E<Χ'Bxhs3cԤkYd'φ9Ԭufѭ4b(~/ۺ8aJjTo.s9cs.x%jc|Fd2~ _q] V@8J֔R Q݆A5[R)-LeyI FH7ۨ'/~e֕51I_|ĵ/GwCѪ]Hz5JftS*ԯNޛRB^* CsXb1ϒOfczdP=|?ўR VjiUDT 5sv3Z⭞%}B@l0_A";S @'LRc1Niڴ.1u1B_&[2J!mRTy9Nƥg3n[_HCg;THUPsɭ4K#E%û;KGyR4'O.nŠEv_{4`{*"/$aW3ۙ6yFl"Yؖ1T#o^x4&^h/Oc$(!m4ҿ!'$u8@Gns㹳{uc[>R#ŕ`_j0 ?yն T H6*^=_[,c+1;b¹.@d'-?ǡ쎅-NύF *bel~r+eC[I:T PoȩM+ :#=\ Ī7XIߜ^Ml/Xk3JIT`[,F͓aCro[Ig&as3Oi3i'Ks6>ġ$sPOw٪zmsS+)OQ: ;gY7QH3-nf2ᠾ)΄e`ah;l 805%!ZXq)>傐#iD͊PBv'Z*l]B~D]_h7)3S0FؼX9X9"ƠPEN1-Gzv83}|-|$z4>*,fp;X3 G5֎ al.l2:] @~MkXNqsN7 'HQf p:F x ҽ@KОME?8c වTϊfZoń`{ZyO"b& .XhT,|Bq[DxuJ_~QLyu9?-[ij^NwvU(bv֍So Jüivb}tԉcGj|jh EW]l_:ݬ D9:1TժWm`"¶~},=|&A/EOIF7O|T5h`|p ƪmyl*&yɽbJct9XH[E &lXf7936#…iwu\k~-}zKT>6*"rIovmgQQxL7Si d{$de4#X@V DMxxO^5Ak${kizv*MLwR){]!UgPq2EuI^o4dZYyFEzUx-]=#j wPuu +yߩ3K},76p 9Qʵ^+=ԥw%CB\QS#(irthk C.8[jQ($;Zܕ4Șf 71f@vƓNONϘK\,XcЫai&FKᄥ ҇~~V$+a;v4>RB7c1v<Yy*![d$kK,O!@sҒW8\ 1ohX Cc~6r_θ.y2,Ze)4*B:mvܚPZdaxnYOa}ricRKa!'C @y0*u\RQ v},d3t72LtSOA59TUDp= IX5gɤI^Jy$(-P!W-l 2,0(_HBڭN\s ĕW貫<,rgڎ sŨ~u5H陰xy^._10]BGH&pTxAx Ž1'?՘EnYs`]((߅hf.T_3۞|k>QG3]EŨ@VR%qsZoq1kF_F  *_L9IGeSkٝ6"IbqzCR9͝ 18޶o♽{`ZWr F3};}s/ mڋIb}Q7 M3d6Xhi+ʘܼW,<#@$; S1tM1N#~ka- /]:@JY"#pMVG)|H!|?=0Ƥo]SmR_eʞH9vgf$$~7[g yOb;";us qF"ss-M,ogtA}[tJ7+SLsK1MD;T_Rogg'󢜂܀2,D,D4S_`gRM؍9a{#+qKDyݠbB ž( 񲦪a#?ДLoJV\=EÝc.{dH+=(e66dцjW1om=W%+pL89.@(?6MIyPp OqOZz7#őjzO>Q a|ӹcL .t1T7~*dnS)RV3 ?N"'ZUyfծ&U2KM@cկ"Kކj'c^ H31}|p2M6>"+ޝjo3$&Bϯ#sʘ.87Ө#_IGVi]l*]pwDzn@?0)Li888*K1 f\ +6RŇEyiqCID| s}()p.P͜kmt-?hge\+-dbYO<ڞ(ڜbap w_c+X$Y-` .@!춘0/3Zʳ 0_P}ݪ9}e6N285h-Ul! G=;ݐ<LM}5SE !Pui'hޖqH t-lWW>HwgzHfiP-#_W/bi{ޗ}ڧNNAab .=V ?k)@;X.|3b4 umt F  @ ;P-FiiUf:Pj!6,0l+_OɪcthSȳ'c_zkSdd%a ]sV]U~}xS:˚dD*k1:LuSy?ɐE=<Lhm⼨y` 6>]'IDyC-{8VwR6筭PX N z/+u(h3uv_P_#:*=%|lQ|`7]LCƋz@&U ;I@-6&eu 4#=~c'HnA߳ǰM^MDQa1R;-T[ R.15Y\|ƍ 2]ìDP_2BEۖQez4If9͌h̘ 6%Sg,*YjX0bK=(4bI>p@bwfbo(ag%_FVeb\Nd{!Zn|hs2z~qЩ4SF}FPIE+rNRbWu4W `|X~ĚQ <|y)_ %&[kdҙqBdI92Ҿ_Ik:{sT!FH)^#l u{yX$Z6L14j -EWH džhO튷iM_R&8V-.?؄A ܂6;ĂD.K# ._hf\ǔ9wy[gw[߻4>OKV/lRX1؍tm` )<(PpḵP7 5,A1SaRb`RآhWc \x$Đj3BqqI P!ݯXAI&UD}I*>cJkafށ3:'W43E~&HkeU،izAqj.jW-rbPK=kG4*_mJZ AkP,UTs\*\A<]pW LMXL/c`c^Q& Mpd X=",fD? Khk>{q秆>{/D L2Wi!UvQ73FFVPM5.W(V_R&Y-Vu.|.b gvTu)Ɍ=U=+i%u8N\kR4>^YHKz2QicVDaT6C4h)6- j`|Y3qw:nx`MIEc(enO]pL8ߤLTs:,%1.2 L}k]އXAdZ.U![ G*xiâCSs & --0ACKq&RMo[1z@oo_kˡ6q(gZTɔ$pӦavAK+/|#I'b]4KM A=ʿVV̻Օ"PW^ϋ LiLwQb/$- %}2(feMc$%Ma*qT|L8ǎZaJV?#R'TPG A㠽7m"U_6"DKtK ;ݺ;1e|g CdVW|;'۷3<P/]a#Dq2M帿AL$UKܺ\y/jfjk afnk)~=oFiuVOn.W3A(hW:^!!r7j/FfLJPhyDF#vY#}Dn]ߥn)W+һB)|_qF^ ՀQ `I^Ơz!a5?kȸаDBR%yդҬERkCN`kc'WֳG,"Ğw8EMKؿ%`uMdS錵qY% M#UHxhOv?gBT{tCcuW1O#]eBY23,5zbJĚv&YP hfkpC]N> N {#f?Gxgpg<N'Sރut5sY1u4ƪ Կek}==D34 c@FzbaPf)(jawE2 =檓St٨`=Yw/{GB1o.߽˾E5q/(ՆS⾄DuEyȾmuM]͓_͈l6\u%/`_w2'R%O BJ{-yϮSĥgƩP5+rU&)GJ!ZRc<3A;|}?s^Uz5JauεD ,0B#weL vXW,,?1R[=BQ &Ǥ7߲TEΏ53+O?ƘW4A'FjY!i]s0bPsC[ ; >8Mzg@O /œj $tRY2 :YmVKlR a\K3Z0iHGIx9y~x[siBx8+AC!٦kYp\7Xx2h_v,Pgj3AZ"6 8ʢ]sU3=`o{ V}Y u.ȧ?bX&x] ]2Vg^rp3,uTUg!2Ir[&\WueoKK`w>9BneiNQ1q.t< <`R5nB q#<,V‘򗻁 \7wI_BCujE)uSi4Bu֏upQSΓ W?u(CU4o[}x^ku|g DSmIP Pœfΰ^y;~͙-mH$:DqZ8@ICa8`$Ԑ NQ]ՎxK27q7WQt[&->~h#W/# 322=ֿ񃰶|i!lD[U#Hdaj*la:V>Ggs9L6)/ĉ_Ѕ_q >^U쇞UX SG!tQGcp+d찦:'69"kUsLYn62={/]>|ݑ H7s8,B7.+o2Sqħ͋4  \X ,!ihG9zwL` n=01dQ@ }xs-πi9Rd>{' V:V`@-WEzR "i_IR,8 !.WG+|zJYXILոW}iT(mN=1a M]寻w#fm55JYf55ah291O\f'%Gu+ZQPoe&L@TmLJe rl9Ԃ7BVJ12hOU=؈ϴg ^$glLMoB.T?WHX 0v,E4~L13$2Ihk(%3Qu/&^m)? pRǜJb7dh=q}KZ9Fq2!6 =4b[1|K˽maɮ~#3Ul>_؉W5X\n'0}#[]=^[*iuZ5..B(nVӣաϧJȨ,TN^êpo +`bop>q; ipYjdɘWsFGo½7DHmE_=2b2hfKNLPSOѡ؉(GRvㅛkP*sk=*h"Z5) zXZ_Oke/9pd Pv]HZ= ,&_"@sUuDPт'hyVnM=sxӎB?B=߯yP _bȝ|0M,\cDBڀXXdЁ\d7tiRx:#W>v0`}hsqe 6shs!~ 1AFeI$"@ ט FZe?{t3LsѴfAݣaSSAHV/kEJh{ R(_1Y%$\+-nE94TqR Uͪ=vT59Pc%Pܷ<&cÎzgifh5P9 ![tmF&Vbt >W(ZݴvhZ}Lڄ ~z.@+yM~?y[% 쇏RCE :[ l gfJۮ`.{ ɥCUaَ ~_Ș]#5$w:1_ΓoޣS#Dz6&wBON{8Zb鱨m`obKp/ބ$T$<-Ŵ2*k:?xg"J;M(%^D@ O hSd F~Ҽ8}җ ix^52Ig\+Opeb~/($.E-  d%0Ʈ~=q( k &*Sd\3CjG,=P072he7v&k/Rv|8E.ʦA.-! [m%dWqE|'9`Ou^JxpZ( ޗۃ%ᲴT_[^i6#!T.p4LK0fr{ ^\S=`JWQIb5 %nvL&IΰL1eocpP1H`*Kёs' `Ӻ$wg^:DZ3]/ < .CwmXu+1)hn2SQkҌ֭7X0F~"+ jN8GcTZj Tg S!{W֙  \F81߯#uξbZ%'Fi.oi wBr_XXj(|W~Ҷ[<~\ssHZ7G/Iso' on 0jrcSK%D7k"W@(+ޚ< ²/ww`ӂ !O d%#nf[OZDS>hlXO(ϛ+ A:\c4W$3Jlmlχ%i# hY"^ FƼ6tC"K1jXf_Quk1cԩjCnQx"`hJ)g%:<d ya%Hg3#*$nʵ#m$~VQ:ŢuovǾ"+(*91СYp9&'rxaF=&*0aǒ _WXwr0|L[,ψB< !9@'ioߐ+3@AHs|SUo?88$`Zq81)땊DD2K7T ^N`J0`B{*y&NpNwȩM͍%f\Q}`\.8!-Tx矀qyտTBV^"h#Xt?tA,"QoAošFV{skM 2<s U۱*aU?6Ep{ryWq-05K]r6ا3آї3tM⓶|<σq|OGc d"=)A\ha#ڛT/\<2dH(^( זZȐ#*ECWstWiT]j^(tϺe()[an5DO/:#Ts7w!Dz6/mxd]Zݨ\M̀޿PR5D&S{IQZ GE s՚l۩PMf>zo%QǮ}?SVBv*v', j^sI`2]|?ʻcbG`Lj/LM7~8y"c6jOj%[`5lG.PxEz+~}@}gExc I314~$$#jLl+v5 y]o{VΓMWC!w p.!vs&RaO馾asL,{-?Ϣ5:aƛ+{ѝe 8c٥K%֠Tj>m)_C Iɱ \y>HQ7V0et$_ 18 9$WXxؗsz޽$[FR1p5jY$mJX4A]!qEcu,}J郀=3r<*א gaT-X[*3{$=^8\*h@]Nij9CAo|F1P_ JpF-9kmH$SJ?zQH(.g![s5.@ŶZr\I z+L4ӵxw ㄢS'\;J,KVP֤2*QbS%$bad />&r!!UU%4Ó> [5O-}9jҳ$d.Oy9TsjG+up? hH09*YM\?L#HFo,sUǮa~S׭%)ֻ +n"O 1\ZTA"G~tYќj!g~(k8NX1R-s]a'Br$ے  $DTlj> `)c%=N#/9ǻ{C}ߛy?C\P.*S3(6V/ݧ`>wUwffLuަ|zWݞo IL*<k`GVRQQ͍s{c--h&(W%&?cpEuՊJmm  9"FS˔)_8 T((D+T_)W“y[q7p%mju^4gM"ˡҧ7\^ V],T0{5>8I2B&gvmsX<gdʎ:q4 Q>/WdYxx̹v%F$!_gKϓ:듾ګ0יí@Ōy4E91&/ܕ[:{F(V2WxOTl9&ko MCLi],2`d"o״ox= P6 o3bS6#O,\"23 ZW>Xy4 DQ᭶kq_e?^J^🺑1uɁRI>0'@B\>L FS4[%)(2mAgFJXQSJ/n䌏U}?WQjm^ecǹ2ja!bg+54mr弜<|PeZ|H,fxL/$XOs0$ װ&i1ugmF:".$EK?6d$Bݞ*~zB|Ym]\F`,G^M7={rI;'O4OI<욎?2bߢM8\5T%8k"ٙɲΩʘ@H ]!Iv]s:k"ahWg[ \xiaVd4I2R!ʏG/13p_m`oamK@10zbAOTүPQ-;vkr&d"2)O}.xuo*k%V'8ş!GW7I7_dd%mhxA5(0l)iy_XmD~,nƺN}^F0n%zW PQ6Uv _Zg9&-K2:naj5ަَrO&*+@W9ș_ɰwNa}^ v=p5u'_̛~تϫ{aܴ$D ̀Ќ-BAME)_lq%‚͠J&|Z`; IƽD؀zͳ `bAȰ]3$-IM1k}DqF,0BcTk8F,(١:5$ʦW~cGZJj)n!A퇭Gsg=_f8In\Ӹ0hU|~9n%zaKb+eCx0Ah tp[z͝eyb,\ Tc@- sU$H(6]RqnE8f@;IL]|q_ޭQ'q~l/EէI~v4,7 ˈذ7(.rrGfpە7qUSTx?dĚ1śA{ӞR*8ʥm@8|Iݶx6ԡ YZ$גy(OP SI@zw>`n%γ $to>,1K4chGoQ4gdy ?rJ`51WV^Y2Ĵb{ *KByG\Y2]FKf M.jPt6L+I-/F?2XxJIn~8t`WZ:#׹?'M%'hkoʱ;:S%ZŸmLhq.QD_y z/䅊BoK-a '1C& g˓v$;T[[cV>[ҬK"PlWF?m귬]ɯA Ϧ׆eCa$ 'pi1!Į6,Gd\G8r;/8A?fGyab4}D[Ѝ|"b8YE̔$qKӯ~TSd%Y1Y%Xb8Z[^ODǭ&媀j2꟨$F[XקZsgê_\#&ՐѤ_p 6. o[=;ITTUhՏ~ٲ)պC3`e7Hx<+&[/D}H*|Z.գҦ2`; u{ʼҢQ+HyHDo\42SDˋTB88;]Ҷ`,]}:V V>1ۦh7jH߅KD(ӡNjj7#DO䖓q.|h]/) Jn0I57zr<D8/\;$) cO<} jZb~s7MA%`WCn u tj˯$c>67'/Cn_XȍáYC?ܶ:6V %2ÃHˆ#Eh<<8A؛Nj);7&Lp |'vfh0]أDsƬyM+ Q)Pt2-3{xTxCaoG3]TZxh xb$KIz-|"I5Mz;Wdc #M (ֽا0E%Dv$^IQc!]@<*&_I 52s1 ƈQl~/ߩ9^JH?NOR {1kzLAt 3W-a%VB@9AjJo+NШO5`'S&N ,iUvO lԽeׁ\ *@  ?qx >ŕ%H'nŴMvBР[}k2w_Uw_;!;ZBV:NPGOkrjS%HkE`U d7)2t ՚R}m|}JąGR]bsF[&w-O46 ncZ$9Y4_ =Zw0+iؕo:I ȫ (l73- *pAhK{ZZK-vY{j [WφVwdXl&fE,6YLYr]#6R.UζkT䧦EnozLI~ U|8\@O Us6iS"^0B}]\+Z )FFgrz%\(xD4q8-SÒJ[c@cMbIJWLg:*\0`>R#TmU9y?8WdՍJ(}*zaоbJ֡MJM١*ZXP.R9$עb_YzszqAMЦ *{鰄e Fo5@~R 9+6/ 6Z {,oqJ4zPm)FQiUJl$3DF\}j/wmr4 ]d J(-ڃ> ?B\%Zjk;#TarVqvf/C m;F]dͽkoN 5V]LS"IX?ViF%$yN"ˣ Q jĖb/J*2c'k)*a7v/| qꕱ(ZX+E()_^m?y%bQ8 F4An "q D2]Q\O avrmU^n`GЫD8&r/[JC*Ry猺)KDq WS%lw 3[F^- JwǦ5/T3衝aR(ޙ]uϻ[4 rVQV^إv1uvjU9+2 SeZ|]K'mȣr'Q8Wx@9wW<~J.[Rܬpbʸ1 A׋rdY'B~qD-;>̎#0kjEK A.o'brh|oznq8533[dv,ĭɼ뜯QWJ)3,?$bl\s^=}+Ě#$4AAZe-^n2e14bo)ԟ< ғէZU l[bgͯ]QĻ࡝O֛2UoH:4j$_:g-_ńLT`ufuQ-g&D m+\{<}')ǽDˉkXzKwլ&WwMp[Hq"0R; si* ]@s [ل\ښ jy> Zm<1l]  C$"dbjyaduaj @o_$(H+IBO^DtUcOKS0'6!:׽腓o8 9Pwےzn3uv`cBmy1 9 &1g%]ӓǗOy"+~H!/!k%sۗI}q j3] wx|4> 2!JT) |sKR_75> Os >41SVރZKG_=`i6;y4pf <(\ExcUp$u"D*aE7Y P}q)7/m mmo]W\&3?OŻ\>㌁ۺJԆOG.Il[DlFW+ Mԥboq[&oW֤N4m7HWF:؄w争@ (hҧZ-ARG>fw86>$ .& Y,SfXE,1?U5YEC2sxx];8+B.LSB+sLQ'mMW\K| %; 殊>dsm\yv0oZi: w ݱ%v!nD +L,xM[$L'"~;A)r2csq5GSK[Aŭ+ FR}[ѨU_nST]/+VA; M"lX.mjs;7yWb= VXn mڔ*0 H5k'qNG /Sbu& ͇;͹!%P$N+Ia>WT[\!S {!.OM#aӁdm>t/IW h5;h׫α\f>#=)k̳k ܮ!Q]+_w=,/»jLIaBy(X1mZ.Uv7QaflIM$p'GWMdmU>mIMU|%".pK*msNMCͷca:0OA:"Gن-"Q ԵfF +3a4be%||L"ì[Oa^ɼ-HV>*w]27CT>F5o*2O,ٸ0 >n<1P''F;),{v\vzbUp7baQX fN]4ɁD] ]MRAS>oSKKƊH+fE.gVg7k2V22 и $ }ТNAB$NƗT lA,^O*_t=K"os 5ߩ&:D#"\y[_Uu_P{| |y{]x'RP!80|iZhjGmq^e95y$j0=qPY&b;w^Җca+ǎ7*xuq+ '_Zw3;KvV,lC1M)SNjXד2;!"#揭31\ l\txL ΜlJ$~Y ltQxQJ|Bseͺ.tZb뺸&LI *R %[gf KWwd'PZ2Lo"wpݲ̕LfG{2'xIGEl+7&;o@t4ϠJpmûW [&+(ܗKoWF`C`j,A,).YO”.OeFd5|,qz =):gW=c ,6&yeleGfx{6LY)8Z3" 6 0#'ӳC1i&?4 }piC]~Viwn!D! Hv HJ(c9?0B30k[j8vr>:tO!e 4djRcӕ( 6 ™)j !&_} /IXB xHO#` n{;DYqנ֭PvCxmIw"  {lIGDo¼k6`JɅ5gK-܋?܄@O/Q\Qp,<2N﬍<%1-@kȤh}®ǽ$NQ'd*# 'b+-;>#4UšބАn;~:K|&@7["[,_Ӄo{L o2-H]x*]*uT@j1ɏGZޘx3?쪨_?b:qw}2K j4*qR<^SUecF)L*DF;!9I)ov+Т) ;4@"=z|K&0VJPv#f7JZtE Ss%ƚRwgo84Ϣ/cpt n68B FLH}3*hL {̾mf@:75P %5Â|Ȩo]v1dU ӡ{{V=,=WwY#?5:̊-;kH>b"mн dbxO"+)zѥMaM.R(O]x f4!l?!|8ߦ 2vMRz&/etqfUQzo*5dlZɜKKi? fl}~<:v|Z+abN6ZDkTBEՎK eJL.z9Bo֔cܢ(G`(,bU⇦X6* eNz6$zW):&zn72f"T>Z!#,FWqQ\YTv_{IW:-R/v8:4_?OBS릌4^phOװ24,fä +"|cnų!:bJѣ%S;6E p`><FM~%ЁqE(vLtW]f?D8?%FUPǝHX|YuQe$!uF}[d#z8uF }SAC"Lf^i ~|ŭmUV!0ްA?||PHS'p^+k$ڞK_,ݗx>YN5{ nl E,K0Zjn}4L LaĚ|Hx}H/ w U[clOl \/9=J/`6L.nb1}&),z (F,t>ڠ݂\Ro.Ch]o͈:fј]G$Z64`tzR'WN inSC閞D*k $~ٴ* IbBF~E / OӼu4ԶlZ >U#'ID+~=95 ږ})h&6 +D[ CT~R'(ܑ鰮(n1x:FAț_ q?~U>*'Uj@1J6j$IRSX8PZKkdP륺BBsJ-PZ=< wln* ia $(N+Gr(gYz=~}Y*͸'=zyQWR1,LT)RmVNy.Da=P_?=BW J)d8a}-\|DBqo@s!TeU)Ck-Q1b>{Zf~@C@2PF5W*R oD)@'`3dJWM)>*5չ!٢:oic@˗6ItdP0hi8qzșĂdtSz]LJDtʏTZ|^lՒ?BcNOGT'˔wņĠtd=a\D5PeX g8 @PNLƏ npAPv}sYsF頾fN4lVMfIЙ7(L)c3sZ~P}OѼZgB cC!Ig7eW9sHi"U[4pQH <H5EV9]Kk_qfv I&|Q^}働0Az V$iB]T$'Fktԟ*8y6)]cڕ7\z1}} !SPGt_jc0KƢ1BFIu2_!]v]  oP)MniT 峹u^F1{`Aҡmw9XLa/o<*kF4٠NKuc{K^Xl:Z'O Z{Љws~aZ5?l w}V8(0zxVci$BO->#q4Y;Mjb% PK!ʊ"r2 Af$v4-$ȵAimSrּ8Zcro*oHЌ_6|4"wTDgqTS(bu5T VPx#OZZVѧʄ7YRV*_C̓ qS 6?{J"@C;gD˟.8cЄlqſ;B"?}1o[LYѓbPֹ ꤼ"W(j$=7hޥVϰ] w% /3=%n΃+nd,tTߣ"@-6IfZi_/s%VeA(FuJCYF0X-_X@G>1Dook勴b+}T,srSJaXG;K#[Ɖ)>LNx)=F`hVnB>ڍD>mpI! d03H!}9m BDGw;ڈU*ęǀ]^o3ܲzgl'l5%{V, ]?9ph D?*qiG2Îx28? v1y 2+h Kˁc/B3{ܜs8FcD#p37 qKQ٥}WhtWه'/RzQvGЖs/hXDM[536iA58IuեckIT 8Mө9W;Kb4‹]FӸLCA NyhgP2lv Jcy9͘N8(L&XZX*@xkBo(sL||&uYUe uD7,2[N"bpJ?FaիcuXIvy8F/XE\ i' ϕhJ ,P9zܿpCRwywh'ۺʹ1~ϋ*Myt>͒ `@a~580>LVBE[*5GX*Tlx.QD3b*aÛb'KPa9o唓wH+NEBT1O%S^ct \%>Z)MN7e9=@?gyw9Nf}Etٰ_R=Q3v#J ء)@^r!_Mi!)7_}*~XR1XifYϬ6HX;h't~/K&&U9_!b:IZJF8aU3QFDVA /1@`_"X65K+jw乕Z/rYi"Vjv-RY3mՙ" Q KG(\h]Ŝ8'^!JCtSd+o5A{?W.E޾p&m~N5I1oS2]Qm*tO6u^Nl٧{h/-^Ϲc HWDZꏄ͸7#ELnk %a9 Xrf7_A1=g4;~dkS"/~X9 (ՠW߱%5*ËAQZR{8ŕT;ǷOmv*&Qȇ35in;\S]ړb!XX, !#%/Z=}كbHbi B} B 'l$牴~n$*>5O,fGLD51(JV!@LI\WϷe^~<_$M Z:W9 /vZהqTMd6a@0nIvds3I.ǫ|NkpFyAYRޮ",p;R )*Lq.u02[;3]CG|"Za wlDic'B^9Moa/@rݓSbHVJ2eD9ug5jW$d=D+7H$U4H#xsGcr!e}xD2J* ]=^J 41XA O-;$~%.$$ EWOco',cf(l[->o$.qdqіh`2M|K7o5} ;9>JLz~p |S^ -(Tn8N[c%l5 6OQgH-\K I.i t'nH^ܼ)'#EHnU5V~]|l 2oIl򜀐dۍ$ʗI]NhBᅔ8LZ1U{}c/҅ARܬ1WՀpnC\ ;&yu[Y1)%ʹ86vOa ^swG RX8^,̸͸tdl. 6hdmDێˆ\ϫIMƹ+)܎c 1ڒr^/LJe֥;)my<h2ShEjy{ AldpUx^$2~\BǪ{>G`]G;ƦpQ9B_V-Wʑɻ[sՍ^ÀV4͸Q4t$/9~,hYdcKt+~Sґ -:rc/leCZuxQ 'ꪥHztʁ!wsl)g|[`5#K\ѵk*|)Z5>F98aasPS*G=#*Tݍ"wQ/C]v)x. 5Be2/X朒z䈿D ]]5<_tCĘw_TkEWԛj4J乽cc}+޶O5.= oMZF_{fp&Q*z(Q#7P_i "!^QjrI! -FH{VQa/sRH{<,lZԨx)J4_?AI, =Kjv8hEnyWRZS!9`EߵVl˗Pmn}>DHm!+;Z%ق̭+܌UZYFWÚ*wknO8O(#?-}_݄0`?(Bi|q]C/x#%qpjC* YcRWXO*Ew.i=6(sSpƇv|$~zpN>WS>␬h[6i>Ģȶ(c(aa=N!u;zɷJ\ sN C81\`Gg'}|;QO *[=3vdUֻj !?kwhŵ"[p>ľoR5 )oσ5#Zy\mh$ QR*GDl:Y7 `\ gcA!8 /7< b]YZEyd{s*Y͔`$v%#uhQ>!@ uLTbI` yG)):˦ =>V|>o:\*n|tz5`]LY~EEȝ_P燮.4ܥ"WNS(qw-8,jFkTT GBUeY#qSLI]P^5ߞڊg)c┠2ï"<˫21c&ӅƨhJ:p O 8{ ai+ゃ6M +36'\H=†UT#Gˬz!=wǥ դ b"Yۜ?=x ԧrdlN`]DSDHO|sur1z#s:qr VlWi^m;)b"3zT{;z/V5!?M0m, `8j OrX >%\RHqGS5TY9R1IUsa)~V4n#2177w9as\[ 1FB_<={4ч 8\0Ԑ;LGp{= W8͖@c\k:BlF6Ay e9\6L 17 ob]}@MG-Xp,5`~BD\wi2b6S: .5_hyUH Aw~U{ҵU$!̯'M|Mf ;Ll{MB{R|"N^/ңxC\ 6'8ދKU+:bZ|eu\;JQ])9C}H iJ#l6{EsEuLB[GG5c|D1Den}7o(f^HALri(!w{ V6Ӹv+VDr+\Re*;l0G3ibrJoy/DǢAsR0ŷwm:ׁ:dAGs.%o|lBE==h27mּ&ZHfC݀H,#S9|9c_e'՞ !We9y3i݊|FiyL0şEQ C 'L?PYF'~vڵ9~iD0[*_K!m+#џMӛCH:kA|g՜[< ^9G 4\+Ruk¢ Xi@[yJ7wzj47yI7/]4. ~UҺӈwJj+Qeβ._qyK TPnMNoS}g虑hOoJӱ:Xj8iǨ>{"O:Y@{"fѠq9)A{!gY/8ZV5Tu-!,[ K5HF[?,!^Ük"K;3@.@x+X5A{NVD:"0? TyV̹&26*+N%*V:ʖE{@xݽPX}1Bkq{J&eoO&9 ']ZO$~/2Wn›r/DΏ"R@l=@tEڷ@|3Ñj@fcrJtբlYVbċr:J^!=giё;ĮWaҵsą=8Avv‘4ͼn";SUmW<,EF5] iLggMo$o{9m%O_-Ԋ1ɫ)!\SD^\QӭyZcg(RB= ApFJ: CvV]Jq9S$uuF>IXmRk'鳵ڣC-ǽt>qiE$Q’JElqrX[$kozVvsM\ :\ĩ:;QXv֝FP{2O""LX v18k? 2'YQ$pҙRGJ횲\b/ޏgT4OsrH <֝d =ĸGܤ(c2jǻ afW"ULrmn>n-"!*TŖPBMϚ1Ф3QeT)7 uk4Bm9\3yr[ ;7 ba_#aeMǻ&yqcL _YoQYɮu~LsCkGdx~JrN,ʳ,OGX0d?D =33GEbO%0tCn7-eRc]Zu#yϵQuw{qy7I 1Qh_T 818>(:"w!asC7w+?]+HxNZť+;Ģ({ܝ}QC 3m]8.сugdg*- ,YzO@#T^W@Mkuy>ED<8ag'N|"g[ns],t _oM]"₧';(xMQX'gf7`Z ndsUςy:k=~klqQ"MN =<}{%/]k鉷׿&XN)nX9QQ'Sh[&n@遂4O^&$] ҚD|ϑ%~QP&gs>aMSaGyY%'R?WY4@k6|*w̐2Ӆ@ǬrڭZ_*]sR̜.1x~ϛФk!lv-38CGaZM( rDU ۪j796G3cp.4V^u ʦ,5YzC.'ZٲɩU'ApZ/ !&wRs,y;Ml@o<:^#~]g[9h(%3<ʍG>2os+?MKPiG~iXmCdPi~k|PVeac3 HlAͻyoєa|yavzGh &fًy:F:]\]7\VW Bc@/k~XMŲM?7-3gH ők̈́z񅂰Wff8ByrL-1҂vurHaFv$B _Ѥ]qǶ&j{~r M]#\HMӄĚ))wwvo1wk-)vfǪWS'oX e)Пu&uТԚ ""< v#6:}o¾]H?)nOK' uS CJ#my !0AM̳P 2ܸU%rL.g.nN3mC!tVgz=8M8%Ç)-W렽5P|& yɕgJƧu|ڶr |})Wj+*@ .ZP@>>i#l9-l!Wj{f$mgDnv1(k':RFtK`NQlM^]q9^WuAt?l!VKwWjfDcEn@|س͓di!T2)|/k )鹥S^,5;Opu097$\:.)kJLGѐ738 NW-n&/ )"Aͻ=/U7Ft4^'=Dp>+tei;RO^`YO(]WٽY`6 /O6"'G_L|ϡxFVsfa$/QɡvJ[脓n`6[;,̂)yA+5"_a0d $1iJ3r<yr;ouoÏl5D6[uCD"iBۣ p1GT弉'ـ5ٳq9lX]䛼@9̄C 4lYeyAl:XNn)IC:IkRyO>Nhˀgalۆbأ~8?l]1IBew׎g1z뤗 ւ&=x"iIxnS7ǁop/hG$Ȳۣ YC\.8٦Ow- LjU;ϑ/ˋp^"#=%45|Uցnˢ;hG D߻tDe4Jў" V "rv}xTį`rǰH0fMZ<6ӛ:[n2/ս);ٰ_JԄ;V#uFI?`!O)ؑ'P}zdSbKSuwSQJYW$+r,,N[f:$^:ZvBuJ.?äJVf JEѳV^6Qmx 1;pݱ{l,5+>fOg&v.)[I p>{jc9Ny&5r} c$y7ޛ&F`ntܥ&M*BhoxB YcT'i; L,]ImJikx֌hJu nACXRpH-\Gjxre/jz!5l,2ٶ^HDŽ%id,؋y5 '.&Nb>ugf:8굅_z't*U] Ѭn5Sͭz՝ W#V0g4T+YϧY>|9!TyI\Py>2q$eD.qQIVQ!irг N)G/V3/F/ͲlNOdKZ%]B;EU;  SJmK+G*!y#kRyVܧxNF!0x>.r o '@< ,'÷7NH{r Ii PZW)nJ= 0*(À~%c;{Nvgo_p!8'K\iݥsq"QjB= AA-yS 9Ӓ`5_gcBV*NЛX4 m6yz6| Z̑ -e+0nal/3E]Wjڤj)f1EᯬzCub[!NtQڒD9KE Dib~Ũ/>=7Ih<3* [EXnFvXx 0y/`ځ}\ص>$j [a` wI,;p.X>8ARLZ40˸>c7{5udv{X/'& L~J28&FdJѺSAQCMiz٫cR;D51IIڧ"U"*u4(; Ze{ qaT)MT r> ӈF 2mÒR IΞJ东w#JzFO$j~M C:[GnT5WbV cXsĀ'"90kU%/k7p $tn$`lu¹3)`Px'$w2b2yg-EJ6EodHх%U=GfWKFrg[֒XSPHGatqWI31; V+ѻmiP]JâQ\EjjPrѢCW!$)ͭc_1h}7+S?Kk8dZL3 fŻmni%,8(_OR-k4ΤRy5MBw;eVZG b~臑wbV%IúB{[ϛ!0lyqmM .ffE.ƌ 'FHfq Om͓#"W8͒#W#Za#թC8̡?׭z~vGɍreOBkEEyo7d\LR?3_7>olYSߩX}R<C@]>@e#.CAQ7|琼ϧ,3޹G@DXRFv+Q{7ɰDm^-iVXGW9e|+;\>-$," eGQL3ۣdHѴ{܍륑9FKP,%-O K)^d : : LJ+b>>DG$SX %85a`?wA -P0JK!xfZ׎׵j' W2{LJ?0vo=_\+&Y9U SReWW&z!A ; fv|o o_ 2sIIܳ厦"#5~r콕s=+~:\6{{z㗚sIPD/آDPTa Jx;՞EWe[famJZ=j0PSk2茜yZ FPӳ19ּ.S2P 9m҈hitmEx͵vg伲BQS}y*7kKG?7JH:==EKnK-&5k07nm Y9 M꣰s\zt5`F)`'mOśǭmp vs 5 29wa9d6 Gs֪ t ψ)d)NWHRaWxU*sz) )^ϼ *rJ3|ai_ p- X)S57t:n0O$?\Fg\h$D +EZbQ@MܡWQafRa6]zrE "rNcÁ5]92R:?WE> :7NempҖT( jj5 Rѣ9av3)ODǀ V,(SjG)[3.IƌEV!tpaS/lr)>p˓]|Ny7qGT0`{{nEBP^:X<~Ť9pM_^#+Fco:AUy8oJ6^ŕ9oJ x}Չ3aWG*8$&0UeG@Kӣ?t.Sbqu+Un> Oh?m{+X;&EQu_ Z)(%ʻK y~'"bj,~D}r A]8RH4HK&"' G6-buJxH?i LH8ՉszJFDPl6{HrѸX2^TI_) x%i,(8\#&|YLԙWA+|j< ˢqrb ->cBuefBy!N@$p$p ^ȫ_wJsZ=3?5q;l dW?@߈3W-foK"NMr` gڥ'`ɪsIb.\G" c/F&Ez!SX 0z"d]{= &cob[, \FFsj+}HOrrIDzQ9y yVC-s& ~)sLqgwڵ`:JS3h]0&."V <. Pbf&'PЊ&!vv8J˧JӨ2X&cPHߓ(G2vDI!efA0_+ȝT*#$ 8 xԇ)Y|XHYVΣ Ĕ[oެ, om?Do,_.Sx(d{ g藝zBxo a!{߳n2!!. z՞gOюz;>0=2' )(ɰ/m4^ER1gz&Qb!XHn*0ѓeʯ/I͉W:#e~\ ,v-dU?0]74wv.~|>Pgjtx@> Q%"Y-*~{qgq΄W$:ߋB\G ޯ D7 +ކ$`YwHlusm>nG(V7U]?wA/ME+dS;#qڽּ=α\ѸLQ闊 K,.be ڟSf.qJYĊ"*3kAESva@zGU:B]%%ۓ_wh_'`@}$ Epg/- k}5q]G>[-zO;ry/Y_Ym̏r= {DI愎lÆJӰ\І/X^QDeHy@yNnV:{EELg/4,ځC;K,qOІ7,cSS,oם‡*d'q傁F7N*ھRAF%뼆~ Ŀ\4RdQ&*3`$W򂮦Β@nsW 1R?j]Mt4Pbjdk}t%1>fRbN~V#c ˴SI:{=a-CIg$1hD$lzm[U|MF̨A ?/M]`/ Aզވڵm8/^0ʰΰ ox^n8ga} leٻH0G/:岹kUh|)H6Åz ?I3qhݍQ*cF[**har'/;!{3ljeڮjʀ bFg%cMbI( 38I8aC ;m~z'"%BAm=[.Z &5?$kR<NjNLeŃ=Z<'æ=)"aň. (3mx ֫ <_׽o+>`}̵~4I<]sO[.^.[u/C_II|{<\;qN* : kYĮU3^荥c,*.d'ٿ'W $ul4 ޝT{-XG9^IlWVJ>4AVuφŀ bWOlr/*a]7_{$#63D˜}5V-X_Z7Y@ȫcB\T2%@њ۱v~kJ+_%yK '͓0mʊ1"n@%$`㲣p2Ip>TFjᜐ 8ǘO{jt̠l1>7[%\*1vSK4n(A+FBkIuq([#C؂؆V R7S+Hz \S%whO1! +Pξ1^ٔq9C4* bj'b)҉yaƥϾRXyU ƲTKΈV֚&P֜7rT?jt}wC|V S񞪬G]NNNb5:fUá ~iD.,^:zƢ}0}IG#P;)u> z. l􇖌JDОHl"UmdI3ps!*- .Ǒ5"<@*H5CT@ q-`9tR yQ"G5Y&\{[SKΝ¿a'c=Ǒ(p²αXVTW(V#}kl&/%UJ/g{deeS>߃*Nd0\l"Q+*scUFg\!Lt!VM˟c ʁKXSp'*4 _2wȧJ8`n R}`TK yxc /v,! )dgq>SkKg?r`ArP!l9dۙx)n!/H#vMZT cF^y?=EzoQ++Ǝ!zB`W'k `~Ndm%潎5jw4=K-V|#9%RvDuuͯ$\ k(XFI7zeY8XAx]ę4\kbP\l e}b50 8o(5K|ITxD™$ʸV9VpT)o%`%WRvrU/Ij&Ribmڀ\x X)%/ /i'tе~(41]nQs-:SoI!=LFqB Sb{t;(CUcT&ÄUxi.#g!CzQwk鋞MB/ȜeT򋇌 pC~="j4T Da~$t&*(ϲ{ũDC%Zoϣ l6S+'} E [樓ygڌnņ-OvVz{ihBSA*a72TA o=1V,wFoXMз9.NB 1)Sq+a@|U ?mFu LfιfA+SJ;(3OzU""txr.MDa6ID&,֟\:W1¦{e5ÖPK~b Lku]oUڹ-"$Cٷi? J5Ay_(ӧu-Mm}t/`FRc: ₳IOiu돌s,i<0>?`N4x,!κ;(-lBe0Lv=Zcz!b>? sܽ,Ե #9rB[I]Z-zPVL%*B?RqZ @vb#A6Bc̆ SԾP:[ Vlm&3pχakyHͧ:xS0tIÕC'sZs GŽ"0Ԙ YS1()CE%G|t<йְO76~+pru;Y +}E/,ygHviŁEPZSGNUv+G#Q~\!Kr7;}ֈ v ju&ۚ`[{mxɕ9 )|~QO?zR%9j#RO 4'j{v-GHoG)oZ5N|cޱb(̀pOta^O!'ǎp&ݽT#T,pYZ5FIBIDWYAz*phߠ0G"Vn5O)8pW/ r RmͷQa>quP&jM]haЅ3lvf!c=~/-:4awa+V=b+ݚJkuq8X7{s5I L甩Yꎻ֫'c5Ԕ~*KCϸݗ _4x#brq3-8Z5b[U(KO>V{Kg= % ehN \q̺.1#%3c!..z**/gi8P:R5;wᐰs,\U#;S/ U (*VX_xc]젹rdzX )3U`9cydxUЭ$C[*Psh7f#rj G.̒H8*R 4/}2N (+?sDKO5wB'?1l/~zj&vx%fO` e Uf%Xi~Cxi5U:r2J涓=5Vd*p_#Xn;Ȥ$.1vOd#.~oAY[PHuAd٠lC'2v#ꌚx ~ o3!(#EY BBo AUOACKVYBgAwzA^>)νnZgiN& /hx)KDUu[ ryW@{Eot5ihNнy63#쇭'$Z*hU\; "֗ ,1Tb'޸ĒL'Fx;_:YJ^V xFΖ'#ӉzxnGBŪIlftBgp-{_:j>>0dſZ{qx?) `Ƕu) 8Z4* ]wuxJ)xI*} k~}A3 a5R\W4q:@3wb#E-Dc!W-FrٽL 9#J!V셶чVjnfl N{-pc[H\[h؁"ɨCp6,D^z#5:YTmIaKjMtrKD4AE!]GVݢ;3,./񀨾 "xss cy>%0{}"iF)%ԠG%d|ёa=A2$ƗFHDN/M%>s7b(G.Ȃcw@2[յ*:6N'fo $գYa +#8v9R"rR4d^ݕ>Ә dDʸxM 1ЇXɄ]yوF?Sbx*@/YXv%C(V͍iZt5qqnjXCW|M|dbH_<ސ1!c@e=6)lC1~>3lX|A~u;j95[~V?Hz]zX#0pS_Y`-BB2)يhJq oU_"q xxlMG/h>.{GU@լsbFUA# WJBV9j!Ĕ[qC2c^hTMk$)z~<&H]1rƏnAłQ8 {bj|?gh3FӮx|:3 11%RI]b*; ~dVjHen t-LUoj" E~MzÑ4n)9TS읱Y^68xlASҬsܺ/naRhlxE Åӣ(滚R Ч**fCgձ5Z31Re6kG߭Ze GY] M 7[!/iw3yMl|u*cg2xqP}%[Zn> Oa H]j<1QZg,;-a":{4=)gm^fyL[u8GՈf\Z SSVpۜ,-/Mp_-?48Ty'Ah'ǮV<|;cH1 ЭX@ &ؼ{~zZp0x{_9i;VZeU*Ǫ(H0=i7-Nvե"U;̖2FTb >z'(H7ZрbIYc#9ٲyOs|qҏs b2}%ݰT{3@h߰n~7 Іk记K<q^QsM^14KJ!·4IhRb\rH_ZfL!}eĤ^^?U.|H|C?l\vmFTEUI+n?XNa11dyj[Cwyd G~Xoc67쿝<ɍ.&.`q֣|u)"RPI bW6b}É;exJ{iNs!͢uV,x+Z=^MP9q$IWQ';iO(݆MWiRfVN3 H4n9'Ō=I%' mKj及|ju9߼!,`,D^ň|W|b+ =ʗ,g#OBE7 oc _=@TSCp=C_0>ʰڼvDWrcs~ɖE5WϱOOZܣn[;հ)G yDχ3wV 8#.U1  hRZz DgX(EpD4by>2z[%ŷ?RBHG1CկX3 5f5)0{ZSw֐]R#by$d [B8!ZQzJbM8}FhV.N.-a=34S=24%H_yżz] =fNin0zV5Mb~T AJ4? ;LɒTD⺢'C!s6I !iSO+yЦrLAUY [ TJ? SoW_0UV dWLJ78~b>}9MYʹ:<\'"2D@SXlE2%ܯH1Q]SgQeCۄz[iNq:ۗ˳^|J為* qB<-,*b'r;Zp8>*=wR"tR5@ ~kw!'è#Ok6%5'"5uE-k! W{YN!99TX+V,TARgp8k@ʏqɡ ];I6m⋕kFCq8|z S?&ͯH20{G͝2E`dpӞЪ0^Ζ_jͱX-Hg@k@q gNVS7N G!PWY܄NTv62Gf3AWxf"~e=3G}^Ѽ#l'&B{f{kR7Z;O ?9Q+s)D$?@"m.Yq|Ap7( `ɹz?^bd0\t\G2F|w.T"v09Oۜ.(1 jU{nZxͽRX)"&̭caxZS'MbW =ir'uXX+VLNݦC~o(WJK9=ըZk%&d@[-jj^ćT$`9$5wҬ ,j*KKXǨ/'Hb&)a3f4j=>>@+$Y~08TF4骱;|G 9a1Uy~79&-^{;F"-t9h, $-ÃzQNqQa॑)lfms|ajU\; UF|H8>A~Цį pC)s!?S\$ܑt5hb|i`|/h<|UA)x*s>9ީ#ad+%f&;~E8YM8ܵbNn1gN|xR1v,JVZ,yZT{{ӨZV JڵdfF#Q7?ʹkFeT zkoUb`U}Gq U [vM쇲O'Ai_yr]>ˆ/2\]i $ "#?VYs"^7j= cOvSѾܗ zG3T? :=ׅW-?Z-rR>D8Ť*g]c[.D*X k,#!6`GG՗ ,f5#p7`B~o&ZO(}jm;;c! :U3kAmn w C-g@!nvg/Yn f Nɕe, |å0Zx>Ǹ(CZ Ā_}A٘fa= I]T%>k8~σ2@MBdQX Y2ѣTGB2A^Qo|':JF}A>P#XMчo9j{H>4 Iy^7F~#6ȦN\LqgV y)=17kƊ2x44MAf&G m;OE-u=0AQeg %̪mmbvCJn1) n(<]79X5QVŪc\%jTim8Y"wv;XT")_^O'+ТJUyLE𪽔$ą1/0wghe=#kIE3_`]k!r̦Z! YIFB[IJN2pBEQ& tQ&Ĝ]4=+m3v ąK$ 몖{}c#"`gT2HNUY Sژ>^a̘BЂ,&]!r]Pj` jX+d`NͰMS};EA6\,f1Y!zSLYjñЅuZi|& vljsڛ,1H05^PcՄW!J(Qڔ?7ña(w ?gwtK$a}[ڜIRCOc,׸u&65'w&ܺJWDt{ 8yϖOv7#7veqNM2P;*`c**K9@%h5u*ÌnXz4q{dF%O-Hd`$oNPx\!CzD*o8< "yYv@" wN6비ֳ&F?poΈñ+NroئFId=e beU&ؿ%Vb; `š@@<+s7;MPs&7RESbO YG忑\Z]&c>-gf&/a[2Jvb>Enp,RZ70WtI(fm<:s$ޙNFob$B,?¥aхC#`avƻK%q6|az"917Jc9" |CH@V۵uā Щ]&z;T[ -}o6Y=wu2iަZLk !_zAn*"J`87{UM 87ʭc|{/ͷ,h#$W6lmUK\=xΎ |"Ez |mX |ral}ک'lk4L /c?E*_igU׷z̓ĕ` 9 f;+i3ΙWR b 2+^>,^|(IJpQ%9^Fȑ9eee,j{BXHrG?;>4pjY@eة/! #,L@2ZN8t%S^5mh ey^XKJ&0@UDT:N6zfDs ZJr|ȣ^`Hzt yo[STlf1,mne$d2yljru^hZ^F$7Иmc7 LHe.tW:d/@W]ԻeSͶ4"6Oo7͘dӾ%^Ol]vG<qr{< 3AGs0ي=+hb!%Aݲnq%<>Җ"n۾/tCgBCK:]A :?n+I||V#kĵ/ځN"e$T^E[D9VG8סr2H(i4P{}Ӯ`?JɖNԄ-948NL8:?pS#Й궜PsxđqXz=ַ$Rbqȣ*d%iTnc K-5 X׋ tNE z=ŊsA pN9?kiR/#C5%j=UzcٹPٚnکv: Y'/ $9вJO6W=@yjK |Y [!5 >bѕ.(<\49ރB3i*5#!9.`RҺ (mĞ"Ж՘t0W䠻7Dċ$$sq+:~h=dKQ'.cg/'n_g<©H09sv_^m7m14 EWN GʔaBs{Ts.ƞ n7O'`hk=SdMޕlDw?o|!kFl:،w_H]Z B%7saNmoxkogc2[}RZ}VF铢 *kOĩ-Y̿ == -@ֆ1́ڙTFXNm\y:03ʫ\ˀGR,gӈVIzFkTS7Tٝ[>z$Mra9vmŤf;PJgɛ?Ĭ djrTB ӧҐV# xl-t:t @M@j@]D?fF'<>iϵl7"~ +\E-ěe|^/>#t@Wj*Q e*8&fJ́){K9mR~ɒ="D~D$>],B+!tŗ1ǥ._hزjn|ǻƯ /t>!&ǂUQ͛Շ;d󜽜\f@*Ƹ6\ȏeH0OUא`e:cFة\g 5?2I׫ɂn/Zdc"KdZ˃)xwAAQC 0X2E'}*syhu;*5i)5'&؂o[, Odt ZUa\dwC'G5_(1 =|LdA݊,Zb nϧ9AJV͈Xbw"q'⛕e֔؝~sz%qS{^L^SoFg'mp8)1+6\|nD,gAOw0u_IdW9MM4Kʉ?fɗ /@ /deu4lT:6BdIj (yc@w7F E%j28x2O=!&gpAdB-buU#T(1pLq+oXrnLl2M\Q"`=c 61q£_7LRҍf#Ť+JzrA% U{֝KrՉz$ǓIDtV:-v9-0bJz(PTRl;ljIh;Fĕ?TOH)n oǗlɃמSo-Isrv&}a z[XqK߂EdC6d;)O BrmArL5d)xfmQf#.ݓ1 !kj~wչ_g BqiBbFhtxWn / nJ*O'&'HNT{fVpc*!8wYW1hO;#8oS8eԘgJ0C.ڙ_"/=<@3jw>fDlŗuӦطNEKfegRxZou@AΎbxsZ۫%cU(WjQuϒ.6H3_@ehYGl-O2hnPa*+4pQOmW@(*C/׏ū(on).Q fOq (iaul)v%d)/ǹRUsP텥sj?AOe Y /V|qy+>.ju>:F& hՈY t ,N­7g8$d˶xY7F5n#V @ro oɧ>}iYάZ|Ņ¢@[aB&?W1X1x(Q҇+6; ?%y19U8:U+Olxa"&^NkH3: xԥ51y ͐D9Z轋 Md 9x)hk+t"4Y@P@eeNqC__xe*Ε"(NbmU]$mv#8ub8W9LwRřFJN]FI2 @ʑ+:\'' ).nHQNl^ =iX0a \F݄3 rbLW=* bV_ ]hNO,Qۣ_~IU9Fx1+09- ]b0'$8\Vl4G͎-<~WWVlKG DIU",ЋD&yq ^H4Nr$Q)8PyQnth*Կ S)j.:n.rqGv%[G-MCFNJ<ӧRϏg>ȭT =ezs0.御ɝaĚ@h+mTN0Sq?o7ƦuB=:3H:o=bs0p|47Uz8-?Dni¾yđkphxBrYy BmYXh|q2%+?/٤bБ}!"ÔHW/ pr3va@37Rqg\G,аr"g>׍B*pF@Au@W ^T!] ["ˊ. ˆ-f)9k"\t{2ʅ,3Py_)#4u67Jφ0E."f%ikR"3/U=n=1ʣV)G_wǟ; gČ3(X a&]w"#WKW?%$j^0W,CD]MiˬV OkSޮ6d޲V<24s=a=KB#E=I)66ʻIXOpDK|>Pn)2Ȣ D˴ӎ-c+蒰ɱ`#Ԡ% WzWeNۖPnGt{_/Z̷ܾD+TBV6ۗywvHy𧢡 аqIE|T)WWb.fԮ{}5n {zWB% Hɗ6 :P 1GC!_o[;F/mNuGau=mr.2NM{Yv"+[tnb8N=kS"e9PbɜaWY,oXUPwR[dN%m|^L5l7_r%twCW="fRW6Y`xԛ5\qCf{oni4UJ\#IGVH'Cx 67,xWD2 G~ȕIj́`و 9W94GƱŌ F`e#lƈ0=!,)7  0E>;B-|č莬Ae{:[O/w[tFZPu^׊dYosTG ># v q."ABOH1.bJ-Gv fG0s{WwF-,L7YyѮoZk'O`n5^9bLX0ɱz9GoDvulHbg\Q ߜX5veshXģاd3 eP3Uc`*KP1ސv?j3 ^e2y=Sΐ#Ϟ $9 [I`H)=Eǹ-R穡y* ۈZ\$'Gqtbh@Ji朦}ڜ5=q_ Hm6OR(iL@mȄs#d kμ>kw_1JѼ2e284>J?>!V1/8FB[aAP33aLLNj63}炲C?*&kjC;J.'0D)GAPjQ5{P3ZGS9hp.a4E x1yLU&7g߳7/ {`T⹐4]VVX /3@`-HW4V$(,xL&/99'pp̊m4 ?HUC]nc>G~_'_K^;Lip [^$1(mܧ9Pc7PE7` ~>V@ 3mu:K5r`ί:4p(Zw3o&'S&*w0jPYQ/~Gl4 :Ԑ4> %~T˟37Fl6TE !,_Pǵ/*~b8GiBS}L!T+O^[()͖p@gpj^nDG\_wPf23}rUA3`o ` Mirb?4sH㠔l~P+L];!$5eD7{HcVz FN Vͧ=VuX7YY[{D^ F`fׯlX~!C3cxm\úxΙt8"V$xbo4T+,DUsL|SޥvFVMUƜ=I| vt8 &s@j"ssb;6pdsYN⾎nv vM^!4i3d㐒u=MpjP`K ͒lVQCM g#y˚qQi {3swZ opSwQLH"bB#KsnS[gg Aoxy3 圞1HCԃ^}ۈY笞6TA*|o*&WV\*kkx\JKl &y9K|7koor av}|l=-,f Ds `1rScq~P aT9d7`q ԊWW?j`U},e"V{+[.%Obˉ,NTo1|+Z X!C"X'b` iA-̐ǨvV֢ڿRV@ΆS-Ir;PUMhHb,Z~ag}t墶;#Iv[.`7i`kFiz'|kl xP锒|74@?&L?*1kƹA Eճ$Na- jKD& -3P?'baFл6cõ5s[iA#r!Yڝm>x/'g5>W")TB6 TX*xH4(]jor굕װ|g'4<42$2bpZbbgd3 Ќl)W~&C_&x%d"k1FYCB9طm-gچ  jeC59buJ{٘h'MºS!w :d!bCFSN؝Ebx,/p/0.3DS6v񕢱 B ڽ4Px_7鵋*Q.dcp4lxbMj=ٔ.%чܠ'{mf3jnQ0>$ǧm 铜io= 9I^tд5n77wU؞ %o疰HX\ۙW WhN)SA7|9cmH'w/d7LRܣ/!x3EBLN(vW>7"E)t!UϮLj Zֈ2}=~"z!E!Qo-՟x*^҉?}%sAxLEc^`SSϟH3ɡ;AhI&OܽB!* Y 5mel(Rw> N} B'aEɊD+"17 ^6xrG$M([R7?&Ŗd$)vC~Y*,C\˓zՋ7Ƕ qx\k 5az 'M&T_ބrrX5u:Qm,^x~ڑJ ȿSl!tzea! `V{~5zȊS[͓OΣ>)TփD܏U}$ :[A8@9QUٴ/Eի}ͥT)6|3!E_z_mv¨_Ev\Jaۃ[ĵf6b-@DHs.>Mg CɭI#5l*@-V!p Yi|B4毙lZ<#'/ܞzH5B0[+I-ֱr KF/.K±5Y-;%U8׃+B<7شcӰfM Dc,C.#@ç(WK Ҧo;֊#2 C}qci/_ -ЁgtBn^ݏonvtk @ bl#?5::PmHpN"O/.{Qߤ{v[dǩ(ɐx>bM:_@40﵊XP6?MS]D Y >G]o"\DZ 2{ "۵)) {YN՟7пWz%&nl嶑:oLk!B%karE#w/f*9GNþc\כ(NgcuBSsRӆoCvs&0 NLzەifRix+(oocnBJ̬}VN[rB 1/2͐OB$\G0ϔ waWՏJ4aH,h\#ǷxY6n<|!AXV\,~@ Oh7Ib=dSGtgnUU*ۺH+ WseeApϊ{Uۗ=ʶr2:&d>mO { 0v ὉI+WIM1(Cو^vJepOߥ>S' O,G;:,]9Nj_y3jq遙C5\70:39[n qj}+kW*6,]$ɀz7sVEqfXh%T,[a!{H[1`5UnE*jZٻR4`?tTC}#B(6|=$S,3ʖ|ㆤ} NfY7pq7߾]ou;|N,Fp.?ۄL-hu}Vȳ<B#3 _em9Y.ٛg+ɁVٓJ"|-&Sx5 w}~2 Wc# bpuya΢b[MK]mj WbLf/q~RY.q’'ίS涔CJ&gYm 3*kQ.S67T5b8a!2##˛="-VhW`4ζq ϥGh\ZKG ^L~ǔG5җo]T H2Rm谠г1*jN%.bXGw`# CB&іWA?3i(A;:MDh)^H8 D~l,;N9h+ߕi5v#r`FRۓeW[ٚPSS6;Q6Z$`[zsz639Qn%Xj+,cWlϮe Zmé.|4{L3ndE˔;{ҥ;ٟ;ێ 葕n\Խb_;Şr+IG"w>\xmufL'j`#lcfLr6h -|yLcW䊧flAqؠNzP/lgrnlVLiB-n%[b'dOχ\Q=pba-q%Ei7}=,pk6Yz>-gk= 킸&C1H]򡐊z(O!N;;+$'fNkf5UjrF~TV!]s?7` ;9J5-H#@ܖ*c[^Xv}Z۰hE|+Eҧ[oCƆLPLsYEULK~]Z-,7ht~#qQ=8 Zb.'?PI@SƢxo0r̕`kޙ\lvHX fXtBs.k9Z_J)=7x#ý5.PT{|G ~0鸿R6FǺ gއ xHx~NPpGsWR@K]ȓ'/;S۸z 8jC6 v߷rq?Փ+8͓l ?5bF7usm[}8Q  U`mS-hj@ΗSqޙ()UyJuך,ۯgo 7 *8#t_=oLÐ5K uMZBGX6ǐStԱ=41fq/Q.d^9|}=dɨwRpTpk`p?`:Wosbi؎t0-?bGo=˩`oTw_MYe^WlqDКm0??P1 v|7x2n eZ];4NDgΡ$ _tePngx 4s[FXj"mh<`PW*+O3 YaT_jQUpj̔MUTS& %Asu:pGfI2^AbU]myT 8 jzsFf^.z.Pev:cl!)]P.i*)PsRQ _fpy9Ś&< sQ{'UpZ˘By?:F*|ޘl1 u͢1PoM"˝Ri1]Xwu*A˼6@;rmf2I .c"Q0xX>@fU F:^Gb1%yr+>G2߃rvUէj~J&x|&aڗbd4}T> w*ⴄ P̴:,%qUR&-!a7D%@_H(oNQFgÍwچHQ^aݐ/ۃ.BW{ʥ~>H/*Ld|, C4ZsVsk"F^kklD"`f,|=\,^0̊m[r}3_W4Cn`\*^\ aybj\QAor"f)cGu=pHgZڻmdC"QHnE/dVXyu5yゑfMĽU?CckCnƻU GęL@{>ˈq&%:&;X0q8Gyklp UuIUx; >#7Q:FYJ|_U# 8hX"fA)sMk&EAZ`ڃ*}`~S98dqAgima PR%>no- G?|rg791" !٭MKӰє0ki7XrkMg0圸X!H,<Ң{YY~9Ŝ i+N'897һfɄ WO7\GCic'-6`T6xHY4Giؑv̈́4ɧyLv=Ⱥɘ ,ɩۭ6,\ͩMv-'gd'BSES\_N`<3B.': N[~rs*#*BH&USVx{7!}TrARTH8Uz /i@kJeM0xS&(D$e36 tN ʵ}.:.>E=Ѥ4rU:r$싶wq*؆{jfzY0? k8_ڠK  Nt). ^Yǩ)Ҷ.?9J8ܲVըiCZ^G\mW>k,RqQ2;6|t k5,Y7iL /ť Y(0=mYTαiBkx!SQmBfX[gNј)Xڦ]ora.x;E>1|BfX?!#ͽ#ȆVp"D r_TB%+3ao llHjG땺/%ק*=t*^v/XQ6׵WlzQ:X 0ETo 2mI1+*%ȄomސJSWwY\1;To|MWfy^5$;z_N{{Lc0wpHT.vY#o o%=E)45>6$ .W>7`KʲmA"'tom hɑ,[o,Zp?3QޝCtAF{iz-D$t.S(pRR !ׇ9k\nE}:(cj0lM]t ?/,{xC9ΩIџx,;4A2cվ2و>Nkk=R*阘xuȜ~~z;P4I!FNXEGzԊ&=\L" }&bZޅ9o_)i^*L@2b]w9lBMyJjĨ*+M'M3 7)|4z?ɥ;L= ^qsYg3j ul06PC& ]1Nf#o2AQ$<]zW˭,8;-IYOj;٣CE1lrkV\J>| IĤ0OB pc'@(*1< ׹Bِ+fue\+OV>})*70.^.QU隦yNQ>,l|F|j:ރ1!&8mc  ~DٳB8DьHpmp,bBbG ؚ?o^巎IT-kM]:\`;XkzDxn㼞 L$b#T#W <ӄF~%b_TZIW9NsG?;'J2FG_ -+SgV}Ȼ'HTpdOF$xtwĪL'*d3"A_j# +`p1SA|xF-\@Xe-АC L.&`?H293oW_na]Ɲva;7޼AAp_=] f"#I]`֕(FPa #!>-[v! `~̮A5Mi^17׽'5OSKm5{}ws֒qHBb8I-(>X0pf 8*%Fmϋ0̊x_<)#.;J,_;ge &wϿ>ԟ0k u% #n>Y溶Q_x}8v!8^G#m@GڬHcfkU<!ʗQ@+:(B@YpqAG>& A0%Bciidy5BPb<]4'/gL;XV8T9|aW\*]DN+h݁u6w܆ !i7y\MeL*`킪ScRޤMd;T+ Gb{\;ǥR\Jq@}c%*!)Oid-]!scxu4p>ܤq|-]MYW,ly%&-xOhA}w g$m<%Fs.=vDM@ 6伣j~Ȋu*2M--T=WЍ>ǰ;ܗ{T<8E¦j|:W#"vs L2JP,Y'XFoP:L|pa8p h$0CDdEwMaA<^<̤5^Re$͌DwjN~#y)L<_33LZZ?bw6N#}'30 ؍>d䀜i8WD \ QPn'6#WD &tnA}lK @ڛ)Ct0Y˱cF~to.m 0P]~ZhKa6t\G}0_1owH903@oQں[oLTtOG,Ihs/GsT[sB*J(T259}4S^|7]7H Sй >Ya[EmOR]9H 8:IHv 0s,G"euLJFs'UO=ceڡJb?B,o =f(̈́Y[h{Wb HdKx|S!Ā sG$o&?M)&'zs#4nݬ?6`lH鰃?fՃb"NjU}eHpds$ O]+ۓQЋ(|x3raҳ hYSY {C6TeWpӚL2.֟wkĖrG4p&}^&J#Ԟo@sT%V">^Y;\u)b)J. tceBm;xg"j~\o) 쭴`Z{(/T;7s՚AhJq{vl|.#!-|_ vzQF'1=:M ZR1Pz5L 3j>&/GK*9(՜[Dr< j]H-nV 3MwtEhEt2t2nTZ+ɷ!Hb%]6LVL4Խ*Z O|ʒF2ѵ[CL|@vjIO'K@` 2d`cR)*ØH5OcVRhVЛi]J8/Nvzlд LlW6UϵrY+ϜB >QS녂jx|DUv%F9E0}aAk[?vmc:V à L$/cdۈXր04"25 ަʂ5?P-Isl )~` |⼸7@]dL]DRiwDk\5.:sVO彜ЗCq&B^1Cnp!X* *~P{8"n>,/zp5ǃpX3!N3q:m@ۺSCTu+PF3M헒/{^bD-/O_=l ,Z=F{ShdIR6obsHz27{6Vɕ p9Bڂ$͸2%&:2Dx}L\nHgqS[A2P 7`))},Vߔ)|Z[C?SnRZD;sڬr%^"BP7<(IP*Ib q>-F!ᠼߜIFil:ma'zU7-^Փ!JЙ>u< z{ƇgV1[DRCe,*f ӂBU1duDt{ui5!eF֬)du[8gCo[mfrPrmCShpy,`r?99FfEnhګeSҩ ԊLsf0'@t8|dFn%6`"݁d.A lnq[o I 2,cuNALӻ&z6Èx^ ZvzMKudg㴫kP\XbҚBPm\ bIB'@N{*u ?6Q,uz-;<b{cKWI:Dʊّx_k,Rɇ5Bvc!"V@qh/FN ҙRUM ;*=d`BKָ$YШpU 1W/E`V?h)+!ǼujԂ$Ǜ\X?(bfg\=?>ÍA1lG1C={Qr3|QDžjPsAK;\;!wX`=h?JcVôcOVfk;*J~}'n%/ DZf7\To2H2)t똷]~mkU}tι\&_oHC_ߝP eh&u0qXB#Uq5°i;3$8>ӄBYdPy>Ws7 dgߩJQn}j23rJ@hAR t H8kP_h^wPSAr\@BPQs 9 8t-k;3X}#\"(P+D8*?xaZqzw>d0>d;KQLhf>f)A.l{*p(ؑG>J$qyƽ(ndڿY<Eξw)!ۀ.!?Vӫ  bNLcXjQAq._ݾh#qTmh9C`љ$.K~tAFȂˑ&L˻03Qw m"sqIGt4bVc|#Gx{?V/bAVj>WYO(ǟeQS)|.eND;C.~"ߏ'0#~\m\l4(nUFz'_4۩~)`luuo+ ZBֈ0s':V%s"M,5-І&7Dߦ5PG8zWp1h;jC! ՛Gn\^wJw9rEeoBP$iJeۖ`uEgإ 7s^S0CUhDdO 1p䲭=icijz >xvSޒKN6=0LP,cvǫY :d[&sIﮄJw˂cH1R3u+)*Ζ+ 3/ X0(l؅9`\gP*T;Y{^z/% 2 ;ĀXuB:ד`]5( 4^۽p-,n΄б>0->OBu*H 5(RjeZBN +Fs#ج5x@)X?4 i֩oW LZvy @2YX"=Zjy%S1k _:O,Zi"ZSs͙r#j Z$WIɘ7S+{Knwiv 5v|L❦#k+fƮfBr]-IP3m? ]e[R8}!$Y#-=OvcN9s̎tPNmnUѢ@X.mN4ٔq%BJx+`Sub gls ròKp\N[(ULT_e9- Y%=YNpS* h=n(#2 ?7/֙25`}I`G3-ߧhPk =U%P|Y30).J_yosJ4 F;>CX&71rbꦞ[!q ~Icago1%oiGmYAi|\[y@\b23 sxii3/H+B#g?ԑzc 5L]v` ec8ԎO뉤tY hZttfY[x̂uK$nk XqPkBU)3j$@4:4zPV#P'^GQݑot=j!$t.gpn^o3CYJ?C/gtk E*?M˝Wq*kQv?E- 3܇Sgs;n ~G"9W}il%R>4pv?k.q2:Oi.P+6nTF50Г X>B]'#OխpU$}J$oGT,lC*G>LS6$ G8,ji]D> tuE.y6@Yny-$pE#K\D4nIru?>ۜ8V[^y]B*H'*7⌊7ytsNi2N)[B[R&k,]WD$G=-(*QGJ ?IȦ_nAwCkAqoI(+)0~6X ◇1W4?zM)lNYBO/w9{* NF_a-Π|,-Y|G))cp6R Iu$ojLC-K1M!%67x*1Ǖ:M潶sҭ>b9(3o{,\QxSc]3/bdHVTm0df^bF@,^.GBU 7|aB@_,du=EIFeBa/@ )^}X.?H@$[XhEdG%`Rx|tN wgTcN=C{!V[BBqtY+c+h{5arSwˢqNT`k cinXnB!/Ћ]̸'&[=$*+ߟJ(3 Xyv=WUh ןjNC0(L#G%;2RMM9Rbm6(Ԋ+0)vrC}-!R$S# O[m;ƈicmҁٌOz/am; 9ݙpmJ9+#r|J"_J<~K"TG.h:nXLjE[?ܾ0G[Uz{-h VIBU^#pLgA!rr,q7q9rԴm~ =$ ))ǼU@jR7c]*գK8vi1 `WwxgPN`EäjVk ,e,e>Uɜk}e`{ O~{ٞo.Ss92r:iWzv)Ic0(߆Y%$MP(kn荢,zw-)I0ŠyTLQ*>la꬟onj_1tʺb1Y:ǫ7d =x[1AJ*.R(x5@"lw7Tkz~G͔c#-h/l9uh:`8 9Uk0sˬL)%+tVѬf2:A}^D6f#PB{_"sgyz&@q '/m&!}Q!>%%q%[NrJv;!ztHs[^Fb.Bf"Ka.kV. 5B2l ᭨_f;#6-j^Yr;o^iʉO<>Ђ7s̙ܿH6? PDNϖ Y"}DNBz(wm˻OL,5#uW]}@T?XoThkǏ%ud};Ʊp޶,Wֺ4Ӣm'TŸk٭0(3GzM"}Ztb_m јq }~-ɡq?+u)AFoyv3@oߎ_śL} #r=EKr|UK,9uV12IztJd0 D̑J;*f\Eeɽd ,XL;["*TGԉs,)&-jqQ|w* 28l)$_,%{8c*znS1\(@4Zm?L=]t'Xq# Y?7O>q{FS ;.GE }yRZ_9{[0<᮰btHL<@=iJ3.e DxBGZuqEV\|@-sLJ+w2QM3A&x}릈^Q#z`:Ncѡ{V s@b>9#QaIN6O9{eCqˡ;$Zt޴HEA,o*s`1=$:}$+Okx7%|#H`2A~%Z 'A&wj`Æ/;ƕ}z cGӉeB6ygCbDZW oPxu;  ]DE%3XlRIz|D/$\-X`Ha*~nźF& HJ+E"%fht)nQc@x ^ Sdt.Kջ%䭂\%zKNC9 XW.P ,MУƈujq9A:1T~̚oK-5R  ^: g'sxͨ,@",dnB'Am07\TKGPxJ GD&:pVXtsJ0Tw N+>J=9ͩP{5Uk?*{* PF/8kA-v_2D>`Oˑ`'PYRc|Ӹ߼6R9YqcT kS3I(NP %%I*<a[ M`n+{6Fuo,J3ovZ# kd)@澬#p`@TAnGrͱP)ȖPUutFˋ[vdcp@imueʰnDJuyI@{, LGI4<2A\,HY33p}JI7(}i +nSW-I13{'!rNf55U9IB"'O7 @xgqpJD$"ˠ&۫1xd[;" I P)/iqG"gvYFG?A9B&r_JJO bi!Oю¶(,`vh-hQ(H\ZC؀O.LѲ´>vǬ\u)<\'yY`xnJ7-)s  EB-dp|a"l98V50+@_~3p ɷaL|2 ct"GRE()kc2t{<PDy>Y)?-EY> @6]!Dm߬Y3lM1@NDyF^~WSRW%1Kת.@#7^ DܼP[smh_M_}"E< `jVsCLrZ LWN2wԛ:aKgS-EWW4k:VR3OI_N`ԛij9fuSgQ_G"dZMQ ߨ (lEf/^*^GvlC0-!ڣ؜\kD{_v[_ )ר j`6{7s|80$;Ͻj^mS( @?sE/HL@ Mp…y.>ȃ 7'rӿԏƾQsϏ('5ˢJLO)R=)*4"rvnᅕ6n9 BiK#Pp$u 9 Fu}89NU4b 9UR}bWe,oƢyM':=㭰8(ͯ/aAlfn?ri~@#R2z Fx`)E%(*z9)Ӈrc8%ن;#984'UH>eCTq{gå=u&Lz#<4̢O-/y- yA*K:ΝEWׂ%YmPC `O!H-XC'_w:xֺЮ95WgI: L{ v\йNh R .;g\ƛw*К.(!^w]/!&,{JND SEp"}V6/g:N|>X )!EAϪ|t-himQV|h9ro٘42;r,3-1E` _f}'F<%C1?m9pJU gʵq,(Etޅ[w$8E!\Νu,|V\IJ0.-Jԛ)͘sǭP"2eDΜ]caG mz(+/]h#mBEL}bP;ٓPTi|W!<ˣ{ }Tг[Nދ`M lFsYȚyWi?[2L/ _)fcLzVH%+53颇 tq ,bonFTgnv|-=yF_Y*XHy?D9ǡuVO}%# hZT'}VCo W] Z ItF*G#cqeG Y:e9df=+Wq&O1̂Eݟ;v;17Uy;ETٜo~1멆z[%}\GQd|6-+)IPhaӢ<0FOn@~sA3Bj^3l1xjLY61Z4#d4@0;X`$XPd}t`8rl3B/!9cXA: YZ