fwupd-devel-1.5.8-150300.3.3.1 >  A b 4,p9|z4'4#zۅ4!xk[<來?lH/|&M HOlK Tv* $;_ofm='\G "Z]!·GbWb9Y'm7$PT}eOJe@1p,m {Z447{O a6m9hk^O(N+F|(DǂAj6%ɤʫ):Mt2a27a741caacf185f6044472b584c62ce3911cd35ccd80098f8dbc45f30ffefcb3aced776f774fe4fc6bda25032993dee27b49d9 @b 4,p9|7ʟ[hw~sEOZsi2 |uW h#Pv{\*\bƼLNףGKq#q0O]^ [ T~ܶRʪEDu%Ie{RQQ.5_iJgG˜X쥢)G$T#V"PP:S˗gVa/t-DOum&mfkw_:93ayp>a?ad ! R% ;[nt|q@q "q q q !q "q$Pq&q((q**+8,(-8- R9.hR:4RFIGIqHKqIMxqXMYM\N0q]Oq^W bXcYdZ eZfZlZuZ(qv[w]hqx_,qy`zaHaXa\abaCfwupd-devel1.5.8150300.3.3.1Allow session software to update device firmwarefwupd is a daemon to allows session software to update device firmware on the local machine.b 3s390zl35D+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/linuxs390x@ CP " nf--Kvq  *  Z |/ ` I \rAG<I`ٳ[ Q9)]9)DEc!2x*u+Moh^,0Jp1Kq +u-Vuv9?A큤A큤A큤A큤b 3`[^`[^b 3`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^b 3b 3`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3b 3f3cbf852a17766ea52df4ee6d4c531b6b168c97eb157fa91473628bc4783263823999e85357b8b5f3d2f0953e9a2245115bbd48955eba7111fc36f230dbae45e73295a0c521b16bca98b42a29228c78f2687c8561104ec317fa17cf982ee95fbf20a17434988cc1517f54adab67c130aff925ca40d2066def02fe8584a337d716d5f1725d841854294e27f1fe8b6fd4726877cc3b6b7e98b0b376344e53697d0f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229086066e2a2ccb105be7c2ccd4ca15048ebc8e0a56252f9c52231f1844e4c5ec5908d071153617a0178e0ef5d269c87262928657a5c2271b2b3e96b2214922c383cf1537f7454f41b4a2f28d3207751da5f9c1b48f0b3c2e1ed1a6b3792833a105fd4e9aac3b87474d7b31592861636a1938945d2ff58a566840c2052533e73f0fb9de2d74b3999a8513ebb810380173fea9c145fd94d35565142d31a13f4adf2a887d56a173bdc523cfe38346ab90f60b8b3738684a8c63994b493d043bf180d4579c314ebca225e49e2f0f5c7aaf3ced394822dee5aa654b52f8c25ff62325f95ca9ec2b74d2422ee455608dbee886b63369286413b12ff8578eef790db615df2e9d38d4c8d3f6cad84feea1d97e73f80f38cac83c529133b91a639867571c483ca68c171d09d2f7c1366daccf63aba35a17073e443718be4e1b9a5a0f1cf2bfaba47c62f1dcc8e06cc8cb518fd24d41eef730d4f40b72ddfaf328be1eb70c67a76a8db1206fc8ff1e047635b7e387c47011e38793c2d9d74c859e4b23d28f3d163dbc1ca6ffa16c04f4617cfce2d34a9cd0d1d5a84252dcc1daae690cc8b4f7de2ba7b9213643c272e2bd82eb82cb048e77f601c7a8db7f4cc3860380f83f1c0ec39b218a2342688abb320eccce1d9830c3a3774cb28e3aee902d8786093c890c50d69b21a3da323403f188132b17fa9220b0ac147d7c13ef3c3787a5674d99f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229078b73e50b009f6c86dad9b514198eb7d4736b623e5dcff65b47f14070d579181e0a5b865b4d118fd3c2f172de156316ebe0b099b3df476c021aaaf0d77641dbc889b043909ddce94d1f24802b0501bb7c9c7497c8968c0318344f22946612d789e47cd14558c5e4d818fa5ecec64c964213a0d3727fa6234f037bd2794c890a486a03e399cf02cb0c84a54f84737381af119e98c2d7918b59e569b1332a0499d361072290c6ad052c9d18d0bacb71921142cbfee8c5e67892096b03e14f885ecd1877f29afe177fdbdae431db1efa6f63f02a2dfa722e9886fd75ca85e743baa41495f3f5e6d72e60dccc1f814cd24b3a93d36b801e58adda4315cddd82086ed7ab67c119ca914e730acd40124e628fdadae91b3b12120100213124cc35d3a5e38638d6576453eab38fe165b12d7fce788ed4944a15fbbfafccaf3e57003bb96c4ba9dcb41242cca5b8711e6b2bcaecb4ee2376b60d2fd2f4b2f3c241258ea2dc64be4767a1677f85edd97c500fd8e573cd8530f4739f5fdc9a3bbda97ebc10a4ba2ee43d804a261230aff29401778905379c7273ea887d30f286a3ecbcdb31d4a744c6caa020d6495e1f92b86342eacaa1e59180531fb0c8e9683d1d444a537e99a3a84faf3a9df02d517648f504037d0fb7705799efb7bae52e273900cf24dd84c221a71b80b78b75f8c8a07c9c91e8801a465aa80f8d0202b922434f3fcceba4b008a01f318d7d55add474b75a6c9289bd9f7919f7b4bb1100eaba87a77cf9051c55028d3bef196650c78f81ee881490065e0a2a3c5dd46418c575aea39cd2bfb40b21bdd7191a3c792b2b0bf51fdc9b05a0c3efa20e3d9e101d29ec34bc7e0aa7bd292179ec55a8e29199d55964b85f86710a58a953eea825103c894de1ae1155a96bd15bc7d804e4f3ff3e60bc1fcb2d1315c1ae40d5006d5329f8ba6ae3cae0b3305ecdf40446932d75d3e4ab92a61494771ae421f3ee2633ad31608814909ef6dd16f23ade68f15e65a3c20f909b983baf6882412c06ac9636cab2a9cbd5a30868c1cf804d4d219eff362a975d10088991e8bc1a01d8a2263433fac17b03fd9955686afd13263790933d6856a6eb1e580c50cdeda5b05f8a5d1581b8f7f2b529e63e34c8d5b4e4d5708d653179db9cff9985f6dca74b9ccbbcbefdc088499434d80f935a31a114ec2169f2ddaf36c216eedbf1fbfe4e91befb1071e16ac867a8112e9846ccb313bb173203a4fd4c515033b67e24b0bce32c825b836f3ab2a4b3f18946c01af41ceecd23db00c41371f6ceb94e9267fbccaaaf937a0d7e80b603a0ac201598cc6db9a74a81f272cb258be4fb0d948d7dfedcbc3b590488915536f3daf988bd6a5420e75dff698e673a94902f2f3ef142d3d91c7ebb181e8c0d6505dc3c9fd3a4c8b7dc1ed8be8afc8a207ed295ea5a8299041b2902b90ec2ade822864477cf15d30113cf9ca98ce9393f736af3c32b32b96ef9869ffb8f79287fa4c737f0e382321c59c16429edb1142d43709a7a573558cc3eaa23a9c7408e2a5aa71f77e2d1c94135b5cb24ea08da34586fde10f1c28b6ad242888fba30a61b3c2747a216272d11312f285fe828654767499567ddd08a18c2e661e2acedab7d6658df962cd674888fceef0bfc425a80716d74b3d0dfcddfa3ae6ba367789b9626dea9aca23eb322ad7924d90bb16d04458e81776fccfe7e6b88d06b836054a2328d17132e4bf95857d20b6e6bb23838c5e9ff8f3e82cc98f90241fce2c9fe23562e56723d223f6c2b24bd62494b13d76d7cfd3e5953b0ae666696a5fc11a95196146c6065072b295f80de0f5a331d972d0a81c12c0ab56e4019d966270dc7aef348335337feb501aef64a54321ab2cd9cad7c39444865fdb6e02633ecf9d5502b88dc6977478f4deb73dbf9122aeba7ef51df6dce1db6f352295f0532044a5eaf98bf431c3667bc8b57ab13227fc84e172636d9f967dfbe931fbedba0c6be291f391f38f7549988d9b26c3501a55dae56fe7df0a1820b3b1799aa2fe21934989e0e67d0552df120a013af846819361587fcf0c4c9ae729a2811e08e6d71a7a16648bc53618c91d8b481a6d06599946f85d7af28f325df17836cf3fe605edc8ef9b2e3b6d7b6b33267e9b3fcf02c1d39a606667537511bb5bc26777a5d9b66b138a7aa19b24104d206675cb9dde59d7eb01321e084672c4b1d0482b4323c6837a960db8cf0b750193daffa9a5c31d8167d7935803cbb117fe399be4fe4ef30ea8122acdb0bfac6527051ad330f95e2f469bf18ebcff00026fbef5577d5889b73adea0be60ee8cb5b60f67a8dfe7ffac1d82a09b80567090fb8246b51bdd19c99725bfac9afc1d62872a3a7cd9be35a0e3e479d5c6551a350f175bc11bc7ac8e6b99638ce178dbd1ac37563654067559d6382a7d8babfc6eb15120af63d3a439fc59fa2afc5d4b3679a94812c7b3f0252d61b1312dcc9004c40882a0f704ed6d01b9ccb49ad9da7a343643a52f83be2634b84f8ea8a69072fbf0e2516abddb8b5af682a7fd8f84678141cb6c68b0f9a2de09916b5ff97928ec1c8f39bf1cec5fcdb95eda182c604dedb5a1b3fe4bf7b7389cf36f7461d08646a631232fd7a89b985ec01d2cfec0efddae636f2c2923d6e445aedb906b3d7802b55b2c454449d3fc73cb4a46bbb006e757923eac7b47d4faf9b9323da34ca2a1e8e95a13612b557065d2d741ebfe06b8de2f1106343dcbe7f28eef78b45132aeb12d46297ba7d54dd0e9ca51f57540afb571f58adbf9adfa11285ddee01a8c4cbe23bc382bac75a28168d496d32ec674158ae741ebeceb6a6e7a003b5a47eba5fd32c334f742f59ffcf01f2b8c712a066ca9866877588d8cc3916fd34c8e515ec8617b03a8e8bfbcdfeb5ba7650d8d9ec83295561237ecb4ecf62a8bf3244db3ac660aa83f70c8ed5c94a50cb382b5821fd0d42f12264923e5b8b9cba74f7ebaeb93a4f9d8ecd3c9e82308471cf4e063f2e3a34c913423b8619ce825af273ba403adcf0b7a8d24b00f5fb6bbb0446249b605efdd36598e8a0f65ac3fab2e18438c73b91e5c564e4586aac398bcaa3e5bfe9efe5b569c1439dca55b06b338d3d0a3130ccb41634b3042e56dc65e9bde9a165c231df4052906bd26af3deba74987e3d7fdeb303355d93cac53410997dc7a3f9bd60f3ce0d8ebae7908978c8731fe9bb139ff0eb96fe775524c2d4d4f167d79041b17c5cc8ae9112478665132c31a1417fb4adbad72f861982bb78e1fd3771ebbc230a1a27559f8f662cf3229cf5b3c6ff567f2130b883b3c95ab17504880cedd2c2c208f6466053e0515c2bcebf4351e838b794050c64c498420599162f2b3b6928232dd0be7991d942b1dc0b1670eb8695e0629ad38280184be1b94602f2015707a28170151058f7171aeda501fcf0979d3b5a67eda502f1d76c81b8ed7a7cbeeda0c867a4c24dc206490ee519d4200dab0371530831b2ba10977c7a6c0fd7e6ca89e221cd416bba0828a20c195dbd73bd40420f2040eebf418098a86a3fb2ef5a9659c87d37b81ee85b69316b045a9453ac54b75948f4d26357dd018159078f36f90deeaf29ce3b9d2bd0ea6655ef1bda801887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd188872030fc1a7e7ea726c79f4648ff57fd97c270b1ea1c3bca24c48c6a280c51a44d49201887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd18887203312936dad905030c45e53af3485acc8213899f4c43d74e7143bce01a9d6bd959libfwupd.so.2libfwupdplugin.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfwupd-1.5.8-150300.3.3.1.src.rpmfwupd-develfwupd-devel(s390-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.3aZ@`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+jlee@suse.comglin@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- Add fwupd-bsc1193921-nvme-ignore-non-PCI-NVMe-devices.patch to ignore non-PCI NVMe devices (e.g. NVMe-over-Fabrics) when probing. (bsc#1193921)- 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.s390zl35 1644835835  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq1.5.8-150300.3.3.11.5.8-150300.3.3.11.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:Maintenance:22836/SUSE_SLE-15-SP3_Update/00c4c34deff390e635959ab2b1d97878-fwupd.SUSE_SLE-15-SP3_Updatecpioxz5s390x-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 R |Pdutf-8507a14a251cc67aa2d1709d65fc105e98da7815bed7ac30df68ed06004e992a3? 7zXZ !t/P] crt:bLL \ER6>Q;EǧC86^vJ^,q{+6MȚv5Χ)>J􂢁`ٷ%r95FE(,MmfqPp3.q9" ^V̀9GJˁ Wra_ c=+ph2tGFKF(Dor}"H4pE0+у9%$jq+P9+HW9AR ӲY `e؛Z>rܘl?7q\o*~\nTc=f4Fz`vv*sc{<ݼ1?8(ҿC͹Rf2.Sҹi/&k̹u@fQ&~D~kBKh8Q>.Ґ>WѾyTc;MΣh!ɓ;iI/eRm}Yx5ou5H y>.kLR @ 볾§ͤ13#5pDÇ|HF)&\אխ39!6壃x}a7S vZo++ָe @?J*~c;_b]jLǡqv }M QTO|)s&k-ή* |>ދ75;GǞ2*NgP;*1&-E;JF:v45/zhGN&8f24!Zx<,}"8ɂmMDWBHHȷ[DhG>ԙBVڙDWD/.+n~pv .E(igI}驌lu:K87/,1b*gX ۜq"Uz/Rh/p4NSGy!_~5kZek?Y&c=\14,7#)ʷ}[t]rĸaerlD-QRc1Ѫs,7k9eVxyItlE13[ѨOv 0/Zץ2|)T'ܤ?tLYJ0ǚـK@Nf5#3u|hntvѿ5#crLKo.c%4E>|o2] &;}=VsB^ڶP8FP7#C`I6cJchƫy>Wd7FM8J?~I+>pdU|]*:hZ%C|_1?I UR(Atz"$ ?gRۂ.j꟠!}[ZZl]<,b2oHTCqZ?Y-3iX!w xP,F ?VZ&f,oD gE * cj|V YҁƀVpS)>z&nbT؅P5͹붝$=҄Q:'&A$EZ14x((z&` A73vi Tf/'uUsnMZIU.(['1+;WNW xrsD JHQbfF D,F>ؒ3u7Ӎ 9Ϧmaih ~ .,e>E !\ml5ܾ6 w,yT/?My{Z} > A LjlZJWA}H2.Rl;2.&1= O44@-78퉇S{Nyu~wb򟂕oH^7[w,f?m)zoS*b\%.$k;7?b+jl_7(=B2kgx сqnlf}П d-Hю*%ۅd ϕoU{1:n=>B;q kfQ|\1N==;6Dv0Cgzp(o|מalQNVlM%7J@ $w  c]M$d9@MmKu;=}yk3IPAb1@8sÃ783`N ik_hvLrXO?\հ= Oz>%g=HLC]+\`Cqo<-'mTE&gREgTDP @#}Xjw3)%ܐ: }\lj*ж7R k]cw3br&^ C #,LU. 7Sɼ1|oyߦ_=Dw{Ivmv &YҦn mڲ[snFP]ƾX Αd )9S?mb!I}C=5 .oe·Ŝ! T gpH18 wzgRP@ooɫ[T~̝B-Ss**l=u=xeiҺfJIe:QUb!Ki^d7KUXg27%&wVh!at:Wu_ 媜=9:!٥)WYqL( b=SIѺ㹬a} l;Վ$[Dz0c냞T:xإ c4 ʹ5N ʁ]8/_ [ũo,`ߢ;),bF +Mv LU瑠{F24&7!{V72 ,ah~Gf![Չq|7=-]HaGj"^  tzPt+[(0|8L`1̈́K 2[75Oy#LXLwo< K߲ex<Ϧ^&MZ[ qpyF=O"yUk F"o *De( dZV4P`\rdдvLl`֊i=J'KDpoYk7fAbWum/e:aU`}N7Z(u='Z-E9+nq5W  7+nUؙ"3f=ߟ/kxN}>LaUdre'Y^% Zggg΋^jHQrjlҧS(Bio0^͘Tc$U IADko%8-bT&W\w?w5[;{7eiIq7Z6HpojPm%[SfO4)8TݖE%.jާ^\=>!̒FB2ىze.xhDqإ#0c2 &8F3Dg>xϦnv eKC C.؆^x`ںj"tE)ޭ= /en؞.X.ߌh?n*1ya}zw ;/ᝍm|* ,/$;#ٞ.`N1 !+xً-Pף(XE"f5#]֖F왓Qljљ7kNLTF2'ӻ ' `5AQsAv$*&2=o~S,[0&(~ۖ^m׃үOhᝄNv%$mEҦ^d:>MaFFɻ|qmOm!0X]P_pz ݲ0рzK>h>,[*EXv54 /) hQQSΟq h֕TWms+꾜 $DịA $}R ș+dJp~Esv/kV'vcEt{qRՕ]"8 Z kujnH ڧYnI.g~:E92(u1_2uGbGm݆qGѷv7XOaRkBEA]\J*39P""U`|PKIl1x)y#֝d:YnDzڐs 0" ě5S9ܾ>nӜ(`PwҖikf_V19g*wˤ&ͣ [XnF>"DgC7Db)s˲=7#΃MGaü;B;Uکеn(80_X j"rJ\ceI[ztW IRw>wk}RKh)( K~S=;g=8V]DMMϘ!ov4JN\V (/Z iZӏU843ZHؤ&FBwނl5j Kș3V-IO;,@_{5Cn0l>[_k2yZm shHq`ˡ4&tvyb~d̡$eD?';G3DR!7-;HS=-Y|}ꦍ\t`cwLjPf_Iʡ0ɶ[Ω) 2C_~ܷ·wXh&BB`5U4G%H$LR: [(|/q ^x!jMu01Zz s}&|6ahi ᆰ%J:M\'zho'/R5qsJ?dA|wƩDQYalQSb\'K'/ap|]qc@;sDJF׍7aU"iGs! 7Yl}=#uw `/VѯphשĵSמ@kVϣt ](Se U1:k n>,?{>YpeR~ ER^c"̽LK%i97BY0 Zsb;KTE|JTh]ԏ5|2㓃kS%fimP+в)9/'e(W951>q))L?*P`%sx'@H3?Q 1OЄVse S)=T Gk?#!/ Xzx^78<"k.u4"TtB;۟BLtzvmz2F75=KEZ|q-Q`ˮ3tciIgrƮ%ϡ^1si&{y \A]OYoB"qˉ+}BYq9tGzdxr(^jQ{O!Gv7@pHPSOv@Ǡ iF2aWp9D&M B,,af?uo-4wo2|"0St"5gR/s+/`Rbf6+ѾIʯi}f>5o)*zB>'oqL"@S& ұY3 4~[0ç%іvoG잼m#2(Iୋs"|aM.'}$9hl[1a;d]we=Le;|q47( sNЕ-Z,2rGg7wEoc'ʅ#h d6v@83zx@LԻxPP8;Alݏw(m޵YE>|E^7Ql! Ge!#@3(e,l0W |,)t5V<>ܞs f咅ՃwvVRAy v}Z*Jgz=>$Dr#l9+>[A 4Hr5$LĔ%SĪ@iw4C%b'nد{_TZ݈|^trgØ1NygٸD-? ׯdxGZ-qf{aC(wh"NgJ,Jɿeb&N\HՖ}(pSޓeۻ75p\aK|μ8Oy1k9k@`50O ȸ'`hQOz>XXyW_HLʎn -HهA㫘rX#}>l-^d5}16X glϹ b$p:536`v0]&J̰M%&Pr2C7zn@ ,8DOi]XqUqTϧSyn+Pߜ8\Ä(S߶i= \kWl\%/YorzKjސ&)?J6WcN!:' j6zx\ҋг=8gW|Jv-W59yPb!ߙ5 پz/EW"w{iee3L4tBZPjŮr a_4`d@5lr2˫MyA&Ԕ e.I%S~pꯁ|ynN=֞o :>2;2ALu\<eBrQ޻GOs`(rh ẈͪL(Ŝ##FٮsoPFzrFl ꒜"ƢIciUUHί e {= οR9[m]6oN]ƥƔ翄"y~JPada+ (G|D5fEdkBT~<{(b7Z{_\n)xM U@2%fETE?e߆F+^y1ɝԃ7g '#V׬N2ރ9M8)aRAW}`+^3ڰSȍX4vnBWF 8JlS=sche>C.)y5` U~2'hۍRQ,m43~bNoPޟ"nB륖Rfe (ћ!wSH2RaI%L북gc%7Ն:`Bp,(0}8mD<~Wt2( xwyFq6Pw@КKnavy[#^6Q}|섉d]o+K0I m{|";\ ?`5(z-0 _};]Mcn> 7: ~8qXrL7 kűzyi{nGk^DDyo`T-Pd+5 xj hUCDk'K8 x)k&aMob1Ee0ݏLQmy?C8[2zѨL0ih|]h%yj3F Տ-s::EU*gf?7nd& v8Bw R¾Ȓ)0nzKflsp.pWQXU @xaLЕ?)[O<@!r[$Ia5 ^J쏯)oOK6̽HЃ1{0& [ Tm6\"&E/' l :)j!eQU[թtD_Y m*rvحP:?po$tK1vc@y> ~]ӱwoVC!{wSY+Rk>/JCĭ"Rh%YiyY*g.oR5;5LK64A܆NWWs^w%67mV;N;!Z'kt& 2$IxK!xWe0Jm8 d&p{|Wi~W~#B(nN=Y&|rsE0-Ґ&꼏=9<eI&P/3 0%)wJNn ?|,1Kl_+b[1i &')#r­ `SCA)H j3J8m>I*wbRϮ3^v\̎?ۊz$1LZC xMP8Rw⪔VLGiD ~џ 5t5=[?ҖbeŃŔx޿ʦweMdBޛ(]%g(m*(C120J{ʰ^UHS §gD3MhD i? ʖrZACHHg Q_ q0]]TP,Pb/k0UN;XxT2ZwSE ;5YB $qjCڊ$:+v3^M )τwF٩T[?/nϼC~ mv_dK` :0l긫XI#=nVN>i[*\2؍Iu=2|(;aƊV3g> *XRB+$"EYn$5/}DAG ^!#Sy5(#][a=F*%?ZaEϒ 4Y1\ne >gW;h1e޻m4֜`UE[llPni{ ' Pnl(%<gJ1c]yQ-I6D "Qr&\?2o[0_ eI}FķcD6zZs!?z!n!DHJ׹ͼUxƞ7p\Jeba帛}Nz,f'76BRrsoѶmԯ{#{<'sZؼ Ӏ)i339k(C&qjlva ӧliT`L 2\Z>=K0}&!&m>@@:F~'4  +g,]t"uCtܑO! rGaܱAVesFg!E7A׍Ƞ:ׯ%a*ʾ =%VM[BՉt?[lJm \&mԄ}(HlBQ‡15r_%C$L8y`TLkgYɹcR"Y`]g57sՅ,V=tPO$/:?bAG LG:ͣ ީ` ^B~8M37?R)`oL Qb/ Kdz $[Ϩ2# [o1{,꽉lW:+fyFޚ0:8-an`I*\W@7Mc1B}y-SRc $/u?N#QmK /:M4ѻ^ a9/"iAZ̤jfFE7I铤 c_)CаR[jAD5t:ZAP{s ]0)_+ۄsvMB2YqV<Փ<nƜ&  mqַaKO _ͥs J:QKA,©(`#Q:|Po\slUg.Qg[9jր 7a9ILd1$)Y-/<.M%`F"D!V{= ƣ@\_lj' & ȑF~H7꠯ u"M6Mex%Garq8wFK.32ܨ>uv,43 ?ɍ.tG9OZP댱O5}:QkNEUbOєFd}y"\q@ nM@z *i- Ci >y!? ;#J)!FdofziY@jguq2~<[j8/C ЙXFsIAFAհ_p1\Ѻ6: LM @7đnx%dE(=a+0Dːjj!ZhG>k$%I4ݜ b %{ 2Y!pRBQR?9Q])L6Crt>U<=b' ͠R*$bl!Ѻ[diRB`m彸2B?$.\AT  +;i]DgTӄ@@`ٞÔ;M2լv?rtǡN3 ]J_P}CIuaSŶ8)[74m~̞&tVu~DZU7ڞEP@pY([crzc(rBc=B]QG66Aq)y@C-"݋XhZw'KUכShY4g'haU=ZY _jQDs~rwzl5 n딖|9ucp=z)R1SM( -{5UJ@mn=cј۴nW_aD!F+' Q<[(s5wAAlA0y rKɜã?M]8'V^$7Ԅ,`12^<_q}Til"ֲ7suM'NA_;D^~.(7" _yxWd mcNxQ.RE]9ߓ x=斑`x \ 4PV QRaU5=YdҌBW\Dh5#n8~i9022IC}ҎϬO9e킏6ҶSBl< /3i騗2 O75CDeqAe֊R`Ri%.2(=#ɪcԹv(5>>9̽6Mw,:8M׏]!MT WN^>,>E@ D[4j2D (Fgp8=EKi-*O՚ְlP;  #G$F-78uحdN:f2@Bx_3qeً|ul)Fnlf$ʞZWF4Cf1ޡ-PQJbKt`IYvs-#LvxVU8+&;B+$ehLZI_J<Ƽw;rv5dN+ż'u OBR ʣ˅bK1EVf04Y49a3[!e~;Vm:dS)cg(ҿbE kihK¬QrF]4c tZH;yuSƘ~ ֐ANNHڰFV][: c^|ɡzI}:=Cy1!4!2I<}ƿ[})3f^b1 mEVLOVqo4Ӝ ͉\c3!~Nfzc6څ ^-9b<pGk J-{p މr}Ժj(+bښ# P.n.T]~u1,EVi\]1hcjd>•8 ʾLE;F`,abR҂CRAB]^5)fpVŠOqa + )DL"J63mڸ<b[?^aVm]oOm:VψtbR/F醕3Zc@mT}vv#x%.QELuO :+g2s1JD`.]3KIMR$}nIk{1H;L7͔Lv$8 -$iA]Uvl-ΘYu L`\_h&kTxfPg)A%ׯc.wU4,d@:Ӗ( Pi֙.eSnz?]m#It"|v_D@\EJn,<^a-YeؽNr$ *Y pe.?F9C:G_$zVrAo%l!ó*z7RvIk;2-/ʌ"vwI"Dp~k)4-}c IX#@fVG[/T+8Qp1Tt~SQRR X@zq;zA%wheg g|N21i|)P6EnQQFI,|!`zeCon$39|U?a˄Gטƛ*ub4KpMM115MSt<'CoGJrakJvEnj +xvU.dLT00 KFY(v0 2]8bӷ,8ݬ첓1cχkzاVެoGCWaYO4*>} ڵ0kF:Yw=ޗtz#>QNi>|H: M5G]"v.L@;Ŷ51=1BJ8 plA?$96cҒ!hu]@H{H2!n L uGknYNJ!.OFWsC.Rgx uʘL\Zd_꨾G(NGC,ޝIoυRp%&(hA; "[8\$ bAf̀HOuk4r#B Q1s7Xa!1 nUQ}c;NXho]B7s캢Ʉ8\D7DJP)9 7?ˇ fG70^3 4Q;GBr\}?vLg{ P|sj|^l>q9RaP%e_7O*bKm2MQ@?\(vl#Etr9S?rM)>H)=I&"B]FDc=t?>.|N`E75kQ!VۨK> TFa b E?@Y]ȑ.piIeHku#X !Q)apKP$0g-d>l;dȆMN~5TgbAI|;/G礞ǥhH^:n*1͘~ovv;X 6Ҫ+;ҍ ]s N(`0ͼܺ͡(s"cwwa -td3[}47fH5IA53,@͇Yf!}ݿS$,?˃^.Hg&#ФE/]]wuBxR*DẀM2Qt$Wt~xwjʦ.>LXDFc{GVgN(lwJ~2(F_c9cbK ̷u.Bg(f #5tbm!t10V[Hr`tx힌 nFL@r(ive`t@XogJgrX_x> NݠlIBO$ KBP_TȐF{U}8I{~aA"qza KOJJoQQs1d|ybn8kMt \31+߂͗tabѝP=l9X|2ᬱ6~D "rg5{1hXG-" r9x0IzUqKN m'c٢Y{[i-Lɮ)\!QC-NK ԸòyШ`W vMg'`VCպsMe?TN,?۪j|5+#{!J]kM=4.#,,GwNRdM Ge-OR2+uj*-IXS5Ϣ{+&!ʶ*8{:Q^Y큾f, > Gl](=.״խH[tѠ̅ #~&RMOR;} INN#IVf%b{~@KO!~ U~~ ~V44Pvl_FVHwT!]i\i)0Y5qz{ivgS22fkJ\1A&O;]@c~1CvR>42wU֘(/]84$Pd41^-{WWU%qEp|Tj㧦$B̶o5d@ccz/? H=Bé7ba[O+qv ;!X+_,E1(c HA\/1SJOSVh\k&e]\'3^%zI@ Rnz:{ qj(6|'M\O2xEB/L5kUݣ}9rz~m{Ԩ²aW@B-cП6DU$Dyt^#,:(G5!^afK.V'%7,Zj 2BVm~h^͈&:Vv1Y5 y8 Hf#6a=^J3pz#p3þ#MI7a3ebEmM"hKIq_r ׇƵ FP'?Qw.Dc]V"RRJuמQ (sIw>ѫ%}nFvu|>[_?!LNrʲ/>h?y9!vuv{)E4ã:MaEe'F/ӡVc~ͫ+p:LW 9+&:h1Zׄƕ5 )8iF׾X+=h.T%/E[Vcf٢L$h{ųv9b21׊qTscz9Ffy;oM,zop>nUOBGrOpT] [bZ^^(ڔ}a &,+ONŌ͝4%6&2A> D~O㘀C޽rC$ӭj*ԁ^|jX\X NLQi'. &֪˓WGY'=*@ 6Lqm.\owwʝ/@t1Si8p|6^X!>0ع]5nOT]/ˊo>Zdtձ;+()_#σg'y$q7Ui46{?"gQ79:'ȗepTx(;0V:H' X V*dB2)Ot$V{uÊuB{d]|zx~cN $K=K b YF>l-sYJQe;d.]&qx7? MXa/D7g/;@[69zʟlGt"g<_qtYUH29C3HÂ$F?I`"X;LQ@)#fa4FN}J&Y$K!b;Ջr$ElT$ =,}5oS9p~̴3|Hp rH861P^^5 NV-:KՓ%h| C7A MDZLnL<3&ȩ]Dm&\1+ Oߖz$lXoјmcMk(dߑf:+.E+A^f͡rhr.%jSCV}~|5噂"G-htAp3( ~ T5'zdXU`:ΔnjOHw外 W3 E]G4ŠkZb*e1|]\€n{EPАm`Muɀ=X9`S>:؜xftCdz :] +2*Xx !D>=6Nk;u('Sd>e~i~#47$'ru;0I tr!&$~iC7yh(aR_5j!:u. =Rm>ZJ LY=;9t)Ўwc2WOB $ӄ}*#|a&Z= d aܡ?r(qXj1s_4m=/k[ěX,!i'Ss.:P"'j'u 1٪W֬҃yc0ib(+GZi:0+DP$,<5C-`;h 49M @z<|~6naiNyBQNu>IsĽm+U$5oh匧B<ؙ5\yHO}8Oe|TQ/H /:_`*[b5n )0j \'#lH.l96Y)mVVs-ijb%sQA$κ?v%)yɠ\6߽*R*"u2\յߑDGzy=?&(xn(:@1Qe 8g\eD͵ilW%YY.oXcL5Ƴj:tʙflc#g^xX:J'/22{u^bkt-F8;Ы#9IޭHI Ѹ1`g{H,`+dL%FvCPP}LYK c6|ᅑsiM[y|eDD|`ZX! U>n-<3JF!`Ld3ÚYq\E([zyG}a9ϧ/,mR1? +0Rdрw"Hd&ud?6$I:2F[y@v V7cLu-zE2`Mr~H__wAɂF,~H΀9XCe1pobo4je0!WbDFWG(е#ӯZԱrXNwNܚ]Ed +%bâ?!b@p#Zykςt ̃(A 7? {*i"GjUZpRݛV؛--+F{k.Ad+?)UP z-.# M_=E}ǯRo+{8~ێXa,p%DB)Z TmWw2BȦGF/}o!y <47&RYGD KkuHxsE(`x[pR„i}4XsN8{3ŝrcZkۇa]Ѵg$ro*Xъ*q[G?~NŚ@X$\d5K\o>xC: n31̥qPH[\od#({I}O7 *cuӨ~ƊX)CLѾ wtP)B2=^t}/xWCl*LgQCe2{\q"rC\0:#F f!C9hUTϽt)V>XM:џa,*F MUY6U&;l-iU?MX %ԒO;}a - c*P?5MIC|)mZDlB`>Мe%)˼PY|&wfڪs9cYSGv8C`{>9&DvY f /i.E AL|P8q㻾 9(^,lhGAX{RrHZׯ6q޼u/˜!zd'Hq^l< PKmmMnA/0Jlr(V^iĹfL ~rE=aojxX_QkGϊMd{Ogܤ1)_¥_.:nsͲja(A1j"QXx9LDcE(1x7\l0b0&ǖ>䖄I)0f_`P)~bGbMkx!u8䌉(IQ쫅DR)$֤q-Җ >ww,=Kafjnlnk"S%D U;X4lxfuogcPPO :QM(&z%ΧA;΍TA08['(< y;il{u'j&j5PJd#DN"@f4띆;A=|ӹ ǘ%F\Guyk*EՃab0%m3`9<ꈹ> Δ spk)B#a Sؤ5G?{oz85eC@טP}?bcaVy8v?{̴+h'ItvCcdw3l.(mo7@'?->9#>v#܎CՋǭyymjZ"&a[.^+*t0qk4F ybbq߫%rcE8 =p(җ# 0Ȏ!{<'kx.<վ1Ն I漈V5^.l>KVIi~{FuY+1bWcm!.']9X\4] <2T X4%KFvN :A"[Mvʜ܎}м҈wݫ40 v\>aֿ_;:RRH-'a=7"E!\dv1\R5LE6ʜ)ւw3/;C}$>q`ۼ熩{D?Aa:-\{a5Z*~%$lTC %MVt&yϝIfNL\펤XH<|Ի˪$:>x(X6v>tf=~w+Y{,BEF[u4joA;k6 #eԄvH/)[6. ܱE?wNŒC7F7#u4V" ץ&]:76 N2]gEš3zdHRs= sPqV{~]/Y0?mna$(27儋so08ɉ6F?E9BgWX  b2HfjU2wb~gP8~w&z/5h6@#9x^ =Z@ӳjȢ%+)b]T! 9?K LJ|c.tVG}X%*]Mbc'BeX+(pGʑ v+K"=r[)MI D ћ1b/,:.c/(X%Q٧'*E&Nr6"BZ% >!2qX>}=Uk&J⾛^PY6W"Fb@7^m6W82QmJ@ȮpA,+y4"/_"a- gM!%@¹zJ>Cb[Gt.i XuT,-91ANDHRF ߎsHHpH#YOiv ?Z 3mm];wPT٣FbɢkŪkr:!%#p"G8x^Q#;<L C$wAK4L :!닂"nBoFco ?f)׊X ;1S_/ɓ[/U>PjҶY0EZypjS/aUPBemj~L"LG/2]KhlK[4Ili*tZiv0Z=^ P|b4(H<_zDXa /礖#A-@,Jk{zfjX7^)3֌B"TKhdKlS=bdO" VtN;`0yRFn u$1;= mڜ_U0ҤiFޣS8n8K}㍱9E~^ '$ҢXZE\a6o vrӖު܌(X *&1wF@Y0f';>^(dh!8;0uV~y ZcM2>ҥbAy<7l9T ߮bS"tWu]dlAvlV„:=ZޖB&E*n>/g+4g@g|@izUR17>Eɘ)D VwQԯ{e<g!t=Q7FPi-/=to(/wPQ*Od@eJ-Pf!k/?ۗ*-Mk>*t܌wݲ``.+8(( q<׉#`VD|c_&(MAhttzf~wOΧ}qD _?cJ\i(mHQ$pv]O3z7!& sU`F< T/(UI܈ݖ['u7cGO4!E`ih67&y$_h^ QE>-?wϟL S#ݟ~ʙx2 0=utdbc^5hqX) fp㗤܃'7C":^\h4<9|_7Xy8U9Rhe߯+i1_5H%6Z ^QYm5o6 $bs%,#8قYZ("c1H<SoJJF Ԛe@iV6JwF E(9D/%OH 8:49zkE *AUˈaj,a[A1hȮeyzm?"1&ɲPHR_Z>߹sK~߂RcW|xl O NAjUv'{oO yp@L3 5Jhl& ˀU:8zBu"3U)ls([ay:G?D=ʼol'o%PH"P 8 [TQ}\;H4vyB.o}"Q]Kx4 rey,>էNķx~d/0 ;g5@1҇sLJ.P8C\DD00D+fʿDAЎC)ZY؜$^i;pC`hKНHz"wPdY<;-֫/XzU^yrOq# ?Jwm Һ1O5y2 )A\<(ƀCYd=uWAn;Çdb@]zQ6;tg nfk7"PNF"Z>`sZ`@VV94. c$pU"^oʪj%+PeԄ W0]7'_gMx:PDDRz `KːHS'ӈ].? Iz`FfR6>B_!&WcOnґcj,.J'R1ƾGߵFk-igVcmƬt~*Zj~~,y"@gM\0Eϻ4}r G+ o깇r01T#tRJ*( ѽ*ϴJ5V8fI|HE& S$k|Ÿ}X&(f1o#U_6{Ki ~9R,~ E$_Z,`<:\ 䧄OS8r#}Ɣ,vn%;"C&)@tFžb=|-N(^YۑEoB1C//N\:\ ˌݘ0^yB͢`H7[O5Z)TiТټr ˖+y{ԣ7c-dlxo5-'9wBw@OZk5vqW[u嘙5)H#&J$@,*t,YcKlAgE:^O }$_dI. @;u %wi q#Y~&֚ctDxI k9b8v%WaeIU}).r}mUstty#IOr[ɀ4} >]F$69yKj~`̍tvx~GRr[0<pΗ7a8FZE[H[-~F/ Mս߰ݧ4{HMl%C;W7tT3Qpw$?~ȇ+鱀r; %%ćX:lQxcv f3,ceF5 G J+k7 pH,g=jH_ 5'-ڶ+ v1INLB@A'nA1uu(`շnr8H͒n:hޥ g8DQT j[m,ؓ cm﷓?;I9?|`L92}xhKvsmXΖ/ 4E-E쎒hYi 9wsljҍ0&uZWZTҷ?눍PZďC+I˷$r«}T6ٽX(`v|~7@S҂G\5Of]yθxهfe[ڪH Uпk<5EjCC]7%euPrB){o eqj\y[1h AXo=#gx# ӍQ$<'햿b_YoDSBǢ%z_lZ2r9=FkB!ZY~K^ra#K"2f'_]yY9F 7 &*Kx1kLBH)s8(|K>u\{3BR,g2ݴgDΚ:ex*/'I$ 8L[4' l8'b W'BUFp=iC4֕]]j#v㝹`ˋ$I ]ɡSxF23u Bųɪrh/%d Io<Eů\F:u)el=ѭޑkn`;i;Ƚz?z DxҤȫjhx]"9 ^PI!/Py}0Q}o Jḟ@A:$֍]tbcI hH_d%tO/1K*u~Yw~s[QX6# t29D?j)L[@_1dyra|Qeb+P+x1`3x>w/w:ފ,҇-N DcUy-PV"~7SIcFzgQa>dza;*AܽnA+tNuۉk$ 6ѵGGӗ`wCj(+. uK E[FϵsD`^^s s<<춱"qТlc䮩ׅo144R'DL%F_kI(+L#pk*| S^6_n/zb6Z:$XDaM(P:Mpf &72FQ Y0K )}e]cÑ9Y PoD%0Ln\JJnnw'Gx],!lrD<3k.X[VmTeErP5R '…fW|ϓօ*wᴌZE6_%9?7mʇ$at|BSYgDKMU]jiBMq5`VK#˄lO=~0O-Җp(njk^4u5q͆|2"YOxgQ37#z:1@?+IqB~%sv1ׇ `ym OIPq-,LgiYzGM#0&K_D!Iwp* Gk(:d;3% _E[=efU#&F- 5)q#6if-%l =佲]Vbu$ID+I [pM73W;~ق WڈNZ|k G>\z!x/T\/[MXLg~ЖtFJNK,#z|#f=l"mQifk@={d)@MZm?6~f͛ )%/#q`*vCIfZ3py_yT.C1}8m(ǾL aP[q#C,bM}17 t"?ЯQ\l&K/*&W4UlREf;js׭OG/~Ku0UQ|E$*;\zTu "?r]k묕7Wm3rW}_ Co}`Ȣg8Q뷻ˡu|q f_0HjG&t>0m]w\xӬi-eAog]BTMh둩}T-_ݻ+rXZ4/{Hj\`{4% (p/q'Mkl0sN[oSADBߜaRZ27Qâ|rU y}h=$yk2rT>>!|;vz`z5~r2V/`T#s) ɩ/ }#ޜC' j+i%}A)RiaVm6؆҆Ff]GmwUs`k^wQuzW3n` Dh.근OmF%) +wk>4X oa٪ aGs$C?LWfZa;VԦZF`OqHrORȺ8h&Zҳ\ ">5[e[90zxYbgY\r=Vn!J/8fs H(M]0Z6H[Xx!2^P2&x .J6WF_='"Y~--NnѭlԚьL W) Pg&m/z+Mİ.⧆Sra\Ⱦי&I_(iִVCI ()U>vr4 H[QX͞+"Hsﳑ"D-,dċznJfL[@fU_f̩TSݧ;SHFW~)]jw@P>gM3G]2u@\9PDdPI[EctSk"j>B#2';s74)p;(zV$=Li%9h%Eď9L'ɞy{fh*(m]_[d`pB ͂Fq\{1> ![Y&ֈqҎ-q:SxX5X {DgrWe1\[? R#VS&Lnl"<PևVݝ:FX-)WVk}eC[.V NG{h5p}] =+{46PRbS^΂|j3l{M "eM%w QJ B(iT)4LF$Q'ϲcMl6zvɌ}]QEkGĢV e8S}I 3jT\}/I#Vq+稈Z ;mIA|CK2Op n\nX\m7|S,#0m=iz.SڢWsH- ;jMcns~;َ>&@^~yySs͗޶J;?Q n'RZ St[Lӛ7#s mebSF\XX]*m[z$a%>`hFk/D* j#&v|Uȴ *Y* _o֭ZPfckc+5>Lp{C/1=19;Jҽ)=役6'H3ǞiHﳛ9˨ЭUEv]Ig ,g.n~lZ-|N$;J\LުC'`qN1$-=- ̛I$o;fWڞY[OP C#3LQUD5=n3֝8ȏU:^[Q͛MI 6^yΎҹV3T6ŗ*FOkfdI/-dAm;|~LzARQ1!OY#Ͷ)%7_/4 Eft2VgDRon]"z\(NKd?7&oƔK`o!GD^O(w/XJE>Nt"9>B )kkG_C緂l!/鲸j<ϳ$6l# | E5EGI㵼l M6}KLD)x.U\>_=po[Rc& VKZ 렾)|g Y֔9klTB½"c^(O25I+dNE$sa߇w((%NS1<] 0vT=iGAHCҥأI Lt:l~Y}&޽+Fߝ7 E\ 1,4 Ӕ/!qR Ň^) 545v7sMtJ]睞䣕Z U]vnR)ۨΔz9\t;^w2YS.^݄]ECFE*dlx\ \o+Lj yЏݫ5ţ2*K&_3$MPpIL7{h2q>`c=7 L"0?,.K o}Ӧh9/WG3 ;#Wfv !t-ɶg򜼰ҲQ}Y$7Ո K+蓾``YO-77պtG^΍>BI&s#]R%m2?Z&[+!{lxTxhGi4qЌ;GXX%>ݗjf;'1i":dLJ)pdcny3y6v3ӊW0+pj~:0" +9ܟ {|1רgy33Ij \V3Yo*;.8 _WxU-)fk袟qqH|!z aY7j +:Y/CmpT|p;1}T/5>qq-}_~ၝqJLKozHPcl TRz'*j>V XѥQ\hPlak.Nn ^ 列"鏢9Vϩ <܉IPCԶ^>Y5Q48Jg ܂ IS-]mn;+j1lmwI?84x:`]Ҳ yjq2:<\4ɒ4PB49㜜اX0T߻ &nwL~2J=Iw0µ@cG桫^z/&Q6\OsWǻa6WժN!%Έl+:1bJx8w8 qKZ`VSJLٛe(w |\VKr1m)h17;Rc(Ggu1<8m<*.PsWv=ޒɻQ&qlR!VeDJ7>BEr('"gp{H~DM3 2iD< c[tmyAgJ^YR]mSq0bD^B#cM$İM8gy%̰8B 0x2u†ɻ$|tGBbZF4;6;vg1$$|Ӳg16Qow`ٷ M)ׯlbn_ԯrk.EYʹ9 P4h霎 N&nGЗ]fگ%ưD3iF줛k}SsBqnؓZGLGaÈXŇ>@f|oW^?Ͽļ᠅p (̀|{wXl{G-M4:ih;byLj 06D\\n;Ѫ-eUSGq;T+V5M6JH}}Hg SފOAyF-E(%#<}QyUjwPk W^mT+-jE:0=/FFMTK'dFV̎Hz+ζˉ+jFn:@A y,ePC&kfe/j(SbǫZ] ?;xۀЄj"][stYW8* +0`|g.`v1Ӳ2һr'7~E+'.SUMktQo]'|EZoA2Cj~<8JH]p7ƮTa*Մ2 x<CUFzh@cpJr~eif]~UgxF㭒u5YA'Wd  kGs \Qdgw ;#?gN2 \\J/~ " k} HQIe_M2-׮tLqleƎ\+ɏTtj9 >$Gz =-7xR[E)u N$<6, bCQ bL)A(c)1W~J372r 7xlګF'sNBoՖzTVJά>rΪn-F_>N  4z4;V\ T )qӊ;\7 T f|I)3ny:B)?Ҁ[ȠqO.KOϿ{R'.Wzl-!N6 av1MkoP10WpOd 4t>tՓ t1<{ z}iGVz2Y~ ="ἻS@Gԧzw7XI$5iLr1p8FoШf@>zB5ŧ4%I8F5X Ei`gVP}N;~~|y[=0G1=26[{1kk|Nu}cN}Wx%hkE1\zEN΄jIj+ >'/5ܐDr q({<%Vݒ \!vkt)IB'y^!k"C&vY>wRg48n>SASmjik9ͳ#cۄ,63VEPRrqe|tnYbW>K&=ofﭷ1SGK';뵘;Hfev5ss6CְsW6lyB QJbɟ- g b!R(<\Ρ]fUoPANhHPU$bwst1ϱr#xˁmS(QW:%=vƯ&RAYZX%U@pΔϢ+V$5kM).yo.o BUQf뷡).#7Tl- ?8Rm_qRFiY5:LSi"|ojޣ$- 97eۊ-'fׯIN^F}7J>PmsD͆hOEf+GnZE{b̚ȄO9r!Gk؄}(1 NeSN]t֍18T.8hEw'JS F5$.VSes 稫z+c}SJМEa{o8#4X*$%a>-7OO;* S鸂SFσlZ򉃇\ c44"hgkNY:W1 rӒ˱ %n񕙊>"(Q[;YNs- '/a\," xڻ;ua["!S?-G]Uf0!8egDqQ^pNyBDPo!4."F9?^tq=:ֿh--V nQ^2 <( ".gє$P0Ser&ֵtE}zXU>l-]B XZ\6/7zl=K*o|јK\J HDFq Cd7+̦d(|N- tC\Y{&iNOqIH#A v15 +'YYub߀gj?YJTqf(г&gO|C ,`al xBq5gMSTT23> Dʨ," cm"G cK0UqU.t(h*p=.⭘܁+/E Ľ_5tf߂w16uUL2f5VHWO^zW k=(SWkB ESt1F/5\A9qB9 {\C/Lay~sv./_WwA kanOU&O-e6 cXhր@$S\)% EpOT8RytՃ ^Ic1OQR҄q[Ò.0/A -|.iuz?+f`pnL wM߭k09?{ <}U~ N9A|+H6ʢ['֩8GaMv8lp`…aM-~/EO$uZEZdb UN˝$7-0ἘtF=[%ENWy)!y;Opvߏ,3B\cj W9{=[O'%$ OÙ!Ef 4*yoUHo}̔ vi&^z5E7>w_B,;5NMirgWf"` +  ᖔCSeH81{oka5F \K ן Yn9(Tْ[F쑫,"fX31K8VgShaۊs K>0JWU<*Ubs}|h9xD\Yh(|KC-1yWQU縟 hmƭA^C|G%BM_36)(?ugf[%39EAB-p ɥjFpwz&ۇ,Fo1QzA 㪩wU g&9 KF'cEދ̐;F#";ݓ1ZOao8˟Ђ,![h9]CU2R%S8W_s5SK|6tM!\Po"^`KhTK@:{5z~vv^eK3`h0<IlH}TU'R 6GZ}mix«$hK$l=/yK8ž`Źc]O)=i\)jbjeg6B.~]#: .~DV !q!>k)9=@7W=i]a2DU[D} 3[.w~U;|mSޥ_ʫM8   NNYw W/= NM{@ 6d8ؗ-aNM9JR$7QR,L$Ib sH2 CA5mN5U@i 'cb߰;yOX> }5P#vbi%ԼK`Ν}82$s"N05U~#Wcez=ǘFCrQa#/?F`5[LU+ P5-> ~[|mx>$64}0|,ԦFʨ=tA3fw0pY׶W~S7 zDM4Z@k"m/IBg~ VRCJ}UgF oV#R2;}Fܬ(QTğ>2ZW(>k:f_DN*Nc_@>a0fTS7J79H+|WR+MvJM܅5&0ژ_@SUzu}zeQ Ԟdz! NCSPtG<46P9^>~~BKH=l^ M'f .݆ :mMvr8]u~ΰS1CX9RjBIɌRaBAJonG6VApaZJ)S쵥g}mfg㾍= y _{MtW۵KХ !;AO#,:E֘P@gɀw\ⲬW*2Ygμr3g0 CozOʩ İdW7( j.<")ݲpNF_ùj?("@k]Mk\Mq_yev u!gsF9/"Z5Q3ΕF>\^A T wsPI5/L(iL蠸 j/T7#!YHdB˩5O9^8JpT,W}jJ+9t?dzPFբssqV7S=(=!<W|a[ (v;Kɠ𠵭}aiV$\UCy`¸->Hr:@2Z,eɯQaK1C 0@ B_%QA:Vq))#S[2g>vg6o]$=D:j&p4 s@b#W?䬽&r/yƱRhX uCaL( aNߊg|b"KBrޑچ2 yTp%%+?{Z]jMTt Sc7JAի6C![3%樻pG$vS9TR65_xMLᶅ{Ho9J.xWG'@a߈O?|q;ne|6E\eP!5Oߤ#\d mvT/^A+ ׌+kDǴ>6T}xSO'l`jl$Pp)˃zY=Yտ?^p$s8|Si^إ/Uy<% M٘ eO{D|4߇*Z]Gi ǁ2cLt@v@ b^IݞyTv ֺKfr Nteny<\I"CS[V OD/" sѕ6Z{rImh '.T`:Z̀ljR-k!!ٟd'5rc6+] rAbTtGfikȊr{6I5ڻ9`ܐō²4uΛFN)>'Oz=;}MKv~{| yLF2^Yԇ@gk3$AafrǭlMΩؤb#vX{.;~B"\@_'ؼY83WBh\y+iNh3h%C^R/$|Kb^"x$(94ty4ꑩ21R+"to馔qƼuG(BB9?No#5\[ GvAPz&H ˅F-4JfO|/C/EؑTջ1[5oDؙr"9ʈhv@Lɬ"D0uk*apyt'̯0}#_zF3y߸a\h@D7ʂd ׏Dn~̔P{)M 9\C3;Jayt`5W6*}mOgs._{ {?&vX"Q'FlfʯHe2ۦp8@GXSw9?j>V};ii>8v¬*z ܪYcT+B<]U0;,օmVO^'WPdT˳~mD=PXr|_6%SywRݞ_T5`=&>9013nWQ.zb#Y\=t)6E5u=g|y]eGVZ zgsf︋kgeuiDUGK?۾Q$w@)i|J|q ^*PؐP 5vxES3;/?6<]7l-w麘yWuNg2VE/I^Ũۏ-\i >u()vi\Q/~ЏN>]&8H{Gv=jUW]vs7DZqR# e/#9~ `d`0F<$tSD8@I_ɐFKPcaF;֠L ]kri6 <IAG\˶5JMȜ->ȯ"E ;ZZCwP"f'm`rS`f[IA. 11 |%m: -Xٯ%3,{+,j.meJ1`02j@fRg=ymEHtV [t8 ]>qnnn ~ גHB 2Aq2ex`$;M\_㨺Wpmm Z!gvAPv^am*F1R~f8Y K$ѦݛΫQp8"1%1H*6nT[i/?뤒hTni>aZRk%eNH,ϑ.`Pjr??A{*jN{5WJBiWW|TQ92A=]SzM*NI2vϸ+n{Ddb'Mhf[d~ַ9At+xꄪk)3ph*o]+ƒ)NޑG)/@P')a8ÔAETޙA [+0EƱ~W@G*W!tKƀUr9 AL褁>*",;L,}lDv1?|j]uhˋx/?^f"OW֐ ^P0- m2 (.eTDY%-M^JKtK8E;.mi2y4 ,1c7TKeAIEL'rq0e]:/%;,c.@}cF WċRoŵ\!oXB̔Ҭ}8D~l:w N63=-yDɫvs'RDzсl~=D6C8fEPWKY_O=K_ z7@s]Lii+LoȬ_μ,1sCU27{A rbstoh@_'x!V:ة$!VԌ;E0S&\<)Y_D:^lD] N65P\@t{EHa}$.dګYeQ1 vWMK(Pºgc:訑og"%#*JobǩoEx,xZ"b J6U=1tC+`I irjY;b?KB\oW3™>ƿː:+C ʌsCZ)_{=H´Upofor?H%FP`⨘@uc _MWZ*<'}+w^TwҵSAhnRd ^F^`?p']7ÝJ MKKP@;Z MnY\249-Gn?̮ut*^%|;y J2ɏ-]5NT첺x2~l)u 1."[H#&I&:1IlB"]6>I-G;Ɯ2y%VwIpHRMFU&)vk;Fdr>Ex b]]JCxҭsgRuS0ʸLQ/qTs/ r5OB7IG ţamJrfO"k},K(8̟-bdMj{09B[k{Q/ZgvohQ(2LB0")/!>aV"y1LoCg"&vO$ͦp"6%AH0V(K2VnL*H |Js#E[)H 71yh6}^tƭ>fmH댣ߠث lSEiY(w`ԱߣFC 'D!聝EV|QήcoP* ;uib!.a`qZ;kR Ho9 ěϥڢ:9 ̰"5O,dZg.~]G>-wFk&wW4= _[yKU=_>.s,fXQ5H[mϩrŜrt+؈ڊMvβ+4Gheh&y, EEEl=Hۚa]Ԩ~^."ң/,hza[T$pWW:ĥcav=ryv%;w/o @vL-%&a쬓F^Z\+ִ^1 =Ӽht v8`a8ަ7 6s=n͉r r%;Yun-'e„mTnx.@38SrIe+ +"MGogmB`4*2) 6v竡 E 40K.HU`v_`JAH?O o+h~fLP A^M)b #a]- @SYJ(pBC:,ϕ)SO`.Fh="ƣ͐=6d*aO{X d衜T[ħ<$aM,S:9xfLf2I:${ אؼ0\.){[/7ZBzu,Av U>/lAOցB)bWIG:Q0z BE.wEpwė <]e|.K lfAv6mj{AV(.2>Z@b!?ɘ8˯}z í4A4hB{}LnJ㍥;y]HCp˒桾*>ƺp `LT}QMVhi,&kȢ;IjԦا$(5!(ak;{ |8q*'"S!5ԽOy+oXX c oD(4MG|w,|i9)?Q߽ôCx~6AŌܟfLT3E|Or27"7M+j9\:p gcwl9Buz1@ d}|>, 2?i( k>,_^Mm;N 21bCuk!LJr~<74!|jA~i,V A ,Y>p8ҳ4Eȃ7cIrǠ]dqY.IbA7;n<6wa\XJqƮ3$Ds0_ dž_qPLawj3-ndt Wu^v3AD-R4 _>2MS"uh{c "Z=9EHX|7Cd:l,'y"dO+Ŋ9ަKT 'NhOBӘ\ BT}t-( %}헞vijpb@E`11k=""JHEm~\viPh>=]bajW]xE{PcC"KLPS$8AԴ6Tb#_Mc bͫli$Ӯ1ʷe Qfٙq|*F'gצmv^k쏅5HrVSD 1}%s/ C)ZI2vnЋY641ƌtY.7tN MLyÓϸᬄxZkR5Z/ycR;, l &x=EӑI&ɧ}U{;b7\wPipo#_7eM=q$IDD=vw7B:VBc%{Ey>D5{_K)~];%=;d9LTBJf~Nj~,(i=Km:vHS]uw? v8lG+ͭ?WLLE&v=N1ΐ`#Td?5ּ0O!I5 :?T*jJDhnxB2pdR\If:A H(.*@ yGKag~36G(G"nZrjB: y+[M'oF”>p(z5e(aF<^;%:QZɋc)UM y#CXpa2v9Rl ɜc<KߎU1 ;Ϯ_i.)LqnTw=Zdz bzF|qڸP $Ԯ%XBv? GJWU.!YCynov3K.Hlօ1XO(TH:/gLា|-y9>zi~eJHĂ4oS!45)>!oyD&90 9%z*=$ մ=R('M{ ȯ \";/HA 0(j,[Dɢ2-.r0=]QjQOdIG0SunQ|`a!6 k5Zelc ɡ*UЁgn8)gr o zҺtB*}=b{*aKf avr(krqfX" X5 {c}~l*srn^gX̗u)yl@G6(ۜK5 ?k7\.\H}("8VqK B81~OF*ocĈsd*Y gH{XJdm-{.}O +&Lf(װDJɩs33\.o$TP٬hV.,5^:CҺNBc{"RXeuSr'$y}V,J$ݴ˜, #%`m{Cͻ_#ZAwԺό/|Tw^ ^ ŶGDE)x{AIlo-L*,0vu<;ȿY~*Gwy=??ݮsw І<xt7ʢy*JS\/g%`If DZ'j"}xX%^ ^6K Q_{9g;9t2j(_i>_?W4ҤĠm|Ϭ.E=G\|rRAOZ2Jy;R[yP=eqX>eq6& vb!S @՘ZRc[v %H :Y80tW=o!EzKU'GUȄ.?̐A̫:iySYSD&ǩz/Maá}ڟZ6G ]Nc>ҝi(*(MޛX쎕~VO6ւd2MtdpP%xAI,Jx `jJ7U92Q"F$m =Ao>Ջ6_+a;86'q { ?gU]xۺ2--@T.n ׃6,|[emˑLD.IgzB,.H{oW旬0cC(oRZ_q,qҒ܇+}Dl!u( 2kwz%gYQ2Yy3c^,^k+TBst&Q-T'@Ԁ¨C_Js²F5+,o|N[Tę;. Cϩ\Q%"1}'=>p\Qc8-s^]$/~Zh[U-!]o3G9 O"PV%(A> ³15%jG;Gw:|5kl7e=ܽO pBֱ2:fQUtIP"8z Phv;N$˴ [LVW3á%0"q@GC!& `U^z]K6^%rR뽿zH"naZ~ }f(RT E39ip7~BيH]|Em +l|doݭJV/Rģ̳ %sKY˾':ʚG)<+h& ,A`8}R$t R&CCFWD/E|Gg6 !sp'}90@qcS3K5A(G14 H;~%s~ Wv[z, JPCuHWQthU-Vco4?8k+hYaWl6\C`:a~qEa>T<yo s&QC6R1k:F"]p/<~hPQpyq?`&o‡1Uot\_8-7-!?;kESFvmE,amH(>\WVlK7 sD{kkG:HBu 'IVѐ6E>A>ߣZ=t0 f"Ux Hdô7lLP\R 5y.S6G;iVՓ&Y]ͳPE'+r}P$ U[C\8KO җVWW{)8džÁ"\Oe=lZXd CZ&b) :LC?6s{MݤLRJT79eRqviQ s[hXDq:4&gUZTa|J'ǁ:3Ibw[G#oHų`"2GƼ@i]-M,RKi5F?NvN?'bXw U*voB|k,^:ܲpL+@@ h`fDU.Ĕ e$fԴ`h:~}5 7DOi# JohFk!4gtt_^|ZмtQRJz 9}km:se7uƅ}&0U>טb g^jHAOG, Ռ#h&f6G<ΟV?cC`@XxPQku3r]TaMZUu2GR>/b<"UO.ilQ^9i;=Ǝg,E2ǎlanTU& jE4B1uei~$TCVΊQ{z_ϛQΜi>t<4I)ha28Jq\9!&aƽt~ژ&֪>i Cj sN]* ls\`Md 6R.z8`2`q6uj&̂_-4գ?WfjX]hK^hN~xE+$n?ʌժk3^=9}`?w*tUr[ +hQZ!F~EcQ:@T:X3wsn_W }Ao7=lt?|2&+Hq$QeZR'ߜ2~Fp 홀.A|τ.eIca7IzG(=b,|S0O-c.1Y6mq* MDBvwwW2O>8}Z{zl5@(.vvO4@d?4=^0&YqHw|9 VflioNw ī|ϯxi +OY?Η!@(Ɛ{ՌC?;&p5$ }I3+)n5YHC{X=8Z/k8& X }=_`)exgc?1->=oF*yyIs&͙ b8Kroٿ~{NYNW8{%zr1#g7 6X vgYt UVP>%o9 u/`j6;·#ck3EU;`gst4>τ\r\zNW4sʆm>p^`EV>P;EIyn-Zx-U9ڐscuTA^žrg ë׎mwd[ibpy!*?S { HsUɀ/L[2W3pLFEL B7ÿN ̅+Z<<4\XFeޯma8ro$_ZB [KyJ,e/9T<-. 9cVϵ[1Diw^Nr ߤq"I}f_C@P>MSEHK'z!X4ڤ,B9|fwDgod{kE)u<>_|FiQhygcFđ%0Ї ^hܪt]\:-Gz;]ה du">qd|g\p,~|:5 wЀAifor)qFH<e.hsK zaeĊgCa?P>_O=\MX&>HqK~cDJxJ[9@& MhOھc_5fHk?}O&Lԝ(Omd_wOp˲01ɱ?U˪J$7!{9Mݣgv .?YjGov NR.5 {9/%Phfo9 ."`T%l2\# 7y2 S'Ձ)[IA&˜ a`,7ᘽS:ғ~%YlQC@ Er.),Oŀjo^zE/hŁu IC4d_,33ʹ2b?B&Rh{W`\P܊R5 Y>DTF%IpW! ZVupwuP=N!H)EsL$-.1D rڷs !% u#ex zw3nZBO`b?NptB1~ pCϪw[ŵ/~&VvBX[|̍g}!"C,Ž+n]RCJL9!eFQř+넹}6)/u*KD7#qQr 7K򦆵mQB|'ҹqNls?"z#g!_zy~M_qN[Ҳ*)TW$|Lr7H6F`atdR: Bg%TWyjE)Bbe5J?NL>,XYjK{wWI(Z;l{|f&wSLsY_83zs\)Wvz٢|+b&`͌a=|B5A#rVr74}>-&΍1ى'ݏ:;ɔZ;I&dùtl ΌFwq`CfK&qfw gqf݋Oě#9W.FSm <neɲ,yMIa}tu]Ko.?me}*wyUe!Wj Ⱥo4H[Hyv6`r9c#洦MXߍHx[|>) -5!^!\˭!K|qN|z3v;5Іҿi5S.X7Trlk%U`Oz̒U 6//R7qDŜHnG  V25.Ɣ3XSZ3뗼_]0z˞RC9 J$Iќ3'G)V9}@a($ ڦ Nr?QCMApƀN=d uM:4Wu ~dN-K)rWt8^E!5c^0?Zs*A3 :LlMЙ!Weq7,.%|_|n B:#&DUU(.Ԧ tI8OKvX]Rd)#'uX|#ϩHJܩd٤VJ'Np{./4' e~?ocU!wӟdJa61ɹ7ڳrj{;ce/[p#1Ǯr rp|_pV R^H" G3@[]d霓(3&[RG5 #UutQފ ,u|H_x*X$q=\9 nꓯl*V2_Ydabs;JYY\ϹصMExn%2#! cOwWRO ĩtUNx){j$s~+~ݵ-$W"iAZu[`%x?Q @ʔ1ގRJk(_DD7C ?C>\DO`+_Ԕ&i vw`B]u-XF97|VCwh\dĮBƻQ+Nf]p5|ingjOWhLGlWۈoB:\ZA͢42Rl=3F"/ȻdHF{JGCׂiRޅ ZKݺSsqː^EP6uGi1۹W@j?TwaL3˷l Z- 7}p `g }O*PdHTd P,ԎJuh^ժ:KbW"KL#8XЪpjBo zv6ir fyhK9 š)~@(1CsL;{ tJ2 Opl-{N4M,(gAO8I3t4_c'RNU;A x&ÿ2n}@6;~SQ~}(΁܍습@H5]]{[ 0u`| ^ s({f­7*v0G#&Q#YOtfY5u0Eaq&%? 3ۀ9V1nkfȾ 2F2 hto4 rLHM&RheD\k4:ģ1:m7+ ]ZP*_]Ad9yO3ޠ4,z=L0o`Uw'i뵡9+s.L" FN.ϝK_|B S[fcaM04 B)=24V6s)zbSÈ0ˆ`eGF@h~!J2 =V N&F=gUM 1$ci8g~ Vɑ9Os%0狛pbFvܥ`ћKոb|Sw$Zˆttąu 3=.UvpaOHiD u#Px2_P4Bd}nb^E㡔x8JCuXFL-|94l= -wAn.X:Ydn`KoÜw09O҉ l˝erюHYR|wԨ@4ڪ"d\Rq'6Mald0dJ%li*95Ƒ ^0iuirJe y%V.\x8aHVpVol]N/ BǚT*{Ѷ^i)[cf^B8 8^˸l/vq_)8F?gO3}q鿷PK~C?ص>P\مڄQUÓ\smcO +s,b/4Yy)^m7CXxq* ΛBSH4vb=GK&'W[J)!kP <[<`V4%֜[3·*:y"7"OLo@ JР٠T@(j$8._[¤m*p% ֝"ʄ;WZض4_Ldd_-].0Fg2nQ2p #, 2e2YاAT{ !4 i>=<ܡR%>"1p!u6 t&}Rbe{ ibRSW=}ZӱX ERI $=wԧIJTjEqz8|le}&uX=Y(q]fTiG:f~FS/$A{moH_T$OOOUMl=5ݩ GGB Bïlڂė5 cx#92W#:·(d;l=s̤(H}EgzsG@/cajhPmb`68ؐwcS֎`Iґ@MrvN-g)N6DF4[c"6:훴ӄd1!?1lmb-̆p3Xa;@98)XfwO,ϝġ_5D^z1uV!!E`c\qTyc>DR$}.÷%3&Im)M| LQ3-@Gw<)-F7Գ(f|jd^z2*渺%[B>άI!fA\z]X3H AXÁ%ט*zcn광}dm}Yp0jh_4uFʹPO)0)` lF?%/rD {YDŅo[pcVQzPGSj&8Vs,5iĬ2֥ !x6#=O֎Y$_}RT k&j=ׅMAM5/;: VOruF9quJ+ FK2LB#"9Nkm fQ`C_ڒFI}RQ+pAniK|?ZTtH69^[dP0TڐU*Ul⊤V`U̦obX<1.ݯIG+6,BVdBlMf'JXG_Mtj@c߷Ɗ}MQ.ݎs5P&sa4bGV9`0asPӘŠ({(#>6ZX\c~Iʝqq{,?;aƓ3^nź ah IJnzWoY= kt5qzBw;DX8$?bd!{yBw#@R{x= l S+@{)KhX Z5,AyE?/ڢ\CL| R"0+D0ۇh7 'U}7h. 67W q 5$E3d[gd! _&vs>}~+x'(pz_QA(d}ٮs4~U@7NkzY!' %ivdM)|,FфUЎ VTZwhlaȵ0Iw3m'wI aiZ'i)o*qk*tP>Ƚoڴ)SP#BfH8,U.,gylO!_7H5BdOBO(/mU9 3Od',3Z/K^.d*v]JSkE' dnʹ<np$ՐOͰ-P)_.PձU+pGZ;詒ZY*N2* |%ΉLAgZ$.ṚՂhg#KczJS Y^*~y3lQoo%T"ewh7 LfIIoO1M^ X!59[J=;g"EL0eٟ;=PRH酝N@Aijxqvw'#Asy}GfI{4)޾Y]GcTם^%ՓW% N>:cӛcb;15MddDL 7.,u(yAGlxxDY*tu"cgJ׍vesw<*bQxD=-Eœފo1۝;e9(nbb3qtnGkk "Fg[F8W?Ko7Y8p, v}o/WOEYM٣~蓑5fIv` PSْ )ײʣEy1wvT7,_ιn}vMV~2\cJӥ2?I6YĎfav7ԞV2e3,FW8 Bb-Hk;ĔMeO <'Y"" P^OxʲdL#K`m#S~̈́,B#ƧB@Wv1)2B2isj;Drl˂JLNNt)) `3eK]ǘk)M0h/*GX7P6mv~vAqߓے _#:q= -S8#q18LkL\=u4aA5ٴ^>41?kT,-iW-)Bzujk4"qSOhZ̒7I,(B$/]3[EwBq>qw#*3C{-ěC*cT>MUDL6RdMd-PĢ$>"7Hz!kBr. @[^%aB_Pv1V=[Qy0 ʵ}a˯q`ãd(A +kv95_!1 jVf%s eIDLB?J|6 U'(/ϙa>v7|`US¶trB6~oܩaxKK?}0QEc.a-&?}㿈5mԲy >ѤDu);dlT]$r] w;n-#<9:8ߊ9)U#V9{4LySm< \BSbק)c ;s;ʛ݆W$ `JB N B0ldB޻U7tCpaMN94oV^5,+;?{1![HJl]$3l]v8(v) `j;@* OZhQ :o6ylѬN[> /e8G0bG,;zT(c09[*Z/.O>[ HQq>аj6mOAd2ּ#ȧ~{72#7_(*v `-IH,OGqWE_vJ3) ɃE![=SgeC2Ec|cTG0BO% ,D- 6տQrҙ9 >*ժBNleܧ^]+G_j;IlX/\|zbi Y:5h UeXHx~;Iۼ|c\OS[))B7p#B&{>G@& 3Ә=xK9b}G:ݬ1Ss{V[ r/#` j0rӲ Y蚘Kґ7<1IHB$K88u;/XA_Pkp5=.AU]ѻ"|.4RR{$t,vxߏ3c#yz=t}.,d+7AC7e`|]^*7I0O.QtI mdq ܏"vG6dx=y `4i}Wy!Ϊe@l}Qq/d;Iz{yyZa3D?U83N'Q- @r0n$6̿o -.)3`M"N]l1Z<x`_yOenN?xP1Yd M-~/UAaV䶽I퐩O,AQH`TH`?ΊZ4#%v77!MTJ)!a.v ;up0Sxu_uR5|:Qz8}?T/JSeY_ ʠV ҟe*PAEjH,N\#$KUwykI@,~>X;V*WTKߏ"8@gnj2.cWZ97vC7\G3ZdA zg_͋rw*}˂q]Yaga-ҫ$tv WMֽ5WWKe\|.Y8L,6G'=J0 19%UL)>qvű)>M>xjhҬW$~,@*Cy|3w.As)ة]}$kah;1 JrQD X6" XVȹ?ƎbL"$4 >5Pt_fb(%+}|4H[.Ni[oJ9 OgʈC=dC?&V!Yգk /]kYʈhu@4d5X!+ݸG@0iE' Qji#е7\qN?p)-~6R h,UbiO43sz~)Y{(BT1ۧ.099M@1^S_0M|trvJ xs/}jXO֚Xp@pQq~@]PIV"%nrP4ҋf,UvI%56?t%cCU#kڲE[žAS}6dכHeֶ;y  5l07_h,h~@A/˜tWm_7+ L򠶦+{}bu56./kFaѕ}$Ғ X1-[ MLʫvg"RƝFcy+^" %un2fZ[UԘJ{D_0w[۔co8@qd0cMz&m1SUPBPY8)ߔ+c6zK`t{#Kr-*JزH8?p5Yz?[:v 1j:p1.]ϯJBo*`Vǝ.$ eN j%ⰩK?yY`A!>?9dzU9.q L@em?LhFf/*sd8 1OI%LyJ~LF.M/adnMգ5]¤xX;|MrKEGoܬ8A2_wn&%2)LaQ5)eN{ˢJpɍ7eǃd{Ƭha`FU:E3N6To^w&x ˠG `寽cƗ!? Z75Z'3|˙"~{rhdu\ _@Ni4GBWI. YP(u繯XbV;Zm|ITq"p^X7(@U$<1'/WVrw^ܖ9^uq$euq n0m pcY,\]mt&so-*me|OފCG}NT"Y?eK$.`\p3d,ST \yP놨(ƞgZ(5wXF?=҉](6<0:5/l`ssQPÊ-}$u-go#iacv޽l%@ n7*AU2?6pGXӽOoG+ӀG# fO vc_)VMbh4 #)g" 2ƹh-$й i-1VķRN-E1 /zG:l$;xKA{J=Ri|7#Z Zt90ND/Zy`_R!iZa$QEENxP`b?Gm5c z?'N1zu 9S] eWE|ŬeG:ǥ{tjnC|YOqNPvѻ.!ʴ`"KTH{tCi7Nɭ9=Xj|d[ Du|b#2 ۛmhzW2 wUY&QGB!M_~lp~fo/)] osKj:B%^YRNFqvsgf7TBrH1FyoF^݈[6!:c#S f=X葪w& ԗYEE|1:Λji<%KB-BclstMk(5;,e:{_ <(I"\Wk|j~;IS a d5j@ I8]C固SICMȪ4yVsEF٠"+`W n(딣2dZ)=(j>1`1 $ >ӐۻM y-̝hm/)C9 3Є- I4B1&&I݅/Udb[g}|m'%f(ī锸\1YkO39i0fz `~Xkܠģ Zj65ʺzArH?z_`_ԢvCE<+],W8)^ɽͧjBADt"o*(_"JW}`2Ї-c~+K^-$DZKp=|@U5poτܘ}m`rHfL&ML,1,潽qu^mF:8&LRJ8k AgÜtX.3b/ZFK(b՛mpѶeyHQ@BW  jvu "T:*hBdప5옷k$u\^[ЪGa*r_x d:KӮΈC濈\v9!wo3$XK>ϮEғ}{einrA7w1Y$%{]2q^jPVf[JjAo}"sl`rT1I%{;k=(xr2b]jm#'%Uke514s. |;QAϊظ OPibxYGmۓNՔOAO︐cQ X}W5 R{&9Lvf~[+y4B:g[6zo_UiA5$l]~IV0itHvbqC}|ep/|>:B@Ba-j 93?wT'xOB۹^Mz+0.{N^t`n|[&mf (~~\heholwg6ʢ}嗖#r%*-ޥkf.N *zbi ,,[=%mH,EXeaA.Jj[1ι !جh;I˨Z6:iF(H|ޠzjوEۢJ5:)d)q\Jn$7 'ޏti,: 7^YDsES=[NY})5/Fi^:Iv~.1rc€Ћ2y Bl/ V[PZEkzSiħ<(A$TGRu qnqEFxA*%ؽ%-Z݁u@Š՘F|J'3rK>FHaStgxlG~fo!92! h;pxVyMP8\WT'S1.D;€/>/F=YbUމw09ߧТȒ:"f-g"NIyl㯫zH%;ճb)=O?)a*R{0@SWd> hI􃜪M`{&@5NFZ>yͲѻ1ӪG=tWL?an<{P@ ヨ\@  o=zGH "MX~lqe C!f0p{kCHbr|;Q)LzBp0C>c`F 4 eV9' ;A(l&,fm[oy+pbB&'jeB7b%'1$U[G!;vb43`\SDz: Fa)k0 h_mDaJE o;)F32i^Klu7t3H>a+^|4I?zpǼ[~vx?k8Y2ȳزe敱XWu[3q^ZmjR4xvs&nn0j_U Px1Цq@ojH/'٫O@6Kcoz Ϻ`GeDX\:xEnXR/<<ſgxJOVY]D.v0PCk| C^Y K̲}ɺlZdN}$+)bOTLۭѶhNAFw-ڠН ZjAe<߱6aOwyI7^lj`Re:_M#lˆ`ENg{q #7W8zx_"Oeb< 37͠4u0JsMІ:V^p*Ɍ!瀦o.5n Q+?HOf98{9 IO^*wH=P߲.1Y3ObQEv.PW52x #𴡐Zx@i Xu #w;ohj3r&=ZKSBlNuIkCZ=mm@~GiQmza4e\"E>HYR&%h":? d͆ ߮ iA~p%΅L>@ȃe+b(YHh5> $Vz۪楩/LݙK2{86ԶƭЮ(ʉֹCX]x)p9D8"fS[@WPLP M'S.L.?u:vlJ1H>a1(cMI*Ɋ`;`YZMu@4ʊ^S@JChe@ĻSFYov}b t'<_ϐ$U@>7o*c⛫* :fj\D50%ȗ1ʀ .&{US]} T,p9>oWFe3'@vmQS:@J |nL/ K _A%hyj*kxdFBDI(*6>i@Ch~(z5ZϿ谵ƞq#@7T׈LxZoڀHy^0K W׺ǣ`&h|:+C1m0o:b'M\e9c߮VɳqUu@`9DFg71@.>AOӤęb< [_8_W5tۧVA3䖝 ԛTao=H+LSi2YpW:TxńXyA- |z󖂒323a6QΠPh52N|=VF'OeWXerVb!J^i,Zn˜$x6Ff5vQ & :kS1ח>Bp渕9|䌙dg #]طoڤ$U` \o."yw"-gde!@&:m Y5fpӮaGm:z!EP:\oDc4riX?.k<5"voڸgN=q'| $j5nˁTrVQ5dL ,36YNfZD-A}JJ TOfr g:|r+S5?u3$ ,ɒ_Z7M}I1sֿ;vtstWf,3y3k{bVT_)e<94bVcgzxt&mBښ.'{=f)Z1~>1XnG3 6a쬍' 0ekp⁄.!_?ؓh `t߀>wjMeF4<+lðp]ȘˈU(Iwf+;e=c a#8CBgRjUdR:3Z Xg69NhziWkCڦԩmzA]Sz |m|((0EV%iH5,6@ː*:(M7q?"oDo1MVf䫻>me$KЅ~0D!r>E%Sg%2Ƶsf@ἠ?0냬l^e_kNY!ao1<| Iyuť. aI 0UD^~&_4r0V{=WZmhݓcv%j3MH%RS f$qQ 4Pڬu,>!JEݪtHgge2v@+ er jHffgeŠMaR&Er*KR^#yLCxl'ń Z" &X}sV @ 5`~C9i7b7KX\%Nȱ<}1z#HvdeJ(N %fMO١2)Lg. wYDChw GT+ׄ\>Դ  8n)YXufmP5P{I,~YmbҮ+cegK$ x9@5O7 xVypn<ȔyN'hvV*.uĕ„1 w\DH-Ct 'W ƞʠi ՉNUS|R Wŭ )kۯyr"-Xq8*SH6W X=ˊ:j !ܱ# c /~ +m;nCo-ȅ0fgEe TPNs4F ޣh\Lł8=z/1o`@3r'Zї{-{[洉70V+7 m_ 9|c=h!`޹ΰ**G\Ƥ{&ETq/<N P46տ~;}{[1)W&Kz"-ZcZ1o ~NS\ʈmA>ܒkz]ͶpϜ]s5j$ҋ'X:tg[PmFzŚVz[n]8MA_IHT[{SK:`!iN+<=X#z|eAYtnDŏ;!jTi C]Q0ٟp"2-αiOYrF6RvS2~膣)Ir<640~Q7ߖp@+&˧6@‹yjU)O & mmw(v44#ڦ򀅮"1!yW͜ $hcxv]Tt{1A檖.ԗ7<:'q#ƉAIVPǃCWpS؋t0LyE]mזX XwTq|udrb:BmKz~* 4r2~ YXRjTsХDmÇ^`?9{¥_O#n/ seء̑x9e#[t>l_\t^?yVq/sZSYtHH% 1&gviG~_ 5q@7M]abBQQH: 3[ʌyEp7tnIc6H 13=MzN&؄x$\OPwQ+?QXԝmz Q2=Ib}U%43n%I$)xKY?|tLɋ(oe;-_#Es+ 򝿃;t8k~VG5o .AkOv/Y@$DV5: ^$TV/1Sg&LtP8{4^"G07Y#Tkی.J ;pE9#Ҙy[fЊ(K ~ ԑR!kIo̳YwZ\oK(Qq#Pgf?A9Bơp?f1j7{ğT4g ˂fRܐ&l f+x8dsj'ر~qAw4qQeP7odUFs$8`r2S+"!Yc+d3UaOY B&IDpKm_YV=w(eyƒܿG)oq/r5m=BƷiH{ġΓNp<; J>65Ecn9z"4/SoIƚIɫ 06%KWK`›nͬ(p߻\P [jlaL.@J=8|  1EL,_Oh]6y^kpc tH⩯!aE:19?j!wZaw kѡ:v; mb*4b-׆C!g>oǽUODw"utظ`kȜjbp7-Wz keƑDfYR'h"d͂-_?WN`>I*&_h\ץК㢢yyvAB7 Jkw!$)o- *m:W:t$m78?yOy| si8XpCgп:WD 6Ųѓm>URۡ6} }յ kT>Lږ'SN!mTi/Uy"#AnYXbP!%\ySb =}Q&-r$zYzb=1?(&g#SBe[46M.d-9~[o;5+I-O?(;u8gS`Rk*$a4k'op:S lRkʪ6D;;=*m[e/@k- (Lz~u5-T, MjtX+3zX9Uvꂪ  pY- ?!?+9 %A-o5+60Oq_ҧfN6 4enY{ܭ-kY|qv{T4?Y=5;֘Wŭb֕XLŠ9Nؽ_\d߱G DWh?kZsFBmSՆN!j(:E!aN=\݉6Ghlf?r ۛPTp]"R w[ -RfhuygI!.ȹ"5S3jT[;Ȍ\ Z%^g>ZՁӖԼ͈SRLҀʆ)Q 2&/4?:TJ?(Ŏ^du`h(P w.." J苻>$*;>%s# 4ijԶOyYʾ8Tn]H"ݓr1s>cI.?-t"-O|b.vRZdzdQ\Q,Y6+&[ H~YW-oRk@$޵_ߔ#;R/2x~@lqu{x>4n q_ZeҖm>MR%~E90v"iq֏7*XmW8VYfPsKי5D+P@Xt+ ZNwUeB WtD6Ju"B>)Ep(YA2i(]{K^$&$|Ӊ >ٯ7=‡ }o.KxNCGTv_I4 ,+Rk[Umt-f!Y h<2i.im[2ގ6\B(ܻ%0Y 7'XXl*+s}Z{`:pHTo0q#鳃Pa wp `fejs{ufzJi#{VI|4@)k |x_OéK*P #pP+i d0\rqĽqw.3(="R[[=RИZq@o'7PS T4_ܢK۴=I8?\UB(}3h*`0̷(_GF~Bڱv TSr @m 6qP7@~m#<]݅O !0Uy64+3Üjt2f4!bfx贌!EF׹؍Be; Ȕ/ۃgUF% O79Ef?  xi  9FVkO5 m1Xfiw30|ߚose#kn=oMΌNra8/|Z)/2,'xr\EDttV%,Ek8=w4OQTKX6/ hv=ߛS{,\ix[E"hhlז>@L9p; Ȱy2)[ :aBuZbAPYVpjnEHgEn)cU˕/()hLmR=T@oa˜ff %#sdЗŕ)X4J=ٶ>seUGgVs*;8 =wAEXrΣ22 ,VO$kC tϓ-T㬻UI[Hod3ZZ-7I2nu&H) C0Fn : ^*a& ƋaGđfGxpLao'E-E;VR9;-@Ci6 >'E bqu k x/lX0{|R#!wFY`ǝ ]CAVX#H FS>("ZSmNV[|"jۯ1g4Mp Α崔11q:dOPuI\ÖK1ch۷މ5XC X;2c75Kph4oTIYm 9WϠ  z[S`^;w3t .zͼ_:Ѵ0UoQDXls N\󞿤.~Ar2^Ng&CMXG!i"e,VuCnέa\=CmUVynB> !=w׽`*ĕW9zYRuUKAEgw`6a= T.Tƞg@>~DGT"n[[֬Uz$r{7W9oj4c3o=a=:Ph(+|LaiyQ:ޜDIT+7q'^4AH?~Pk'@ЍCCu^J\ȵ;<(N3P Y~MP4[-wMޫMP^'#_-Z"> \T@j/-/-/<-ۻxz ;EWqCB3V{qmaopڼ?aVdS=.Vj8# j5L37z[I0 1 ;ɢN;F"e(t!OqMx63D`'1iѻY{ yHhu'a2pS)svX`A.280҉$r7CK!+sA_ոg ,\w1:}ʢ }M/3\,d A_ +9^'䋛Ƹ,uT7dfJlcz  #0>0H@=p5tL2i$C]83lށoQc&.oitɾ֧sQ E6g opqSxlBG|GX3ے5.ڧCOAJ[,ZbSV,s5n %ĕֺ|ދc cѷ{.HQu+G,sy1&jxCPf$`qPڶȇP̆RHV厥YJMa 06Tig7R9B-QWb>MBfYἑȏB3xEuHRRK4Fp ŝ::'oz _╅ /Rdk7`x -kS 5lEc1]ۭ%~/,T֯62A;o"a6[%4]J?u;ۀ2"ӳ*!:Zn$ړټK|z,f`IA/R"h-ЖSQp+.u6q`dyCZt߹)NQԹLGjٲc(Q&qu8IsNFY feơ4#!p-2[v;)A_[3֗p>{4cpG8x 5QJQGL?vҢPʼnȵ=N{3Wڔ신~!Nѯyr|.*p&6|QD"l~s^1y|/x__ 64}c! oN¤Ǘǁʇ G>wb&g!8оQofwB/5}$=B uYfFa|svd 1 -O }jclǴ)NC>V4o왽R@*ṚU0)Gx"t+Xv !=#k=g> ךAu!kT`nl{BlUndk2ĶotVtD<#ȟ7cUt ?*mxv1ll|s`a C,G,龜7[pbĭCφ@p:)kV4(fbK9xaQݻp{|LkRG}Dy7jw`r9MCi $ȓ%UbDjal.Fd*N8833zFG2?g=g->?xi(6 ?mvҒf@yR&h} "]t lNY逦ڇ)AmF $~ ZnF +2ڄ{վgpLwJuZDZHƧE?FU'(U,%&$6ǔΤ)_7H8Y i90u]L˶V`[(ӧ:<53`~kyƝe.Ҽ_S՘G:Q,ƟjUV 貸 H c%rn#"l:jh?4)J_i+.=2-j.9IwMrď$y\ngΠ軍6;W+7.)@-KeAanC!&?ఴOo9qO5FN܏Lw`()?8{u`gr8pzn00Sxp R#T%q(/e'b)Ʒz,szV/8ĵ [Y>kw,vPT{߳po 킏S8ё>7|oz D~{Us#RQP:sι5jNLX$&5)/ ;Y V 9,][$A"dhhA*k1Zm#RAm6Ā8۴%CZ͋}pO\[5{U/K1U*L)n 2Esݍx6^YALZ 2hA&$?EWUB.,) G&ԫBxsO5UboBëcUe?rb].!_ CL`y nCďT)˱2-TyꟇynJ`@tۭ-TG&Q' 6_\}eZG5'X3 2K%fkx?T{ގ3(‰= 3Mȩr9Rp[nS:vjĕ2>F3nx|`2@EH}{O'WX1 x47<nO;H?{'{UXِ'3]zo=Y6ɷo )/A[Kn/,P )M(5)&v?dh!nKu\F Hwy}"_ɭW!J^p~kNEzXg=CN\BBKm;yӵehU:8> -^PIPAx мķobCt|a[Z^sYlp-wVE]6aZ-J:`|.KP"MC!-kBɘ [:1HCtn8rkӛy݊"#m`A3.[jy2ψׂ5uMl;fR?أFpn8a;ˈyK⍍"z{0BsXϫ\H}Ax}?UVv~]b[VG,KN V@}s*xxiYn;(q l”{b$nBdkC 8x;Fto.ߔwaT*_tgKe'fE m7ThdcmxhTXjD̜/w]3|s2YoHn."hL .'x{̋W8)u a }3Ժ^bAZH0e7[F+د^rFϔ_tqQQӖQk?! !맵0AHZ)p)r۞bhh~I]:0dCPHot]wZlֱF9K=詃tOvXF&{X|!VNc.om{1|›1*A; \[㦻RZO6mPpώp7 ޯFv1^,3FzIԽrI̮]`kGEYcPq A(隦C1S؀̋3'Pφ7?7إ\ɞx#U%~xp+y`1R4ދpG /~Y2ړ|6)?$*Vğ$`q?JjF;JDRf2P_I-Dfw9L@ x5oPb3Pks1lnm}ђX4=$/?NM|V4R=+1M(q K.d^})W80b7EL↍dXVM6.bu e'c4wZ<*(foCv7d*;s1Nߑ/9Lvg-yWF2=BɄKso1}ޞ_!})QK.*h\ L-h ݍBC,uFt5V6@5zT}ȳ.F< Z2-AVoMq.m$YL@1oz+zً.i6g7oRI]RѷY_pP VThsI?,nE%Z Jǐh4+趵W^aІ.w8N bgNVĒY$y &&<,9 τmGWW^T ¢9BpU ?A`"w(KlVo6z9U( ?ۇtrޠ̫&ir%w!mVH_HA噂L G[[$✴-v:X^ B>a' kf7wMA6Q谑˿/R F&. !K\?^ԛyWtmsƎ4J3jG>[iSɫn۝s>=~nƩe7|vLiWO1k3xcB5$NAq e}!T:Ѽ=bf֠O O|"ߴ署+W<\te~s A/A=RhDT=ky+D0QK715CUyDC*|}[#)GdOH:*\! cT3jse%cJz?;S\OFrs;\u1E}p"W%q^U(ji'a]6g kNy4ھhZ 7n*gJoȭ(EA?GԳN"C8WIFq@_kF- 4S KiLfYܠ5'4sf܇*'zo36Oœb@?̍2DMPD>ؕTNCQrV\VѧKmcV6=|{rPꩭW{UXr\w :ۗZ'V+^P ִE쯗R<VA[ٯKVSzz}Q0N{%-εRw6 #tϧ~L#4n1iwT9]_=l/%@fbgޣWBBG_m*BO.㺇?Kg,!^̒AHri~zsi;_Zd±CT oiR&#<2-){N϶ /uOJeq4d,044%)vPS-QZlŖ_pkvO-iؼ;?6gXȄRKk5BPx2B"71҄Ɯf?EϼۑPC7rr8P.MF~`ldU@ ;p2\| Q7q`9e \[s)ȍP(>9T;B \{v1ϓ!zvTMbC0+NWPf -[rK^ 0˦z@+=b^V/_ bH$U1:zpn#{tQ6EF X<8ݘ:Aڊ};5^Mf3Yql: Aw2$1ºI<|\ftWt A9@26]"GqC W2EP?RM<4 k@яא"j6t;Z /,@~z#ipMȞ%I/Bw=e4aQrΝ2ʅ>`G1c-CIX=zv6 ӟєlٮzEZfex87r[1/Ca1ӃLD*ǖ ]}}dQY/ #n} +ͅ h?3d}͂4.XCd"<ھ: >(TaExqnׂۻVtOf]u̻/ fvsBJ&C!mw/ͬZ^J>lK9ݥ9TYu(#<&["8[g){- @Z$ P4UflNY1ܵ -s*#AM"]p+E)#ot匎8TLyNb#Ň)!#^#Hl`Q SߠǞ{sr |4 z/u{tiUEpw$EayaaٓZ`-dY(Eo!TWv]ttclK4=ؖzEuS Y6 }IyKFYÍJ%҅1Ǩ{fa W *=bױ,i?ͧ9jsRS?i{>լ"N󜶀kʝn:P򙸤JtsoP:g G hg۫ ۢy1M vd]D ,fFMq<뾊3MAvʂSM(A[|:rw~8j FzbMyK(:_?;=*8ȇ|#!D[ ;0UOx;-$6(Px+G`?.Q{,_ټ7h?B+ =lmQ2[Trejc;a<'_MF8:93Mx!˫'m[A*8KĞ7#E$][$߀CB@[J5To]P[5Rړ bI~^`ZEu_4-/47 `xS~uUE.\ A=>c-ror~އ _7Km`]@ 4k7"b|%G'~o\-_l:q=N"o/ "iN?<ȹ>[M\ْaz,0D"`Uh`8G5@2lC08u'^eԛ8Ё$pMgz K!QL¾+f̼ap:3*08D)&` gw0٪ # 㰝11K#ڃ1m~!9*A~r}Ut{;]!MHy[zm6o u.t6 &tꊡ<6:i0CRqsz7WI>K\RYAa%C`t7iAK tr)Qd05>-eǓbc1C()&}ڮ [&*o%2cݲŦĸX}~LSշOt%6nEXhPbŧnG{2lZd u31#V>]ExO~#"#] a4_[} p(%8OTbG_urT Ɩ~\0o\Yu? F_Ÿ!7!c+AOKb̚o/wtϵ4/[^I5t\vN!}hg>#^OQPFj8^q_7mOZg u -peB!S"!NY^oKh#Nk~-IEHPXƿ&ڄgS3TS07㚏dkS#}AB*C/0dBl>BRLΑj&)OMq5@7ߴMsdc,xս^mqcQ-atW(gb0\WUH~2eeAŰ&g&ąIZ;3Nh(c_zVt_=3,M&Hzu}UnCuwy]d8{7фgta~r PK5ϓ9#ӊ-y.֕5ɌH}r*i'gdlIƩ'dX-ma6CUG.Jԝys2 M"ޑ,( 2bB tO>чQV̢'D(7=T"ăALLv8qVV&cmr`BM/@$چs~bfڡ?pug3V91:KBDg^ވM^k="L(>C_tUu^ Vy)}U׫JLdVPԸDM[6 P m{pZ#b}0@<(S.3prx4O)rQ^eՋb51>!tR1-=>^YXj3ͬs?wVJ|6vf3SxQgiUl/m: NP̾̅t9Tw뷗UusG)!:{\Agr:w곌9ڌ Ư=#/ #/Q b8nZCdxڛuƎ5>-o"FƯև&͕**Ln$yt`,W[W,L>82'&+MUT {jNrl;7.&fY@ ՗ÆR$=oƓJʷh[[6A+$,. M>ýHvu,m̐93%^&┺|u5eHm&W3h{T!veݶ>0J db֌ &R WB#-U5a YeS@_3&{FS-L7m\cz;6m`5ʟ"\@2J-:YvT5xSk BeA(%2q|wnGٻ`$,ؽ +߬!oZ8_]=4 KNZj~[ 4Χ:KꃎȤZ8Ǽ~r?/DM?V\cSk m N9R'Dõ%8+QE=/NK6sx8s!uR-焮e4|uVv^r2YLmq`Fi ɑOKue m"a`ߓhh[33{'#<e:;;䯿5oZFI;aRB]u2/\*ve@nV?2+]z/=Z{+3uftZ FfG? RIW0Zh|h=y+QuT!)JJ3RN~!?p@r+)ŻwAQ]ש &ilit__enjFҵ f{+dSs$= 5Kπ'pUQ+&LPǙ8xZgȵ2,SPhۻgwg8\w^FïP(i&QhbnoM9 k_`OcZK c.g/v>4Fjl#pjAV8h W#L ,挀L#RDkԂ8!sF8bw1K7f5<#N Ϛly'22[$"pLnzc ^ Ùm}Dr %d#@!WӞxӼXڗЖI,G(.P0䜥a&F!;` an)t\_q"X-\h7ǔB-4\ ^G4z_3ReV_iѤIMOZ!@@,>6&#Z%v4a:,fq|z+ LoK#[eíC;ՖeJ$=p Xh^=$'~Q0Ј'ǺG RA҄KF"A[TQ7 !}/|9~k e62N.\m|.˙ 1"l֠~"yx-Uyʜ4/q$od2Qs. J]#P%@E> X!ýnme- U-K OoXjI<+$9("P~l$]_]7Sխc]6,G ]00ǯ4U.^*jQo;pn=x 哾n͗ī!^BR(V $bIL0(t澮q mާpkƞE2{w]Dpg`d[T6ZJWƮj㸨:v}&_X\GJD[b;IGyMfW [6Ƽq7bVǚ;w8$%,[t'Kiij )p|=_*cV@ J1O4 c3hQ+פy& ӦUl֘/!Q8N*5%v4Dz YwvDr]/_t/oGp{`'iPB|7Q"Z?*% UKA4SR\]'Gs>g;M5Z4$Vxטh(! r+TG$OHTIJ~˛S_MrL 9AiIX1hMSzOJ,n#s^laɅhTD=RlX0_q*AԜ%$SG  m;*쇃ekۂ498bhdt@u0G)e|1SdS}0q<~=RlAgNZ*lapMf\o<6jF٭\u y@邾.N e*ifAň/?QwDeQXh=~;4S)A=pg!oA#x2myj>^wN ݀\dfȌ2"ꏆxMySndWŨJE d&frAUy/낞ߐ& 6FPC?:cWt}>iv3KTFc㜵7XJ{aIhb-:e |"6P:0O#Sοgc^?k֫5^{S{ XYg$锧ȅw^+s йo`8f-,+'-|}_bNo…/-c{ZB  q֘s_1(RJ`_J. $@ SmrOMQ eKdc0&MIEXyVA}h-,*U,)G*+6]/.dXzœ}!҉J#'d, 91K=n#Rgd~͵GG.|ȏ( >eZwCѡ; o+[5ҖҼOn̈E@`3f3Rj@MšVI=Um-%~=I"隣qQ٦ 2%n۲wҍ|A(CԮ|TgG w,yuG"~okgFo]l >*aeLN6HU FXr07kƙIh:Uq`&]gYMptKBڌ(ξ>GY#ߑ?DOB{$Elpvgfh.iMIy%9a!:u4_J R 6 3&FvD%EP;] e`n<6>ȮqrOgaaPtnOw̸`Pgdâ7߉J5PxcY%>˽avwnG*Ҧ_1rGݠ\ }7"q! M;DLG fT#c!nH/-obHKaKe){7S}_s*d(ƕԂ2iuᵽF8va`]C鉠6:$QF#O˨L2Vw7w,di[hgmiħWwPDf@(S~g"*$Ibn8#$,DLy (X; ћNRw.57P4M  c1ۚd&|2Ҕ',*>ޤ1yO4[vw~|_ SpO4i) 2[柼?Rpt sӝkJLm"2x /_Id@v6v,[5^'7b40At^Fi0j#:Dcb>/9j23Y˶9 muvJfИUt0\_^.t-j2 I`F'Wqubn]U)z5ҼW;^>ヹ ӺFJ }~z-Kdhղ7!{lEg" y+dpDUY(G"*TZBfJ D+O%KQ"0bDW:C8 =9DxǗ=Tِ# 7+}NIg{ /ihDdŤ+cEɟ{(Ӈ28{F 2慰վZd $2jtz+ avJVܺw/̟B!a:q޶5p2_`4V=rQ4Cl J1*{ƥ!t`B\3L䱼U$IbJ\&-Nͽr5LPLQz߀KlPٰBVnq̪&~W43o톙p5HxbTأN8_uDPh֝8nB/wIu2 /T{R6Ց i ݻ"pɗ]YW`^.Э9ׁک>m)xQ49:}zwO&}hOa2Vt^2%0_ʅԣf/m8ǿ+X2~닅?G1CUR۹kzX#L8!0Y(WBMVͮƇ5_PhN2CS!mVPiS'C׾5NԁV;Mԁ'<ګ 6`t)%Q`*]N͇ c*2 ۦRgEPG6.ǪSkHGUosO]@aN-'oX2J|C76V0# 赁Z~+#!cxrPOU>il02Sq/qlOcGRm VGCaBos #G<>PU/{g6^2bؖU}{p!5+y*Tco>Frlz5)1RK29Z 1SEkxu oLj-s;}7\07H*U!+(CnS 1ZW9հj/R@ɒii'g\ny Dž&JOՀ2z@ J_IU3gWSuQt9|-,'bwm138z|^怅 vfN o,VH,Pjd'ep_ٕ͐F4KzL!Ȯ8T[yR%  L?CăBR*VCmm\LnElW>VH XInw: qł88Kz0a*gVX/v/y40{/͖*/YmZ3ՙ&Z=n'ͩIa [Ȯblx@HAD)?hL8’'2DJaŨ-A3lU3 gȅnFɵdJ"箸+iB,OqLgnU7SHx^8d?8ϖE>O͖^=sƫ6"d0OV.o.$RP6NȊ0MYg{Ybƻu{l`R9E6#2?VGXo#eER-SPqAб;4"r22c)aOks~(NV6#R _G^Vu'el;`LS<;eٌIV)qBL;jq#R54-z?iX.;'gl_bf> ` (G>p`=5Fu̘0XQIQC%9wFSQ$g7Ae>#3D?2]c݌&u5Rgy]_xseq}],"Z/}]CT~svb^ ~̳oź45߲[|2fmpoD٬g){ઓ@Q&GPֆcAYc>Vץl#$Q5!xĪ2DkQSX0]d~u M!:i฼7ިCnހһR*AZ sqJ*JfBVw(T.AW1?mUiǞ *(]QiK=rdFj 5sYQ%w>&r@Qesv}$UĒ`v=v 5g]M?݀BJ$Nr ,Kk8Z@QQ&Ցpt0"ONs99*R -QAԂw{`NեYپ;!͌t#PV[֩Zg8T/2Vt[߱qYJN5Kr^!A2k hNkx{n% VÂ^=K_eݿJXPևA9aћZ 1D{7g%"^^X/C$UzE^teu'%?K-=Rdn>-VNA!nLtX_-<ݲ&>2alQn14Xj/NӃCE)֚oB};O.TQ5(mΘ;0 pLCD}ga]p#1z㠑TuT޳{rB8z&$: i,R`Jyrǔ@aQtPhuY_~,}ިk@:6̑$/:&=W~&\&'rq!/2WEC_TCjm{RUr Mh'd7>$mqMathcD_ k^հzpFL Ce78GS:=5) ;:]UǨ$<7"d\)]떤3l+sJ"mMuz[/&dE\Z@LZ`T;{N$#c=dUQL1E 0"w!&~X$TsM7/}$|Bd |UKnF#&p]P,_4Co$'i~QM<ؘvAގ=@x =>y_bIGJ R0;m?e|.?"5gKˈElxat2{siBW01c!kçVlv"iȜ|FbeE?2W*W.\۴A -ZWergzm0k0H>oQ|>oCs+"-X+S5 M&i<h GW|.˴T@..@{{!U.>cUcC6Ϗ?!+Q(/S2 PA׻u.=7~'`u%{'݉^!9UXb䎨oc#I:$+Z|wlz\ ZTQjQ-> {&oXm<$Z,٣oV*2d|d&M[ 饗fӃ+oѭ(gcg>*1hȱJEV \zTYk-ƐDIa9D?#e!J4&B͹3)FI$~p&^3L`N" Q5jV3}dQ>(t0Tj:ץ lf-M-y>ފ]D:^ў <hϐP"i+)AC{pR m?]v`h=6Ym!|fmrXO=%rC1p6T;G z8jx@CuKe*>2>d FS qp-o&VF j Y%lL>Bxe79:-$ 拃ASC;< F%%=!mFΑz_N-D@[κ7 5'dj H|:gmB`Ä\GEزgrtmn;A[zwP[ڽ UE`4Wx1; Jo cOH8&u˶[[6:)TPv6=mX46]\K^9`DH!, 9\ׁ-_"bI"0n:jeͧ.rc;7BjdRic$Qqa1r/&#S*7)EcnT@孩C@@8[#)d-YSp8d8i0@TehI>fp'?"N>TĄvŎ҅L~Ajr*wW{;U28:LGO:B6MQ]d;OE*S뗺B(F{Id5UȍE*,G_ A:f%ˮE}lٻVD}d9.('xΎk1ޮ4B@cč۽  BԻ= 9[&deļ+,Gea\0%7oDPMk f+6) JܣKpS#3 qY8gܼ2rna@]x}CHfl܀p@l(R=:wN,/$arȟaK@W r:sN d2_e:ܔ MֿI5_Ѳ6netP@Pp쭌r`Fd|G#Q=ZL- x~~Jf ڕ=Z#Ψ cpx[`?294Wic7+FyBCL!kh  '/%+.`\|u߂utծȼ+rFF}FB"v6#`Dz N>5јяr(R+h?MG㯦0ɳ;دD|m1gG d^io|J3ˑG4ܺs*o٧5,ay3˞=݂CiY\ J97ff \\ )@?'2`Jj[O&Q2bժ*=auUktL6ЊW02EuLs- Vٷd)/?IٺT+t*@Swy/Wυ\(y'NRL9N-[`CDݙ9U,Nj/{>nYZem`>Bܕ|{xܛt=jb7Ϻ H~ٜ_Fʅ"isF9>,1\.۠w]OX"6qfv]܃=gM)E?N\6f1/rfMA7g<{m6 ײodSV97;R$P%B=o`[R&êK@NW>6BA1X4bRXS%2D[EJ^F7Zp`#.}ޱi1]ֈ-\&J.b͍p:bſHa6S=?v82@%q0~D:ܩP2 ´=ѷ~mMFb-j Agx^ݲ/?εY)]; =K,7a91?v8xy[.wڈm62%z8 .e~M"? 2etZz}R~£h,.,̣#'JBwk~gP\\)(Hn hKA+oQkl?|o֊Ƌ/}lå6l(~VB,63u{/ ){M +^޴+'v&W &x T$$ E>^*D8c1b&Wv y7q3lRIZT3`ph=3f ?aיI 5pKWd_x(瞳tQ͝<%WRh7Ii}0`vm+C@kIA> '1scp^=z${ڃ Z-6Od=+1KS(˫0(o~ 3͝z )*3qV& N{9 og϶^8ne{ =z@֐DSS(:V WkȍH~wM_{n[왈 fsF:}{%xW;)S~'҅zY{3 -CIq1ܿ3Z|z tnk.]J#(<[mS]yT:9OKc THETw6Z,ӵ|TWQ/P]N×bե9m8s(,S1F6ޒ,eg9A{4'B^{1ApG|NrSbsCsc3iL?8 ;-9A=+&MnLHbt̹(^-&VEifqšO LGc*8DC?RhŽ -i}<Ş/h; @\VFE(r&}": C&x;R+#o@0t߭<~ۏ?~trM~.|EwR,*AπF`Q胤SL]Qj éV֛K@?D Tʦ}`;:?s'4[ wn[zq[Ix+]֢.6F81}SNq9K6.pLzTL$TСpe2I܀ίn\qo}Zz{MK!,rTKY7e9@e{z, faMlד$,Ha3HRd Ί ~U KKO)+C2d% 4<~yS4vv [)tH$K|kq { ]U**Ƿy[džzοi8j]fi?i8߷>vA?;i1}{C] ?cI # lǶG)Z{ݍ exІCl(v'20BԄRlVWZ3 5 !za/W$S uiT`P?d~Q+fLAZ"JOBaȓ%&%.f3kkL6ٲCw,ELp0(s,- XDqٟ4mBU˕8p# T ڈQh~*50ukheA",$UmIlLJbџ}[j&vyn"tW vm쇟.+{:!; ;7&bEݯ*%lqvLpK\Ë^2ӯ ]]5jJF᱀^ NayꚏfAnTwJɟON({[y$:Sgg%+@V|>"bl,И\2n/7u&\qI?A'Tg~aˇEpuu]fS5#E:`yI-hxL^T?/"ނxT"D )6RZ74˘SLNd\>X1k;V񬇧l@UsT>>\*©JY5wގ./mhYnAʆq&P$J9mrA~Ad8d1~c@%; 8hQ=ȏ:aikCj5~A+*a/q#1Z'3?=8a2ט(\~҄4lXTRyR}\cW:-'}ERd`5ʓ]Tv6rZȋBGRzA<()u3v?2%Ii3=s,vamN0רIa,.6:.gG*kRt1ޱ#FAԹe, dHZ`cz]oZke埕HvNX\qBrǎb TSvGɸ?16V+pWGXv_>X@+XMPH\Ҽa;b΅uz ad 7>m#=EOYF`xWyhpW?@ |n.nP'[S85Db鶷 FJY>| [ Լ{4uLz ku-yiÈ$ܲR OOB#>RM†4&8>1տTCCKەWѯ`۱@ gN\?Z0 H:FbcE@jNhb(+;&Cߑ|f!n M~+d?ˋrMo~2ֽ>>mkg 0(k!gB`z)Բ/%ur&~bL%fD$En.ΰ= W,B V+\I~٭v=tD|(^aӎ5C7n=Obt\IzVy&G C9rPP <@u+aI I ?r}1%DLE wıJ_+K mU7,!46KJp"fOBz'sѬRqB>S6]B3M\nVEM R.JaJHf'6N̸ߣb(g1˧G~xXԭRXn On% avg5>Q`,Gp3B~xaJ#㈱5=OF}ua+ln$z&C-ŒH~y/kmf/8l2ٝ||D7VhGWap*X%?Un:HZ2!Xtx(ȝ^iW%ߩnspyP/2tۊ]ud_|:īpV%+)!~d:4<|&75 Uc̼ t w{. 4ZQK֣ 32CYiT%5l,F6' ,'ͧէCuzI܎Źc U\Xьq"{H@laA'6#8!]n`l x m1 ńHI_{g7c"ʫ.f}Y%m%0%mpD@>÷oZwkmPy~vFIit\s@+Va}}]JWpNDőj?ylk -B0yǪJ9 O|Rv %` } 8,#?#bָƻ#ɲ?/3̕k-hb~PZ 2yNtlgDY7J@kVAg }.Op NOWϟzK/8/.S_Zg0?2}I6εgVJ"0.,/.b%B^[cOKQ e2:A0ADm*L>؅J *VU[- mYf*7vҸ"rSr&ku7#)]g`+<}5d'waDR :mԬB`~w#&FYSȩ)9$%P,"5p|aE}ȫ)ʄZ((Ռhp  ԗ@.y~KMX A_Zs]qJB&k(%),PiJ F0^0 _{U)a>6osPSNq 'pc97]ߖi*V:͔57H߽^WfDJ$A$V+28XՅ}$?A/dreJI8 oc PX$},<ppqY7HX>` iPzM;74Z%??2/1[{y _^5/H W|&07#yVݷ;CcPYPooDfTQOt~AcYҶY |3('R/]u2gou!1Oi3 8g%X,0LJ 2#t ٝϰ!XIVѢ\{ (QT)8ZCx7 z ? !G9&Nh/T s3 azO e0ɼ tQi:lv-a]vc(k @[o/]a }BF> 1^þվj@QdlZZe2=٨ _ƎR_AP'csE} ^x!eοˏ r;zo`?Oʩ̸Qu S:i1$K /ՖT|D.`Ţ]&5LhF.׍HJ7\H_&ClO!,4wRlLݞh\ )5$]|CG0T,t]x\ˍ![3s 6pvr %y\֭݊t-2ȯ GQQ>h ([ʗha/wzx'kw?D]v}EFU =`1(5('8rîUkgC?Q9YpK GU9c[ZvaWFd8S~F4 ADC"gL-`Iڢv5`!yD+· U=5T¡w 9ӄ"FgS$_2LB:H- 쐱a'*SE W2qj,&9i6`xdE炥qi)Y-e<U<# 5VH+rFήy+=Id)[3".z\Jrh0c:a?+8z}:x1{l }H&,;B(ɊF$A WkJ@fFTv-UO7l`yKaJsm"kÔ@TL~4l-z"<(XXn4 qViB"G7~Pc#ȅʕF9t6/4L)N1˂bդ\L(0`Pz3ʌQaM,YL80)8U7']x$MƋMdnUe9j; {I|y%Hji/P}q̘7&*F30`*el\p髋JHDȭ}P-@~!Dpm,`煾}>4GmbV"w D4vJ8#PY`VAЪ<KQڋnG). Mo* <02zaT_l>}/-_r _>:]#NL0#F6uY٘D]4)TC?\~U6*7)mIRfu8_ƪ -び*H}Gr& ɷM]sj[*kE!߭ x:7(0ϫ*O㝇.$y9ORn>Fϸv҂V-wҩw7[[ Vnڈ|J1c:CKQIVpSeNksV CE~(կ]9Eu=~! @Aɿ?sj´ L>qSpÕkZFCȢݱb]掹4MحN6nuh;+{՝*?i;żs},3GAv t+lF'UĘfNlYv"lNB()4%|oG!.(Ndh/07s{^)",T8Tgj:TCU<xX-]QC[(R\ > Lt{f8OxH0VOjae~$g`W^C82SF"*p>Mq%:q4[jрg6)+7!)3GC"!x*1n!y;X9&$ {‹.ffqdȜ D=K@׉DAC$/S N n!b,0=KtJhg,a2R+IfRǒ%c2ŨwQE ƨb->B8YO1c'1讜sl|VFg;0k\byF K ᐃ?LgfP5}&R'DӨvunˍFʅ-(ff"Kh#j{[~6^WLVcB2Q<+WT#5j3D+{:LOB^ݰ/0]c~Sݕ 4~c!\Zf2MMt"h1N, @Ʊx9qdߥ71bH(̲+"9 $X]lK϶J uGo_&Ke98X1(r .2lfʚ}<j!TN: R&z:N1\b 0yo󝲓=&r;ӴlmޠA^g5iEUDˡX!M=ա({qQ{b&M}^"67Ω)-Θn`l2;N!{ ,+g9F :-ɏمnpr*8j-ň^l=W#Ia{wY]o>"<) Kx\@继;#@$r8-eJ LfK^ґ]@G߀Z]ƶMbzw d3'QkMW̞ca%K>1zue0=  l*H3#Wz{e4~2Se4F4a&}΢&om@G&U'Z|& ˱2E3}_Gpl Ft|2yjvo0):#u}d;C`sQsa홳3XF[RK=̺80"Œwr41/-%;. z [^_B%P&{tWJ!58e_oߎF}9' #uӺ.eUdOt_\㙺:*)ͦdWRGK?$ӹgw#kpB z)lgtHnVD4 5&EaK: 90}SDNWٮ0368`~ui YG PWXvz9$Жv@g̖+Y&OT36z\NJ/ܗRcC{03 jb'MX;m0_/5z3PGl,( CA*zakT@.H] Q> Nf Wg$sO,xsB[!kN},x']mAa 6 .H"?sTS*Wr3šw5-; CC>EL6wPF`$!DnJ5Fm*낈;Aq]0 !XUsSЯ j^x=!+џPnsAh셑?"0%YSi;̃UcdYKrzn˴0H Mz7r&~ʺIHںHp32fZr?zkՓHAʾ ᝰQLjUlvnGB,:2x›Ztǽ}`\QA}Jq#C$ĔCQ0T] +?|qq}֗x'Aw2?ʻKY1\I=B.v TCEyudjFmouo:3pX_s?8A )+\Dx I՟FEv" Q`ɼyݏP[0?;Ýb/Qf3F΁IЊ55y p̸;.]Iɲ0|H{p,~z"Q_3~7I%[BEO_+͐-[7"o+(d>li@g톄̈́Y8wx|Օ ֥$rB]6N8]Va frQr`~8r,+DC H kQ%㤙 săkzF.xYYt>$Wh?a+vNInjbrP=q:[2IW׿ zr 0!7ĄDư*ݢe*$˩$}Sˡw3'E^48 P>1 ZMo\$Yd_įޙD*p\i$M3yn2zGq7y^ӃmlpfN:!AkLXũEh:fEH5P7Wi>zFNX+"oh~lm`x C!^U4m5{&$n5sܗ<d[m]8?zv Gi>2p^sg;HYum!Jv9VIV[@ER)zhv!8P>9UK+Ip۔ (f4Q. 7b[f}S~QV= ZPߦ,i !i4h\OjnإKh%x,;kJ[7o)sA+Νʮ1<2 84x ߹7Dwi)x&KI=k+%5C}7O*uҤn1=—*| ։=*,:SI:췪} V%/IBV w'˰F%vY"j|ͮҝm̥/xgkP9-}HDXw;UUpo͙O(`Aaf+u9ü(ժͻTQCV ǟ/.wF_;%]EZa)"qG'1l2Յ}mO]7Iic۴]P!*Bنz$nnfJKÅmW-"v Be6I?0 RM-Fsyvz)n0pwҹGl6?:/I% '~[xgjU3jXM_Xkdd]>nc'S~?$3/b7Jr ]qǬI/_IY j3DF\jK%@[Q'L=8"Q%Qr g/9YҦR:M2We=_@ 7qFm T 211SpA3FOgYɤ65BZ멱O F9iū /7C_qi[3ťfi\+.ЬU?){e,tnCjǻїƃBFm"ҹe+!ٺȤ7ۘʆ-iSh$/p f*Bd _t-wkrG(-51$v HRrPe@t R=m(q΂yymytrlJxX=KAK-ifVOi=Ϗ引ԺG`Ke5yxfxg6DHvbKdB+[f5>=:XzqLE>V]D9uC;&FMQ6ƲWH' }g`J} ½QhR~IC5r;B+Zjۦssp=4+)])6EE;Tl46565GU܅ 3x?jKާA{ PPZ^9νqYO`'Ȕ LL5}0(bE0-q%H_iĂ^(+6&EF&Eneb LL9Ԃ x8=@p-L[?]U^Ճx#Jjz Oh]!oJiط|a?pkFđ$s܂ێ_\r Y@Z4gh2f_ yE+*eWod dihXO!d1gx[]MD 䜹 A |G>9Fm.U :* %Wn&y]0dh%Dy-4#/h]~CM~m?+ 0# :5RrӼyۢx) @]ɩ Sؘ}uŦu gH,AOoǼ.0UڱƧA'HN]P0ċ%l/6v2-{Saz#u{8"EMdD$ZsG0( ^ʷ@bqjFҲ@X_Iz3zRԮK}'1|a`4#.03]{&;8)wu2t.[/j?6R'fYG!לTȧ!tS(fMo= @"=*H `ielU @^I{׬zɷLW9{Qn4o IKlD_l`/P=bwݨ@hxxt%OD} rD/S73~8.&\"蹆lP,JtѪuHq=,aC񷞱]n897Ϸhb *⤩ ݮpcpč"8]#?ޜ&Zk%J&x8KA;(䡝N/+Hmm`/,Uj:fBF~ +U&ѣe{Zf n; - VFDzJ5aI'ԭ0#>C[r NB%֍`r|=w:pJPWs+N]oz4 ~@f]<ֲQd=%I4c3waŭ;vJxw&VCoܒ$e㒉^?Y=)(>t#~^Yju9qxZ;zdoLW1N7-]`򞾍 򈍍ze]/ bGEK0.lg"Nole4~G.4FEE!)03%kw>e8> '/ 6jZ0%1'8F*=ϔ xv:zY`AO}ECnϨˌ !.ڸ bŽյ Nޠ7Dj6K~$lI[/H~~}HU@_A"itE}5I^ڻm]xM.5"^NOQn!nHpLLnd z'[L͞@a@o;:ƭo@VO"hCb_̀KF:O{quK"mJ!ˆyNZ RlK 䂾Y̠CtD+(wc]SBIIoen1!hz#.dѲ@ɍ8nyN glW(K >?޸$i܊|~z#xf@7DwЉv$@? $H77_x?t\,Ymn.N]%jM!zzV0oO-k;~h #095 F\ɳ?LqTvtb, 8O#[ydO@U~d>FڎÀ8.OٔduԈ1f{ĸj䁱ГϊR>7ջʜKE)7%EsL8V[orTVnb@fu1r)Sٕ=ǧ[6EҪcհ ̎#Zyp LZ'TVd [{?LΝ#k|&?l5#G.i}4ިjY ?7O DpIJAԵc섚n & wkB0bT/U?8v.*q?7 2[IVP*3]e]NrO-OY҂=҆d[g`ۈG3V|kvA`T3|d6rA^i5nзz HlrW~l7$d:g]zK χ.,$t=44ZT~iDcHǟW`j֧# 4dGǽ?\: x`1mPE2@{ z=-D|*E} V2B7Yh/&2Vs(o/3htD"5F6=G8x5_PIt}ϧM/$ +$gR?we8/v CytJoNe)ԁ('gȇڧz[̝o p\`~&D1qZOv-5=4P0}Mw؜mk'%ٯ*5!6sxt@Fŷl`T[&\PkĽ)mN\& )xcf/Q2Qql,»Cluf2gUQA*ĴUjh+FZ&e_`Q\hjJԃˢ|kXY2ts R)B@K% <3-챴҆c5_$RV WLw"vct̘->g$WG ^E aZzAȶ\5s(W9FFJeՉ0(hI,M^Wx8OR_89I߅!;Nv7GxPnlUR?ѾTj4c}@2Ul6 żp+Ho{MGl4/IDj8?Qtשq8O}zmZU07͠0H$í1}|"#UP |DTu.hyԢʓgXsI&S^~Ķ@ ݥ&PYϞlݫKaԞmW=s(sqUf 8}CFFɻi+RL`!ނ`0q[1tK޵ɧ@=z7 (X!fW*]vK8)H6!6?~7`.;ӫ"Ò GUts"%Yq䟚E{'PY3O@8aAqeW.!-h=Ŭ| ϥwglJ M4e[ %C2 '1Rou IGܕH܄cFEYw[~*9D ΓĮѥ"sR>:TA*5| g+_4 y vgS)a,YM g6sb "[wEuU1=®9>.'Y5B`E&kۿj8 B{Z9$u=  HXSZ0HbEԖ6"s; +1,EU%R_yWvj$N~Q-YO<;Mw?8JAsl?p4`^-C`8o{pb9ΈS`#3QZEC ;?k0ragw O C(F fFΩ%mu0g,&.:}# $hd!$<1ٱk̋q~XuGҷE,֯b2ׅFI=NULU)Lq`m6u^!!Y6`bοΟ%Jydq-㘉i#1mOկSܖ{&v~ ˱h¶N)#u,^E q U! M'|S *帶W+e(z0:24Uu٫Z S"~Ϊ @{:Ecw^:zӝ%=_NI muG1QM4Ō&׊=vpiOٴvSOmΰVQ_}Ek63dajfA_1_S;a9DX"@ݎ\c9&$^Px4BV'9dY"9,76zo̟rW|@s\`J3|(Џ Ei+V 2dz&~Vrcc!#7=n@MEF@3{l3=sbs[ F?!k TxLNY `/=tS!^R)/) Xe϶NȎ:dosݮ?g%۸mB0J3S|6bņMFXqpw#4R2ZA;te(@%/mQ%0A, 0tz q|Bő.]ȡO ~'-ٝ+sP88 q?Ht,xkggqΐ_| Z;$r1s3QvLR[rI|g]Gd ҃>{0n #\+a#\扜jLq (w )BBz7*b"{Kf (<ƺ^elnk Qy!"%%`Rp70\1DwrD7MY|lW" "%RږJ}N'oxs'{/3_3_NXi&/n3?rޔfg~M\YQ'?l MioSzQQZ![RNX0j@ÚLK3.pO9Dg[EĘV"Z   $mhӞ @HUN..(|O,d[d:+'.P>̚XVYΖH~6Dg8-IT;}! 6{7 W_u4IQ |U_@D5XK} jzx"K5gɖa_ʐx#@D[fi (B^r&Gv<dI޷D]V5w}dxv$JmX"XȔM^׳r͏э]crFmA;/ 8̶C?4a #U"7躑"PWUۍ=-2`̬׀G,882~̜ T|ԫSa0HuLtw`Jߨ?Ŗz> _/Z=5pUd( UMX,[G=Fyix DPdaBݘ:VmelGfjOAM5K5ov^tcqk,E .Ȭ\a\O03甛cPS'KCA+w{=|niҌ.VK,0Aسx>@5;AF&@#-pG6ōh2n=~ؠYi[u_Rax5A ~ۘ]h(-T))֟(,7sbwG>?L!|v}*qD#")0]^{zu*z3mz-6AsW Wf,͵ou?Px93n?1=R@^3ߎ|pӞ$XhaC`z9Z* N^63 p²B`tmǿSr&׷a[ Ɓ|Ux| @oVD$Z*D*c&x>|@oUsZ2h/V\ʧüiO G)X?1dYчE\1ǔg4IB393X$w_1;N<{Qjn|*4́aB17:˜Gɏa%¤[BdJv-MC5詘T1ʎ`$k~KC!U378gU̼#k&g=FH%8|X(PSRx?ҾمD+lN bV6 |`V [e#p~G tij>#'z0DR|S7=yjv#@Snv`23?BNF|%K#^US!6iP 'H64 wNhԻxڄ&zX>:?L*e-|o&4H7i XI@YpT?A .l' dg#a^nlp`) .MYp6X~Aiu-XV01 ıOGW}ARm3zr+Y[je DF~-h}dXs\F4][8$#M1}6^(vvKtk-m}G5̿zX{.$b^urs=}K{Zv#N92f -'dkbB.F x?`& [cg:gxo]ۿU~~=!$"]o[Y5,#&兒J(A0/C4oݗ˅'4?o߰X8ѵ2eLRcg L>W`8ֱ/b#\UO,$yN@FܥnaZh'0" 0*WC4װ'-hCK,ӷuK)K bX?l :l=]ON{ng?d{2ƈ߾01^kJtTq$-W&9\!ʣ!33bXmۛw ˚9ܷ"$HV#tMY9ϞvaY\Oa]LW ;=Ḡ (rMɗ[ɉ/.C~\CQLTr{P֨NQ@;aN k-?a6Y㩌3V^v\hTZq a" W`Os^}?W%OEإr'u.x"/n L8G-Ext+z~QP2+1{ILq`fVen.ulL#ƍ5y=-ћѻ'Q<|Bz G!oKFH6^`6 PCfPw+`xe,T8C};7\fN8dyG֨0\fsR"7؜3fvT]-ɤ~&Zł#fgk}#ŧEQYG%\z/MGZ&bg,\lA+,:c䠝*i;nq8yo)yC.e,_ '{|͊K4tly[G7T|kck?ek2%nuBhy:$d,K^ ys?YS9K lg:g|$H0F$h:(de,hG5g8>`(foph-!}~1"@~4+_1Kb?dޒs[Pg }OJXFbPcѻG̐u0GIZ:z7ҹVTw̳T2Fr_4a9_sRa8UjZ#s |3'P_xZIZc[*f8I3ag;}Ba;ŷگϔ*1P|:KM\]5ɹ/8<{%G)Q|雮SoHv ^2\D5PP3jҵ()09zj>e>~퉈acoeWv]"n^[}nbƙy[T3PEq"ݢ~2a!.%+/Qpd%:귟elM=[,BB|j(r:<*SgšO|@Pf/򟦽C `?u g|=C~EYn4(t8is]6mfNę4KM#u55 @p [xḫ\5N+rzuX(-so 9کG80qG%|y~¼7 K|yG(.3Ӣ'ZR+rUo!]ez M f!ds(Jrs)z?\sq]("Y.dۣjd4а)wq-['}{H;! LIU8E_̴-4c"Î>FV]ՐE;,tps7qX'TW-Le#2{4 `EXمi^@oՈWc4JaZmR,ObPvk O~>b:נE@@ luM <y;]Ug7)QG3ȖGfpUq$ ކeb!rm2wM ;AXg1_[01y 'Q|7z8:x $ٞ-V>KL^W%f |lȥyP'o'V7dDA+F3 ^=8_-Qi]RthT D-uHR+X䖋<ܭ#hYJ~[pIQsA,w #`>Fq:1;;TSQm]1RHNlQz:j~vZ#wNIӬvGlKadM3Иddz#4J4u qܹWp*Au%}i ` [Ǣ'Zpt%&ĚJDi,m;önNN+WXsc<[iV^7]"_S|"M{ouO7x2UuYmxǡ: WWxi|r]ʊu|\Zd}/R}0 g&Lprb{؀L#?eT ~a5Z(BMC;#hw VV 48EA9}9ÛԎ^@ײbH"d&I1Z&;cYZד`#~؅,Ž#q.\ODaLoא|>͙+ؤ_gSSj<.Ьӎ.EEQ-;$j-Yy?I(Zh1.m͞} ;G<_1Bp~, aءafւz|L2wFCOQ]a3K~ <6s1|(ON$+TGf5~|͒O}uB״F ]4Rgrwe ! |6ܶqCj1 qCcUa?ZhFY^3C~)g`HS&Y O܈W_& nH-G7&.pfh8 B8?I u{huyi2ol_+#Iי^\ 7`x/o٤[,'K 7^ϻw K t{ h1DgO)TTG%w4֙4?-N{%'ok57uMgR go~Ғ7QX8V: K۰)17N&H*=uqljc|1ff4l5 cQmF-%4R;P5ca0RC02]a#qW'A*.AJ@q>M6nF|xǭGRZy?XYEL ?5=69 j %s5p mz`%b`K'"h:QIˉ;&<)I]s٘P  B8.3N8s7E} xU,q-;,d2ivىX/N`V@3LPXzw`K-&YCz?G&F#}x|rg(Fж\fkeÿ'72d |GMs̫]hrkX)9F}L:{GNVSW{[\5ۉ2G_}e n[yAϗ28TL d/>6e_5yo{P^x*=zew!q[6 @JHPhbBH\P.rS: QvGYȀ*`5!l<6XIxiy^Έ7\Kφr|UY>CEaBjGۋEXe- ]qsib@ދ-?PrRoPwV}M3!!]ħ]sw+Rp7_+nk8[( Ozsn4~fc$D`X绣 wNZBϧ.]0vp$@.e=dXMB~8rRA VJ rtG{q}[b8G0s;gFFwH_ N //tý2~Iߓdr#*0*o]3#q^'iANh4MpPAsQ2+x*#I>3qR }/OnvADr$ÒJ=< tVgfZEidO+;T(U&gRk$vGHÇx|̑ٮ}5P두`;@ bn7OWt+2ojS %x0]̼ ]:~bV`h4]J~<1̻\AEx3_:l## ]P*wV"(IqH0Kb#ΫRfK6Ѯ2| jϡk$ּF_XRD"4e78 4 AK'[\?,jv|Nq)eeZ~uə wwYYwc{|xdh"׳F+dp9PQ-8 oieHFE8Al1咝{m^4 ЗW7>]\j3s?91|J![Hf}uG1NV]. oІQ.AJ~WL+(W/sMSi1diLg-Rx-\cVuBSRRYtɶ-#9Ŵ,qFllo{1)VKuB-,$ >cDfӿM͗l H]At-\`yEܔzA m ~+됑H#K[ 'pʶN !/~S^ r\EF/ڝGAp CvM~c[}ޚ 6/7 ;7Ĕ $'i7X'01P+s0J2 \ھ舩@ۡW1 vIXS `]2.SYN&-f$k Tʺx:dY4|fCvxN. Af"}*DT8Ove3uq~/3x#ɲ9,̝$bE?|[hA.4S8{Xn#KLE8n:bHW199SWT@`3I,j{a jC0Kܩ/'P9zT)+h1>c~ҕ(qŮgcyWٳs V_izg@pV bY qRBom'(|S8={H_PY63LTM$"N_,_OjMX9(# D/n-T>_2(GD91PyGO /.Q#h#=Y)  Ou7+rt~j{m: I5@ĸCZ/\Kst^uiY&l8fמ'A|N oe~))˾WMv& sP.W|ėGʧ>mb: 6&TةNS2k|~tPQx/G)K¨B},Jt%-_C /IiϊvOwAE^ ۬b2U>499d%c6w1m7Uv<8dK᬴n-Ⴐk Ӕm4ӰD sM4mboiVbM `7ME ,rEg+pn*Ќ\5CY˺MEct1쭅.Hut^3H.m- TŇySp{Q_h ~m}~08"LPnn9u=w|5r)|rmh~fٰZV_k͹*O@F7=͜SX}&ex,;TxL#CT(*t@CïxO #CEYe=X♞^"mm g{GˆOh>N[=otY@~].1U~ &ZCtc~0o,Yi6)\wmmaٹ7:7$JbK03ƳQ$-7;fb FP?xYܬs&'7wH";w-QD9X#ij@Houm,o *I r(ڀp9ޚMP+J0@Ks7G3;fDπ{C!~bdX:7p!A` =}[5 +OV*Eb'_?Jn͝U͵Uwa*R}(Zx>?F&_(ARhpc1n7'Qc zJ?F@E nS.'kЎ#𩤙+IMJVz ,%!GЁ+8!YgsD>eΈc. r 8<J p)mTHp } D4uD̑ۚ,)S!@5.xY9qc*5:lKxi9Md7:>жHe{Qr|^]K6Q*ю:טHӿg S.˛,<%\э;uWBMXϗB㚝Ű)^d3]:L%3 9$_y"I!{ 3ILFwblXᱯXDH $ IgD|._ bIkZ.U׀̧@VfPRP4hw}mۆf7K&[ix;Į16l \o"S*Jש"U=WԲqz{T`)y;zAxu03)RzEt45'N' qA7myp:\o?qz+vX_(Q36hxrQ}O\GrT|z٥]zX+Lyb1+)톡3cɃXLiӑY8,W*=UKm4+.xB5(L֪!3VL@(ʐly.ď˞mD=w3^/C谒[kC7-}|J)'-rm[!:(8Bm½:zŚP}zDQtU3(7-j~j6"NH5i) 5WOui6'xWK <֡=XŞ%Qg5'g͎hQӁ~!, iR9$S 8>hbWyk-Em7aCTf̽Pc{w jw`lPz.ˉJֱKM%')N9nZ՚ÄmEJs' A%UF*,2ZϞӨ9 ܋ }wא:%Bͮ<}-Lf5PsnkL肶/ڋnv뼓Vj4G{Ҿ4v}L{0}<?\7"+&^l#RYQ,DV6$q)?@yY*AJK^uPLZ$X :tK(<pҴ3ֵB9hZ*o]G=2ŃdKAc}4Uj"P-^lDQ@ I=UV+{/1uxlDudXbg7jZ04#ρa.4}m$]l'M7*0 &_Iqѻɐs֦R&R'VP[ |H)>\ý%GAVӲ:yr_1ocG-;sت7 vo( PNJ>(sBzn`bC|z7HBdC=SI6 : )~4cMԍ/r`ɑL3NZҮlݡ"s6DVuVsϝGLl$ULNMg.Aw 3h^&aysNZ=9GDѝ*itxaV>8}I}pX@VkU/=0>.r{4,ۉ؇\9,ʇkqEܙY~T 'sR>N6al u]jɷK[4Q4Nǭo]U~sl]hVAهFi"}fSuh|R*9 vʅwRvus!1aCsl;k kd5= Hb¶-C]@b;T 8kj8`nvb+:HiʗVԴ)+BzŦ$U,WQ5O,*&?"1[Z1KAR2UQ^ԠPQ]׽Q0WԊN$q"S |oܕlՃ7<Ƽ6rʶq,q_ޅF\jߟ5=} |! GwNpx/"9s7iC02t_EkH4|WGn|W|A}H_:UT2'/hV8571 \,)+`%/QOT=ANJ]t AT'8p8b!<>t~,"4 !Qz!6w*|GhOGQ{춖GiU+ 6[7ᾩ8z5#,үe˕(׫g(1e.oQ_DoGm%h Vt/JU7l=* $}X{1=wiNgDF! }dO[ct g3Ї%* 1b&+Pf?d _ '9.C"Ez;k}jvhʑ7Z:rA@+V-J="^,]RVc]g9/hhe" `[@ĥ@1Ѽ/t[Xa!;,{&{wv9nq e_ynաMնYjkDr$=}nlx M}jUn_nH , lgo}tE(ƣMAF3/ ]sDX\btmKobaiCμ}-~Ls%RF7OXMSP+*-/3wՅWaeGO KE"Z dDSNcr} 9O|^%<)Bqv%"pY$%du9A跚Dxh}@6z=A==j_S&2/m>T }XҮ_ڈ+9q[,^ݒ~hϮC5W >&$*v3 {Dx~O\~.&Ѹ XXKG " {^stu3qh [=;[\sd^yw*5>PW r2|X4xDzug 3kiI@ƛo ?1FΊ^T#׾3g gtZ+ +Gx-@%dV"[y!i=}y PKQ}K<6AK1]HzSC0/3G~$sn.umF5Cϴ&Rzgf8b\<[o,J8Nq +Z0\:$"@q8'Avlo݄,yGJI knI %xyS<68ɪ/JDW5^fK6V^~_OO2}`{E"XGݘY/0"mڿʆiY;㢤@6Mr˥hا*t(~,!gpt 8.ې0 {ˏ T _Q߳ eý/1y?Qsΐ6˗[zY̐E1 , P¸MPwU{kW"r4"jƎLeh|F H.Op0E=Hrv;iEN _ /b+h= /|epc /({YKǷClg}lr,6E!{?G-%2d-< tP+S]8 Qf4̺&UΊ|)DC =nQXbZ.)~ҷ4׌=`".w4rOka06j!c+x~.Ez>IWHW:+ o.RYT kUތʘWˋTMJsn11SIk2BF" ȴ\[$ϖF[Bu(_ޚX%+@v -Mn,d<> LCEfRAaBA9.ӑ+mQ*~r? RJm]J2 z;B ^PCMڝ_ "sWݏ~\083[D%)Ҍ 3@ZBz lk5ːދWǂhQmʣ0uI0՝$IZ".%3aVlb, *VLtRz0 m!9,%BMEp$=0_eő% Ҭ,t,%Lfʑhȏ:ϊcoA/1n L@jPbYRjGNw>>5: ^ʎdbF*22 1ic<0:Կw(3y/%˝Wx_ @p裈PQN?ܕ}VlvM>x~c2P2A!jw +*{t2] ?P+R[pYFI^bzBuc*-`?Q.p$~ٺ[ gs}%͇wEjZO!YʂGknKs 4Rf-{G}kPYtL9WɐjQ￧U:jCKh>t+ai3 S1Uct]زkXn㑲r DhU*tmVl?V-P1)}G&.Wl z 1&8R!J13]0q=],mmښpzܪUYK2u5uˊ6% UHc̄zD*)I 3̫^KLтak,e=YvgPg'/ ~к;XgDm&C=SNґt>y4zd"u43}f5; _W*U+?* lÀj`,!tZ'~>ɻ *0D2#{(l3}&2cf~~hwCG7(5v6ƽmB+@"m^byժ`v aH[/Y񾫡V:# x_Zp<%sI@Ӡ{xFa/%8n]j` , x(+wީNg*&-W/g?$fcظU0 c+t~rYuV=,c*ϯeWۻm`.=ާ.P]3i3 Eph΅ۭjl|f_ӆY/J}TlsHGڦqhrR]#Hy %Yzgd)@BV*NBtUPִG. n7 (3TZ&J|Be"sKW2.5Pd$ #8gĐ ]~U0a^/E m%PuF1iֿ0{!J*#>(bǹ(ݠk sq% <;v).з1^ zնINف r,68(^ W6P Yajp T~lClʢ. '}*:@.!\,CEv#ԙcZ%1E_$H_|P%IIgqkJ9 qp8x ͢j.'[i?}P˪=dٻn kg,VMyvJ/g>L P. #96w+š979/Ck51-{~vO?|ϱ"pRxS F/@XOL{ UsDS([8X.~k^|CAX56 ":U?Vט9BnۛB׫0siɺ7 d!2S.fHbF@k?UДYgO4ˤ>hdd]lVY,=9T9EJ6!V9؟~{meԢ4 X|6 z ѯ\}X(SV%TqkCg,,~$t Kzv)5*X84Sb*OEc7=6QW%Гđ^ζ$%Vx6R汽tqKd*{%߸G(w~Fvz4)-ȥnoA'`-BQ{h BAÃ~IMƲv L]xy_ս@,8|\$?wTRE+rcRG19z=, TQؖSg^i(lv[˦_*Xu @(*벞7g}VJBfet|!sPQt^o3>APQ ,"xMs>obى@¬G~Yz.rw] C\W !qy'm3̶om"Z>amCP=z' 7DL=kS^*eJGf:aPBP4N[PdzhfWT~ZE3p\?9tY׹3Jbi'4fo d1$ XqyD:8+ŜĐb4Ֆ;AD[x"T)3/MTq)NaL!vT5gmҏ !KS s ?\Frm~^L0MKQgKsMahyWS}b1; 3M1o@ṫB=@{}`V:Hפ٪ʈt 5Q[19R(4Eb ^sH!wGOt"PILf|ȨA>V7"Ric @z@Bbᖧi7K0_\X:<7Y 0IiNI,Wc2?31Zmyաʈڞž5g,鶙З+2Fa:g0ޑ}]h1]fmw ͔Nb.#2Kt/m#*0bZ$bcu.-r{Vk.Q%izA!Du r_,[% QlYͲi8ën\r&4"-h|.$obBgvɳ7ƂDA^,wYI#ixb &Eh~ -eX!0KzpVc^r OǗh`ir&µTBuw2T\Wq{ґ.JOA-"%7@ߡ)̗=zb5C}l|kU6H~^pۦ ;8+ٓQP犆2D=sr"6ك\wڹ 'b[jc(rudxr߭lA;?j^HFc`. & t8~~˶?͢&l`f x<\WhE9\6ƂqDbs ~a,@YyM{/߼OH,)' UKʰ]ABBCL{xt8 (DwOG2ic"[GvS W;os2* TZg5Q;3AK+=1|)_U!BJǪ*EPk0a\V=r\S] >} ͗e><8o¹`OP7qnu)P(&I[~h9I~S&B [ k4RfϨ &T~43~#j<2Z&3&hfAz%+ O ilkWā[)w@"+/)H}d0x}b,[kNLXWNiGSE,lz2@<eO؆7JCR>ϩ`[eO|u߯OG<L] AQy9̀!@Ku}&'-pLv) x"ev$*׎KQ:o*Zנ]+A>ӝ7PX]M]vW()N37bhRu/aκ'~%,+AJHZRSMi<7#PŜGL.s(_ayѐ`L>fL=Ch`WNi?EB葈R$I˧ &KO2B ඨrUg Uu"}W[VrA,3sVB0BzWMZµqqG`hJZ}beCҜ疀#| tm/];5TRq y2eƳ?8a-V򜙉f'n ƌ(ynChc\Fi{W&{|ϴZiP]gء|@pEp&,c>z1Z1(6 4[>t>0YLƳ"܂>BSĦkY5$B2Ϲ$qi?!jai'MGSJCvgՋԛ1 ak|Ea V^5k+ER{8 w2Ԙ e_4yaInòafw>}빂O~A&leSm^rGe6v+s8[BZV*.YϐlmIx σ7>ՌBqO ubͼHWvi~>QLK ##UѸ}-St$*WHZs'Zy::wRs8o9|BT'_S~- [-n.&/M G1D9.sKSn6[<4AT;}з6֌nO{아gB=5-oW D&QYH<I7/1t$]lg{r 6pS( kdl-H7K|ʧͷ0@6r;cz6 #:ѿ@=O~DC` ;A!sy8fESEc6E<rHфOGڽowCfcb+GB ;p.vtyTzbk aAt!|"PSFq~lF\ vu3 IӥTrO79Y*wUqAy8~\RjD Ѡ% yU Y4W(%-pA5+;P88Os1{p;_3+iaϴNyh񌂾y^Y=D1K8ǁ$Î,=c7=0rc7\ו3U-Wpݬ`Z-&&[gkō>'ߣ”VM0ҽe쨍̚T##|:9ׅ7 xT$j=9442p8Z[m` 7DAu@T)|udGLORÏⳝX/`:\1nt8!;<,YˈN5m٬`v|;5MzM6,01ald PgJly"xT0d2sgN<3g$H)ќT6r}zbYqQ%P3D_Z0BN ƒNTa'a}Ϻ&4{uZ'x6; &pԘMsN]cr "R*88=d3h`IU\uň2LTΌ4Oφ U "މ3&#">*TE#SeJ@2ާqg?X9/p~pպ="]]3&%C Ǭ˾Ii!;|?`+Zvdylގ?U% a, w6zP Ȼtbck) P^}Fm"d1B,Kκs׸1;;BpW.nJ-Y]-N`I4N&&ۊ삠'[Χ6'ڡ \J.HQzɯʭmI|n[5.tP)#ڔ Ϝ8s\ 1~e`P ]'֙}p 0X8x+^V Dsj*h0OiiA_4Q=_zQ&7XɎFԶ pHhN"H|@HRBgjrNWY,ALHR'*epH粽bF.L:jm]F9A¯I y2v.`rcRh1(Њ:F:cv=o6t/8@gq hB7Ĝ)_ UX^O}u0>c8pÏܓfb[U]hHKy؂Љ!/%3uv6@.@ ˖8E'jр=o"c)_$5OM)e:qx!HFվ nSϖT,Qzijw9tdƥĽ}og8愈l+$!MnAeL-b0LO54yOvb"Uq [KuO q@ M sQ?4 pDiڒ 4B54gR%Dg}>OW.fs0 :p3֫w\g匷O}9]JUY' TDYw>VLzkl^{cX4 M:z^3?&aG珠<ɔ@daTzp-5_3'6Rљ y 6,"y+9YFyW NT52/*sOhN4g" 2N-}v{xo&Ҍxz FaHR2^[غ6e=ƿ0HvYLILIY-v~"hC5pd%8zڪ0 wl\슺C$n?y+04wxyS\|3+X8YC7zm1`jT\O8L,܈ !P@2Bv4XLda zCBs㝻x]52#'${KL;:|㷟A.JL=>z×ģ ijrG`c TlbWu[_G @`$wj0'Zs4 _^5i@Ve o<m 𜽖0@w>騳Bvœ%ٵT7{`VV:A 3h,*|(o_-&ڿGYH*~fL桹V$s]ЋE?yނUL,%eS,g~r!iS<,nNr%;nx'|)Hۺ .xNnҿ}ƀ.5Ljk*k(~aZuǹ3_:>GԱ,oҔUT!+HyB\XYthGD(4}AO+3CVMzoըY2 QEqCdڗS› ?.Rw@4).?a$ycLmEQ\_@Ƌ}%S ̊BRc6IK2}۔[m#liV2c@ܙ !8u:cS WA Bqs-֟ЌZwHH? np XE[MDzdu7NzdE4AĴ4G;$@=(BՌC_]fJrp RUtm`94ž>쁫B*rr>+)u _hѫhZG}%1+_ (^ njHn)ҰC*:( SF3[~Ttn]yE 5(ʡjk+%$7p۠{L ӱ Ȯ0WelExnK' E׿͝J.OB̬W@O.\b|lӳ0gG+d? *Z-KRrvㆎ W +nQm.{B/;&ǜP!eϡ80_^`Stni5ЈU{7siC/W3w3$ g g.;Q~pO䓉R^ne^nu{ Bhׁ"y'<#?$cאm]L]fG:'IS2wSGMSl]W^ՓP 4R-c$@úDMr]+VuzA"Gd>{Ց@3 @Al(5 !HXg 3 / 'SH4"'r4Gؒ6gTGy߯E+Q]/GPp6T 8NTE0טw9Ӟ'CaΠ"8))s Z|ap8"J:"4.OsXBfz;2qxkmFZ߇zqZzўx%+G5m_[~$0"3yY^rͬ QS7JXdA$~bVӨ=MbIJska-\ $TWۿ;nS6kl#,@Gg\% /I]lG3mu_mP4xE Xnn+W;eʦ#zg8$*y@ROkV8޶+'386U+a9L@#qK`E_?)Tyqxl.h[Fwlf` $cD6ة(=VHtkp'^9TVC*DLy?[̷ +ov2҇$OdbTBOMI=85NyIkBz[Xn8GQy|l <-ǁ dwmdU, ̽䏾PlSH\PMc~+k-þtl{ lFlEģK":on4iij43V$ ҆vJ7O(mr| BP,\ h7 ,q眚P&|y6(0´;㡯|.\z</9^FWN0᳍j"PK4/ $]V.@Sw֛v>ݵ[Ҫ;˼"1~Q @aŜ>H#4{˶zS҇TNx FGpbXa fH2*+O&ܹw iO!B/(;BkΆ!ci:S6R5oP6Yٺ>8eW<%jN0ȰzxejAg(ݑj66чp9`6;¦KT5JRHe!wPQnH{H򡖤[/j*z3s  ΥP ̋VxNkB}`"N SK$B0I"8.7BA~I[sAfdi+rךӆڷ\ZYGփВUx~\v}@~]6wzK-rFUXiV|c)|]~*9Aum8[2R€H, tRnW)=[w[|Z?L7O瞽oo2|{AYg~ =9 JC=L!0YGGk/V:I>Yg2&O#!ҐG U.q PP|HkR^iNAycWlM!R Tؠ%C 'HmA"_}ۀx]AQ CL3g+4)=I=Xe?>2AiEF3)9H#P V..|FS$!wƒ bq˓ޛo.10UA/ \y躞9S`8.dj) Z"@/xn6ޚjjwJeLYmim25L\/Ё;UUm\H"O+kM` $ E!ȇ՝)>CX \W_0`JݶW~&AlQ ATM3̑やi# @#R  ^\ BѶ̹6XsS|#rYt68b;t2~zb gPoF1wN.kAٌp96X^A gQ /[u1*ҮM|b^<>"^8{X8)%/Z&9cz]4Y*gvZA݌^*4Z׶Lڐ6m R=zjy2-2d%QK-S QZQ͸#<4ǵBSQ/-21oiMYP qeZ H*Q<}g+SGʪC_ Tr~"G9Tw-}#$ٷ |HFLp>-R͍ejY5dC >|rPn&.M8{8Ud3Vf`` K;1Y}D֝ FG96i +b43taEEi?(ڧ0N7(mXH 5TES"b)O9uN($hpK qߜAϳBw(pr=\\Ѫ ܐ,$g~hbsyT6u ΡKU ` &u*Ӯ](1 8|S蚚/ GU^%iśp/Nޑ+8X_ܓ~J”,]t#Ŀβk[ɘ-=IO7.ل^TwUْ7 ۢg1t*o,ʙg1LPI(&"G#?>Bᑱκ"'Hxr@|Jz_^1]`$=`{^L,hvSczտL~#:MaráLO*~74vrX(mW.0c5RKwx#tt͔HziNJNO%="L.$o|ϟ 5'sʶHl5 qwzEMnz`䀢Ju@{$ѕ̓ٻ ~;JlY1ٟ%d1:QC(="3jONx' UbaDsشB2dFHSϵe~ ;_ܼL&(- ҄'k]Uꭠr|"ش7ijv›#j84IcxCbЂ>36A^(C۝rx.Eiz*'ޯ&!od00@҆PWc}7L܁t/5e61%A{KZ k:fˢm_t#ɵ9G ??l o.q_m|L2C:C0Yv4JpǸŒW8CnQ7WدvTHS?بPQFF́Ai[إm܁"*v('D?y4ġ6[8`&G  )nڌDq#i޿D'僃%-(5W8PtKaj_&Ker2Lr< {aԏ' LqH߅_1(lnxGc~~yWj s`1F/x4Uxq3멾P<ڬN/0Z`Lt@)ڴ#ae,2LC)1N車%&0v;16P4"o/2]8'v#2ʀP}~ö pGRXEZ˟Mr_;D _q-)y2tr<쪝į%ہN@FU5a0pGV_iD<]P*Okӻ-,vR`[ilV!'ڒBpU]= :wїFGk-l*6;cYKEJd@嵱EiT DAE .th{޽.M#@S*Iu@K ypU.p oZ:q b/pOp=,NMӒXJ| B‡&g؜ݐ+ W X?p8+:"1tP|E#wQ9EEVbΡ?Q!pш&y姟LZYiɓ8lm+ xΛR[ wyJ韥h2fb 1Xw k$-,n{U#f/s8~VMD ߔ|C31N) ?Vo-t.tփF㾫]@"ւ**G/qJO-U5Չ*MeJyLvpYzC|̢0G@kݗ}pI3J6H3C X|-Cա|b-KvwA3c.[D 0Tc<}"!ɴ%jf.I& m +EBHhGk,&^ZP2h=cc=PAe4lw1Vv6P0մr{#`'_S팽U 2lNjH+5/8~hwo_6 `QN:QoQl ū<՟=\|mw4oζa18XRa'"% lkmа-@|$x [!zVv)Pc TK`FUR!a;dXi"`-~JII+sW7amƨ(3/w|*Hb^ݴ;"ڪwlTV( (O$.*jTVG/Q0KK)_~8>ܯuޣ[%w.Ex[h9X[|u "^|4)n-iLq0KE)99zntSPms/'qW -X*"| t(@,b~0D>0^ ~߭ *2uc>+|U*Ot)[0#X'O&9"Ⱥe&V/ă2.~EfTX胬Sϒl`NKTu̝Qkv4|8sP`&ow<.?΀3U@o-` :;A>亶Tyb 9]a aX!#C޼)7Pj$ވn:U[c0"ǔcLUvOqѵ-,e,nu/.,ArFW{*?DX|rIqk9}=nBw'0^#$d>LYK^{H#Šuo}؉v|̆˿Un_M o?*NIm %eqY%%}",&H.{ {gYifyY;fv:lbx*Dm0T`W BdF?E&HKҵRTZtGp'=2Pkcw.ߌt=xpYhCfSd0ڶ,CE5)e9"[0dRʀϪ[EtyrVÓ fnNux$)JyUkW vC߭"^J!n|nMu4p]_=4N.@3< ݟ` Ag㴟E;֏AOrinZHJY|ӻJ fKb@7Jx' S\VUc.v'*SGƻa :x(_aXF٩("lZytS.ϱ!YKR~3p/TV.aKDfWByo+yN&/ivcQ_uwldfT}*֫Іm [sWK eK;`c(O<Ѐ~+[di3|3C.2beUhX޺4KӘK0\r_ռqWtRaSk ܠ0(<[`+fW şȼ>2&-c>`ݵTXq0Qb u;M5?-הM=z7#ۡ5gmUr4#36b 8Ntu_D6-+~ ͍5R GM 2ŵvs3 a^`ՀdRbsH߲a$nQѻev 7]:o8bOdғ&7SB7f^3EȞ?eF%OLSZ)/'esazە^S6R+߶JWD 3¦|+|nq5M(> P $iZCKX?k- d#WJl.,igWYmU}tq)ſQ |2ӯ[mLS:etIQrY'4Z'("{i$J9w(Ɋ=M)O^%;%;'rYuBJ@]ұce{?Sg,ar iѥ'%ƍiśS4en.$ߚ2QGS7K="shENQ"A}6.Ub0N:qwB WѝH$}}.HwşԾg}^W9wS_ZV5'A,̭/h GjO>}32g+6mYBAI' f4GwSnRפؙ5=(oUw)%LWӑOMYLЫF M`f-T%1|ke;侔T#D6[hfWc WG7 NDBHؤKۄ\͇:wd6US9z YMH,󕐞I}8FϞA+E(l5ˤY]nQl_QL/7B#ii蹴zk֯'@50k6' <)ƱV"ਗW1(VP7# yGΥQǻW8NW"P'iz0l(BT(9@M.Jt)ISOP##c<E$BXD\X:~F~Ʊb±]yB NO_XFp=1 +݄s`b fJHcЇΤuJ$f{ QSZ;?s e+!.6TXKscRGc%(cbov7mX `3Ng3Az$;{sҀa'9{}̋s{z RkG(u kX bC -Cb ,t_lV_/^1kɐS!TCc$g͏k_.K]H|z"Y(('  )مF[5='hͤ69|Aᥚ]DFZUPc8U&JE_f Ceݕܶ6 & P6 rlWIJy`#|j[Dt\̞x㶄Wo|JY+vΠ4;?'٪_Gjp{i W׶~Qշ`4|_j 6lx;/RANΒ| xŞZdۑp˧wYŎqVe3]RӸ4Z0_(2o&2tS9}}ac}mF]•7sNv%8[ N۪$2_I`a^N hjf4IUM֏Ikݘ0O{TB6ָYbqS-ҰU4.SS3;-cLa(H)UW;q,MػQ?@'1l0qb8\puJ7q8D ţ8XD Ogp?TpcO43.^h O@YRo#5FFvh,a%y"CZS}n.. o0h10]aZyl"=$-+e5ndg+SXڑ^PeћOdm7(QE/U"+O ϑf,QYIFOy#PBԡ_NhV_OCgyh 2MABrǬ% 8 +NŜ~[JJF=€P2!Bv `p0hlPʺ@3 ח/FAluUpÒ$מ{oc<ɼm '?}`)_1bsKA0rQC/Uյg/364$3m; p'}K\cߊf_=PgAE%œ6@)"4ڛ +YE(葍 5,w V$;<; %5nRU5=C`8|z[%߭ gv&}rD 4g02͕ #+ Wx*> uTFP.^xXx4MMYs`mLʆllem.eBuCF tB׋&B٨,5 5\gG}ژcu>)6pu>ġOeh^c5&#^HM~ ?;e%)R;0p/a +.(hkZڪ d?*b.:2Fa$0h%gĭ5Ke+}A ~0zKzP2A hH< M9 {3S`2jR0T0^zUWِNqV^B/ꁖeڂ&pS,B);Wx@9Xes-Z ޟ{rC~}T9eӎٖdj8/R:$,qemJMGVw&lIAl1ٺk8XՒ`U2VPP(%$"-3TB!YL[!Ͱ= Cvy2F<\e}!K:W'lB8jo"td><\^Xms/\ikB& :(ADx&QOk3wuShF2W㺂0Mi&PR5eJo9/wc܍Y$3sHI%Vk[`r?YcFJc9ߝ ߁h疾4R81v^[u[LZ2c 9T?^>q>Yf3'Fko²Jȟ&b嘸c3E4ij>;~cz]X|ץ T QHčj|>75}$>#}`ED8ĠRzC%kR87SW}z0⯶Ah Q9gC2|_n&*e0ݎs?LSwW2I@YOѝFu|1֋SNp+`ũOR -@>_:8z_PQ d#o2;x! )F;(P8tptЍdx5$C)jQ}1` ,\ICvYmb1\=j'(m=}&o:HɛU,gT|!>9!J:Ntޘ:KdKD)U +t<w1Ycfu 'r"bE,s6CM~E]7ӣ'x޷JPGk;&tSg1`p$Fss,7st `16),_G^9'n4K-}4*L^Sڏ0)Ɓʻ]V)Iv jC+n =Go'BVuPf/bi#I\@Q"=WL\HPGWO~@?t'2\`  kNNxY,^\KY1![z[z~Wh[l*. )@V>#v)*Q{6!kRk0Zp,J^͕4t ]S \LMi kU;4VUz%.#+~}"}(t>2JE,ѓ46;;@} R'w`Vh#0EEF{X$a=џ:O )6Li:a `jbJu#NZݪ|cIYET'!S=a^@PVޝqNmU<ռ.MKjֵ}nTP)`OOX1s`:)ߊz0Ql~`woٝ)W}lZ˴}^)t^}n#7Su$ALZMm?,0;)֛O C*X۸rzuvy} քe! {笄Bq<[_:O]옻o7R4v^CcߧrH/#Fe K֐*"5zӝGv^xQ9U$'O )ѴEJH]!xt"/Y s)݉9tЉ* .7rrf 9da:xKT?Մ'2y0hl%EÞStʈň㞫ғ˂5}ɞr͞n*kg1%==чR;;<|&: huq& =u.Q]`dCX4KJCC/~Qwq e[$r,y((Hʟ#eX󤚾7%B{A' GTGC.l9o@ϛcA ̋dMd9d'1VRޟ"F0'Ûfa,iPW#9w5Y{ꞑ/>ק඲z9"բuH[jE}BN#dIӦ_1Hj-> 3o+L7<);͈i(;zE*߻0 49Bb R:PQl*F{iGG^ErMT |O5])r8ʓ.@z =|> n̟0r$+*_ƴ qۗ+[oШOt9J(R揆LT/#YL9-Ék4O{[^˛ I^#TL~Q U'xJHM5hcBpdt&FSF'k،гB/6E>5c%q޳*f96u{ S>p\nO (GZiV5\M[֖?KR=? q?DN0c $rLxg#P;e!.Fn: 栋;| Z!X8ef4Gv ;(SDR38Y# 1z }]ƔђE0d} YRfN"H~fX}Oi8?f;ݽ= s\2(Se/5"k'Ҥh!NiqA ^U[Izs%m<ݍשOjG0&P═K|<rU!6M @?344eP+[g"ŷ̸\N!ƙn.P'.XQo@4V]0 Oo{\0 ˹sYomm+Q؂yG@9,$Jw3-G"HO,%z`Ԓ(ʎtR#+ a2JcRyc*>ȷ,|9_dzW[bm0ta&2 7- &qFg7% ZAưz5UhF_ 4A&=A:gA!(*ӹ͸hʙF|*oي{^ډL5gw~ga,xxYPn7y,ҠqӒr7IZ loNtmȡ iPK^cS#G5loڝ›* ˽GoKԯ]Sb;㼯pfZJ mCv: c5\{ZuA7erO<~ĺڍ*?6JIxI!?:̬u)XV h`)@o쎾|+xyZ!g%mAM[[(Nŧw5R^%˦"&&}v>ꋤM~&p}9.Dp Bz"l+^-ܙ Tl{[%N+L.[҂yQ`xړwD x2ݬ7r@0 v y)lkS ZV'eKrx6p!s/9v6ic{x2ۮ&7"1%1CU&hd P;y.dA J5,`iOI~تrāh<Y,Ir>^F^" MIjTL\?1̆=kdпk2&-a{9R-j(n eꓣ2ec~P'B~l*vs8,H(!QG WAV{$yfVB\xo#/aJƴUeN15cZ&r< j# uOr/J\X'ϜYٛQd#{ 8A(]BwyP9Sw[j{8rH, C[*kDM Mdry @j$m(bT#Xw1w=CU+-dbVvtwa z8{Ԋ/po5VHjONB:?̗v[=|Tfgl$U7*t({H[ѝkU_#g(&20_Xmi4'g"C\xMu|@]TX$/09n8pxA30T!D10o^hw pF3z  8ďQb>TFuJʡѮˆԨOؚ,Y|:Ks,9\jtpDqBR-[@9>hy\yW1=PNAw F/Ь7_J"(Ewi?׆){Ѕ(s-h {\{ӌ!*FMDљ&:MϠjoJ/0{ Iy8ZAF(SQi ѸT2^Bĵl&Yo}m5dOޝ?@;];:,lFz h_f0& ssP^,T1{R4Bty(XW $`rZ|լ/)Q'=oF݅6(6í՘$oPl<_+/ZPN(XX Va>be} 3r?U LeíũI8v}(vȆ'frޮ5nϔC`p?e=;;)׵0TqU4+> AD0>8LYSu-+Nd]@.`ҵcc׃zCRb/5_{e6ʋ,>[R.Y{\ (us`(p)t&r=V Ŕ?F(s%Þ{KGJC V'cReX4r)S]d !$ID)猉a7pb: c"Ӱ ]ݮq}~op`C3\-.Xj=KӯX(|k&C/p;1ePp;&Y0O|\9yW_6T2g^S qC_pOϊ[pTnS45p/]!7xgZwl|?'Bv+ Hykف] ` 3:( V2\82){jsJjsc2J{5i 2~&AHSTZYIkЊz9ɲ-`r"B퀄%Ic; [-{DUH>0)]{p0")Bf' t(",7Ѿ&{ u#iU-h pn@{]x!'mS0~SS(1QNOa|%+O5<^_֐"DSD'QG:4ֿwSc3IӔuaEx`E\̹sExNYd/ 7gPr _`hւ gsW٢w!??oj0V.;OۨYq:SC &8Bh9%®Oc`~1\$$JP)eGbvЖkޱtG]ڸ nP=5($:3+ZLc0 ^0o{/P֎{7NqRMU6lbUfg9UAcOJ$c$J` {Ancn*4ncunZT`WgtoZ2l&kmwi:IT{0 "Voʳ#,Rn neӽ_g]v)Y?ŁLl[^Lב=}#=iKAp4hb4]"f,:#V9MS‚[N~vwidHY_g2[(Wky4%vlIh؈R`{9*75 >~i+{/|LGS+[O.Prõdq}EɚU_iwQMKZ}ڐv[:i$].ܳ2O N{y[!Gh FV2@1jL"* LYXS;z>|T:w'F6#G=(mB`مģ`&;r Wh @"y|H:(1KQY8~8yt% }-ݽ'$lyX}Vehs/^VP>b!.P|CkA 66ù畮%ד5ld=ؓj=?$5Kbh}/bY^;\m~`$vٕy6RQIAk;]F0ݭ}%׏D Q&M7s#FDžL%3kOߌ/4I~r[ҡF֨)P n.Z䄳̔8D2蹟ۑeZNW< ET)_NYW ğp= 0Y l< }p7T+Hx~VwUZAdAg q];*|f}_Ҙ4D9^{oj -USl6dzUD>R] _jK }:5pX(T*%$g[\X$Æ/[ls?=ц!RM !.a&P=I>%F]5= <[sI(xZ雥u7'Bi9*Qi {ܝ斐2x/\Z/@ozw&P!6[^-F@hM LokH i!xDw ًL"ж;r ]/egQeYH~r7.ܪGa9MP_:;߂%&QS@9 z;1 45R$Rx*2rh])\xQ{ /|jU8*0[jqVAi v3x&s}V1 hiEqnh x7"11w%6vAe' 6;虁Y&/Q! qDNN`.NyN(fKK%=s`H+J͓CK&ˈh]o2jߗެLY[wZͮ.&6B*x2TL7iTnӼ"89H)cwfΡRsTgWԴnE<3n T|) 6q2"ɲ^b<;Ke,i!<#(J)4v*2^`&fEϸn-/_j~e<3˟ !fm;v;WV(4w ~. xߎ-(*60VV7]Dޙlf0J]m-ʺ/Pz@?FwQcC*nsip5&1 >fg$~KxsF;*RPNZK41;WhqH@ (ప&WM +%)S$['P՛W"2B׀*rh'lGPZ1{=æڢBGbh[. '89hw5[v ǶH,{йPڒod.K[)aɉ.@.CNyɺ䊪9Z>{ 8pYLo™L/],G*A˘Z! AX?Tli5c%y!W]Ez(^=}f:?pt S9*Klj'ĝWkic P x 3yWN]G==&$h7KsNA|mTD=\ Dž-C?gLA 4"ܚMq֭ k0+d HA_wd)h)BL0AP$b%- 4E>#GIxzC u7Kc)78H7+6 Ǔ߮uE>՞s8T5d,%"H6rϚ,pxwUI㎧Lc_'GDέRc:F 2u;ҴuQLLm窼Z/H̃dYiW+>,44 bAa.lR8zq44v9~⩋:6C(ptw7PWs Cw/lpn#rVP{)]_}aˋgCټo0Ժjˠ&$LUVŸ/&2vwر@0$  XO;h1v,vƇE.ݽ3F\S}r'+5r$guWe4HyEIt'cdx+b*JA$l.D:.mJCq$;/҆$֠]H~M׽42NggP`{V.f."m^ˆT|\cdJr`:,ok6`:#;7rrAr{=YADי1YzSQu5 ^X9)^+NПRCܺ7Gk6o=C2󍎗d#m`:r!SH}2Vtc<$S7K2i Në5zsj"@ZS.B3Ц3Zk9A07AAٓ|?I]mʶT=>j)M t92ibTpar_C+1o0GK7FiP_Z[En&@| 8K]U/f2>r7@v!k(MձR83sQJ nW!:˲M(Uс#|޸7ufQgm52|'1S'zqaƮA%>>P4I#+8„S馰~(3^b_kl&n[1$?F'>}dE -jGY >LyIDtp͝V5h8$aǎ:؟qJPr@IVq, /e?޷;Nd buFeF)>FZzkjԼzPIoaʛZlV6𻃑q)߫ةvZu%t7}$+g:\GQ/5ʼngʈp ZI!f[6fJG HV{ދ"8~%KiH8I\l8Ym~^sHƔe~DRgr/Att|A{Xj \gFQ 2Z5oKڑrXIT24 vlз[Y12>ln N K×_XA65G1qڢj_SȨ|=Ւ}mum(xwPT~\n]@M~A:gil\%5^gJ\M?,(u2nKEs)N**z}#Eӂ!X``mRjˠP/ 5GSSڠMQEZP˵;;7kœ5, hIP??HA1G{? yW,mrAYR('ܢ|OJ΂zK|H3*:Y[]@*Uj:\ ]Ui+TbF- %Ӹ-E_Ywn~0 ={Ac@J i+-_jIRʁbUxDΗc̒E)O.;CAY'Yb/@\?~\?擟U*ztj`#*nXUsփYIDGDB0.ے @4Y m=W+XlҺz̒X]kpa]DE3 8t~M]%rOIdGpT~=.)ϲ-kJ*^w)Mtݽ?#[z9 xAJyKs2h n8Ky·AG&zq[9Pہ>pbcu;{,jYG M4tju,?V`AEf_q3=?ԯd2.pB_W3 T SQd)8#>T#+c7+CކNTO? n|)c@]_A|i{eASa}S-w*u6W*r;.e>9 ʯLqȼUMUT| 9#6qmN n|B8x=nl!v=0geB040YFT mVe^hϤua9dW yl0?ŢIgG%D` 8Y+1י-.j'~V"<28?n*I Hh!HzQ!GQ cBO<1~,HEJ4IOyCm _EFI]}^$I % ςA餳[9Nv_VsMZ>ᘃ4]WP⸾^WT#|$lj\\am'3jD8WF5'@1!ͧt伲->zǘB}mE"T _QV*=^zj#$iҙf.]w-,Ԁa~A6, I)Q@T፼? 4UZ]?2ٳ>lvXND10$o7*z~xWTDђ/-uw,a=n]K<;n\hcBTw,3&Obq{)1CQFd骷ԋyABy޿-&pH7Fe<an!O#VI&N7}qW=[EɀlyLqK8zY] ֯`c7*Kʏn xv3$!Nz Fq/~g-H!?ޱO~HB"k;k|V81Wi0D_qfpΰMQ 2|𩑝E܍F 4)APW2-fXԕ#-)3ƠC ZIݍo|jN 56-(?*3Mڊj<Wi]ߖU8,"ֺvgL&]NCHe-@Wih`T,}{WA!]]lW<ݑVo6= 1ԯճ $E+:vRZ H^|twR j!fXSJ8.*]unEL#k\j\W rJ2MɄW氿@=7"6W/ުk\Hѯ&Tӿ-N^zueyܚ|tre"RK'չ Z yE3غEZ5A$yϡubq)n3O}E>FP2N7G ,@]e<޷r+6H[Mab(UOf^,!z՝B^AhY~ݨlW0zw 3nYJeYJVzHɭ Q; jn; ?khp5עrJ(Ĥ&e:558]Jdv@@gN̗ax{Aiw-3TN֚:PTf5rF{~\)F¬~ѣ-|Do2m gꩊk6~} ڻu'ል!Xr=ǟtOcdRf wȮq KAQŝ];)8՟@Nvuh뾪tuzC4Z+p^8"zZfNj^u$":/o]qXcT)ug[(lJ_L0'|87Isgs: Hja0+;c:NxB#YRտ:e8v,B˦Ahl:wt/ż!d̦c{apLW*P Fgj2У||[;M$ǖ(N83E4q9Ck % ( O5v+yxZd9* WrȄrA[V\9wvŠN0Ҡsu5SrALJ0BEkL>EzTh~B-J J'_ߝ@BIs.Dޡ 2E} LR{q9oisFsڠ|>Tov 7s7#{8=W$ §fsS"ؗv@Pwꛑ+4Z WՍ&+cTyS)w1'ISߴ'{>lyS}>bhb岫p" W!:jZCK%mbʨ_cG`7:l)} Е#4^Iz5dwֻ'XP s?#J{?M7 xg'.9ܸy?+n~R;(k5Qe?F=( MEVp v%ޣ5\иM~lLmqf ;2.:G6I0rF!daaočz7GTle=<3{I5^G-9u/3gjZ(IF7ʮ#Iz@:1lM7R#bK <`(yr/+அ'A$:ƧbI?BQ3q}z3ru>m_ GO fT[`I;/nmsbTD꼱+ Yc"Q+6wt2L+CŴ\jBH~B ȉIȧ (+4GDw=mMykmضuP|F5S^YD}ıyjlXq`v_]1X릗wv^8#]k~Zx΁*%#9eW8%ڏ#^pC|qKFz_v?`T/9=U7<꠺h g%d9W0ˉܱTzV8^~,7|-Y>2+V^r~6ʡvƺ|Ə#J#=>kfFEVDBCޭCAɯH iԗf7'Bܧ_2ǃ]tTLޟyCʯ|H m%)HgهBPM!29&:|@9 gz#9ٮZJ J$K+L> Į#Ks)xI0GWDg]`7$kD($5.ZsڗnDZn#oI;uP6qV6E >ɋD ^%hOBNqqӋDba?*nޙ.aix^F|N '1LN@4߽͵Z: mg}ѭ|9ǹ7%'Xrh ,=TFDm(OJN10H[*<0=Z}Ntf( Ŷe pZr֙/!S??Vncn_Qo #/B0P/ˣ!RsyݤBlӟHse+^ w0oK+|d *{I;WiwaUW6"V SSp N5 %5onk,TF[=k;hޕJp<'2P ӖשuCȶ}{ "+h(jriASh"L()Iy-! |Hj]&J!LJ73u v+f~mRZH>?vzkM@WL~-b|W+20*6 ^0OƝ;!xѠn,}5V.Zf{i~/}3Zk/|\f"eF~DD\'- Y'y`/9q 16meZٸbpOF3C^^$u;1S:7XN0ypSudy1%kAAEL\$6/ڷKk bV֢lDsSӦגzDcD?Hue I{69z $<9x \Th.E䞯cJ͹?cݟERWSъ >*['ZQ3 Gg\f&(/MN5uY*9Ruj*AML@u@QsZ'_Wgf6'm(]|Y=Mֈȭ?3I<)fPe'H~Y;fM?thgqQ2R~5A$֐Ŏ;nbt\r>)"1[&]cݒs|FWW}j5jOcYw{W[h>=;NƋ .Ad"Ƭ0 o7ӽ+Y^쏎1Ƹ|(n'KÅ!Z{G"-02i`f 9n0Z k}Jvw^>LGFa 3ig#ϝ!Mmj`Smأl$xq!n?DK4t7˩55o]?\NF* ;g2W@|6/Y 2h ˅"Ŭb8F ʋu" z ӄ!:.3HDbP%%`tF:+h0z(ZE!h,!hUq(1;<CO=!UDWsK4vtm- )Vj.uGTMjо#*f*~/70^ťG_Lm. 6ob|Q{srMTOJp~y.XDb-}!cr^+u1nJϳ~WGLƣ囯.<6=ۍ64ZKvAC(Նk`S[_Zb,$j*pgd>?{F"Oγ~ "XFͱ\O&t#B;eW{`KL&/A[t>gKXƑ25oK&T 3\ PAgf}~.ymjIB(Iڋ"*D߱Kn[IN@԰ 4E`U1ެ<wM7@Tm)}*_WǂeNM( qaYZUŋLkq_ m^v S n0{=Mbm3E|fpR~Ze_́ͩimzJҕo\ApH1^."Rٓ +#gimAsM3Ch!9)n( 'An(r!Jlqi-Xj}-}Ej FTD:"`iH|RX;/d9g {$;(C݁s~rHX,6OKw>n4->]U8/2gOQ iDẔ̌< vT:&8@vsHY纘cS8R(%,n΀!7~BN%Im>R>اo6&f'HVmsGɞ=,%ӫ~gIY>/me.a9V1OLmXH:Eq; h_6r ؿ2O/iZtoQ.NSn t?{@6E{@bkע* ̟ h̑={񙗻ʰ-"n狒%%Q:5 2"7l4x}x7S) kPBJ{:%-s!1)Ș+"E*!J!b(Pt[ĭ=u4{4>X0I#Hpk 9PL6ڋYqMYd OK9-b5lKy~Td{!ֵE,V/i˄ (y2v0綳(K}h5N-ɘՠ?ػdM\ 8] "!|ͯFzYC;#[ y BxJb V|%W ܣB'ŕY{m} Te(9F ;eOFlm f*mQ*oTRNps9G0[}c-7q~.ItyhzFEkP3q H*D".\jY1|>3re~1hEgh ,(Xc+v-T/(aL"`}$%qVݤ Bg\^)jο)Q/ nY2]!Vrgg,_RMѺX@V4h}p)>~wK/O2Sbe^!W:]+Fr~t| =xS0dFVyCNul'jBЇ0 :c`"S1i{Ӱ'A PnQpo|Y*xed p`,">OC]L]_g7'B7U#$F‹@&Β@3?7B" ;.pj%'ժUy/R?Wlx |dy&4i[?M-RvkLU=;l$7j/"1ɿ=|3+vؙ6oiٮ, =H8mBx2v-E 4?,06L]BQRC+Xc) ^^dl'lⵋ=ba>E~0uZAluS2&l~'3k|ʌ8޺ xEG9r4cdҺf\zk+ϱ汤kbp!C~)kB[K;]?!2q[6Cͧpd~B#nUYjx DmۊI(:JWz4tWp T*s?:"r\Ꚃ !L(Շ 7.D;hZɎl `@nnZ;m9fw(DcH7*kLs c:E3cwArEa`ZvI#w9?SX(wos1+ދrqJH9OQE3%!: -:&*t êih?Gpg7SAIL- $yLx56vT d(Vc 6H 7[E@JgbQƉș ՘EvšKL"{@3ո @k)l*$;`>\R Q|1$PRdb3 j= cYl@Ep!,U7lh(02x@Ý|n{Yd%unPhI?(6i͹&" 1T^.~(9$U<>  %^xrgoӼu<ѬXFu-{X c,=x  (kvQLJGLόhdz*F{wx> G!5_;(yO0`LDMt 킇U$ϠsMB&{R\e=hƅ0TڊoC 0Roki#/B2|S*ӵ䃚(o*4ҫƬK ؗ^Tȇbޞf\uS-i7 $PK0˙Ê0}Cn]hǺZ+- G(S0Kbi,0g" ES RjPU5 ad@ЫmfSArAEciz9ljij 9q{w߳0٣*hRr'dA&dz+ AwyGN K-Di[ Y U@)1eM+H5Lt OjOƉG\<F TϽ=zqvxnx6+' p vR$/ZV[q}r#'Vf{0WeF_mAărgÐ !GQ tK{*Խ`t*{Z <F!SXEd1@*L "ЦBP2*X2j~ -.v-9 jv'Rڧ;^MJ;d}v  ɀ2ALnVYQ?2+p#H]bjk;HBHCbߴ{މ>6|ے?jV1_Etm7@ʴ,,uUG3myV]0Qko:0xCc+j5j# d^gA$j7E'+ ~֛]eM鐂W+Ewͺ~_X8 Q,jӌ-$[&7ZwNeoJΛj^,,8t|3 /zr |d,ή)i格N_dhLBu`sxp1W7V +DO|rYЙ* ] 7dz BYTi[WE>mQQK;.p#cR̟zcAiv"IÝ߆<7xSt.Ȍgq/#Tk*>e;ʔIPU2_`8P`)κTyf3VG/u&ewV>=#b%Fy@J(Z0$ ͠8cPO~򭑗wrsI2~6-e"!3{z-G j4NLUIs#ԻQ+%Eƹꕣ|km5#>Vy0]NE&ܭUFU ӽIfj.s.s$ t J,iL^fpb{xMyy7FsKc;ֱ|q=gZI@|9f#QP׊3p I uu5Q U讻Yqr0p0&U"]ko26![෋w/ʿ7bb$)!x[kggن3:vyKjﺖHVĕd@W[빊I3EW^FVK`|(`Lۮyo֣yc f,.9PV~qF/gQ0#ʹɚh 1;?F&#w.=Tdy Tv#`caORɨ\f7B&Vr%.pCi -KȔ=X$?v)}\&PAFż a0L￝$LU:tRey$T!]Ah:曶dd:^eSMr[ŝw"2? W//Tzzowa;E@[k$%wTT!tف_a+Ţ"╭g>tHh*qt0={?tmfLQJ*xm(K` D_ȳ}V&q@&;O{sa4x^3Yt%m`(x7~MvjƄ+fv|/ʹ.?He5̬G aL|1ds.|$L'mCɾWJJS; @(< ½eF Na_%1iV@Rމyw~qpa%~ځn z9Μ^J_ȹϿa9N ֖{ω{:y PK7쁣MWM-j{D;%msck,Gb߶J:ZթiCmihc Ab!gf1=e\ +ͼ5}̱Ǎ4f!̾ػK|=ߦL͝-uJ9qb6=8?IL{.hkBĀ.j#i:(8Y6 H- '|{ ώ?\B-].?v%p  倵c;79.-QF"GFNBdf B=*݈k_£__.()fK XHJ АGPFvG6B$l'GNT%:G9쌬kzYfG#r;M(,ctYWvqd1 ,BE XZ]t|DGr(:]s1Njo Pͦ#DmEȹY}:Z듹W W>&_ud?^I!vwֆS6AFzd sX+ǐK4gPq] 9SN6"rb)phɱ1a.!b L$GELhKBi.W&ċ(Ox9$џ3<" -n|(~уa/nb'5ڮ?+2Zo/uX-]{ dž2 ?ov[Oޫi;mokےl|jS O}L=Q1 F3y>r(pL6CrD?:9\t5X*+ҷi'H 6~>PP+nt]~zu"y{ ܾ`ͤt1>Uc.k}y:RnJ]66'VD-~{~$gm񐗩n )9GhTiL5s-c BS29[|!iP[xX.Zd.@X!-,~-+~`r"kEy`$=-q@Z`5"6-\4¸ yT[(/vAvu!V|co{\\<0Y# ML/9uCyR92d 0-v6`%VH{9-O#RrօlFbAjw,EZ5g7O'ض(K ${ǀŖE0Uh˴V~҅mBˉMr| K ~F- 'N}`kd+b& Tt_,GB9rjy *w5xhA;Cg{n' Nk$PqoAu%r6Ԃ(n $,AS+]t/g4HZb*A-a-W]{=]ऌ*\s=!x W*$[.v×ɵ xD+iƒ}ˢᆈ 5aLP (G*2Oƚဒ)jٺt8!8'줙Л6[\Wڄw\ѭ;W5]xex?< 'Z/u(oryҩy6m8tyԖax]+-&*Dv%%E0Gzώ_ uRjEW}.HM](evVtl DEt*q6_ђ ֆe mFo=BΟz@T-y UB~8ڔ8ԯZi]kj/~'PΛ;`RǍCwRѮqI.ьt!e>eM1mЃ6`b.Q `9A;Subۼ  U"Ji<|<),0;V`=F$&3!Nı-C}z~3Rb?QdړW *cx^6ca͑W,Iӊ{ޟARue|{Д0"6JV)% 3" vJbe=lGbJo&U{q13iR  MCVCU:Y1)tz3H!/,YDQĽ5ٻeM$-&>ml7WgZe7-)p4ۖ'nµVU^¹;]jӵkS񱻦%h9~|c:d~Wb]WIYp#sah_@:@ꂝq, H:)UvOm EY_ft\9F%r)+v?WI@8S3o6랈V6;x"eG G؄xv_|J5JuA.W9[qq۽rf梜$ɜȻB!v\nŖ1 t?]9# uz+cwaw4  cZ|F.ԠĮVŸ卞]L $Z( ۳L,][wh%{ޥ|H"0`Q(%kÜvx"IInؖx9BpjHGmə-oUt]]Ajn  LmFkYfPaT3JCc $$,\jd{7tYxHPQJ{_:hoz!eVi v3KLTϬ[6{;1RuKi/wDYdV}]x0f'K4Y&}"(/!P&s~`Ԍ1C\:@ƖfN^C8W/Jꄡ͆yԆKT,| _F4>Uvrʀ0eBE߄҇X2{pY9S~|&M뭊\!z|O@!%sokiHs`4)F8%GP":en8Ǒd"veo|4a"r-OE \w{KM0녀-j)gƮ9\\r;ɭDᅎJ*/'l kP~'Yޯ'y9iNCJ$w{}]\8$ѶS$@N+}pI2ed (onJ|:_#eCVD5ɶR>/1@UCwOԂyd 4!``E8eb>wPocpq2FWX<(%岨ڠI/%ݷmÇY gOދIg%0Z4`Zͣ;c<(*ZmÜ,Y\kgq[!H_̃i`#l{I0կMس$nZ[F_PVXFvkye[ `Y%MmZ^[<ޙǏ*PK{П Y$8Neb׷sVlPFޠ#:,`LbT8*&Г ZMC`oXy k|{9 e@ :#v%> gP:T36l >@,KL_UGO*m v'?UGcz`b[tpNJL6S" wf] 8'Z{4aocϯա?,&l=Soy R l ,|{]8sajoVW/Gsjq0/`?VT2'4afGuD+׀2xjW0u:][~TJ}i6u rK||.ZA}&*Y҄c읰KJUZ| BفX_w|.]%B 6w7Pɮ0_6;ZO|J* ϑAMa\|vgd"ͯg_6p{'\M<<7Оhk:;|-Q/LjՐ.rr+/7@k )@}Wt 0ƣ#t FT`P+}ي}:T6o{~& t/1}yjNT1h0, CQȣ̠w·ס_ :Xmqn`ΟjS'q4raғDܰg-1XFYǿ,Rzݚ3u`u]$o, ,g\XԆ( :4Ytsjwq`. MuΊx/UOhcVᒧ݆^Kt7D]{~UJTT.8^퓙dKWYoNy0 J| EC҂f jRd{ފd2`;<@#6!Ըʊ*O qO74/h(rکALg?͛؞+@ >Os*F%OWj}&7]'ꔑO bcQ"laP잁xLBhO)%]UxW׹Z_9 +Na aXT"իcCƕY;yztfAr ðLJK {72`E9I.2S69v,HDzѶf"#ł8*H|:Rrn9H㻙ᜎ|ҹA)0֠%zPk ~bu>H?G0a3@U0 2AS 5.3T󗭿=겇;z %.ĕ(%xfSb]Ld|pY `@Fr"UB&D-3\V+ѳG'ן,#B2I-G *$ï3٭9!LbZҳNג SBh<Wc~\Y0o-8qm#t[W?-RV&.5ng[Nd҂4yb׺j.yX6J?M4Jh q{!hSe,fΚLgLK^NO\1Wn~CJj8+WvWV!DSB]9nsKE3bXG$=lli؊v.tx$3ޖ9s/%uSIZI`vIsm8&>R5$,>}r eR3@Ziಟ),>|qTk%3"Suu14iIjB"LE>YރƑ(Bےk+DA'Wi]KgމXgzEa1IM3D#Tߪ+irBhhDt0wm[P- j:7ڜ`=(U+nAڕʒew(㿟Kb{%TM!3U<"+}VLRܱr|=%Dx8Rpªu^0cwC#X%I@yWlv 0kF ?"hw_[,|{Bωg[r2ϋ'Y)k=\ЮؚmXܘ2;Qq5wZ[ R,\ ˩}Uû=$Jⰽ,_uFn4V+d0SSpE"Љ*j :졭qi}8f-/'n!(VfVB8%=pŠ$/,(+dtoەpV6c0)9z[lW ɨH'8:*8g;e Fw͟^r&viU wW!:|L8ީ^0@~ʟKHn"S~ I5䥻@njq99;23l2#rlG ]ŅDMl0a:S*eYXG MnƔqL~Lbv+ZҌ`x 3)Am+U3~٤҄EyȴE׻sv1 ym_Qi x~˪7$,I Obra4s'pJz^$Bj]y3G ' yju+`; L+*k $FMRz{*}:btm/hPk-j=>O o$˯QEg*=㌬9bef4*gC""~y?P-]"3@}/ % őIuzTP ̍=1LE&^^u5`3 JgrW] #q2!wq&bۄ lU>2bSV-&?<,<ֶ(_C*x"^+1 tEwhHqo;h<]3u&TH^Itg"mTۭ2 "(_ߏd\C H'^o+Ƒ42<6&%&gR;R#{mb֢Ph Yj _}9|qx&d0T.rt .,@9K()=Jd͋?Ǐ,jc6@8uA+e&bɨ\zdɴ9-FRˑХt?۾gCp䖶SP>Ô"#pVEJsR"< H\Ɯ^JW9FkAsgg+8oxAnd?hۿU>'Lu7f%Z1'{IqBkyrɎ jgql\jU+Qdʕ[hp *Y68?,W'&rh* =)u,10%Z)~1 JN@@'S`vnbvo1iyNAw_f-H뮷"k}czB+K35WdA৉ ׏W(y_ -}p'ʊdӠ9c!-2~)Q KV7BҠP QT%3wxBWcX(#. ɐҶdt)ktd;'ɠ!g n_/TwyG#!UĠ'ChPώC:)SL5pl1r"390J F ~F>7Ն 3-p65-C_r$HjLc+]& &j.v«$fQHvE4UCɮ3r" mhƿ}tGCbܲ X>n?IhrhUq=kM,p sHGo>:Z_1_D &j!w޾\P L34/}۽q >ۥ0e/XO)WI1KDLOIuoT~wu(ZEj"&:&B/w{E;eO;?.4_Je֥T dGr@ H7r 26r;ڻrM#CtT$¼1 F'9]@.wh;̉GP/DJN+,[A._sZx4&Mv7a-Lz%0`e z V|qΨ՗ 33&٨ ݬg),|pRuӦ6y3_ ^cV`.vYnZd|=tG%Oc[\(o y 9 ɰW^rfWwF`TOϭpSF#)oXc{hVl\I[#E\zfns{Y9K ^ > ,;lZ%J/ӈ븭BjCqQܾe 1T- %6w;R}!B,S)^0aT($Z`H̴w>1K:n@e:kpg߁**YfVP[@7aJzVꙓx0NaН sijd5⸠.!;j@°ʺi߿U[.?ܝy)enY/0!OK H_V]NҍITED%2V`v՛n[ NgN@@ Ѷ01f SRfg^ӷV(`LNo\^4*/y炻IT>68ƛ`)FBbtLt~$Ñr1{' Ÿ-8s@K?[墜4(==^Q >ú9,&Л {mݶXru`S;ߔe Ec߯2ū5Vo3=J(`iЉ&Xu8`|a >e54qr7N醫cb\͏u}iq:wBttde"-}:8΋ &^Po,*̌/ԝ?t>Q\Z c D<3oARjB7±lj( &</W{"!:)F3NH8v\ﴸɩ-lGVNa= \bGK I䗡)p[.à 4ZdSCv9_ H혟VGzP8t((Ζ;:V#s ϫsKIl,Y]`YSCӍDߦ = PF3j8*9Ϲ4fJa -#W@w:7@8|ݡf4;Prm >ˌcKQ(y/~4o#F!_~)$ێ 5߉{Q.&%-JUΌeo)Z'^w,8 Z57rZZ{T {:Z/I#'R{T8420kyfnt\u(|R"ca&R׮Da|]oD2NTl;Dߛ"Gby#8iO&o⌦rmQ ŴF@WбzQ:a6k3k# ܩ^x| 5Tr" 4$Mr;.{xAZs+[ђz gq~QQ+F-/@-m>1,Zq7V~svڝ}mHafi6I^"܈09H#Mh)}:̼FceIM69RK&lKZߴ tr xgqɥL_^B .+a[.Pl19vDy6aNWtBdzv%@5r(1'2x͙-:vLawٜ?Oea@kH[H[`˳r8ѱ/_}|6c4y@6ǥeӒo*zhJoGꯁ;_FmesI00cl79hg`NXm0[ t YSG <9޸U] puhw#v6An$@.`6 QK(W|`#FH8P;;zr[) 8S5z@)i;!TǼ5ŦFop;u\،QA%mRMV'X{IM(4g( ??E nX!n7 ľ q9jwu,#uܵ,J{6:phQ/ (kd8 A'ZVЦ*aU%CjR3>9!@ @+sW6pUaeXdv$hZ3dž%WԄN&\ظfMbGh2=6SؠLvD`ZGut#J}nx}\}籕$AW2c Q#[_"vf\*`euZ6۟ߓaٽ S2q:mflFH\,X GbLR٬%ZMR1L.d |&d 优$IS{v̟ "It iC 9˩RpFJDvW`~פlGet[K.u`#@pK}f5[0CK)Tv$ }˂?mqU'aK]A:>6Zkf 2=[ Vhd4p0{ϫVBYV;n S=Zk=DqO@=BkIKL|P3 ق2a "g YUi(Y;W7偆07w) v14nfyI=-{!tڳ vNSdEOwBQ';?)` |  T3='_i%xQq4斔LoVCSԂYpKW q)4GBf@oX-IBھ0$?fIhX!SuZ˫\OءSN<ܙ6m)}Tc+&$ !nh*K E[uK-XpS-#&coXY7 zU9&R>AoG6TjlH&U^It+yЪvN=vck2fc_L'3KM'RB18H kcx|ε5G%>18y5"Xwܧ"T =CmcKWi,QGiW:U 87OJp`t,^ 0%lCfT F|L; =R߉ћMozd K-;PJP\K@dsLI"ҦpliECrmO%vnՃdo]H[p0eZkaLWeAd#L~5\]yrlzjA4AHry:Q`k:A' ?<+[=;Wr 4%)c' $m511ooBqmR_FI_#G౦j" .nOa ]6\ 7/;.wP!Ʌؤj=Xʐl&z\ Lt6*.p}v?'`n& W6iPd3±;t-td>y}MMRg_^pVѵw=ti$B-a@a{AW*)|DHYd@ &q9s&KFwMz8HV:'чVSVx䟀CQ:S7GX|pmT"*l\-jrv)EJĈ%c!  Z*fP(Gύ6QۦZ<3z פQ**kU,w 3&V<43ټ2)mܘHDW7r$(] FnTDs7qhFᵳ=>Qۥ>`5',j#v`k `ghF:k.LqɐFpp{qv[\ &ilT]W | rX;,TsY*Ԇ:+QwtdL-cØEWePcK/4v5|\ի᠔NCxsffJD^'.Dmo+c9sT` 1X*{`7_y?),=rO+9\P+_g".=t2Q:2Kdq_86qx ?D_mO<)G2[bQ1ZiwGڜ}$Yr:@ZRY!pu:y JbK\}J!lZ/**e_S*E]H VGȨ_VUpT(FpRoٸO׭[f`jq>3̙; -xCbRk]]e{ :M)4j5=kvbr:Ve7 bG31Q 9݅ ?"<pOH%W#3ĪJ…zWN؁젊N ?lbFZ|3_yӯ+`7cgwuUv`b.mfz#~Ѩ6l}y%k.5p2.sEFr=QjQ+*;~sf^/F9Mez{@שG|~RzCX&)|U\_oįa@ZY"+-zo횼[r|H$(+֍ls_h/b): YZ