cloud-init-21.4-150100.8.58.1<>,bG=p9|J=-5-K/,ly,sۑB[Hv )o5{n]`-$>gD x~W'-,t@ W# $*`t˻jhEz)h=@/7@}-;-:;8 ۉU8PS 4n Q*+@(T KY3ޓ[ii,Dߛu뇣Ł t\3+;kNƖ^}?"wʺQP mM&/o.x>>l?\d   ? 0Bjpx7 T7 7 07  7 7 7777&ˌ&ͣ&(8 9:nF) G)<7H27I:7X=,Y=8\=t7]FP7^r9b|c|d}<e}Af}Dl}Fu}\7v8 w7x7yz XCcloud-init21.4150100.8.58.1Cloud node initialization toolCloud-init is an init script that initializes a cloud node (VM) according to the fetched configuration data from the admin node.bG=ibs-power9-145SUSE Linux Enterprise 15SUSE LLC GPL-3.0https://www.suse.com/System/Managementhttps://github.com/canonical/cloud-initlinuxppc64leYj+ :< %<b"j_I i + 0,5V z,A? [zS| D4kU&' B!3 =$1: $2e^T w gNP|  JJy q"y .Zm M yp9t Jd .{E&   (3P7 5'[ W ,c #: y  x ' f *_  9+f e:%b  x^f MY#  {D1 &* N HHiVg7'G'e>7 9H " 5 \ (vQL6  mYT~VZ MYV'KY=9UX@YBh g& F3V2M  Z oQ( E%>"/!1t#8 J ? >]&) G {)/L4,2v.KYX$|#>-T% ?lH}q -!h*b"H04k# x5&0*]#-e7[3 =8'4py,>(5r&{q Ax} 5 V" 1* ,!L0t%l b}M~ cQ_^&uE2`n0d ;vDp R Y"m Z2g MTL4A zV90IGP= KKAAAA큤A큤AAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤AA큤AbG@[3|@[@Z@ZZI@ZZ@Zp^@Zo Z`@Z]@Z'Z@Zr@Z@Z }Z@ZYYéYX@Y@YzY@XXX@X@X@X@XU(XOXN@XN@XJXIK@X@X>@X<@X5X43@X(UXX2@X@X@X=X=X=X=X=X@XXX`@W@WWڍ@W;W;W@WUeW(V@VU3@U\w@U>$U+TgT[@Tи@To)@rjschwei@suse.comrjschwei@suse.comsteven.kowalik@suse.comrjschwei@suse.comqydwhotmail@gmail.comalarrosa@suse.comrjschwei@suse.comrjschwei@suse.comjmassaguerpla@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.commloviska@suse.comjgleissner@suse.comjgleissner@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdimstar@opensuse.orgrjschwei@suse.comtchvatal@suse.comrjschwei@suse.comrjschwei@suse.competr.pavlu@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdimstar@opensuse.orgrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.combwiedemann@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comgmoro@suse.comdimstar@opensuse.orgrjschwei@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comkukuk@suse.dedmueller@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comkukuk@suse.derjschwei@suse.comkukuk@suse.dedmueller@suse.comdmueller@suse.comjgleissner@suse.comdmueller@suse.comkukuk@suse.dekukuk@suse.comkukuk@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.derjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.combwiedemann@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comjoachim.gleissner@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comtbechtold@suse.comrjschwei@suse.comtbechtold@suse.comtbechtold@suse.comreik.keutterling@nodefall.de- Update to version 21.4 (bsc#1192343, jsc#PM-3181) + Also include VMWare functionality for (jsc#PM-3175) + Remove patches included upstream: - cloud-init-purge-cache-py-ver-change.patch - cloud-init-update-test-characters-in-substitution-unit-test.patch + Forward port: - cloud-init-write-routes.patch - cloud-init-no-tempnet-oci.patch + Add cloud-init-vmware-test.patch - Test is system dependend, not properly mocked + Azure: fallback nic needs to be reevaluated during reprovisioning (#1094) [Anh Vo] + azure: pps imds (#1093) [Anh Vo] + testing: Remove calls to 'install_new_cloud_init' (#1092) + Add LXD datasource (#1040) + Fix unhandled apt_configure case. (#1065) [Brett Holman] + Allow libexec for hotplug (#1088) + Add necessary mocks to test_ovf unit tests (#1087) + Remove (deprecated) apt-key (#1068) [Brett Holman] (LP: #1836336) + distros: Remove a completed "TODO" comment (#1086) + cc_ssh.py: Add configuration for controlling ssh-keygen output (#1083) [dermotbradley] + Add "install hotplug" module (SC-476) (#1069) (LP: #1946003) + hosts.alpine.tmpl: rearrange the order of short and long hostnames (#1084) [dermotbradley] + Add max version to docutils + cloudinit/dmi.py: Change warning to debug to prevent console display (#1082) [dermotbradley] + remove unnecessary EOF string in disable-sshd-keygen-if-cloud-init-active.conf (#1075) [Emanuele Giuseppe Esposito] + Add module 'write-files-deferred' executed in stage 'final' (#916) [Lucendio] + Bump pycloudlib to fix CI (#1080) + Remove pin in dependencies for jsonschema (#1078) + Add "Google" as possible system-product-name (#1077) [vteratipally] + Update Debian security suite for bullseye (#1076) [Johann Queuniet] + Leave the details of service management to the distro (#1074) [Andy Fiddaman] + Fix typos in setup.py (#1059) [Christian Clauss] + Update Azure _unpickle (SC-500) (#1067) (LP: #1946644) + cc_ssh.py: fix private key group owner and permissions (#1070) [Emanuele Giuseppe Esposito] + VMware: read network-config from ISO (#1066) [Thomas Weißschuh] + testing: mock sleep in gce unit tests (#1072) + CloudStack: fix data-server DNS resolution (#1004) [Olivier Lemasle] (LP: #1942232) + Fix unit test broken by pyyaml upgrade (#1071) + testing: add get_cloud function (SC-461) (#1038) + Inhibit sshd-keygen@.service if cloud-init is active (#1028) [Ryan Harper] + VMWARE: search the deployPkg plugin in multiarch dir (#1061) [xiaofengw-vmware] (LP: #1944946) + Fix set-name/interface DNS bug (#1058) [Andrew Kutz] (LP: #1946493) + Use specified tmp location for growpart (#1046) [jshen28] + .gitignore: ignore tags file for ctags users (#1057) [Brett Holman] + Allow comments in runcmd and report failed commands correctly (#1049) [Brett Holman] (LP: #1853146) + tox integration: pass the *_proxy, GOOGLE_*, GCP_* env vars (#1050) [Paride Legovini] + Allow disabling of network activation (SC-307) (#1048) (LP: #1938299) + renderer: convert relative imports to absolute (#1052) [Paride Legovini] + Support ETHx_IP6_GATEWAY, SET_HOSTNAME on OpenNebula (#1045) [Vlastimil Holer] + integration-requirements: bump the pycloudlib commit (#1047) [Paride Legovini] + Allow Vultr to set MTU and use as-is configs (#1037) [eb3095] + pin jsonschema in requirements.txt (#1043) + testing: remove cloud_tests (#1020) + Add andgein as contributor (#1042) [Andrew Gein] + Make wording for module frequency consistent (#1039) [Nicolas Bock] + Use ascii code for growpart (#1036) [jshen28] + Add jshen28 as contributor (#1035) [jshen28] + Skip test_cache_purged_on_version_change on Azure (#1033) + Remove invalid ssh_import_id from examples (#1031) + Cleanup Vultr support (#987) [eb3095] + docs: update cc_disk_setup for fs to raw disk (#1017) + HACKING.rst: change contact info to James Falcon (#1030) + tox: bump the pinned flake8 and pylint version (#1029) [Paride Legovini] (LP: #1944414) + Add retries to DataSourceGCE.py when connecting to GCE (#1005) [vteratipally] + Set Azure to apply networking config every BOOT (#1023) + Add connectivity_url to Oracle's EphemeralDHCPv4 (#988) (LP: #1939603) + docs: fix typo and include sudo for report bugs commands (#1022) [Renan Rodrigo] (LP: #1940236) + VMware: Fix typo introduced in #947 and add test (#1019) [PengpengSun] + Update IPv6 entries in /etc/hosts (#1021) [Richard Hansen] (LP: #1943798) + Integration test upgrades for the 21.3-1 SRU (#1001) + Add Jille to tools/.github-cla-signers (#1016) [Jille Timmermans] + Improve ug_util.py (#1013) [Shreenidhi Shedi] + Support openEuler OS (#1012) [zhuzaifangxuele] + ssh_utils.py: ignore when sshd_config options are not key/value pairs (#1007) [Emanuele Giuseppe Esposito] + Set Azure to only update metadata on BOOT_NEW_INSTANCE (#1006) + cc_update_etc_hosts: Use the distribution-defined path for the hosts file (#983) [Andy Fiddaman] + Add CloudLinux OS support (#1003) [Alexandr Kravchenko] + puppet config: add the start_agent option (#1002) [Andrew Bogott] + Fix `make style-check` errors (#1000) [Shreenidhi Shedi] + Make cloud-id copyright year (#991) [Andrii Podanenko] + Add support to accept-ra in networkd renderer (#999) [Shreenidhi Shedi] + Update ds-identify to pass shellcheck (#979) [Andrew Kutz] + Azure: Retry dhcp on timeouts when polling reprovisiondata (#998) [aswinrajamannar] + testing: Fix ssh keys integration test (#992) - From 21.3 + Azure: During primary nic detection, check interface status continuously before rebinding again (#990) [aswinrajamannar] + Fix home permissions modified by ssh module (SC-338) (#984) (LP: #1940233) + Add integration test for sensitive jinja substitution (#986) + Ignore hotplug socket when collecting logs (#985) (LP: #1940235) + testing: Add missing mocks to test_vmware.py (#982) + add Zadara Edge Cloud Platform to the supported clouds list (#963) [sarahwzadara] + testing: skip upgrade tests on LXD VMs (#980) + Only invoke hotplug socket when functionality is enabled (#952) + Revert unnecesary lcase in ds-identify (#978) [Andrew Kutz] + cc_resolv_conf: fix typos (#969) [Shreenidhi Shedi] + Replace broken httpretty tests with mock (SC-324) (#973) + Azure: Check if interface is up after sleep when trying to bring it up (#972) [aswinrajamannar] + Update dscheck_VMware's rpctool check (#970) [Shreenidhi Shedi] + Azure: Logging the detected interfaces (#968) [Moustafa Moustafa] + Change netifaces dependency to 0.10.4 (#965) [Andrew Kutz] + Azure: Limit polling network metadata on connection errors (#961) [aswinrajamannar] + Update inconsistent indentation (#962) [Andrew Kutz] + cc_puppet: support AIO installations and more (#960) [Gabriel Nagy] + Add Puppet contributors to CLA signers (#964) [Noah Fontes] + Datasource for VMware (#953) [Andrew Kutz] + photon: refactor hostname handling and add networkd activator (#958) [sshedi] + Stop copying ssh system keys and check folder permissions (#956) [Emanuele Giuseppe Esposito] + testing: port remaining cloud tests to integration testing framework (SC-191) (#955) + generate contents for ovf-env.xml when provisioning via IMDS (#959) [Anh Vo] + Add support for EuroLinux 7 && EuroLinux 8 (#957) [Aleksander Baranowski] + Implementing device_aliases as described in docs (#945) [Mal Graty] (LP: #1867532) + testing: fix test_ssh_import_id.py (#954) + Add ability to manage fallback network config on PhotonOS (#941) [sshedi] + Add VZLinux support (#951) [eb3095] + VMware: add network-config support in ovf-env.xml (#947) [PengpengSun] + Update pylint to v2.9.3 and fix the new issues it spots (#946) [Paride Legovini] + Azure: mount default provisioning iso before try device listing (#870) [Anh Vo] + Document known hotplug limitations (#950) + Initial hotplug support (#936) + Fix MIME policy failure on python version upgrade (#934) + run-container: fixup the centos repos baseurls when using http_proxy (#944) [Paride Legovini] + tools: add support for building rpms on rocky linux (#940) + ssh-util: allow cloudinit to merge all ssh keys into a custom user file, defined in AuthorizedKeysFile (#937) [Emanuele Giuseppe Esposito] (LP: #1911680) + VMware: new "allow_raw_data" switch (#939) [xiaofengw-vmware] + bump pycloudlib version (#935) + add renanrodrigo as a contributor (#938) [Renan Rodrigo] + testing: simplify test_upgrade.py (#932) + freebsd/net_v1 format: read MTU from root (#930) [Gonéri Le Bouder] + Add new network activators to bring up interfaces (#919) + Detect a Python version change and clear the cache (#857) [Robert Schweikert] + cloud_tests: fix the Impish release name (#931) [Paride Legovini] + Removed distro specific network code from Photon (#929) [sshedi] + Add support for VMware PhotonOS (#909) [sshedi] + cloud_tests: add impish release definition (#927) [Paride Legovini] + docs: fix stale links rename master branch to main (#926) + Fix DNS in NetworkState (SC-133) (#923) + tests: Add 'adhoc' mark for integration tests (#925) + Fix the spelling of "DigitalOcean" (#924) [Mark Mercado] + Small Doc Update for ReportEventStack and Test (#920) [Mike Russell] + Replace deprecated collections.Iterable with abc replacement (#922) (LP: #1932048) + testing: OCI availability domain is now required (SC-59) (#910) + add DragonFlyBSD support (#904) [Gonéri Le Bouder] + Use instance-data-sensitive.json in jinja templates (SC-117) (#917) (LP: #1931392) + doc: Update NoCloud docs stating required files (#918) (LP: #1931577) + build-on-netbsd: don't pin a specific py3 version (#913) [Gonéri Le Bouder] + Create the log file with 640 permissions (#858) [Robert Schweikert] + Allow braces to appear in dhclient output (#911) [eb3095] + Docs: Replace all freenode references with libera (#912) + openbsd/net: flush the route table on net restart (#908) [Gonéri Le Bouder] + Add Rocky Linux support to cloud-init (#906) [Louis Abel] + Add "esposem" as contributor (#907) [Emanuele Giuseppe Esposito] + Add integration test for #868 (#901) + Added support for importing keys via primary/security mirror clauses (#882) [Paul Goins] (LP: #1925395) + [examples] config-user-groups expire in the future (#902) [Geert Stappers] + BSD: static network, set the mtu (#894) [Gonéri Le Bouder] + Add integration test for lp-1920939 (#891) + Fix unit tests breaking from new httpretty version (#903) + Allow user control over update events (#834) + Update test characters in substitution unit test (#893) + cc_disk_setup.py: remove UDEVADM_CMD definition as not used (#886) [dermotbradley] + Add AlmaLinux OS support (#872) [Andrew Lukoshko]- systemctl location (bsc#1193531) - Add cloud-init-sysctl-not-in-bin.patch - The sytemctl executable is not necessarily in '/bin'- Remove unneeded BuildRequires on python3-nose.- Update to version 21.2 (bsc#1186004) + Remove patches included upstream: - cloud-init-azure-def-usr-pass.patch - cloud-init-after-kvp.diff - cloud-init-recognize-hpc.patch - use_arroba_to_include_sudoers_directory-bsc_1181283.patch - cloud-init-bonding-opts.patch - cloud-init-log-file-mode.patch - cloud-init-no-pwd-in-log.patch - 0001-templater-drop-Jinja-Python-2-compatibility-shim.patch + Remove cloud-init-sle12-compat.patch, version in SLE 12 is frozen to 20.2 + Remove cloud-init-tests-set-exec.patch no longer needed + Forward port: - cloud-init-write-routes.patch - cloud-init-break-resolv-symlink.patch - cloud-init-sysconf-path.patch - cloud-init-no-tempnet-oci.patch + Add \r\n check for SSH keys in Azure (#889) + Revert "Add support to resize rootfs if using LVM (#721)" (#887) (LP: #1922742) + Add Vultaire as contributor (#881) [Paul Goins] + Azure: adding support for consuming userdata from IMDS (#884) [Anh Vo] + test_upgrade: modify test_upgrade_package to run for more sources (#883) + Fix chef module run failure when chef_license is set (#868) [Ben Hughes] + Azure: Retry net metadata during nic attach for non-timeout errs (#878) [aswinrajamannar] + Azure: Retrieve username and hostname from IMDS (#865) [Thomas Stringer] + Azure: eject the provisioning iso before reporting ready (#861) [Anh Vo] + Use `partprobe` to re-read partition table if available (#856) [Nicolas Bock] (LP: #1920939) + fix error on upgrade caused by new vendordata2 attributes (#869) (LP: #1922739) + add prefer_fqdn_over_hostname config option (#859) [hamalq] (LP: #1921004) + Emit dots on travis to avoid timeout (#867) + doc: Replace remaining references to user-scripts as a config module (#866) [Ryan Harper] + azure: Removing ability to invoke walinuxagent (#799) [Anh Vo] + Add Vultr support (#827) [David Dymko] + Fix unpickle for source paths missing run_dir (#863) [lucasmoura] (LP: #1899299) + sysconfig: use BONDING_MODULE_OPTS on SUSE (#831) [Jens Sandmann] + bringup_static_routes: fix gateway check (#850) [Petr Fedchenkov] + add hamalq user (#860) [hamalq] + Add support to resize rootfs if using LVM (#721) [Eduardo Otubo] (LP: #1799953) + Fix mis-detecting network configuration in initramfs cmdline (#844) (LP: #1919188) + tools/write-ssh-key-fingerprints: do not display empty header/footer (#817) [dermotbradley] + Azure helper: Ensure Azure http handler sleeps between retries (#842) [Johnson Shi] + Fix chef apt source example (#826) [timothegenzmer] + .travis.yml: generate an SSH key before running tests (#848) + write passwords only to serial console, lock down cloud-init-output.log (#847) (LP: #1918303) + Fix apt default integration test (#845) + integration_tests: bump pycloudlib dependency (#846) + Fix stack trace if vendordata_raw contained an array (#837) [eb3095] + archlinux: Fix broken locale logic (#841) [Kristian Klausen] (LP: #1402406) + Integration test for #783 (#832) + integration_tests: mount more paths IN_PLACE (#838) + Fix requiring device-number on EC2 derivatives (#836) (LP: #1917875) + Remove the vi comment from the part-handler example (#835) + net: exclude OVS internal interfaces in get_interfaces (#829) (LP: #1912844) + tox.ini: pass OS_* environment variables to integration tests (#830) + integration_tests: add OpenStack as a platform (#804) + Add flexibility to IMDS api-version (#793) [Thomas Stringer] + Fix the TestApt tests using apt-key on Xenial and Hirsute (#823) [Paride Legovini] (LP: #1916629) + doc: remove duplicate "it" from nocloud.rst (#825) [V.I. Wood] + archlinux: Use hostnamectl to set the transient hostname (#797) [Kristian Klausen] + cc_keys_to_console.py: Add documentation for recently added config key (#824) [dermotbradley] + Update cc_set_hostname documentation (#818) [Toshi Aoyama] From 21.1 + Azure: Support for VMs without ephemeral resource disks. (#800) [Johnson Shi] (LP: #1901011) + cc_keys_to_console: add option to disable key emission (#811) [Michael Hudson-Doyle] (LP: #1915460) + integration_tests: introduce lxd_use_exec mark (#802) + azure: case-insensitive UUID to avoid new IID during kernel upgrade (#798) (LP: #1835584) + stale.yml: don't ask submitters to reopen PRs (#816) + integration_tests: fix use of SSH agent within tox (#815) + integration_tests: add UPGRADE CloudInitSource (#812) + integration_tests: use unique MAC addresses for tests (#813) + Update .gitignore (#814) + Port apt cloud_tests to integration tests (#808) + integration_tests: fix test_gh626 on LXD VMs (#809) + Fix attempting to decode binary data in test_seed_random_data test (#806) + Remove wait argument from tests with session_cloud calls (#805) + Datasource for UpCloud (#743) [Antti Myyrä] + test_gh668: fix failure on LXD VMs (#801) + openstack: read the dynamic metadata group vendor_data2.json (#777) [Andrew Bogott] (LP: #1841104) + includedir in suoders can be prefixed by "arroba" (#783) [Jordi Massaguer Pla] + [VMware] change default max wait time to 15s (#774) [xiaofengw-vmware] + Revert integration test associated with reverted #586 (#784) + Add jordimassaguerpla as contributor (#787) [Jordi Massaguer Pla] + Add Rick Harding to CLA signers (#792) [Rick Harding] + HACKING.rst: add clarifying note to LP CLA process section (#789) + Stop linting cloud_tests (#791) + cloud-tests: update cryptography requirement (#790) [Joshua Powers] + Remove 'remove-raise-on-failure' calls from integration_tests (#788) + Use more cloud defaults in integration tests (#757) + Adding self to cla signers (#776) [Andrew Bogott] + doc: avoid two warnings (#781) [Dan Kenigsberg] + Use proper spelling for Red Hat (#778) [Dan Kenigsberg] + Add antonyc to .github-cla-signers (#747) [Anton Chaporgin] + integration_tests: log image serial if available (#772) + [VMware] Support cloudinit raw data feature (#691) [xiaofengw-vmware] + net: Fix static routes to host in eni renderer (#668) [Pavel Abalikhin] + .travis.yml: don't run cloud_tests in CI (#756) + test_upgrade: add some missing commas (#769) + cc_seed_random: update documentation and fix integration test (#771) (LP: #1911227) + Fix test gh-632 test to only run on NoCloud (#770) (LP: #1911230) + archlinux: fix package upgrade command handling (#768) [Bao Trinh] + integration_tests: add integration test for LP: #1910835 (#761) + Fix regression with handling of IMDS ssh keys (#760) [Thomas Stringer] + integration_tests: log cloud-init version in SUT (#758) + Add ajmyyra as contributor (#742) [Antti Myyrä] + net_convert: add some missing help text (#755) + Missing IPV6_AUTOCONF=no to render sysconfig dhcp6 stateful on RHEL (#753) [Eduardo Otubo] + doc: document missing IPv6 subnet types (#744) [Antti Myyrä] + Add example configuration for datasource `AliYun` (#751) [Xiaoyu Zhong] + integration_tests: add SSH key selection settings (#754) + fix a typo in man page cloud-init.1 (#752) [Amy Chen] + network-config-format-v2.rst: add Netplan Passthrough section (#750) + stale: re-enable post holidays (#749) + integration_tests: port ca_certs tests from cloud_tests (#732) + Azure: Add telemetry for poll IMDS (#741) [Johnson Shi] + doc: move testing section from HACKING to its own doc (#739) + No longer allow integration test failures on travis (#738) + stale: fix error in definition (#740) + integration_tests: set log-cli-level to INFO by default (#737) + PULL_REQUEST_TEMPLATE.md: use backticks around commit message (#736) + stale: disable check for holiday break (#735) + integration_tests: log the path we collect logs into (#733) + .travis.yml: add (most) supported Python versions to CI (#734) + integration_tests: fix IN_PLACE CLOUD_INIT_SOURCE (#731) + cc_ca_certs: add RHEL support (#633) [cawamata] + Azure: only generate config for NICs with addresses (#709) [Thomas Stringer] + doc: fix CloudStack configuration example (#707) [Olivier Lemasle] + integration_tests: restrict test_lxd_bridge appropriately (#730) + Add integration tests for CLI functionality (#729) + Integration test for gh-626 (#728) + Some test_upgrade fixes (#726) + Ensure overriding test vars with env vars works for booleans (#727) + integration_tests: port lxd_bridge test from cloud_tests (#718) + Integration test for gh-632. (#725) + Integration test for gh-671 (#724) + integration-requirements.txt: bump pycloudlib commit (#723) + Drop unnecessary shebang from cmd/main.py (#722) [Eduardo Otubo] + Integration test for LP: #1813396 and #669 (#719) + integration_tests: include timestamp in log output (#720) + integration_tests: add test for LP: #1898997 (#713) + Add integration test for power_state_change module (#717) + Update documentation for network-config-format-v2 (#701) [ggiesen] + sandbox CA Cert tests to not require ca-certificates (#715) [Eduardo Otubo] + Add upgrade integration test (#693) + Integration test for 570 (#712) + Add ability to keep snapshotted images in integration tests (#711) + Integration test for pull #586 (#706) + integration_tests: introduce skipping of tests by OS (#702) + integration_tests: introduce IntegrationInstance.restart (#708) + Add lxd-vm to list of valid integration test platforms (#705) + Adding BOOTPROTO = dhcp to render sysconfig dhcp6 stateful on RHEL (#685) [Eduardo Otubo] + Delete image snapshots created for integration tests (#682) + Parametrize ssh_keys_provided integration test (#700) [lucasmoura] + Drop use_sudo attribute on IntegrationInstance (#694) [lucasmoura] + cc_apt_configure: add riscv64 as a ports arch (#687) [Dimitri John Ledkov] + cla: add xnox (#692) [Dimitri John Ledkov] + Collect logs from integration test runs (#675) From 20.4.1 + Revert "ssh_util: handle non-default AuthorizedKeysFile config (#586)" From 20.4 + tox: avoid tox testenv subsvars for xenial support (#684) + Ensure proper root permissions in integration tests (#664) [James Falcon] + LXD VM support in integration tests (#678) [James Falcon] + Integration test for fallocate falling back to dd (#681) [James Falcon] + .travis.yml: correctly integration test the built .deb (#683) + Ability to hot-attach NICs to preprovisioned VMs before reprovisioning (#613) [aswinrajamannar] + Support configuring SSH host certificates. (#660) [Jonathan Lung] + add integration test for LP: #1900837 (#679) + cc_resizefs on FreeBSD: Fix _can_skip_ufs_resize (#655) [Mina Galić] (LP: #1901958, #1901958) + DataSourceAzure: push dmesg log to KVP (#670) [Anh Vo] + Make mount in place for tests work (#667) [James Falcon] + integration_tests: restore emission of settings to log (#657) + DataSourceAzure: update password for defuser if exists (#671) [Anh Vo] + tox.ini: only select "ci" marked tests for CI runs (#677) + Azure helper: Increase Azure Endpoint HTTP retries (#619) [Johnson Shi] + DataSourceAzure: send failure signal on Azure datasource failure (#594) [Johnson Shi] + test_persistence: simplify VersionIsPoppedFromState (#674) + only run a subset of integration tests in CI (#672) + cli: add + -system param to allow validating system user-data on a machine (#575) + test_persistence: add VersionIsPoppedFromState test (#673) + introduce an upgrade framework and related testing (#659) + add + -no-tty option to gpg (#669) [Till Riedel] (LP: #1813396) + Pin pycloudlib to a working commit (#666) [James Falcon] + DataSourceOpenNebula: exclude SRANDOM from context output (#665) + cloud_tests: add hirsute release definition (#662) + split integration and cloud_tests requirements (#652) + faq.rst: add warning to answer that suggests running `clean` (#661) + Fix stacktrace in DataSourceRbxCloud if no metadata disk is found (#632) [Scott Moser] + Make wakeonlan Network Config v2 setting actually work (#626) [dermotbradley] + HACKING.md: unify network-refactoring namespace (#658) [Mina Galić] + replace usage of dmidecode with kenv on FreeBSD (#621) [Mina Galić] + Prevent timeout on travis integration tests. (#651) [James Falcon] + azure: enable pushing the log to KVP from the last pushed byte (#614) [Moustafa Moustafa] + Fix launch_kwargs bug in integration tests (#654) [James Falcon] + split read_fs_info into linux & freebsd parts (#625) [Mina Galić] + PULL_REQUEST_TEMPLATE.md: expand commit message section (#642) + Make some language improvements in growpart documentation (#649) [Shane Frasier] + Revert ".travis.yml: use a known-working version of lxd (#643)" (#650) + Fix not sourcing default 50-cloud-init ENI file on Debian (#598) [WebSpider] + remove unnecessary reboot from gpart resize (#646) [Mina Galić] + cloudinit: move dmi functions out of util (#622) [Scott Moser] + integration_tests: various launch improvements (#638) + test_lp1886531: don't assume /etc/fstab exists (#639) + Remove Ubuntu restriction from PR template (#648) [James Falcon] + util: fix mounting of vfat on *BSD (#637) [Mina Galić] + conftest: improve docstring for disable_subp_usage (#644) + doc: add example query commands to debug Jinja templates (#645) + Correct documentation and testcase data for some user-data YAML (#618) [dermotbradley] + Hetzner: Fix instance_id / SMBIOS serial comparison (#640) [Markus Schade] + .travis.yml: use a known-working version of lxd (#643) + tools/build-on-freebsd: fix comment explaining purpose of the script (#635) [Mina Galić] + Hetzner: initialize instance_id from system-serial-number (#630) [Markus Schade] (LP: #1885527) + Explicit set IPV6_AUTOCONF and IPV6_FORCE_ACCEPT_RA on static6 (#634) [Eduardo Otubo] + get_interfaces: don't exclude Open vSwitch bridge/bond members (#608) [Lukas Märdian] (LP: #1898997) + Add config modules for controlling IBM PowerVM RMC. (#584) [Aman306] (LP: #1895979) + Update network config docs to clarify MAC address quoting (#623) [dermotbradley] + gentoo: fix hostname rendering when value has a comment (#611) [Manuel Aguilera] + refactor integration testing infrastructure (#610) [James Falcon] + stages: don't reset permissions of cloud-init.log every boot (#624) (LP: #1900837) + docs: Add how to use cloud-localds to boot qemu (#617) [Joshua Powers] + Drop vestigial update_resolve_conf_file function (#620) [Scott Moser] + cc_mounts: correctly fallback to dd if fallocate fails (#585) (LP: #1897099) + .travis.yml: add integration-tests to Travis matrix (#600) + ssh_util: handle non-default AuthorizedKeysFile config (#586) [Eduardo Otubo] + Multiple file fix for AuthorizedKeysFile config (#60) [Eduardo Otubo] + bddeb: new + -packaging-branch argument to pull packaging from branch (#576) [Paride Legovini] + Add more integration tests (#615) [lucasmoura] + DataSourceAzure: write marker file after report ready in preprovisioning (#590) [Johnson Shi] + integration_tests: emit settings to log during setup (#601) + integration_tests: implement citest tests run in Travis (#605) + Add Azure support to integration test framework (#604) [James Falcon] + openstack: consider product_name as valid chassis tag (#580) [Adrian Vladu] (LP: #1895976) + azure: clean up and refactor report_diagnostic_event (#563) [Johnson Shi] + net: add the ability to blacklist network interfaces based on driver during enumeration of physical network devices (#591) [Anh Vo] + integration_tests: don't error on cloud-init failure (#596) + integration_tests: improve cloud-init.log assertions (#593) + conftest.py: remove top-level import of httpretty (#599) + tox.ini: add integration-tests testenv definition (#595) + PULL_REQUEST_TEMPLATE.md: empty checkboxes need a space (#597) + add integration test for LP: #1886531 (#592) + Initial implementation of integration testing infrastructure (#581) [James Falcon] + Fix name of ntp and chrony service on CentOS and RHEL. (#589) [Scott Moser] (LP: #1897915) + Adding a PR template (#587) [James Falcon] + Azure parse_network_config uses fallback cfg when generate IMDS network cfg fails (#549) [Johnson Shi] + features: refresh docs for easier out-of-context reading (#582) + Fix typo in resolv_conf module's description (#578) [Wacław Schiller] + cc_users_groups: minor doc formatting fix (#577) + Fix typo in disk_setup module's description (#579) [Wacław Schiller] + Add vendor-data support to seedfrom parameter for NoCloud and OVF (#570) [Johann Queuniet] + boot.rst: add First Boot Determination section (#568) (LP: #1888858) + opennebula.rst: minor readability improvements (#573) [Mina Galić] + cloudinit: remove unused LOG variables (#574) + create a shutdown_command method in distro classes (#567) [Emmanuel Thomé] + user_data: remove unused constant (#566) + network: Fix type and respect name when rendering vlan in sysconfig. (#541) [Eduardo Otubo] (LP: #1788915, #1826608) + Retrieve SSH keys from IMDS first with OVF as a fallback (#509) [Thomas Stringer] + Add jqueuniet as contributor (#569) [Johann Queuniet] + distros: minor typo fix (#562) + Bump the integration-requirements versioned dependencies (#565) [Paride Legovini] + network-config-format-v1: fix typo in nameserver example (#564) [Stanislas] + Run cloud-init-local.service after the hv_kvp_daemon (#505) [Robert Schweikert] + Add method type hints for Azure helper (#540) [Johnson Shi] + systemd: add Before=shutdown.target when Conflicts=shutdown.target is used (#546) [Paride Legovini] + LXD: detach network from profile before deleting it (#542) [Paride Legovini] (LP: #1776958) + redhat spec: add missing BuildRequires (#552) [Paride Legovini] + util: remove debug statement (#556) [Joshua Powers] + Fix cloud config on chef example (#551) [lucasmoura] From 20.3 + Azure: Add netplan driver filter when using hv_netvsc driver (#539) [James Falcon] (LP: #1830740) + query: do not handle non-decodable non-gzipped content (#543) + DHCP sandboxing failing on noexec mounted /var/tmp (#521) [Eduardo Otubo] + Update the list of valid ssh keys. (#487) [Ole-Martin Bratteng] (LP: #1877869) + cmd: cloud-init query to handle compressed userdata (#516) (LP: #1889938) + Pushing cloud-init log to the KVP (#529) [Moustafa Moustafa] + Add Alpine Linux support. (#535) [dermotbradley] + Detect kernel version before swap file creation (#428) [Eduardo Otubo] + cli: add devel make-mime subcommand (#518) + user-data: only verify mime-types for TYPE_NEEDED and x-shellscript (#511) (LP: #1888822) + DataSourceOracle: retry twice (and document why we retry at all) (#536) + Refactor Azure report ready code (#468) [Johnson Shi] + tox.ini: pin correct version of httpretty in xenial{,-dev} envs (#531) + Support Oracle IMDSv2 API (#528) [James Falcon] + .travis.yml: run a doc build during CI (#534) + doc/rtd/topics/datasources/ovf.rst: fix doc8 errors (#533) + Fix 'Users and Groups' configuration documentation (#530) [sshedi] + cloudinit.distros: update docstrings of add_user and create_user (#527) + Fix headers for device types in network v2 docs (#532) [Caleb Xavier Berger] + Add AlexBaranowski as contributor (#508) [Aleksander Baranowski] + DataSourceOracle: refactor to use only OPC v1 endpoint (#493) + .github/workflows/stale.yml: s/Josh/Rick/ (#526) + Fix a typo in apt pipelining module (#525) [Xiao Liang] + test_util: parametrize devlist tests (#523) [James Falcon] + Recognize LABEL_FATBOOT labels (#513) [James Falcon] (LP: #1841466) + Handle additional identifier for SLES For HPC (#520) [Robert Schweikert] + Revert "test-requirements.txt: pin pytest to <6 (#512)" (#515) + test-requirements.txt: pin pytest to <6 (#512) + Add "tsanghan" as contributor (#504) [tsanghan] + fix brpm building (LP: #1886107) + Adding eandersson as a contributor (#502) [Erik Olof Gunnar Andersson] + azure: disable bouncing hostname when setting hostname fails (#494) [Anh Vo] + VMware: Support parsing DEFAULT-RUN-POST-CUST-SCRIPT (#441) [xiaofengw-vmware] + DataSourceAzure: Use ValueError when JSONDecodeError is not available (#490) [Anh Vo] + cc_ca_certs.py: fix blank line problem when removing CAs and adding new one (#483) [dermotbradley] + freebsd: py37-serial is now py37-pyserial (#492) [Gonéri Le Bouder] + ssh exit with non-zero status on disabled user (#472) [Eduardo Otubo] (LP: #1170059) + cloudinit: remove global disable of pylint W0107 and fix errors (#489) + networking: refactor wait_for_physdevs from cloudinit.net (#466) (LP: #1884626) + HACKING.rst: add pytest.param pytest gotcha (#481) + cloudinit: remove global disable of pylint W0105 and fix errors (#480) + Fix two minor warnings (#475) + test_data: fix faulty patch (#476) + cc_mounts: handle missing fstab (#484) (LP: #1886531) + LXD cloud_tests: support more lxd image formats (#482) [Paride Legovini] + Add update_etc_hosts as default module on *BSD (#479) [Adam Dobrawy] + cloudinit: fix tip-pylint failures and bump pinned pylint version (#478) + Added BirknerAlex as contributor and sorted the file (#477) [Alexander Birkner] + Update list of types of modules in cli.rst [saurabhvartak1982] + tests: use markers to configure disable_subp_usage (#473) + Add mention of vendor-data to no-cloud format documentation (#470) [Landon Kirk] + Fix broken link to OpenStack metadata service docs (#467) [Matt Riedemann] + Disable ec2 mirror for non aws instances (#390) [lucasmoura] (LP: #1456277) + cloud_tests: don't pass + -python-version to read-dependencies (#465) + networking: refactor is_physical from cloudinit.net (#457) (LP: #1884619) + Enable use of the caplog fixture in pytest tests, and add a cc_final_message test using it (#461) + RbxCloud: Add support for FreeBSD (#464) [Adam Dobrawy] + Add schema for cc_chef module (#375) [lucasmoura] (LP: #1858888) + test_util: add (partial) testing for util.mount_cb (#463) + .travis.yml: revert to installing ubuntu-dev-tools (#460) + HACKING.rst: add details of net refactor tracking (#456) + .travis.yml: rationalise installation of dependencies in host (#449) + Add dermotbradley as contributor. (#458) [dermotbradley] + net/networking: remove unused functions/methods (#453) + distros.networking: initial implementation of layout (#391) + cloud-init.service.tmpl: use "rhel" instead of "redhat" (#452) + Change from redhat to rhel in systemd generator tmpl (#450) [Eduardo Otubo] + Hetzner: support reading user-data that is base64 encoded. (#448) [Scott Moser] (LP: #1884071) + HACKING.rst: add strpath gotcha to testing gotchas section (#446) + cc_final_message: don't create directories when writing boot-finished (#445) (LP: #1883903) + .travis.yml: only store new schroot if something has changed (#440) + util: add ensure_dir_exists parameter to write_file (#443) + printing the error stream of the dhclient process before killing it (#369) [Moustafa Moustafa] + Fix link to the MAAS documentation (#442) [Paride Legovini] (LP: #1883666) + RPM build: disable the dynamic mirror URLs when using a proxy (#437) [Paride Legovini] + util: rename write_file's copy_mode parameter to preserve_mode (#439) + .travis.yml: use $TRAVIS_BUILD_DIR for lxd_image caching (#438) + cli.rst: alphabetise devel subcommands and add net-convert to list (#430) + Default to UTF-8 in /var/log/cloud-init.log (#427) [James Falcon] + travis: cache the chroot we use for package builds (#429) + test: fix all flake8 E126 errors (#425) [Joshua Powers] + Fixes KeyError for bridge with no "parameters:" setting (#423) [Brian Candler] (LP: #1879673) + When tools.conf does not exist, running cmd "vmware-toolbox-cmd config get deployPkg enable-custom-scripts", the return code will be EX_UNAVAILABLE(69), on this condition, it should not take it as error. (#413) [chengcheng-chcheng] + Document CloudStack data-server well-known hostname (#399) [Gregor Riepl] + test: move conftest.py to top-level, to cover tests/ also (#414) + Replace cc_chef is_installed with use of subp.is_exe. (#421) [Scott Moser] + Move runparts to subp. (#420) [Scott Moser] + Move subp into its own module. (#416) [Scott Moser] + readme: point at travis-ci.com (#417) [Joshua Powers] + New feature flag functionality and fix includes failing silently (#367) [James Falcon] (LP: #1734939) + Enhance poll imds logging (#365) [Moustafa Moustafa] + test: fix all flake8 E121 and E123 errors (#404) [Joshua Powers] + test: fix all flake8 E241 (#403) [Joshua Powers] + test: ignore flake8 E402 errors in main.py (#402) [Joshua Powers] + cc_grub_dpkg: determine idevs in more robust manner with grub-probe (#358) [Matthew Ruffell] (LP: #1877491) + test: fix all flake8 E741 errors (#401) [Joshua Powers] + tests: add groovy integration tests for ubuntu (#400) + Enable chef_license support for chef infra client (#389) [Bipin Bachhao] + testing: use flake8 again (#392) [Joshua Powers] + enable Puppet, Chef mcollective in default config (#385) [Mina Galić (deprecated: Igor Galić)] (LP: #1880279) + HACKING.rst: introduce .net + > Networking refactor section (#384) + Travis: do not install python3-contextlib2 (dropped dependency) (#388) [Paride Legovini] + HACKING: mention that .github-cla-signers is alpha-sorted (#380) + Add bipinbachhao as contributor (#379) [Bipin Bachhao] + cc_snap: validate that assertions property values are strings (#370) + conftest: implement partial disable_subp_usage (#371) + test_resolv_conf: refresh stale comment (#374) + cc_snap: apply validation to snap.commands properties (#364) + make finding libc platform independent (#366) [Mina Galić (deprecated: Igor Galić)] + doc/rtd/topics/faq: Updates LXD docs links to current site (#368) [TomP] + templater: drop Jinja Python 2 compatibility shim (#353) + cloudinit: minor pylint fixes (#360) + cloudinit: remove unneeded __future__ imports (#362) + migrating momousta lp user to Moustafa-Moustafa GitHub user (#361) [Moustafa Moustafa] + cloud_tests: emit dots on Travis while fetching images (#347) + Add schema to apt configure config (#357) [lucasmoura] (LP: #1858884) + conftest: add docs and tests regarding CiTestCase's subp functionality (#343) + analyze/dump: refactor shared string into variable (#350) + doc: update boot.rst with correct timing of runcmd (#351) + HACKING.rst: change contact info to Rick Harding (#359) [lucasmoura] + HACKING.rst: guide people to add themselves to the CLA file (#349) + HACKING.rst: more unit testing documentation (#354) + .travis.yml: don't run lintian during integration test package builds (#352) + Add test to ensure docs examples are valid cloud-init configs (#355) [James Falcon] (LP: #1876414) + make suse and sles support 127.0.1.1 (#336) [chengcheng-chcheng] + Create tests to validate schema examples (#348) [lucasmoura] (LP: #1876412) + analyze/dump: add support for Amazon Linux 2 log lines (#346) (LP: #1876323) + bsd: upgrade support (#305) [Gonéri Le Bouder] + Add lucasmoura as contributor (#345) [lucasmoura] + Add "therealfalcon" as contributor (#344) [James Falcon] + Adapt the package building scripts to use Python 3 (#231) [Paride Legovini] + DataSourceEc2: use metadata's NIC ordering to determine route-metrics (#342) (LP: #1876312) + .travis.yml: introduce caching (#329) + cc_locale: introduce schema (#335) + doc/rtd/conf.py: bump copyright year to 2020 (#341) + yum_add_repo: Add Centos to the supported distro list (#340)- Add cloud-init-update-test-characters-in-substitution-unit-test.patch to fix unit test fail in TestGetPackageMirrorInfo::test_substitution.- Add patch from upstream to remove python2 compatibility so cloud-init builds fine in Tumbleweed with a recent Jinja2 version. This patch is only applied in TW. * 0001-templater-drop-Jinja-Python-2-compatibility-shim.patch- Add cloud-init-log-file-mode.patch (bsc#1183939) + Change log file creation mode to 640 - Add cloud-init-no-pwd-in-log.patch (bsc#1184758) + Do not write the generated password to the log file - Add cloud-init-purge-cache-py-ver-change.patch- Add cloud-init-bonding-opts.patch (bsc#1184085) + Write proper bonding option configuration for SLE/openSUSE - Fix application and inclusion of use_arroba_to_include_sudoers_directory-bsc_1181283.patchfix (bsc#1181283)- Add use_arroba_to_include_sudoers_directory-bsc_1181283.patchfix (bsc#1181283) - Do not including sudoers.d directory twice- Update cloud-init-write-routes.patch (bsc#1180176) + Follow up to previous changes. Fix order of operations error to make gateway comparison between subnet configuration and route configuration valuable rather than self-comparing.- Add cloud-init-sle12-compat.patch (jsc#PM-2335) - Python 3.4 compatibility in setup.py - Disable some test for mock version compatibility- Add wget as a requirement (bsc#1178029) + wget is used in the CloudStack data source- Add cloud-init-azure-def-usr-pass.patch (bsc#1179150, bsc#1179151) + Properly set the password for the default user in all circumstances- Patch the full package version into the cloud-init version file- Update cloud-init-write-routes.patch (bsc#1177526) + Fix missing default route when dual stack network setup is used. Once a default route was configured for Ipv6 or IPv4 the default route configuration for the othre protocol was skipped.- Update cloud-init-write-routes.patch (bsc#1177526) + Avoid exception if no gateway information is present and warning is triggered for existing routing.- Update to version 20.2 (bsc#1174443, bsc#1174444) + Remove patches included upstream: - 0001-Make-tests-work-with-Python-3.8-139.patch - cloud-init-ostack-metadat-dencode.patch - cloud-init-use-different-random-src.diff - cloud-init-long-pass.patch - cloud-init-mix-static-dhcp.patch + Remove patches build switched to Python 3 for all distributions (jsc#PM-2335) - cloud-init-python2-sigpipe.patch - cloud-init-template-py2.patch + Add - cloud-init-after-kvp.diff - cloud-init-recognize-hpc.patch + doc/format: reference make-mime.py instead of an inline script (#334) + Add docs about creating parent folders (#330) [Adrian Wilkins] + DataSourceNoCloud/OVF: drop claim to support FTP (#333) (LP: #1875470) + schema: ignore spurious pylint error (#332) + schema: add json schema for write_files module (#152) + BSD: find_devs_with_ refactoring (#298) [Gonéri Le Bouder] + nocloud: drop work around for Linux 2.6 (#324) [Gonéri Le Bouder] + cloudinit: drop dependencies on unittest2 and contextlib2 (#322) + distros: handle a potential mirror filtering error case (#328) + log: remove unnecessary import fallback logic (#327) + .travis.yml: don't run integration test on ubuntu/* branches (#321) + More unit test documentation (#314) + conftest: introduce disable_subp_usage autouse fixture (#304) + YAML align indent sizes for docs readability (#323) [Tak Nishigori] + network_state: add missing space to log message (#325) + tests: add missing mocks for get_interfaces_by_mac (#326) (LP: #1873910) + test_mounts: expand happy path test for both happy paths (#319) + cc_mounts: fix incorrect format specifiers (#316) (LP: #1872836) + swap file "size" being used before checked if str (#315) [Eduardo Otubo] + HACKING.rst: add pytest version gotchas section (#311) + docs: Add steps to re-run cloud-id and cloud-init (#313) [Joshua Powers] + readme: OpenBSD is now supported (#309) [Gonéri Le Bouder] + net: ignore 'renderer' key in netplan config (#306) (LP: #1870421) + Add support for NFS/EFS mounts (#300) [Andrew Beresford] (LP: #1870370) + openbsd: set_passwd should not unlock user (#289) [Gonéri Le Bouder] + tools/.github-cla-signers: add beezly as CLA signer (#301) + util: remove unnecessary lru_cache import fallback (#299) + HACKING.rst: reorganise/update CLA signature info (#297) + distros: drop leading/trailing hyphens from mirror URL labels (#296) + HACKING.rst: add note about variable annotations (#295) + CiTestCase: stop using and remove sys_exit helper (#283) + distros: replace invalid characters in mirror URLs with hyphens (#291) (LP: #1868232) + rbxcloud: gracefully handle arping errors (#262) [Adam Dobrawy] + Fix cloud-init ignoring some misdeclared mimetypes in user-data. [Kurt Garloff] + net: ubuntu focal prioritize netplan over eni even if both present (#267) (LP: #1867029) + cloudinit: refactor util.is_ipv4 to net.is_ipv4_address (#292) + net/cmdline: replace type comments with annotations (#294) + HACKING.rst: add Type Annotations design section (#293) + net: introduce is_ip_address function (#288) + CiTestCase: remove now-unneeded parse_and_read helper method (#286) + .travis.yml: allow 30 minutes of inactivity in cloud tests (#287) + sources/tests/test_init: drop use of deprecated inspect.getargspec (#285) + setup.py: drop NIH check_output implementation (#282) + Identify SAP Converged Cloud as OpenStack [Silvio Knizek] + add Openbsd support (#147) [Gonéri Le Bouder] + HACKING.rst: add examples of the two test class types (#278) + VMWware: support to update guest info gc status if enabled (#261) [xiaofengw-vmware] + Add lp-to-git mapping for kgarloff (#279) + set_passwords: avoid chpasswd on BSD (#268) [Gonéri Le Bouder] + HACKING.rst: add Unit Testing design section (#277) + util: read_cc_from_cmdline handle urlencoded yaml content (#275) + distros/tests/test_init: add tests for _get_package_mirror_info (#272) + HACKING.rst: add links to new Code Review Process doc (#276) + freebsd: ensure package update works (#273) [Gonéri Le Bouder] + doc: introduce Code Review Process documentation (#160) + tools: use python3 (#274) + cc_disk_setup: fix RuntimeError (#270) (LP: #1868327) + cc_apt_configure/util: combine search_for_mirror implementations (#271) + bsd: boottime does not depend on the libc soname (#269) [Gonéri Le Bouder] + test_oracle,DataSourceOracle: sort imports (#266) + DataSourceOracle: update .network_config docstring (#257) + cloudinit/tests: remove unneeded with_logs configuration (#263) + .travis.yml: drop stale comment (#255) + .gitignore: add more common directories (#258) + ec2: render network on all NICs and add secondary IPs as static (#114) (LP: #1866930) + ec2 json validation: fix the reference to the 'merged_cfg' key (#256) [Paride Legovini] + releases.yaml: quote the Ubuntu version numbers (#254) [Paride Legovini] + cloudinit: remove six from packaging/tooling (#253) + util/netbsd: drop six usage (#252) + workflows: introduce stale pull request workflow (#125) + cc_resolv_conf: introduce tests and stabilise output across Python versions (#251) + fix minor issue with resolv_conf template (#144) [andreaf74] + doc: CloudInit also support NetBSD (#250) [Gonéri Le Bouder] + Add Netbsd support (#62) [Gonéri Le Bouder] + tox.ini: avoid substition syntax that causes a traceback on xenial (#245) + Add pub_key_ed25519 to cc_phone_home (#237) [Daniel Hensby] + Introduce and use of a list of GitHub usernames that have signed CLA (#244) + workflows/cla.yml: use correct username for CLA check (#243) + tox.ini: use xenial version of jsonpatch in CI (#242) + workflows: CLA validation altered to fail status on pull_request (#164) + tox.ini: bump pyflakes version to 2.1.1 (#239) + cloudinit: move to pytest for running tests (#211) + instance-data: add cloud-init merged_cfg and sys_info keys to json (#214) (LP: #1865969) + ec2: Do not fallback to IMDSv1 on EC2 (#216) + instance-data: write redacted cfg to instance-data.json (#233) (LP: #1865947) + net: support network-config:disabled on the kernel commandline (#232) (LP: #1862702) + ec2: only redact token request headers in logs, avoid altering request (#230) (LP: #1865882) + docs: typo fixed: dta → data [Alexey Vazhnov] + Fixes typo on Amazon Web Services (#217) [Nick Wales] + Fix docs for OpenStack DMI Asset Tag (#228) [Mark T. Voelker] (LP: #1669875) + Add physical network type: cascading to openstack helpers (#200) [sab-systems] + tests: add focal integration tests for ubuntu (#225) - From 20.1 (first vesrion after 19.4) + ec2: Do not log IMDSv2 token values, instead use REDACTED (#219) (LP: #1863943) + utils: use SystemRandom when generating random password. (#204) [Dimitri John Ledkov] + docs: mount_default_files is a list of 6 items, not 7 (#212) + azurecloud: fix issues with instances not starting (#205) (LP: #1861921) + unittest: fix stderr leak in cc_set_password random unittest output. (#208) + cc_disk_setup: add swap filesystem force flag (#207) + import sysvinit patches from freebsd-ports tree (#161) [Igor Galić] + docs: fix typo (#195) [Edwin Kofler] + sysconfig: distro-specific config rendering for BOOTPROTO option (#162) [Robert Schweikert] (LP: #1800854) + cloudinit: replace "from six import X" imports (except in util.py) (#183) + run-container: use 'test -n' instead of 'test ! -z' (#202) [Paride Legovini] + net/cmdline: correctly handle static ip= config (#201) [Dimitri John Ledkov] (LP: #1861412) + Replace mock library with unittest.mock (#186) + HACKING.rst: update CLA link (#199) + Scaleway: Fix DatasourceScaleway to avoid backtrace (#128) [Louis Bouchard] + cloudinit/cmd/devel/net_convert.py: add missing space (#191) + tools/run-container: drop support for python2 (#192) [Paride Legovini] + Print ssh key fingerprints using sha256 hash (#188) (LP: #1860789) + Make the RPM build use Python 3 (#190) [Paride Legovini] + cc_set_password: increase random pwlength from 9 to 20 (#189) (LP: #1860795) + .travis.yml: use correct Python version for xenial tests (#185) + cloudinit: remove ImportError handling for mock imports (#182) + Do not use fallocate in swap file creation on xfs. (#70) [Eduardo Otubo] (LP: #1781781) + .readthedocs.yaml: install cloud-init when building docs (#181) (LP: #1860450) + Introduce an RTD config file, and pin the Sphinx version to the RTD default (#180) + Drop most of the remaining use of six (#179) + Start removing dependency on six (#178) + Add Rootbox & HyperOne to list of cloud in README (#176) [Adam Dobrawy] + docs: add proposed SRU testing procedure (#167) + util: rename get_architecture to get_dpkg_architecture (#173) + Ensure util.get_architecture() runs only once (#172) + Only use gpart if it is the BSD gpart (#131) [Conrad Hoffmann] + freebsd: remove superflu exception mapping (#166) [Gonéri Le Bouder] + ssh_auth_key_fingerprints_disable test: fix capitalization (#165) [Paride Legovini] + util: move uptime's else branch into its own boottime function (#53) [Igor Galić] (LP: #1853160) + workflows: add contributor license agreement checker (#155) + net: fix rendering of 'static6' in network config (#77) (LP: #1850988) + Make tests work with Python 3.8 (#139) [Conrad Hoffmann] + fixed minor bug with mkswap in cc_disk_setup.py (#143) [andreaf74] + freebsd: fix create_group() cmd (#146) [Gonéri Le Bouder] + doc: make apt_update example consistent (#154) + doc: add modules page toc with links (#153) (LP: #1852456) + Add support for the amazon variant in cloud.cfg.tmpl (#119) [Frederick Lefebvre] + ci: remove Python 2.7 from CI runs (#137) + modules: drop cc_snap_config config module (#134) + migrate-lp-user-to-github: ensure Launchpad repo exists (#136) + docs: add initial troubleshooting to FAQ (#104) [Joshua Powers] + doc: update cc_set_hostname frequency and descrip (#109) [Joshua Powers] (LP: #1827021) + freebsd: introduce the freebsd renderer (#61) [Gonéri Le Bouder] + cc_snappy: remove deprecated module (#127) + HACKING.rst: clarify that everyone needs to do the LP->GH dance (#130) + freebsd: cloudinit service requires devd (#132) [Gonéri Le Bouder] + cloud-init: fix capitalisation of SSH (#126) + doc: update cc_ssh clarify host and auth keys [Joshua Powers] (LP: #1827021) + ci: emit names of tests run in Travis (#120)- Disable testing to aid elimination of unittest2 in Factory- bsc#1170154: rsyslog warning, '~' is deprecated + replace deprecated syntax '& ~' by '& stop' for more information please see https://www.rsyslog.com/rsyslog-error-2307/- Update cloud-init-write-routes.patch + Explicitly test for netconfig version 1 as well as 2- Update cloud-init-write-routes.patch + Handle netconfig v2 device configurations (bsc#1171546, bsc#1171995)- Update cloud-init-write-routes.patch + In cases where the config contains 2 or more default gateway specifications for an interface only write the first default route, log warning message about skipped routes + Avoid writing invalid route specification if neither the network nor destination is specified in the route configuration- Update cloud-init-write-routes.patch + Still need to consider the "network" configuration option for the v1 config implementation. Fixes regression introduced with update from Wed Feb 12 19:30:42- Update cloud-init-write-routes.patch (bsc#1165296) + Add the default gateway to the ifroute config file when specified as part of the subnet configuration + Fix typo to properly extrakt provided netmask data (bsc#1163178)- Add cloud-init-long-pass.patch (bsc#1162936, CVE-2020-8632) + Increase the default length of generated passwords- Add cloud-init-use-different-random-src.diff (bsc#1162937, CVE-2020-8631) + Use non-deterministic generator for password generation.- Update cloud-init-write-routes.patch (bsc#1163178) + Entries in the routes definition have changed causing a traceback during rout config file writing. This patch update addresses the issue by extracting the new entries properly.- BuildRequire pkgconfig(udev) instead of udev: allow OBS to shortcut through the -mini flavor.- Add cloud-init-no-tempnet-oci.patch (bsc#1161132, bsc#1161133) + Do not attempt to configure an ephemeral network on OCI. We boot off iSCSI and the network is up. Just read the data.- Add patch to build properly with python 3.8: * 0001-Make-tests-work-with-Python-3.8-139.patch- Update to version 19.4 + Remove patches included upstream: - cloud-init-after-wicked.patch - cloud-init-noresolv-merge-no-dns-data.diff - cloud-init-renderer-detect.patch - cloud-init-trigger-udev.patch + Removed patches merged with cloud-init-mix-static-dhcp.patch - cloud-init-proper-ipv6-setting.patch - cloud-init-static-net.patch + Added cloud-init-mix-static-dhcp.patch (bsc#1157894) + Forward port cloud-init-sysconf-path.patch + doc: specify _ over - in cloud config modules + [Joshua Powers] (LP: #1293254) + tools: Detect python to use via env in migrate-lp-user-to-github + [Adam Dobrawy] + Partially revert "fix unlocking method on FreeBSD" (#116) + tests: mock uid when running as root (#113) + [Joshua Powers] (LP: #1856096) + cloudinit/netinfo: remove unused getgateway (#111) + docs: clear up apt config sections (#107) [Joshua Powers] (LP: #1832823) + doc: add kernel command line option to user data (#105) + [Joshua Powers] (LP: #1846524) + config/cloud.cfg.d: update README [Joshua Powers] (LP: #1855006) + azure: avoid re-running cloud-init when instance-id is byte-swapped + (#84) [AOhassan] + fix unlocking method on FreeBSD [Igor Galić] (LP: #1854594) + debian: add reference to the manpages [Joshua Powers] + ds_identify: if /sys is not available use dmidecode (#42) + [Igor Galić] (LP: #1852442) + docs: add cloud-id manpage [Joshua Powers] + docs: add cloud-init-per manpage [Joshua Powers] + docs: add cloud-init manpage [Joshua Powers] + docs: add additional details to per-instance/once [Joshua Powers] + Update doc-requirements.txt [Joshua Powers] + doc-requirements: add missing dep [Joshua Powers] + dhcp: Support RedHat dhcp rfc3442 lease format for option 121 (#76) + [Eric Lafontaine] (LP: #1850642) + network_state: handle empty v1 config (#45) (LP: #1852496) + docs: Add document on how to report bugs [Joshua Powers] + Add an Amazon distro in the redhat OS family [Frederick Lefebvre] + removed a couple of "the"s [gaughen] + docs: fix line length and remove highlighting [Joshua Powers] + docs: Add security.md to readthedocs [Joshua Powers] + Multiple file fix for AuthorizedKeysFile config (#60) [Eduardo Otubo] + Revert "travis: only run CI on pull requests" + doc: update links on README.md [Joshua Powers] + doc: Updates to wording of README.md [Joshua Powers] + Add security.md [Joshua Powers] + setup.py: Amazon Linux sets libexec to /usr/libexec (#52) + [Frederick Lefebvre] + Fix linting failure in test_url_helper (#83) [Eric Lafontaine] + url_helper: read_file_or_url should pass headers param into readurl + (#66) (LP: #1854084) + dmidecode: log result *after* stripping n [Igor Galić] + cloud_tests: add azure platform support to integration tests + [ahosmanmsft] + set_passwords: support for FreeBSD (#46) [Igor Galić] + tools: migrate-lp-user-to-github removes repo_dir if created (#35) + Correct jumbled documentation for cc_set_hostname module (#64) + [do3meli] (LP: #1853543) + FreeBSD: fix for get_linux_distro() and lru_cache (#59) + [Igor Galić] (LP: #1815030) + ec2: Add support for AWS IMDS v2 (session-oriented) (#55) + tests: Fix cloudsigma tests when no dmidecode data is present. (#57) + [Scott Moser] + net: IPv6, accept_ra, slaac, stateless (#51) + [Harald] (LP: #1806014, #1808647) + docs: Update the configdrive datasource links (#44) + [Joshua Powers] (LP: #1852461) + distro: correctly set usr_lib_exec path for FreeBSD distro (#40) + [Igor Galić] (LP: #1852491) + azure: support secondary ipv6 addresses (#33) + Fix metadata check when local-hostname is null (#32) + [Mark Goddard] (LP: #1852100) + switch default FreeBSD salt minion pkg from py27 to py36 + [Dominic Schlegel] + travis: only run CI on pull requests + add data-server dns entry as new metadata server detection [Joshua Hügli] + pycodestyle: remove unused local variable + reporting: Using a uuid to enforce uniqueness on the KVP keys. [momousta] + docs: touchups in rtd intro and README.md + doc: update launchpad git refs to github + github: drop pull-request template to prepare for migration + tools: add migrate-lp-user-to-github script to link LP to github + github: new basic project readme - From 19.3 + azure: support matching dhcp route-metrics for dual-stack ipv4 ipv6 + (LP: #1850308) + configdrive: fix subplatform config-drive for /config-drive source + [David Kindred] (LP: #1849731) + DataSourceSmartOS: reconfigure network on each boot + [Mike Gerdts] (LP: #1765801) + Add config for ssh-key import and consuming user-data [Pavel Zakharov] + net: fix subnet_is_ipv6() for stateless|stateful + [Harald Jensås] (LP: #1848690) + OVF: disable custom script execution by default [Xiaofeng Wang] + cc_puppet: Implement csr_attributes.yaml support [Matthias Baur] + cloud-init.service: on centos/fedora/redhat wait on NetworkManager.service + (LP: #1843334) + azure: Do not lock user on instance id change [Sam Eiderman] (LP: #1849677) + net/netplan: use ipv6-mtu key for specifying ipv6 mtu values + Fix usages of yaml, and move yaml_dump to safeyaml.dumps. (LP: #1849640) + exoscale: Increase url_max_wait to 120s. [Chris Glass] + net/sysconfig: fix available check on SUSE distros + [Robert Schweikert] (LP: #1849378) + docs: Fix incorrect Azure IMDS IP address [Joshua Powers] (LP: #1849508) + introduce .travis.yml + net: enable infiniband support in eni and sysconfig renderers + [Darren Birkett] (LP: #1847114) + guestcust_util: handle special characters in config file [Xiaofeng Wang] + fix some more typos in comments [Dominic Schlegel] + replace any deprecated log.warn with log.warning + [Dominic Schlegel] (LP: #1508442) + net: handle openstack dhcpv6-stateless configuration + [Harald Jensås] (LP: #1847517) + Add .venv/ to .gitignore [Dominic Schlegel] + Small typo fixes in code comments. [Dominic Schlegel] + cloud_test/lxd: Retry container delete a few times + Add Support for e24cloud to Ec2 datasource. (LP: #1696476) + Add RbxCloud datasource [Adam Dobrawy] + get_interfaces: don't exclude bridge and bond members (LP: #1846535) + Add support for Arch Linux in render-cloudcfg [Conrad Hoffmann] + util: json.dumps on python 2.7 will handle UnicodeDecodeError on binary + (LP: #1801364) + debian/ubuntu: add missing word to netplan/ENI header (LP: #1845669) + ovf: do not generate random instance-id for IMC customization path + sysconfig: only write resolv.conf if network_state has DNS values + (LP: #1843634) + sysconfig: use distro variant to check if available (LP: #1843584) + systemd/cloud-init.service.tmpl: start after wicked.service + [Robert Schweikert] + docs: fix zstack documentation lints + analyze/show: remove trailing space in output + Add missing space in warning: "not avalid seed" [Brian Candler] + pylintrc: add 'enter_context' to generated-members list + Add datasource for ZStack platform. [Shixin Ruan] (LP: #1841181) + docs: organize TOC and update summary of project [Joshua Powers] + tools: make clean now cleans the dev directory, not the system + docs: create cli specific page [Joshua Powers] + docs: added output examples to analyze.rst [Joshua Powers] + docs: doc8 fixes for instancedata page [Joshua Powers] + docs: clean up formatting, organize boot page [Joshua Powers] + net: add is_master check for filtering device list (LP: #1844191) + docs: more complete list of availability [Joshua Powers] + docs: start FAQ page [Joshua Powers] + docs: cleanup output & order of datasource page [Joshua Powers] + Brightbox: restrict detection to require full domain match .brightbox.com + VMWware: add option into VMTools config to enable/disable custom script. + [Xiaofeng Wang] + net,Oracle: Add support for netfailover detection + atomic_helper: add DEBUG logging to write_file (LP: #1843276) + doc: document doc, create makefile and tox target [Joshua Powers] + .gitignore: ignore files produced by package builds + docs: fix whitespace, spelling, and line length [Joshua Powers] + docs: remove unnecessary file in doc directory [Joshua Powers] + Oracle: Render secondary vnic IP and MTU values only + exoscale: fix sysconfig cloud_config_modules overrides (LP: #1841454) + net/cmdline: refactor to allow multiple initramfs network config sources + ubuntu-drivers: call db_x_loadtemplatefile to accept NVIDIA EULA + (LP: #1840080) + Add missing #cloud-config comment on first example in documentation. + [Florian Müller] + ubuntu-drivers: emit latelink=true debconf to accept nvidia eula + (LP: #1840080) + DataSourceOracle: prefer DS network config over initramfs + format.rst: add text/jinja2 to list of content types (+ cleanups) + Add GitHub pull request template to point people at hacking doc + cloudinit/distros/parsers/sys_conf: add docstring to SysConf + pyflakes: remove unused variable [Joshua Powers] + Azure: Record boot timestamps, system information, and diagnostic events + [Anh Vo] + DataSourceOracle: configure secondary NICs on Virtual Machines + distros: fix confusing variable names + azure/net: generate_fallback_nic emits network v2 config instead of v1 + Add support for publishing host keys to GCE guest attributes [Rick Wright] + New data source for the Exoscale.com cloud platform [Chris Glass] + doc: remove intersphinx extension + cc_set_passwords: rewrite documentation (LP: #1838794) + net/cmdline: split interfaces_by_mac and init network config determination + stages: allow data sources to override network config source order + cloud_tests: updates and fixes + Fix bug rendering MTU on bond or vlan when input was netplan. (LP: #1836949) + net: update net sequence, include wait on netdevs, opensuse netrules path (LP: #1817368)- Add cloud-init-proper-ipv6-setting.patch (bsc#1156139) + Set proper IPv6 interface variable in ifcfg file- Update cloud-init-write-routes.patch (bsc#1155376) + Write a route's destination network in CIDR notation instead of using the netmask. This provides support for correctly recording IPv6 routes.- Add cloud-init-renderer-detect.patch (bsc#1154092, boo#1142988) + Short curcuit the conditional for identifying the sysconfig renderer. If we find ifup/ifdown accept the renderer as available.- Add cloud-init-break-resolv-symlink.patch (bsc#1151488) + If /etc/resolv.conf is a symlink break it. This will avoid netconfig from clobbering the changes cloud-init applied.- Update to cloud-init 19.2 (bsc#1099358, bsc#1145622) + Remove, included upstream - cloud-init-detect-nova.diff - cloud-init-add-static-routes.diff + net: add rfc3442 (classless static routes) to EphemeralDHCP (LP: #1821102) + templates/ntp.conf.debian.tmpl: fix missing newline for pools (LP: #1836598) + Support netplan renderer in Arch Linux [Conrad Hoffmann] + Fix typo in publicly viewable documentation. [David Medberry] + Add a cdrom size checker for OVF ds to ds-identify [Pengpeng Sun] (LP: #1806701) + VMWare: Trigger the post customization script via cc_scripts module. [Xiaofeng Wang] (LP: #1833192) + Cloud-init analyze module: Added ability to analyze boot events. [Sam Gilson] + Update debian eni network configuration location, retain Ubuntu setting [Janos Lenart] + net: skip bond interfaces in get_interfaces [Stanislav Makar] (LP: #1812857) + Fix a couple of issues raised by a coverity scan + Add missing dsname for Hetzner Cloud datasource [Markus Schade] + doc: indicate that netplan is default in Ubuntu now + azure: add region and AZ properties from imds compute location metadata + sysconfig: support more bonding options [Penghui Liao] + cloud-init-generator: use libexec path to ds-identify on redhat systems (LP: #1833264) + tools/build-on-freebsd: update to python3 [Gonéri Le Bouder] + Allow identification of OpenStack by Asset Tag [Mark T. Voelker] (LP: #1669875) + Fix spelling error making 'an Ubuntu' consistent. [Brian Murray] + run-container: centos: comment out the repo mirrorlist [Paride Legovini] + netplan: update netplan key mappings for gratuitous-arp (LP: #1827238) + freebsd: fix the name of cloudcfg VARIANT [Gonéri Le Bouder] + freebsd: ability to grow root file system [Gonéri Le Bouder] + freebsd: NoCloud data source support [Gonéri Le Bouder] (LP: #1645824) + Azure: Return static fallback address as if failed to find endpoint [Jason Zions (MSFT)]- Add cloud-init-after-wicked.patch - Change the service order, the cloud-init service wants to run after networking is started- Add cloud-init-noresolv-merge-no-dns-data.diff - Avoid writing resolv.conf if the network configuration contains no dns entries.- Follow up to update cloud-init-trigger-udev.patch (bsc#1144363) - In this implementation the "name" is not yet an attribute, use get() to obtain the value from a dict. Source code version confusion.- Add cloud-init-add-static-routes.diff (bsc#1141969) + Properly handle static routes. The EphemeralDHCP context manager did not parse or handle rfc3442 classless static routes which prevented reading datasource metadata in some clouds.- Update cloud-init-trigger-udev.patch (bsc#1144363) - The __str__ implementation no longer delivers the name of the interface, use the "name" attribute instead to form a proper path in the sysfs tree- Update cloud-init-write-routes.patch (boo#1144881, bsc#1148645) + If no routes are set for a subnet but the subnet has a gateway specified, set the gateway as the default route for the interface- Follow the ever changing inconsistencies of version definitions and detection in the build service. + No more suse_version in SUSE internal instance for SLES 15 SP1- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut the build queues by allowing usage of systemd-mini- Update to version 19.1 (bsc#1136440, bsc#1129124) + Remove, included upstream - fix-default-systemd-unit-dir.patch - cloud-init-sysconf-ethsetup.patch - cloud-init-handle-def-route-set.patch - cloud-init-no-empty-resolv.patch - cloud-init-proper-ipv6-varname.patch + Forward port - cloud-init-trigger-udev.patch + Add cloud-init-detect-nova.diff (bsc#1136440) + Modify cloud-init-python2-sigpipe.patch, import signal and constants + Update spec to account for new location of bash completion + freebsd: add chpasswd pkg in the image [Gonéri Le Bouder] + tests: add Eoan release [Paride Legovini] + cc_mounts: check if mount -a on no-change fstab path [Jason Zions (MSFT)] (LP: #1825596) + replace remaining occurrences of LOG.warn [Daniel Watkins] + DataSourceAzure: Adjust timeout for polling IMDS [Anh Vo] + Azure: Changes to the Hyper-V KVP Reporter [Anh Vo] + git tests: no longer show warning about safe yaml. + tools/read-version: handle errors [Chad Miller] + net/sysconfig: only indicate available on known sysconfig distros (LP: #1819994) + packages: update rpm specs for new bash completion path [Daniel Watkins] (LP: #1825444) + test_azure: mock util.SeLinuxGuard where needed [Jason Zions (MSFT)] (LP: #1825253) + setup.py: install bash completion script in new location [Daniel Watkins] + mount_cb: do not pass sync and rw options to mount [Gonéri Le Bouder] (LP: #1645824) + cc_apt_configure: fix typo in apt documentation [Dominic Schlegel] + Revert "DataSource: move update_events from a class to an instance..." [Daniel Watkins] + Change DataSourceNoCloud to ignore file system label's case. [Risto Oikarinen] + cmd:main.py: Fix missing 'modules-init' key in modes dict [Antonio Romito] (LP: #1815109) + ubuntu_advantage: rewrite cloud-config module + Azure: Treat _unset network configuration as if it were absent [Jason Zions (MSFT)] (LP: #1823084) + DatasourceAzure: add additional logging for azure datasource [Anh Vo] + cloud_tests: fix apt_pipelining test-cases + Azure: Ensure platform random_seed is always serializable as JSON. [Jason Zions (MSFT)] + net/sysconfig: write out SUSE-compatible IPv6 config [Robert Schweikert] + tox: Update testenv for openSUSE Leap to 15.0 [Thomas Bechtold] + net: Fix ipv6 static routes when using eni renderer [Raphael Glon] (LP: #1818669) + Add ubuntu_drivers config module [Daniel Watkins] + doc: Refresh Azure walinuxagent docs [Daniel Watkins] + tox: bump pylint version to latest (2.3.1) [Daniel Watkins] + DataSource: move update_events from a class to an instance attribute [Daniel Watkins] (LP: #1819913) + net/sysconfig: Handle default route setup for dhcp configured NICs [Robert Schweikert] (LP: #1812117) + DataSourceEc2: update RELEASE_BLOCKER to be more accurate [Daniel Watkins] + cloud-init-per: POSIX sh does not support string subst, use sed (LP: #1819222) + Support locking user with usermod if passwd is not available. + Example for Microsoft Azure data disk added. [Anton Olifir] + clean: correctly determine the path for excluding seed directory [Daniel Watkins] (LP: #1818571) + helpers/openstack: Treat unknown link types as physical [Daniel Watkins] (LP: #1639263) + drop Python 2.6 support and our NIH version detection [Daniel Watkins] + tip-pylint: Fix assignment-from-return-none errors + net: append type:dhcp[46] only if dhcp[46] is True in v2 netconfig [Kurt Stieger] (LP: #1818032) + cc_apt_pipelining: stop disabling pipelining by default [Daniel Watkins] (LP: #1794982) + tests: fix some slow tests and some leaking state [Daniel Watkins] + util: don't determine string_types ourselves [Daniel Watkins] + cc_rsyslog: Escape possible nested set [Daniel Watkins] (LP: #1816967) + Enable encrypted_data_bag_secret support for Chef [Eric Williams] (LP: #1817082) + azure: Filter list of ssh keys pulled from fabric [Jason Zions (MSFT)] CVE-2019-0816 + doc: update merging doc with fixes and some additional details/examples + tests: integration test failure summary to use traceback if empty error + This is to fix https://bugs.launchpad.net/cloud-init/+bug/1812676 [Vitaly Kuznetsov] + EC2: Rewrite network config on AWS Classic instances every boot [Guilherme G. Piccoli] (LP: #1802073) + netinfo: Adjust ifconfig output parsing for FreeBSD ipv6 entries (LP: #1779672) + netplan: Don't render yaml aliases when dumping netplan (LP: #1815051) + add PyCharm IDE .idea/ path to .gitignore [Dominic Schlegel] + correct grammar issue in instance metadata documentation [Dominic Schlegel] (LP: #1802188) + clean: cloud-init clean should not trace when run from within cloud_dir (LP: #1795508) + Resolve flake8 comparison and pycodestyle over-ident issues [Paride Legovini] + opennebula: also exclude epochseconds from changed environment vars (LP: #1813641) + systemd: Render generator from template to account for system differences. [Robert Schweikert] + sysconfig: On SUSE, use STARTMODE instead of ONBOOT [Robert Schweikert] (LP: #1799540) + flake8: use ==/!= to compare str, bytes, and int literals [Paride Legovini] + opennebula: exclude EPOCHREALTIME as known bash env variable with a delta (LP: #1813383) + tox: fix disco httpretty dependencies for py37 (LP: #1813361) + run-container: uncomment baseurl in yum.repos.d/*.repo when using a proxy [Paride Legovini] + lxd: install zfs-linux instead of zfs meta package [Johnson Shi] (LP: #1799779) + net/sysconfig: do not write a resolv.conf file with only the header. [Robert Schweikert] + net: Make sysconfig renderer compatible with Network Manager. [Eduardo Otubo] + cc_set_passwords: Fix regex when parsing hashed passwords [Marlin Cremers] (LP: #1811446) + net: Wait for dhclient to daemonize before reading lease file [Jason Zions] (LP: #1794399) + [Azure] Increase retries when talking to Wireserver during metadata walk [Jason Zions] + Add documentation on adding a datasource. + doc: clean up some datasource documentation. + ds-identify: fix wrong variable name in ovf_vmware_transport_guestinfo. + Scaleway: Support ssh keys provided inside an instance tag. [PORTE Loïc] + OVF: simplify expected return values of transport functions. + Vmware: Add support for the com.vmware.guestInfo OVF transport. (LP: #1807466) + HACKING.rst: change contact info to Josh Powers + Update to pylint 2.2.2.- Update cloud-init-write-routes.patch (bsc#1132692) + Properly accumulate all the defined routes for a given network device. Previously only the last defined route was written to the routes file.- Update cloud-init-trigger-udev.patch (bsc#1125950) + Write the udev rules to a different file than the default + Settle udev if not all configured devices are in the device tree to avoid race condition between udev and cloud-init- Add cloud-init-trigger-udev.patch (bsc#1125950) + When the user configures a new rules file for network devices the rules may not apply immediately, trigger udevadm- Modify cloud-init-write-routes.patch (bsc#1125992) + Fix the order of calls, the SUSE implementation of route config file writing must clobber the default implementation.- Add cloud-init-proper-ipv6-varname.patch (bsc#1126101) + Use the proper name to designate IPv6 addresses in ifcfg-* files- Modify cloud-init-write-routes.patch (boo#1123694) + Drop a '-' in the route file for the last column- Add cloud-init-no-empty-resolv.patch (bsc#1119397)- Update to version 18.5 (bsc#1121878, boo#1116767) + Remove 0001-Fix-the-service-order-for-SUSE-distributions.patch 0001-Follow-the-ever-bouncing-ball-for-openSUSE-distribut.patch 0002-Add-tests-for-additional-openSUSE-distro-condition-m.patch included upstream + Forward port cloud-init-sysconf-ethsetup.patch + Add cloud-init-write-routes.patch + Add cloud-init-handle-def-route-set.patch + tests: add Disco release [Joshua Powers] + net: render 'metric' values in per-subnet routes (LP: #1805871) + write_files: add support for appending to files. [James Baxter] + config: On ubuntu select cloud archive mirrors for armel, armhf, arm64. (LP: #1805854) + dhclient-hook: cleanups, tests and fix a bug on 'down' event. + NoCloud: Allow top level 'network' key in network-config. (LP: #1798117) + ovf: Fix ovf network config generation gateway/routes (LP: #1806103) + azure: detect vnet migration via netlink media change event [Tamilmani Manoharan] + Azure: fix copy/paste error in error handling when reading azure ovf. + [Adam DePue] + tests: fix incorrect order of mocks in test_handle_zfs_root. + doc: Change dns_nameserver property to dns_nameservers. [Tomer Cohen] + OVF: identify label iso9660 filesystems with label 'OVF ENV'. + logs: collect-logs ignore instance-data-sensitive.json on non-root user (LP: #1805201) + net: Ephemeral*Network: add connectivity check via URL + azure: _poll_imds only retry on 404. Fail on Timeout (LP: #1803598) + resizefs: Prefix discovered devpath with '/dev/' when path does not exist [Igor Galić] + azure: retry imds polling on requests.Timeout (LP: #1800223) + azure: Accept variation in error msg from mount for ntfs volumes [Jason Zions] (LP: #1799338) + azure: fix regression introduced when persisting ephemeral dhcp lease [asakkurr] + azure: add udev rules to create cloud-init Gen2 disk name symlinks (LP: #1797480) + tests: ec2 mock missing httpretty user-data and instance-identity routes + azure: remove /etc/netplan/90-hotplug-azure.yaml when net from IMDS + azure: report ready to fabric after reprovision and reduce logging [asakkurr] (LP: #1799594) + query: better error when missing read permission on instance-data + instance-data: fallback to instance-data.json if sensitive is absent. (LP: #1798189) + docs: remove colon from network v1 config example. [Tomer Cohen] + Add cloud-id binary to packages for SUSE [Jason Zions] + systemd: On SUSE ensure cloud-init.service runs before wicked [Robert Schweikert] (LP: #1799709) + update detection of openSUSE variants [Robert Schweikert] + azure: Add apply_network_config option to disable network from IMDS (LP: #1798424) + Correct spelling in an error message (udevadm). [Katie McLaughlin] + tests: meta_data key changed to meta-data in ec2 instance-data.json (LP: #1797231) + tests: fix kvm integration test to assert flexible config-disk path (LP: #1797199) + tools: Add cloud-id command line utility + instance-data: Add standard keys platform and subplatform. Refactor ec2. + net: ignore nics that have "zero" mac address. (LP: #1796917) + tests: fix apt_configure_primary to be more flexible + Ubuntu: update sources.list to comment out deb-src entries. (LP: #74747)- Add cloud-init-ostack-metadat-dencode.patch (bsc#1101894)- Add cloud-init-static-net.patch (boo#1114160)- Update to version 18.4 (bsc#1087331, bsc#1097388, boo#1111427, bsc#1095627) + Remove cloud-init-no-user-lock-if-already-locked.patch cloud-init 18.4 is not supported on SLE 11 code base + Remove 0001-Support-chrony-configuration-lp-1731619.patch Included upstream + Remove 0003-Distro-dependent-chrony-config-file.patch Included upstream + Remove 0001-switch-to-using-iproute2-tools.patch Included upstream + Remove cloud-init-no-python-linux-dist.patch Included upstream + Remove cloud-init-no-trace-empt-sect.patch Included upstream + Remove cloud-init-setpath-dsitentify.patch Included upstream + Modify fix-default-systemd-unit-dir.patch Use pkg-config, only modify the generator + Remove cloud-init-sysconfig-netpathfix.patch Fixed upstream + Removed cloud-init-skip-ovf-tests.patch Fixed upstream + Removed cloud-init-translate-netconf-ipv4-keep-gw.patch Fixed upstream + Add cloud-init-template-py2.patch avoid Python 3 dependency when we build for distros with Python 2 support + Add 0001-Follow-the-ever-bouncing-ball-for-openSUSE-distribut.patch + Add 0002-Add-tests-for-additional-openSUSE-distro-condition-m.patch + Add cloud-init-sysconf-path.patch + Add cloud-init-sysconf-ethsetup.patch + Add 0001-Fix-the-service-order-for-SUSE-distributions.patch + Add dhcp-client as requirement cloud-init uses dhclient to setup temporary network for metadata retrieval. THis is needed until lp#1733226 is addressed + add rtd example docs about new standardized keys + use ds._crawled_metadata instance attribute if set when writing instance-data.json + ec2: update crawled metadata. add standardized keys + tests: allow skipping an entire cloud_test without running. + tests: disable lxd tests on cosmic + cii-tests: use unittest2.SkipTest in ntp_chrony due to new deps + lxd: adjust to snap installed lxd. + docs: surface experimental doc in instance-data.json + tests: fix ec2 integration tests. process meta_data instead of meta-data + Add support for Infiniband network interfaces (IPoIB). [Mark Goddard] + cli: add cloud-init query subcommand to query instance metadata + tools/tox-venv: update for new features. + pylint: ignore warning assignment-from-no-return for _write_network + stages: Fix bug causing datasource to have incorrect sys_cfg. (LP: #1787459) + Remove dead-code _write_network distro implementations. + net_util: ensure static configs have netmask in translate_network result [Thomas Berger] (LP: #1792454) + Fall back to root:root on syslog permissions if other options fail. [Robert Schweikert] + tests: Add mock for util.get_hostname. [Robert Schweikert] (LP: #1792799) + ds-identify: doc string cleanup. + OpenStack: Support setting mac address on bond. [Fabian Wiesel] (LP: #1682064) + bash_completion/cloud-init: fix shell syntax error. + EphemeralIPv4Network: Be more explicit when adding default route. (LP: #1792415) + OpenStack: support reading of newer versions of metdata. + OpenStack: fix bug causing 'latest' version to be used from network. (LP: #1792157) + user-data: jinja template to render instance-data.json in cloud-config (LP: #1791781) + config: disable ssh access to a configured user account + tests: print failed testname instead of docstring upon failure + tests: Disallow use of util.subp except for where needed. + sysconfig: refactor sysconfig to accept distro specific templates paths + Add unit tests for config/cc_ssh.py [Francis Ginther] + Fix the built-in cloudinit/tests/helpers:skipIf + read-version: enhance error message [Joshua Powers] + hyperv_reporting_handler: simplify threaded publisher + VMWare: Fix a network config bug in vm with static IPv4 and no gateway. [Pengpeng Sun] (LP: #1766538) + logging: Add logging config type hyperv for reporting via Azure KVP [Andy Liu] + tests: disable other snap test as well [Joshua Powers] + tests: disable snap, fix write_files binary [Joshua Powers] + Add datasource Oracle Compute Infrastructure (OCI). + azure: allow azure to generate network configuration from IMDS per boot. + Scaleway: Add network configuration to the DataSource [Louis Bouchard] + docs: Fix example cloud-init analyze command to match output. [Wesley Gao] + netplan: Correctly render macaddress on a bonds and bridges when provided. (LP: #1784699) + tools: Add 'net-convert' subcommand command to 'cloud-init devel'. + redhat: remove ssh keys on new instance. (LP: #1781094) + Use typeset or local in profile.d scripts. (LP: #1784713) + OpenNebula: Fix null gateway6 [Akihiko Ota] (LP: #1768547) + oracle: fix detect_openstack to report True on OracleCloud.com DMI data (LP: #1784685) + tests: improve LXDInstance trying to workaround or catch bug. + update_metadata re-config on every boot comments and tests not quite right [Mike Gerdts] + tests: Collect build_info from system if available. + pylint: Fix pylint warnings reported in pylint 2.0.0. + get_linux_distro: add support for rhel via redhat-release. + get_linux_distro: add support for centos6 and rawhide flavors of redhat (LP: #1781229) + tools: add '--debug' to tools/net-convert.py + tests: bump the version of paramiko to 2.4.1. + docs: note in rtd about avoiding /tmp when writing files (LP: #1727876) + ubuntu,centos,debian: get_linux_distro to align with platform.dist (LP: #1780481) + Fix boothook docs on environment variable name (INSTANCE_I -> INSTANCE_ID) [Marc Tamsky] + update_metadata: a datasource can support network re-config every boot + tests: drop salt-minion integration test (LP: #1778737) + Retry on failed import of gpg receive keys. + tools: Fix run-container when neither source or binary package requested. + docs: Fix a small spelling error. [Oz N Tiram] + tox: use simplestreams from git repository rather than bzr. - From 18.3 + docs: represent sudo:false in docs for user_groups config module + Explicitly prevent `sudo` access for user module [Jacob Bednarz] (LP: #1771468) + lxd: Delete default network and detach device if lxd-init created them. (LP: #1776958) + openstack: avoid unneeded metadata probe on non-openstack platforms (LP: #1776701) + stages: fix tracebacks if a module stage is undefined or empty [Robert Schweikert] (LP: #1770462) + Be more safe on string/bytes when writing multipart user-data to disk. (LP: #1768600) + Fix get_proc_env for pids that have non-utf8 content in environment. (LP: #1775371) + tests: fix salt_minion integration test on bionic and later + tests: provide human-readable integration test summary when --verbose + tests: skip chrony integration tests on lxd running artful or older + test: add optional --preserve-instance arg to integraiton tests + netplan: fix mtu if provided by network config for all rendered types (LP: #1774666) + tests: remove pip install workarounds for pylxd, take upstream fix. + subp: support combine_capture argument. + tests: ordered tox dependencies for pylxd install + util: add get_linux_distro function to replace platform.dist [Robert Schweikert] (LP: #1745235) + pyflakes: fix unused variable references identified by pyflakes 2.0.0. + Do not use the systemd_prefix macro, not available in this environment [Robert Schweikert] + doc: Add config info to ec2, openstack and cloudstack datasource docs + Enable SmartOS network metadata to work with netplan via per-subnet routes [Dan McDonald] (LP: #1763512) + openstack: Allow discovery in init-local using dhclient in a sandbox. (LP: #1749717) + tests: Avoid using https in httpretty, improve HttPretty test case. (LP: #1771659) + yaml_load/schema: Add invalid line and column nums to error message + Azure: Ignore NTFS mount errors when checking ephemeral drive [Paul Meyer] + packages/brpm: Get proper dependencies for cmdline distro. + packages: Make rpm spec files patch in package version like in debs. + tools/run-container: replace tools/run-centos with more generic. + Update version.version_string to contain packaged version. (LP: #1770712) + cc_mounts: Do not add devices to fstab that are already present. [Lars Kellogg-Stedman] + ds-identify: ensure that we have certain tokens in PATH. (LP: #1771382) + tests: enable Ubuntu Cosmic in integration tests [Joshua Powers] + read_file_or_url: move to url_helper, fix bug in its FileResponse. + cloud_tests: help pylint [Ryan Harper] + flake8: fix flake8 errors in previous commit. + typos: Fix spelling mistakes in cc_mounts.py log messages [Stephen Ford] + tests: restructure SSH and initial connections [Joshua Powers] + ds-identify: recognize container-other as a container, test SmartOS. + cloud-config.service: run After snap.seeded.service. (LP: #1767131) + tests: do not rely on host /proc/cmdline in test_net.py [Lars Kellogg-Stedman] (LP: #1769952) + ds-identify: Remove dupe call to is_ds_enabled, improve debug message. + SmartOS: fix get_interfaces for nics that do not have addr_assign_type. + tests: fix package and ca_cert cloud_tests on bionic (LP: #1769985) + ds-identify: make shellcheck 0.4.6 happy with ds-identify. + pycodestyle: Fix deprecated string literals, move away from flake8. + azure: Add reported ready marker file. [Joshua Chan] (LP: #1765214) + tools: Support adding a release suffix through packages/bddeb. + FreeBSD: Invoke growfs on ufs filesystems such that it does not prompt. [Harm Weites] (LP: #1404745) + tools: Re-use the orig tarball in packages/bddeb if it is around. + netinfo: fix netdev_pformat when a nic does not have an address assigned. (LP: #1766302) + collect-logs: add -v flag, write to stderr, limit journal to single boot. (LP: #1766335) + IBMCloud: Disable config-drive and nocloud only if IBMCloud is enabled. (LP: #1766401) + Add reporting events and log_time around early source of blocking time [Ryan Harper] + IBMCloud: recognize provisioning environment during debug boots. (LP: #1767166) + net: detect unstable network names and trigger a settle if needed [Ryan Harper] (LP: #1766287) + IBMCloud: improve documentation in datasource. + sysconfig: dhcp6 subnet type should not imply dhcpv4 [Vitaly Kuznetsov] + packages/debian/control.in: add missing dependency on iproute2. (LP: #1766711) + DataSourceSmartOS: add locking of serial device. [Mike Gerdts] (LP: #1746605) + DataSourceSmartOS: sdc:hostname is ignored [Mike Gerdts] (LP: #1765085) + DataSourceSmartOS: list() should always return a list [Mike Gerdts] (LP: #1763480) + schema: in validation, raise ImportError if strict but no jsonschema. + set_passwords: Add newline to end of sshd config, only restart if updated. (LP: #1677205) + pylint: pay attention to unused variable warnings. + doc: Add documentation for AliYun datasource. [Junjie Wang] + Schema: do not warn on duplicate items in commands. (LP: #1764264) + net: Depend on iproute2's ip instead of net-tools ifconfig or route + DataSourceSmartOS: fix hang when metadata service is down [Mike Gerdts] (LP: #1667735) + DataSourceSmartOS: change default fs on ephemeral disk from ext3 to ext4. [Mike Gerdts] (LP: #1763511) + pycodestyle: Fix invalid escape sequences in string literals. + Implement bash completion script for cloud-init command line [Ryan Harper] + tools: Fix make-tarball cli tool usage for development + renderer: support unicode in render_from_file. + Implement ntp client spec with auto support for distro selection [Ryan Harper] (LP: #1749722) + Apport: add Brightbox, IBM, LXD, and OpenTelekomCloud to list of clouds. + tests: fix ec2 integration network metadata validation + tests: fix integration tests to support lxd 3.0 release + correct documentation to match correct attribute name usage. [Dominic Schlegel] (LP: #1420018) + cc_resizefs, util: handle no /dev/zfs [Ryan Harper] + doc: Fix links in OpenStack datasource documentation. [Dominic Schlegel] (LP: #1721660)- Add a modified version of fix-default-systemd-unit-dir.patch + Removed pre-maturely, still needs 1 part of the patch- Remove fix-default-systemd-unit-dir.patch + No longer needed, proper systemd config dir is queried from pckg-config- The distribution inidcator is set to suse during template expansion, we do not replace anything set to ubuntu - Do not run cloud-init after network-online, this breaks functionality in cloud-init. Certain parts of the code running in this phase expect to run before the network is on-line. This "re-introduces" boo#1097388. But the changes made are not generic enough. - Root should not be enabled by default. For image builders/users that want root access by default they should provide an appropriate configuration file during image build or image setup- Let distribution default to opensuse/sles (boo#1099340) - do not disable root user to make it easier to work with - Run metadata detection after network-online (boo#1097388)- Re-add generator (bsc#1089824, boo#1093501) + Add cloud-init-setpath-dsitentify.patch, upstream solution to hanle PATH issue + Re-enable th egenerator to reduce effort in cloud-init configuration- Drop the generator (bsc#1089824, boo#1093501) + The generator spawns a script called ds-identify which in turn calls blkid. When the generator executes the environment may or may not be ready. The generator speeds up the boot process in cases where cloud-init is enabled but we are not in an environment where cloud-init should run -> Don't do that.- Update to version 18.2 (bsc#1092637, bsc#1084509) + Forward port cloud-init-python2-sigpipe.patch + Forward port cloud-init-no-python-linux-dist.patch + Add cloud-init-no-trace-empt-sect.patch + Hetzner: Exit early if dmi system-manufacturer is not Hetzner. + Add missing dependency on isc-dhcp-client to trunk ubuntu packaging. + (LP: #1759307) + FreeBSD: resizefs module now able to handle zfs/zpool. + [Dominic Schlegel] (LP: #1721243) + cc_puppet: Revert regression of puppet creating ssl and ssl_cert dirs + Enable IBMCloud datasource in settings.py. + IBMCloud: Initial IBM Cloud datasource. + tests: remove jsonschema from xenial tox environment. + tests: Fix newly added schema unit tests to skip if no jsonschema. + ec2: Adjust ec2 datasource after exception_cb change. + Reduce AzurePreprovisioning HTTP timeouts. + [Douglas Jordan] (LP: #1752977) + Revert the logic of exception_cb in read_url. + [Kurt Garloff] (LP: #1702160, #1298921) + ubuntu-advantage: Add new config module to support + ubuntu-advantage-tools + Handle global dns entries in netplan (LP: #1750884) + Identify OpenTelekomCloud Xen as OpenStack DS. + [Kurt Garloff] (LP: #1756471) + datasources: fix DataSource subclass get_hostname method signature + (LP: #1757176) + OpenNebula: Update network to return v2 config rather than ENI. + [Akihiko Ota] + Add Hetzner Cloud DataSource + net: recognize iscsi root cases without ip= on kernel command line. + (LP: #1752391) + tests: fix flakes warning for unused variable + tests: patch leaked stderr messages from snap unit tests + cc_snap: Add new module to install and configure snapd and snap + packages. + tests: Make pylint happy and fix python2.6 uses of assertRaisesRegex. + netplan: render bridge port-priority values (LP: #1735821) + util: Fix subp regression. Allow specifying subp command as a string. + (LP: #1755965) + doc: fix all warnings issued by 'tox -e doc' + FreeBSD: Set hostname to FQDN. [Dominic Schlegel] (LP: #1753499) + tests: fix run_tree and bddeb + tests: Fix some warnings in tests that popped up with newer python. + set_hostname: When present in metadata, set it before network bringup. + (LP: #1746455) + tests: Centralize and re-use skipTest based on json schema presense. + This commit fixes get_hostname on the AzureDataSource. + [Douglas Jordan] (LP: #1754495) + shellify: raise TypeError on bad input. + Make salt minion module work on FreeBSD. + [Dominic Schlegel] (LP: #1721503) + Simplify some comparisions. [Rémy Léone] + Change some list creation and population to literal. [Rémy Léone] + GCE: fix reading of user-data that is not base64 encoded. (LP: #1752711) + doc: fix chef install from apt packages example in RTD. + Implement puppet 4 support [Romanos Skiadas] (LP: #1446804) + subp: Fix subp usage with non-ascii characters when no system locale. + (LP: #1751051) + salt: configure grains in grains file rather than in minion config. [Daniel Wallace]- Update to version 18.1 (bsc#1085787, bsc#1084749) + Forward port cloud-init-python2-sigpipe.patch + Forward port 0003-Distro-dependent-chrony-config-file.patch partial integration into 0001-Support-chrony-configuration-lp-1731619.patch + Forward port cloud-init-no-python-linux-dist.patch + Remove 0002-Disable-method-deprecation-warning-for-pylint.patch use new cloud-init internal distro detection code + Remove cloud-init-resize-ro-btrfs.patch included upstream + Remove 0001-Set-syslog_fix_perms-for-SUSE-distro-addresses-bsc-1.patch included upstream + OVF: Fix VMware support for 64-bit platforms. [Sankar Tanguturi] + ds-identify: Fix searching for iso9660 OVF cdroms. (LP: #1749980) + SUSE: Fix groups used for ownership of cloud-init.log [Robert Schweikert] + ds-identify: check /writable/system-data/ for nocloud seed. (LP: #1747070) + tests: run nosetests in cloudinit/ directory, fix py26 fallout. + tools: run-centos: git clone rather than tar. + tests: add support for logs with lxd from snap and future lxd 3. (LP: #1745663) + EC2: Fix get_instance_id called against cached datasource pickle. (LP: #1748354) + cli: fix cloud-init status to report running when before result.json (LP: #1747965) + net: accept network-config in netplan format for renaming interfaces (LP: #1709715) + Fix ssh keys validation in ssh_util [Tatiana Kholkina] + docs: Update RTD content for cloud-init subcommands. + OVF: Extend well-known labels to include OVFENV. (LP: #1698669) + Fix potential cases of uninitialized variables. (LP: #1744796) + tests: Collect script output as binary, collect systemd journal, fix lxd. + HACKING.rst: mention setting user name and email via git config. + Azure VM Preprovisioning support. [Douglas Jordan] (LP: #1734991) + tools/read-version: Fix read-version when in a git worktree. + docs: Fix typos in docs and one debug message. [Florian Grignon] + btrfs: support resizing if root is mounted ro. [Robert Schweikert] (LP: #1734787) + OpenNebula: Improve network configuration support. [Akihiko Ota] (LP: #1719157, #1716397, #1736750) + tests: Fix EC2 Platform to return console output as bytes. + tests: Fix attempted use of /run in a test case. + GCE: Improvements and changes to ssh key behavior for default user. [Max Illfelder] (LP: #1670456, #1707033, #1707037, #1707039) + subp: make ProcessExecutionError have expected types in stderr, stdout. + tests: when querying ntp server, do not do dns resolution. + Recognize uppercase vfat disk labels [James Penick] (LP: #1598783) + tests: remove zesty as supported OS to test [Joshua Powers] + Do not log warning on config files that represent None. (LP: #1742479) + tests: Use git hash pip dependency format for pylxd. + tests: add integration requirements text file [Joshua Powers] + MAAS: add check_instance_id based off oauth tokens. (LP: #1712680) + tests: update apt sources list test [Joshua Powers] + tests: clean up image properties [Joshua Powers] + tests: rename test ssh keys to avoid appearance of leaking private keys. [Joshua Powers] + tests: Enable AWS EC2 Integration Testing [Joshua Powers] + cli: cloud-init clean handles symlinks (LP: #1741093) + SUSE: Add a basic test of network config rendering. [Robert Schweikert] + Azure: Only bounce network when necessary. (LP: #1722668) + lint: Fix lints seen by pylint version 1.8.1. + cli: Fix error in cloud-init modules --mode=init. (LP: #1736600)- update cloud-init-sysconfig-netpathfix.patch: * skip checking for files in /etc/sysconfig that never exist on a wickedd based system- Fix logfile permission settings (bsc#1080595) + Add 0001-Set-syslog_fix_perms-for-SUSE-distro-addresses-bsc-1.patch- drop dependency on boto (only used in examples, and should really be ported to botocore/boto3 instead)- Update to version 17.2 (boo#1069635, bsc#1072811) + Add cloud-init-skip-ovf-tests.patch + Add cloud-init-no-python-linux-dist.patch + Add 0001-switch-to-using-iproute2-tools.patch + Add 0001-Support-chrony-configuration-lp-1731619.patch + Add 0002-Disable-method-deprecation-warning-for-pylint.patch + Add 0003-Distro-dependent-chrony-config-file.patch + removed cloud-init-add-variant-cloudcfg.patch replaced by cloud-init-no-python-linux-dist.patch + removed zypp_add_repos.diff included upstream + removed zypp_add_repo_test.patch included upstream + removed cloud-init-hosts-template.patch included upstream + removed cloud-init-more-tasks.patch included upstream + removed cloud-init-final-no-apt.patch included upstream + removed cloud-init-ntp-conf-suse.patch included upstream + removed cloud-init-break-cycle-local-service.patch included upstream + removed cloud-init-reproduce-build.patch included upstream + For the complete changelog see https://launchpad.net/cloud-init/trunk/17.2- patch distribution detection until a fix is delivered to python3 (bsc#997614) add cloud-init-add-variant-cloudcfg.patch- Fix usage of fdupes macro: there is no '-n' parameter to the macro (there would be to fdupes, the command, though).- Add cloud-init-reproduce-build.patch (boo#1069635) + Make builds reproducible- Add cloud-init-resize-ro-btrfs.patch + cc_resizefs fails if the current root is a read-only btrfs subvolume, use an always writeable subvolume instead [bsc#1042913]- Add cloud-init-break-cycle-local-service.patch + Let systemd pull in the default targets. This breaks a cycle- Fix variable name in cloud-init-translate-netconf-ipv4-keep-gw.patch- Add cloud-init-translate-netconf-ipv4-keep-gw.patch (boo#1064854) + Properly insert the gateway information for v1 json network config data- Add cloud-init-ntp-conf-suse.patch + ntp configuration was broken on sles and opensuse lp#1726572- Add cloud-init-hosts-template.patch (bsc#1064594) + Properly expand the /etc/hosst file when manage_etc_hosts is set- Fix sed expression to set distro properly (boo#1063716)- Update to version 17.1 (bsc#1035106) + Version numbering scheme change now YY.NUMBER_OF_RELESE_THAT_YEAR + Remove cloud.cfg.suse, use generated default config file + Remove addopenSUSEBase.patch, included upstream + Remove suseIntegratedHandler.patch, included upstream + Remove openSUSEhostsTemplate.diff, included upstream + Remove cloud-init-handle-no-carrier.patch, included upstream + Remove cloud-init-digital-ocean-datasource.patch, use upstream implementation + Remove cloud-init-digital-ocean-datasource-enable-by-default.patch, use upstream implementation + Remove cloud-init-fix-unicode-handling-binarydecode.patch, included upstream + Remove cloud-init-no-dmidecode-on-ppc64.patch, included upstream + Remove dataSourceOpenNebula.patch, use upstream implementation + Remove setupSUSEsysVInit.diff, included upstream + Remove suseSysVInit.diff, included upstream + Remove cloud-init-finalbeforelogin.patch, don't block login + Remove cloud-init-handle-not-implemented-query.patch, query option removed + Remove cloud-init-spceandtabs-clean.patch, indentation fixed upstream + Remove dynamicInitCmd.diff, different solution from upstream + Added cloud-init-more-tasks.patch, (bsc#1047363) replace cloud-init-finalbeforelogin.patch + Forward port cloud-init-python2-sigpipe.patch + Remove cloud-init-net-eni.patch, included upstream + Remove cloud-init-service.patch, included upstream + Forward port cloud-init-sysconfig-netpathfix.patch + Remove cloud-init-net-sysconfig-lp1665441.patch, included upstream + Remove cloud-init-python26.patch, included upstream + Remove skip-argparse-on-python3.patch + Add cloud-init-tests-set-exec.patch + Add cloud-init-final-no-apt.patch + Add zypp_add_repo_test.patch + doc: document GCE datasource. [Arnd Hannemann] + suse: updates to templates to support openSUSE and SLES. + [Robert Schweikert] (LP: #1718640) + suse: Copy sysvinit files from redhat with slight changes. + [Robert Schweikert] (LP: #1718649) + docs: fix sphinx module schema documentation [Chad Smith] + tests: Add cloudinit package to all test targets [Chad Smith] + Makefile: No longer look for yaml files in obsolete ./bin/. + tests: fix ds-identify unit tests to set EC2_STRICT_ID_DEFAULT. + ec2: Fix maybe_perform_dhcp_discovery to use /var/tmp as a tmpdir + [Chad Smith] (LP: #1717627) + Azure: wait longer for SSH pub keys to arrive. + [Paul Meyer] (LP: #1717611) + GCE: Fix usage of user-data. (LP: #1717598) + cmdline: add collect-logs subcommand. [Chad Smith] (LP: #1607345) + CloudStack: consider dhclient lease files named with a hyphen. + (LP: #1717147) + resizefs: Drop check for read-only device file, do not warn on + overlayroot. [Chad Smith] + Do not provide systemd-fsck drop-in which could cause ordering cycles. + [Balint Reczey] (LP: #1717477) + tests: Enable the NoCloud KVM platform [Joshua Powers] + resizefs: pass mount point to xfs_growfs [Dusty Mabe] + vmware: Enable nics before sending the SUCCESS event. [Sankar Tanguturi] + cloud-config modules: honor distros definitions in each module + [Chad Smith] (LP: #1715738, #1715690) + chef: Add option to pin chef omnibus install version + [Ethan Apodaca] (LP: #1462693) + tests: execute: support command as string [Joshua Powers] + schema and docs: Add jsonschema to resizefs and bootcmd modules + [Chad Smith] + tools: Add xkvm script, wrapper around qemu-system [Joshua Powers] + vmware customization: return network config format + [Sankar Tanguturi] (LP: #1675063) + Ec2: only attempt to operate at local mode on known platforms. + (LP: #1715128) + Use /run/cloud-init for tempfile operations. (LP: #1707222) + ds-identify: Make OpenStack return maybe on arch other than intel. + (LP: #1715241) + tests: mock missed openstack metadata uri network_data.json + [Chad Smith] (LP: #1714376) + relocate tests/unittests/helpers.py to cloudinit/tests + [Lars Kellogg-Stedman] + tox: add nose timer output [Joshua Powers] + upstart: do not package upstart jobs, drop ubuntu-init-switch module. + tests: Stop leaking calls through unmocked metadata addresses + [Chad Smith] (LP: #1714117) + distro: allow distro to specify a default locale [Ryan Harper] + tests: fix two recently added tests for sles distro. + url_helper: dynamically import oauthlib import from inside oauth_headers + [Chad Smith] + tox: make xenial environment run with python3.6 + suse: Add support for openSUSE and return SLES to a working state. + [Robert Schweikert] + GCE: Add a main to the GCE Datasource. + ec2: Add IPv6 dhcp support to Ec2DataSource. [Chad Smith] (LP: #1639030) + url_helper: fail gracefully if oauthlib is not available + [Lars Kellogg-Stedman] (LP: #1713760) + cloud-init analyze: fix issues running under python 2. [Andrew Jorgensen] + Configure logging module to always use UTC time. + [Ryan Harper] (LP: #1713158) + Log a helpful message if a user script does not include shebang. + [Andrew Jorgensen] + cli: Fix command line parsing of coniditionally loaded subcommands. + [Chad Smith] (LP: #1712676) + doc: Explain error behavior in user data include file format. + [Jason Butz] + cc_landscape & cc_puppet: Fix six.StringIO use in writing configs + [Chad Smith] (LP: #1699282, #1710932) + schema cli: Add schema subcommand to cloud-init cli and cc_runcmd schema + [Chad Smith] + Debian: Remove non-free repositories from apt sources template. + [Joonas Kylmälä] (LP: #1700091) + tools: Add tooling for basic cloud-init performance analysis. + [Chad Smith] (LP: #1709761) + network: add v2 passthrough and fix parsing v2 config with bonds/bridge + params [Ryan Harper] (LP: #1709180) + doc: update capabilities with features available, link doc reference, + cli example [Ryan Harper] + vcloud directory: Guest Customization support for passwords + [Maitreyee Saikia] + ec2: Allow Ec2 to run in init-local using dhclient in a sandbox. + [Chad Smith] (LP: #1709772) + cc_ntp: fallback on timesyncd configuration if ntp is not installable + [Ryan Harper] (LP: #1686485) + net: Reduce duplicate code. Have get_interfaces_by_mac use + get_interfaces. + tests: Fix build tree integration tests [Joshua Powers] + sysconfig: Dont repeat header when rendering resolv.conf + [Ryan Harper] (LP: #1701420) + archlinux: Fix bug with empty dns, do not render 'lo' devices. + (LP: #1663045, #1706593) + cloudinit.net: add initialize_network_device function and tests + [Chad Smith] + makefile: fix ci-deps-ubuntu target [Chad Smith] + tests: adjust locale integration test to parse default locale. + tests: remove 'yakkety' from releases as it is EOL. + tests: Add initial tests for EC2 and improve a docstring. + locale: Do not re-run locale-gen if provided locale is system default. + archlinux: fix set hostname usage of write_file. + [Joshua Powers] (LP: #1705306) + sysconfig: support subnet type of 'manual'. + tools/run-centos: make running with no argument show help. + Drop rand_str() usage in DNS redirection detection + [Bob Aman] (LP: #1088611) + sysconfig: use MACADDR on bonds/bridges to configure mac_address + [Ryan Harper] (LP: #1701417) + net: eni route rendering missed ipv6 default route config + [Ryan Harper] (LP: #1701097) + sysconfig: enable mtu set per subnet, including ipv6 mtu + [Ryan Harper] (LP: #1702513) + sysconfig: handle manual type subnets [Ryan Harper] (LP: #1687725) + sysconfig: fix ipv6 gateway routes [Ryan Harper] (LP: #1694801) + sysconfig: fix rendering of bond, bridge and vlan types. + [Ryan Harper] (LP: #1695092) + Templatize systemd unit files for cross distro deltas. [Ryan Harper] + sysconfig: ipv6 and default gateway fixes. [Ryan Harper] (LP: #1704872) + net: fix renaming of nics to support mac addresses written in upper + case. (LP: #1705147) + tests: fixes for issues uncovered when moving to python 3.6. + (LP: #1703697) + sysconfig: include GATEWAY value if set in subnet + [Ryan Harper] (LP: #1686856) + Scaleway: add datasource with user and vendor data for Scaleway. + [Julien Castets] + Support comments in content read by load_shell_content. + cloudinitlocal fail to run during boot [Hongjiang Zhang] + doc: fix disk setup example table_type options + [Sandor Zeestraten] (LP: #1703789) + tools: Fix exception handling. [Joonas Kylmälä] (LP: #1701527) + tests: fix usage of mock in GCE test. + test_gce: Fix invalid mock of platform_reports_gce to return False + [Chad Smith] + test: fix incorrect keyid for apt repository. + [Joshua Powers] (LP: #1702717) + tests: Update version of pylxd [Joshua Powers] + write_files: Remove log from helper function signatures. + [Andrew Jorgensen] + doc: document the cmdline options to NoCloud [Brian Candler] + read_dmi_data: always return None when inside a container. (LP: #1701325) + requirements.txt: remove trailing white space. + Azure: Add network-config, Refactor net layer to handle duplicate macs. + [Ryan Harper] + Tests: Simplify the check on ssh-import-id [Joshua Powers] + tests: update ntp tests after sntp added [Joshua Powers] + FreeBSD: Make freebsd a variant, fix unittests and + tools/build-on-freebsd. + FreeBSD: fix test failure + FreeBSD: replace ifdown/ifup with "ifconfig down" and "ifconfig up". + [Hongjiang Zhang] (LP: #1697815) + FreeBSD: fix cdrom mounting failure if /mnt/cdrom/secure did not exist. + [Hongjiang Zhang] (LP: #1696295) + main: Don't use templater to format the welcome message + [Andrew Jorgensen] + docs: Automatically generate module docs form schema if present. + [Chad Smith] + debian: fix path comment in /etc/hosts template. + [Jens Sandmann] (LP: #1606406) + suse: add hostname and fully qualified domain to template. + [Jens Sandmann] + write_file(s): Print permissions as octal, not decimal [Andrew Jorgensen] + ci deps: Add --test-distro to read-dependencies to install all deps + [Chad Smith] + tools/run-centos: cleanups and move to using read-dependencies + pkg build ci: Add make ci-deps- target to install pkgs + [Chad Smith] + systemd: make cloud-final.service run before apt daily services. + (LP: #1693361) + selinux: Allow restorecon to be non-fatal. [Ryan Harper] (LP: #1686751) + net: Allow netinfo subprocesses to return 0 or 1. + [Ryan Harper] (LP: #1686751) + net: Allow for NetworkManager configuration [Ryan McCabe] (LP: #1693251) + Use distro release version to determine if we use systemd in redhat spec + [Ryan Harper] + net: normalize data in network_state object + Integration Testing: tox env, pyxld 2.2.3, and revamp framework + [Wesley Wiedenmeier] + Chef: Update omnibus url to chef.io, minor doc changes. [JJ Asghar] + tools: add centos scripts to build and test [Joshua Powers] + Drop cheetah python module as it is not needed by trunk [Ryan Harper] + rhel/centos spec cleanups. + cloud.cfg: move to a template. setup.py changes along the way. + Makefile: add deb-src and srpm targets. use PYVER more places. + makefile: fix python 2/3 detection in the Makefile [Chad Smith] + snap: Removing snapcraft plug line [Joshua Powers] (LP: #1695333) + RHEL/CentOS: Fix default routes for IPv4/IPv6 configuration. + [Andreas Karis] (LP: #1696176) + test: Fix pyflakes complaint of unused import. + [Joshua Powers] (LP: #1695918) + NoCloud: support seed of nocloud from smbios information + [Vladimir Pouzanov] (LP: #1691772) + net: when selecting a network device, use natural sort order + [Marc-Aurèle Brothier] + fix typos and remove whitespace in various docs [Stephan Telling] + systemd: Fix typo in comment in cloud-init.target. [Chen-Han Hsiao] + Tests: Skip jsonschema related unit tests when dependency is absent. + [Chad Smith] (LP: #1695318) + azure: remove accidental duplicate line in merge. + azure: identify platform by well known value in chassis asset tag. + [Chad Smith] (LP: #1693939) + tools/net-convert.py: support old cloudinit versions by using kwargs. + ntp: Add schema definition and passive schema validation. + [Chad Smith] (LP: #1692916) + Fix eni rendering for bridge params that require repeated key for + values. [Ryan Harper] + net: remove systemd link file writing from eni renderer [Ryan Harper] + AliYun: Enable platform identification and enable by default. + [Junjie Wang] (LP: #1638931) + net: fix reading and rendering addresses in cidr format. + [Dimitri John Ledkov] (LP: #1689346, #1684349) + disk_setup: udev settle before attempting partitioning or fs creation. + (LP: #1692093) + GCE: Update the attribute used to find instance SSH keys. + [Daniel Watkins] (LP: #1693582) + nplan: For bonds, allow dashed or underscore names of keys. + [Dimitri John Ledkov] (LP: #1690480) + python2.6: fix unit tests usage of assertNone and format. + test: update docstring on test_configured_list_with_none + fix tools/ds-identify to not write None twice. + tox/build: do not package depend on style requirements. + cc_ntp: Restructure cc_ntp unit tests. [Chad Smith] (LP: #1692794) + flake8: move the pinned version of flake8 up to 3.3.0 + tests: Apply workaround for snapd bug in test case. [Joshua Powers] + RHEL/CentOS: Fix dual stack IPv4/IPv6 configuration. + [Andreas Karis] (LP: #1679817, #1685534, #1685532) + disk_setup: fix several issues with gpt disk partitions. (LP: #1692087) + function spelling & docstring update [Joshua Powers] + Fixing wrong file name regression. [Joshua Powers] + tox: move pylint target to 1.7.1 + Fix get_interfaces_by_mac for empty macs (LP: #1692028) + DigitalOcean: remove routes except for the public interface. + [Ben Howard] (LP: #1681531.) + netplan: pass macaddress, when specified, for vlans + [Dimitri John Ledkov] (LP: #1690388) + doc: various improvements for the docs on cc_users_groups. + [Felix Dreissig] + cc_ntp: write template before installing and add service restart + [Ryan Harper] (LP: #1645644) + cloudstack: fix tests to avoid accessing /var/lib/NetworkManager + [Lars Kellogg-Stedman] + tests: fix hardcoded path to mkfs.ext4 [Joshua Powers] (LP: #1691517) + Actually skip warnings when .skip file is present. + [Chris Brinker] (LP: #1691551) + netplan: fix netplan render_network_state signature. + [Dimitri John Ledkov] (LP: #1685944) + Azure: fix reformatting of ephemeral disks on resize to large types. + (LP: #1686514) + Revert "tools/net-convert: fix argument order for render_network_state" + make deb: Add devscripts dependency for make deb. Cleanup + packages/bddeb. [Chad Smith] (LP: #1685935) + tools/net-convert: fix argument order for render_network_state + [Ryan Harper] (LP: #1685944) + openstack: fix log message copy/paste typo in _get_url_settings + [Lars Kellogg-Stedman] + unittests: fix unittests run on centos [Joshua Powers] + Improve detection of snappy to include os-release and kernel cmdline. + (LP: #1689944) + Add address to config entry generated by _klibc_to_config_entry. + [Julien Castets] (LP: #1691135) + sysconfig: Raise ValueError when multiple default gateways are present. + [Chad Smith] (LP: #1687485) + FreeBSD: improvements and fixes for use on Azure + [Hongjiang Zhang] (LP: #1636345) + Add unit tests for ds-identify, fix Ec2 bug found. + fs_setup: if cmd is specified, use shell interpretation. + [Paul Meyer] (LP: #1687712) + doc: document network configuration defaults policy and formats. + [Ryan Harper] + Fix name of "uri" key in docs for "cc_apt_configure" module + [Felix Dreissig] + tests: Enable artful [Joshua Powers] + nova-lxd: read product_name from environment, not platform. + (LP: #1685810) + Fix yum repo config where keys contain array values + [Dylan Perry] (LP: #1592150) + template: Update debian backports template [Joshua Powers] (LP: #1627293) + rsyslog: replace ~ with stop [Joshua Powers] (LP: #1367899) + Doc: add additional RTD examples [Joshua Powers] (LP: #1459604) + Fix growpart for some cases when booted with root=PARTUUID. + (LP: #1684869) + pylint: update output style to parseable [Joshua Powers] + pylint: fix all logging warnings [Joshua Powers] + CloudStack: Add NetworkManager to list of supported DHCP lease dirs. + [Syed] + net: kernel lies about vlans not stealing mac addresses, when they do + [Dimitri John Ledkov] (LP: #1682871) + ds-identify: Check correct path for "latest" config drive + [Daniel Watkins] (LP: #1673637) + doc: Fix example for resolve.conf configuration. + [Jon Grimm] (LP: #1531582) + Fix examples that reference upstream chef repository. + [Jon Grimm] (LP: #1678145) + doc: correct grammar and improve clarity in merging documentation. + [David Tagatac] + doc: Add missing doc link to snap-config module. [Ryan Harper] + snap: allows for creating cloud-init snap [Joshua Powers] + DigitalOcean: assign IPv4ll address to lowest indexed interface. + [Ben Howard] + DigitalOcean: configure all NICs presented in meta-data. [Ben Howard] + Remove (and/or fix) URL shortener references [Jon Grimm] (LP: #1669727) + HACKING.rst: more info on filling out contributors agreement. + util: teach write_file about copy_mode option + [Lars Kellogg-Stedman] (LP: #1644064) + DigitalOcean: bind resolvers to loopback interface. [Ben Howard] + tests: fix AltCloud tests to not rely on blkid (LP: #1636531) + OpenStack: add 'dvs' to the list of physical link types. (LP: #1674946) + Fix bug that resulted in an attempt to rename bonds or vlans. + (LP: #1669860) + tests: update OpenNebula and Digital Ocean to not rely on host + interfaces. + net: in netplan renderer delete known image-builtin content. + (LP: #1675576) + doc: correct grammar in capabilities.rst [David Tagatac] + ds-identify: fix detecting of maas datasource. (LP: #1677710) + netplan: remove debugging prints, add debug logging [Ryan Harper] + ds-identify: do not write None twice to datasource_list. + support resizing partition and rootfs on system booted without + initramfs. [Steve Langasek] (LP: #1677376) + apt_configure: run only when needed. (LP: #1675185) + OpenStack: identify OpenStack by product 'OpenStack Compute'. + (LP: #1675349) + GCE: Search GCE in ds-identify, consider serial number in check. + (LP: #1674861) + Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325) + Fix filesystem creation when using "partition: auto" + [Jonathan Ballet] (LP: #1634678) + ConfigDrive: support reading config drive data from /config-drive. + (LP: #1673411) + ds-identify: fix detection of Bigstep datasource. (LP: #1674766) + test: add running of pylint [Joshua Powers] + ds-identify: fix bug where filename expansion was left on. + advertise network config v2 support (NETWORK_CONFIG_V2) in features. + Bigstep: fix bug when executing in python3. [root] + Fix unit test when running in a system deployed with cloud-init. + Bounce network interface for Azure when using the built-in path. + [Brent Baude] (LP: #1674685) + cloudinit.net: add network config v2 parsing and rendering [Ryan Harper] + net: Fix incorrect call to isfile [Joshua Powers] (LP: #1674317) + net: add renderers for automatically selecting the renderer. + doc: fix config drive doc with regard to unpartitioned disks. + (LP: #1673818) + test: Adding integratiron test for password as list [Joshua Powers] + render_network_state: switch arguments around, do not require target + support 'loopback' as a device type. + Integration Testing: improve testcase subclassing [Wesley Wiedenmeier] + gitignore: adding doc/rtd_html [Joshua Powers] + doc: add instructions for running integration tests via tox. + [Joshua Powers] + test: avoid differences in 'date' output due to daylight savings. + Fix chef config module in omnibus install. [Jeremy Melvin] (LP: #1583837) + Add feature flags to cloudinit.version. [Wesley Wiedenmeier] + tox: add a citest environment + Further fix regression to support 'password' for default user. + fix regression when no chpasswd/list was provided. + Support chpasswd/list being a list in addition to a string. + [Sergio Lystopad] (LP: #1665694) + doc: Fix configuration example for cc_set_passwords module. + [Sergio Lystopad] (LP: #1665773) + net: support both ipv4 and ipv6 gateways in sysconfig. + [Lars Kellogg-Stedman] (LP: #1669504) + net: do not raise exception for > 3 nameservers + [Lars Kellogg-Stedman] (LP: #1670052) + ds-identify: report cleanups for config and exit value. (LP: #1669949) + ds-identify: move default setting for Ec2/strict_id to a global. + ds-identify: record not found in cloud.cfg and always add None. + Support warning if the used datasource is not in ds-identify's list. + tools/ds-identify: make report mode write namespaced results. + Move warning functionality to cloudinit/warnings.py + Add profile.d script for showing warnings on login. + Z99-cloud-locale-test.sh: install and make consistent. + tools/ds-identify: look at cloud.cfg when looking for ec2 strict_id. + tools/ds-identify: disable vmware_guest_customization by default. + tools/ds-identify: ovf identify vmware guest customization. + Identify Brightbox as an Ec2 datasource user. (LP: #1661693) + DatasourceEc2: add warning message when not on AWS. + ds-identify: add reading of datasource/Ec2/strict_id + tools/ds-identify: add support for found or maybe contributing config. + tools/ds-identify: read the seed directory on Ec2 + tools/ds-identify: use quotes in local declarations. + tools/ds-identify: fix documentation of policy setting in a comment. + ds-identify: only run once per boot unless --force is given. + flake8: fix flake8 complaints in previous commit. + net: correct errors in cloudinit/net/sysconfig.py + [Lars Kellogg-Stedman] (LP: #1665441) + ec2_utils: fix MetadataLeafDecoder that returned bytes on empty + apply the runtime configuration written by ds-identify. + ds-identify: fix checking for filesystem label (LP: #1663735) + ds-identify: read ds=nocloud properly (LP: #1663723) + support nova-lxd by reading platform from environment of pid 1. + (LP: #1661797) + ds-identify: change aarch64 to use the default for non-dmi systems. + Remove style checking during build and add latest style checks to tox + [Joshua Powers] (LP: #1652329) + code-style: make master pass pycodestyle (2.3.1) cleanly, currently: + [Joshua Powers] + manual_cache_clean: When manually cleaning touch a file in instance dir. + Add tools/ds-identify to identify datasources available. + Fix small typo and change iso-filename for consistency [Robin Naundorf] + Fix eni rendering of multiple IPs per interface + [Ryan Harper] (LP: #1657940) + tools/mock-meta: support python2 or python3 and ipv6 in both. + tests: remove executable bit on test_net, so it runs, and fix it. + tests: No longer monkey patch httpretty for python 3.4.2 + Add 3 ecdsa-sha2-nistp* ssh key types now that they are standardized + [Lars Kellogg-Stedman] (LP: #1658174) + reset httppretty for each test [Lars Kellogg-Stedman] (LP: #1658200) + build: fix running Make on a branch with tags other than master + EC2: Do not cache security credentials on disk + [Andrew Jorgensen] (LP: #1638312) + doc: Fix typos and clarify some aspects of the part-handler + [Erik M. Bray] + doc: add some documentation on OpenStack datasource. + OpenStack: Use timeout and retries from config in get_data. + [Lars Kellogg-Stedman] (LP: #1657130) + Fixed Misc issues related to VMware customization. [Sankar Tanguturi] + Fix minor docs typo: perserve > preserve [Jeremy Bicha] + Use dnf instead of yum when available + [Lars Kellogg-Stedman] (LP: #1647118) + validate-yaml: use python rather than explicitly python3 + Get early logging logged, including failures of cmdline url. - From 0.7.9 + doc: adjust headers in tests documentation for consistency. + pep8: fix issue found in zesty build with pycodestyle. + integration test: initial commit of integration test framework + [Wesley Wiedenmeier] + LICENSE: Allow dual licensing GPL-3 or Apache 2.0 [Jon Grimm] + Fix config order of precedence, putting kernel command line over system. + [Wesley Wiedenmeier] (LP: #1582323) + pep8: whitespace fix + Update the list of valid ssh keys. [Michael Felt] + network: add ENI unit test for statically rendered routes. + set_hostname: avoid erroneously appending domain to fqdn + [Lars Kellogg-Stedman] (LP: #1647910) + doc: change 'nobootwait' to 'nofail' in docs [Anhad Jai Singh] + Replace an expired bit.ly link in code comment. + user-groups: fix bug when groups was provided as string and had spaces + (LP: #1354694) + mounts: use mount -a again to accomplish mounts (LP: #1647708) + CloudSigma: Fix bug where datasource was not loaded in local search. + (LP: #1648380) + when adding a user, strip whitespace from group list [Lars Kellogg-Stedman] + (LP: #1354694) + fix decoding of utf-8 chars in yaml test + Replace usage of sys_netdev_info with read_sys_net (LP: #1625766) + fix problems found in python2.6 test. + OpenStack: extend physical types to include hyperv, hw_veb, vhost_user. + (LP: #1642679) + tests: fix assumptions that expected no eth0 in system. (LP: #1644043) + net/cmdline: Consider ip= or ip6= on command line not only ip= + (LP: #1639930) + Just use file logging by default (LP: #1643990) + Improve formatting for ProcessExecutionError [Wesley Wiedenmeier] + flake8: fix trailing white space + Doc: various documentation fixes [Sean Bright] + cloudinit/config/cc_rh_subscription.py: Remove repos before adding + [Brent Baude] + packages/redhat: fix rpm spec file. + main: set TZ in environment if not already set. [Ryan Harper] + Azure: No longer rely on walinux agent. (LP: #1538522) + disk_setup: Use sectors as unit when formatting MBR disks with sfdisk. + [Daniel Watkins] (LP: #1460715) + Add activate_datasource, for datasource specific code paths. (LP: #1611074) + systemd: cloud-init-local use RequiresMountsFor=/var/lib/cloud + (LP: #1642062) + systemd: cloud-init remove After=systemd-networkd-wait-online + systemd: cloud-init-local change Before basic to sysinit + pep8: fix style errors reported by pycodestyle 2.1.0 + systemd: drop both Wants and After local-fs.target + systemd: networking service adjustments. (LP: #1636912) + systemd: replace Before=basic.target, dbus.target with sysinit.target + (LP: #1629797) + doc: Add documentation on stages of boot. + doc: make the RST files consistently formated and other improvements. + Ec2: fix syntax and tox in previous commit. + Ec2: protect against non-dictionary in block-device-mapping. + doc: fixed example to not overwrite /etc/hosts [Chris Glass] + Doc: fix spelling / typos in ca_certs and scripts_vendor. + pyflakes: fix issue with pyflakes 1.3 found in ubuntu zesty-proposed. + net/cmdline: Further adjustments to ipv6 support [LaMont Jones] + (LP: #1621615) + Add coverage dependency to bddeb to fix package build. + doc: improve HACKING.rst file + dmidecode: Allow dmidecode to be used on aarch64 [Robert Schweikert] + AliYun: Add new datasource for Ali-Cloud ECS [kaihuan.pkh] + Add coverage collection to tox unit tests. [Joshua Powers] + cc_users_groups: fix remaing call to ds.normalize_user_groups [Ryan Harper] + disk-config: udev settle after partitioning in gpt format. (LP: #1626243) + unittests: do not read system /etc/cloud/cloud.cfg.d (LP: #1635350) + Add documentation for logging features. [Wesley Wiedenmeier] + Add support for snap create-user on Ubuntu Core images. [Ryan Harper] + Fix sshd restarts for rhel distros. [Jim Gorz] + OpenNebula: replace 'ip' parsing with cloudinit.net usage. + Fix python2.6 things found running in centos 6. + Move user/group functions to new ug_util file + DigitalOcean: enable usage of data source by default. + update Gentoo initscripts to run in the correct order [Matthew Thode] + MAAS: improve the main of datasource to look at kernel cmdline config. + tests: silence the Cheetah UserWarning about NameMapper C version. + systemd: Run cloud-init.service Before dbus.socket not dbus.target + [Daniel Watkins] (LP: #1629797) + systemd: run cloud-init.service Before dbus.service (LP: #1629797) + unittests: fix use of mock 2.0 'assert_called' when running make check + [Ryan Harper] + Improve module documentation and doc cleanup. [Wesley Wiedenmeier] + lxd: Update network config for LXD 2.3 [Stéphane Graber] + DigitalOcean: use meta-data for network configruation [Ben Howard] + ntp: move to run after apt configuration (LP: #1628337) + Decode unicode types in decode_binary [Robert Schweikert] + systemd: Ensure that cloud-init-local happens before NetworkManager + Allow ephemeral drive to be unpartitioned [Paul Meyer] + subp: add 'update_env' argument + net: support reading ipv6 dhcp config from initramfs [LaMont Jones] + (LP: #1621615, #1621507) + Adjust mounts and disk configuration for systemd. (LP: #1611074) + dmidecode: run dmidecode only on i?86 or x86_64 arch. [Robert Schweikert] + systemd: put cloud-init.target After multi-user.target (LP: #1623868)- add skip-argparse-on-python3.patch: don't depend on argparse for python3, it is builtin there (as of python 3.2, so the patch should be good enough)- python_sitelib does not seem to exist for non single-spec python modules, use python2_sitelib and python3_sitelib instead.- Drop python-cheetah as requirement + Cheetah is no maintained and cloud-init switches to Jinja2 as templating engine if Cheetah is not available - Drop argparse as dependency for Py3 build + argparse is built into Python- Modify cloud-init-finalbeforelogin.patch (bsc#1047363) + Support user processes running in coud-init-final to consume a large number of threads. - Modify cloud-init-service.patch (bsc#1055649) + Start after dbus.service, needed by hotnamectl - Modify cloud-init-handle-not-implemented-query.patch + print needs () for Python3 - Add cloud-init-spceandtabs-clean.patch + Fix inconsistent use of spaces and tabs in various files - Modify suseIntegratedHandler.patch + Fix mode setting passed to function for file writing - Set packag up to build with Python 3 for distros later than SLE 12- On Tumbleweed we need net-tools-deprecated to setup the network- add cloud-init-net-sysconfig-lp1665441.patch (lp#1665441)- Don't call insserv if we use systemd- Do not set mount options for ephemeral drive, use the defaults that are built into the code (bsc#930524)- Update fix-default-systemd-unit-dir.patch (bsc#1024709) + based on work by Thomas Abraham - Add cloud-init-handle-not-implemented-query.patch (boo#1017832)- Require net-tools for network setup- Configuration split (bsc#1016160)- fix syntax error in datasource LocalDisk (fix got somehow lost)- adjust license (as of 0.7.8 AGPL-3.0 was added)- fix unintentional edit in last change again- Modify suseIntegratedHandler.patch (bsc#998103) + Store previous hostname so update_hostname module does not overwrite manually set hostnames - cloud-init-python26.patch + Compatibility fixes with Python 2.6- fix the cloud.cfg split, cyclic non-versioned dependencies are bad. also fix changelog entries- add datasourceLocalDisk.patch: * Fix datasourceLocalDisk module in case directory exists but is empty.- Add Conflicts for otherproviders of cloud-init-config. - Add require for python-six (used by several modules)- Add LocalDisk datasource datasourceLocalDisk.patch [FATE#321107]- Reworked zypp_add_repos.diff to behave similar to zypper ar- Move cloud.cfg into an own sub-package, so that we can have a product specific version. [FATE#322039]- Add zypp_add_repos.diff to support repos for zypper [FATE#322038]- Modify suseIntegratedHandler.patch (bsc#1007529) + Fall back to the previous method of writing network information We have to work out upstream how to have distro specific renderer for sysconfig- Add cloud-init-sysconfig-netpathfix.patch (bsc#1007529) + Fix the default path for network scripts - Cosmetic changes to suseIntegratedHandler.patch- Update cloud-init-no-dmidecode-on-ppc64.patch (bsc#1005616) + aarch64 does support dmidecode- Update cloud-init-service.patch + Break another cycle this one in -final- Update cloud-init-service.patch + Better match upstream intend Ubuntu networking.service is equivalent to SUSE wicked, thus we cannot translate networking to network, but need to translate it to wicked- Update cloud-init-service.patch + We need the following order: - something brings networking fully up (in our case wicked) - cloud-init.service runs - network-online.target is reached- Update cloud-init-service.patch + The network must be up an running in order to get ssh key injected- Update cloud-init-service.patch + Had self reference and thus cloud-init.service was never executed which caused ssh key loading failure- Do not own /lib/udev to not conflict with udev rpm- Forward port suseIntegratedHandler.patch + Implement new abstract interfaces + Some minor implementation fixes- Appease the build service, differences between OBS and IBS, and own the directories- Fix package, udev rules should be in /usr for distros after SLES 11- add cloud-init-digital-ocean-datasource-enable-by-default.patch, cloud-init-digital-ocean-datasource.patch: add DigitalOcean support - run tests on build- Add cloud-init-handle-no-carrier.patch (boo#1003977) - Handle the exception when attempting to detect if the network device is up when it is not- Update cloud-init-service.patch (boo#999942) - Backport upstream commits 3705bb5964a and 6e45ffb21e96- Decoding error (boo#998843) + Added cloud-init-fix-unicode-handling-binarydecode.patch - Fix dependencies, depends on oauthlib instead of oauth- Fix dataSourceOpenNebula.patch, missing closing paren (boo#998836)- Fix typo in cloud-init-service.patch- update to version 0.7.8 (bsc#998103) + added cloud-init-net-eni.patch based on work by eblock - Using config-drive instead of metadata failed because the network translation to Ubuntu-style did not return gateway information to opensuse.py + added cloud-init-service.patch based on work by eblock - The service file cloud-init.service referenced networking.service which on SUSE is network.service + remove no_logic_change.patch included in updated upstream source + forward port suseIntegratedHandler.patch + forward port setupSUSEsysVInit.diff + forward port cloud-init-no-dmidecode-on-ppc64.patch + foward port dataSourceOpenNebula.patch + forward port fix-default-systemd-unit-dir.patch + forward port cloud-init-finalbeforelogin.patch + forward port cloud-init-python2-sigpipe.patch + SmartOS: more improvements for network configuration + add ntp config module [Ryan Harper] + ChangeLog: update changelog for previous commit. + Add distro tags on config modules that should have it. + NoCloud: fix bug providing network-interfaces via meta-data. (LP: 1577982) + ConfigDrive: recognize 'tap' as a link type. (LP: #1610784) + Upgrade to a configobj package new enough to work + MAAS: add vendor-data support (LP: #1612313) + DigitalOcean: use the v1.json endpoint [Ben Howard] + Get Azure endpoint server from DHCP client [Brent Baude] + Apt: add new apt configuration format [Christian Ehrhardt] + distros: fix get_primary_arch method use of os.uname [Andrew Jorgensen] + Fix Gentoo net config generation [Matthew Thode] + Minor cleanups to atomic_helper and add unit tests. + azure dhclient-hook cleanups + network: fix get_interface_mac for bond slave, read_sys_net for ENOTDIR + Generate a dummy bond name for OpenStack (LP: #1605749) + add install option for openrc [Matthew Thode] + Add a module that can configure spacewalk. + python2.6: fix dict comprehension usage in _lsb_release. + apt-config: allow both old and new format to be present. [Christian Ehrhardt] (LP: #1616831) + bddeb: add --release flag to specify the release in changelog. + salt minion: update default pki directory for newer salt minion. (LP: #1609899) + Fix typo in default keys for phone_home [Roland Sommer] (LP: #1607810) + apt config conversion: treat empty string as not provided. (LP: #1621180) + tests: cleanup tempdirs in apt_source tests + systemd: Better support package and upgrade. (LP: #1576692, #1621336) + remove obsolete .bzrignore + DataSourceOVF: fix user-data as base64 with python3 (LP: #1619394) + Allow link type of null in network_data.json [Jon Grimm] (LP: #1621968) from 0.7.7: + Digital Ocean: add datasource for Digital Ocean. [Neal Shrader] + expose uses_systemd as a distro function (fix rhel7) + fix broken 'output' config (LP: #1387340) + begin adding cloud config module docs to config modules (LP: #1383510) + retain trailing eol from template files (sources.list) when rendered with jinja (LP: #1355343) + Only use datafiles and initsys addon outside virtualenvs + Fix the digital ocean test case on python 2.6 + Increase the usefulness, robustness, configurability of the chef module so that it is more useful, more documented and better for users + Fix how '=' signs are not handled that well in ssh_utils (LP: #1391303) + Be more tolerant of ssh keys passed into 'ssh_authorized_keys'; allowing for list, tuple, set, dict, string types and warning on other unexpected types + Update to use newer/better OMNIBUS_URL for chef module + GCE: Allow base64 encoded user-data (LP: #1404311) [Wayne Witzell III] + GCE: use short hostname rather than fqdn (LP: #1383794) [Ben Howard] + systemd: make init stage run before login prompts shown [Steve Langasek] + hostname: on first boot apply hostname to be same as is written for persistent hostname. (LP: #1246485) + remove usage of dmidecode on linux in favor of /sys interface [Ben Howard] + python3 support [Barry Warsaw, Daniel Watkins, Josh Harlow] (LP: #1247132) + support managing gpt partitions in disk config [Daniel Watkins] + Azure: utilze gpt support for ephemeral formating [Daniel Watkins] + CloudStack: support fetching password from virtual router [Daniel Watkins] (LP: #1422388) + readurl, read_file_or_url returns bytes, user must convert as necessary + SmartOS: use v2 metadata service (LP: #1436417) [Daniel Watkins] + NoCloud: fix local datasource claiming found without explicit dsmode + Snappy: add support for installing snappy packages and configuring. + systemd: use network-online instead of network.target (LP: #1440180) [Steve Langasek] + Add functionality to fixate the uid of a newly added user. + Don't overwrite the hostname if the user has changed it after we set it. + GCE datasource does not handle instance ssh keys (LP: 1403617) + sysvinit: make cloud-init-local run before network (LP: #1275098) [Surojit Pathak] + Azure: do not re-set hostname if user has changed it (LP: #1375252) + Fix exception when running with no arguments on Python 3. [Daniel Watkins] + Centos: detect/expect use of systemd on centos 7. [Brian Rak] + Azure: remove dependency on walinux-agent [Daniel Watkins] + EC2: know about eu-central-1 availability-zone (LP: #1456684) + Azure: remove password from on-disk ovf-env.xml (LP: #1443311) [Ben Howard] + Doc: include information on user-data in OpenStack [Daniel Watkins] + Systemd: check for systemd using sd_booted symantics (LP: #1461201) [Lars Kellogg-Stedman] + Add an rh_subscription module to handle registration of Red Hat instances. [Brent Baude] + cc_apt_configure: fix importing keys under python3 (LP: #1463373) + cc_growpart: fix specification of 'devices' list (LP: #1465436) + CloudStack: fix password setting on cloudstack > 4.5.1 (LP: #1464253) + GCE: fix determination of availability zone (LP: #1470880) + ssh: generate ed25519 host keys (LP: #1461242) + distro mirrors: provide datasource to mirror selection code to support GCE regional mirrors. (LP: #1470890) + add udev rules that identify ephemeral device on Azure (LP: #1411582) + _read_dmi_syspath: fix bad log message causing unintended exception + rsyslog: add additional configuration mode (LP: #1478103) + status_wrapper in main: fix use of print_exc when handling exception + reporting: add reporting module for web hook or logging of events. + NoCloud: fix consumption of vendordata (LP: #1493453) + power_state_change: support 'condition' to disable or enable poweroff + ubuntu fan: support for config and installing of ubuntu fan (LP: #1504604) + Azure: support extracting SSH key values from ovf-env.xml (LP: #1506244) + AltCloud: fix call to udevadm settle (LP: #1507526) + Ubuntu templates: modify sources.list template to provide same sources as install from server or desktop ISO. (LP: #1177432) + cc_mounts: use 'nofail' if system uses systemd. (LP: #1514485) + Azure: get instance id from dmi instead of SharedConfig (LP: #1506187) + systemd/power_state: fix power_state to work even if cloud-final exited non-zero (LP: #1449318) + SmartOS: Add support for Joyent LX-Brand Zones (LP: #1540965) [Robert C Jennings] + systemd: support using systemd-detect-virt to detect container (LP: #1539016) [Martin Pitt] + docs: fix lock_passwd documentation [Robert C Jennings] + Azure: Handle escaped quotes in WALinuxAgentShim.find_endpoint. (LP: #1488891) [Dan Watkins] + lxd: add support for setting up lxd using 'lxd init' (LP: #1522879) + Add Image Customization Parser for VMware vSphere Hypervisor Support. [Sankar Tanguturi] + timezone: use a symlink rather than copy for /etc/localtime unless it is already a file (LP: #1543025). + Enable password changing via a hashed string [Alex Sirbu] + Added BigStep datasource [Alex Sirbu] + No longer run pollinate in seed_random (LP: #1554152) + groups: add defalt user to 'lxd' group. Create groups listed for a user if they do not exist. (LP: #1539317) + dmi data: fix failure of reading dmi data for unset dmi values + doc: mention label for nocloud datasource must be 'cidata' [Peter Hurley] + ssh_pwauth: fix module to support 'unchanged' and match behavior described in documentation [Chris Cosby] + quickly check to see if the previous instance id is still valid to avoid dependency on network metadata service on every boot (LP: #1553815) + support network configuration in cloud-init --local with support device naming via systemd.link. + FreeBSD: add support for installing packages, setting password and timezone. Change default user to 'freebsd'. [Ben Arblaster] + locale: list unsupported environment settings in warning (LP: #1558069) + disk_setup: correctly send --force to mkfs on block devices (LP: #1548772) + chef: fix chef install from gems (LP: #1553345) + systemd: do not specify After of obsolete syslog.target (LP: #1536964) + centos: Ensure that resolve conf object is written as a str (LP: #1479988) + chef: straighten out validation_cert and validation_key (LP: #1568940) + phone_home: allow usage of fqdn (LP: #1566824) [Ollie Armstrong] + cloudstack: Only use DHCPv4 lease files as a datasource (LP: #1576273) [Wido den Hollander] + Paths: fix instance path if datasource's id has a '/'. (LP: #1575938) [Robert Jennings] + Ec2: do not retry requests for user-data path on 404. + settings on the kernel command line (cc:) override all local settings rather than only those in /etc/cloud/cloud.cfg (LP: #1582323) + Improve merging documentation [Daniel Watkins] + apt sources: support inserting key/key-id only, custom sources.list, long gpg key fingerprints with spaces, and dictionary format (LP: #1574113) + SmartOS: datasource improvements and support for metadata service providing networking information. + Datasources: centrally handle 'dsmode' and no longer require datasources to "pass" if modules_init should be executed with network access. + ConfigDrive: improved support for networking information from a network_data.json or older interfaces formated network_config. + Change missing Cheetah log warning to debug [Andrew Jorgensen] + Remove trailing dot from GCE metadata URL (LP: #1581200) [Phil Roche] + support network rendering to sysconfig (for centos and RHEL) + write_files: if no permissions are given, just use default without warn. + user_data: fix error when user-data is not utf-8 decodable (LP: #1532072) + fix mcollective module with python3 (LP: #1597699) [Sergii Golovatiuk]- Add cloud-init-python2-sigpipe.patch (bsc#903449) + Restore SIGPIPE default handler when executing shell scripts- Add cloud-init-finalbeforelogin.patch (bsc#978048) + Ordering issue, avoid login prompt before cloud-init is finished- Update suseIntegratedHandler.patch (bsc#971275) + Properly handle the package_upgrade configuration option- Add dependency on jinja2 (bsc#948995,bsc#948996)- Add no_logic_change.patch to undo upstream logic changes introduced during style clean up- Properly write the routes file for static networks (bnc#920190) + modify suseIntegratedHandler.patch - Remove suseSetInitCmd.patch + is now integrated with suseIntegratedHandler.patch- pmtools only exist on Intel architecture (bnc#928552)- update to 0.7.6: - open 0.7.6 - Enable vendordata on CloudSigma datasource (LP: #1303986) - Poll on /dev/ttyS1 in CloudSigma datasource only if dmidecode says we're running on cloudsigma (LP: #1316475) [Kiril Vladimiroff] - SmartOS test: do not require existance of /dev/ttyS1. [LP: #1316597] - doc: fix user-groups doc to reference plural ssh-authorized-keys (LP: #1327065) [Joern Heissler] - fix 'make test' in python 2.6 - support jinja2 as a templating engine. Drop the hard requirement on cheetah. This helps in python3 effort. (LP: #1219223) - change install path for systemd files to /lib/systemd/system [Dimitri John Ledkov] - change trunk debian packaging to use pybuild and drop cdbs. [Dimitri John Ledkov] - SeLinuxGuard: remove invalid check that looked for stat.st_mode in os.lstat. - do not write comments in /etc/timezone (LP: #1341710) - ubuntu: provide 'ubuntu-init-switch' module to aid in systemd testing. - status/result json: remove 'end' entry which was always null - systemd: make cloud-init block ssh service startup to guarantee keys are generated. [Jordan Evans] (LP: #1333920) - default settings: fix typo resulting in OpenStack and GCE not working unless config explicitly provided (LP: #1329583) [Garrett Holmstrom]) - fix rendering resolv.conf if no 'options' are provided (LP: #1328953) - docs: fix disk-setup to reference 'table_type' [Rail Aliiev] (LP: #1313114) - ssh_authkey_fingerprints: fix bug that prevented disabling the module. (LP: #1340903) [Patrick Lucas] - no longer use pylint as a checker, fix pep8 [Jay Faulkner]. - Openstack: do not load some urls twice. - FreeBsd: fix initscripts and add working config file [Harm Weites] - Datasource: fix broken logic to provide hostname if datasource does not provide one - Improved and less verbose logging. - resizefs: first check that device is writable. - configdrive: fix reading of vendor data to be like metadata service reader. [Jay Faulkner] - resizefs: fix broken background resizing [Jay Faulkner] (LP: #1338614) - cc_grub_dpkg: fix EC2 hvm instances to avoid prompt on grub update. (LP: #1336855) - FreeBsd: support config drive datasource [Joseph bajin] - cc_mounts: support creating a swap file - Refresh addopenSUSEBase.patch - Refresh setupSUSEsysVInit.diff - Removed cloudinit-datasources.patch. Applied upstream - BuildRequires pkg-config. Needed to find correct systemd unit dir. - Add fix-default-systemd-unit-dir.patch . Use better default for systemd system unit dir.- Fix (bnc#919305 & bnc#918952) - Properly handle persistent network device names for OpenNebula + add dataSourceOpenNebula.patch - Properly set up network mode if interface config file + modified suseIntegratedHandler.patch- Require e2fsprogs for filesystem resizing- Remove Requires for python-yaml . There's already the right requirement for python-PyYAML- fixed syntax error in dmidecode on ppc64 patch (bnc#914920)ibs-power9-14 1648835856  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*%%-.%012345%789:;<=>?@ABCDEFGHI%KLM%OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*-./012345678921.4-150100.8.58.121.4-150100.8.58.121.4-150100.8.58.1  !!!!!! ""####"""$$%%%%%%%%%%%%%%%%$$$$$$$$$$$$$$$&&'''&&(((((((((((((((((((((((((((((()))))))))))))))))))))))))))))(**++++++++*******,,-,..////////////////...............*01111112345667778NetworkManagerdispatcher.dhook-network-managercloudcloud.cfg.d05_logging.cfgREADMEtemplateschef_client.rb.tmplchrony.conf.alpine.tmplchrony.conf.fedora.tmplchrony.conf.opensuse.tmplchrony.conf.photon.tmplchrony.conf.rhel.tmplchrony.conf.sles.tmplhosts.alpine.tmplhosts.freebsd.tmplhosts.photon.tmplhosts.suse.tmplntp.conf.alpine.tmplntp.conf.fedora.tmplntp.conf.opensuse.tmplntp.conf.photon.tmplntp.conf.rhel.tmplntp.conf.sles.tmplresolv.conf.tmplsystemd.resolved.conf.tmpltimesyncd.conf.tmpldhcpdhclient-exit-hooks.dhook-dhclientrsyslog.d21-cloudinit.confsshd-keygen@.service.ddisable-sshd-keygen-if-cloud-init-active.confcloud-idcloud-initcloud-init-percloud-initds-identifyhook-hotpluguncloud-initwrite-ssh-key-fingerprintscloud_init-21.4-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtrequires.txttop_level.txtcloudinit__init__.py__pycache____init__.cpython-36.pycapport.cpython-36.pycatomic_helper.cpython-36.pyccloud.cpython-36.pyccs_utils.cpython-36.pycdhclient_hook.cpython-36.pycdmi.cpython-36.pycec2_utils.cpython-36.pycevent.cpython-36.pycfeatures.cpython-36.pycgpg.cpython-36.pychelpers.cpython-36.pycimporter.cpython-36.pyclog.cpython-36.pycnetinfo.cpython-36.pycpatcher.cpython-36.pycpersistence.cpython-36.pycregistry.cpython-36.pycsafeyaml.cpython-36.pycserial.cpython-36.pycsettings.cpython-36.pycsignal_handler.cpython-36.pycsimpletable.cpython-36.pycssh_util.cpython-36.pycstages.cpython-36.pycsubp.cpython-36.pyctemp_utils.cpython-36.pyctemplater.cpython-36.pyctype_utils.cpython-36.pycurl_helper.cpython-36.pycuser_data.cpython-36.pycutil.cpython-36.pycversion.cpython-36.pycwarnings.cpython-36.pycanalyze__init__.py__main__.py__pycache____init__.cpython-36.pyc__main__.cpython-36.pycdump.cpython-36.pycshow.cpython-36.pycdump.pyshow.pyapport.pyatomic_helper.pycloud.pycmd__init__.py__pycache____init__.cpython-36.pycclean.cpython-36.pyccloud_id.cpython-36.pycmain.cpython-36.pycquery.cpython-36.pycstatus.cpython-36.pycclean.pycloud_id.pydevel__init__.py__pycache____init__.cpython-36.pychotplug_hook.cpython-36.pyclogs.cpython-36.pycmake_mime.cpython-36.pycnet_convert.cpython-36.pycparser.cpython-36.pycrender.cpython-36.pychotplug_hook.pylogs.pymake_mime.pynet_convert.pyparser.pyrender.pymain.pyquery.pystatus.pyconfig__init__.py__pycache____init__.cpython-36.pyccc_apk_configure.cpython-36.pyccc_apt_configure.cpython-36.pyccc_apt_pipelining.cpython-36.pyccc_bootcmd.cpython-36.pyccc_byobu.cpython-36.pyccc_ca_certs.cpython-36.pyccc_chef.cpython-36.pyccc_debug.cpython-36.pyccc_disable_ec2_metadata.cpython-36.pyccc_disk_setup.cpython-36.pyccc_emit_upstart.cpython-36.pyccc_fan.cpython-36.pyccc_final_message.cpython-36.pyccc_foo.cpython-36.pyccc_growpart.cpython-36.pyccc_grub_dpkg.cpython-36.pyccc_install_hotplug.cpython-36.pyccc_keys_to_console.cpython-36.pyccc_landscape.cpython-36.pyccc_locale.cpython-36.pyccc_lxd.cpython-36.pyccc_mcollective.cpython-36.pyccc_migrator.cpython-36.pyccc_mounts.cpython-36.pyccc_ntp.cpython-36.pyccc_package_update_upgrade_install.cpython-36.pyccc_phone_home.cpython-36.pyccc_power_state_change.cpython-36.pyccc_puppet.cpython-36.pyccc_refresh_rmc_and_interface.cpython-36.pyccc_reset_rmc.cpython-36.pyccc_resizefs.cpython-36.pyccc_resolv_conf.cpython-36.pyccc_rh_subscription.cpython-36.pyccc_rightscale_userdata.cpython-36.pyccc_rsyslog.cpython-36.pyccc_runcmd.cpython-36.pyccc_salt_minion.cpython-36.pyccc_scripts_per_boot.cpython-36.pyccc_scripts_per_instance.cpython-36.pyccc_scripts_per_once.cpython-36.pyccc_scripts_user.cpython-36.pyccc_scripts_vendor.cpython-36.pyccc_seed_random.cpython-36.pyccc_set_hostname.cpython-36.pyccc_set_passwords.cpython-36.pyccc_snap.cpython-36.pyccc_spacewalk.cpython-36.pyccc_ssh.cpython-36.pyccc_ssh_authkey_fingerprints.cpython-36.pyccc_ssh_import_id.cpython-36.pyccc_timezone.cpython-36.pyccc_ubuntu_advantage.cpython-36.pyccc_ubuntu_drivers.cpython-36.pyccc_update_etc_hosts.cpython-36.pyccc_update_hostname.cpython-36.pyccc_users_groups.cpython-36.pyccc_write_files.cpython-36.pyccc_write_files_deferred.cpython-36.pyccc_yum_add_repo.cpython-36.pyccc_zypper_add_repo.cpython-36.pycschema.cpython-36.pyccc_apk_configure.pycc_apt_configure.pycc_apt_pipelining.pycc_bootcmd.pycc_byobu.pycc_ca_certs.pycc_chef.pycc_debug.pycc_disable_ec2_metadata.pycc_disk_setup.pycc_emit_upstart.pycc_fan.pycc_final_message.pycc_foo.pycc_growpart.pycc_grub_dpkg.pycc_install_hotplug.pycc_keys_to_console.pycc_landscape.pycc_locale.pycc_lxd.pycc_mcollective.pycc_migrator.pycc_mounts.pycc_ntp.pycc_package_update_upgrade_install.pycc_phone_home.pycc_power_state_change.pycc_puppet.pycc_refresh_rmc_and_interface.pycc_reset_rmc.pycc_resizefs.pycc_resolv_conf.pycc_rh_subscription.pycc_rightscale_userdata.pycc_rsyslog.pycc_runcmd.pycc_salt_minion.pycc_scripts_per_boot.pycc_scripts_per_instance.pycc_scripts_per_once.pycc_scripts_user.pycc_scripts_vendor.pycc_seed_random.pycc_set_hostname.pycc_set_passwords.pycc_snap.pycc_spacewalk.pycc_ssh.pycc_ssh_authkey_fingerprints.pycc_ssh_import_id.pycc_timezone.pycc_ubuntu_advantage.pycc_ubuntu_drivers.pycc_update_etc_hosts.pycc_update_hostname.pycc_users_groups.pycc_write_files.pycc_write_files_deferred.pycc_yum_add_repo.pycc_zypper_add_repo.pyschema.pycs_utils.pydhclient_hook.pydistros__init__.py__pycache____init__.cpython-36.pycalmalinux.cpython-36.pycalpine.cpython-36.pycamazon.cpython-36.pycarch.cpython-36.pycbsd.cpython-36.pycbsd_utils.cpython-36.pyccentos.cpython-36.pyccloudlinux.cpython-36.pycdebian.cpython-36.pycdragonflybsd.cpython-36.pyceurolinux.cpython-36.pycfedora.cpython-36.pycfreebsd.cpython-36.pycgentoo.cpython-36.pycnet_util.cpython-36.pycnetbsd.cpython-36.pycnetworking.cpython-36.pycopenEuler.cpython-36.pycopenbsd.cpython-36.pycopensuse.cpython-36.pycphoton.cpython-36.pycrhel.cpython-36.pycrhel_util.cpython-36.pycrocky.cpython-36.pycsles.cpython-36.pycubuntu.cpython-36.pycug_util.cpython-36.pycvirtuozzo.cpython-36.pycalmalinux.pyalpine.pyamazon.pyarch.pybsd.pybsd_utils.pycentos.pycloudlinux.pydebian.pydragonflybsd.pyeurolinux.pyfedora.pyfreebsd.pygentoo.pynet_util.pynetbsd.pynetworking.pyopenEuler.pyopenbsd.pyopensuse.pyparsers__init__.py__pycache____init__.cpython-36.pychostname.cpython-36.pychosts.cpython-36.pycnetworkmanager_conf.cpython-36.pycresolv_conf.cpython-36.pycsys_conf.cpython-36.pychostname.pyhosts.pynetworkmanager_conf.pyresolv_conf.pysys_conf.pyphoton.pyrhel.pyrhel_util.pyrocky.pysles.pyubuntu.pyug_util.pyvirtuozzo.pydmi.pyec2_utils.pyevent.pyfeatures.pyfilters__init__.py__pycache____init__.cpython-36.pyclaunch_index.cpython-36.pyclaunch_index.pygpg.pyhandlers__init__.py__pycache____init__.cpython-36.pycboot_hook.cpython-36.pyccloud_config.cpython-36.pycjinja_template.cpython-36.pycshell_script.cpython-36.pycupstart_job.cpython-36.pycboot_hook.pycloud_config.pyjinja_template.pyshell_script.pyupstart_job.pyhelpers.pyimporter.pylog.pymergers__init__.py__pycache____init__.cpython-36.pycm_dict.cpython-36.pycm_list.cpython-36.pycm_str.cpython-36.pycm_dict.pym_list.pym_str.pynet__init__.py__pycache____init__.cpython-36.pycactivators.cpython-36.pycbsd.cpython-36.pyccmdline.cpython-36.pycdhcp.cpython-36.pyceni.cpython-36.pycfreebsd.cpython-36.pycnetbsd.cpython-36.pycnetplan.cpython-36.pycnetwork_state.cpython-36.pycnetworkd.cpython-36.pycopenbsd.cpython-36.pycrenderer.cpython-36.pycrenderers.cpython-36.pycsysconfig.cpython-36.pycudev.cpython-36.pycactivators.pybsd.pycmdline.pydhcp.pyeni.pyfreebsd.pynetbsd.pynetplan.pynetwork_state.pynetworkd.pyopenbsd.pyrenderer.pyrenderers.pysysconfig.pyudev.pynetinfo.pypatcher.pypersistence.pyregistry.pyreporting__init__.py__pycache____init__.cpython-36.pycevents.cpython-36.pychandlers.cpython-36.pycevents.pyhandlers.pysafeyaml.pyserial.pysettings.pysignal_handler.pysimpletable.pysourcesDataSourceAliYun.pyDataSourceAltCloud.pyDataSourceAzure.pyDataSourceBigstep.pyDataSourceCloudSigma.pyDataSourceCloudStack.pyDataSourceConfigDrive.pyDataSourceDigitalOcean.pyDataSourceEc2.pyDataSourceExoscale.pyDataSourceGCE.pyDataSourceHetzner.pyDataSourceIBMCloud.pyDataSourceLXD.pyDataSourceLocalDisk.pyDataSourceMAAS.pyDataSourceNoCloud.pyDataSourceNone.pyDataSourceOVF.pyDataSourceOpenNebula.pyDataSourceOpenStack.pyDataSourceOracle.pyDataSourceRbxCloud.pyDataSourceScaleway.pyDataSourceSmartOS.pyDataSourceUpCloud.pyDataSourceVMware.pyDataSourceVultr.py__init__.py__pycache__DataSourceAliYun.cpython-36.pycDataSourceAltCloud.cpython-36.pycDataSourceAzure.cpython-36.pycDataSourceBigstep.cpython-36.pycDataSourceCloudSigma.cpython-36.pycDataSourceCloudStack.cpython-36.pycDataSourceConfigDrive.cpython-36.pycDataSourceDigitalOcean.cpython-36.pycDataSourceEc2.cpython-36.pycDataSourceExoscale.cpython-36.pycDataSourceGCE.cpython-36.pycDataSourceHetzner.cpython-36.pycDataSourceIBMCloud.cpython-36.pycDataSourceLXD.cpython-36.pycDataSourceLocalDisk.cpython-36.pycDataSourceMAAS.cpython-36.pycDataSourceNoCloud.cpython-36.pycDataSourceNone.cpython-36.pycDataSourceOVF.cpython-36.pycDataSourceOpenNebula.cpython-36.pycDataSourceOpenStack.cpython-36.pycDataSourceOracle.cpython-36.pycDataSourceRbxCloud.cpython-36.pycDataSourceScaleway.cpython-36.pycDataSourceSmartOS.cpython-36.pycDataSourceUpCloud.cpython-36.pycDataSourceVMware.cpython-36.pycDataSourceVultr.cpython-36.pyc__init__.cpython-36.pychelpers__init__.py__pycache____init__.cpython-36.pycazure.cpython-36.pycdigitalocean.cpython-36.pychetzner.cpython-36.pycnetlink.cpython-36.pycopenstack.cpython-36.pycupcloud.cpython-36.pycvultr.cpython-36.pycazure.pydigitalocean.pyhetzner.pynetlink.pyopenstack.pyupcloud.pyvmware__init__.py__pycache____init__.cpython-36.pycimc__init__.py__pycache____init__.cpython-36.pycboot_proto.cpython-36.pycconfig.cpython-36.pycconfig_custom_script.cpython-36.pycconfig_file.cpython-36.pycconfig_namespace.cpython-36.pycconfig_nic.cpython-36.pycconfig_passwd.cpython-36.pycconfig_source.cpython-36.pycguestcust_error.cpython-36.pycguestcust_event.cpython-36.pycguestcust_state.cpython-36.pycguestcust_util.cpython-36.pycipv4_mode.cpython-36.pycnic.cpython-36.pycnic_base.cpython-36.pycboot_proto.pyconfig.pyconfig_custom_script.pyconfig_file.pyconfig_namespace.pyconfig_nic.pyconfig_passwd.pyconfig_source.pyguestcust_error.pyguestcust_event.pyguestcust_state.pyguestcust_util.pyipv4_mode.pynic.pynic_base.pyvultr.pyssh_util.pystages.pysubp.pytemp_utils.pytemplater.pytype_utils.pyurl_helper.pyuser_data.pyutil.pyversion.pywarnings.pycloud-init-generatorcloud-config.servicecloud-config.targetcloud-final.servicecloud-init-local.servicecloud-init.servicecloud-init.target66-azure-ephemeral.rulescloud-initcloud-initcloud-initLICENSELICENSE-GPLv3cloud-id.1.gzcloud-init-per.1.gzcloud-init.1.gzcloud/etc//etc/NetworkManager//etc/NetworkManager/dispatcher.d//etc/cloud//etc/cloud/cloud.cfg.d//etc/cloud/templates//etc/dhcp//etc/dhcp/dhclient-exit-hooks.d//etc/rsyslog.d//etc/systemd/system//etc/systemd/system/sshd-keygen@.service.d//usr/bin//usr/lib//usr/lib/cloud-init//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/cloud_init-21.4-py3.6.egg-info//usr/lib/python3.6/site-packages/cloudinit//usr/lib/python3.6/site-packages/cloudinit/__pycache__//usr/lib/python3.6/site-packages/cloudinit/analyze//usr/lib/python3.6/site-packages/cloudinit/analyze/__pycache__//usr/lib/python3.6/site-packages/cloudinit/cmd//usr/lib/python3.6/site-packages/cloudinit/cmd/__pycache__//usr/lib/python3.6/site-packages/cloudinit/cmd/devel//usr/lib/python3.6/site-packages/cloudinit/cmd/devel/__pycache__//usr/lib/python3.6/site-packages/cloudinit/config//usr/lib/python3.6/site-packages/cloudinit/config/__pycache__//usr/lib/python3.6/site-packages/cloudinit/distros//usr/lib/python3.6/site-packages/cloudinit/distros/__pycache__//usr/lib/python3.6/site-packages/cloudinit/distros/parsers//usr/lib/python3.6/site-packages/cloudinit/distros/parsers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/filters//usr/lib/python3.6/site-packages/cloudinit/filters/__pycache__//usr/lib/python3.6/site-packages/cloudinit/handlers//usr/lib/python3.6/site-packages/cloudinit/handlers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/mergers//usr/lib/python3.6/site-packages/cloudinit/mergers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/net//usr/lib/python3.6/site-packages/cloudinit/net/__pycache__//usr/lib/python3.6/site-packages/cloudinit/reporting//usr/lib/python3.6/site-packages/cloudinit/reporting/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources//usr/lib/python3.6/site-packages/cloudinit/sources/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources/helpers//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware/imc//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware/imc/__pycache__//usr/lib/systemd/system-generators//usr/lib/systemd/system//usr/lib/udev/rules.d//usr/share/bash-completion/completions//usr/share/doc/packages//usr/share/licenses//usr/share/licenses/cloud-init//usr/share/man/man1//var/lib/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:23520/SUSE_SLE-15-SP1_Update/2dbb1186f917c5af59dcaa11705d2216-cloud-init.SUSE_SLE-15-SP1_Updatedrpmxz5ppc64le-suse-linux       directoryPOSIX shell script, ASCII text executableASCII textUTF-8 Unicode textPython script, ASCII text executableBourne-Again shell script, ASCII text executableemptypython 3.6 byte-compiledPython script, UTF-8 Unicode text executablePython script text executable Python script, ASCII text executabletroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RI5K狧Autf-88177555ea9f65aec6f75f15017c4c283e2ee61878c4f9998eec49f63ca3b2c9c? 7zXZ !t/]"k%f1ƷmO3y7uC)!ɊLcxbIis"bEgrBa=UzK&ad?YC;h"uXZ,6J u+RcRjۃ nLrF!u\(m0+!4YZGnJQrt꓂3OEPwU]X1UܠE]0M]YdA|4 ) 5= xJd&قF7`H㪌 Nh+h4D zzw {ؽjmN~t7nLGϳ߷(br!INFd~h| (tOǁ}g0߳*3;:/:pӗdހϞۈ|hRܢq.B'Bq\Bzٲ:*$)j^\v]ggu?LJg,$;fZ]ي ̦,"CO(G:b3yKv8U-<l.SQ ^KC<~:#+dlpeFOC3~&2'lPLz0O{|hX:Sa3.[I %B7̳0OK6Rꘆ*FL@A|97 [t_5.䪮h_Te+  Wuu ֹi@ eHh!tDN7m!Q<[zx- giF37ËF?.P4@\b,v Ŀ֝<6v$QsMGwC^peyZr8 s+*Ϻꈕ xz} Sn/6iv盉7oEnt7Fa'`^RߐrdSͦH5v6dfBZ܌ _O ,UX6l%4B"Zʋb k$C:)/ETuOpG ,Ueؘ9|p@ Ń%$~M?m{XLKFH^{zY4+bȮk3J}>\Qq &d<Qs`6[*4Jt]V^ɾRU]DB:6n&; uS.2:%%?ӠZI3$|`lE`|[\,nMYsVjT?I0O3߿K;3(e@^^0j{tBE'k5xm!t: !y}|;LH`c~!SJr[vVO8aElWdN*h|-Vc*{)[Y圑'b("Ecu>s0H8|:H{\@W.]ܿڼ)dp )a܅;śS!mx_p2[l?V$/f=l-f2N؂N0\xNOܮh/"Pfv:xa7W0 LsZAs*H9< M5W7f]}u z֐܎? v˿(IɲM5>3e(7D$Thcn`T`uGqj=E,'SIV!|Pm-̭\q\>9T-n{ޥfzMHNkG9^覕9x/ `\gڇ1g̖Zư׆ƜX6JpCz^[ b c ܤYE'ʻ>*,a1.2N._C:7ߨn!{%AdpZGnGH_}8!AWv ZSDkPjS h *FgY)|O@:V*6eE(n7/shðt M0BtISƗd jdWN܄ zm Լyjkj%Yķi!4Q#WbI/ҩzC\O8OCwP-IeMhj/B S0-Ч?[vXH'%U _F&sN 0ߺCqOf9^t* ʴgrս #?!Űs?H_3dW=m-BG#ck' .zH0X,fUD{ +a wN:Cƣw0cS%9F^6ЅʈiJL'J(.%ӵ.|`M)|Dմ0yvO!|ω:tf/BQDؾM`7 L.{Uܼ}.,p }"wM'C:^e-bQo 08 kܐmҚeMs]ҟ~퇻o8x u"$'}<kp ޛ#L߈|8%+jr}Vp O <14$JW 1(X&Y(3oHNkOnO_IǤu Rw0~E5e0& U#i4Z~gEљqtlPv`py*E5["bU2jaغ5X%eJRr+ai=J aͬƫ_\صNRsLlYOixelcSw.ه;FcG9 ^l;X66!> `ЖG`䪿ƉMev*ptMh*^) ;!St JPX? I{r]%!HHLoTaϦ͸&uS`PgV/lEiE3ݡn #.mS޴R[- ;E7{YXQZ18012К[4xԧGHzB8N2?#lM^,УMeSFA̻KR|͒0 sdzR/U0,JpO t͚Zֺ5םq@}lkr\zԃN29!ݙb07wn xpMac63/Uz!n|cӗF )T*,VNnF SS|}Tja㏏ L\JNB¿JĦevֶ2= wCI31Ȭ h$-}(3A ZSp7j$Eqg88cj,õ" /#c./bGS7JpyQ@GŪ- v6TkӍQgLN$`mK\f[0쯡KbG4 ܻ_Zu5:Xoo>]xaRm6=0OV̘Z/RkIGOYhv_$R̋33m{|3Mp\ƌq繓hn?!+6ō^x~Khn/+d ;?CȎP5ց,'#S9@J˥ _r=C!@Ɛ/jT*P}5Tw9r>M߄e&eUXT*F*@D%<@a|SfΘ c[˜9qǐ]+EՌ*f{5."!CD 3KKh]O [$;ƹԍg"e^|lOarQ]ݜ@gN%d:[ es "j(mRHO IA,?еPMܤڴh|,(oxha4iC ''V*RZIerI I6(?U~02a._6XDX$ިXW2ݴ2łG$o2h҆.XS>o"GmM9ZE#+: #[~ՍfpvTb&Vmv !Rn6)e#7>c5K,,$}N)W?5Nq(i7 !"hqJ:l}Bw[er[KF[?4.&0Vg#pf{Im'6=_Πj+#}uONJ٭} 悘!W +__;l/. o'>wcC橄~w#^u6;{, `*rI.3Ӓ9IԈ`%z Q0!ʗ[~k # 20(m6"I'Qf2M,FR"U˼'* /ꪛW0)44ϥ-*yE:J؃HB{zAvXWԱoׇr( :ضb.mq1m`oцWw_} U[15DItoI "jRUإj? tcsn ~' =ⅉ=a`j,zfOS@\0+~swa$ gIzH+nB$D ]} j);Ex7\9Srn llJ U27Љ5r8pVy\`}0K8Bw4@M_c;viEJd! y^F'԰'ocm sJ+}F7*~S_8^^Z[Jl|%3$. u,3[zlXF#ebRW ..'vFX(y ^d c_-6sW`I]}a`(j.SwV j,/xeRN?kK,X3{pLSa =cH<gƧ8TU`K hVH0s*Au"0lj{{! tt Ca ?T)ݲ]YKb[+a$^,,4:;^K+WmNdG!a5YwHIٻP3#-A^~kT͈o[ۚ=w9y,޴w3ͼAIa'!噧<)wC9x3gOޜI:l3gL&MPpD(͌y:J?K %JhoN]ƃ,:\%Bx,rMuqFY fStd\\L࡮%ħ'sf]?]ȷ^u (X&ܾPOgrNMb8a cV|w8+j _FPmuY]BA^i@^8 ~S<8[X$, ƧKigM[j Eꁗ2,9׋Hvi.ˆa0Mt$O[_4QglB\$8hOg%Jv[~RxQhH'#OI,/t8#8IHrm&bB:]!IdUO˻W[UvMDƎ$V ڛJ'S^Y`,hXM"ʋr@Dڴ# 0o<ulR%ƫ㋡x-nqkWs"Jyg"&;dz"7œܹq7Sɦ|^x`nxLaʈP f\f``TC-m6Ev>9]M%uMFU  ) qijn/?e%N}ञh 8FKY#܂o" Nj5P&f9& 4)vY?UP -af<{mEeZLTic増Jv@1& e`4 prH>(|ʼnD'(ڝ`x7 V6Uz,;PK_HtGP!mȻѲO,~cA-$ ioZ2E_& *eu sΑ0_gug[wU㙹Aa0>d0XP|;U1(IE"P:ۢ|E dEmv @`w˽o?~Egb́ B>l_-^G)/@bkޞ ;TRCme|8N劉g5a;B_wbuugDƹrF sgmg&uYCu@Z~+|mXB\HKzFhO|O71dP߰ۂI@sƚY4wP^zx|u/CFã"<٬8t",NU>xp3w&Θ\26wMoMj˪Pb`\[aa͇ t' xX@ p]}>/bQ;Hy %gg嶄w@6 ,Y:1K0lk]rUnVN Ir[ NgZ7bB#]w->&ݰ$<R-:2Ģg}v~¥: 0y[$~YO-1M;n\?4z˘W%>ix`-c"""L!OW>3F9 7AX0 lPci)YjkjVH:o4;B|"H7j6ۮ5[4Yqygh|B?n|ƝRkfd;|ԜywP̳W8.V5ݭArCsP !tAc\^˼+w75sHgH͇"I$NbwAVi,7a3ӕj QcK tFJ0=qLm؂U!0瑯 k*?5"JLcԷwR)['>}0ZAG>nܖB'nK]ah7<"@T:ᯊca>jٓ*`3'S[ԕȹ13q&"]zt՘s,!9M v(6tO4uGqE -k:%my, {̾t[K =Ri\ EƅU]j=wڜٯI[,x:Z`WhW؄ >%e.@ܑԩI"/߮PoilyZ5sV/EGFCfå]LxIF|R68eqQ8Vmb[]>v7Oe^X8M[iB{苎Y.mͺиfՄa}⒴ߖ/ioWOUNg-1\̹ 9S+eRVuɬ*Eql콽D} 480)xV3>[W]cˉE lڐZ̻4P7Ż^8NpZ64O@A0#>Bֵnz<1r5f!PmIA[ tϔ0t>1ud*#+^twUD?oaE77}8ZK„@w͛IxiG(ߐuMظ"W5C:"l8 ̶j0]ʃ>C؃˗ VJUC9W@/Fc;a3ZTgRO}r8w΀ py|Y6]8~ȳnqޢLk+\(T֣}aK0şHGx-J{5XX"U}$5Vf1.xuIֵl+(#p0Nwzˠ!o `Q,-v%HLDQ@mz e_qѽي~`HI;q]5Y5ti]8䡩" T (ݦ/L[qϗƣw#BȠc[C`_wxnB(HR CդZg9`ԙYO3.B/B'ܰ ux?)ַL`"՟G' B*B5V-+D8=<|}]"Cg3 k$7D~~vZ nze^.H"By/vsX!" ֨پU49gzXK՜Sg3 ӜY~J1kD ky/D:槝&'橦\tiPTN 5 ї)X1qܧ@+ԃ]gF'~KaƟ Sbj%oLg\@a[a6y{F;+XKE/dz:'1Ql)ևTc=J75c"ϦO)[)攅WG%*C(=q6<~ In&\sĨ$q+}u vIa+A;U`pw{05\7Kx0hisBmpQGE<HXg!St9g5-Oib9ΣB%5WAV4zgต]kʻp QK-늹O*IL .βda1m)%\]Ftja"r΁b4O@#3r.MGB>]Y%B8 "Okk~* F٫y4<7@Ozj C^eNJ̭()gN-Wu!7|{miݙ wE2^縖_.2( >̀$hy,F?|Zj 6!CEpw~G^݄%0"1ͦ gj("i EifH~4f&E!3 Vj -xx:T̍Kz]};cEHjKȄcOL'̻_iO/euf!6WɊJ&ޤZQ Wl{u_.rw`paΣw`az~vUl˜xK D8'g,)-ˌ/:R8{t >ȝ]WİAz!ݵ'lT.L XcV( u>E!2Lkܣ<XjBgD)8y{! 5HeK8Rò^w= q=O2, !$6txB1a( ݂sdH7iX< ~Sքٛx;\O!k\tUnS; Qvb}Jr&n`9ƶPM+N 7w 3dm1#LǐkH @7]'ߙ +Җ7 WEc Ct y9@s@", b hIO4=eӝ!/p+X(^ >DDXϛzi$[F5^VJZ%͠i|֥'{28\SUnf fL mYa~0#i-An}!YrG2K~*܌b-Rso5nrk| ~p|5+:rC #8JBDnw-z(+ @5i"^tul`@c]w`YzFOؕ MhˉA'zFD[c= x\sV.t+ 7Z~8MZcO@\ΈAq By?ftkm[ *Q1BU7}CȎPSWx>Eqɗ}T?r](uC`/acO8Rdçn|ؗlԸ0Y{liEu]9K!m-%^ hݙ`.Cҷ,lXv/ r-4ޗ/h$2&(̘QlD7ߗ 7btC/eZN.>ի—ӷ%3Y/;1atRD#Z;C_no`Yw6H}?Ew~7~\um(,k87]@ӤR]~RMhh 8qPUy% wU %dq >^#mn6pNR`1@J 'l8;u̞G\䕟$jy#9{a;JUps w:o>4a`Q% Vtk?c":Sx7nN-y#Gv8+UAX!'qN?__)y-W#B IG߀93LͽY斶=pb\4pō;gSYP[Es^]Y_Fsn(luS^.Uyco @lC{XNɠZG` H |I7{O bj(a?P>7vBĜ@/96'/p\7{ + #&Wi Tܪ s3.@Mn}Y41\Ol2Bb3d2On5[)p |2̈׎P7ݙN(`7 );Rb;3"㨣a+y* ,84y:ֱi; xw5@ qbj f.%VoܯEHA^wkP +8bO Cxe]O>>cVkpeDUoũ̽sgtCz^[%-ĤWE [Y#?y͋~Erɫac+hX':‰sp†vEr>L+,5K*4v\:oy}M.a)x`i%{ޣrk蔎$oM4k귙h}93g> i#\L-k ,: ϼB} gV6/ickE )Q%5.pܱFZdw̿k sm 7F͑{#s|kܢ喯뫱nӼ8V> {'bHjkrW%ϓgWg/hQ7ڰu\P1[5,G2g.Xz>Q*:)CL_ImӾsA|dtob`q"41R h mt9LF~xsa05_1F|(SUlꔣdVs-_oW~&gBZ8mo"X vSlƆjgߛhfoY rv>ɇ5mhY/s ov`uf"~6/ߊa.jTW/2IIVW&t3IQqTMY,/խl!>TU癿{$0~6LRId*H"3\O4lZA5A)4|8H5D?ؕJ:Cij?xJm]>f/؞'#Ƅ)HoTP wꠋ[)գZ/'"MC#:ދ^*.6敖q CS˗a s+NKhqL}Qxb߷ЈEMNkak@pe$̾vn[g%cLxKBSլ[7L 4.|%C@*C`mW}dYzA3/@~aN:Dz(^-bB4"_9+;Yi7;27rJ`E)$˼@~ȉL]faOk躒Pw&Y9 N~ق=@\P~m 虙bcT: *P;R#峝^4_㴦d2Gq $āp,_W="A0KH RHJq8'dJA)3өF26[}tbs!"+VZLmN7ÝJ@v ]6NȫoC#B|B+(@םȗoT[L-p#!/bD^e.b˗"OtY7XϐQs>f+@Tz7ѬP.WxQʨ|Q#ܝGUKNdU_/fڝUaKhăDR.y*ԾR2 OHBlC~TM=*gǿ F]86L3vW#"eVՌKT1G!\|>+7$o-]4>Á :5&.+07tuf.5L׵ЂwFztn`{_J2TdlJpP(܆"m`jĮnVI^S9vʯ,{x /bUm&"W(stWUО־Dϝ -Gn'%=+ػȈ} )𭰸9C*VdDp O +*"e0h22:E݋6bMT4Uw'NQސ w HvҍOC9}qYb2*FiKa\s98Net2?idŬi`nc;]ԜVF% 7^%W܏#DF"!4 9v|%.iT՚Y5uw6y%K+7dQy 6U:W*qo~IBC(>pi~ s 4&z24Z[`~Nqx"^!lڏ8|V9/O |}6?acDOQgmb[ 숇Nb~"q7mc'"sJK3.UEo 7f~R;Z)7ht:+)uSK'/{4VuYm_U~38,io.}Mhɜ^ .R@„"Qً'x. aZPZ]c7T~т6 ̑Tɋނf?AuĬ [j ԽgGӽ%vjݽYQq{|n@7/Wy)2\ǀhXo>&?RL+&Qo{lO%ʘ:W?/l kI 񲈿 CiV$R7@?`;( fb}N sU|3i6ŜkH5p.5D W? l!~EԿxϏOWlۋmf|0*O7>:$E˥=:Mۉ&4ꖗ X\E8GQbr\1N N9#m(ȉpn? Yz-#/|?'.@mJij(5yfi;f겔zx=}5úMQrRŋܕfi}D8@Mp˝z"註킧.5;͠HW'8 xk۠\=8#rvp= AH0rr (- οSa4ұu*y1 u$=''xWNEH":ei*ڶ;"$pd($x:]u9Apca[z;ŵ@xnPSN~ֶ67fJo"3O9Kn/oK? {7u;ЍDp(ۍG"i7$?u;iCCGECxfb8}w\s Lr' Sy#US}YPAW}PlEy֣:Ȣc"c) D `_iCn2v4TXYE엂jqI?`܀zO.ٕ L2,ě,"I`xF%-!Z @&bQW8.̨5ƨ_nтJݹ/ܾd^' C.̓%9D,@13H+PY'`l43R<4\~AOhuhK9k9bS]o\a2eE<=MI_V@P a:*রE|'{F(Ha>mGGF,4\ T2 Ik4>oY),f D!=HQ۳ХaNݡQ 2q܎֩,m;@0_Z;n6eg<&vI ' 7L=BIlt[Q4; =5R{~J/ӹI>Fw%Q%s_$4ͯ>O\y=/+:9dZ pܞ\F }C\c 8qJ9.,x0&fUdT|e"1$1\VBhf4'z8f:E ` ԾqvͷIV):2}Jc  _ar4Bf]v]Ϯŭj|NXf=cYLr)+ĜK$p*VmSR1)\>vv\Þ3x`v- D{bH'22x6 =K ] 6cQy=}fI2/ R!寓ZV@) ֧TEz/<+z6 ̓Ba"sɿc72I)2'> M)-+nw볶')?8'8N?0NλϪ7nu`I3eG<`q[P1l sЬ"‰U8g~؅7TO|&˄AˁJ9 qq6" rf 5î{ jHI>`KC}ޖlT7|\|fkS4:atVv N&q4Q Ny<+|oS-{y*SA @z ӥQPuABR KDfV|5:8Eu}VОTŭh4#e>}u-+ 2gUWsx2g ̃o gZAi{ dFn< ?(M0lj S:F.:Uq=(t=4BC3w5/]X!QG;L#/Xi͙-)+D"9W/GسEP; =*Mۇǵ- ~y"V\ᚲ)p/{t\%pJ˪MU|o._7[wt Yh,mINn5}\9EWdT&< (TT+\uL7__wd\~uO 0C ~/=ósʳNn4}Fx(wB/ tBh!zFd{=L/4`κQP^hC۱z^ՌV!,=> g3= A:n-._/:vߵШ[Nz, L 8>]}&-LH:LQ8Ao2}K7+x(XX0fD͡dqE7p#"t* c[k TjwK" Cg fFVVR} i;9OlЙƘHX p~|ifuA?# [3ܵC$# S 'F:҂C4ڇo ~mUG0M1P? 5$ӤʁmxN'Fk"xR. ++D:<Eg#^e*fj8m)ʨo{ )d'Nv$/fsJ)xLJ1%1~" \k O} 抶L1-4Ty~D3ȸ$pK WY%C+^9 Ϣ3BԅQīPbԹ%cMEj0=x̭2D ( L G ^9ާ? J*, d8(! Ģ:"_/j6)ާӻN?l8NӀN{mH)qg%{4lF|bbY!v̂M?른:-ۚ hgiU (=?X'PS(4"uY0h#u3k؞Xyi =PC툣VɅ vFs=X2q0nw5/e ;2J+TZBY }}%)$ƍw8C]sxd&mW OGa4yl`BߢJ@ *ӵFNY{IUyV)nQeDE%-*UIr,h؏%r%aΪV V8coB<9 uӑm $ dFC7_5 *H-at26fcR;!{*BF$bEvm cNzCs)M4*D?tLX~ڹ̐=&Сp۳f@e2)ΠXԀ5]=d%(/#Ą$GnERx:%7{[9;S5|T]$Ykϯ-^VU9}g;T;|AZfyldsU;GmVv k?0iV U e2LNa*v+gP!(H[n*i<=DU`d |fnT>ksx!Njwx[te/3潤ߋ!-a"<_[o:D6IMdM ?|&;j;F5\Ң/H!d')WB[Vuū4:ȭF>h\B}_z;Lۘ:㹔Io=^?$hBgxL{lOsw7C#7 vrDo}7x>B%͞5hRh@2g=yhK?llX@@S) Զ Mɞ9iB!P }VN [ك!xXGuo(]Σ&͊#U6hO,1Tx =>;!M%Q>9톏%J#n4%GM"sכ+#3xTDɍ!dff\S%Oe/Ka; "!Uټ[lYx6FƐ vC+R.>۳0˶($sKU_1 UG͗x}ѡ㎵):@7pa1#' }HQ ?#f԰k4sO+4Bjj Gq1!Az ۦh]VnVTAbG5`*MMR=WC_7 %n16>lL4 qB|Lj*[$];hQX'[aM)q#,,s:Ǭ㙎gfe ;S٠6؟="R@+-:GirA+a^xH?4Vʠ@6נ,;}r@Ifs~7!)TW}FөZvRuJqc)LQzhED+ͪ!l-+ Kt&djGjYI")h{o5Z3rd#il$5\AYf-gڒDn/Jl' "z`*S+@,LESx!3;,u"-<@hQ nNet0pjG! BwCh$'hXLdgd,[Flt $3:}a0MzzJXY:$\{ׯL:||xNF1Q/unzdJ2 ѿs ֦Ы'hKpehy!^o95/uKeAkx39 ^RZ.w5ւ,vo#F^AfC-1,'~yf>Pc|d‚7?- G-c]J}$uEcM#l!ezA9!j *Ƚ{>( H :_#51G"C+۫4P-%mx#["\]s-UUpV1FygMD BYFz])jT&~W40@گױ./wNQv}C$] h- 3%=WB$"Deת<ĉ(E|SЂ { +uv'}+~x4}[af9iN%ȦjΪUSIS\&?.,%orn\ʃUaY=V}5`@${XD7WXhS厭7v5 (7\o@X)`f#ӶIIjoRH'~!iʋ~V<K-Q1[Ӄxhlɉ_$b͛ c;*.T$Q\pe5Tt.z3'LHFRt|l;A]f~5pI `}ؿQsF;%- 7M %aIR)(^y5hd,Mh_s*AHoEWo+a_D+D _T|=s ֿ_>ǰ{?fGԟŇc"M}{,.U SO8{EH˝↴s9E|~sR&rؒo~e:;#VmY{1r ;@#o}1g0˩GʫYWܽ6󃲩lbiZ.wfxr?"פULk@ D:PF/r?C$8 :mw k1 }\HtpzR;$f' ܩgIj MgP81ha17Ó|%hM=*T33]}h l)|0+?,uF86J޲ ,Yey99w+HN+Zf[X(3Eg Y)g5̔6EEF"HD$hP:q0FrhՁ0XZmvK {[z8˩M^ UJDrxHGMoа}ZTW` O|}Rod# Q@8( Dɫgq^Ɓ $̥l_<ѭcZJҮ.3n?nz\< >rfI;r<ֱ]yurރƞǏtC9)j Zˑ8mp4jϕDKw-qiTD[(z@8`аZOlfmXzL>x25LbII.\ZQNoh c$ئZz&W#yb𸩘Adѣ!f5v#{l+}BE2,#)H]]|" {g2.$9y"GpuZr1(uO?6-YV+n4waĉ"8#|45kWVw|dہp 8惓Z1̞lxm~XhI/6t577菢"ĥ؁:{qTT)y,1~DTgx$f]U1S9AzbP%+"\[/ Χ 䋊NuMwM>zZ (*L8S*C&6 Y;乐?Io$TpmPOajE;j6M 3S7`$.0*ǦqoS):K?jEOYi"zkb}IL%̀؂@ے 'х?77T;[ 2ɢB^jsfDgly5gv#UM-lc1w),:t Rϳlqe~ kvĵZ'zX .V]ü8b$PW,ң]Y몊ez~2Q7o R-W:ni.a,~B};$db8ZM~-k,B|] vUp疕>^WsN9Ts}.ܨdIOj \=. p籨湃?on$;*ɫ6j,Io^j0%ja ĒWC'-.˗7$!bާf *(\cR{$[LM'G] uI!MYUz' flL6,>~W9xVȇ܉ ]ݾ7JXY낽3ZtM\pKNrPp?N(vviU M wjz\k aB $e-0,669$J3_"oZG=ڻ 2J CM<4Ay]SDVܘeO!sw:ݡw8cG5ԓHOPxʝeJl q[B[y3^!ZM1cڍ9M[Q,Uju&sy)Lrn:1F'`Kb2U񕴴:JybhҺuH ZĉQNrKh '[,3@4Ac S,*Z9$yk-¶/mn%r,';|%sKէo\(=eyM ҰJPʼn<!b8Gj">^A>艟q_VKO_=Srk[4oz(3I݆Ŗ*fW88$JFzłwPmD]ppۭs<˗7~6'NLfEd.ce' %RxF9aܕQoW[!8hZwkm]K1W&?6f yԧRr`h÷Y&![ɛ|ya8TO=RX5T.U'x?^9v ]RQЬ8( O~r/?G1?Q+V؁AG .%>9rH/{Ⱦq-Gܠ<xWm dH@ MǗI!}D/Ui]6K*M +7su^cP6aC*ⲥfhc7os 13XS&49۠ϓwD{q!^8SD*PDbC.kCe#(brJ%⓽LEؿ)ּ'Ei}I ǜVNh<2b@$bNS ݳ1;C^YPR|MP 2!DdT ő.\~YGtD1(g&s'mEyDϟ :SlJRG̿io@QUI>l[_BNE*'V((j Pq (<`8NUBw>yĹn x|WNR@+o/d(A]]k~p7P A 8Ab1h5^ /ȏth0ZbፔAMpl{LMp{ &(%dayfLa-5d}-鳯iVXEļLN ]Oy=9:'_.k ^C5GV-%E~eGL*8"Gm (VTU GEr_MqVoM[Y7?sDF.1h :hW9]Ps4¾:8a"t$ ]*/hh{{U=%~v!`quG!;Ѝ;,?alC3 op`?0طffw1~0d>4GY ׫BzX©ׂ!(fre+-ꋼnj@@f-N"0Ew&j35SOZlw&Rd.K*\% z/Q0׾[7nЅQ\] Ed4~ҋ K&:)d\s yB{;gť O-\Ԗ72afӝXMZ 5>/ u.9vRȪK-!!o67HGQ!6jXIK9I[dƟ iSDI,%^*|w/.ҡ:[{\i˸UoWm~ *5m - 5#%~u˜եܥGm0 @}MR9AדH Ug5^Y]P4D#ݛxJلZ9+\,ҶzR5)4sX݉ <|˘g瀘fX)賆scӌV:1Tiy|@AH2bNCӔ^}܆)w?F>\qjGAQ.&$=dc*ƲF[an>ecfm/_׺y]k/Ihk '#'t+ i6gay(<`_N2ݏA^~7Hs\d<)~0xYT[z\OT_^Yƒj*dQŽET q ayiX2́{ dMyC[D՟$Ųrn. Xg' 6n<_оcSŘ\o>lD^}ߌF! ip6s8d8v"1g r)t͛Y4کcq+ez=> ( q0>+m5ΎjlCbθO]a!:c[TڳSx7GJ:?@ x͟άFwSRU+0νP:: ˨&9#,\Ajb=ې@Ոޭ}N0 |bf>=~ٝdŬw"3- OZi!&@ ED;0WVt`ڌyޜ9fIt:@|7m G`[aXYCCi[!)lx{bIZCN@GBX6z'88 ݀*Q%zh.VVTNӴ1@_ &wqU@'5ԫMkrOk5uy?"nųy1UrOx E > o=1J6Or(ͽ@+A( DL> Q`IpOF.wr'e jDUPC p:i^)el ͍$ͤ۽-&Nb'ܘXǯ2KLiNzLND+Oqİ=Y؟N +bE<lyuAZЯλ.+$tw o:X'[OٷLki]؅U뉴h8<&t+ En!:Ǜ[t&<WfU-/xX] Si۱)Olr3> &88`REˑ1GYHԔBҡĥDɥ͋ +sg ;``;ƥo_K t퇍IjR%p'!' ^4Q+|̸\A lUUɈ&T+Yݧ7X;5y;њAX-#sMr7gK Ldb&75gA(d1dD?e|S 2G:Dn w}@m>zDxAIKΈz 'D֧_{"# eFת-qe@di@KW!џuLPO$BD+No6mx0_Z,cBdx7he[\6o'T'f| 2"i+:g knY|#1sjVc5=ɞ蹒t_U @1g%i'`FETWC zZg-Pgt ʓ1Ce&;c ֞=+L|ǷZ8O8/T! Y{sRնD(MHAF׽Ich^WO8'}+,0]~{wO 'W"a?!+%M^%▿,6jҳf2U+T|~)_Rp9mT^DIڢĀuy \$p"X_.* :Fދ?i|5S[0n/J]V_d#0HJڋe<mU[c0!<`HvN7*'P}7{ QKw_Kx}?'ܑœVyn"֊]TmF_Aפ  ÿ H*wgfi"k(CdO- {2Mj}u,PezW/rh9uLnzy#s2{X$UVQ٣δ(2~r<1K%-Etюk~N@0P¸ebVg0 $pu$BڣC?,R[XVa/b"O@t@!N'@ن080 R ;# 9͍MM"4HdJ88>+ l%S'n>d'OCPzGwM rѧUrwE w0Bg ޸Y ɢoZu8ȁWYK@YFXVֈ,!nͽ'V̱n=%] X3v*RoE }Y-{}x۩l ^w[:M7ٱn7:'`Xٍ/g5(j!8ߑbas<-)_T,꺽?ty> "TyN2vijȳtD ԣjaTa2dPN#;C}zֶ3dE{MT>33s 7t IׁuQST`y7#p.zDIt~:įЖ+#b`f]qokM+bASK wBkwL Xβ3d(yN$_M謨s-MQb,)ك֛*m3G!"ԲWlhAǯrHQ$,%KiXT?LVv?VN}BD?(~)R)ݛ֭J7[̳l@?=r&!hcIF~ftx#O X$obG^ژ+2|$Z4q˦;XkD7 $qZx:ݼ6'+_Grʵn p)m+Q;w96Ñ; :烘羂x=$seJѮ'ސ'5镼؞$`! yI s:q[oX9pv)& j+69kUm4ˋR_Ső|+~ 8sOP e VР;6d >ܞ6Kâ^;Х|+Or@V=muCHn!$9bjK,Ť!uFC#:aK(ɏ))ecaMZOCIw#?CWިQc=#wsh-0f]w"pί f S$"av>4+7w$87x56O!%g Cr[ @m, q Fx*0I0IR l&vxw/) FL/?dc}K^i9HJߎӄLXI{i%~K4&a`^Y=^1LAxW`uy<%@i~D<|Z4)wbI^^ʹK;ک Ixvb[JHm !0J}l /Nom:4ջe%Rn(w0~Ց?POM`UWKVH{[zkh;9Gur`ZYx@TqN#Q:F6ф%A:WSK~u@ig'oCqyn{xVGYٵg(iOdQunȓS $i%NQӁ&ĉzYGq-nl[deܧK [~M+0Cw&/ 5Lxji$Z2=&c@kMk[~WPtJ~fqUc|Gy epXfȰ*4 cьɺ7oSifOn"ED3Q2zRRS?OAm]QX.vͪc; ;'X9jdb5 Fy՜JRu:ͺ} XĠ Oq44#^ByF+ڈϏR<.I qaĞ; E1%F,^Cꥐa#2 t%V[y %lz7^H5h7.XWrv=׍Q]TZJW×wkZ+%%0diƅ:^bRh㲏Pƺd?0o>s&뼡)>dg=(tV'X8+PQ!30GQK6^LlMinhɜl6 y[ C7rd ;2ͷ614긄'IFʋhϖ<[Q(2#7~;"XNd]v#3Ka$ɣY(:|>*^dQ~j?5}LG?\%uj lsוj{v^/]D6HӮƻ;ԲjVuTe4Zdu$ f?OKGlXJHef|P:KJ/maСA>8tokG&&Y`Y !H5G&Q,4p@55Ѽ<'?vtw fB ]gUpթsY (?9~+C< lɔ-)QԿsv'_w./XY] JAq{ded٫xm\w }hfG6ܸ.aO2ܭ("Gxt ?0I3,*<[l2*IB* LfZD.X7aٖna~D)Ν!ɜ)is=KNG9߼s1ўMXX_YCl1Hp?4"äJ$`m-%ɪE3[HOWGB]Ҕ_*vK\^_u#1|1u`/*i_}T:%ʸ8ԊƜx;ǡN,H*~BvdPLd3G$qպPF!1j8xfj| 9t0jS:|T Ŋ&gUMzJzf"Qw _?Fl7;.-^'1U* }9Fy{/Q{\[͡癨TJ]SYuMvUb̡YX[}Ng`^ВbS0"%,>gflU(7/iAu{KzAK^u !FlNNV7c$ WHB O۸(8-GWdd&U'#CO;7"V $԰2d!me 5vS]#>*=Ckyr X4sCݳaźA($H2VJ+UliY}g3]a4wKx dp}2On|k'00ckIZC:l&Q`7`t_h Uh2fݑxB{RU2U:vsIeloTyS&/Q(t9/*bGfwm;>(ηC`h_vZINWc}&u+4. o$DSH:Ύ=ۚŽkBVkj=q4\F֐5 Xg l=ˎǍ3#`amwX =dPaPw:|"yq[pCϫUj#H4OHlq]IS|?mksK[EQ3\h@6ƙ{NuA Q2k Ww y'O`oBe"Ƹ`1c 1z<d-Ov )KWҚu׻:aZ:MQyKu߸q >4?'@  |ٌWiFT3SԊ1E5RE-9E%}ʆ4S; GDקIAWM9&_ cDfKg ^YoE%}6ƝVMWZ`ρ<Cږj!4AX`Q( >/;IcmJc44ki8EH%mzuNQ uʰq^4z ^jFŇj"b[0.`ң8@T;kevF,A:17ǡcBkIGC;'.a6 V҇vGiF Kfl'a eӅОxћ{sa 2I͚AbQ)ޟUv5*EOj7O~- ƕ Z=QEE=QB0S3jrEF\BKԤw2>y߽Th1b.׻fe<ۏЈv5}1,/mwSZG HܒH,G^pfݹ "5i*G@hɿt?ŃDȳN/O]pFp INB"vq0Cᣅ\@_ԜǤ+0RC,טiYYHC"f|TjA.`W?8TvM68 gvy8Hȣ*0/Wuy/Q8:( Q܊ct/nUU~rK&Vr]}Q*uC͜6Ǜ F6uSGqbb'ΰ+&?  [?X8/t# ګ20G8w/4=:#8R0Ke2<'r5?+uipx#Myr??.3G͊ko|{ @mBߐcKtP簗i_o"[CEh09 k3|ZƔrK@zT JT N!zt 5H@YF D\m#ة^7xuҁT_Z|!OxQf ټմc?nm'< <11ゖp/X}џSNJ%mgB? hS͔ӧ= 9(U֥6]SBY*ٌa) g_-Zyn;o'>"#]^?uYwp? Gra/qtW#ȒJ[\fBhM:$}4auo~UX2qu,`D>)~N+HK O]'%%(`1>?r$E>GA2U龵z֡O&"dCa67rlh-=,CTe9lA߸fIcNM5>|艓quԖOJw7 e-p+#Sz>oz+O7$8r*g *NV ls[T>Š/r<ш]*mXc oAG*)U1'8!d6G (GŦsn >Aw9x{/kotQMm2Aa{VEN $MVR? *40%%_&ZmɺfLv&c-Ju;ٌ5U\}pM woM1V~=Q?ZԐZ9xSI齠2KT[ TnmhP >_u>,E,2 ]*w PӁ8ǝ.A  ZZ+P]1 )`Sw`Zd~my#kB)0"Jޜ7.Fɜ=VC:L#ˆb%cmu2QJa-6qՄ&#)Χǐg-F52д*LI8,A%/\vYDf6e/HY\+Vinb<+9/xGi(i "NE@NYpg WM|wN'v2-"yL$o6 D,:<ݽec>jO)]kskV[ Jŭ4S2KDCg(ӋJsċŊfA[..ш1_buHJ$ KgvOJMj+m~ ނ>u7,#暻1v\\B1NiP^{Z@j㖼ژi't5|%4& ԣ M"_\sy$p<$;Vy8:_]on^y ;%$E,XOH8nP=>qP<̨sRZNr#w;s)9m$/9ڬ. K(BVOVI('yYԪY L"?/%m^qlr'=(8i ɽ9@ a \G#it4#7L8w/ɡxh6mo'fm*kq9Zk~KCT@)#kR쇼_b-ua] RdUt1:Zv'@dCrZ3*ޭ% Y ],q@|Μ,R9еĀV1%S   A 9/)([!5wq؊nHC3n2<>Iy.#yh@ۉ9 sY,M(Mf4g{Q;țGLqQN-BPMy 4 d4kNCӃ':1B +Z-RbW2v2/NSSo}?"I,S=5׻喗.TTJs?@>f|T< P*a;1}ODS3Л$Y\4wu*AxUl!A,,{X M'$9+D 7*c`,dL_3[8ϷYt}`l:v!B-*/rp*|E0&GZ΍7sS%-sKLjkxZ3V5ܛe*%|w?}يҗLZ0i!^;{_OѬ 9H^dxJGKrUT7ͻ:?hlp4ث$"ݎR9[r1#@mv1&_ n`l -W{E[ʎGuhB['lf `MvTAX!'܂mMxffifg]L@fEr)f=r#p3`cjYh4|:!IX]Ҿٛ#;A3IsIv<Ը8MR%,RJXoH׹nn$c^[mV'(yUa Pjqf p݁"ewD,(_a 'g>w[p g:DBD`@74_|YR iZ0W(dNyh߾4ZumAd ӋڟU:>u{ K~@i[c%`KKssX6|hv%d7=d6bp>eLA܁{|U-6[mHn8"qau,Qm vMb7;km|%lTA;@yib:M-sCuӽe*{DO*WaRuѦg651Vۨ.?پ ΘSYOYEoѪht"g\"⚝gS;1$mrT1%. A޲xO!e+qq @Q2~<L֒AזTS^OpDh~iil[-<; '&6Km*inmDZ}giN\>AA^%k1?{]oapJdbKSL{v;WIsbŌK|uH@zQҳs\$ym_r DL*r8P|^.K΃ --GC?kn }},Dsa=(lpz[ @|)B-+>L15v|U7Cl 5r4IZ=Jf?ߞӭ[^{1ĭ!qr^^ٷ;[#@;m;T>/܈j#ܓ4 .&I]T)k$|z! a]6p@9GwU[֨$`)۵d@QysȑXuFlG 3[$S씰O7?c{+^JPM<33 #)١(#ݘzmT 3b눓C($ V4ũ9(MZi!M7`Q@ faDr1l THI`VͪM,'[\&%cw#Uޟ9/c3'Tv,UZzӘVIl2rȯOm2]Tr^*ĜEd2cHLb*N%} έeAP>9{LŷԜ3[ÙITLݬI$V4!G|%&g}p游^JӞuhy| 3{JS Pʰs:>?_)6V`f|RIZj3"RF&x Ԣ3iFi=.Xc(FIJ{qR ujLJ7'͘WDpzP =;*$pIf!@\{e"BL/5~d'%S߲iUn\?RNxEɋ45>"G)5:!Ҁ_sBbX<ǡ` [q$ ["`oZ3*~.x6T` g(bw "&G5*[#Y,Π= VGL^SV3C27 ?ͺl!+̻*M_xyOnZuRE}nNIKK/ml}+|ך"FmxRMJs@Od$H`$fcqhO&! kOB_bRjuP,s<>T*@,7/>esOe"[zߕb ,@N$?'RX4 ^z@5qVFڦR R+hyM% rPAL!6yF3RW>*j.J&Ə]}8C4]>%GHǗ=CĚtV(g *WiV!xG?@"9&ڐN;{RY4Y ~eQ/ҠrbʥÛ6y^$u^1I:ȡdS-b/֊@P&M:uBj_)=*ay,`TXB?QZq.hyfS#{[B/5_ .qDtA22`Yl2ka@GSŲɱg^{L/iZX (0 BV duGt\qR{+]xpSB2cH} v:()rrh@,2FtO"wT4n?.>{${?jV\v—ĸM tR&r,bհbȊK;ai!bg"wK,GuI7|Vxl̥gfD&"{E<+/Y;/|j%a%+$@3 b uv% n*ʙ|_iݙb+&'̽5-n_ډz#ݧ?î/%{kybW&? wf#o] "!v[w}j@ߵ9`q&]?zhG-nߝFn$b KGbWwĿ//*i*k6V3yot)}7OV]ђ4 }ɪ5z3#@eao۔-.am RrVp R3/za"?ܴb(VR)DUQ8zi <Fˬ"5};znPC8Kl =iZo8fa8U %&jWIEU%Z#aAPt[=_}ߠrWZG@vUtQ@W z47 k0F=EG4?o\D(Yt jظES}f3k<`d^u6‡٬^`E TGko/Uk׮ NtïIX ԓ-d'GbߎD;0etFG c&{AHRW%U]?MhZch*f T-fLމi3 f>[, "7 w{gQm+z|jqso҄4[u,=򪕧QT _kC<2+bz#~2+̃Jَ~i}U'Yol'4?/ZY6P=(ޜ1RGid;3.(ܨ =gPI5KBNs~0ѐȫz/b̶Àe Mvj(K"գU=2j +Uoɪ+{ǍP_r-s8ggVq X͝Ok<LWCQuVb#]_ bd:+}ŭ4:&IBQ}؁< DMErH#.1W?NlF+ZN1٩$gtIGsE4HXY8hB,|`?huvR~iQI$+i=.ԚL{G.w1C1ehu̽=Kd= efѫ{$º;k7 J%w3Woes  Oܞz(w>+dj Z٢˵xu):qbG0R_O@FBKL"ENE0J0Y}xWPJTY9lZ#lj"cuHӆb|TwZL&#yPsް0 4QAu| JvO\HL!` [vy-5vr,uCH$tu U"MwֶtM(o]&l*%G+2mpj% xUNr=XPFa IcF9d~E``:vEرj)ay+ ۯ6i[,^'ν5(=6 Ƣ)ʛog#K#1 *[hDQ=@aAB\"Gyis e>f]2IlՉ-sNhakwwbh2wP)=Tܽ]% +E1}Q^(C'? /"ڦ->T}^ U gmG&hro=eT0KTs4͈H$Ȗ(9v6*)ƞ.N^w$)DEvϿ_kI(UZ}7GRn3¡',[nJgUcjX(֊;iTSalް UymXjoZJ|`pkx̟}Olţl,/u+fȍe[ ТBCDGoJxD=*$&!هen OY\>yŤ(1ڛV2RT dHz<2:vWw#*/T4*^r"fTo2"l@k94dZƝePUi9g&l6B↴!: M#N`p NŀM]_ 6O*)Dq@J( tѦ^N!ݜ\bZd\[)cs΋Ѵf?d7Q8a_TpVrGˬNޫm(T E s[bDDcVW(avVld"G]= qyF8S~ο]zf{˲ƾۉsJR)Z~x p@NRTM]-_,k?#l/K/{*8[3"aڠ1sxOb7(xq7BO-LUG柚֯rmp ٘)vە zOɲg UQ$>a7A[H=CjLj C&3&-tQp):YZIt*R\D 2@o]x8/R!NRՉW" y3`Ԃ3X6Ĥp#yTYi\5[:np%Faô-A<ȅAam͇]Ux^8Nݖ!'JׯJ&-jI4D*}2EЧ^ހ#gkr"ӵEO*X@obJqI1^d@ ,RM7wY*ހ( 5]t> fT.OC r mźAĮ|b p]wtCra^jԄsRsOIo6'o4tf\MdT 7Jt| Ş4}/J|OQD71O-n^܇յ;]j3bPUoxRcH;畄._1? HǦUj;]z0TIT0%IpG.QJvU H 봊x92b: vБz:pn pAy{޽Ea`> C9J.i>LeVRyVJ;FpE]h=Q ?uiD=F(=N/&o[{Z +q*|_R. ,K܇[rձ4P" ҅GM7f j20hSǫ3;:?$ eF׸ 6bvg G#sK n:Xax,2L$nڡg$Dx\@#kܔ )tMPFV }T3VSȬIC\іi]u("UW.™CncGWSwuZ_]hnۃ1B@!4!1Ϳپ%l)BD6f&c0c4 o}ڱeUd=t1]"'m'F@%/7˜ !=0v-ȭ;2LKd.XϴwՕ<*aqm' ʽrMGZ/rF`?DzPȴց vMoq l{^.d܎Um4-A*r hLc^b|Txz[3Yڱm}uces?.u1bd/nbjd 3/oФB' ^VWJ: o `Sބowp60_J|wDpON~7p}ҁHg!H JQ¢RR4Eքo DQrh=4>NzX\XԱe>\F0UzE\GRb]r#!33,Kʗ͹?N@*LC§Z{C#X _Ҋۆ_Hl|%TyblS;> lwnmĪiK~ދqK#J.6_@%ZN["snWw9Pd//y#dfoל6j5 6~HUeU]1cawg˰-*scզIjr-TTSTaNNE(KD+ p@&E9[`R{ͶP U+5"e#K2BL(LX>uI׽C98ss˻쾯OeV7o5uKxԟ0*^ &5{m(^k*@[pK]hNU\4aB &[b+.ՊlxTyv2* 6(tYg -ȵAN wWraGحڇ~/0' :q뛄,];9hJE!+ bLϱϞ|a?(;酃1 cڥ&ڱC~hؚ@%92[Ղ$j˰ty 4=O,&ƒ %Z2kC{^j2w'*UX q9?즃#FS=R6-.9Ns,%Hu6PA; oIjMb烙ʸrsKlp+sZ>h*fpyKB՛voJfo%5#X&e}UͲnDƁ,PFlk˧Hs(hY jH҇S[tο\:1yp{CXȩLϕk\so-e)4pkuL{j>p{X&iN.3 Mщiu3=NImt+l0٢#(͍8Œ]3NFITNH:߅"#XPWy;SBĹW=x󦻏CK>T'b[h1AI- ]Tc w !viM<}jjF̕z^T[zKjTppx [Q&rpd$FkXoN5t"Ϳl)pÉ^l ^ÄD,Pc>NT8 :iԺ\JNQ#é H>Qw,ifA\ÂCMYrqӨ9=:?m{%p(P$LA:0IJֺׯ;Twz, oX)-ŗpjGi u=1$&&dJP?. 4R Ez {7Htխ蔳_ϫ3Uߔ{ 톴=Nbe>ʠt+0=ŭDV> U?qC3JZ[s[[#Գy-2MMZE M%(m~5D$|w;yS& @^F2xww7 -89GoN5TK -|u+4TmN-ԥ7BG{7=YdIVeR/}&cqIrk5QGCNf #*+e :iCޘE B<_z*%%蝪u z*:gI$γtHT8 |k@ˌrQ+=o3>x7A"ҧ1V. (<r^_ɤ8FQ 2eEKf0^f,l*KL9c6Q9YŻ\<0&e+ U mYԁ Q4U0d YU`߶#F |™vIEk؋XF:7ƪ{e2&2?˴ Ql:Moѽ܌EnwխԎIV*3ƮEb{a. (f'ٱL7AV5!d$~IzX.tض 0̵d vm8<[W/S*fHH/՞M@R{/˜uKM!C),  Poixeƹo4,?D#a+{ 8.!+ &xcDU:ha.'߅/_wIPNͲ\.M1QŢGZW[#|TЮxY^"wN]ؼN<];чre?]# טd>g,Ql|1`@4ވ*ݥGΑΈ/j<=)9R·u/܌h+7Em\C-qg͙дi"d!u\oX TGr<60n>x܈A)]22r\ T =nrfzvfqmđ>^G<6 ȃ`Fwu% GU",2C?b_\^J~"gK=vMgY#K < vاHoEE~5M ;'2f(h)~^ۛ$aaى~+l`)R[Gq'qk}n D~;RaXfh zZ|OB 2Eh?|lb|gV.u :: T+wMv<)A17o|URLa8jGlt{ .B{A8N= F [n2a\׀fEBjUx>,$mjNugU,o5nyw`ua]ܮlˎ/@ ,2cBpOgöҥ+A ܾ9H a|W;p^_GT(ǡ+rȂ` +YDƓ;~O~;Y~ܩn$YW&!,AI-^[ )R_yTOzn_.S&B̛at]1Ҁؘȳruk] h4GLb5N)jR ok@}<1&J~~ 8 qDkq/_{.6͸w8LNEPgH gEP#ݎPm6E)Ԫ`Do>>=TeCz{Ob!O_%B*"mʞo7 "=WBs=;Q漤 `IVw"K$ Eb 0ҝǩ~f{*!P*<c9w0MݧrOșKg0(AUKjmZ/ޚgw7t!ڲH9Qg:^78|DE S( B}!4IGt\.܆ jcR1xj煮=zA\.FlYVilgN16y"VwGB{2뻠Q`gt+仁> 0`4F;oٜĦNSDx-MI8乔PWiaԜSdJ߯C|Re4p^@pw_% k#7*Yq{rPTڇ3L.(4kbY,p7,G&uMCKQUt$2f #(M6&2Tx#JpN8Bu%1Mq7=XaZ^?b$fP!3E7 ~bik?]Թ&ל+Û b0D3wfvR~PKj.xӺC+>X~w!owz :Dҷ8 x zgJ #OB޹Э?ߕ—CN.KX(M9a)w@o0U0|,Nj(Kn|2 tn\eg{O|턀:kO!} ȏZu+죈Xݜ5C.׫dNrdTD`wųm16 { v*p 9:mē1MS#D֣7ʟG[|HΟevEXXϰy@|Y]YN(J^U>T?h8^6fK {Sy SzWeOΩmHq)]vf(Hъ bϜU)tR?=̾ +nD3MBC@!6˙?ظCmVl#<~c㰰]77[8ʦNa>z&(˖uideC5hH}# /奂Z謻Q"* 5I v;{16@.M \)߰V3d!}ЉSά95PX:t]~If'wA^ @ !5ㅤP16@#Jr .22Pط{ ׯMf n&{64L,5VWP-#XU_T|0kwsnGnZX RlwL,UY\c^ k3,r|p u" uqV_JҭCZϤrD?)a!d`XyX_O+ ~ `lrRHz:õT |6|JyԀG͕$m+<ZeLS*>j_ޕY 9o&3N#%IZ8b:i6z3IH#ahާ#eIr/Srmd,q[x#Tnc |;1r⼉f\6@N˟4r`Գ46䃷̩ǐ|Im<{i#,Ы}2+,+>vyVnղg΢pOI텩y( ^'HnktS &6OfTֳJ|l|{sW9W,q\ǹ~x"+Eh3=~ƚtnj,4+͵`>$q C ӹX"ˣKagH'Z]JTheӚ|-@2);fe ӕ[Eb 5.}a3eEvT5jJ]%M׾2N7O]iOם9|"\eBbB?]$gkĿg,d3KWDּtf;-ɶ^ICsަcP}SW^sf؛nؓ5!{wiVv*W D1DKH7OIH@nd+TZ[M=ʜ4 ;qxrwӤpBf+fn )IF`4pBxR$wNtѾ-2^ WC'rJ+7-BlzM NXN5(ټ*hwz͵[DY}ƈALȓد}u54utU?H.n{:!v%К}s1ePX&Ӵ^.vs8@X}k0ȑ1O9MF}D CYJ~cNZ:vxys+ g 怽B'Ӣ~ &&ɦV17cj &:?鸝+o JE@c٦ֿ| cl#cx9$+oJCBk䢓47'نHWo[_Y%GC Ygp0rdl۲,71~pENWCpdWXGoH!o&_ZSzX?h ^WqJ۲Ta%kC+dZ'>d@pö.6Ԙw=Hfy(&3hi-Q/܀p{DDTwk1J_{jlTZ 1(mtsgϘw׿gߨt=pxU EqQY7]FF̈́x, Ͼ.f(1BW-EK4JA7a+e`VM+I&.1)1=zS6f8IZͨKTĠ>őF է̤&zG+Q:G3PGQ~X??"S7a>Y^kSRk Y}+O\b"L_eϗN] 9 o!?'H3&VS!kb!ӓ ˗q)ʰMޤ"s>JӟNX 2;&>lC/ůFЍ^Er 4Da.J G^V/bՎ_.r+ڧ_#{(7XQ HN)T^]_{vo0Yu䝳=m{7\ɡ[z1UIec. uUlw1%mU+;FaiחĻ rYT~dڧQGDE}M 5^K`%2-)"!P ]J/Tac[TK* ɟ bLAun !*_Gwݘ*G]\\@vݧxLuYRp:f|rO`G7>囂^fL BZ~=MFx@4͔֨۸esezxpRH@ָK, V]>EJL{ v_,_H^g7ڢM=븻Co*+|hnt%ImiCg+u}m?1:uj@"a xJ&F_ZP<%||ok):k,1};|F IP( DY9ss<R<1,EU$] #bܻBiy7! "}G(p)0^=fF:g;{@!X6AQT Ƌ ;PyG zꖞ wȈ2R_l"Fwa0%w#FHT n2&K h?Y{[Iʸ$Ǒ4#8F>G/@Ǡ˜;UDYy9m51ɘ䗠Q4ِ?H&=z ?K1- 7s8$|m"0?2ЗȿW߾&$` !)9HIe<b}aO$ՉqlD:` Ygp+WGT(& !8z6@!oHb)3L*1pH{"#WeUBI@[YTJ71E4sJ4lO^^?;-s\"Ɋ]sg] ɶ )v(XDGFu_!!93b`Hg;,1,r\ !/NuCAEptBS0#tbѽ >ep0ᅝbI8l56M.Θ]1Euj%>a 2*)MF֏OY64q5ې&{;t|7@(*AzFŸg_ި$?pRY+eY_wÂ7+ }C.WsBaݽ{%oӹ ,>+1~/j )|OoKJF&÷[ q wJpT5si֋sM?kh @YmEQILqh15(՗Xhۃ>d)&B뿀|''%J'zh<ucH$cĞ >&C3 tE*>MS6z5k=IcW"#O;m%2D#Ȱ`ԔTxT>KAiq#H9܆t 2D(9B&b\kM(RN"ũ`M~^-zdwUFAdvGgۏ894+Lh <e*!=cHxwRvp3l[ZO fC].@2 \$Mr#̒ߕߔaz`HmK#;rǧ>.17"-[q*ԧVn  BU(] ,{JftCbB7}T' t|; Jk_hbtAvc ?c[fz\\ LVtԐ>2tE,?>A?tfY N)9*$T"4t{kpRʺEKu8쪻(ppxYH̘@&nr2qbCA[W0yGrXnJm6Iz Ε/=j/vw?E3/UAqY_"ThLdk'oD3 =k:+ R2`m2o&™Q5^{ l77xρbnV\8._zH%7 _ J:;]; S.<?{ !?]ފ{qPIyz# xD˦ &;RyJ& A</tȴ6T~(˙pIl҇.XGIka4=C퍇\3{2BU,i_3Y xH-'ۓ6y1?CRN*UfI@_#\@`;5J5ӋڊAh%ιSȦ6JOz[ /[3`":p*V02lP޼oLQ5jޏiwC, ̫ sLi9Zp]7E0 (용"GDVj~A͚(ѦC]xAN #GhOXi#v&r(ʹ)ږ 4B[ lyT@eYR9ei֝Hn|Qv3h8jc"ʒ# Ju&m>ǰM*KkqnX jGp|jhHuvpm{`OǺנ&Rҥ2 | O=tXim֑yhwQЛ~|HE hşvI1EVKl ̓范foXdMߞ5"7d ݑ"Jo0CqZMȵgi%FtaF67?$)yL9xr8&`40EyRm]PEW0ny1 \ $Kc1'KČtebd Odؽpm:Amz%ᶙyհaKс{]S؃^Y(Y !:cb .>5ݧF3sHsw):8.]bPpϤY-1- O &DۻU]mƅdm+jQP:7euI+J :f}h*o(CKg 8Q"SF[$RJ|{GXmymy< .qJc)$@zHqdu8PDk-H78`Lۂؔ"҉\W}R?u/dq9LF\~d4NMfTxHKnmljw!V&RK 6,#sokt Iomκw]$ۙs OJ K|NIJY:ο ZMOYB&ߎ6>d:25yEo=yevt{(}"yx@:(ywN{ #/X0XcC@{Խ7_b}76ۯӊm`"]ne7u$Dǁ-6il|ȉ|Ho7M! a:twA-? 9BZ%_AwMuaM&eݘGdO뚀%!|M9w7kĢٚ`$LbjY\>du$3EB˪2C)aa0t|#Men\v<:7_gU!"WN~9*/6m*a8)dsWA."ÔTG bc&|©: c2/qh(I -EC sX_w }3Ȇ`sg#ߑڔ\=:%,hj(ucsDP@̿O5z]x*7eVd?gW9W jC!м@n.5[,Lħۚ3 ;h#GAB?A*!KN@D̫P}"z 5p#6pӼj4pxjOl5ʼ^RZ-WXۯBgsHJ߯7罝DGѽTIE²bkw0؆fw+sHBrETC79qFkvPsBB78pe:/a)1Z=p1"UPȔV~ֻpKۣG4+5dPFnh{vXvrlr47 ޺93`8ݏ8Ư"! 9v@T /D 4KU*z2|x9;_e7IW۞ݥi@+PnR}b $.qJ)1 p)@ Qz߻IbJ䘴֜bxRD?'Fsn6(Κv8~v.;F-}mY )}lKw9y2l]N&w.TX[3Y]V0G{˚Xz[2\Z& W*s''M-1t̆}ˋp. Sԏawۇ`ze=fq4[[L~9䒖 9K]׉żFXYGp[i.xuM$+󇧔@ԛ7o0!-% 1q=)\~ZA{W%bQHV p3b4\P^tk/61z_*X_ |ut?x&WHhNǕٓ1K%&X ;' ̞ 7qX8XPn'ubr@y Y֬ط)Y[T\tzE~0Ȋ7uƗϒ\;^P7":q\ÄjSPg?UL .u*ͤXy(z!F7p 8]yoWFY-cC3&;=^* H:Wj?DWݾn['kOed/!(سfr5yyApuxe󳬤"}Z[G%V)+` ~kv Mⷘl/6R24"YsvUԎӮ[6@m^ Xi |9ȄFJG' ڗ TA(rg @-U YPdbVNCs9>&ȿWY`uMs[#]'ʤ&k =n드;ӂSJXҌ`S?}F bڵcSsd60NA-am$VCǼ\"YFXRɐm,:Ps2{)7WCLNEt  p-b"?A⪕JWz_堠ߌq o*H8n>!xrѶb6uB 츴*|6,4Yɖ{Xz&FV'^j7C2GZ{I&lƮ3^ZtoH1LxXUtrq> _ZH8F)e$wnbxmA}(nZxGO M[p>_fi,j |> UDW_`1]4Ylql@妛5oL0#F+]JNh!m:"]<^dt{Wt703XE65@Vqh#%x |ɬu^37O[l3'QwRώt?Ĩ{ѝTRh zWT$ !ads)sZ].qɀL*"νHqʈwų}Vi=t>VDcwzw."Q;<#$o4x?5HKTR)ʄg9YcL^vXi ^W*ĖLAVF8Eh-s@gM²(u8ʄl%؜p?A~od܆οMpT% u89މ>wv&n>ؐQ:XoMӖ@Qa*QG'_ xp+nƊHpJ+Ge4pd9Z@|'z8Fm_QCT64l(୨4[e/:sS'"-hGa8V]_D?,g8pܔ=aULhЇh٢i·i;{^δ:_\j RV2zh+|{VxwI[s &'sHpq=ᅼ|6`j&mAVZ!R냈,hV3dw1@k"甙US7Y6bt|_?!cK=>1|&>@'5MT`Gw:z*h`^ M9|:$QDd[ETx`]#Qe5 krup!S (Pc fb%M$CUC;xcB~۵(3J6 zBѿ .geg\N9ȹ;H`7Hv:c/fy"$e|\W@6Fq `kSV _SGz{_ ``;P_)MYuN1wjAؔ /eF-I62M ɹ_鳴\;Wdb{]!bdžGc/%QNd,pڍ8SمO a&M?8 RBG*sT:%iiTe+_3; a܅25]sP[N|,0}и2 '&4Jr#&kJ^4?3F ۔mթnEw$‹۬>, WR4V^qxMK[9/0u?bC1=0ywMC'Et|Ў&-F lيʚȍ=gS'`[!6RDFX'>*>ӞZ CQ>H-aXpZl85"sCZ߉+*רMN6_q枯.&h"S ^8nI𹱲A93`GSb雖cYk`X5(뷵"jܿ`"2GTbUP(Tl]~Ş{kOJ#烳ng8JMz9YDC FRlLcD{kOO߮=JLSȂ=;5z[)xqC-nP*!,miLO#M,Cφtǻ7^;2=.#D$xdJ^5:knbOe{%SLUk)f_Z dXL%D'2"DxZ3 lh@js&ьPB} ig;^ C]pwĆZ|=R%A ?G;'|VUCL]u:(iIu0S4|g()Dj iJe+ $")0{Q~=迃.|F\$D=ӟMv3eлA̔>vOR ]wN\H}3O;@o/|<+Bn`'nk/>j?}\ ڪ֪ )u7Ju5aQzyOT~%(:^1\2=La.0 ]&5{zumRXao޾%sH>c[GQ-nVz0\,ڏ\@ YƅG%tm0D An}$==6q 0C f(ƭ_dJ:M5_#42V `eU>]Q]7J!#?u> E{4U<ɱ?S}=a^npjI`c\gX$V뿅Ўکh=tl!.n#4uDΓ h-{R`}\]tab صE^Wek$)J|[us'7΁G8RZ[; uԎYm,s%zwf@~ohX(8)v'5ᩚ\LIIeTtXХa;2#,=>mߛu6.ʎo9 _6lrzHAUVy ͭ5qJh8_ڳH_|ԁWР2,<-G19|Naܖ h'jfH.&`^uwg. 3_ЩCkvJ#`x5  jc؂9guf^MdgHv_?S 1HzQTS9m3FR֭) &3wy9?\I|˜΄j1a!eyDLH Qm曤dExU-ճYu ˌ鉉 XԾUѝQhMi:лėKkDWW*k_ 4r]#~*K ?y$O фuJypB,:єU(E((JFkQg2">xqԇ|C? #Z4kͭ YO!"U66u)Vb9>QA$z]4l2sxAYaձ93G {}H! rH^f%CTQUJA3pnbJ@BN . *юs]Ebǃ*v{Xj=@PPc}zR1AErYݕ)9`Qf"h TUm- jƑK8,ۅ=jF{v 4l\QJ|޻R TG^NґgC,f̬^PE^BR#|B 9?Jq?'[̔F/x&wze54X;؁iX!vhCHƼ"6T<J]S3pbQ68 k|e) Zx3C]!q+Xi20:wq'ϛQPȋ79pG :˯G}!Oe8,8Q$%-g,^/%ۻfH!5>0zmC?g_2c} 8 2_рD1 Kw"w%F% I .t0Y_'^Nt͙ T`&ˁZI`e/g3s4<|U%Y OE}\kQR R<;lI.EHꣽUhQZ!ԕR/aXX#\ Q` ݆jTP ?p̜ .ġ@E=s((t1mgψ @c"n;Ԅ]_wGVw Pl# i7Cl}1H6%mf.y K,5OLOxA@ػџH,+D=ާ,wɝvhUt]8{KM3">b ̭mIDzzwb&M:#vCjKPk3EC7PZTq:#i6YFX{"̚{:Or'Ir(YX&G9rm^GиX y&.M!y.+]K4꾽 Cg%1bebZQ^Z]`f Ob:ħ 6if9-4!qF}{nzy_ :Lpēǯ{WFڽ"k#Sq>jfɪDlt5XZRFĞ63~^Te-*&jʺD tLBp}b }xm؃?%k(qփ37dYTp,{f>NfydNf`k܃Rz(M=Cq5d"1k6s=9kTaXD\HǺf cY2I0)'iYV6~M:ԝ`sG~m'scJvb+zAj`RGn[oiKF=@F!|(a_>tjc 4%\ڝ>hEim_,{jbfB$ʐ+ Img8-~1-m+[N捷6%H֞fRth)%xe1)k#33.UUw%#_$PQ4.3V~>Y!f'{hm Qᮨ1oȪ)fY[$x#ԁYŇO;gNyF58=$tdWU@, <TqkXRV}98 &:`_]l׫[lݧUٔƈpZ|1$k߼%20>O'$A:`VP\*$#'EM+!Kɐv\ ԘG6a]V -qFseD\j9& ߕԬM'F^&{(-ao3j@?"Mɪ SWCRCZbK?z ɷDf Ͱ҇W& \A`fbAJƟ"<*+5b%x4I,u%vS )GĆ!cTLxsNKIYT)-ã~fWRmЎ5Wɝ>mHaJ,k]Vَ- vZNS42l|:dgE.S-=5 P݅0eT ^$Xv<13jfrP.uN/76бvY#oYOtnNk;Hԛ2DM%Qb*T. MKk Z1 w >rQwζ!et_YnvYe y3By7["{a?݃}ZnC?2rSSweS󛵎kLd3K 4 "\YqN3{i,+%~ :P|WZ;@c!rH%F "g*DH-g~<4u櫘h_.p7Ҥcp@$j&aܧ6tz_nvfEzb$ff3&zup)lJjep\2љ)Cn:~`wF(|K2?}J5m\ bЦ~+bbZ F"(͛&a%6/Gw nr cSN4z&^*0ӲPGN[,PG$b($_%4%A4 9]ek>}ؐ;d ,zbk58U-m 4K[`|lӃ-i*8nv3I=lǏ9cGQEXӁTnD2+4b9-Q`qSFG"MȌ#3/>k 醥TCe3*NSthQ#]v":;+B ]ɑvk4gPć6~R)wЯ-'`H[O/DcV$,Ui 0io1=h\wo1VBV!/x%%t{ŢЭ],m u |ǚNԔ4}g/y\g R`U/rZ[F.h&dSK{a)#;rMmdɨF$rkk5U?hs͞ ρK?h/ Xi0o%j㧀(P3Z臣[#,"h<ߗ:otf2I½&ϯ>PAGMW'րn<SI2)ݜ DqGat=<:D1+8mg*䞢+5;Fwh%M{e]=J1TyV[h׵>ܴqTV˖,ۧ(Fʋe *JFWpg=RfY &9þ_Mqxz+KB|N5yk2$j65F؊?&(R?P(`j 7QsQB:u]_ =B~7OGW_ێ @>Bڿ,~@i2;Xo0~gi q *d}^`0^sx;:l7ل\rxB6$,yLTt] 93Xu$ri#ƌuloue#`\%&3^VE3506-ZQz>NyTQ@--ja[;83c~E+0RVGu)y;&60QL|M4xuRbV0Nu:9;ڈ?PϷo\],H\<,aY9~OъTr <6k|w.A;C~7ҪQpVJNJP(`ԗOPG|ʑɑ˫8lfS:VؿFLѝ]jYYqPv7zk 3j1YqqP m8 `Xf-+u)!C]DUb)4*UBچY TbVFU%x v[O\6WC5KT$F#+͡Y^7Yg4?M?V+uN*{(F->t.!#LLx:֥^ՠPoK<;лV3bSޟ !qr䄪nDT.kKν rNv#˞LA!)(f,[mђ$Zzc(MFWGb! =lI}D#7sV.¬+#"o?fл,ɲ%y8hCNBڒ0[ulι1(pq* uN@B-sb@o`#zeW8s9;PcD{wڧ Oϻx.llˠ!n6cʏ^gUK;~;^tqC:FZ@PҼ~r+zg;4GۡO@l)s! c~zLb ⓭7{߳t<[3Yi#Y·M< pP M%djlnL?[;a!$Ezh(m JŞn^!VIKueb+v*hB!HiZgEVO^P[ ?RS8/=<'r](Í>iJ#M1@fn[0*p,pS_}koPI4"e+FAK@8?/FE!K  VU3ru%Hg>}Sh㱪X_-;<*z$1Ma[< E Tb\DSwEЌxErA\_go1 |GֱD޼>5'6'c|'e˖i<?8 &m5 MP{fzhBjtFN[[GHtŖυߌNַciiRoYK[_bu/s"^wPg+ź窈R]'  lnGt26> |vsM[7]]ڌg9MȅДYOAQWx"pN64tyJ_I@?E^ urU):/0"ݟoNGڙ9;oZy8}c% TDsyî󐅃;!OgdT:tӷ 0:Rׁ8PYv=jsҷWЂq.U'kx\ τ+0콵Nځ>/w+.ʴc4z'['+dp 9EL0O*FXU6Pr#͸:_..mpӔ*Dk3av, QApc;k5dǢ1BOy NŐh<,KձӇE (FX5Vf 72=|bnN/o.C^s{O0B"b W0vloH/J_׭lܗ@Sz|>ŒSA&MZ{ GsͭiA=G!T=xR͍_!;@lҍrd[ ^{wwbCcxEh I|dC0BzJǚg,9?y6J`͇=Ljg6o]"ǎIoxۋa*v3/duןsDpEi:Wׄ/_/eZ\-7~(}(&~ʫЫq&nFWSHӰ*\g #A8i7PVU-<8TިiAN$i޸"`VRM=ˎM ῎_0l8+\祖@߶Rs:Ad%"Nl)GdMw_4C?|3L-&ꖓؙP&%&! $#kl*J퀚zm91e$<7]ְA:W-LMQ(z~ӱozMjxW\AMHRw~0ƙ6EnE6{+ysx I/!0ѵ)9AL Yyϙi=p˥|8Zi?, l#A@용efM,R#|nM]i03\X{f#CI]~{V~|j>+ !6)=Q}IӋ鰴\`"$ f^H -ʡ&{T0%KۑX6"wKsX]mD 'ݫ ʧRC8x8a[aLݝÄkjȸBK]m/6rR"04OT{Z"CʓrNrtIQBVp 6Ɯy&V鱷zqsRk)6`5&0K^iUSݓd)?g4j45S-nsd68Ew*" BUsu)c1->c'd"l4%Vt2.1޽^vI }tJp! P9)q ,$+ӪU`:Uo>d`G=O?ML7m̕3h`Dqi,Ƶ,a?UJ&Wv{=DJIFt^0gҩyC9  ǃRLx_;(+qY x޵V\sF8] +-|6&!V^˄#/궗6zQB!`z';Bmakt 4"FQXYˉʏ87H!`#5*^đVlxQiM{<̈́ÊnƷ}ʍfE·MGO$i5ֱ6&9{TM.lZؑ ^'=uH zjUU>Y ]Ƙqlb~}UH}rMk͉bFS.4O{[pmLO??=bcRЌN ]D,,@]i)hC \b‹s19$2 _Й![m:: 0H4w2Jnxm1jg*NK@ޥߺ:i̴ ˵t]\67R&Bۨ TVbƀL iG>OV |Ì693 Wus,WCRb9 ZZٺ5JA@R) #l$.I:_/#ò H)r){53wu.\X[lVl 7[%=IzSAŒ<y>L԰iRN}n:@ӗ{twZjA)"?tP5tW{Kk9QKA, VF&yDYvd]m_eBJT]wTYHX\u%d\j#{c*3c?_NQZer S+0f=S>*WAk}j#oqt#2|!*\8*0P4uM]}Uvp,b,I]$+ȩIE"+㏑ gr B6&~4`$!ٽ^,FJ|x>?`6g 92y@(T`A m\_Ѽ聕c$'r lV-GBr8f'Q&pE2 Zm*c6 -LzJchOLJM}Oމn}Ff9V hnMe 1;ԭ=5XIa5 [ T(3Pbuw;z~&0g{3^K˽]DzeԞ)%"q:oBkR+<xguN`{X$bD}+è$,Nj0a][ͦ?Լ."OiF{;֙qF(KyMˁ #G$_oE?0]QqQoP f1{hԻ/207 8PE " mJwyh4I0 ! ',wuNmi/^0d#fǰ %\ΆV3}M|瓮z*l.2MʹY YS:-bJ\@.,#EJIďU'If]fm6-簌  ^M LMyN\~twXnYiPŏW+mȍjfDꎄ42X-|Wz/>Ad/aBYv@| Lpd:.oӝǸ]Q/g%%PÀZ$ѮW[~x?/塁GՖ}2}:r9EЋ@*ѐh EGSr#"= \:=sgp("Gro)rPchЂ[3HIYm}&$z|o]fm !h9"2_0#P5\Il|N3yM16ltěF #`*Dvj=2Gp/7{RܐhڎuK\`E:ѝc‚w6 Că6H $X9>#Nln̚dȳ0uYx( "BE&w2_~v)["r=H䍣0tLr'XP෺QL&kdxZndE%l}Ǯ$bK[?J v):t.vvZZa<Mظr0T`H޽ܜ0]ǭiQd(2;&`sɰ{JD$JK'3᠕lYw;O(0ld%;$[>mx#K/¥H)]W) }ao{Sd%ִγv8N'>1Թ JR]^wիۘ{ʉG9lL_2>[*rb$3 ݫp۩. @{π1gܸ6!5OP,D:nJz9I|CX.-v# TݏRbb1z07z\$z42s[~[@90kZ޻_KݬsxVؙ2ZNՌX!;Q(pC um2-Hf?#_nMmgzCJRyb zm6nNpv>8>XwjmxX $!c$~~atNp Q3rXK==6R{5v.vC>4%WCc1oӕY.j.FRP~gg ]YoJsoфWۋt1q&Zp6&mH_-e^=#9}v] _XX]?$(ܫ,ľU`,|hQÉ9/>;4BU/@1j5!VDQ!9oM !q̌| U7GnkM0\6|APA*{jhmoJL1Hsh/ v_!\w;F+7ŢqLjeϙ@marf7aàͭ~I0徧Eᛵϔ~Y ?T% U;{֞OfJ9"r$dpEådoȱ>a`UB䕤)nQ!Ã-QU=F1#MX6, 7jqnaUu_ "w, I1hp=k4aU{ulHrOڦ.[׏|.m+apqfB7|QSQ]ߙqG du 0 %]Cr5M4|bE URtHLuM{_zǣ{YފYܢ<A=41AHAHLp^t{wMiR+z1uRa_/hha&& 'Ėa97m>PwKK?ߏKMIMXN,pcP7ؿOp͍嶯B@xGA}/~KUC8˩G*S3POWh)U\`f}P$/L.2=u*&UtqUmѰBXUMA Ks l[; *ďU'G#0d'ޔ8&I(K^REbtYKM;bB7+'F$XL҂yDj Kg#dBƮgJ1k?aoHȪf|CXt?e#q9Dsjʀ& < h'jϥуB25?z\ 1jv֫TO^2>YuTup%^+66i??IEAB8P)T2F{M6r;f+0=v'Ĕ[mU\_mH]lP@AHr*u:P{37mo/[UdhZ'efyJ_?ݭt53H4C_( j-3š$؞2y!b;'RP;Y8`Z#$)ZMwrDO0ە_ N VO:1-%7>:& =S3tcfR A},>hQ:FN/z*SI :p'&[}k?JZnSU]󀷖!IN9ՎJZo ~HppG6.%[ 32VN ~4bTg`ţ`ۡP-~'asn =@d\Rm ‡#~9_їBR\6:T@^P_J 탬ak]y*ڥ.4Z2 62؆XW(]ɖO'iva2^-:17 5.;57}n&tGwL:DCv8!H4|yfCγ7Icz:-Jݼ4׃oj>i5MygbyZk)Q~E#S? hTwSWɖVQ)Cxv#S)Po]y.8:% 8mMPV(._ ~㲊w][bMZ&1E^/,2p4]^=k4Mꌞ2XXk!'~T|QEQZr: `Ryo<abq:mU[%%qya6iil"@dW]A˸͆68@$g5Vl(y5T DztjEt5CP g>1ڂOoRCJ2*W@5/~lT՜>܋#?`$Z8j$M*[\{H~GE]@7B:cпF&ppY>EHԼV8*D{(0 s1&P U,;B}yyfNtOMګr5c'ZE;D/r{Y B46_Ø^ОJwphqêBddy4D}.+khC t础O7E:*eWKD͂ώ"Qh+.[ljlMך^r,07N#<("ǧ|6NUY$}B\ŌF@ځC2珠w  }21*]+(5ݓ_X %yeJWT읏È90"Q 5X h^R<2YD`iInrY!IXR'iwJ;tLy$K)_;@ ].~s:EM~ᵫD˅4I-T$'xmSQm1lʢ@o7/pZ;W`URUAC_ExNN=#Dڇ_.#ײח-L t`. *wM1k+. FF 5;P8_R 7srM!鎓߇"˅їF[_£Nw]zTYG;sp?{IR{ O;/ 28MJ6@YI@h-SJ c/d0 p@ }pe -_̐#֓ъ8Nr8?B W2gE k>gj;IUT0hRRw!1[JE:Tcyr/bÙweܧn3ykmp/E- Ea LPơdaUk-6rБֈ @oeWG5Pi}S~x78W_*f(plxeP+eg!偯c]ZA!w-ju4|J s*/ݵ)A ~N#-vL2zEǐseZsD׉z۳2z=l0IKo+1WVpڪ.ջǾ曕&ߧ4N4HaW5+X4ZʷڸGB_bU'_=\}\ WI S~6.q-p"5Ep3q}4(CԀC:wj$q=UlZ& k4^y6תT#Wޗk{4>=r?MyZTF9k@ZG(y-_b Q@TiҵK4󵇑OGS =479wli:' ., ]֘:Tt*}AN݅}{E)Bv^hvU| ighR˯VZsl̚]VQvw3N(^6`^%4s!i sF 1`;LWa,j%pHQZ-z(4R69z_ 5kyuzw#3jlDk}jݿ>.~kV'!*3'|_mQd,/鐞D /85Z F=(F*#;|!nv^n !rK$v!N ܪ/M6SfL֝Z+^U1$Fg +ʻZ[aAKROGkl3*,;Jfb.V̙m?35ǷdR[Jq-aпxZngR1Bd Bk)! G%s;pp,ڍ_۽>N]UvP'2IV d/q9pu(F͕wz-ј$AĹ7$I,ҝ# pBJ-݌Bd>{v4p>IۋgEZSN?쇵̴`nR5;w3.)G$G FR,`1-R ޱaJg6+mRUW9އa*"g0ۣ3˧9n.T?$ABi [0 "D Q+LSl w!*Q..L컲ir-[)ZnjN3dTR*T,@kH.? WnG{X=8B_0/xaP< XR Q/E6wFwNΚ[sIBOЏsCRV!G#FM b?RSpPmkDcs1D+Yd`"*2H W%!!􍡉BsukKYWrHY6c=I@`|f BZ-6Om~F־+ NN+]*X1(8#HӍKeR'F*Xk!wF{{p*c =`z ;FGvmuTJa Ў-%PFPaE.ݗLLkD_d".4dT_SV*W"~mvfc{CgY1_P'IjI$BתW=m;嶕5MKOf]A:W]w2sݺHdkiB\nɠ͔ L~0k F bևaH7 ٵ̐R $WqP~$U0dCeÐ4.xi@P?]=NRUNȿah uX&~z^R`e*d t)F.{9rV^U&w ufm[4t*$}sXҬg|_&)+F]Ukg a;Dר2q$ ]„0Zv`@t ~ /xi,pA_3,Ah[CcU9#e7[^I*p/X]v?/ԮnrKtWO!D%+%yGt)6Zr#ϏTZ?J$/dVzZj~6b%Ǥsl62aӏ/\y%y|zLt)OkhP-k~%?}DLi#ڜO*q^SV|~ڹKjqOjdILV=86ߥ<pˆpP]8j Ҭ;۸҈vʬ' K4ݚ쿈snbP".PLU*W]<08 Cu[b`3155uR yO5|4?g_8(@cavuI2#kJI<(Lf^(g/>faEQMlO8чD֛$hC: SȴfeyQݖSͅe;KرMxExh!Γ 8xXoN W֮Ҁ,75cY,U`s;j a5N5 Է9k դ 3Ta8 #7l:ޯ*ݛ55 vp.@O19:S?u_&^)exh-ʽ$0߆I9"ZА-b $&m&ҼkZ9cr Yi6i;CgD93C=M)C YpTaf(3f̐rt4y)f%)8JUl]Yrk\I;s4}ek8 @1f)3,}+hK=(T 0dSs ^H<[Xj>XTy[7){Qv:]h~"+42G k|v-Xo2LQܣ!llqm@;7;od!yˌpClF?}4Sp; dKx`,eV2eo]D|%х曉g3n@;0 <薣GVw e"r]+I! ݬhuf fdž 8iU7mue5zB]JխQQѼ+لK VCU|q( j.vxʄ1sϫ~OK<jA|"F] OUt{y#UJrpLB3ˢ;*Ob%5y ͡'Q><,1SSԂE`ηnsc]aYo(EbL~Y!Vʘ ɴT ^/K'L$UóI[BU6<#V'r)) UQ` 7#PG)r(`. ` vB2zpy<kQS"39 նS&W)mye@1GeCZ \>@ x^h,ؾr -xۻ>'Rf73&s=MH6P`~i=F"h[bRѡJz"7x(T3Hfi6;o` Y7TP0pMI]s*A=*B1"r "U U lmt p,Sr'k3Q \`+go'㿠͔d(9>VwFN"I-2I\ \ԦX,j6 R! O c%ⱡ=`CC~~mhq})W\>\v&B)EvsE2gF9or_;tM( d`)pa͜OǦcⶳİ;Z|Svy zw- ߱`61 1|twu)u(N 0-WXF~K̸؞3 ?*6ܞ5F[T jQ૥Y_7Qp-!,' jh Cҭ!x`4zhmc#|X/~ݷWzlpۂJڍ?n.m02Kz40Th-8NGչf'F_0j?g$1 /D\OlR(<}dnXEJEfbPGd1hךT`3.qVbD>~#`]bCu"gskRkAMz&yQ~ YTDQϓ!q?/ ԦAV@z yϓH*l% ,xwb)66xlIA4N|;-z{WLlݑյd G84p1G1N뭌L/Mj. L3\c-"K_]X($TEKFQҺMVES=wZ0G0 7V"ESEu,FVk\A?&D}_} R:[h\T8~gbgSPG u/("|eo i]LrE签N k珐r7,UU2?a-n5%埑}2 2XyI)[b0SۺÚM#؈uց wGh† mq Ud#Hnz" lgՉK~2O՟f<hnҤ,cmoExU:ul/KJBs0|SH@ȖCA|t]y3DB'Y#/ Wl'ZH0. OLP$y[$OQjN:O_..>ڨ̬PlВ"#U IKBָٜr}U)d}R{]%+TR:ٶD`m4Z lQєGfAX+>U#Xil~:MTՀus|L90O'PfkiMA5q1aK# C{NU2pԙbv x45_!Ix#̻B^ ]!Wk*DSם]F I *I*D޿D_҉T0KP!;C @e>N  KwpbYtAa!yPd*JD5N\LV]`|Gě""|qsy&~ͥ KhYLIc67r/ ((94|=6>w` iZU4ǒ*ˬ+d̍nv(d[ s w1W9ޥH=xke-G}KC}FjʓasD)m_  S8u/oV*@8k/G6EY9*u;(FnZ~ ̊Ɂy "3 X6[& ]\&rdBg&UgIpӚЀIC\|YoMR%E; rF[ 81L.KX1\ .KQP $ g"™';IlIp8}:W~slzFg ,MkmY'o'<_&{9G =$۫oFUf_OgW5'>Q+Qt4t/L-Y6}Dy8 \Gi>a V8 6eShA3*ȲNhKcUMnm!h*Uw`.G,ĉ, Ioc,ҖԽE= RGw'<DžO%3v$Che}1c|10THJL7o Cw+\ܫqCzcOޖeZJY:[,)`{v\p;餗iǦ?wh!#8vʲ%6 Ƙ YIxDhÈy3'5ǘalP1JDu;Rix wfSE~X]D\K*۠ch&'vQ?GSG`:xs@خHf 3S>fHT >}zv!#bbᾡHⷼ!D9׏EFf O}ig[B5PnBxfEEWc9Eq _;#yEj co9Umr&\1E*e|V߂k+tg yWY;UU82w^FM_o_~Lp &{zŌ%9rzjFM*4/}jNymI0.X+ 11'JVoA BN,MF 1j ɷh1lpAuQoq?Ͳ j Qq'r~D|s5#ƃS+^{,^K;jD\5lZNp"TChW22S(A8{?u~K\NhNOav:4l`[hJἻM:)jꮫ՗1Z  9ZͼQ/TF(#UOھ3AKS+a% 0G:$gcB]FqFsr'I/5bl۶=jI`"Q( ##:#7Ȣ=v%|㍄qO*eߣ=5Oo]a| HG`nedE9\ʑCpu`22cU Rn NYw,I J;k Ue<]vkO1OXϳM3뫌`:ϮLi+rhsFEzCzz<$XI+ |֦Ih%Bal{i-~޾ /Kbԛdngt&>5w}v $|sT qA)QZl5@eePşeOљ.oX'a=Q#1!l5\daԶaގ^}~_ 6C"3Rf$e:Tݱ|rFIw#4!\bVWVھxơ\0@j vA 7iRŏMey+b- eE77ʰ|l;;a=T~ c+0 6$.ua'g%M6ςk'NZ鑱!"EJ.x;'d? y^_؜=w7UiH6O 82+! F)w?_aj:fi*AsQ}1'C9 \p0YqCv  SC;Ҩ;P4U+*28$E5Н@*s$= bPba816>ªurIσKXN੘;ݜܺY)>WY6gz;MΙM?[*]p>STQ+&c]%xta {rTؚLc{)"˯_SM55)ڎP!5 $yHyX`f 7C(e1(|#FGr}Oyj?SݝÿE $vQmf.Ǩԓ)oy|"&ij6+jڡζuZ]*GLG*B~L5 0o2;Yy9f#BeO|#az_at4fw&TTĠjV?kV1B-yMb)/y!A=7:)TvH5镤bkPIW /OBԭ҂Z. HQ:UWu(P_X27&3樾mmC A'6J9\a6"Hd3؛Ri%9BF{T7Ɉ4Nx23UFЯ9[ (zoM:#ӅlAβ 3ؙ`UTIUP Gֱ} !P4rל8+z.i?l \UvȧдTQBMn"ri~~`3k> AN)3iY x;uqV!s30D}$4A'Ӈi0Sҝ~nxIϼaMbII4PdIDqj^s*WYD2GSx<,iFL@H%kTRyQ 좪ڷ`k^ԜFrQٱt6nkg[Ym"Nk'B8uж\/?@xy n.5LNҭr Ȥ Ll;#%N9.2OX/q`&,۪٩5e:Mo=Yd]'&;!Q¬A֖yvo3Eȳ&Tm'Wwn $͊,%'Q•z֮̚OU5hƆ/*T_VFQj:`*: Od_!d)=/jjDHNq^1C-?p.6׆6y&{Xkɥl8LIhykHټ OV럇]HuAHfRvdr.Ev__Z\hi;=ө X!a( %~$\rojKBZ! GvקE֝:6tχT3Ċjr?jmȖG(TVl Xɥ碡iY `F y X gsb{uf>$ؒF_p(ؘ;wX]$dc?K7{(5wucw ^qV4z4aoAAe_\g1B?_/YO.!94!2LF $m:ghBcx퉲\`;3ڋqXll"U$βFB \@G&SE*jc<؅AEU2M1 ?FsuGS柁Rpܾ _8|$JǙ}yqC0'%#zn#/Xl3kZ=*n1f:9юƷr EZ]$Fa+ӞQߥjpG/ \UrtJ7+ uBKE] REL:oA%mC9DF2RL= 8\kYn\['E ]@129<1W8|V:_wD#Mԭruj%j ;Q?1\6z z1G\2ppAc)j!Z6Rmǯ@6vg0ZJT 2USC"`L(Hَ`)g Y+ #nRtNjLPӀh=Iޗ*dP:0xVYTb̧mqUT޴{7sF럂}1Ғ9r3:ÍhbP"FI \c(AYܵ״HH6&WLЌzap/NأFo ETvj7txzN9,2X0mWX`ĵⵣ-݊sD) s&9V^7* +%Fre52,;/VD$& } Pyn&VK+5+niv}*/[nT%gc>uBO̅fSjZ7,#vwpH%-z9O! "/qeѿgV tO|QOWD]#W0n](,@ieoDDcg|o׊F2,z sffD*m|wUxvB۠ѱ G0jK! Ylv֜@v"E% n+(cz$P\=yP#62zEȥ\g͟ tG~:oMadb|-zc>=NP&0Yȅ96? Tg|dgt`Y?A02JgX2zKyj&|ET)'Kn48{EIU襨%؎׵~i6 hi]dz+ }~ #,Tnlq8 jT6 2W QSQ9N*@08 ]tϺ/?K^T4֥#a d`lo#.zAw!öۉQAʀOM5 4q.r-~EWcE!;p]xaJ.Ҍ9=n(K~jY)+Hxِ%%'(?SЭ0{'b$uq@1x'},eA`R0I [MK8Yh†9a2ZIsW]Ƽ5d8L][s.6yD0ZWmUgtg搟K'-G|vD{=`ٱ$Cw通 2qXEt43s¹W6Hu |lv)7Ido D1VXmz0:2}7؍ ;kB5?_ٵ-b2hn'f(!)Ufw(D⑗~]S?xB.CR*R" Va(ŗvbďtƸ:lKy r*ƾWvVtln`CUM@>  M,+c;/dׂҁQ0I?+Uq+p007 Iyn>ϒC^Ed|- :$/ImUD³UGpLm~jojhF^fo:l[YzbNTi1OR8RSO|SsPhBz8d@qv˕jaK u$Ɇv#lc;U ;kw)7JASurV9K&|rO+߷Ua`v $ZHxNFH/c,56¦w^]zVy5,w |o tSvyCF+g└3Xg3uel(/' AV|OW ᠙ WpwnfkOYR)CO2@ٔ#MM *u)4asEF i07{1gFf8L|q?B\6cPW^3tw +xFݯCż_ko!8j$̔V>D)hm\!<LΠIgIIMnB BN{Tuc\68c5d=Qॶk T JX/TJ&,RhhqwmVZ9*wM?8*i"̦򗷂OӺ`O-ı] j}pP/OYCJ.w{?p, qɪXb\<ܺGTQMb9gn;_}u RI\I1O4Ώ@]D^OB FB^dΊ?p. pFG?PHfF%߇̋!->Y;(|\52!&[݀bY9N?ZM)\HJh8Y^Go@15z`mɳԀcК=V S0qQi 9CF =3=x+BcfI;l5!hBVgNWeޅ~nW**A>ϗlw;:Ңr+ʭ)X 1O([8@Okg@uI~+7 ^t[jdXޤ>6Xx1V'_3\:>' y~х4KLe ܲ,Sy6 ^:DE+ {ٌ]2IZO)qeKhiϐgL>ڿ|aD$Ԡ~N=ޥc/fR9pNn[,׸ Mv܌,"En(ܻ㳫9TN=EUʿA&:،2 }.YP]@ mx#X¡HHRl /2=crqu0.ܯhKDJbUi~CUsTԗFwxWGl̈́늄s'1;hJRڕR[u W$9}"alEL赠ʢW<_d0Z=_r3KġsWEmI)\Tt)tX L2T1`Qג_A븍vWGq;(=O(4b4=zVQew\QQf7 "W"eX `hXkG:|W adf6>H50^x1c zۣVu+kpɤɹ{XP]@2C3)jڥᐶ$Ty[f(X?h_0$݀ ==vϡXH&][[ä8FX՝%d w^@]0'|`by]K96crq&QmAQf)jTEJa`v1sy56tam.+@7c=}-vDJٍ ie6kY(REcYDĶG\q:[cu^gR9jws@`ig /:)9Y|6Aеx.B~r%uz?&&E}jy2/1 خV>8PymETkp 沜׸`1 Oሷ۷7iY{'|-Ge <'-^QCn=x8eD@m6vU0ء;ԫ1ZS0h ``"CW3ݘ;끤9XpPe;7zy]S,kJc*2il)jk~"Ζ:5 %odӮdU#eJ0Uu;aО>N]}/=wvCi=Yq[G61 +tg?Ԗi,o^1d1+:~flZ+P=3B)Qk{peNR1W53Qvilݕjz|RWM=ag >XI-q8xO][a6ưiarʞf께y ][~6]S~)\rͷZ#iYܸ3*'^DY{|mN"T"ݶ~32 hF ] D}Bj<R#>7?n$q6&k9򄵆(G d`xd #ȍ_Ǫ+1i u BߥHIvn# %HgViRѴvgg :aɩ39fg aocc&'W\.de] *B^F>iQnyqˠS.WT̬82$t,hCT~"4/d]} (:"b m?\r;DsmZ'A-&t wOViͽNa ʰ[8ftšMp(1cɌ/bx%yizZ-\&^ް C\UKR9o1-,27.ڠ&Ϸ|oCkB-$jx.NjZ] o}1yG /Id B^"fϻgEbcc!8Ge D$WnnqXjvhtg>6)мb\|\)bО;igo\7\g _a} /nD.vuYNMACrtxC2E{+k)q$dhm5"e z\rhtcPt3n@22sQW?6ǥ`Jwd9r:Su1\dއnOv|4`6Y..MCiGCcա8TcCa_ֽ1N}8́þk2lۙN͌UW>m-!rZ5"\'X3\!&_mT@c/A4f]hGV/$p8H\"AcO3@hv Ʉu]1r^) KQ)Ŗz A*QdZO`@:- C,&+l~Ru.J"8Th$u KeF&N\BbZ|Ul`PH/m3ΡKE<ʱ}G11O m4]مf+1\ו2n}?ʪYZVK4q{ u{N߭H"VQ j_G4q'wr"l"֡6$y=NK9W1=֜;ي" :F :C ǪNEՖBG_O61%zg/^*Jӌ8u9%}!CP VcHRIJF`?23y:&Km`-\H}',}$F"˖!]k/@'odtQ ҂y=BbcZLNVCc͊jI2)-?/.ieDxU90h+˞($Va&{hR愧<Ytu\Di<\˾,Ӭ>Nt?zԙ5GRu6gɭb8,r`/QKaM/Z Px|9rs`r!nwsjCjoO8Be}"< SӶm}LIiH!0?p{g`XK:iʔG d,>^4x$x!?$U|SNhT`{QYWo&De3\Mgc:y B{(꽃W$QV]?-W|TCI f9],59^~*LkWbiݝu r…2^HDԨO"~%CKe`?m4j]X\O_W$+,Gé[i 9-Q9kO w1D"(f;]l.ffm&eq@dbr e.E[@CW7_~̀d.|b"dr9 ]ImZC;mmeurU*ܲiy5t{ݴ}`~A MbRQ7+z+mJzK}R?Y3-T} P g+WEɊs˅zq : Hrѡę3(/ennLsbn[ g+=l%JHI!t6V:wGmAKR9ZR|u.(h 1eErwᵥjl ?@pI| H~QjaGƟ2Q0R_ȮڻVh % k9ʬmXfW4Ow{7򩘸]eɑxГ $_C cʼJ55<Q pW щa䯰CCrig+rC0OTE;To1YԜEBQԋ;x2TYdv*ZcFD6sPk>If³zEgR }_]Ѥ6We㱣R*ce]{9#%_39b4aPҌ.x^.5oxY n}Y77褂s=13K1M#n[<wZcѫqҥ*jv*@H1JK|- &rZb]m.|VSJCPwżc{?5Љr9~Hl,s9H >1IgdL'C$PuBkK<xd;H/3ɨDŶIޱdƙ Lw8jX L2I= nq hhhC$4(tCůu`qV(Ҷ. |Z:kHNy  "\5:񏚈E H܏UXa i%ŀgF&E,5䏱; ,V+߽]?'LpD Є{-c/e7s(n U4ƙRcT|,r5 rBRi>e>^B*2JbEZ- BN*BnECdq?+'ڊMY"'NJ~LKh~d{\{sc. |@_`A;朐 uEuyl7s6C3DЙgzl3c {OzHh4|XӴ$$7o.gMdhHKùPp뗑9zGo*YoL2§bExL$WexrD>`FCK-|빘򥼏v$R,Yjzg(#A%8 6=?#g %ߞPgn :I$@h'mjK j-~c4g Jm@ЧZ<4⇖qZi脩H1CvXt,Ea2ԣ` lBe vgXѬpJcB`嚠Qs>]aPԏ8:C঄Wn 61hyfo:9!'AQzmG,ΛUg jz r{8jQ ;(8eDܨT" פYCfTfy+WK̭PQ ]b/f*|P&`4uazg2N33% ^f&QHݧ8 uK&[uB$Jq>C17A~ {KҴAK @6G q4$wH[N3X\KlO?/aԾ/p-}DQu&n we z*94dwۘ%6.1+1v5 hE `,MY0}"5zQ b*#rno: -I1{9:wE#6_aE:7/!an_Dy R'뤡d"'촙GF_pEE]{Jb:v"篴~ pi,NPu‡\C7M:o}z-a,UrJ"D.\< vL4i{$rsהhk* gSu]K@{cnW&}/ȀE ?qDDrՐ 2卦I_ۅ̑iA*gPLf`U{1o!l Y185}P{ʙ 'h%6˚Ej-ISo4?(aM̚]Ͳr2c'EnGpߗAŜ(J>Z"V@ͫhOP!%D]%8O^ )~T&ds!SNlSͺ^ª 2YS%k3R IPO}3n4-*t`X5<sih"$ְs+z]}?I_nIrgxZD4Š+s2n}Cĭ} W~ZLR]}AwpuL42iLkTAȺiOlͪ uZDKpX3p,Ĝ5?6.wh{sxi,ٵ~Q?C'\Չ{jWNIr@b ^kZV H5D} {#dAb iv:?#GSr9k U3@ՅD6e4@|2<]l?x国sN$Q %1)@rj,q|~6jMH QAҫZ+: ~P:;l̫DԜ?9 .{0F7tx7XcbSvһr#?٥s֛Yt$J2>٨;VqkidWg2&CfRohVR<9O4 I?@slL4pGy@}L0u.oF LJs#iOc;W JsE)S+<[ z^Sꢜ 67(Kx>4qIO|9jک?'&dհYY/@Շ֪-ms|ewVruOTm:"z9ג"6*Ts03_]3F$ V<"Kj0w{h٥&$N͆\le=۱2p!F@Eb6!i=hJ dDj~}1iN6'\KJBPx +UeN0u^Ƅ,F -5ZJMYT( 5K*KrƞޣdHG5:Vt#6L߬Y?Îs-]* ',//,Lf56gj^IYk{ 4FLjBRG&fϘxs +*6Kwբ&a_,O3Bpk(uPāBQ4a$eMQ WTR.xi zԚ{t.uL]X ӳNҭ|V^XQ2gaeCmSnYBү{lq6xx{c9)IGG@j;!2̖0Уùۜ J5V禫jj59&F%G5Q~zg5SIcB*&B&|Zbgy:@;O.G h2OP3`qR 쭶DT wĹ**Q~Wl+秸TPA."v,s*YT>EaM/W%`e|մ268ni;s{`wS*my֧ы >W -[*WԖpLN=TY1MP(f__cT, bMM ?kZY6'4^Ut<#m}&{eMzKl<3G{0IuVG YZ