firewall-config-0.9.3-5.el8 >  A `YZU]{WePk% \LR+k&KgOT@G)) gYBb!LrbFS*A>l+9vIp<#$?#d  A (` |   ^ l0P (  (&809 T:#GHIXY,\<]t^ bddeifllntuv w"@x"xy""""#Cfirewall-config0.9.35.el8Firewall configuration applicationThe firewall configuration application provides an configuration interface for firewalld.`Kx86-02.mbox.centos.orgCentOSCentOSGPLv2+CentOS Buildsys Unspecifiedhttp://www.firewalld.orglinuxnoarch  m ́큤`B`B`B`B`B`A`B`B`B`B`B`B`A`A542b86e7b2f4f5f32ff4fd2f1b4e0d8e93f5144a9ace4e5219b21a5f8483f3cf2b7c20a701682478e08c91d84f767c054f40368262a9f8bc7fdab92cd6fdeb1d92654f2a9bbb1f82ae2dacae50dd540ef05c6be4894bab0e7e1588ac1bb42f236d5b33efad002f15b318e63482706e01a2b1df6ed9b902970374b51a7234dfe7f06bca8b424798b7eab76800bbd9c9b6d8e31cc2615c0055f2e49d221c470eeb7f76ffea9100006823452188c954696a7c9dd92d6801937a23ecbcea2ca0323318536ed118fe42b6a27c94891454fdc709a79d4e34171048154b26c3fb2c9fe44ecf3ba61c8daac7e13a258c9bc490dd6692b0494a7f83b9ef655084146dec152732f3501a2b9262bb1458713f5f5a980655f7ef5d48cde66902643f6134bb4742de1cff244f46065694258388751f164866b9a8faaa6ae2494f2cbc5aceef511af9a194fca0292ebb1458274d5d874e4ca86aaf437a1a051ef6cf721ea70e546b9c7b22d21db4f44072f92bf8b71ed68df0dc8ea48a071e15d6d9298c0cc8edbfd0a863f55c88e29b59fa5c750832c235c1bc2d1f18ffc6804bd9aed783b681da605e96218fccdb19a26bc8d1e4cd09f6c8e5b53c4759377dd149538f01753brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfirewalld-0.9.3-5.el8.src.rpmapplication()application(firewall-config.desktop)firewall-configmetainfo()metainfo(firewall-config.appdata.xml)@    /usr/libexec/platform-pythonNetworkManager-libnmdbus-x11firewalldgtk3hicolor-icon-themepython3-gobjectrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)0.9.3-5.el83.0.4-14.6.0-14.0-15.2-14.14.3`````7@```_@_)M^^W@^8 @]ʞ]d@]R@]Ik]6]:]@\;(@\4\@\I[[[;@[\[ug@[r@[m~@[l,[CN@[?YZVZI@ZI@Z@Z}@Zz@Zz@ZOhZ6\@YYx@Y:XX+X@X@XOXEVX@X#X=W@W@WzOWs@WrfWL+@W0{Wo@WV@V@VVHVA@UU@UUa@Ua@UUzUzUKSU/@U@U@T@T@TLT=@S@S%@SSR@S@SSSR'R@RR@RxR_@RNRM\@RL RIgQQQ@QyQ@Q@QnQT0QIQ8@Q$Q@P@P@P@P @PpP~PIP3x@P(@P!@OOOc+@OaOU@OTOC@O1@O/MY@M!@M!@ME@Eric Garver - 0.9.3-5Eric Garver - 0.9.3-4Eric Garver - 0.9.3-3Eric Garver - 0.9.3-2Eric Garver - 0.9.3-1Eric Garver - 0.8.2-6Eric Garver - 0.8.2-5Eric Garver - 0.8.2-4Eric Garver - 0.8.2-3Eric Garver - 0.8.2-2Eric Garver - 0.8.2-1Eric Garver - 0.8.0-4Eric Garver - 0.8.0-3Eric Garver - 0.8.0-2Eric Garver - 0.8.0-1Eric Garver - 0.7.0-5Eric Garver - 0.7.0-4Eric Garver - 0.7.0-3Eric Garver - 0.7.0-2Eric Garver - 0.7.0-1Eric Garver - 0.6.3-7Eric Garver - 0.6.3-6Eric Garver - 0.6.3-5Eric Garver - 0.6.3-4Eric Garver - 0.6.3-3Eric Garver - 0.6.3-2Eric Garver - 0.6.3-1Eric Garver - 0.6.1-5Eric Garver - 0.6.1-4Eric Garver - 0.6.1-3Eric Garver - 0.6.1-2Eric Garver - 0.6.1-1Eric Garver - 0.6.0-2Eric Garver - 0.6.0-1Eric Garver - 0.6.0-0.1.alpha1Eric Garver - 0.5.2-3Eric Garver - 0.5.2-2Eric Garver - 0.5.2-1Igor Gnatenko - 0.5.1-2Eric Garver - 0.5.1-1Fedora Release Engineering - 0.4.4.5-6Igor Gnatenko - 0.4.4.5-5Zbigniew Jędrzejewski-Szmek - 0.4.4.5-4Thomas Woerner - 0.4.4.5-3Fedora Release Engineering - 0.4.4.5-2Thomas Woerner - 0.4.4.5-1Thomas Woerner - 0.4.4.4-1Thomas Woerner - 0.4.4.3-2Thomas Woerner - 0.4.4.3-1Fedora Release Engineering - 0.4.4.2-4Stratakis Charalampos - 0.4.4.2-3Thomas Woerner - 0.4.4.2-2Thomas Woerner - 0.4.4.2-1Thomas Woerner - 0.4.4.1-1Thomas Woerner - 0.4.4-1Thomas Woerner - 0.4.3.3-1Fedora Release Engineering - 0.4.3.2-2Thomas Woerner - 0.4.3.2-1Thomas Woerner - 0.4.3.1-2Thomas Woerner - 0.4.3.1-1Thomas Woerner - 0.4.2-1Thomas Woerner - 0.4.1.2-2Thomas Woerner - 0.4.1.2-1Thomas Woerner - 0.4.1-1Jiri Popelka - 0.4.0-4Jiri Popelka - 0.4.0-3Fedora Release Engineering - 0.4.0-2Thomas Woerner - 0.4.0-1Fedora Release Engineering - 0.3.14.2-5Adam Williamson - 0.3.14.2-4Thomas Woerner - 0.3.14.2-3Thomas Woerner - 0.3.14.2-2Thomas Woerner - 0.3.14.2-1Fedora Release Engineering - 0.3.14.1-3Stephen Gallagher 0.3.14.1-2Thomas Woerner - 0.3.14.1-1Thomas Woerner - 0.3.14-1Stephen Gallagher 0.3.13-7Stephen Gallagher 0.3.13-6Stephen Gallagher 0.3.13-5Stephen Gallagher 0.3.13-4Jiri Popelka - 0.3.13-3Thomas Woerner - 0.3.13-2Jiri Popelka - 0.3.13-1Jiri Popelka - 0.3.12-1Jiri Popelka - 0.3.11-3Jiri Popelka - 0.3.11-2Jiri Popelka - 0.3.11-1Thomas Woerner - 0.3.10-5Thomas Woerner - 0.3.10-4Thomas Woerner - 0.3.10-3Fedora Release Engineering - 0.3.10-2Jiri Popelka - 0.3.10-1Jiri Popelka - 0.3.9.3-1Jiri Popelka - 0.3.9.2-1Jiri Popelka - 0.3.9.1-1Jiri Popelka - 0.3.9-1Jiri Popelka - 0.3.8-1Jiri Popelka - 0.3.7-1Jiri Popelka - 0.3.6.2-1Jiri Popelka - 0.3.6.1-1Jiri Popelka - 0.3.6-1Jiri Popelka - 0.3.5-1Thomas Woerner 0.3.4-1Jiri Popelka Thomas Woerner 0.3.3-2Thomas Woerner 0.3.3-1Jiri Popelka - 0.3.2-2Jiri Popelka - 0.3.2-1Jiri Popelka - 0.3.1-2Thomas Woerner 0.3.1-1Thomas Woerner 0.3.0-1Jiri Popelka - 0.2.12-5Jiri Popelka - 0.2.12-4Fedora Release Engineering - 0.2.12-3Jiri Popelka - 0.2.12-2Thomas Woerner 0.2.12-1Thomas Woerner 0.2.11-2Thomas Woerner 0.2.11-1Thomas Woerner 0.2.10-1Thomas Woerner 0.2.9-1Thomas Woerner 0.2.8-1Jiri Popelka 0.2.7-2Thomas Woerner 0.2.7-1Thomas Woerner 0.2.6-1Thomas Woerner 0.2.5-1Thomas Woerner 0.2.4-1Thomas Woerner 0.2.3-1Thomas Woerner 0.2.2-1Thomas Woerner Thomas Woerner 0.2.1-1Thomas Woerner 0.2.0-2Thomas Woerner 0.2.0-1Thomas Woerner 0.1.3-1Thomas Woerner 0.1.2-1Thomas Woerner 0.1.1-1Thomas Woerner 0.1-1- docs(conf): note that IPv6_rpfilter has a performance penalty- fix(nm): reload: only consider NM connections with a real interface- fix(ipset): fix hash:net,net functionality- fix(direct): rule order with multiple address with -s/-d- rebase to v0.9.3 - fixes from upstream branch stable-0.9- feat(service): add galera service- fix(zone): add source with mac address- fix(rich): non-printable characters removed from rich- fix(nftables): packet marks with masks - fix(nftables): icmp types with code == 0 - fix(rich icmptype): verify rule and icmptype families - fix(zone): cache rule_str for rich rules - improvement(service): IPsec: Update description and add TCP port 4500 - feat(service): add collectd service - feat(service): Add rpc-rquotad.service- fix(cli): add ipset type hash:mac is incompatible with the family parameter - fix(cli): add --zone is an invalid option with --direct - fix: update dynamic DCE RPC ports in freeipa-trust service - fix: core: rich: Catch ValueError on non-numeric priority values - fix(rich): icmptypes with one family - fix(direct): rule in a zone chain - plus additional upstream stable fixes- rebase to v0.8.2- doc: direct: add CAVEATS section- restore zone drifting as a feature- fix: CLI: service: also output helpers for service info- rebase to v0.8.0- bump nftables version requirements- backport patches to sort source-based zone dispatch by zone name- backport patch to show service includes in service output - backport patches to fix dbus API break- package rebuild- rebase to v0.7.0- backport additional patches for RFC3964_IPv4 filter feature- backport nftables support for wildcard interfaces - backport RFC3964_IPv4 filter feature- backport fix for lost NM interfaces in default zone during reload- backport recent stable fixes - backport fix for lost NM interfaces during reload - backport rich rule priorities - backport fix for set entries not applied - update translations- backport FlushAllOnReload feature- use py3_shbang_opts for lockdown-whitelist - fix cockpit patch causing test failure- rebase package to v0.6.3 - use py3_shbang_opts for interpreter invocations- python3-firewalld can get by with python3-gobject-base - firewall-config can get by with python3-qt5-base- backports for new failed state if startup fails - backports to use explicit RETURN on user defined ebtables chains - backports to fix nftables AUDIT log support- drop support for ebtables broute table- add more ports to high-availability service- rebase to v0.6.1 - fix patch adding cockpit by default, fixes testsuite- Use correct conflicts version for cockpit-ws - Enable cockpit by default in some zones- rebase to v0.6.0- rebase to v0.6.0-alpha- remove fedora-isms and clean up spec file- remove python2-firewall subpackage- rebase package to v0.5.2- Escape macros in %changelog- rebase package to v0.5.1- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild- Remove obsolete scriptlets- Python 2 binary package renamed to python2-firewall See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3- Fix spec file for next RHEL versions- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild- Rebase to firewalld-0.4.4.5 http://www.firewalld.org/2017/06/firewalld-0-4-4-5-release - Fix build from spec - Fix –remove-service-from-zone option (RHBZ#1438127) - Support sctp and dccp in ports, source-ports, forward-ports, helpers and rich rules (RHBZ#1429808) - firewall-cmd: Fix –{set,get}-{short,description} for zone (RHBZ#1445238) - firewall.core.ipXtables: Use new wait option for restore commands if available - New services for oVirt: ctdb, ovirt-imageio, ovirt-storageconsole, ovirt-vmconsole and nrpe - Rename extension for policy choices (server and desktop) to .policy.choice (RHBZ#1449754) - D-Bus interfaces: Fix GetAll for interfaces without properties (RHBZ#1452017) - Load NAT helpers with conntrack helpers (RHBZ#1452681) - Translation updates - Additional upstream patches: - Rich-rule source validation (d69b7cb) - IPv6 ICMP type only rich-rule fix (cf50bd0)- Rebase to firewalld-0.4.4.4 http://www.firewalld.org/2017/03/firewalld-0-4-4-4-release - Drop references to fedorahosted.org from spec file and Makefile.am, use archive from github - Fix inconsistent ordering of rules in INPUT_ZONE_SOURCE (issue#166) - Fix ipset overloading from /etc/firewalld/ipsets - Fix permanent rich rules using icmp-type elements (RHBZ#1434594) - firewall-config: Deactivate edit, remove, .. buttons if there are no items - Check if ICMP types are supported by kernel before trying to use them - firewall-config: Show invalid ipset type in the ipset configuration dialog in a special label- Fixed ipset overloading, dropped applied check in get_ipset (issue#206)- Rebase to firewalld-0.4.4.3 http://www.firewalld.org/2017/02/firewalld-0-4-4-3-release - Speed up of large file loading - Support for more ipset types - Speed up of adding or removing entries for ipsets from files - Support icmp-type usage in rich rules - Support for more icmp types - Support for h323 conntrack helper - New services - Code cleanup and several other bug fixes - Translation updates- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild- Rebuild for Python 3.6- Dropping firewalld-selinux package again as the required fix made it into selinux-policy packages for F-23+, updated selinux-policy version conflicts- New firewalld-selinux sub package delivering the SELinux policy module for firewalld (RHBZ#1396765) (RHBZ#1394625) (RHBZ#1394578) (RHBZ#1394573) (RHBZ#1394569) - New firewalld release 0.4.4.2: - firewalld.spec: Added helpers and ipsets paths to firewalld-filesystem - firewall.core.fw_nm: create NMClient lazily - Do not use hard-coded path for modinfo, use autofoo to detect it - firewall.core.io.ifcfg: Dropped invalid option warning with bad format string - firewall.core.io.ifcfg: Properly handle quoted ifcfg values - firewall.core.fw_zone: Do not reset ZONE with ifdown - Updated translations from zanata - firewall-config: Extra grid at bottom to visualize firewalld settings- firewall-config: Use proper source check in sourceDialog (fixes issue#162) - firewallctl: New support for helpers - Translation updates- Fix dist-check - src/Makefile.am: Install new helper files - config/Makefile.am: Install helpers - Merged translations - Updated translations from zanata - firewalld.spec: Adapt requires for PyQt5 - firewall-applet: Fix fromUTF8 for python2 PyQt5 usage - firewall-applet: Use PyQt5 - firewall-config: New nf_conntrack_select dialog, use nf_conntrack_helpers D-Bus property - shell-completion/bash/firewall-cmd: Updates for helpers and also some fixes - src/tests/firewall-[offline-]cmd_test.sh: New helper tests, adapted module tests for services - doc/xml/seealso.xml: Add firewalld.helper(5) man page - doc/xml/seealso.xml: Add firewalld.ipset(5) man page - Fixed typo in firewalld.ipset(5) man page - Updated firewalld.dbus(5) man page - New firewalld.helper(5) man page - doc/xml/firewall-offline-cmd.xml: Updated firewall-offline-cmd man page - doc/xml/firewall-cmd.xml: Updated firewall-cmd man page - firewall-offline-cmd: New support for helpers - firewall-cmd: New support for helpers - firewall.command: New check_helper_family, check_module and print_helper_info methods - firewall.core.fw_test: Add helpers also to offline backend - firewall.server.config: New AutomaticHelpers property (rw) - firewall.server.config: Fix an dict size changed error for firewall.conf file changes - firewall.server.config: Make LogDenied property readwrite to be consistent - Some renames of nf_conntrack_helper* functions and structures, helpers is a dict - firewall.core.fw: Properly check helper setting in set_automatic_helpers - firewall.errors: Add missing BUILTIN_HELPER error code - No extra interface for helpers needed in runtime, dropped DBUS_INTERFACE_HELPER - firewall.server.firewalld: Drop unused queryHelper D-Bus method - New helpers Q.931 and RAS from nf_conntrack_h323 - firewall.core.io.helper: Allow dots in helper names, remove underscore - firewall.core.io.firewalld_conf: Fixed typo in FALLBACK_AUTOMATIC_HELPERS - firewall-[offline-]cmd: Use sys.excepthook to force exception_handler usage always - firewall.core.fw_config: new_X methods should also check builtins - firewall.client: Set helper family to "" if None - firewall.client: Add missing module string to FirewallClientHelperSettings.settings - config/firewalld.conf: Add possible values description for AutomaticHelpers - helpers/amanda.xml: Fix typo in helper module - firewall-config: Added support for helper module setting - firewall.client: Added support for helper module setting - firewall.server.config_helper: Added support for helper module setting - firewall.core.io.service, firewall.server.config_service: Only replace underscore by dash if module start with nf_conntrack_ - firewall.core.fw_zone: Use helper module instead of a generated name from helper name - helpers: Added kernel module - firewall.core.io.helper: Add module to helper - firewall-cmd: Removed duplicate --get-ipset-types from help output - firewall.core.fw_zone: Add zone bingings for PREROUTING in the raw table - firewall.core.ipXtables: Add PREROUTING default rules for zones in raw table - firewall-config: New support to handle helpers, new dialogs, new helper tab, .. - config/org.fedoraproject.FirewallConfig.gschema.xml.in: New show-helpers setting - firewall.client: New helper management for runtime and permanent configuration - firewall.server.firewalld: New runtime helper management, new nf_conntrack_helper property - firewall.server.config_service: Fix module name handling (no nf_conntrack_ prefix needed) - firewall.server.config: New permanent D-Bus helper management - New firewall.server.config_helper to provide the permanent D-Bus interface for helpers - firewall.core.fw_zone: Use helpers fw.nf_conntrack_helper for services using helpers - firewall.core.fw: New helper management, new _automatic_helpers and nf_conntrack_helper settings - firewall.core.fw_config: Add support for permanent helper handling - firewall.core.io.service: The module does not need to start with nf_conntrack_ anymore - firewall.functions: New functions to get and set nf_conntrack_helper kernel setting - firewall.core.io.firewalld_conf: New support for AutomaticHelpers setting - firewall.config.dbus: New D-Bus definitions for helpers, new DBUS_INTERFACE_REVISION 12 - New firewall.core.fw_helper providing FirewallHelper backend - New firewall.core.helper with HELPER_MAXNAMELEN definition - config/firewalld.conf: New AutomaticHelpers setting with description - firewall.config.__init__.py.in: New helpers variables - firewalld.spec: Add new helpers directory - config/Makefile.am: Install new helpers - New helper configuration files for amanda, ftp, irc, netbios-ns, pptp, sane, sip, snmp and tftp - firewall.core.io.helper: New IO handler for netfilter helpers - firewall.errors: New INVALID_HELPER error code - firewall.core.io.ifcfg: Use .bak for save files - firewall-config: Set internal log_denied setting after changing - firewall.server.config: Copy props before removing items - doc/xml/firewalld.ipset: Replaced icmptype name remains with ipset - firewall.core.fw_zone: Fix LOG rule placement for LogDenied - firewall.command: Use "source-ports" in print_zone_info - firewall.core.logger: Use syslog.openlog() and syslog.closelog() - firewall-[offline-]cmd man pages: Document --path-{zone,icmptype,ipset,service} - firewall-cmd: Enable --path-{zone,icmptype,service} options again - firewall.core.{ipXtables,ebtables}: Copy rule before extracting items in set_rules - firewall.core.fw: Do not abort transaction on failed ipv6_rpfilter rules - config/Makefile.am: Added cfengine, condor-collector and smtp-submission services - Makefile.am: New dist-check used in the archive target - src/Makefile.am: Reordered nobase_dist_python_DATA to be sorted - config/Makefile.am: New CONFIG_FILES variable to contain the config files - Merge pull request #150 from hspaans/master - Merge pull request #146 from canvon/bugfix/spelling - Merge pull request #145 from jcpunk/condor - Command line tools man pages: New section about sequence options and exit codes - Creating service file for SMTP-Submission. - Creating service file for CFEngine. - Fix typo in documentation: iptables mangle table - Only use sort on lists of main items, but not for item properties - firewall.core.io.io_object: import_config should not change ordering of lists - firewall.core.fw_transaction: Load helper modules in FirewallZoneTransaction - firewall.command: Fail with NOT_AUTHORIZED if authorization fails (RHBZ#1368549) - firewall.command: Fix sequence exit code with at least one succeeded item - Add condor collector service - firewall-cmd: Fixed --{get,set}-{description,short} for permanent zones - firewall.command: Do not use error code 254 for {ALREADY,NOT}_ENABLED sequences- Fix CVE-2016-5410: Firewall configuration can be modified by any logged in user - firewall/server/firewalld: Make getXSettings and getLogDenied CONFIG_INFO - Update AppData configuration file. - tests/firewalld_rich.py: Use new import structure and FirewallClient classes - tests/firewalld_direct.py: Use new import structure - tests: firewalld_direct: Fix assert to check for True instead of False - tests: firewalld_config: Fix expected value when querying the zone target - tests: firewalld_config: Use real nf_conntrack modules - firewalld.spec: Added comment about make call for %build - firewall-config: Use also width_request and height_request with default size - Updated firewall-config screenshot - firewall-cmd: Fixed typo in help output (RHBZ#1367171) - test-suite: Ignore stderr to get default zone also for missing firewalld.conf - firewall.core.logger: Warnings should be printed to stderr per default - firewall.core.fw_nm: Ignore NetworkManager if NM.Client connect fails - firewall-cmd, firewallctl: Gracefully fail if SystemBus can not be aquired - firewall.client: Generate new DBUS_ERROR if SystemBus can not be aquired - test-suite: Do not fail on ALREADY_ENABLED --add-destination tests - firewall.command: ALREADY_ENABLED, NOT_ENABLED, ZONE_ALREADY_SET are warnings - doc/xml/firewalld.dbus.xml: Removed undefined reference - doc/xml/transform-html.xsl.in: Fixed references in the document - doc/xml/firewalld.{dbus,zone}.xml: Embed programlisting in para - doc/xml/transform-html.xsl.in: Enhanced html formatting closer to the man page - firewall: core: fw_nm: Instantiate the NM client only once - firewall/core/io/*.py: Do not traceback on a general sax parsing issue - firewall-offline-cmd: Fix --{add,remove}-entries-from-file - firewall-cmd: Add missing action to fix --{add,remove}-entries-from-file - firewall.core.prog: Do not output stderr, but return it in the error case - firewall.core.io.ifcfg.py: Fix ifcfg file reader and writer (RHBZ#1362171) - config/firewall.service.in: use KillMode=mixed - config/firewalld.service.in: use network-pre.target - firewall-config: Add missing gettext.textdomain call to fix translations - Add UDP to transmission-client.xml service - tests/firewall-[offline-]cmd_test.sh: Hide errors and warnings - firewall.client: Fix ALREADY_ENABLED errors in icmptype destination calls - firewall.client: Fix NOT_ENABLED errors in icmptype destination calls - firewall.client: Use {ALREADY,NOT}_ENABLED errors in icmptype destination calls - firewall.command: Add the removed FirewallError handling to the action (a17ce50) - firewall.command: Do not use query methods for sequences and also single options - Add missing information about MAC and ipset sources to man pages and help output - firewalld.spec: Add BuildRequires for libxslt to enable rebuild of man pages - firewall[-offline]-cmd, firewallctl, firewall.command: Use sys.{stdout,stderr} - firewallctl: Fix traceback if not connected to firewalld - firewall-config: Initialize value in on_richRuleDialogElementChooser_clicked - firewall.command: Convert errors to string for Python3 - firewall.command: Get proper firewall error code from D-BusExceptions - firewall-cmd: Fixed traceback without args - Add missing service files to Makefile.am - shell-completion: Add shell completion support for --{get,set}--{description,short} - Updated RHEL-7 selinux-policy and squid conflict- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages- Fix regression with unavailable optional commands - All missing backend messages should be warnings - Individual calls for missing restore commands - Only one authenticate call for add and remove options and also sequences - New service RH-Satellite-6 - Fixed selinux-policy conflict version for RHEL-7- Fixed selinux-policy conflict version for Fedora 24- New firewalld release 0.4.3.1 - firewall.command: Fix python3 DBusException message not interable error - src/Makefile.am: Fix path in firewall-[offline-]cmd_test.sh while installing - firewallctl: Do not trace back on list command without further arguments - firewallctl (man1): Added remaining sections zone, service, .. - firewallctl: Added runtime-to-permanent, interface and source parser, IndividualCalls setting - firewall.server.config: Allow to set IndividualCalls property in config interface - Fix missing icmp rules for some zones - runProg: Fix issue with running programs - firewall-offline-cmd: Fix issues with missing system-config-firewall - firewall.core.ipXtables: Split up source and dest addresses for transaction - firewall.server.config: Log error in case of loading malformed files in watcher - Install and package the firewallctl man page - New firewallctl utility (RHBZ#1147959) - doc.xml.seealso: Show firewalld.dbus in See Also sections - firewall.core.fw_config: Create backup on zone, service, ipset and icmptype removal (RHBZ#1339251) - {zone,service,ipset,icmptype}_writer: Do not fail on failed backup - firewall-[offline-]cmd: Fix --new-X-from-file options for files in cwd - firewall-cmd: Dropped duplicate setType call in --new-ipset - radius service: Support also tcp ports (RBZ#1219717) - xmlschemas: Support source-port, protocol, icmp-block-inversion and ipset sources - config.xmlschema.service.xsd: Fix service destination conflicts (RHBZ#1296573) - firewall-cmd, firewalld man: Information about new NetworkManager and ifcfg - firewall.command: Only print summary and description in print_X_info with verbose - firewall.command: print_msg should be able to print empty lines - firewall-config: No processing of runtime passthroughs signals in permanent - Landspace.io fixes and pylint calm downs - firewall.core.io.zone: Add zone_reader and zone_writer to __all__, pylint fixes - firewall-config: Fixed titles of command and context dialogs, also entry lenths - firewall-config: pylint calm downs - firewall.core.fw_zone: Fix use of MAC source in rich rules without ipv limit - firewall-config: Use self.active_zoens in conf_zone_added_cb - firewall.command: New parse_port, extended parse methods with more checks - firewall.command: Fixed parse_port to use the separator in the split call - firewall.command: New [de]activate_exception_handler, raise error in parse_X - services ha: Allow corosync-qnetd port - firewall-applet: Support for kde5-nm-connection-editor - tests/firewall-offline-cmd_test.sh: New tests for service and icmptype modifications - firewall-offline-cmd: Use FirewallCommand for simplification and sequence options - tests/firewall-cmd_test.sh: New tests for service and icmptype modifications - firewall-cmd: Fixed set, remove and query destination options for services - firewall.core.io.service: Source ports have not been checked in _check_config - firewall.core.fw_zone: Method check_source_port is not used, removed - firewall.core.base: Added default to ZONE_TARGETS - firewall.client: Allow to remove ipv:address pair for service destinations - tests/firewall-offline-cmd_test.sh: There is no timeout option in permanent - firewall-cmd: Landscape.io fixes, pylint calm downs - firewall-cmd: Use FirewallCommand for simplification and sequence options - firewall.command: New FirewallCommand for command line client simplification - New services: kshell, rsh, ganglia-master, ganglia-client - firewalld: Cleanup of unused imports, do not translate some deamon messages - firewalld: With fd close interation in runProg, it is not needed here anymore - firewall.core.prog: Add fd close iteration to runProg - firewall.core.fw_nm: Hide NM typelib import, new nm_get_dbus_interface function - firewalld.spec: Require NetworkManager-libnm instead of NetworkManager-glib - firewall-config: New add/remove ipset entries from file, remove all entries - firewall-applet: Fix tooltip after applet start with connection to firewalld - firewall-config: Select new zone, service or icmptype if the view was empty - firewalld.spec: Added build requires for iptables, ebtables and ipset - Adding nf_conntrack_sip module to the service SIP - firewall: core: fw_ifcfg: Quickly return if ifcfg directory does not exist - Drop unneeded python shebangs - Translation updates- New module to search for and change ifcfg files for interfaces not under control of NM - firewall_config: Enhanced messages in status bar - firewall-config: New message window as overlay if not connected - firewall-config: Fix sentivity of option, view menus and main paned if not connected - firewall-applet: Quit on SIGINT (Ctrl-C), reduced D-Bus calls, some cleanup - firewall-[offline]cmd: Show target in zone information - D-Bus: Completed masquerade methods in FirewallClientZoneSettings - Fixed log-denied rules for icmp-blocks - Keep sorting of interfaces, services, icmp-blocks and other settings in zones - Fixed runtime-to-permanent not to save interfaces under control of NM - New icmp-block-inversion flag in the zones - ICMP type filtering in the zones - New services: sip, sips, managesieve - rich rules: Allow destination action (RHBZ#1163428) - firewall-offline-cmd: New option -q/--quiet - firewall-[offline-]cmd: New --add-[zone,service,ipset,icmptype]-from-file - firewall-[offline-]cmd: Fix option for setting the destination address - firewall-config: Fixed resizing behaviour - New transaction model for speed ups in start, restart, stop and other actions - firewall-cmd: New options --load{zone,service,ipset,icmptype}-defaults - Fixed memory leak in dbus_introspection_add_properties - Landscape.io fixes, pylint calm downs - New D-Bus getXnames methods to speed up firewall-config and firewall-cmd - ebtables-restore: No support for COMMIT command - Source port support in services, zones and rich rules - firewall-offline-cmd: Added --{add,remove}-entries-from-file for ipsets - firewall-config: New active bindings side bar for simple binding changes - Reworked NetworkManager module - Proper default zone handling for NM connections - Try to set zone binding with NM if interface is under control of NM - Code cleanup and bug fixes - Include test suite in the release and install in /usr/share/firewalld/tests - New Travis-CI configuration file - Fixed more broken frensh translations - Translation updates- Fixed ebtables-restore does not support the COMMIT command issue- Fixed translations with python3 - Fixed exception for failed NM import, new doc string - Make ipsets visible per default in firewall-config - Install new fw_nm module - Do not fail if log file could not be opened - Fixed broken fr translation- Enhancements of ipset handling - No cleanup of ipsets using timeouts while reloading - Only destroy conflicting ipsets - Only use ipset types supported by the system - Add and remove several ipset entries in one call using a file - Reduce time frame where builtin chains are on policy DROP while reloading - Include descriptions in --info-X calls - Command line interface support to get and alter descriptions of zones, services, ipsets and icmptypes with permanent option - Properly watch changes in combined zones - Fix logging in rich rule forward rules - Transformed direct.passthrough errors into warnings - Rework of import structures - Reduced calls to get ids for port and protocol names (RHBZ#1305434) - Build and installation fixes by Markos Chandras - Provide D-Bus properties in introspection data - Fix for flaws found by landscape.io - Fix for repeated SUGHUP - New NetworkManager module to get and set zones of connections, used in firewall-applet and firewall-config - configure: Autodetect backend tools ({ip,ip6,eb}tables{,-restore}, ipset) - Code cleanups - Bug fixes- Revert one commit to temporary work-around RHBZ#1309754- Make sure tempdir is created even in offline mode. (RHBZ#1305175)- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild- Version 0.4.0 - Speed ups - ipset support - MAC address support - Log of denied packets - Mark action in rich rules - Enhanced alteration of config files with command line tools - Use of zone chains in direct interface - firewall-applet enhancement - New services: ceph-mon, ceph, docker-registry, imap, pop3, pulseaudio, smtps, snmptrap, snmp, syslog-tls and syslog - Several bug fixes - Code optimizations- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5- bump versions on old config package obsoletes (f21 is on 0.3.14 now)- Require python3-gobject-base for fedora >= 23 and rhel >= 8 (RHBZ#1242076) - Fix rhel defines: No python3 for rhel-7- Fixed 'pid_file' referenced before assignment (RHBZ#1233232)- reunification of the firewalld spec files for all Fedora releases - fix dependencies for -applet and -config: use_python3 is the proper switch not with_python3 (RHBZ#1232493) - firewalld.spec: - fixed requirements for -applet and -config - man pages: - adapted firewall-applet man page to new version - firewall-applet: - Only honour active connections for zone changes - Change QSettings path and file names - firewall-config: - Only honour active connections for zone changes in the “Change Zones of Connections” menu - Translations: - updated translations - marked translations for “Connections” for review- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild- Fix issue with missing polkit policy when installing firewalld on Cloud Edition.- firewall-applet - do not use isSystemTrayAvailable check to fix KDE5 startup - dropped gtk applet remain: org.fedoraproject.FirewallApplet.gschema.xml- renamed python2-firewall to python-firewall - fixed requirements for GUI parts with Python3 - dropped upstream merged python3 patch - firewalld: - print real zone names in error messages - iptables 1.4.21 does not accept limits of 1/day, minimum is 2/day now - rate limit fix for rich rules - fix readdition of removed permanent direct settings - adaption of the polkit domains to use PK_ACTION_DIRECT_INFO - fixed two minor Python3 issues in firewall.core.io.direct - fixed use of fallback configuration values - fixed use without firewalld.conf - firewalld main restructureization - IPv6_rpfilter now also available as a property on D-Bus in the config interface - fixed wait option use for ipXtables - added --concurrent support for ebtables - richLanguage: allow masquerading with destination - richLanguage: limit masquerading forward rule to new connections - ipXtables: No dns lookups in available_tables and _detect_wait_option - full ebtables support: start, stop, reload, panic mode, direct chains and rules - fix for reload with direct rules - fix or flaws found by landscape.io - pid file handling fixes in case of pid file removal - fix for client issue in case of a dbus NoReply error - configuration - new services: dropbox-lansync, ptp - new icmptypes: timestamp-request, timestamp-reply - man pages: - firewalld.zones(5): fixed typos - firewalld.conf(5): Fixed wrong reference to firewalld.lockdown-whitelist page - firewall-applet: - new version using Qt4 fixing several issues with the Gtk version - spec file: - enabled Python3 support: new backends python-firewall and python3-firewall - some cleanup - git: - migrated to github - translations: - migrated to zanata - build environment: - no need for autoconf-2.69, 2.68 is sufficient- Use VARIANT_ID instead of VARIANT for making decisions- Switch to using $VARIANT directly from /etc/os-release- Fix bugs with posttrans - Remove nonexistent fedora-cloud.conf symlink- Remove per-edition config files - Decide on default configuration based on /etc/os-release- use python3 bindings on fedora >=23- enable python2 and python3 bindings for fedora >= 20 and rhel >= 7 - use python3 bindings on fedora >= 22 and rhel >= 8 for firewalld, firewall-config and firewall-applet- firewalld: - ipXtables: use -w or -w2 if supported (RHBZ#1161745, RHBZ#1151067) - DROP INVALID packets (RHBZ#1169837) - don't use ipv6header for protocol matching. (RHBZ#1065565) - removeAllPassthroughs(): remove passthroughs in reverse order (RHBZ#1167100) - fix config.service.removeDestination() (RHBZ#1164584) - firewall-config: - portProtoDialog: other protocol excludes port number/range - better fix for updating zoneStore also in update_active_zones() - fix typo in menu - configuration: - new services: tinc, vdsm, mosh, iscsi-target, rsyncd - ship and install XML Schema files. (#8) - man pages: - firewalld.dbus, firewalld.direct, firewalld, firewall-cmd - spec file: - filesystem subpackage - make dirs&files in /usr/lib/ world-readable (RHBZ#915988)- firewalld: - new runtimeToPermanent and tracked passsthrough support - make permanent D-Bus interfaces more fine grained like the runtime versions (RHBZ#1127706) - richLanguage: allow using destination with forward-port - Rich_Rule.check(): action can't be used with icmp-block/forward-port/masquerade - fixed Python specific D-Bus exception (RHBZ#1132441) - firewall-cmd: - new --runtime-to-permanent to create permanent from runtime configuration - use new D-Bus methods for permanent changes - show target REJECT instead of %REJECT% (RHBZ#1058794) - --direct: make fail messages consistent (RHBZ#1141835) - firewall-config: - richRuleDialog - OK button tooltip indicates problem - use new D-Bus methods for permanent changes - show target REJECT instead of %REJECT% (RHBZ#1058794) - update "Change Zones of Connections" menu on default zone change (RHBZ#11120212) - fixed rename of zones, services and icmptypes to not create new entry (RBHZ#1131064) - configuration: - new service for Squid HTTP proxy server - new service for Kerberos admin server - new services for syslog and syslog-tls - new services for SNMP and SNMP traps - add Keywords to .desktop to improve software searchability - docs: - updated translations - firewalld.richlanguage: improvements suggested by Rufe Glick - firewalld.dbus: various improvements - firewalld.zone: better description of Limit tag - mention new homepage everywhere- Quiet systemctl if cups-browsed.service is not installed- add few Requires to spec (RHBZ#1133167)- firewalld: - improve error messages - check built-in chains in direct chain handling functions (RHBZ#1120619) - dbus_to_python() check whether input is of expected type (RHBZ#1122018) - handle negative timeout values (RHBZ#1124476) - warn when Command/Uid/Use/Context already in lockdown whitelist (RHBZ#1126405) - make --lockdown-{on,off} work again (RHBZ#1111573) - firewall-cmd: - --timeout now accepts time units (RHBZ#994044) - firewall-config: - show active (not default) zones in bold (RHBZ#993655) - configuration: - remove ipp-client service from all zones (RHBZ#1105639). - fallbacks for missing values in firewalld.conf - create missing dirs under /etc if needed - add -Es to python command in lockdown-whitelist.xml (RHBZ#1099065) - docs: - 'direct' methods concern only chains/rules added via 'direct' (RHBZ#1120619) - --remove-[interface/source] don't need a zone to be specified (RHBZ#1125851) - various fixes in firewalld.zone(5), firewalld.dbus(5), firewalld.direct(5) - others: - rpm macros for easier packaging of e.g. services- Fixed wrong default zone names for server and workstation (RHBZ#1120296)- renamed fedora specific zones to FedoraServer and FedoraWorkstation for zone name limitations (length and allowed chars)- New support for Fedora per-product configuration settings for Fedora.next https://fedoraproject.org/wiki/Per-Product_Configuration_Packaging_Draft - Added Fedora server zone (RHBZ#1110711) - Added Fedora workstation zone(RHBZ#1113775)- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild- new services: freeipa-*, puppermaster, amanda-k5, synergy, xmpp-*, tor, privoxy, sane - do not use at_console in D-Bus policies (RHBZ#1094745) - apply all rich rules for non-default targets - AppData file (RHBZ#1094754) - separate Polkit actions for desktop & server (RHBZ#1091068) - sanitize missing ip6t_rpfilter (RHBZ#1074427) - firewall/core/io/*: few improvements (RHBZ#1065738) - no load failed error for absent direct.xml file - new DBUS_INTERFACE.getZoneSettings to get all run-time zone settings - fixed creation and deletion of zones, services and icmptypes over D-Bus signals - FirewallClientZoneSettings: Set proper default target - if Python2 then encode strings from sax parser (RHBZ#1059104, RHBZ#1058853) - firewall-cmd: - don't colour output of query commands (RHBZ#1097841) - use "default" instead of {chain}_{zone} (RHBZ#1075675) - New --get-target and --set-target - Create and remove permanent zones, services and icmptypes - firewall-config: - Adding services and icmptypes resulted in duplicates in UI - Use left button menu of -applet in Option menu - firewall-offline-cmd: same functionality as 'firewall-cmd --permanent' - firewall-applet: ZoneConnectionEditor was missing the Default Zone entry - bash-completion: getting zones/services/icmps is different with/without --permanent - firewalld.zone(5): removed superfluous slash (RHBZ#1091575) - updated translations- Fixed persistent port forwarding (RHBZ#1056154) - Stop default zone rules being applied to all zones (RHBZ#1057875) - Enforce trust, block and drop zones in the filter table only (RHBZ#1055190) - Allow RAs prior to applying IPv6_rpfilter (RHBZ#1058505) - Fix writing of rule.audit in zone_writer()- fix regression introduced in 0.3.9 (RHBZ#1053932)- fix regressions introduced in 0.3.9 (RHBZ#1054068, RHBZ#1054120)- translation updates - New IPv6_rpfilter setting to enable source address validation (RHBZ#847707) - Do not mix original and customized zones in case of target changes, apply only used zones - firewall-cmd: fix --*_lockdown_whitelist_uid to work with uid 0 - Don't show main window maximized. (RHBZ#1046811) - Use rmmod instead of 'modprobe -r' (RHBZ#1031102) - Deprecate 'enabled' attribute of 'masquerade' element - firewall-config: new zone was added twice to the list - firewalld.dbus(5) - Enable python shebang fix again - firewall/client: handle_exceptions: Use loop in decorator - firewall-offline-cmd: Do not mask firewalld service with disabled option - firewall-config: richRuleDialogActionRejectType Entry -> ComboBox - Rich_Rule: fix parsing of reject element (RHBZ#1027373) - Show combined zones in permanent configuration (RHBZ#1002016) - firewall-cmd(1): document exit code 2 and colored output (RHBZ#1028507) - firewall-config: fix RHBZ#1028853- fix memory leaks - New option --debug-gc - Python3 compatibility - Better non-ascii support - several firewall-config & firewall-applet fixes - New --remove-rules commands for firewall-cmd and removeRules methods for D-Bus - Fixed FirewallDirect.get_rules to return proper list - Fixed LastUpdatedOrderedDict.keys() - Enable rich rule usage in trusted zone (RHBZ#994144) - New error codes: INVALID_CONTEXT, INVALID_COMMAND, INVALID_USER and INVALID_UID- Don't fail on missing ip[6]tables/ebtables table. (RHBZ#967376) - bash-completion: --permanent --direct options - firewall/core/fw.py: fix checking for iptables & ip6tables (RHBZ#1017087) - firewall-cmd: use client's exception_handler instead of catching exceptions ourselves - FirewallClientZoneSettings: fix {add|remove|query}RichRule() - Extend amanda-client service with 10080/tcp (RHBZ#1016867) - Simplify Rich_Rule()_lexer() by using functions.splitArgs() - Fix encoding problems in exception handling (RHBZ#1015941)- firewall-offline-cmd: --forward-port 'toaddr' is optional (RHBZ#1014958) - firewall-cmd: fix variable name (RHBZ#1015011)- remove superfluous po files from archive- firewalld.richlanguage.xml: correct log levels (RHBZ#993740) - firewall-config: Make sure that all zone settings are updated properly on firewalld restart - Rich_Limit: Allow long representation for duration (RHBZ#994103 - firewall-config: Show "Changes applied." after changes (RHBZ#993643) - Use own connection dialog to change zones for NM connections - Rename service cluster-suite to high-availability (RHBZ#885257) - Permanent direct support for firewall-config and firewall-cmd - Try to avoid file descriptor leaking (RHBZ#951900) - New functions to split and join args properly (honoring quotes) - firewall-cmd(1): 2 simple examples - Better IPv6 NAT checking. - Ship firewalld.direct(5).- Only use one PK action for configuration (RHBZ#994729) - firewall-cmd: indicate non-zero exit code with red color - rich-rule: enable to have log without prefix & log_level & limit - log-level warn/err -> warning/error (RHBZ#1009436) - Use policy DROP while reloading, do not reset policy in restart twice - Add _direct chains to all table and chain combinations - documentation improvements - New firewalld.direct(5) man page docbook source - tests/firewall-cmd_test.sh: make rich language tests work - Rich_Rule._import_from_string(): improve error messages (RHBZ#994150) - direct.passthrough wasn't always matching out_signature (RHBZ#967800) - firewall-config: twist ICMP Type IP address family logic. - firewall-config: port-forwarding/masquerading dialog (RHBZ#993658) - firewall-offline-cmd: New --remove-service= option (BZ#969106) - firewall-config: Options->Lockdown was not changing permanent. - firewall-config: edit line on doubleclick (RHBZ#993572) - firewall-config: System Default Zone -> Default Zone (RHBZ#993811) - New direct D-Bus interface, persistent direct rule handling, enabled passthough - src/firewall-cmd: Fixed help output to use more visual parameters - src/firewall-cmd: New usage output, no redirection to man page anymore - src/firewall/core/rich.py: Fixed forwad port destinations - src/firewall-offline-cmd: Early enable/disable handling now with mask/unmask - doc/xml/firewalld.zone.xml: Added more information about masquerade use - Prefix to log message is optional (RHBZ#998079) - firewall-cmd: fix --permanent --change-interface (RHBZ#997974) - Sort zones/interfaces/service/icmptypes on output. - wbem-https service (RHBZ#996668) - applet&config: add support for KDE NetworkManager connection editor - firewall/core/fw_config.py: New method update_lockdown_whitelist - Added missing file watcher for lockdown whitelist in config D-Bus interface - firewall/core/watcher: New add_watch_file for lockdown-whitelist and direct - Make use of IPv6 NAT conditional, based on kernel number (RHBZ#967376)- several rich rule check enhancements and fixes - firewall-cmd: direct options - check ipv4|ipv6|eb (RHBZ#970505) - firewall-cmd(1): improve description of direct options (RHBZ#970509) - several firewall-applet enhancements and fixes - New README - several doc and man page fixes - Service definitions for PCP daemons (RHBZ#972262) - bash-completion: add lockdown and rich language options - firewall-cmd: add --permanent --list-all[-zones] - firewall-cmd: new -q/--quiet option - firewall-cmd: warn when default zone not active (RHBZ#971843) - firewall-cmd: check priority in --add-rule (RHBZ#914955) - add dhcpv6 (for server) service (RHBZ#917866) - firewall-cmd: add --permanent --get-zone-of-interface/source --change-interface/source - firewall-cmd: print result (yes/no) of all --query-* commands - move permanent-getZoneOf{Interface|Source} from firewall-cmd to server - Check Interfaces/sources when updating permanent zone settings. - FirewallDConfig: getZoneOfInterface/Source can actually return more zones - Fixed toaddr check in forward port to only allow single address, no range - firewall-cmd: various output improvements - fw_zone: use check_single_address from firewall.functions - getZoneOfInterface/Source does not need to throw exception - firewall.functions: Use socket.inet_pton in checkIP, fixed checkIP*nMask - firewall.core.io.service: Properly check port/proto and destination address - Install applet desktop file into /etc/xdg/autostart - Fixed option problem with rich rule destinations (RHBZ#979804) - Better exception creation in dbus_handle_exceptions() decorator (RHBZ#979790) - Updated firewall-offline-cmd - Use priority in add, remove, query and list of direct rules (RHBZ#979509) - New documentation (man pages are created from docbook sources) - firewall/core/io/direct.py: use prirority for rule methods, new get_all_ methods - direct: pass priority also to client.py and firewall-cmd - applet: New blink and blink-count settings - firewall.functions: New function ppid_of_pid - applet: Check for gnome3 and fix it, use new settings, new size-changed cb - firewall-offline-cmd: Fix use of systemctl in chroot - firewall-config: use string.ascii_letters instead of string.letters - dbus_to_python(): handle non-ascii chars in dbus.String. - Modernize old syntax constructions. - dict.keys() in Python 3 returns a "view" instead of list - Use gettext.install() to install _() in builtins namespace. - Allow non-ascii chars in 'short' and 'description' - README: More information for "Working With The Source Repository" - Build environment fixes - firewalld.spec: Added missing checks for rhel > 6 for pygobject3-base - firewall-applet: New setting show-inactive - Don't stop on reload when lockdown already enabled (RHBZ#987403) - firewall-cmd: --lockdown-on/off did not touch firewalld.conf - FirewallApplet.gschema.xml: Dropped unused sender-info setting - doc/firewall-applet.xml: Added information about gsettings - several debug and log message fixes - Add chain for sources so they can be checked before interfaces (RHBZ#903222) - Add dhcp and proxy-dhcp services (RHBZ#986947) - io/Zone(): don't error on deprecated family attr of source elem - Limit length of zone file name (to 12 chars) due to Netfilter internals. - It was not possible to overload a zone with defined source(s). - DEFAULT_ZONE_TARGET: {chain}_ZONE_{zone} -> {chain}_{zone} - New runtime getSettings for services and icmptypes, fixed policies callbacks - functions: New functions checkUser, checkUid and checkCommand - src/firewall/client: Fixed lockdown-whitelist-updated signal handling - firewall-cmd(1): move firewalld.richlanguage(5) reference in --*-rich-rule - Rich rule service: Only add modules for accept action - firewall/core/rich: Several fixes and enhanced checks - Fixed reload of direct rules - firewall/client: New functions to set and get the exception handler - firewall-config: New and enhanced UI to handle lockdown and rich rules - zone's immutable attribute is redundant - Do not allow to set settings in config for immutable zones. - Ignore deprecated 'immutable' attribute in zone files. - Eviscerate 'immutable' completely. - FirewallDirect.query_rule(): fix it - permanent direct: activate firewall.core.io.direct:Direct reader - core/io/*: simplify getting of character data - FirewallDirect.set_config(): allow reloading- Remove migrating to a systemd unit file from a SysV initscript - Remove pointless "ExclusiveOS" tag- Fixed rich rule check for use in D-Bus- new service files - relicensed logger.py under GPLv2+ - firewall-config: sometimes we don't want to use client's exception handler - When removing Service/IcmpType remove it from zones too (RHBZ#958401) - firewall-config: work-around masquerade_check_cb() being called more times - Zone(IO): add interfaces/sources to D-Bus signature - Added missing UNKNOWN_SOURCE error code - fw_zone.check_source: Raise INVALID_FAMILY if family is invalid - New changeZoneOfInterface method, marked changeZone as deprecated - Fixed firewall-cmd man page entry for --panic-on - firewall-applet: Fixed possible problems of unescaped strings used for markup - New support to bind zones to source addresses and ranges (D-BUS, cmd, applet - Cleanup of unused variables in FirewallD.start - New firewall/fw_types.py with LastUpdatedOrderedDict - direct.chains, direct.rules: Using LastUpdatedOrderedDict - Support splitted zone files - New reader and writer for stored direct chains and rules - LockdownWhitelist: fix write(), add get_commands/uids/users/contexts() - fix service_writer() and icmptype_writer() to put newline at end of file - firewall-cmd: fix --list-sources - No need to specify whether source address family is IPv4 or IPv6 - add getZoneOfSource() to D-Bus interface - Add tests and bash-completion for the new "source" operations - Convert all input args in D-Bus methods - setDefaultZone() was calling accessCheck() *after* the action - New uniqify() function to remove duplicates from list whilst preserving order - Zone.combine() merge also services and ports - config/applet: silence DBusException during start when FirewallD is not running (RHBZ#966518) - firewall-applet: more fixes to make the address sources family agnostic - Better defaults for lockdown white list - Use auth_admin_keep for allow_any and allow_inactive also - New D-Bus API for lockdown policies - Use IPv4, IPv6 and BRIDGE for FirewallD properties - Use rich rule action as audit type - Prototype of string-only D-Bus interface for rich language - Fixed wrongly merged source family check in firewall/core/io/zone.py - handle_cmr: report errors, cleanup modules in error case only, mark handling - Use audit type from rule action, fixed rule output - Fixed lockdown whitelist D-Bus handling method names - New rich rule handling in runtime D-Bus interface - Added interface, source and rich rule handling (runtime and permanent) - Fixed dbus_obj in FirewallClientConfigPolicies, added queryLockdown - Write changes in setLockdownWhitelist - Fixed typo in policies log message in method calls - firewall-cmd: Added rich rule, lockdown and lockdown whitelist handling - Don't check access in query/getLockdownWhitelist*() - firewall-cmd: Also output masquerade flag in --list-all - firewall-cmd: argparse is able to convert argument to desired type itself - firewall-cmd_test.sh: tests for permanent interfaces/sources and lockdown whitelist - Makefile.am: add missing files - firewall-cmd_test.sh: tests for rich rules - Added lockdown, source, interface and rich rule docs to firewall-cmd - Do not masquerade lo if masquerade is enabled in the default zone (RHBZ#904098) - Use in metavar for firewall-cmd parser- removed unintentional en_US.po from tarball- Fix signal handling for SIGTERM - Additional service files (RHBZ#914859) - Updated po files - s/persistent/permanent/ (Trac Ticket #7) - Better behaviour when running without valid DISPLAY (RHBZ#955414) - client.handle_exceptions(): do not loop forever - Set Zone.defaults in zone_reader (RHBZ#951747) - client: do not pass the dbus exception name to handler - IO_Object_XMLGenerator: make it work with Python 2.7.4 (RHBZ#951741) - firewall-cmd: do not use deprecated BaseException.message - client.py: fix handle_exceptions() (RHBZ#951314) - firewall-config: check zone/service/icmptype name (RHBZ#947820) - Allow 3121/tcp (pacemaker_remote) in cluster-suite service. (RHBZ#885257) - firewall-applet: fix default zone hangling in 'shields-up' (RHBZ#947230) - FirewallError.get_code(): check for unknown error- Make permanenent changes work with Python 2.7.4 (RHBZ#951741)- Use explicit file lists for make dist - New rich rule validation check code - New global check_port and check_address functions - Allow source white and black listing with the rich rule - Fix error handling in case of unsupported family in rich rule - Enable ip_forwarding in masquerade and forward-port - New functions to read and write simple files using filename and content - Add --enable-sysconfig to install Fedora-specific sysconfig config file. - Add chains for security table (RHBZ#927015) - firewalld.spec: no need to specify --with-systemd-unitdir - firewalld.service: remove syslog.target and dbus.target - firewalld.service: replace hard-coded paths - Move bash-completion to new location. - Revert "Added configure for new build env" - Revert "Added Makefile.in files" - Revert "Added po/Makefile.in.in" - Revert "Added po/LINGUAS" - Revert "Added aclocal.m4" - Amend zone XML Schema- Added rich language support - Added lockdown feature - Allow to bind interfaces and sources to zones permanently - Enabled IPv6 NAT support masquerading and port/packet forwarding for IPv6 only with rich language - Handle polkit errors in client class and firewall-config - Added priority description for --direct --add-rule in firewall-cmd man page - Add XML Schemas for zones/services/icmptypes XMLs - Don't keep file descriptors open when forking - Introduce --nopid option for firewalld - New FORWARD_IN_ZONES and FORWARD_OUT_ZONES chains (RHBZ#912782) - Update cluster-suite service (RHBZ#885257) - firewall-cmd: rename --enable/disable-panic to --panic-on/off (RHBZ#874912) - Fix interaction problem of changed event of gtk combobox with polkit-kde by processing all remaining events (RHBZ#915892) - Stop default zone rules being applied to all zones (RHBZ#912782) - Firewall.start(): don't call set_default_zone() - Add wiki's URL to firewalld(1) and firewall-cmd(1) man pages - firewalld-cmd: make --state verbose (RHBZ#886484) - improve firewalld --help (RHBZ#910492) - firewall-cmd: --add/remove-* can be used multiple times (RHBZ#879834) - Continue loading zone in case of wrong service/port etc. (RHBZ#909466) - Check also services and icmptypes in Zone() (RHBZ#909466) - Increase the maximum length of the port forwarding fields from 5 to 11 in firewall-config - firewall-cmd: add usage to fail message - firewall-cmd: redefine usage to point to man page - firewall-cmd: fix visible problems with arg. parsing - Use argparse module for parsing command line options and arguments - firewall-cmd.1: better clarify where to find ACTIONs - firewall-cmd Bash completion - firewall-cmd.1: comment --zone= usage and move some options - Use zone's target only in %s_ZONES chains - default zone in firewalld.conf was set to public with every restart (#902845) - man page cleanup - code cleanup- Another fix for RHBZ#912782- Stop default zone rules being applied to all zones (RHBZ#912782)- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild- Default zone in firewalld.conf was reseted with every restart (RHBZ#902845) - Add icon cache related scriptlets for firewall-config (RHBZ#902680) - Fix typo in firewall-config (RHBZ#895812) - Fix few mistakes in firewall-cmd(1) man page- firewall-cmd: use -V instead of -v for version info (RHBZ#886477) - firewall-cmd: don't check reload()'s return value (RHBZ#886461) - actually install firewalld.zones.5 - firewall-config: treat exceptions when adding new zone/service/icmp (RHBZ#886602) - firewalld.spec: Fixed requirements of firewall-config to use gtk2 and pygobject3 - Fail gracefully when running in non X environment.(RHBZ#886551) - offline-cmd: fail gracefully when no s-c-f config - fix duplicated iptables rules (RHBZ#886515) - detect errors and duplicates in config file (RHBZ#886581) - firewall-config: don't make 'Edit Service' and 'Edit ICMP Type' insensitive - firewalld.spec: fixed requirements, require pygobject3-base - frewall-applet: Unused code cleanup - firewall-applet: several usability fixes and enhancements (RHBZ#886531) (RHBZ#886534) - firewall/server/server.py: fixed KeyboardInterrupt message (RHBZ#886558) - Moved fallback zone and minimal_mark to firewall.config.__init__ - Do not raise ZONE_ALREADY_SET in change_zone if old zone is set again (RHBZ#886432) - Make default zone default for all unset connections/interfaces (RHBZ#888288) (RHBZ#882736) - firewall-config: Use Gtk.MessageType.WARNING for warning dialog - firewall-config: Handle unknown services and icmptypes in persistent mode - firewall-config: Do not load settings more than once - firewall-config: UI cleanup and fixes (RHBZ#888242) - firewall-cmd: created alias --change-zone for --change-interface - firewall-cmd man page updates (RHBZ#806511) - Merged branch 'build-cleanups' - dropped call to autogen.sh in build stage, not needed anymore due to 'build-cleanups' merge- require pygobject3-base instead of pygobject3 (no cairo needed) (RHBZ#874378) - fixed dependencies of firewall-config to use gtk3 with pygobject3-base and not pygtk2- Fixed more _xmlplus (PyXML) incompatibilities to python xml - Several man page updates - Fixed error in addForwardPort, removeForwardPort and queryForwardPort - firewall-cmd: use already existing queryForwardPort() - Update firewall.cmd man page, use man page as firewall-cmd usage (rhbz#876394) - firewall-config: Do not force to show labels in the main toolbar - firewall-config: Dropped "Change default zone" from toolbar - firewall-config: Added menu entry to change zones of connections - firewall-applet: Zones can be changed now using nm-connection-editor (rhbz#876661) - translation updates: cs, hu, ja- tests/firewalld_config.py: tests for config.service and config.icmptype - FirewallClientConfigServiceSettings(): destinations are dict not list - service/zone/icmptype: do not write deprecated name attribute - New service ntp - firewall-config: Fixed name of about dialog - configure.in: Fixed getting of error codes - Added coding to all pyhton files - Fixed copyright years - Beautified file headers - Force use of pygobject3 in python-slip (RHBZ#874378) - Log: firewall.server.config_icmptype, firewall.server.config_service and firewall.server.config_zone: Prepend full path - Allow ":" in interface names for interface aliases - Add name argument to Updated and Renamed signal - Disable IPv4, IPv6 and EB tables if missing - for IPv4/IPv6 only environments - firewall-config.glade file cleanup - firewall-config: loadDefaults() can throw exception - Use toolbars for Add/Edit/Remove/LoadDefaults buttons for zones, services and icmp types - New vnc-server service, opens ports for displays :0 to :3 (RHBZ#877035) - firewall-cmd: Fix typo in help output, allow default zone usage for permanenent options - Translation updates: cs, fr, ja, pt_BR and zh_CN- firewall-config: some UI usability changes - firewall-cmd: New option --list-all-zones, output of --list-all changed, more option combination checks - firewall-applet: Replaced NMClient by direct DBUS calls to fix python core dumps in case of connection activates/deactivates - Use fallback 'C' locale if current locale isn't supported (RHBZ#860278) - Add interfaces to zones again after reload - firewall-cmd: use FirewallClient().connected value - firewall-cmd: --remove-interface was not working due to a typo - Do not use restorecon for new and backup files - Fixed use of properties REJECT and DROP - firewalld_test.py: check interfaces after reload - Translation updates - Renamed firewall-convert-scfw-config to firewall-offline-cmd, used by anaconda for firewall configuration (e.g. kickstart) - Fix python shebang to use -Es at installation time for bin_SCRIPTS and sbin_SCRIPTS and at all times in gtk3_chooserbutton.py - tests/firewalld_config.py: update test_zones() test case - Config interface: improve renaming of zones/services/icmp_types - Move emiting of Added signals closer to source. - FirewallClient(): config:ServiceAdded signal was wrongly mapped - Add argument 'name' to Removed signal - firewall-config: Add callbacks for config:[service|icmp]-[added|removed] - firewall-config: catch INVALID_X error when removing zone/service/icmp_type - firewall-config: remove unused code - Revert "Neutralize _xmlplus instead of conforming it" - firewall-applet: some UI usability changes - firewall-cmd: ALREADY_ENABLED, NOT_ENABLED, ZONE_ALREADY_SET are warnings- Do not apply old settings to zones after reload - FirewallClient: Added callback structure for firewalld signals - New firewall-config with full zone, service and icmptype support - Added Shields Up/Down configuration dialog to firewall-applet - Name attribute of main tag deprecated for zones, services and icmptypes, will be ignored if present - Fixed wrong references in firewalld man page - Unregister DBus interfaces after sending out the Removed signal - Use proper DBus signature in addIcmpType, addService and addZone - New builtin property for config interfaces - New test case for Config interface - spec: use new systemd-rpm macros (rhbz#850110) - More config file verifications - Lots of smaller fixes and enhancements- use new systemd-rpm macros (rhbz#850110)- Update of firewall-config - Some bug fixes- New D-BUS interface for persistent configuration - Aded support for persistent zone configuration in firewall-cmd - New Shields Up feature in firewall-applet - New requirements for python-decorator and pygobject3 - New firewall-config sub-package - New firewall-convert-scfw-config config script- Fixed traceback in firewall-cmd for failed or canceled authorization, return proper error codes, new error codes NOT_RUNNING and NOT_AUTHORIZED - Enhanced firewalld service file (RHBZ#806868) and (RHBZ#811240) - Fixed duplicates in zone after reload, enabled timed settings after reload - Removed conntrack --ctstate INVALID check from default ruleset, because it results in ICMP problems (RHBZ#806017). - Update interfaces in default zone after reload (rhbz#804814) - New man pages for firewalld(1), firewalld.conf(5), firewalld.icmptype(5), firewalld.service(5) and firewalld.zone(5), updated firewall-cmd man page (RHBZ#811257) - Fixed firewall-cmd help output - Fixed missing icon for firewall-applet (RHBZ#808759) - Added root user check for firewalld (RHBZ#767654) - Fixed requirements of firewall-applet sub package (RHBZ#808746) - Update interfaces in default zone after changing of default zone (RHBZ#804814) - Start firewalld before NetworkManager (RHBZ#811240) - Add Type=dbus and BusName to service file (RHBZ#811240)- fixed firewalld.conf save exception if no temporary file can be written to /etc/firewalld/- firewall-cmd: several changes and fixes - code cleanup - fixed icmp protocol used for ipv6 (rhbz#801182) - added and fixed some comments - properly restore zone settings, timeout is always set, check for 0 - some FirewallError exceptions were actually not raised - do not REJECT in each zone - removeInterface() don't require zone - new tests in firewall-test script - dbus_to_python() was ignoring certain values - added functions for the direct interface: chains, rules, passthrough - fixed inconsistent data after reload - some fixes for the direct interface: priority positions are bound to ipv, table and chain - added support for direct interface in firewall-cmd: - added isImmutable(zone) to zone D-Bus interface - renamed policy file - enhancements for error messages, enables output for direct.passthrough - added allow_any to firewald policies, using at leas auth_admin for policies - replaced ENABLE_FAILED, DISABLE_FAILED, ADD_FAILED and REMOVE_FAILED by COMMAND_FAILED, resorted error codes - new firewalld configuration setting CleanupOnExit - enabled polkit again, found a fix for property problem with slip.dbus.service - added dhcpv6-client to 'public' (the default) and to 'internal' zones. - fixed missing settings form zone config files in "firewall-cmd --list=all --zone=" call - added list functions for services and icmptypes, added --list=services and --list=icmptypes to firewall-cmd- enabled dhcpv6-client service for zones home and work - new dhcpv6-client service - firewall-cmd: query mode returns reversed values - new zone.changeZone(zone, interface) - moved zones, services and icmptypes to /usr/lib/firewalld, can be overloaded by files in /etc/firewalld (no overload of immutable zones block, drop, trusted) - reset MinimalMark in firewalld.cnf to default value - fixed service destination (addresses not used) - fix xmlplus to be compatible with the python xml sax parser and python 3 by adding __contains__ to xml.sax.xmlreader.AttributesImpl - use icon and glib related post, postun and posttrans scriptes for firewall - firewall-cmd: fix typo in state - firewall-cmd: fix usage() - firewall-cmd: fix interface action description in usage() - client.py: fix definition of queryInterface() - client.py: fix typo in getInterfaces() - firewalld.service: do not fork - firewall-cmd: fix bug in --list=port and --port action help message - firewall-cmd: fix bug in --list=service- moved zones, services and icmptypes to /usr/lib/firewalld, can be overloaded by files in /etc/firewalld (no overload of immutable zones block, drop, trusted)- added missing firewall.dbus_utils- added glib2-devel to build requires, needed for gsettings.m4 - added --with-system-unitdir arg to fix installaiton of system file - added glib-compile-schemas calls for postun and posttrans - added EXTRA_DIST file lists- version 0.2.0 with new FirewallD1 D-BUS interface - supports zones with a default zone - new direct interface as a replacement of the partial virt interface with additional passthrough functionality - dropped custom rules, use direct interface instead - dropped trusted interface funcionality, use trusted zone instead - using zone, service and icmptype configuration files - not using any system-config-firewall parts anymore- new version 0.1.3 - restore all firewall features for reload: panic and virt rules and chains - string fixes for firewall-cmd man page (by Jiri Popelka) - fixed firewall-cmd port list (by Jiri Popelka) - added firewall dbus client connect check to firewall-cmd (by Jiri Popelka) - translation updates: de, es, gu, it, ja, kn, ml, nl, or, pa, pl, ru, ta, uk, zh_CN- fixed package according to package review (rhbz#665395): - non executable scripts: dropped shebang - using newer GPL license file - made /etc/dbus-1/system.d/FirewallD.conf config(noreplace) - added requires(post) and (pre) for chkconfig- new version 0.1.1 - fixed source path in POTFILES* - added missing firewall_config.py.in - added misssing space for spec_ver line - using firewall_config.VARLOGFILE - added date to logging output - also log fatal and error logs to stderr and firewall_config.VARLOGFILE - make log message for active_firewalld fatal- initial package (proof of concept implementation) 0.9.3-5.el8 firewall-configfirewall-config.desktopfirewall-config.gladegtk3_chooserbutton.pygtk3_niceexpander.pyorg.fedoraproject.FirewallConfig.gschema.xmlfirewall-config.pngfirewall-config.pngfirewall-config.pngfirewall-config.pngfirewall-config.pngfirewall-config.svgfirewall-config.1.gzfirewall-config.appdata.xml/usr/bin//usr/share/applications//usr/share/firewalld//usr/share/glib-2.0/schemas//usr/share/icons/hicolor/16x16/apps//usr/share/icons/hicolor/22x22/apps//usr/share/icons/hicolor/24x24/apps//usr/share/icons/hicolor/32x32/apps//usr/share/icons/hicolor/48x48/apps//usr/share/icons/hicolor/scalable/apps//usr/share/man/man1//usr/share/metainfo/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2noarch-redhat-linux-gnu Python script, ASCII text executableUTF-8 Unicode textXML 1.0 document, UTF-8 Unicode text, with very long linesXML 1.0 document, ASCII textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 22 x 22, 8-bit/color RGBA, non-interlacedPNG image data, 24 x 24, 8-bit/color RGBA, non-interlacedPNG image data, 32 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 48 x 48, 8-bit/color RGBA, non-interlacedSVG Scalable Vector Graphics imagetroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)RPPPPutf-8cb57f1822f4f7af8441ab51faf5eb410a136790eefaa9aec01f64e49f8ee080e?@7zXZ !#,.] b2u y-iSqi/#qt k/UF!eP=LʑiEawe&SޗQ3'AIƱ^)`Ft˒- ͘ڳĒq[a*Ao׾Xx9S@OYEp'E?{'`"0 `84 iOKԧ1A S:7&8~ LG#4ܒ\6}ESb"fP^J}SzģڠOj2 *litPB`<dСҴ![ுa ~ԉ{˩ }?ǞwM,!+xtHδ>nQ&BMQ$nwpq{%IDGD.Jvc|.bHY^w[1 kl R9%5m٤󦰑zg߀1 ~<~jӦ&%8˜vlDwEL\'*Y!BvõkM![9\ۃ 24= a# 0Ko K1_>Pe%2:`wjj_Oey셓Uí_5 h?NZDR7S)ۊ NۡWvwxF}Ұ>\M yF\236'f-B@(z!Q5as7byܗ^zPy@ 6S/;29""F޳nv壪pxy#qs>]!am |{fFL zh4&C 'gU#χ!lOdWz>gU(g1p孌G)3B#rF~Ff,q @k其,Xo$&IіizKlƯ&*tgƷ&<_R>?FpG x@QQSU`L4 ސ\(}]~Do;^!%oErs$zC38hWP0#p=o+kfˤ[ 鳴s=V0Eqm/(E# yqPmJ^H>u!mDsQF7P9WQ56B&7Lx>D~.ـׇ2Ҡa1F{8-mr1 K5xFw$?Y~}? uMC>l&D / w$xasdG~P+3 Ĉ$j;ekOX%m/%.&~!vO^8X6{\ x;.r)44Ї8{dM֙C^q2XZ-h>hܬ]llZڀvP,QLye(O0,["TT*jzc Hݎgld=kIT/EW'ǓSnh2H 8JuRP03 o6JEkᴽQE @o pk+Lu߄+>A)Fdip4/3ᇊl!pQEF$"Au2B:NKMN11~F,܂[['V;>1d*v(WXzGM{ 7k>i, ᨏ$4]wN=nvy=Sf{Pq!QHl'fNNSk"!tؾ FXxNv҉ ),og buCf v cCN@6 ęG`)roeB,(#Y?wm0/*hWf Ŵ)rJaMqՀ>/LIvmC8,nx *ی:ġ̓\W25w8F],KeMaTcEX*Ʒ^eݤTDzd9>pf?j I_)g*R[;LÕ'TM4v N2jw@BEp5fqNƼ[zS K~ w0{̙]AO0;S>MK %j`tI<<zs\eY&I"+b~08 w0 VG]T%&6_@ \D/촆W¯AvX:O秪ȎVTtXu',4|MKt[lؾAk -#͖pwti.!Vm8p7h{TYKĮrn1$zL ܦgTXLL ba~jCen^ZFP2T[ff9aK+WH6rg)EnP|߹1U0kjfGD9$!tsLyj' ;) >&\)9Դ"_ݞD T]Dn{JL Tۤ/RLŖL Rx4 TkZdK&2n.@/99PĐWT9r@7W^p%^s\Lxx  I nax*MɪfKhǃ0Imob5i$وm7YQK,JAE=v?~88LlG3'~9rW|R2 fг-Rwd:'9%C2 ڰʤrzzMv) `pPxmlƗi! E(\4N/uV6aKH^|,@+Cz*ߐ"S(u(yd6(_ &ko>zБ7@N`c[|lb6"ABE#zx]A kq`r!n.׻*EJ/,%%̤?GX;'ʷS Dʇ,{RS6 kQ B-69+J, J3ϫMy@ 4"'V B EyQ~ԡ^.Od#r# ~fr6%!s7fC& >_=#/ߥ,RcUkS3u`+['L̅b_5FH& E4+!\Q8S'zPaIxd>29?UX:?|^tWOQTkE9,֜vSY}-SKMdG #芫FƥVZԧuWc92 Vߑ8@r@ b`bAސawZ#+~/).P6ce$Q$1[=Nh:;"V rל1.Gsk?GhB:nk+'x;,5ܹ! `&l|Z]iTxQo]8pufng%WYTSꯌLdWwفfP˪piP6lՓ RòW6y?\Zyϳx\6ս$^KydmmS{KERaY:*!$'ɜn /b` BN Tij<1``I,Wt/lIF0܍FaKeoz9\@6`&?E;VCCXDdMaB*vM[JK($ܸ jVq)C iwTolPJ7NY-2qYP %`{pXY% h!h6W:P Hzl?gyR:r#PHB+D_ϔɕשׁ!ߞE .A͘'8ˁѧlÃc xV erEÒOnע^1:HmI*_J  jZU$A)xDyKF]H'smD Q ˕GO6Vf>>VxUΊ=жJ'mUfnW_CNPztBoGA8U MuN;ιIkA&(8v -BǪ'`m |BZuq@_pu rWC߂W-1dJb6*_/|+z"H2~Y.bfG:' e,QɆrW9_ VYdyꚁ\]W+h&%caF^`jSGu/0pv]6<ϨJ NbfvI)hĦZOjEST'^1Eag &G$(AZ(ƤfN5[sn'DdF!zQuphuʭEbkAaa^Lq;v4 FKS~BY=Ι-H֒ak|]FShp"Oy)Z;Q? <4A|Y9$jrT4n I}DD0 K*,@GvL۱6{/wҿ1Iy08EےAael\x8F7ZD}a!Aa Gμa}y{.ܣf[ S!WVaIώ΁@ܺYdZl"`+ ]YdٗmrΠqzF8=T1zO x[*}CN->@'|uJ_dXw_[?|FWt0\A!@HY HG*zJ*dpܟǴ^wٰh TL$e+O*_İh:Q(= l8 :wY)J8lox"]^ٜv8ʋnMiRԋ^'H8)X4J h9nt6G+&.<b/>v^l$MH(,lwi!j1%ܹ~±V+r>ɚ- " !;Q2NH GZ@2/9iSpM{GmGI]ci\1yj/X?=:S\\_c?vK45l3u!;Ը9L`?%pft@%PʮToQL%GʃW_bx& ͸bt%ʏ^^aB?4ebi. )D]lש7 co o- 7y*n]ź)Sk^Eav0YDiU0]MJbGwDxS) i~g-UrHK Gɍhwt%*\'OPWyD*&VnO_O;/SwӍ,uZrQuDP/V|-|x\xoyuiNj;!} GwՖ-;Ur`|_u${Q2X?&b -kj{NˌuP ڰѧj֢OTfV{K+̭Vش渻uT}|IͶ@ _ jY%k*T%0u[OUҀTFX_WJIvkSɌ[μcukgSkX v@'ڀ-k4Y$yJC_Dq`Qdg՚pߢ\O Ԯ>0Ws\JI#7H ~ױ_ZK蝉Z(brLt&)[pSxD:&1L{ݗlwpZ 3sac-WVYt>G!b};B9\v[Ds0@z$yg]m7)lnͽUwkSԝ+֬[awZ ɛ;g|.yJKRJѸ%@׾ gKp>*]IBq uM@,!r -e4"vR+Tmg5U׀k+BYP?&H!G`fk>淽5ȵMºB~ ]E'*)A9n뙺kr0{ 0+\w/!DEyȎyT}Z![O,?OU|)Ԏ1}"c8C0\@AII,ѡGDO)DfGdz!-̂IoznH+*@_8$e<-Vqʝڊx+G?s<) 6[(8%v5J71F0߇$#9xPxQ7Izݠ>hLLGtJ']J%tZ؇Ugd2Đ|GM?+ mf޾Glw!.>`D>im=E5 :TXo=q=oy+>XwbK?|u=:4'!E Kd0;d-<ޥѦ`UpKG(G_}VsVUE4`|Fuz6|;VTwԘ֪ 6JbWzbJsv"9 +qtV姕^ykՓ7u{D}}vr0iY wBx=$Qvzr N\䞟_F &6=2J[ԙuK w[=Fdp{`ۚ H<:7*xPK25,i址͠L(lllZ#ɣXmj`y<akՍUv|Q.s<5?ϲe/L9[&0YkCK{ޢ3o1~j_Hń/`#x0GBE?w$`$٧| ղJS8~W[I2-18LhciY۴vh3Zs ra*ֳg~1q #V.T쑃9g 섢 θ2Zp  hWk'u_ _)ld_C2.ɱ>:TlMUUߴnBP#A{s ^Z$EeDx*K{5OƀTyz 7H;uΝHZ*;a 0aO [Q"}&)TN&~ZR&BhZxyJ AllGٜsXߡ _Z4\4MÎq/skzy^q;B! >%vF2p>c Kd@3#3xvIS!,8۸*.g`ߣau4ҌFِ9e 51Y Ԅ͕3h̻SSH2YuBO8nk20stvq $uSSz!d~zIdKg?p\&xZgS9>ocθΠF6D0'1 'jZ.fևټW!j!o.yr<'ڒ9dWET:A0\8G-.w"vK$WD'cm mU`5蝑a KzB4NbBPtEI ); R:z#l"cZڤbyqc(s Yk/ k9y1OY/`_l WXcuﺩ;ۂ H1/.䁈;lD i-#ُ_n[/ ND6eVy)N,ڻB!wB9/IqQsAo(;M_/U2Sh+wKUMD\K)p>+߹IӁ> X@EK5'ACAkzLwR7DݫlȎU|o3B́ `JێY8!OG)Ɓ-!ϛ šf^ڲoz䏷/l-k1rn:ȔA=B IFj WD7}nZ;25CW| ߥWSV2@4bl1dp:[sA1?0)ݠ!((#@g|-AHHųbrxi(AS4C想²t[jXw4srrJ 7׌}$./=5]-luX3-4äոA+[S-PīxCs)4(V&hi1`Gfwk&m]2)pibdG""IUiyJ\4^[+kʢ {nV 쯫.u' |^LSgWFrWiQ,0Uk~ U_Z`|>yaiNϒDZ>(u~,sa̫&B :"ڸ,҄Ö wH_ǽSVD+l␍JxinKޠr 8Tt'AdѾOM>=jc- G9¹Wi+%we>u`r/,vTCs Ly;rcs%ِ[4\ЖTz {`\-9^(isb16JIғ@4KԨ|%<b}soy / ƀq`C~&k=Oڠ5$CL"uj}I Dy%࿄y2О=̄`aj_sarh[LNWLGY,|p1injPSRH켶h=~Ks߮Evd:Ȑ%^I[˛I:i{Ѽ(QA޶_jKl\%zj+ JpmR: %_*E=/ Npo" iќfFK1`ݒ vX~JP'6̚[MpNf8Nsp|: `&G tّ>c`z\$MwQ"'Ry5*OyDKqqA"8!p0(S {O`f` Ȝ7'vS2#r`G~S7`|K2}ʃ`/0{XOM`]O*tX+c=-,yh9)DÙkH~=˛LG|*v=m{M%O.,5]u7r38l~Y7г60 %5g1gnJrdσ' 0QF C>RdQ.\[?J,)[XzSx/1RҜAS~n,2Knæp+Gw,רJ%a2yURU})k~Iz܋{,W.yQjZІAD&3\ܧБ/ 県NA3\Ӂ˜6G?b4)*7V$Jng ݩ:x}(sau)P=9gPWK\.lKGK] ]OsNLRY!6ٚQU&#Lˬ݂Ym;Y-M `sAȈ":ٞfOymjމn"Z:*eA&Do_-{ӏZE#'X+jaXeb"ݒL1=})Gj2_e!G[kA{{qMM:t9IfD݃yb}H3ɲaLV7QyqO]?,STBy"<6mRPrp?q Ky_vc}et0B .~k@ID2L\oh0Y&;4Y@YiI4ކ T"P5Zܚg$ߞ[-J-Y#|us v+1'47S>(EA&*80R {6x,G`CmXi!Ttq3Ɲ0r if߬t3O',p]bYrML#O_%\*oV<3|HT^FN ~SۂtkfA&Ky}57ܜlae GV?7?HЈ21d& qxmE,;-$/^!Yd;a“.+= 1"~{%xzC²jM%|:rFХ/̯BI),uDH7"Nx=@+\(.n@lOźFo2Q+3*N%%זӄF,l]G|Me[D/.U~M2M}6X-(٩р>)zN+[ocލw~t CO1%&[*(: * 3W6b˗WFazg }oΨVk]֮sH$ū-K26iMZ3΀̗Xb.E{hMz%ݏre΅O-ٍs˓󉠥mum+q]ZbQm!W}H^5m,dy%LfXL QBpQJ:,aey./F7!6o5QȖӊSxN [iFHg!8-z Ƅ Q3猡NQ&iLj'DASVwm6(%Jbѡ଄9DdQLǖxy;ۘ>:sdxCH!XS2Z6z|'lLFwR`'o?T/xܥ PJm# eu+j[} A,g]Sea(Y;͆T̢ç/K3yE40F9FaZ 7G6Gh"t(u EX` MauS q|(}Lܩ@T0ң(V)\*Pg.+;C*bD b_,,dt+v=/qt5E%{y  T [TESkӍe&GRL؈O)]<;=E#9tۙunver`d(ԫ>ŷ,JF:ÿ4rx&Xw `4M`$pޤn].0e֦" DM_u.L.=g!S 7fwPWcCYf\-:)!-jz'n|NpqբV>;͈:xilg p gQ `1LibY}K1c pQa!_^ Eڶey[/6lp֝BI]7 y"qAf_~#͙ AbsCg1i_^yu`EkvAYЦձ f(s?65đ#6H|"Ė<µ1E{b%>hŖ@N /^27zti$yIygz 7nq`c.&E/ qNֺ9Q!m8 Q0 7k,hshda )c2g"܂ y.65fq k:`X m%t[zJnpA9X8K|C9]zqh@6,Սp̨g)^G` qϱmì8C`0LߑY^;&]kJı  7e!HC;ª!}Dy͐S6-r =y4C.~5\M>bw0i L=_~Bl\%tԟg_G$ȓ5܍0BS'߯\N}E)[A\:e #-c )s|,"$0 LH8^ʊ);Hp6 lfJaQ FJM?pܹ4>@zf\G xS9#;Œu*Z"ɋWYns)2%g)-0.r0|M#>2ל_h R*CKi483!O cbms͔ `$;iG0cbnʧȏu Kh6o)\~a3ͅ6B)` ٔ8FG=5YۏeXZsD&/ v3A8}UGո%GtFFgl8DRG¿𖭶z"ox$ P!cl. ߺQ,8qquT =:y%5RijYp([O>il1hJ2pKD qpWCx* ɻF掗vD:yY) #?b4dn\x *9Sp fsE`a3FHhIP< M*tO70{C;fv2f{NCBNX WqYcsl$NB_( ^\dKw?^8ӆ#T%F|fy/nD;d/C6iLp t۴6:Jh /%r ZD5.+N"cA2=(R[-Q-;3"4桇zH,(pPLmtdX"yq.mRP!awDA\hīo̴fxWơ+.rB4E;iM'Jj!0\/_5Y^:dZdnB7 3T{gV7ͺڇ9'!Sg+VݘP/0{.҃ysB~q̝Nt"Pr!\F7!KLŻd!աc:T ̴gCM?G PT~BG6508Kl6#=2'b0]x ڻ@50ٻ8XWRKq)acX5Q z-Xc3CAv[E3Ew/< } p0c]*%2ijYVf0D,jnIyb1LI2I^ɼ!yp L=t˘a3ń 5YD(4ۿ.a4y/DjE}cΜ!dܺ֞5OKW׏Ԣl@龍?4u (X@ʗ9QJ/y:4r%6t˖lC>ؑL=4t R <`!Zp=Ǥx^;|B ]u[5Ϻ;*_>E_o,KH L^p6pjMz1F } ej 1-SMD%lT"ܕ1'xX(9[ִosmP)Mad v.bOaXxO;g_8%B.EYwDY;v [j- t{1:!;a7+=ױRV~5@vg^DSNp!ݜ$B$^.D,wl7ǧ $_?u/&NW7y&^FZ8&A#$"+XȼIc`r.&ĕ)*UŠ ~IXL뚿J&1}XLݔjӑcۧsŽK8bSq8 sUlma'ݤr1y#C Jw$K3'QK[v,MzoyTR6/&/(ǜh1ڪ9Xh@_eS̓U6b"i l4~|D*z u_2N} -5o;D/"&? v*jdgte@sw p4k)'D뷈ϩ%f߷R)tx8YA`O.Ρ^N7}/村Hֵ])kr%Mۤ#6:ÂS<¯;$p10'ɔkz:Mlxߒ˾}n>YΒm/_ X_j _*+\m{|WydSvm-f:E[`JeBL\UDYN.A'1ۏ [EIp߶ ͛czh}}$_q9޺4Hh:([q+x/ɳ>_ʥHf=:®'\QWWVW՝DEL0J?_+Tō%=.iGWWecJn×nLC@n#|̾O },R SU{Nž~:eB+hs_VW3;@Űލ ;.PVI-kueBrDIP.Svkd-&z O-5wK~r+*:_,X3jбOG weE5cw:dMdn Џ%=Ztf5NoK;(CW\ޚQlhQ~Dq$iτ-o' bɺ2{-:;ujWݍ$5hd&(VufRKce )ҹKѮl]"n``ϯf[YѿWӂ)@ `ƌf:0T=`#'_cζeH}-41Ǵٰ$\_IyFj~ Ԇ$p%O(]&H"(io4KHkk|:p1Hp{d y}B H[NɹwGٷ% mWa6ԽK9 %-'l+yޝ$܁/e(/?CTC"%!L'p^3 KOjyD OGXaDO:'4kv\Lg}`*J㣑RIޛYԠ{ISu31@EۤsKLn2 pyF iI*ˋCJpWw omsV'[YDi( Ft{/O#b(i$FQ0rYde˃Vğ^:Yp) 9M|Co6- M@oԉLχRHh7 D)=219'ogZ]7 WT5 JAE;f3^Ad+'E Zܕb6!?UE,.YU/c6qϘKx[6M"(z Eݜ ¨ \C?g ?MWL`ʹ| S;msCHL ҼҀ|,4J$t1}t:{]hR} -z1-l@N˦\*A1Π=\^2E G: ^HƳ[C%Pݲj'a':YhonT8vjz[;FI\-NՑtoqf* Ƀio'|ט{/x7 ozqY[Ij}E' ?`FYsNʈ/au"*I?lߪ}ѵFvpvM _Eb3̫I,);d0BDݔWEm8/vme^&wRRR91bl>b}ԃt:pԷf"RǤ}L]\8!3T@t N{Nc؉Eueʖ_UxoF(mQoBL =%CY{DR0[(s5"!4J LM o{&1/(~A!Lujθi$ I`_ƲƢ;+sX3W73<~-:F^OŻhi,ߜI;_a\'1F/ ٲ4^2yD`y "Px ev}4 2DvN7Q7ɽ!hNU4̋jF0QtuVƖ̝ѿ]WݯXZ2|ԖP5)=E"HH*Iݜ`^Lݐl~R}3o,zqS]1YY%)^h:q"a^ zX{ ]VTg?4g1<mT~Dv/-2W>*/*ዛ;3Q6q/EE"ׅsTr6r,++kpBd q|R@Sټ =o@~509;3ld}P % SE[Qe>(ktp^ }W1u˚yܟeI+*?aXP{6T{HVNǀj?^5ȏ)2W$؉ {'8Hq`%Kz{Sm*[[ZvUڕj=\ . `-QLa+EhPnT;i)[ %`͘4o>YKO<~1]Y7XN`!K-,=L2n$*,P;Nd*מU ^ æjxNC06S2ZDSs:%VH%)G$͚ sV豪Kjх臥*3aRt 2>3ԯĹ)17Oq'z3.ylKru)#ӗV@leߋ% Xe.~ ʴW05exN@/\ s՟[_ ݼd^$Jʯ: #Adm]/"y u`|Ӧsii_&xYA5=X'A49G9chжCeZ傒[ͺ/R垠КvwyISblׯU" WѬ7НN[(TvOʖFKA|-Rxrz `[kG/o_Hbɼ?d~_tLp>sYs.-}IP78F%Zu 0B6Ʊ4Fovht2qhlSޓ.>-~= P;+g6tyT,wܽZFZ,fa  )~TrdVh&8Pw?mf8 2ڱ^ٰ 6g+y M.V`a&Ċ~+UVm뉖b.h6ZgTR ]⮛{%K^{-ȬVm`Y]+fU0)"Rz1l+wSr$UM,9*k,cڜE~Jҙɛ CّO=[+$6wJ~Z- ]?0,Z5O8nee}K=]AM],A i$; o눡E󈇖6!Q5zW $W0[2( /f4:2Mj;,;nr E('r\{;p;[2p4GĶVl r [EBnƥc L>>m7}T zdՔޙ & ro}19}^-*[cwjZNC.j҄P&>PCcੂx! ]6$j>I8PfWk$#+ (d/`T jfpW/ǚXE tvQNgf(*-KnLb>‘XI2ǤY0[ z?"@l`{Q_5mZ /M/X;E·O^ &qwĬM?*D ?Bd|^9A=q#r!5tᇡ\~`>wu/`\.elEy,lzD6Z j͓֎zU5+^w7l&l$H+ ʹrn6}{rhT0u ~4^CRt ^Gzh-G Ȁ DcWe4"es`Q2qlKK bEI\d8=X3W%cҷfՊvψ4[dըv8Qo̶ص 2Q$G 4 4cMĵiڅ7}yZ>؅$v5F%6C(c!`DUg_i9VdQPK oBUgO Ո3thr;#ut b f\{8mZf+ V[ $VieKd1vt)rKxbȄ+O64[>犛jZ@ʶmk(rƞdk_J= szOj{mȒyͦ`t!l܀ 32=_D a' }fT6aZ!c#hko%ȯG\e>%V}0.?Ggr)@Q^QKj/bNO dYe%<޹RG8("4YR}.Y,? ߂>U)C#iOim{Ҏd=Qal \ZRUэ^3ZD ];rsN-q|EQdX/)kïc|u1^bgAENvw#B?V~5D9G ۏbIVmqrx/5-2(!8QƯP}L`Qؓw"7hPAڏ`e(uKR{6^Iv)?}=FՋEǗ.\sg0c9hs'w.0zXNPgL12fu̦"3U}O\n'>opqd'1Հ~(ԮX*e w(M-J 7o:ϻ a,⊳^sK-"o/ѿ`ʺ)qi52tHtLy@El E;MXlT:Xcnf,~qĸRYx8eVV|&*iiY'iajòŷp|)+t?q{!Mx/.7]D^e[z%TS2"'VjƮ["|m| AҲH}gvic:?$J$z [\^'kpv-}TF@k&%M` 9gFmxxєK]ae~ߪ 8Lһ z>\e6SIir4+HZY7.tD„MZ年05Ct:W<%z2͏o'>KVfzbcGFl)Z<:ƂҶP[6J)FUvEE, 168$=1?chF"m}GUXFΓdNsg3^BW9БMĥ[H|KZII473~F1,OS5s]Y͹ 1RPo_ڈci* M; .F&.{Ѵί';S'ض#Lk(kBرP+r,Y kLL y}._P1#X!nEuHN8M*'cܐϛKnQ!?NڅNSw#Ѫ],9 Mpba(IlΗ<zhNI*mM.Zi; $#!*dW+ę%Eq /TnTK+hIt@stLpU8x:\~s4v ri%ŵ('\y1z3I,KIPVwI.Z4#%(61 ƜZ^gN3>z' i{<r2xa!#dphjIo~k ׍ Ь^Sg9νIDhC^W7 6APkhAUm-w_S6]4REuh!'ѓ3s4L48e\h^GHh4IVxO2{ 2rF%[[ U1i8yq7%ywK`(P0 CPd[z0-/c\G.s4Hۆ=DLk[xfjQRh68Nd_ABlyğ$i(Y2;]ys( ?VrHP׀+k*z+3Ŝ({2wckXymlA԰˦A:ER@0 ápob} 0/Ҹ̇w8LRWпv~q䓧ww@"RUOt&6 CQv|:[ܡ Kzne@жE (#PhQB-$Ey\Ix| =c#~ !F1n)lnKT,e ȭUI,M\QD yA( \Xjcg=(|_:WK*"[^Ϊ3(lc*i;?WNLHbUsw> M!JszЇF:2S޽{ܮ V:28?f@r 7VK aƵkxg°mty! . U5bRGH|07r}(=s+3}T7{h }5}ڮ|=wc(*\qCHܯȏB00ވ?^ğfSUyW [IMѼzȻޅH|ib;d2P9.?x>Ҟ:ֹyD2 g=畸qwziCNrК$d@|dMBW@qqr\!MT*O5dMXlZADxK+⫵P3'*v}JLV@1MCE^BV <J?$Y3EAޮs6mM)! >FlUw]yLzsgoxX3|5_h=@PlSiwXu<4p1zz$C]ns<ȇ}"J̛'|Cbi bۇ)2x"# -`ZlڷsEt-F3PPTd*gV9c?+b*q+R_KxO]IFmBHIbǁSEs'9yPfٿlFf D]VU\]vH[o7 PvH"[AiuuVF'|m lSol[6cE6 @C(©2/I i^;A40b~)A&4;Wԉ17tĉѱ>јtF_`6NzjӀ 5 Pfi0Fx;u Ϻlaٙ4,=r8as`̥=Ǔ?ѵdB*9|p8nYkrmneLƖ+PZAЉN؉5N#j"9d<}a87{r7bkedM&DBkS-+][c|kpGͮ6Ʉ>o5T<'m~0N9SKBҩ7[ MG)ҿ02L&*hޛ,y g<.%sMI߻AT ҵw^ n>u[LK=9-D%rKM邚G}X?gZ"{]wi4ȔɮՕ%;04@<.Fw:O;BZ2vZF?e3&/} 6F3˴eO[{50mm."}ܞh>n`h{$=Y%ETSyf{N7 yUqk[-T4 􆶨 &LGq=u%fɤ3AR 'jf<H& 0t#|G){CgC#]K31v #qiWHw6-m0iQ\%Y2z4eT _y@,]58Z|"6C^jϸeTd:c.ZE[ߪE!C<~ױA| fCxv;&Ѳ2Vή<-NΈ,#dqؼⅷx1RYګA% .Q§^бUXf`N3 o&t9i/ga;;JRSq\cv~[AAucm 䡘[ qp5MGǀB-+dFh5&pL׫Tg*PE9Yߺfx\^]>KF":?6Xme8SKJ=h; 'Й{\^9Kl1TG[T`Pb\_UgqWhqB'+_m&bVz8Dv};8%V!LHdԙe'U7+x΋U,Z4ovQ$]=&S%6R7}5|Cgahj}-scd\wsr) LJ$؅xAL'O$sk:^6H'R][Hbaĺ/}2m[n.S?K6 GC5kpg,"п҈8`Π% #'RaՃhp=HR*宄@_(nں hBOSDsfl; /u ƍ eWɰ\(XFܫкdgYBcɍ Q 9V!%oX%Q_}~>aB`ȊUk(c =$kx9I ~݀ #90fg8#-뢝q3?%ݲLho&[~ƞF!ڨ݉ÚP>*r`?cTUYe^2xqCR&~>}blڂؓJW%T=k0Ml䙭wHXbGQ3- E6Kn0u {'O0 qXkܟ /.,S[ ~?mƫw2<1w֑Ta)ٟ#/}JŽ*D)9 wr+ݮ]3Dt߲MC JHZ-מehٟr6#FzXU= 觗r{+0(<E\TYV?/V q=O3x-wu{ڼw?IbCxYl>Ó +d՚\Okߟ2R@6ނ] n!|ZZ)gRHHj^ڜW.H gP$?ޙ7Ct9ج"^Td(pE2?S ec@44:N O8C"6\8B3)pآ^>ѽ4,^N'{a' K0w98>b> gZQd۔++ZWPn5^*9z j e:asxBPc'ħi!y@1[p_g.4a5RS"[@uN5Ѫ'B u:uGMZb=9C('R 2]B83IEǍ L[xP3E"|Wu i˪zC\tLJ'a3o^ k}8G)Mk:gEI9Q{A?/k&A{m"P t0tkϸȨMEix]wosܐ˂b/%InQ'rğ[u}}ARo:X=% JOi: l/G^nl AV=m64NŅS旤+vyE ?&C>oRcO98g9ZU1]R=mzvaA~Vi,1{w{H~U%KЖܕ뷜Ӭ$eg<哢 PF,wn{L8@fTo->HތEQ2-9yÌdmХ:xAdDNOs\ \]L^(_ENRfP!XIdNczxQX` & zE zwef;B_X۪(.9 vaH˳vӓDZgC%g2?/aC|G` {yvBhN5-uߎnx{y/{=1kI?&0U9Rws)^5OP @=2tWxt@x^ǩ!z%m\ʤnzTyc̭Ru/fpx6HbEb5Gň<|l9$ x(J&a}0pX 𾒈lXTwr\H=(t{ /N n7AVW-Јݝ_fߣpSTa[߸I!`?aDmIvJERMGl.l&=SE/ !DwBc!طe3w9d_A)u~"u_K-*~0X`!iLe2Ze$Fg$Z7}\4YOetMkSM ^.j(_'f1؊}6蓮arF*LlELᐤ~*] &=3\ Fĭ% J`G0 33Q~e qeCo jMhI76pr wdgcOzX>py6';=udi@>lT)qe<[' vݓf0WtCfu-A)"΢Gz=U MB ~:~'zG]VNCQ:2b Ʋ?en[ Hw}`ؠ, T2ʉV6E u \z8jkdw&R cZī>ݏΐ 3W䯺ڸ4f }IF1[ 5]@:H/VFc}y;Eыs:LkoVDN|u]bT#S΋*WB68BO0#8Ll@h.)`v{}gϨL N5+)SO4_gߌUSʦN o̅;fw Ѐn)jv" D u iZ(\sg#aSc}RpZ,p-aClΣQyjex=b9W6OʅW­vX'KղO67IH?k._/y[ URDWL1ߌT),%~%vz6AcoMi))j +!1 L/SͶf zq ?j%Ooloxׁdiˡ.2 mT<Ũ:~Gߘ}~ibU^Vܳ՚f#M5D6=_ בDꉊnȿJ~j#v~f%~FBz9O"oqm$`C8 t9K`Ji LJ mgܩC"?P'PA,m_qKQcMrZЖ

)c @D8E N+i`onT:Dx_~EY$5 _H ++6*XqƦG>N7z$|{7ХIZU6@WU3 ۫d>ASZqps]Nj*ld/'ĺXaNqeO|A!hA"G7ˮ.]Jvx݄)e}_wnQDBE{9f*b6j qW#oɊFI?~9 ]=zKˀ^^.bN1̠ʁ*U= wix>y*]xHIsp/+2ǛjRN 1BI8Y7 4v]zZr9BN-:d~yK4I+fhI6:F`"!VPqL7W{}$a:]xI>*߷Xz!՝.Eq~{bqq9NN'2AȊ6 LFjFSv7FiVt>?job,1'e³5mZz" =^%XJvjH߽6nWc 0*I,#iING+2ukCdym_BQv\AGEb3 "ݸk9ʿ$uXiBR \ݾ2i3 Ro+PR}eu`p5 [|w3HIF4`2.ٽ#.]ȍ,Rx>$Pǿϩvz( 2t3dhfS<沞xIeid,\8iYbD.s {>~Nթ|gt'j }}8jR,:OPR~(+xS֧Yi}b52:^Ň[Ipv%#ϷSb|osd;Dils%1uK/ZABo֎2O&Mx/jE}oѡW @Ζ$¡T?~$ߢ8$p-y , jGV>']/ PjK7"j,upE4]j"q ,E4Fj=R9Tsӱ}ew&"F/h"=;VDWٞx2F݂7wSբ}h.cE}qс\nPx\y֪gTs\~ gRoGF~s-Pe y6xr#E\K@q<\0`r7 \{׾^x|/dYp#;[!f"3 z^ʐNТH n1i Xs~_i֐L,X6z\'N`x{:b#61G.LN? d8:f$i)% KM'( F*4FA^]Cww9j}-"5^և\PAmD+ җ<^ n _\mvZ,<5(ڪ4֫4syݺuo$J-~XW64]PYl7kI .O 6z^$(zѷCOgphJeȎ)/ZP>O(nOr(SLaxo@?r>5 4x/tG BvRJdhcқL0M/˺Q7܆ޛawEseqDG=oGU_HN}D"Jy~1pses,0v[0+wkA05&d 6l%ﯰQb9&jY^Y6ox;>G.TB5]k?d:Ƀ]K7+i=nc! r`0L7f&%Z08ʌ^=NJǰi|?Q:ɠhɜeHv|O :R;7k+UHՊk~A&m?;M鸁lL'z ݾ5cM_:"쾃Av7DMAl?#}F*QSB薗ߘt(P}I7Gf` ^|Tu&m;C6$6j(6@"H,>e* 15;6onj:"/)LSaR@4'' z++Gaƭp-=>EM6&$-'[% wJK[6Ųޑ4  a&ibòcݤ.AT hnސӪ֭=BsRjsD5] ҼlCl/~x/d_h /P|H07͋t6"2 Щ~kC .D.H/s8ZxjG: [ J/ydm Z&G5zxp>br=)׶ UeŎǽ  mh2%}A]ˀ%zȩF\H+/M}?`H{Y* =1 +Tx{PQ??9Ä14̹٥A,l IRl+-բ%L&Aa#F>%61 R`١is}v6ܔ۹[yrߓC@. $uJY _y~/ :ggn HQɇ~{T@7 ST҇)]5NTpܬKTS̤'bDITm-'v _ëAEܐ噚FWQ`,Q~<niOTΪȘV3䴛l&7XX;ZFAe*.1"1 f;M}g7 ~F.ٌn3vxHRMUB"+4Gwp #2(>,9S\:~!5?%ݝ gf_mx7BI8,B ,N YgmrJxZ/ȧq5n{pY;u8T"M|^;|ih7F n$b,.ְAb}3|1Rݦ i;4N\~QQ˨^LS7:/0Z#nppl]&.uA=Ib m#{vkhtB>,X*GߎY钝 m:WNTv#QX o <fہ^X$i6fQF[%.'pZa%?ϓ5:>bM9 3:!*1I.p%]/,/ 킔Ljˆl*M\Ѽ0AtJ|Q:,OAX~fj" fXd@&Ŭl^'bsNrs}fTuqa/uXv+<#um`״qT̈́c CK=Zm6" 3CQ<ؼO: %#] uZb"63T U,&jWy`)5 :1nd U=5=C_t[8)ye=8 if{v9nGw<M)`Kb-`g8@_M4Z$Lny[g$!Bm= l/]5zBhIީP 7 Ox!-G:ԉ 3kAYH6n5{̟9DxmUoF6{Zv63r%2Mi)4+&a-HI!$kEv7bJY>g|K3{: hAjqh.P *|firg BrxmJ7L㯗hft^t#V!}xݧ:`)#itlC.7o8BF9AV >n*|IF} "c-@/b v+zژϜe{/Ep"RB 9'ݲDo~`dh0ޫG`f- M &„*S agV?{ m" 4Lr$KEܓ^,t"k0 O|wRFՌ7Z.Ğ#Zp3@S!8"k1AK5rf"A$ն ;Q4gj5Qt ;2zFq c) 7!joUCǥ# K ?AvKPXcB˦>tO)R*U!I1W>gr[(!eY,Ӂ?RFΡRYA]B*Hgp.q8wM%q&jo?LInfxixwge9^J-J`CDw ajA<اdܨO?G롭)4H0ַ&d$b[ *Es]8}~f1/3zesFC{ON#NX9_u܇~;9!lrlDnbx U1ͻ{>{m֢SS =r֜t1=.nks c!`LKm"\NG`%ݖH`OH("nQ=mw'Rjj|U1.UtصW d<&xnܤRQ1߻dQ3ȺB\.HCAmOu5J׾g(8ݸ 8 *Lx[ E<6,T!C"qIvUCc0gP־KXL'.Wv@]XOqS{XX0c=fO!TO,1 8A\} 4&}*,$XG{]D#nloz{@a~wK| a-]PHAW0&N"Pʇb??FYE;&~ba2S[v+,~4,qt`9!5D*\0@0&`#uT7 s4 w ^bmk:#/%T< &q;StzEF`Y *#'lYgWS4 &ofS(,Yص!* 0(^Mk;Ox)Yg*|飓Xm60ZS$Lͬ n#A(|ff:;?Թ@)no Mb) WAQ[5L3WOܸEko0#<_W#ʚX'+TډkhRgy^ќ ͻhkjlcc60g?9~΃.diF5Y^a(S7 }}؅b) ,IAG\Iл󋖃!Ư,Dzcfz f쥶`Ԗ97$_Q'讌|4߶Mo88@R[5%=;%QZȗmJRlG-IɉuD]aODaWMoƘ: P<J2#ٖ ֒SWxf/($)2h= ۶'av)mXZ#hm'&F>O#K{"xJ{#CJCGg\ Lɞ r~MX|gs`2]ёZP_"b40B/V9̈-iw5.Fzé.4KL^b:BЍ%4tMkXskLm}9Br豬^3'11[LƘ\)}Y#1{sP75~ Njx -tiSŽ'+ֵrZ $.6uHyUp~bDD^آjTrl\oQ+;8}GR+T OɌd^3 ?#ofΦQt1,C=&qN_Vj6E%~#W1}m%T!Y/aR8 -/D7+9V yΦ-C@b$ѥ:_*bok6=&MzpR"b,O4 (}SL/~uR*6}Ov.h#ޣCЋÓ%`"%j OyqU@ec,*YLT1ƂVW>@MO{v43fnl vo6$]meA=iūk~GybQʹ3fåZ(KI"_ F_44I>߼i;C:55k`_.. k)ro}2)X H5NR:~)e(^  -*-cRW/}hnZK |%}FL !|u(DQ}d[$?bU쟧0\+SIBjUc!\&3`EYFȘPr>eTs7 Zq(²Ů; ֍1GΖ,j9҉WO% Yxx[mUӛ,ɡdl??}xFLNʡ?A|~h77_HdL*'ͮ]Fd ,?8,,[%}Cl 9 }k,ܼRQm%: 4˼_%e„萙|X#, f.@f륯bVBUc秂h6*ZF|iS?;䣬o({IˑmR }ZTeIApϦ]nbXaڤv,x+L_O;Jpjx~S} Wݯ~kxW،sqI||U1rp!woT!0JG~FY) χleÀd f qU'D#Kϙ5$yG{ ^HY@ԙU]*gznczNmAU  ]E^Cos+q@N5j 'v~= Yyhw~fT13o?[ltl z /5lB;$r&i4RZ8jNjonҚ-r Moc4%,r J5+WC CE@r7)"JZ7`|1gudy:䕅lrȱ:[-Mۇ=yK讞'ᣡ\ֹ+&3s^=R si9H8"ݶIcۉ4]?*9Xfa* U-kT!Fn@w`$ awʮ(h{C x$(]]z~sޡ%0u](6\+X`!Л٥Rj½9yYCsO)ٻuؚcZ$&uVZb]{nY,Io"owW`w5AXꡛ#$7ޢF\"f-QH_MC\M fvh22.4hVß]z:z|qmNt: Z9έ3g I@|UFvc')".%^$La4}㌶@ޖ; _ۗQ;VJd~O{M >0-FJc:y\3g =#= 54G SWҊ7YYt͝쭿q&M٢@-k & &/MjJuvuU'nbݹ=6!)/\̊8Bϒ L(zcs(\G2u,[ Sϙt%ՈQN/|c=A gs6W5@(ϞFx!OTw#L`-h~L!JJ,S0ԇJj1c LOcޜ:|c4wqz!}Vx|V!Qm:| y!Bͱː2-ZuG|CZ$,%T2,`SwCӂ=9|Q%lEcd͍L"]|_ƜXǖJ&BWĒhJwTwZ릿gFcaH֎e%BJJ=ڳҾ% fm51ps'W]E/,;h7F~4ݿK"|]6p0.EQ"LnuA=K94z<~\y«-A+Hy;H~ +U8*Vݫ_ZC(h7=,&;fEkL8Pc$ &OO>yIXG*i?n|FilҐ~wʀ ŏGJMpݠw v|lo2MO+oeo#;Z 2́SθKMhC-3v 2w &2Pz{\s~^FHLn[sIH]/P7qg"!@lptHm4D;gj26a՗K| aa 8MV_u"y .zE J~YZՑ* d׃4-~꟯]5XǦHr:czo u8l`[z_Fz A`QW P[TiW"uưzU7Nຟ*q0ڗY;P. tD0h \Y8׭j9(kPN_;%ٜDlmٱVOf/=ÆY/qC\}!vofVV&8ᙖIŎ}p_vqǚ`%3ӧۭtgAE3yўzkrrGSՅ8 +08xc F$x]؜"켯ij ]{u]֫Z.l6ֻۜM :˚nv"4 ;7%>"mȟ\@EoAQ=0a\c`7/ܢSdG(?0Ջ|`Cgc/oqx3m40goYH̜}Ǔ1}E=zX A ~۬M _s$3x~K~R͆e1͆ QXP xC햕5idBk42#x#tbԛBsUd8 6[AljoŴ#˷a ޢ:7=2ii8'SkFOfd=po<~N ]ZÇͅI2ieXG!2K둬n4$Ǚr7`3r1o E^@7M53 +&0(=}\P{UFCFtil" W )j8v+ z3汾F*52j-t^|:k4rWtdsL-λ%8ǩާ :n/8˅xE8 pQ%7RLMX/wt(Ppx[ig1I?]]AoxsĻc=5 RY?\higPXږߤuލ q1y1t&"y}ֲcu'&S<5l* Sosɐtfu̶bLr;eۭz;-{Fɩ:tIU{ L0TDS<B'%j'A}"u&Z

+g`{wjp6 }⺪j[j}H ?_/ árƕ.Ml =I(5VJC\3$j7㫂V,LRC/AdNfxnoY#<rV>kE-3$m9 *gGU7W%*5F5 ]z { ~1TY7 ޷#u! ڱFr9#~Fl+(# \<;x4:sb;G[l02`GOLlmMRjQQ"җ$#>k%3:q{C!0gQ ZpYJ~ ߿} "#,n3w_J hb_kXnk:߻ y$/-oߥ5b]!y{p8O\[rF3)Sbf; QLx""%F8t=H \_4jq̋1_EI%vtE.71M+ Q ~B $faQ@a[80^a ^iZW-ѐi6y^IzkȶI1\~td@`'V|(+26ok L)Am_ZdSa u_m[00z.7.UGD"ptZ=6Ӈjn1N[Û*A3$@|3JtZ,0ޫm!Z+#bw2rC1kX~caI0f7FpT{5JĦku-٧?w|`+K%UîuAS+s̮G PhVzp} ȮR)K0kw)n~zJD>X盜y&@f+Oer <XHxDz}oNE[e/g_Y5\/d|r2n09i2mɚ*B}qh*Ђ^Anh#Jyws_pߙŴ()H4:WRdDaFk/p .)|2GxkJ()T7pČ<ά *FV]NFRn,i:u'Kϯn^Ɂ;̸hn q MQ+ 6<'Uΰh| 5;Q]rSp'H֚}Q?RP)GmO@?/" `Y ࠌnt{%IP!q`uߖZ{ Vu`"?\"S9ɭ{s x YO 6'N4 hsk $IbB<71_=$gSp:S X ?Ȟm섲#Q@q %wJŒc$_a c% xX$y4#o0;z+am c fw*_ N,qs Qdp:UJ=#%z(B/u<Kj*Ϟ { yo׸$=]QrIm'ybOK7fV *}jHOsBag_Ѕ+bPpX".} RVWJ灆}5*fw"j;jd4^T*U{l,t}kyVѦu3^UYc9^{6MΣfHxZrlquwYL'+V@ݝ>~ ZEUg}8p|pDc덕{`\ $ARd:GSo!С?_6aZIT;5"\Wx,5b 2 Ջݤ(y X-8rHSMY[{,-bzܒmq1\\-J G8XmWׅ*ܙ"L Tye)~b&>QiU@s^5M|@TZ%Dj30/;.Su"OmT w(I?w\5-Vߌ8T"zҠ4B$ .4*[%c͖? jq-IBgepjNAWEz1s%C3hn_߮_.pa5n~Iәݓܳ$M2C0 izD5WŏJP{+zxIxm_me`?E0- ـd g1P{* {QH6.N6y?jǤT¹h`-h]cH0ݻ4P5y a:D`v?nz_4Kbcw|Ag}(8^ Zea60Śr|mjeL)W=X& D[wA TX$6T8(\[ּ岢 kP1&d<vpxzPYMBZ69id;-וUSyŖʖ9B"a- ^Cc>i`G# AB0l8u8X"=?G?q=NaU e^rl4,39UZ֊7h̢bNQrg 4\B'aȘ^M`f ?TCtK תAWKdk-}µ4{9/`;_YmEKh_Y"/4[o{5j̫tS+݋uSoyTd9)}yLĿBU\M_ ֨yqX BGl x%7wW\0; -4 l~x_8 6x=r7$iUT/4Ifq8otvHGlv>8/64ʷ̥l'vu=\/+S/Nc,yl'A*6ҝ`-yج8S681k<Ybx#[k]g7rB![AcRīBy=؊b>+Uqef(#)Yv@ț_ %,yfga e?%@o!WRȌZ o 7ZY/΄~<1ldyy_zUuT-6:EU0ND01SFQjF! g>w1 ޴ǦY7Ѥ528붟f-F_ G+ ?E e$(z)lXE۠:7/laH[gax22"slOJN[ 0KR&m#z,AM|jtbg042v4Z&wgdyQaW7{7g3Suc}gR #wH|0S*tF1#J8Ɂ@HJ&Z;Kh:%;S;D6#Z5M&CarƐW'ƤA GE]ZCh'Hr P!oh \JO>l1SOA !la Ɉ⸧G:Su?G?4>[9ڰ >k!A\vՍݛ&A)҄.,|ӼDOxdLG͈̔ G>-b:q[5N>3lSXY-8:zql'~ZA Q~wa,xa >|Pи fb43X&ycS0 ϶ind"x艃3@j \//)]¿Zf>Q , B;A?| HJz'JGd*IZ$8Vo^v"Sc~tJpd1X!1I)ahˋ_j}k 3@+o< ! AS}O`]p[n0f7j=\ "[Ai \%FG?>] VT3Rnp\ݞ9kȿ=bIB[٫i{oA!2kLVXH@tj5υa.ܚALX↧l&Tܿ UrҌ bm S_~9~elr#xQ*K>i#$zPf8/IsƵ8B11iq!a9] w7-?n܋eD5Fy+`@x; T{# X#^7I4iO U}e``Ny#6kImSJc>sp6SZ`l7 {X&|ݞ1s}ʲu˅i>|N*Ptk x$NuiIS_zl`?CC.IgCG˥9|植\-%3 \S ~&3sP}ޏȤU[&K'_Rw M2siÈ(vW.; ܙ ZcTmBʚI DHb}8arhPkg$IB٫KiBڔ%z0A:m:r %-[J≃:u>͒=չFJP AFGHw+|{y= YD95B%r\l×V+M $p%Ѓ>C!*AhU͵W`mAJh-`:K}u?A ()Ȇuq8-OU|] @_oyiYۊjJRڏiwVYR=)u4m=>2=0%^]Ŧ) 챆=!!3GVJUZ"2P}$y!¡UYGǃe[o;F:M NqrGn\5 M ,4yWe"CrRan:|p`1x8 )r#؝iXt~Cr6 81(.V1LewA:JgMlN/UJmA]hZGed͆OhOTwnuLtg:W~֟{^psZXbruy^cvCD5(~6m(RcP5^ aFA Is Wm-KH LD0ޏ!cp՚L8/:( rcJhߝ>wYQeV*\Wz-ϷnHR%JPSˡt,'PL2T˟dfrV>(ҡM:zOw-<)* Q~t` "U~8>_q' jh7ckf|4Lͪ?9Ffe4VA#G%r.` ak-X#\Q ?Y/sysOp?0C߄:?ϔXp~o ѰhKԘK!#e5*/+n@LJe962HF,_|A߶U|u>w-roekӹ`=c!%qL1uW8 tZ^ Rk&:s6Zx3_zA\O=1I~^O=^@iйǢ);i(g\~@רP~LqU n`W7_gW(G '/Ǹ !z? *.IgP=V?[ͨWJJR#b#`hz?ۏ8Z{A o O~|J-=fX0O]u)9vO91x fhlָ-a’9 BkۊٚUt6﷾:'\_4|y|"SlPʉ'#lEkA \H'Q,Ņ VV li nÖ4ag9f [Е26"#KLab(.Ty,X;{au(86v`< <{Ie2NGH@h=uVj _[\V,cD7gtL8ڰ#l62mh  bWOe5PNݽo0M Bv4գRF$},)xLf .+|dG'Ȗޠ~A.Gus4Q..]KQ+db?]yCt(< J $XEr &~!Dq9j#V\@6.?/8ͪRMMIx`e$fCHWI21dV[`pP5Ci杝Gbr)$RtX\Q" B77=5m9~2ER jiG t'FUTj=l`@1]IVgL`Hub*sЄ ~7]q%YɸK>ߗk Nm`DNV#GD(,|W3-L}^?GSQ6?N^-fGk+Un?# E&rQҼ8` Ϟ!Q D@'Ek1h\'//lЍ>A:1|uT婪572:< 9N?)1_[87ni >[Ŝ2(=3gpŒ)&%;SCNFnqW̢Ab#NkfE:0Mrxf-,^zyi+ ?- /rzz[/ 9{u/o3w `°ZF1&,NAkߝ9z/$Nod.;jL1.BEWmDrϙk MbɄvIBJ)IԎf4?uz,F9&VtoN $˕'y`R~=us饞uR3ϟE!ъȣ@L﷯qE%"%~]ķ6:?7dIX8e$dqA #̿͝`jr%t*UEkDҥ!k ޟ0~X+ w^Ii9D FzYXv]6&MrrIq.VnV>HSb="-S^D[{8l{|-Ol*ϖk&MfDo8\diT5<3b访oUh8jHkmKN2W1rL-L,UO}^B ^wZ)\ oU+;sj$e㨣\Ա-A{uo;Z=Aȡ,MV˳)GqAfpޜY3F99N0b@ +*vUy,QtXf `Z7:*4\dQoVB w%跥BqF)4=POv*M)]i ?ZQW|:Q Ca(_q/l -wP{VߺESȃe(fQv>E 䩸b4a tJ*g|-jъ\,H8O@C/ oVh2&35jPE;$%|% {(y4Sggُ8Ա+SPKcv#>b}7͓b%?ʔ%u'5b#8LŠ"h߮ qp\)9 GΌ0!H b DV + [px( /d$5wUxl߭`t1 ^Ò-(+w2k=Ba^8ZA7f`3Oz.9iIizѵٛBFA= :U7$逽(ʰ5W`. `Y:— dPZZ*h9-p績îQo)';VAե=@&B=/o[W%!6hX7+Ñ;Re1q]t7k+7ԣ Z"=_> Yw (\Ä'1^]B=֧3)<ۿ~vZJ#Z$uI CΰhZGÂl'9P)7]ޫh eJN fLA!n k-bf]T-᧔~WTc 뤃,BV^Ds4GFkTƽ5|}=$ gꐟԕJzlr_p Q;[ohЍ7߅X 7YeqfZUڹ0Sjoe ZK]j{_p4"JFP G fe(7\hu,piKܝbRO/Gt.)Dj lqNuh;.C}YDWwu%XkB]>ՖؔM=+JN0)u-L}LKިb-p`N$A /gɇ2kWʝ>o>ƂSeAm_p PZ;Kwmrk;QXW`2i1A1L"u/Bo%}7kAa$T15꒤x |7A e眳ԫPCZoQ!.9#5("ʱ`W~=/c>*w'ŏJ̪Q 5h5AM Tx11\Ɨ' ߥO_wl5oR ^mHě"畦 Uq+?L" ,+C(p1voFi## jĴ49_,Q;WLgk)Gv*)ÛF[h$Y*x56,g_~4'QP`(%ucU+3B%uiXLVS~g%1Z6Ŏ *XިOQ͎if:QI&$;+/n$ 1f(xc#-d_(r*2o*DuO,N<[s`H2ڶN(#) -]OmZioZ*omA̡ͷm"2Xi!Țˤ|3wkh5`04bq`ufI\͞kHʙ@3TSik>㟧z؃#U`rk٘+ԐԆc1gut qOmLwOB"&JX/ň zC?Ea+C{;D$:z(9 '{\>62pu^iioVW?{u.a" D;1*sL`xL&~^4FrlS 0"phcNFY<}o6#Y@ryg߰(4r呪,l$%z:3Mmšc K&RsBWic*萮%d?rg=z0a`d{(6E&;fIMJy {O'; ]![֐Jb2 iz0}0dZ$!%ypLc E+/V?p8X 4hU,#5QB Um)Vx^٧ qk!i[9ۑ~؉c6:t⭢I7fPG,GGc:$Fh? [m1`u:mh};^CѨ{.(5Z$Pa_[U: A\JyٜyKˑ.Wҽ =oiu@2֟Ҽ)xb&@1mL`DKK`<,BIf"]?'xQtaօ1MaB`}~2!q1~"¬+)+ 7#ka$^8L9B7z3KǼ;(>'D5;j$u_qOnQ?!/64 y:|{xVۚ0їCdL)  V@57&I=PHQ]&BVjs_.Cz CX鄨+؃hEw͡< <8_KJlJj(5*t |a3d c*IM=|kPH-RF.W#;wbDꎲbY _Oe;&+Cp[ү)*3kζHo"H B~€,Q~X*jA2||xwBeƛ9s + ^\ĆCvANUMVD9SԉW0yiXNߓto<>?C>C,j윛P7yDzhE ;X]I8YcN9H)R5^tR5zMZrUKRiZRzՍ RIOpf?G-[s38ISǪJ1uO5)4+?}ϴc*`@Q>RqT=8AKG%x~FZ0˴mQ @SԼ myFG)>8Pb$ІY`B-BZaBtʞ*0¶(P(ߺPl`^إ#$ i>v6pcV0%2yTjԙ|J&d.C9B?B CXY`-q\גg2nX"ίdQ6` j1zz{ܐ`>֩Dje?c2/˦94Ɉ%\ Xh(yWNś_H х jiypmΦKȄ5D2$V!1YTU.E AUˏ5zqd(&'k]qyI) -+:;ુ򋮹,d:2KغW tp}ӟe"K9ujsûxl.)T:hx}ԋ<=v]|*9nF_}u̮d\5'Զ1vP H8]?4ڴ~Й;%`I,hb:ԺI"?ryJm˧^(u!zl")A1, x eD'Ǐ#+kj@/N09 tk|7I̜0 v-~r&r_D8X;d6^*PΔuiC~/0ƻ8f}Kw*{D`RIfl1L?"Je; ")u7L~[X_a75_&(Jk@sUH>WrIM:($P LLZRVpWnߥ4 fVT=}ߵ+.,%A#ŐAk-$&4")9&">3GKXJT]eGU_畷YefCſRޏGr!>(:W|ʲm{I!~?{nY,5@DHC3m("G[RRP1gww4<2(0A x_I) X t"1ڸ^,wf\Fv;hz(]n`6H$V6v mSr4pJk[FCȢ8FsKZc3) V l#$SdzqTS3vA^OW WJ|`O>!r0ljBU<*|aק{!#?m|DYlD6ݖW+)u[kE݃~Z4%2=L2C#U^5oCl,"Ej]l1+q j@ CΞr(m4˭%W+l"delci } +$vPDgטnPÝ1Cp-95 0\qvJe;?V#ѷdM,66 ~7gI4=%kLJD9&hq ?'٬R@- '_sDP7kY\UM& ^ =MC+zatGP-˜,j{ieWſyjefЎn|>`cmj d<^(!^!|G3RY"e^BIؼE=`L7 pu] W9NjƎ'*JF|8ο$0:1O R2*iv 47,r0ئRǪhIeRa{GFمXѪ/9&к,nSWg+D:aǵZ7Bɣ_ u݉& :01UaM}:Rے:a0Т"ԢcYP2tMG5mmtL [L氥~'6B0#k Hl<_pBs8b "K\p/M OL1I_=GG+ԁ 2 9} Pbxh^9 :DjcFGFtcl Zpeó1[/ٻ,cdԷdPYnoa{/u6] m2?RJ+5(0 6V~iN@JS ~9#iN]z*YF*[Av `1rSǦČ'N%AF5 L?&cyr:WZxPܜ"f܂\0`j ،w#q[wbaqXgM((fSg|C~jk-=V`K?V ACX,,9@ 6X<P(v xx2O˜KWB6},p7aUV-h .aa"v<yTLCa̱dܝ#n o'eE'?12aZx&oW?ͫǝh#}܁WO7ǨaB q"sz;-[2ylS +$dHD_:teM^֣ AOp P[28~a ϗr>fRIu;E}مNPD\U"CzM/ʗQS j kjۤR0m٦,QA>@#T0c=!9p?ih%nk]w6^8'~1auOE=KA(`pһzee-q~1ÈyRUm˳Kj6ʲgGT7Csos9jts[%'7Iq_Nb%"n#ܮ1"g2Cގ]#̤Z`鵭-hFZdpx/)Ws$"#e (4ImmĚ,nmgRM(Yy t bɌ@+V2O>L>lc;-\-\{d5ݮ:v^e+-$~E!b,QM*sV#FjN!@|S}^^PK<=s*ER8׼2Ԩ5:;吩*#Y4>#-5"LO{tUJ5{1y71e%JNۨa3*SweD-mT#zfOLA3hV~Ō|7F+{"Hi7s SRF\,YxSFqV׃Fp9}'-u0֕r)W Izti~Jkcxւ|H^~=z6altз'Z_ulc=in=Zsmo)i &f*\~ G ͻN`_#{b2w,uƒ=Ym9 __JoiI3GGZ ^)B.i=S~G,# !Ȟ!}% ~a@(`di} lѨ'1Z,z_!%R}^?1"U Ui jegfb }')u^EQ|:IhG̨]:bv`a=y%TѶX_8Z3A,zL?LVx~nG F|3j|$|D՗_EgU^n")q|ܗSG Pa\AMS[1cj L6Yt!G?<=g:[.ee-ց`]ׄL) R5kEkZ?G>"{2O8Ǘ]_y.N~Yd@qmUĐT:@>kʤ=ajP{FLtYFDܯܕ"s~S$&TFP'P`Pz~q^g k `6h@Qbw!p[1m~x!֩0r M_@ otBS^c%6J6 \ އݽwK-D }&˙w0@4XNOUrպґ!95hƌ_*3} ܔTws/Wtq:k2pD+N :d,Y/cZ' 9B ٚAz &&c;TD$O#f U"Щ UU){o;KFqwݧ dЋ2m.74gFcQuN79~A•,⧬Pcada$AMBFr=tm~ KRa|{Ą&c׮/'hP]Y׼"?U'aÆlw]g#0)( E+vpw'^EGVK]/(F4=9s%T.AU8r'yHS,)Zf 'oY8ԫ[TK|m~OoAŔj =YiƵǁ)X]4ȵM⡟uZ ;3~Zr?-ҭ#i:0>{`s(yۭF[s(S g{S3ˈ3Vd#Z/1O jH'>4 IJ!T _ :<"5"8rm(b#l`}5.i0U K؃ӭl@ݏԓU'=$ r{ֶ)"PJno7do`hױ' @~+\-Yޖ;ol.HFVq_/D 1&ȅI.O"s`RlZ\Uv GCEsJ*#/dQFπú] |WD3{SaAkM,E(7NV#t#*w-~^*ָj9e| K@9-zpoz"޻RxSPMr֦@i<2sEg0StZmlҿJ.ᔸڞ~bQCGrl xE$ k=hyn=p'k"qV /4%#C7ݾ?E+r FF5.EO>x=SVO_D57DvPBxF3K^"127e.28 (9t65ߴ[CR;{ܸ2N̰ee*-7?{0:NQ᾵g yrn&8d;݄* &,}g6`\S%+NZ#=h(r~P;?E\i S7Ht!U ͭmXzĶ~rte V._ p \Nr ~Ӗ㙡&|nW8sr6M`ÀǭEuьإ$ZDL`~X ݥ}LeFYy)8;=}G پc]Z- HFFұ,HMi{!0֧GXUAnTp#p3VHEп K_J#u5IG~ló(';Kû*i;B}3Ta.):s1ttULO4of^mH7迬)?%,t3ev낉@hU}TVOyPI"W2vL+#)6)x*lބ>.ͥ{v[H;m"0gSꍪb(!V\:䁻InW~56mʥ/bTĞ#X6+DG mAiFmL팖 ow:79;wbs'bWJdWxf!:cTڤU0On:Ϧ4SbLm IȱsɹܨĊ0B%o/rMu'n #/Q}kxe Z{"6@ŀ4#L F o C0k΁K{CNHd-2_8YǼW#LQXk 1-:.{UW#f4t&\3O4J7z `(֑^Q%IY!uɏ3L:*\V;2DG׍-N#$q\f cvn==e[<5hnsE=dJl݊-h)X{'t'waar 4A{4Qy)'+i 5f (Vooa )x*&d%>UvEAC#Rڦ\{+9 SEGNŘw6-X6}zبgD:]ל÷oIChA01C' <,p[)4"?f|5LT1Ar+M6o@_hjҗCd'W{q&DF_3o>ؓy6"U>jq㠘.F1}iy?,p:bCZhWƙ_p:癨 D.2A+ѻ P'wi~/0J,/ێ pz+UK`6X:I.IBeU9,LV)P#;gʭD|$z Xۮs(ĮY hlo R$[;QI^3^'e_DZ +cLz i2g@SI*@I\v*d@UHN&LirHބY~RtW'"K&T= O bJ LV#_ɣ1Nr f^lﻬ |es JHɆşwϞ7P"cA~,fl{K-dlroٮݔ}hܞGș,r &+uN7kՂ zM6d`̓2WxvR#ܞ˜X?$vܭ%P/{nML.~'I rʗ#|B2@8;#H$Ԥ^W^[}a^ _^%:5d)+KK=% ( ZSnC14xnz[]ᚪ"3ƐJVB$ V"4=~K_QBV`1+etS2'Ȫ5,VNupgB|s'l sj.lsW'NBC(_Ţ>n?$9)o+H7Y\ie У >C EKsK@xщ>^If |~ޖt !01XuZ7$=Qe O~e2Wkg+xl)uctd5ȔRXU;oҀeJa{V. > v6몄8`tMo{_ĝqZz&g-ϫ ;^Keu{7v+xQqWg 2h3~0mDWǹj`Ý6og6TJ\Ɠ0;8Cn;FRP2?68М6{Dp9}#!I,w䓗 R*kZC]"&J3N$63yY/.W"U4#0fgXM.H|lX9oe<$? ^wI .J̃Q0-ΒS)*5VkoVK!LvC1cz'9$wTq"*F.{fԿ)ARv_WKq,ResX֙Rzj jfb8q>Tܿ 8)KXxPn(3vA(zr* WL=2R7E@|OQOnmR4ZS#:˧I/Uҫ\ឪ[OulS }Ξ˻ FTXJ~ (6,vȘjVP $QXtM6փUъ֙* w}k,s_xs_ei$W3ĕw%+, 0\;v/$b-ظ2st KIsxS9o|RbCwW*7xn8mk0/Tl&2CPyiadį)[\lqW+d'5< -b}Ԛ)< z/Pb81a?vE B 1>6~8al8F Iy ;P}L[t~&j<[lwZz6 |bEIvQ.sH4<>h5wB5Mۃ;džZ<^0N=fyM`) vs)zM h=pg4z/h Յ\U„dCr#^#`p]J, !0nyPaSKAcvZ^ }QVv҂Nh~`H ib̄<^\D$c1F$cXX5,ca4!}ػ1Nu@Wr'[w5¼wIM$+d1 Q]b q )×c1VfTDVLUL G`nʝ) q-J2o /0H%V28-, _0Ep k0,lAA(O Q* NW}̘ӑN0AgN-%M~!ǓHY$p9W% <+|٭a?$LCz\L [X{Mcr˫R ٌf~h} s% c#* F OϕKbOt=$!<5#+t @O<'HA-\]?k 'a1[B$};6Qsͪ_+`a3gO}xc``rzɴ {0ƒ2hހju.yGcq-~yFD5(@"Ib`]l;ht@c5LR.b~D" HuN`)hy >zZLSDe3?ގnBgu^N3ׄBcYO-M < n;42Kc> 봤]^%03(*Ӑ=S2R,)+{b_9Faq}wGntGuvK'ҾkF]Ql/,E9ZLG!R7_3BRI%r?ǵ jꀧr*Yz.Kb8ϿPR5Grr?`p`s(:RًcD1mKh Rx>-jJ#1y_c!f},r3r)4:L/mkA[NQ([]8FMW*c]jvKvi"Oޅ3X0k(HjWflq'k_ Q34O%-tqO4dr!& gDᩑA44+p6 RfF@) ޔgC#8`.[;d=.ժim=q%jFq c^B ۻl~@,mɰKǤ£f@3MoPr:FXXvG uŏFpjc$ /(OdMWcw(X~y dYJjgf7@" =#W[*O۱i.-4$0G?˱rcy,8>G \1X%x#4'݆-W[_Z{c L_{Q>F[Q_])w眙޷'%n’Y5>rhV4pI+?> ?X H]6Jo[lpd _>nIfqrk܎vI|)&TUo 觱&Ƀ3 (LzO<ʍ^>ϝc]H|[~MXñ3Vs3 JU弙M_+IT'uprGS74q.?]K 9b{瘛\bXgX8oTCD >4S6_ju8K[msFҶ!+?0x1YNcEPoѿi[s6Լ25>k#1PkEԮ4S6o2ͦOU9j|u >r `z:AzB>^KK`/He;^OJ@ohD_6V>Nq\Gy0.'; V3IRc##aljPP&>Bf ar{&u__K#PfxW:R3>u.0w#\ymQJ8Һ6<.`0D"<N?B`tc 5oTYFNMo17Asc!/+aLǵaX-q,'|corhR(Ʀ@K\(̌ƙӋ!iu8Kvm!9rgޅ̔3qa$+; S +ظrniiid- A6Fv"ݬ? \(괓ir}GoP>&F:`5v_8Xe=,64pYDϩm<`&scz|kZ#D2xv.#0rN B~|&rIޫ*[c'LF>]Ҁg:K?)D,K=cU9VFXŤ.@l{=1Y5)OhP0Ju^X{k]U0YG@lks?aבiӎgYwe[`?{w4"XXq[ 8q{NH)s\Ovf5HhV./Z60%T`kE6dO &G𻾯o];נ'Hdv<=W_N-Q&#*Jqa0,%Weũ;mƉtͼ*0Du]" A2:kTYi%Hp,̆sKZwnC>ǟ}RY,d3NqE'2&^Fi3&?1$6Է\eGbߝI } =4u0˯lnl_~LG,bhDKWf~g+D?-dXxRIZmIлYJ_˾rv>nwrCDl90f2gJMV}5p*|uS;+39J9c ^pF|r YZ