firewall-config-0.9.11-4.el8 >  H ĉe U]v\"ηY"etP[3!`0U3FOkwcIw:t/ǁVG +K)Zs^ {7$$"޺L12O̙xgYN %4Kk㜆ӗ_r6m#ʙcqCW.G"L{d3 NͶe=uO0-Z'^Hªw9Z|WΤ\v[,0+H92Rvdz0/^0Pmg#_`qVcw:oC W\fQuǓdxe&g`\:$Vi8:O1z[-6", ;hRbfH|L0E/")l\5+J>Y,$]Q d Z}#XcTK`3a=Jl*g\d!Ϭ\wmux Ԇu(2(4*чGȬG`nᝈ,[}P,mOϠ'JTFhO>4QB\xr9q[x?rZ) QRz*`pez l| yJ>`<'?'d  B $\ x   Z h,L $  (#8,9 :%G`HIXY\ ] @^! b"d$ e$f$l$t$0u$hv$ w&x' y'X'l'p'v'Cfirewall-config0.9.114.el8Firewall configuration applicationThe firewall configuration application provides an configuration interface for firewalld.eNaarch64-01.stream.rdu2.redhat.com,CentOSCentOSGPLv2+builder@centos.orgUnspecifiedhttp://www.firewalld.orglinuxnoarchgi  m ́큤eNeNeNeNeNeNeNeNeNeNeNeNeNeN37d916af7674f831354a6a82afc07c2ec028ce24e4e836d86c5746460e27c9ff6080b60f10952847a02ff58463edbd845e860124698410551ad9cf1b8bf76a4592654f2a9bbb1f82ae2dacae50dd540ef05c6be4894bab0e7e1588ac1bb42f236d5b33efad002f15b318e63482706e01a2b1df6ed9b902970374b51a7234dfe7f06bca8b424798b7eab76800bbd9c9b6d8e31cc2615c0055f2e49d221c470eeb7f76ffea9100006823452188c954696a7c9dd92d6801937a23ecbcea2ca0323318536ed118fe42b6a27c94891454fdc709a79d4e34171048154b26c3fb2c9fe44ecf3ba61c8daac7e13a258c9bc490dd6692b0494a7f83b9ef655084146dec152732f3501a2b9262bb1458713f5f5a980655f7ef5d48cde66902643f6134bb4742de1cff244f46065694258388751f164866b9a8faaa6ae2494f2cbc5aceef511af9a194fca0292ebb1458274d5d874e4ca86aaf437a1a051ef6cf721ea70e546b9c7b22d21db4f44072f92bf8b71ed68df0dc8ea48a071e15d6d9298c0cc8eda6a4ee7e2cfaac8c72d8f4964f7faac325104cab29d554a5305caa43e2d264a7da605e96218fccdb19a26bc8d1e4cd09f6c8e5b53c4759377dd149538f01753brootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfirewalld-0.9.11-4.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.11-4.el83.0.4-14.6.0-14.0-15.2-14.14.3eDeDeDd>@aap@a@a@a@a@`@`@`````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.11-4Eric Garver - 0.9.11-3Eric Garver - 0.9.11-2Eric Garver - 0.9.11-1Eric Garver - 0.9.3-13Eric Garver - 0.9.3-12Eric Garver - 0.9.3-11Eric Garver - 0.9.3-10Eric Garver - 0.9.3-9Eric Garver - 0.9.3-8Eric Garver - 0.9.3-7Eric Garver - 0.9.3-6Eric 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- fix(nftables): always flush main table on start- fix(ipset): fix configuring IP range for ipsets with nftables- fix(ipset): exception on overlap checking empty set- rebase to v0.9.11- change default CleanupModulesOnExit=yes- feat(config): add CleanupModulesOnExit configuration option - change default CleanupModulesOnExit=yes- fix(zone): detect same source/interface in zones- fix(nftables): rich: source address with netmask- fix(nftables): do not log icmp block if inversion- docs(firewall-*cmd): client conntrack helpers must use a policy- fix(ipset): disallow overlapping entries- fix(policy): warn instead of error for overlapping ports- 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.11-4.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 -fasynchronous-unwind-tables -fstack-clash-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-860c44a1159826c7e0875c0886b98f71d466f5505f708d169e5d81b433392b502?@7zXZ !#,*] b2u y-iSqlnn N__M@3Db`r-kJ']HؽT5D?EJ<͠:S@&A37xQU:l4Cf~~;c ҹɱ~?7"(OGJ,IY0N|pa^==1҆Bfdybi$#?2pb~>͉Ov7Ư fWRXHlʧxNn @ci!8l'(3g\}U+r??Mj/po WJYZ ;|W ӳtPX}-rQS+?hQ=t)ҍ܂ޠddžZ$^ԯm3/Wg#XPqFB}tbZBgyz%-1h(c,yR)٘}/1"N3NLLH@LLGU~ASjI KΑA)[jSR~b(sjP!A]U v=" DgHlmrn+R#Jr^[.ӝhu[9U Híxu/D ?dgi Az쀭ۃ$#yM B!ìIuW)~V3/W r{O0 iҔPJGiM=[wэҋ*)$Ca{U~9H}æ&,IHT;sj%^LUb^G6'b -2i?3 |C悄J{&B )X28>)2ȇhpo4 }W٢ZC!s%<wq; Ǔcb};f$ЇS}8R`L35DL,ѣgO4>dƶ$#aVlI8OB@C`4'cVfI3 pzc.낥6|`)~@@b mص'뱸v!( ݩZKhFQOK%>Me1pAG( &tO mڬJ5* paC<צ19t: uS_1mŵ+3kɺJe[C] kGy}3C';}M 5x~du5y}¯pww>8ڕ=NsXzhNjl[ E:_4GXx`'(€:]eGO8+wa3uy@Urk WQW|hO\YiVzx} CiVqxZA#7F¥o]1Jy,,M;+3J/6TNnk?:o/hV8F62$X|ɿ yiίtǛ#v^}}{2w0eEZSH:*S~ >WgƩ`{ג `z?(_u_ꗁIiDw:IqիP#DJYڣw*U0&mcEÕk"%jS e4 E}ݟdH8|Sy)#ʼ;|J]N}@=P%[jr\ Qe WETsfPxqfk5n5܉>"ᑬ :=#ݎnFo-z}3rKY*z 2%?Lb Aۂ@Vm3W}Ns!0cDK:_ք]D@ u+biűz2y%E:䦽vhgRH8`Jy;R8_z$0X?G#X#uA0.s  a#?P(:(7S%BÕ(~]\ }mV*]N@OՊn/dT,> Ry'JE7\<ۯћ} os|uCh"!7 Н(%˦x6:}kQZH::y9#Ge[fkKKc[jYBlYl 3%益evy;#x.Tzfz`-^*nԵb,m$_$)Ћ|OAz]/O\X\X%6Nےjr+ss&9V* 6I;l >çM$ \r;9=P.Tx΀lRYg0ȓ4 (JB,$rB R$Z,nG ׿Wvl|ѦvJL%QuG?Zw@!}Ep:_Ç5R?q] H(*TRjHe`98&h~`(^|H)TU}y8@"fOF;Q:܊L_4Wct2xNlSF'Z"}C"l Jm68Hj{Xs@e~cJ_INYMIcgg3יn҅m^ٍNm!T⪻!+o$J^ Ȝ(Tp3>Xv􄏋ug\8 A=M0ICV&9;Z%#`oa MPꂵW4}81x}ﹹ3멿M]9bpcJjm,u~6@H5h  ,Q/"tz4pFb%4GOd |9 i\-/Ăf }„l`=/v㮟QFx6YLճ7LL!?@0nAJf\'=cEX^(2~ K5,1߻ yi/<\듐F+]Hݦi5J脸ģYʪm\Q>gi)&=ecwkj2 !ǥPqC@p"! ܼ۹jJ5nh4H=aM:=W}w>iXŢegGGA]-:Qu)js2iy%ݓ67̀2i"C±0FE\;]R!x>:!A Cf£-j:pAs`ި\9+5iH JxCt~u-7 ,ڝ@hT?Ұq#V9 $w,fjL)=NA>jQּ ?@X#0˪bt I?]Al+]K[bamYܣ2MfTв4i>ʿG`7vEQo:Rk%7Xb!7FcKxu^h֒!&:?XH ja@89լ" gءwi s_<- zOդIǗL סDNQ=awݞpq8&B֮s}Bޜ;CwE< `gV\eJ`iSjE^4PB#0!L;:?"$۞mDV) J?IRJyh{**=YnUQeu̯de$"CKB<9"Ħ$?:?mϊ4l5ŢH5f .6JG4t:d5<>{J&#x8(/[Ydh@(nSb1>xL:urdq,@wA'd߬mq&ۤv:Jg-yEW` GOM<-ɲ_}d7JIv8:Yϔz֖N(]S0KSJQ#YBf#kZ)d~%NRü uQy_bLE…4K; >.H9?[$c'N]ss ?Owi>3 vlGӘjgLT$Gm yc|$"n=ZSr9٘4CJJ[6 >+^%1}Lj9ZJM5(}&f]fDSqmHpU(VK_"$GЇ=NxoW'AP>emgc5'Zdi" N4K~IJT yE а0D٨q~\M~&h7"Y*^n'ؓ-_@R~-[2rI.-^=jN:h*\9FpI6D( H(-#lϰlV>C!〾 ~L93ʬ;lH\Ԧ gQK`ֻI@&봟9K%!g{ !w7[:B"WW ŅYJkn!|~p.QEiGQ%G /@VD;F](;V9%dnBZ~k2U P2WX&.gEgʽba{W\balXũn~ V[uD-mzV?`OQ^H(tQȓܲ J9D9owꔵiqiqRc, ew 8HfǛ.9lDUYiCw\6g:O(50&d`&j`Q_ҲJZ_^Aߴ/J1h,y+G8M~XSĪՓt(!?B+#U]X90hM2nS_F ` iaclJӱ{̤mTɑş`Zx5@^|W$vrƟe0^WGj0YF/p&JV򫢲|Cbő~q`P̒ผUZ\%PzjOd_ #繓cڨYsBW~sV+4%! {L~s$pGh{k=VH=bv0r%R9!)6P^9\}mm4ʴ E:)n8)Dʣ:SW{Ď̢D¼.*bB1zeQ4'3HbO{)hB_u,+ݱjK]x\LrSYDb Y{;5ĨgYgڰe!dw͇p&kd' ]LLOb;ah}.+hth!o"L*G{~lQ6=VnG9>s6@kl!exdbӹ(?ZͿ/ #fx[zd."?%y5<>,vѯjVn|C⹥m?$(}4 !Ueget=!7o]+3Y\9ߴI Efjy2TѰKySv} ya/X3%~g{ꊑ.gY)_?-ܵ쳊! ?)d^w{gf1dҜ<)ט'rg_K0<&Z n ]h ue ;PCI4T-'! Cz1)[ס ~-l8N)%ID7\@<3/ B]1q-YڗP!4dh1:줹ޖ.{c2,]ܐ\p兒St!22r 9"dU-ވ1!%6~v[+TlJNNe!k23@y9˨-\}?a. Bw:. Ft3D󘽧]NܓF(Y1хb.֛ ) A&usRq}\/I4d5MKQB ;Cs;~kl'cџ_uƪ>ĢϏMn5zEݶQdde#9̖ \㚩G, p'DW*><  4|9uDj"HڄIU=8'U@MDQlC Mͥ?-`@] 6(!1zȄ ^|z݀Ahk1#ԝQrZe(r+؏.UO҂M@ RPx ~%[wwy(c!}68ED@^RF}Zb2"\Z1¬wb^0e.#,J?eW1CwY66Ttm4c6> @ :dn6j4j|{X<0IU.Ȱ{M?؉.he'5jK,5qie,R,c6b }ffhZR5"I5#2cR gȃvwM Oc^DJS Tg! ͳ kVhާ4Ǩ",K'=b@}G"G1 >v{Q{ RG! Eeuĸe!3X.B 6?(5D8Ȳ ?ٟ(@Z+Á"ts;؝X rяla8Z .&/䷆el0/P-C|=| z FWXps~lofɝw,+Aƒ*鐐L1CXnRc}k);}Üu򩘛D2b !K0nu%n  et-j&&艃,?85!jd* Y$j`R@hQ&#4{lCe.#ivp?-]Gkl+@X$DKI$ՙXe/Yߙ> \\Qcɰ:P΀TL[0=˧J2 (|i `{MvL$囕%a]3#w]j(X*,MxKȋ&f7)sq!4nT(s9b1&l{?b?T\ zj-iW"slbE tT͓ y~.V+#ա%iץaeԼ??a"x>8)QZ7hA&N-8T]ܰi==sLsL xej)}z`} }qT;d"ac6 jR'ߥ 9dQw@5$NΫ@E4Bl]X u"M3.y8Bg)/X)x1(zC Gm@Ie([n\=f[/Jz'~ 񺃻VB Ta}s1X?!=([ZnjK&8%1"ِJG8 Kx'IzMf5cꯚϒ5'(9,1TskAh:Gηfo ag~<^ =vH-F~s%ěc5l&y vA(2F*a9R3?CҌMERɚ+6~OMl_S[]JΞvYOrbٕsr㉹ 2@vARs̍iG[!č%灥ŮlڮcYy+U{V z+-S'`k%WLxJ>=E7( `ZĵZjaH+~7 lMlW=/W@&BAnXsp):y(ɶSBukTB(SkŔb:e%kAP9K*qÜ,'+dP;^ /S+~hlDF$D$Xr<^/.XpST4zZp&#TVv/95\ nIr'=ymfӎ3d׷~\'şMh" \q""v%Ѫǘ¡ 0C{vvպou\ L'k;rf2w˭?ڑF%ثgz!j<Q4C"CUv+ %I=@es 9迨d"vg$(*2 M@@'<5q7>VE7@uZ̛u/բB%^Y25b9|*ⒼBWDr'8tJo$mWq<<ܓ.C>;2̶ I2Z>&|n]*M!C"<[赛Z{_P.^RFu?t_IuÁc *`F@ea]" ~0 e1}-ƳHVXcwbF bu#g z KsU2;^YQq I${+M?1 y&hK"iגs{|U0ѐJߓ?Λ(M~1o~%7l).$ҳy?e qB,󢸍wHD+L0P}J6.E`f\O\SB>KeR*Yc@=UmG< KR-yЭPBՒ PBqc}]FNu<zT.PJj ?Õײ=9 6𬰑O]Ť|M^Wty(q3;jb<$Aqi7kb aPsXZ>9" qt--W';6Ne]sB8֌^?HI_R r}i1H.&d9[iڂFG2D;1O%@bzJe PN|:7Io@PuTX<;;/ur`xtt'} :tм}j6v)op @W|n5x `۱n x*hFV|[C[+Cٟ kyY}z&WQqPGہY:K/~Fxvqʮ-wqK9ea&iYрlφܨ,JΥ$˘V#bEg_T$L^'<~;(Pw46|\ih[a&% RwAdRaq+t~.rAKS4%H X5>2$6 \;jA0-vVAW!Ƽ?K=} "0.U ޯd[wg1$ܴ 9gW#,o+x,T%.oT|Npvu!Ag_=$pSSlftSyE ke|q/"G܌)\#煦ejl R*2NPW' ,“BC})ؾrD;"0)!4#Y'΢>qbK"0_y4wx_5rRX=z^^'xs%zGL[|ᤄMr!rnfo{ŭ'8qUW`" '`E](rxt23L$p9nxdž  DRMLg~ql ]DA1Р׬OKXz鰲iPϯ0@rTg[IP?ſ̡tP\7~ppkonDrh=F )Z- ~z\v)RC' 6Dbe.먾eYyEDC6hakͧhyjmHX8 k(i2o-t;> Cݞرٮ\ϢWx\^Q,~`'Y+yxsQl5@SKҢ!0|[(m5&NK-Kszd)]H1`!c&ΗXKU$ii"nԫgX{<, >㦠(> 582 Rt xoSv >OG3bҕ<fUK=!&ph5o2 f0[8sL~4L=\oX܀ftR[m&!\^ Խo`/?/1(]Nq#rv[pi I>WZd"!ȣ.GţgA\da}4aEiA͕l9&'ht*;K1ƒ~k-o$Ư:(_8OJִ7fJFhVgFgP,{] j`eMNj+N>:N574}vb̻0jgEA{ūe}?,Q׾g!{pEIVؚܵZB8Mԯ ~xkҼ+aHA1J&f00Ӗ@&-}:VHTF5xQ@52~yҞIqkʿ}S'r(FHF@7 ' @e 7qhf^BMJϼ?pᖤ@{g![Ƿf1*lg ͩ)#8 V{gA]%hqlJ>9 Tv8D- oX1 ̕F?;N4(:ZV?+`lzi}r̠  mPq`v[jCN{= u8ᬜ Sy/Ԙu:bg <ջ<Y뾙Œ I7@E9{qu@L٪?: XQ z%Ű̅?62G +L P̴=dn"bz~|o8&(6-ulc[i=z9X1si*ׁF*Skll2#~4Nd/q,ED|SVƀ dC$_~eV6 RđO:M]y[;C~i/GtdH"&襕/M9 ۴4t/=5ٶ G#Ϛ٫6(@?Y?>[Rryo ouUYJ>t`n):'աAeNPQ%p Xnp<(1'; fondSϲ'"m$CqvK#U.r Y~Be/PDl';j Dc'µ29|Bm98`"4f's5*h-1l:QfPnߌyw,n|'ހreu?D_1 ?][E|D{G-  8k~He q3'PrQ%׾& (yzzO*4Gߞr?tOObF{˖ CSo:&Kyw4HgqͺJ'59{fK[c w "O~FQQ\mXg@DNH,+ǬĢ% w} S=Z= yY{BDd>Iۭʼn9E+*C7`.}_Ip035J5brњa`) ch6A7}UO%7hk2_ CDr)J44%NӽP6Ua5HDls㻮a^nh|GVf=P ŏ\'wY;#d իdIs?8%iv]zųH+V:?[a%^&tT}ްF6scEذT6Iʉ"IeZ.i15d:$3kI;צ)o_B[pDMFR(D~RH*R#{Ȝ M-Q6o9@(l4}F~GƗJ|[:۱跬+cil4(}Viv:S[Qq_˞V"ώWkq-GZ ̻i=?Ml^S-Z xavTXe+(/x c?4M?`z;; B@{V4`Y0lPfCP:YTEQeqWW*e{6k$XdM7,{KAڅMW ^VFO7 aW5H̯z#?O!O#CJ0ekaM#?)6Ձ]b%1(6 y`4;SR~c :|G؇%FȢs9J#^+4F}b4F"lt*`7jNgS`EQ칑qx1ZО#P3 ,"F3f[Y\- 40!^"yZkP1vIӰQ/;(?jj$ۊU!([}fGaF1np2M]%5tt[ Sosgqbݳ}J,j P5䕔ͥuyR}RۍC4[$0r na6tޱɦd&Dҷlb܃/79,G?@gu6'2A՚qG݂ ̇e뼝 ڬ.6>|ʥyBF}?@9Fwp%~7V wVntR%UY(" dAw9CS^W*Ωf6SO |>LjQ/ލ`pM 2[w϶k #DY"HL**B@b6ޯVz%of3X^nn+iF`=Tf'Fmi5Sw`_AlӋG5Dfy03m]GBũag߭+[Y* Oh@Rׁ/[eT[\$`"{`c|)`ݔpr eobbt5x>j+{@1ӅD9uV's!)]֋ژ/>4-WZdywF5U bkTΝހ%7ď&T||ޘ*A1bZU3uB= q@hes*<Y W5kOBҞ͌LJ X#b(~ة;&%FO !Hͫ*`%PMm[늒S\rZ|nL;Z +Sb%~lBrgur'+/ TgW 1Y]Ď[Jp0FѢnpGYqD;y7ZdpM11?!HNoxk4lWt Փ+ SL7sK0;'6qVoѰŎ״gH2xBέunhV^tk?W) *r E., AƑw8!b˭)Uш<6Bh}iݤ;Mtպ1[7NY_i`ǰɕ>k@A4wS>9n<X.Cδ)[ :jv/.j>4-<({#.)Jqא>_%!o}DUxP1D#j*\nt]?ޱ3؋ SZ 顑\iJNn5~T oh~{X.C>G YEZd܃ q,$+M>)`#9Cnœ&F*+R?ɤÔa҅jjI}`p>EjY9BFF/LQȣ CG[˖" 'Քf=.}! sEPt?ɼ'~Fe ldf 8#߶P+oGƑj"YE f|DZ16[vsߌ9H )b@u֗DCR0Si[J\ɮ( l0j{Ѥ]MHbkWᡯ=_=k^'N(ƪ/2%n):o -,b0`V0.떜}#fΖ t>\iZ[6|6 C~E\WZI-M{{~“a29Mk è_W3 RͻN4RImu<CduQ`-Hc9CJV'ZH%LC$Q5ͥ9h'qB.9G5].Loz6Kr]/ᙵ4XeX|޸Ihz*GB-?l'^cc'Ib 09uC:̝x'f'\xgƋ7^M>,aӲ :{}(ww+um(䶟4/͕6=Dr[Ǜ/- M^t1sg=v4IARaN_#"/BKGӸ1 nꪍf=K(|$@p=S݊c#pO Ƕ@3leݏxxy f欰r2 9x:H@%,K'Aiq;fmG>lXHڛ&N }!~u"j&Z5#\%ʐ V'GGic|Zߎɂ"Q /6Oxg]is}!;{a8{ЋH@P4\ː❚^XN)Q)ICU,y}qmꃝ0RAyT}-ڴ'YpX-CHhχ9])1 Oޱkqp_`>qꚘXovs;Q*E"wUn.&|3;'#W#p֐393$77ˏs^o3Yߦ,y(Sj%J-* =suP[Fof"Oj(=)ZB3\fjg}/8(ȐwczA:ÇB:i_7sBǺ+  axLtE-!HA7;޴="dO.-6/Ѷ%N\^K/z(N+xnEUIK FP=^daˤ7-RX!qī="5Q||2HH2ykfE%aq^d^yKKq֮2gx}`DG.Uq y~dk6t>F 2YYXPL?0`l[ah%QS:aGVu C߉Ugd Zю&6 W|ʫzVkRZg_jŧk۠jbB3{J$o(, *ʟ2ע`ȳ1VUY<WjLy/o+)[;JvI+'pـUӫ}VYG} [8kFhWTaK絥AX3| %*iw54(y`۩hT! [j &.~O.<J.)&o'& p|`aU3A"XE5IЗ5=IAs|3~hturQjN;/OѢ|!q<W2O*LoP'|ba4(G#V+M8ߝcxm\'s~{¯ڋP[HdEq99n֑} *5Z7F*Fg9@FX\be'Ծm25@x:%->]CL;UD < ͉`7E k& rv x 6T#P&}%'{<7|#*&'*)B u6J^nkV|Q${J|kZკ)?p^4S5#(t;:jHrqg0/C#*uzt?a}j 鹿׀W@o79.^|7CHaƁ nrW{:3q&鄫 !4\Jdn.kB'@ֽ$&Nrq@ `^*,'">3WyG7'8I1 4]:Up 9J Da[+J0pզၝ^Nӊ|&AWNO4{&%%VDiEإ[MFQ:7J8-b\umZ!&oBި$mlu)gCLκcG6 M8VqT{!`Q`I7+f `S-;b^Tf=oou㵋{8 s_:%Dtp=wv>ߦjqp2SJZ']~Y EWi1uɃ> -ΩӠQM).߭_ % d(ᡬ0=gaZAEW"~J=X菥},JF"JH9n#;(,K- wFVᒬCA ;u^޼&HP-t, êlAA/~IIDcU VݐI*$ҍI#4mw4Nl7ͽmtH PSpzz<%P98`ХQ~1.9mm.Ps$#x?A,e9bܬfS|9 s Jkۻ\G%o @A0GO$͈N$S'û6?!l1/zzp*_!A|c%Ϻ9C?^%<i*ZMY].JͷƸΔ44wϦ[4DjWr@cJ4hd$bnLN^ BkcJи%p[cs5$؉3.Tnbo"s . ҷQ+駶'jМ=YO9.ў"ͩ+=œ 2+Q T_\K .L]6Z~aTM feP%[nB*I2I4͖G{1d4a #Z EXbEY> D ^()RmX5mOL"~WCoNּ Xs2M_79Wd "B{\DŤS#GqnW 獅4qf rygըl:;{QDlIK.ym9#0|(r7Ig2*1mr&^ĴOZ2lws:3su9.?qW!4>*Ai fFZrl{|\zuww"l>b 6'C5?bD=(&RZLU{>bL1h}d?"VpFPHzguCNa1WxMsza{LZ1!M{YQ$?bS3X`/T@ӋEWMÓs!^]f{JCy.fZSR̔dbh/c?rW|gK1K;r@=ۗ.oDbv$SD _Okzjg-\0jg_O-(:sFaoӟs#5_Os'0:C}]© #hq}sܔlSEڲ56cFK]iaY.njՉwR>S߭Io0ާHS!DߓH]()y#}waD$֖xQהaAppƗqo:w˒g#ZQd$;e x!Hm w;<_DCmi+4&RP9@atk.ƚ1SKAӃA\ea/2JȂé'ݭNH1Tu]px=x/: 'qnf{M\LR`ꄳlQΐk"Q}.1v]@6WƖ_"RGOp?y^K ;G n ͞J UÜRkx'錗0r]'0?s=`.j&[b Jd?a& >*![0/4uѥؖBE3-`w;l 1`C˙Z9,8&P*{X#تc&bUɻ<s'febC@`>_,"3 ݾ t1ō<ʛr?1&K׺T$ѣe _cEpi9$>,|XY_ƇЯޫ_CJ}& $l:H=R?ɦ]1qKٞjG'1PuH%BId%{C7 O*zdz^Vs.%gB("˧7xw9NX64^iInwwj?t4mJFIA6sSGhF3-gПaa&35;Sz4qAtV@ҙ^Tl00+}?ﶠ ߡl1#BDąP< T\]KD}|~kzVx8,H׌m?jm6d>KS(sru⯇_Ţj#(G %rEcRap9G&WcXd89sm5!u=̢ɼ=W&;{6\ơ,nv~LoMuP;ßHz-  %~.gC.;t :.k]jMڱpۥY퉭'8Rn\6첋0OMKD/%]:4*?k,l1,[c{纔xޜe?@psN ,V*y.M^a ޒptFH> =3zXy&8CTr5fq[ɥ(CUlj?)UCǚujMkLɀ;-Z,(8:ij_kaPl^C5u#(˶!O3"%9T!(bF@:NX\CRZt7ìIX(S)ɧ`AR-+0OÅ !2ȟ539W= CֈZܮSq~* Eh5J_9ֹWcɎ9lDGaq K[(mX5<6^/<&߾ͼ"7!cGjY!&VOt߾np~mjg/" J|z[4y߂dO TJd6O%{hījV$i`ռ>Uc`9] 0ԻE:ը+<&༻v**WJ-:tZ~ޓW!OƜߌoodj<pa63wJ|'U\R}RavgٛxW%6N&t E5vU@]AU(~*^>8Bs*7M56 )6ѿѨKhgqWld?)+UC[*RG;\c~9X n<5 Ǒ^\ V䙥K{]MpYZe"Ae3?L}6e*Alה•0^AWTd>9QgPp>`BdW*7tQi52VaG-Y^etBt"XMm<- jyFxdODGOp3=* ՞8gO5]f=b ?uh:~"bxZE6D1 Dk5& jk8dU2=wCU'CQ/sɱ/:e2=G_V PLO|z:@~ έn•z1nPJU _[TANzWz[7x俨\7*oLNj.AA@6FXIg>IbEd h`Ҽ7 r3q_Dr#*yvbd~ܜ'ǽ*-ǖʭk]qU{hJ2jD_yTeTBrzYXBX,qwjܜ]4Y\a6h6^U" ar WCZ1,r"bp|S*aQ["";eW]wo玬aVY.[T] sA,t |;总oMw ,0xFPɈC~1 ɽ !VgFYo| r}LES_ @I#}@5_c;SS t n9"Zja3o@@t `cc3 )y\zZV463Rr?ɓV0ob-ӓO-^T''+Lob,9V>~^4;;=~ž:T#x:]&‹ XanؗqyVMC[6N}]3/:w𡁝V1 \\ 9)Tq;5UNRogj's,Wu0y elŵIפ52eS(+Yx6WOECE@ԧ<2'n_WmcaJHZk+ѩ@\m {{$5ϥ^?1H<`'L@ihҭ⬇.㛯ǿ>-l;57I+G=qD-C+ő\C a.[,ZkP4{O%!bCZjNN` Q."Po^Oα}zMf&xӸSx-P' D o6eGMv8ثm/Pld:g,*U$!45Ph)XhiDXW} ~zmp!>]{77|mTaDO+bԜAij:$' 9ZiD[>O6W~ 2]P{31%;FjWaUCz[qgF,1z U+KH=n%;W%|'=oxh|&uX>aMIgK)ӡ_`t+R~vT)CSq'|:ۃY[t!h'lHU 9z7jURȂN]O.H'5sSޝdIwZ+l9xu>,%+w5WE.[*SiU0I]7VMX.`eZw3kM@zcbY&4~<{,|27BU(>wp `zrCH.68>6ͦrWOl} \)&Զ71?`bՍCR3# 3$ws~(|S4EgyASA AXRoP )Z;!PyJ%EPWiRl;9@N1: B8A7SrTYۨic0//5#Z63"ߙA:M‡ޙ 3Crm*^ CKA|61ָ@8/ v*7+( `3, }-ء;mtZ|G6,6&s-;VC0ݳ݉`,Tf\3"6#(ј߄^1Hn2EdA[zqchZMrФ`U7dmܵڞ&iZ,Q_ TX#5jhz.@C\YPN{D`51n#ЖVymyCM:^:h&ooH3b P7r< Y_$+DҐ:LH xB'0cz>t/s+@/݋gķJG3{T^0H,e*a*6u>D"_0&eObHnc6J谂!,EiB[X¼ LElGFwϙ0/W>= /̏V&4kRdm,FvViL_zejDᰨTr?sxwԁ+2]@@e>FxCJ.o {5gKp6;h }L AYɝk547Vه5bZ0-OCh+c 9Tf*n]Ŋ(VUsx~t;!bׅP92B*(0g&WiJL 4,sC'Nj#TtP}D<bԱ'r$'^$i\jK7ϕx24oct X%TN0 I/sz_r岓s0[V;R ι}dIU/R53~=PZ6{>ڃ2aAug ndIA -ipW ET8qT99n4 aƖ*Ek㐭,*yRuԦ!x'jceUW8=7zHѲrw*>.;7*JrZ3rjB0/8%d>A& Bc"Xsfȃq/CͮzL1@.3m 4 [8_s 0ۈaIWk;8daD0"$/ R }X۠}!O&{⽑Ѵw^8{1FI'p_RS'@qA[WhLwه/#I@ɉ9DƕXՠdNnC햨A]XO`B4-o6DɯP Q+H! Uo8x^EĻI(CXzRkջF}W^.L2&**ؖ JE+J{JK=!v(53/v_)TbLksYpr&BA g-?9l8Ɣɴam`_ C\cC܀m P^aCF"5dAnN%.D>?1e.'HTip; Zo@0'{!Gs)MXMw3ЈO42lY:r5n"e):.qâpJ|u1 ]˪LІS]HXW~}'b{+Ճ`xj7^(pv,A?)+HwJ?~%b+m|%5=gAيB-vB8fVtSYPRw!` #i`Hmz(~1.uh;%ӎ~@nQh*oHфw*SBV|Y BO\-ޝ1e\oROK_̄.̋b Ͱë([f"@nYtV"Y$}喅8tOcSygq,^ܞqaD~lK5Z?5scAqh% >Pyߎc l"6 %9#h};zwO?ׅ(~q*/CB=qr-HkZfct4\((a+W4RyB:K. {O.1ޚ6[i7o281})`b4Z}پ ?ކDZV"|ԠSMLK繤P)H:w Z耓:$/C II QN{C< s dJcn~g6Zлl) =d&e+U s:,+pOAZ+hC:z~m9d?H=n6q/? R+ ZbNd^`+ͺ5eGO x<ܴTұK@83|G!Z>AY=F =K2Cqg dZͮ5 ںutϮ!RN 4潈}g7v"&g/ؿ3KzͱGk^"Pkbt!u^`kA%Y6J"3[0ψo;(qIe_lu&ij؆Z~/k_t1/ OEK @.C$kئӔ8[PQH&J45K~ZK/z.SPLbSv3PkV{睄ĕ=+/(&I?t ޻y}m74ïx"|y=őW@ghD'o /lifubt^@~YA-_~рCēe%^0YܒŠB1Dlb11 y} rS# S pD!KF 8rxbFrO13X5 i lAp b6nL HA_c2Rr/fLU fGT ߝJ2|G`iS;kpT*Wt_.׿60%8zMy.X Q Y`2xvYOMl7(lzKMN]EA{CƒgF;/vF+oBw#bKcaWq*mVu0'tH UbmjIj#J Lm3LZ_)uii<2K|鮻_uwB"> sS2~h j恣ZR12|DH}ājAhm> Jf.ʅZ䲍%C 2+:*vs AX`TPRde,z]c ![ofApiTY sVEQp+#t4!=ڷ@D u=~|*Y=oH :JKZR" Y.@^EA,l$9`w LG:r^ 뇋쀞o6˒+;c pkFC@CـP5! L2W]9줽pF#' p(mX`͛o[HKPloc-=81^`…kDӭ\1!Pe|ŷd{vQkB3[P1Ic)j e$;g7%1!_FﺿlUu/ YlVL8\\]jQ@A%EwBj,‹E>0VSefe}\L(.D*!e d;{*hX mO|U~4Kj $Ezb (tSص!#B(I.v9RnD%`PsP{Ӗ{Ȳ!r ]!pHG?>6->_*4[/ Jb@-L禔 D"nqq*R$텠xNE@@nk6vpf{[4 GS:%7\O"dXr&){y/x?M۷o'u7HNq3:5@4:Ʒ _+EY$+gi'jGx,ѱ"h,t3^&tx=RV<WURіk \ƞz4z-k&6d.ғq4:Ì,NEµsgwŬlwzL'l{ I`$e|O_ސzRhx|/ǽ7,\ȅ{B[%ھsȫZ dCײ7Tަr?;;c <͋DH7Dlm nd Xe;Nx @hS,-6<]=z+D֦͏kDP%EF*w?ҧ1rj=Pw_S9vKra\YKeL'+Z 'gT.Bu/tX2E.^}#dW cbkp #,1d&ީlGc_D,`BG%lqX+MZ K-Ht5MI9 Mc*9R ttx6ExdTHt C,x.[t!$cӯ[1a R<\x]SHMJ^1.$?Z@͔Zb3؄'8s3KFd]"-UH1|JQ=W}ee@z@W::*cQ,o`fl}n꘮Jdkzzh?D!'9 UAMm̒75C4({yzrSC!7.p5χQ;.j66nH[sAvTz [pM#I |O4#2?i-ӴrIǺ!0)'XsһY*wX<jX>*LO>6H=!.6Csv$}"뒾ߜX%Y~ 4gE'<^K Hț;!:/%aĵrͱ&o%>6m_.]@ޮ&^dF(? xOJ4 ~p*2|+&T6"k Q|6d--~u$ @HPA{WÃ݉ZX"A'R7= ~O-_.:K1yqGKS0fwo(Vvlj!c@1Rқ*deSpb18)ԋי||*=t4 ?djIpTƂp\Gĩ# _Mn9 4߻wq)>`hdAdgaA(YnhUĎd xl~dUDnmX\{dK<1$8a(Mef?L鰋!-⩽Zj*^ZCݞS\%﹔,}ĖSI]iu dmr.̼_.c؈&CӯX>@ }`-$E,"&TȚ49i2Y&Xve4^O[+ba tR#0,0Vsgl3h"Gt_ WF̳odu=GL+QN .D98KGG=E-9<JsW^Bȉ@C=ҽWj~ED[ۭNz͟o B,>er+OP"_mQ]jf-?5jXgClw Q}kcEg]D+vU^j7sܚ8S_%a%0CpYIi6|+q} !fB3p4xf#UC9\=J'%BFM5R;ܦ"H)l?>9SWʷg'NF1IÂ^B7ݜ5bxVs'/2U"cU$;BTaP8*e;{>"yv҆5@>#߬-,2B7-9md.m>;iFiʂq)T[m- V/DRmEL gpE؃) SL5`PWHXFhm i64w@=;,e'uu}Zu Y5#@Zz.C(pǯo)w/,;Б؃w;=VZ*'gsXIj!_nwWTWl" J(!#?OrՀgAܠB«?JQp/u^+e yMAvJv P̲-$4tikWyOc0z}ͥ3Y(>mWHCP<e [ "&-=OJ6fVW(insuHXȰ΃>_W16A]#^3*X<: CPKK7S>Zq NGp떏*Y-䁠9?_nHzR֜ ^"ʍY[-Wjrے:i<͕ʲd(W:7J]BKS.~bYͫrQ T XdoH&|E2_aF~օ eĈ3'q>ƙGQk<0Ts\=>ƌ7\ ?yg+o) 5~K4lEt-=>}`+@"lZ!1r")_`uU1Ah 9㤐*XU}IO}RēUc.R i.VJ;xD1.3ubRCi!?5sjj;W7y܋YX1(mB>y_F謯;H3<<xრnl h;2Pw3O%5x(lJ<𨹡"j!0CzWXN/% z$ױuR$pmw"XØI[6 Z pևMRP8b6|°D rְeG:V~x-ZMP!28"kw /ItH;05(ɜ6}[S+ ` &ic~v@By?@J-~a fE M ?˟Qr!8QC9.Y@ثNٵ4M˛+I*Lju%w_[t(*U ,OVgw@C% r q:@-){BXc;ѿHXREA"=$K?=+σA*=ҡ^R'ڨQ9pcQUw^erVQ sK _hpC {bAlOB{`;ddDǢ zhDXpI?rXZ͒^X[- АgJkr5`K xc44;&rҐp4v"Uma8R:,Q8i bפ3m?ĎT|ƒ?9Sdl$Dw*EZ7"5 Fؓ(oX 3gG/ E**J'1GĵꐿSIL`$G@j4(NfV>h1b4WC\w#FyCw!' C/J}' X}st|y~g2!K]dMz|-P'UoT3` 1[ŪÌ ]RވptN^iWrh>Meúk:" Iḳ*cϵ5p&\?jO9vmH6>{oϳsxWX MMeT.I<ybDz/L3d§&5sҋ v6*F#DkآP qz-w kr^SۧMCEuo]iw_MT*.kcd^\ilgVNt gлW&X"ņ kh1*Hro' mz%CWՐrE^l~&(nغQguITlrR|Gn[WQ!LXVK(X".iLxƑmu&e,#Wyu1vj5PphC]5ow rK˱o}Y]a8PHhsK.G٪Ł1 vY}OopD#~MMJqK˦vA,'BG$CX1k|qPXjge+Ǹjv6N־0fB [vnG}{ >L~m @}6T$7 Ƨ50&VQ dys \4# m͑Γ#bsubܸhבK C7A3ӌ}q86୏M1v>~Q$:GۖдϺ5n el\+fi0y6 'x$]GK9)O .a,9\l qp(lji1Q,[-:OiU|62|ߓkLjJcgbIU?ƥG|w^;y*[A,:rԁi^wܞG8W4u=3U-C$7 vRsyF`}V SF/)b*}lu/XQ+CaQ,C?_lIbRbuJfXܴg$ji ̔z}0diї2*cd~RRgE8.i`,ϼc=Θ-KK{ -l3z0H`Jq -nhH$H7) ܨ 6x-՜T~7 }mVG RJV> E8b²?d(ܧ 8'rҵzP;,]23:54*o^ۆ+R߀7~\#""6RJo +n1)=CCn~$1GOPe'x&"j(BfT؏{ďðUE/']k. r}k_]'e9_2m}OGEQǽ5$[[d+l`_"Jh0ewO&2ʚ$,D(ݥwemp>K^OVNʩT]7[-mi0<.U 뿳;gg;̑H~ 'H_TX:cUI]$S 2,gɤ0qٴ:-_W5l2X^Oh7)kKY LϖC`+CRogXd9u_aB!U{[ӁmwXGR"s  ltx?DؔTX8v{M~We#`m(Hوeγ;$އr0=_Zf^O 8DI3#,mS9&WIe\}3F\hiUa_C:S1q֝L4p<-FOWSC e5 cT!x e#u}zg#r*`yKwn)O[D&HmrJ-JE8-.D2τc<=EQ$?sȺ`VVr@z0)#ʌl{ `R,MpT3qpi˓ug(,C8xQN$cc;(Bn$w˘k촁}b_oszAzy[B;$&1F"hg O u3im (-&MA;Dbǿ+4mY+AögÆ`JA(泮/6E޹9Y ݵ2w58IyHKHKp;\noN1ĽP 1"k6oMɶ\ b>Pd$d׾&s29Z= i~h`+tTF`P76iy aZ/u)HQI ad,<0C[f ϐv|(nAO'.O6,#keSkJ$blAM!'SUŶgU q e<}q=2Bs`2$qd7~@tD6Sx71^OTX=Ny"E9vU?'nN_}tV{̈Bg4 8 ݏN&WB$_.cُQEqUne)O.n<ϤU@ËןxsvwTV ҙ]q3^'?9^vKe@ՙ @8V+vU(ه n)*t~la7)Oȧ@ۦJ;^{I4DG 6ہ.4U\*4guASU3oD%3{Dӗ-I“+ҝ]/!:bDW^RJ@R J)嚠dO-#jD+LuيC홆*0Yi8ͧ}Y/+gS,Jm c)^l/!""&!T_25k6.9Ϻ0;CF0 o7SF9IRO/[ѨľZŹVtJ,^VqJ]}:s Xp(/3ׇL6O׆}FlJzc,(yY pwB0x>l@XMb[zq 'Îd"`٭c )Ѻ%9Vhϛ.ҡFx ?kN(h_I봠[uXY(k=1qQ&sMC[~kas2yD׷^%hVje + N7tnDvT؛}nҡ%< Y+U";uQP'*z Y(5T7k/k.5K^0˿qMtRO=#\v6ug"=X2 <suI;ǡU`cB)~| H\vuDU1G "E>\PyzhLYbYNx-!ۿJ+JFzlD |MgXs38Wq=$U/"g9%|9WiyK !+ДFM׋gC-q'Bō_SJM멻%7>di <{˦t-{l sU-g퀊Z沜 c{,յ%&̺QN'#I-+Gq$q^j%u@O?}4u5We@og{gD.̉h( `*Sab(h䈓Ew ׼3f4o.sL,%T0dw,xWë2 *'D#* brѬ˖)'d4(]'nˣr=>8|1yLZќWsNV\jr=<r]4s| v`>vo:;,a6rHHW0E֭`St O{&đN@ {qg;#:jex+Ӓz(T>B.k(Rm(E+CEF Ds03s36g/7plW"y'2&MPn#x2?`ama/qO7PrOy 76 g@yY4Ygcd 6QBi4>}A|?ϽN,P(K>gFb 阳>=`i͸n)z٘Qۉz51~Q`!I;YP, gi=T-5W*Bꕆ_q|CSd}I |u;QT#+w1h̹͡IV@"TO*ȆI!Q+FMh0k6mb;od$w3JOUb%V+k9#g͘'׿-t3!)_x#bM Euo3BwD`SAOJο5dȉND:nX;&(7Sy􄑇xCQi?6?y"Tߦqi;5l.c.l Kx' ptQn=;,W;|fHpc/]ȲއiBֳ>wMF =~M M!@:OM |"9c{Z5A/ E;ޭߞ9.䗚H{N̅* jZ}ɺZϿTEH_*T Fr[4bԀV0wydl,t!5/Vy-]yeHU )u'r//HP1n>'ngepYz$Vlî^&_nO~_KS?EyI}v#q>bt#rʬ>N@qYS9nLv vڸ{b  ְhS`v(Sfoj%ednK?s)c| mW1%pP>Bۄ ?k o{[@"9s9%'%/Z&۷ A:<4A"?e WԨ4OO96>RetOCE^Ek]+ֻ@PȨXU."f^o +Կ "ۮŴĩ@Z(Y* HȿU};pmas 5*c~=;`좑@=|<}ZTz#Hu͋[/)| {ÕKeV|ߕOB}ؘau*C^{,vCWv[)ŘiǪNBZ9j1=2l~-K5<[ÓA;$y-v8F9s !gHgp ܨIvF'_JKbo<#1= 愀d]k4c%)>IjFX >X N-{W5In梘Ԃ6^gaQqݴt4 ە8K_a*Xv!W[ײqfs`_F!p9} ՠ7fܢQ}2 ( 4LY֓=.PBVi~u©j:|ClGc6 ţu Dx҉h#J Z}#Saw惕[֡rhnojc" }~XvH^#)q{w~?ka,Xb6'B*\I>WaǿobƚWԣkQCT0HF$<0FXY-&oz^nRuԙPMs>![st`2c p2!)7Ŕ!J!(w\hQfM95R oI6I8R],[UV n+V([/ 1.A\raGAy ҰV2TWCȽ wGK3h+frlFU,&$)*!&"{u2g TaA긥ʿ&cQgɸu`ga2F:XVz *pf?S|5e:}7.U<̥\ޛ҅$q hW>1cmzs(hM- :hʹbk:aYw6]PiG٦r^L*&5po!%w!5 ǃ/[qŎAT0&:Oq!֝6mSG-so¡胜lt=fu%1+oՁ1=E򮄜dbg=iTfD=lP W9+9Q&;<XtuM!'h#RG,ͮPUs++S#]hpNT5𝵱ty9tekkif9rޜP'w,HSAfl!ϕDhe֪ܽUpJX" 2;% i{x=gqz`}] 2P^R)4$BlȆ3|9m0PRV4e 6ʑ}&iyW_Ϯzl)vfzn3+?{pfNvZuUfZl\^]V$X4Ü: a.,qvs&Uʣn&G:>^}k<A>FfEtP(K"EJ" q\k$P 0 9u: bP  $A yᵲE/O]aQ֔o׾x"ZP ~ϒ)^KXU0wތ*!N9}ը=v$cʝPN;X%bv\S`De&'1+p7',L (l33kLݻE wH:So!+jkTU{ir[ci&FHx/aJ始I&%A!z4 N[S>}im8bulCûoV\Qn%?JLU+? FFB$5$@SncRC0xI5ʌU7DFTV ~/>/tiUaY9SCUvBrڳ)[.{⯳,9ߞ/E̦)<<'=Ш@ nPk,`*#=)7Z(W q`". Vߗu,-).Wn t6D8^zX^C0|FWݿ6E!HM}UDS (5S΀*xj#o~ EQX$u}oyB́ublj f쏄&iOsAqO:0rW :LDvƝy-Hwbj$7P0/X 4!O&Ov$Z[K+/2#SX+ZLQQUn?rݗ9ڗX8f0e%wEz ! 9#+kR'aXkC~4\3?\Lw*z}Y/n$j[ pLa \y%Ax Zaˠn 7?ԕ Sղm2&ݫDՔ@J n9GaʌXue YP44!RV. Rj:?RP7J#œ(5Áeǥ6ЎݜEC=YߟAGF M"bTk11*T |IF;qb5J sg38_.d7 iղ ~Q_vO)^ZZU:C@=@|hFPYuXw}Z˫(I'/Nu,+LoUɄH /A<*Ao-(̊$T[j.9ȔqyACTLA3=l:$@g"~*\-;jSۢXz"3_LL1]wl~&熡|>84ND$ez{Uz1Bso |Asv2ksGT@[TOE, ҭluʙלW~7e15)H#8R z$CNqd3}Z/;#^PW明`s~a$~ 4Zu%/IT_[PmBYP2}|׵X""UH&;tc8\kȟ Pǒ}Fi}&1㲨ĝ}O"_|}QWU+[\ŸMHy$ߒ_ɑ_%V23qrz w(-Q "\"[ڊ?1Z ]+0dȼ_Ԙ=χR v|ޓOu~[YJ'fOw%ݚfk5uw"'e"!,[OG݀L Jq1%pޤjZg{sم8_J&d{z3;t[>Z:ufixz|!>~U~x7\Go'2<˔"j3Az28U TaN衰!%fdsD ReuB$<4h Nl}l7 LuڢPh/~٭/>{^p&O>1§ ]/4*j}1'|ʀ=B#z5Nkuȯ)7nP& t0Q({\\wjL~68 |t$eʼ!:IEzs@x&RiKKep d)ؐ,b(ݹ}91?Su۫ݜߘ׈Ep`WMw宙b׌UumlA쏩=cӍfTR;:|ϖ:^aҹ0ڝ}!0 - ŻW{wnmɜ-Wbbmuc/Uw8l%Ƅd4T(,╃a^0z l$oyb MeE}qַm%R$CՔF,ٯU49o|Ͽ$S!f E|y~HapGV29"ĝ.誮N'a*Q(y!Kpu{z][+!, SHxDj4ׂ1ORI>/lQpiF]p6sUb{$ā<Ѵ{chEW|SDX4L0ֻSTL/gW'W OM ޗ(S.Nug+8(W0^7T;[C0FAsoU:rQ4oscF͵\Q}o]hP[=K![P6 mZa.|VHOqQB<26 ʤ=_+/А*7$\ѫAc+QLh/%Irv6zZ5!eY-zJ|Ur%ě.x&rFI։X+mk:f;8 Äyc/?u].ZI*\rNguFGиɌ#1r{nC-A韆@=E%cv* ?&65S py Q\{\}^Ԝ\$x'mCbd& ķe6ڊ,눙Gvz ss$d`íN[HbLHyApU: 0eisM^_we o3AbHbA t&"R +,3\qݥ3h\9"GJpX]1p]a8<M M`RHs֏*qC7 Eql+KKD xjZf[`wʥVlQf, @yiZF~[g;xN;cnJ~bkk(x'f |]udNW8/z'v㬈5xf=jqfgmTDW aa¹a~wzZUętuFHֳ,lw-Ⱥ "` #0mOѿ%)5W)qӫKͮ+c=;MjZ~YޏXQ|N^6I0`H2j!ù9 ]̛ Cϡ?aWzffc0W{dh)b>XW)lJc1DIW )/_\ 3qs.Mw}ǞCVVJ$KPa$q*@-51X3!ɒᚽcDR2d]a_6}5/X|6MחCxeڄΎ6Nq}Ηz 0yb=:~@.6]77N19M1=pGBb3XiW1C>2ORǿI` I+o`ᶦ7`.ىMb~Vl5+mбQY2u}3;xB+ֱ\X@,T=A'=p"J\`r}Py㨪=_'L+~G=gtc|݇݁} $ȄNQyHK2L+-6ʰ'z#CF;.?F{[60TE.kj$0 3}"!~tB ߮هwk'rZ4$仼z,sd޲F D3\*|CY|,ѮEݜ4S4sQq-ڙ,BctՔmg]bkkF ?:itcd%!)@b ls"^MQnK{ܾ ]ebqƏj@YyOc-n\yȣm쏎ƏoX9:0NJy0/qF۞Q؃:_S3F d#1k/܅w,[&ȟ>~B*6V5xs3d՚ آ*g~sx8UΔ䩗<::~bNN2=ĴtqNV'Druho,'=|26٦e6ǢBOo(5ז_{̔&ViEiQva uѹE *3(@tP%qV2|Hͽ{uβ :]0bʵ`FSL 32QB9_$1l`eͶ]@hJ#aH@Uw-z>?o'&`%%W>s([T $-TtPrŝ}@M7ɟ?r { Xc&Bx V䟿~ql>X!+)>Ƶ}y.ty **f{eBw =A2czݺu2FT>>2sUl x\lT>ݍf 5 㬀[<,2ӆv rE? :/p#TTb4Bz-z6WWC*; 0O/Lz]zq\d7R;{JeOD3N5Òm qa e:MWGJoI+yitF&Ϣsi~F0Bde@ :T'\7W)[+SD<}[ȩQXo"}1ٟ^Ȝ8lﮈ4 [a{~ `uĨ8!2{9|^o_ЙbF8ɾ9QEuKkvs;'7]8&Gda?dr"̺q\^BjD ܵ=}9:yt;<rd(rVb$XjvG;(& lۗ- h'[.>oR!`\m]Dcm}<\7O'k M0O~71H;e'5u .{2 W)!Y:bʭl[;1P*48? jTcg1,Dȓ?MC|<&6DFy[;qt#xɧ0T4 o)fE، ^o.IpmԨc${ f(hHݕryRS-HE@c|yRaܷc %@BOl\)5En=9yG%lk8wyA$ h=8+Jwpkm_?V,#%)wQ1J awHuS&A&G0o?k*[sD$n=ysBp$ 8,9TgijܔcOl[`"v?C"fFFF ^OxHGְ [Cxuk~ƪ:> Z;n}cVp'>@O$}a G2zwIg c'ç$'GiFSpi [Ψ[rLED$ GI8v\Ƥ^Ȼ)hQݜV-j;}Ao8ӝ2 57_1wS\:l C_)va|fpцT%)H ku/< :ѳ t?&8570 (L8e>P1Q|Y)FꬥJ62|kmzrԾSlNuVM`f&m G2:,䑬_CCUhaQW)txg,-4X۰|vF$^HI`F>,TuY>G{,b!Xb`JS  o+E"Z J\j¹W*dd~PlnZsܬ>$bJ=pLƇmu,{f7 r@arzVЄ3An햍F0||r ϫW~y9PR4}5)x* D&vCZ=~1xK9u/ūo+/A}=_Y njlۅ9{ 64Lڴ4IH,~Cޔ_H's Fƾy_DYRfgŰ"S̋b[gVo(!W! m#o$ mxɌGnZĂӣJ`+gJ~h:"*ĖZ-n\?jbuL%$;M[d7ӌgbi (^WE΂ː[9$F" U3*"#![Sვbtgrt6Ff: 9Dqq:ƻ"%TܯM# ~4z ICde> @Dj%~9Ep{RYi L"7'Xqz5n猹?θu'dȖL㳨:5Ҳ ٨Ax@wev<{rst#J5d J>G A9qIU@Q_>#?wPŨ%K1^y9{s'7vՔz'ۏo)_~A{ʞ}M cU̺$Z'D3c0^$(~ dW9$(ǭdnW_ ]fWFpV*zG& 20Ц"9'ʦ-SQ"nzr_~"_[6BoV#\+Ƣ[ȗD R._61 2O$A4k&#{ȼz[4R݈ hf)9anq@$YҜLObe0Vl)01)8Û; 7|K.B>!MO::]Oj3НpM&K!6}cdNz-A;$ߑ\Iʥf~;tOv%m.xȇӞ/%KA0b[iZ[@A`رl}B .|˴7ٞ4:6`C7@)܉uE8T&]KKO>˲nlY;~px'D6%ʘ<$SJm1\MfeUD9GϰL')xp0dE[!]#N 3K{EEx[Bosd ͶsA o85f9ÀR2䱞(W g^2!qyLoѲW,a;15GYuWG 5 򖓳=vR2 e2dv!K"Vi<` ݣtqͶssUNb@B 1K_c<^G ylLDWĽjhpJet4z~%H}V`W]Q`}xwEyvm U,QNb P[44VőtnxX$A`~8kC !TvW;xKFO u +>0GRp RG⁋mlg/Efǂ^( dFIJYU $L)|oŜ@SRsF&-2dYݞ( P/g\r~,8ꆆGZH4%hm(qÝƐ1:LImf{FNƜ*S(,:Dиm۰SmVP k^Г/:~ 6Oh>dfi{ٕX{Mp +\_[yTR䥋L%tZe74H Rʯ4zv~$AhᚘDSX@5 ]dt~kx^-z~DjCiıco@U轐Zyo9/_6m /;ס4sҪk>=<7d_k>Z{Abx67tQtpax2_ظ)XMHϵ;ƙ+4*Ѷ:}E%m18u?Pj+md&5y77wϧ INlS##VFa^ݛK$<Ξo=K[/+B{> p](B3 ~aLĂ6N:{Z#xNcx^`ړB$]mq8vɒ^uC@Pw봔:E%Vk}tIe SlUJ3W+zZuT䗞NÎ=o!vL;&7FjЋlz"+I֨'ZL!duJHݢk?/Z\u \i.<]|9'2kVPxSBկAr'r2Ti g3FxIXѥg<[a=.7슝=Q'&+NX;2v`yD8]3&7ՌB3 d%ޜxyLKЗ9tìU]"{(TʔEA}c)Ks'xݤH~p %jYb|&4];Ab5st }Ecep OġFi W׸1MN5H-L͏.N'O ٳF|t*6gͼT fJU>@H;SGҮ,[ c&YDlw3`1zD!=\$׿^2VϤll3Z7G rp{zUVPjЭwo{JD\x*fbTk~$ĮDOq3-? p}b(e^R!6n˶\FP#% 6y~NN4./Y`?)xtp[]϶[fh^V.0'g3w?IԒuup/Fa.pn @ЄoAT5CYKA[}Ń&/2twA5v߼KR+&%N2{1ԓq[v ;i>cGcz7DL=szO :j'5]Q-F4:c¹e"?}dL#]Y+bP|,~L2VPխQ}o k Ko9mV3 ľ*4IdcÎO<5oJz>ʧöWJ ͗#|D$;EсH$-32ABvNer.Φ7c)-- ީ*j{|.8!e, g#{Zpwa}Eo/ITb=Zd> ,e!'0jkD~g6voc6At>b(j`m \iᏨ0Q:򱘑mxS;Rw`B`Y:a3/H%<] NG929t)3~|GecPZJIK`$ʆ疘7 FleHv**-O,D|@$E5&GO-w}o?Ia QӡYЂUOUɇD(g3 {g1Z)W5ar\4Vil1~5'[v Ԁ,94fZxJBnW.J VejIfOlO``Dxps"5PuO|BX/l[ 59*'";25> حOtrзV'}nyq #]k ))&QJe`;4C`_U[`*\[ )(9<Ev=R:WW_{$Bj[BҽORݼ#V_;Z?ƈT(՟|5倥׃ƬF`&A7+Z}OE2$#tZ$ !kK/͢^Ą l!*q!?QWn Hh=@V]DAڋ NZټ R.K42,HFC0ԛ}J CVJCKӡ߄dcEi֎ͣK?'ŷV-oЛ"AM%|~S5R~z섄30oƙd7qjLv?ZFy6u(m‹ùxFD" ,\*,)PRP75>:,G݂g*}zsXL YH Ql 48[[¼+"r@WZZFKȥ#Ose9YZ^}4Nf81" ;;9.WR's-ǹ}^E{D5ߩj*5yI@2G1a '?\tߗ7DOm  }?RmA~+~oGHM~`AIEi NI+Qo7T! h\ )'H3pG],܏3޿ʊ5w UouDžV4wԐ=4!zvB0Ĕ]S2`U٩#4YuEd^F+R,fAIX (KbEθE.eWBuYzuqq%ڟ}e7(6rÇB;Ue<떊Z$e+N9N%|㏣_vh=+ό!ȑ)QҊő,&УN>ǃnPoofZ;նR5AruЧ r^^5nss(MTζF{{kC9`q!mޅtrw1#ΡqZTrfKCHnO w"E \ʮu+95 Pasv`W2 n3֗477)C#<(2`ھ_H<~ħsj$w jMi 99{ 5lժETu+EV gyas&P,s}(JSc IYy.^X  jaoQSiI4|j f#gsJPJs\4B WLdtˋ u껄7QJ?sOcI d%Q ^' #"QN"t+ذ7^m*ŲQ܍yg#~뮁DNҗe~i#%Y 5+SݠY(C?͎2l߃t˓H%[/0׹#\`șZ#kҏŢ #sXrP-_@y kɳ/'Q>'hK)Y.HS nʟçbv3ďI՛2D!~ z2́o>!S(sYGȵ9"llho]UjpQ ,Lq.fE-H$|(L9-d.v9AX.<6&zD^)Lg吁eSe֯`͓%A ?Z+>SSsOE3|ץh{L:),HwSAn1wPU)nغbgaTB<jD^#:K{74 E"$_V o'̥l~$dru [((NIBeȨ[5G}!#UgrN8!\nɱF [$ZatN܅/OÉDi'8AdC}ojȊP,zxߚ)7C3 rbM(b"G/1ٺ`8t?qh: uWs>ىm%U[BK 0Nf+)xz ۬D)֙Kz ͸ =lbXwF ]&Q[LFxIZex[2PfL"S:|A*azJ2-@?H f#˦QPJw.5^Iw(- M+HY{3=ƴ()1s)6"x|f}Wz.!P192 rW)h\Q&s!#S`;z357lݘSv>4Zl;Α yu? ЄWq@n=uO]Σ^'WgN[Ń, LPL yMԈ `1n\+K waoV!ڟ_lt:Q-:6S+' о->(<+֨.mZw6s`Gu& jAʵ.%%t%G 1m$Pqڈ>*6K,n/(ǽI7VF3O ."&[7AeJ?2K A`cr=Gl'~\ j-I_<,&LM-KjV }O.z h9h gw: YGu.Ϛ9v)#.3 ^ rSã}%Ne:Ñq(p} `Iٸ|J4i/HkpItAI Q浍oR<FO׌NO[;]2o0+/9bB](m}pO']?7q|1ʴ /3ZT7C(HpELut} o4_ *Y-ǷA6QA`BE0\d ixݫI̯G3.l$4 R,2F榜g QUW-,lfL-1'!\v'BQjȖ`m$3 ?U1[YН ׽%xmfǦyt\]yϫc7+0D]#C`شݽ- ͥ@EstP3Z_^B􇛡qyՓYa Adz痓,(a%i(FGܰr* L_Q,v21b0hO5 /HKA C^_܌X;"F{糐[ȭ7ronܕpMW{]La2Uf" ڴd 4V퍾5>͈j|y(nʋ{<.h8 htmYjP0*U;Y:-UM }M1 [db\֧f|ƈ;ĵHu\\m(& F)e69՘Lx9问]Ihi P+@ {+Z{7[RXJEhf, zs*/ ׆ou,pBq*]oueK" K#H. Я.E&X)[Bϋ3 Hd`ÍޥGt)"q4[dGӐȞofz\;u~ jcrfBg0Hb 6t&ue|͝CT< ic"hQjJ&h9; NX\= M+!x3aR#@cQC3r7#o^ʒhQƊWXϞv@%qځ`{20 _axL̃(_&U0g׀b6e/r\%?E 7eƲ6ej%wk]aDU2zGw! R`Ë(c_t{/Mx'sAŐ. ?$==_7nLG$Ogp9P8i& 7QhՌ^!Z9  FDK>عjA,1V\DW.f@=!%7f+E$?gz9&# T!O艐t0dU z:SGKY#Ϣ.曈c$j0Τk̙~KR 3j u&Q-͂gA~'~+yh<ص5H澙ٍn7́ eϘx>/ILӶ[>t?5ܷ-u[-< zοBmbd:FhrjC̎}];H&Tdt%)5i3ITiV BÔ2=8k/ ZjKI4ឩ`xa݉L}oN\fDR%k0넯1Ϝ)z1y)/njA VK+G\~ 3hLVoEFxZ'zD-xzN2]Ҋ;H!*7H㮨iE֫ B൵f}[錫0tVY ' rv?H-b c `<.D^GKR_yeSE_3V_~y7O?M'YNVS׻Vj W eaoŀs@+b+Wxw*B5L ibfV}nSN?].|;4WJ`W%cBi.a HE\ꪧ'_SYv *ju7,CK J"ND{@&*`D,BLT^ʔ|e2 Ii^訝yS,P|״QXϳƹ $O ěZF?X Үs=:X~_K.\m`ݙF+fYb -N\WMgt|>s!eW1D;nVG 3y(x~kKyb/Q-g13V-\ܡAI++a ]=ǰU60vH?vne55!{ VBAM;&eH ^@?̜uR!䳨s6cBg/@ÑeЭ{U7,l#g*0r׏YNR7QHy \x|0/j>krY+1L >T9#{(W~ጀ1rZF+ԢRY1rU*٧~Pk_A, vc_7J"UbpW]JV~q 0^hr0am%p;ʮֵ/=r鷿'z66#W,<4Pyk$׬o2ɯrI #w 2RK] j?Ÿf J:FIAT ݯ?3ߥ4T bL[ L jG0%|Uۥ[kG, 9~Ze`PW)iGWtʖ!׈jk| ]4oD3'"U@26dQ[Kwpf#/x@i  `yqO_ߍ~F:bvZat1&dž<{p}*3]jYQhby[B3f7`^u_\:g'kѣ?2Ir6l F9n23