diff --git a/etc/systemd/system/system/chronyd.service b/etc/systemd/system/system/chronyd.service new file mode 120000 index 0000000..2156f44 --- /dev/null +++ b/etc/systemd/system/system/chronyd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/chrony.service \ No newline at end of file diff --git a/etc/systemd/system/system/cloud-config.target.wants/cloud-init-hotplugd.socket b/etc/systemd/system/system/cloud-config.target.wants/cloud-init-hotplugd.socket new file mode 120000 index 0000000..96dc6d6 --- /dev/null +++ b/etc/systemd/system/system/cloud-config.target.wants/cloud-init-hotplugd.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-hotplugd.socket \ No newline at end of file diff --git a/etc/systemd/system/system/cloud-init.target.wants/cloud-config.service b/etc/systemd/system/system/cloud-init.target.wants/cloud-config.service new file mode 120000 index 0000000..ebc50f0 --- /dev/null +++ b/etc/systemd/system/system/cloud-init.target.wants/cloud-config.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-config.service \ No newline at end of file diff --git a/etc/systemd/system/system/cloud-init.target.wants/cloud-final.service b/etc/systemd/system/system/cloud-init.target.wants/cloud-final.service new file mode 120000 index 0000000..80fa3c8 --- /dev/null +++ b/etc/systemd/system/system/cloud-init.target.wants/cloud-final.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-final.service \ No newline at end of file diff --git a/etc/systemd/system/system/cloud-init.target.wants/cloud-init-local.service b/etc/systemd/system/system/cloud-init.target.wants/cloud-init-local.service new file mode 120000 index 0000000..dd8e9f1 --- /dev/null +++ b/etc/systemd/system/system/cloud-init.target.wants/cloud-init-local.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-local.service \ No newline at end of file diff --git a/etc/systemd/system/system/cloud-init.target.wants/cloud-init-main.service b/etc/systemd/system/system/cloud-init.target.wants/cloud-init-main.service new file mode 120000 index 0000000..875ff73 --- /dev/null +++ b/etc/systemd/system/system/cloud-init.target.wants/cloud-init-main.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-main.service \ No newline at end of file diff --git a/etc/systemd/system/system/cloud-init.target.wants/cloud-init-network.service b/etc/systemd/system/system/cloud-init.target.wants/cloud-init-network.service new file mode 120000 index 0000000..ae77734 --- /dev/null +++ b/etc/systemd/system/system/cloud-init.target.wants/cloud-init-network.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cloud-init-network.service \ No newline at end of file diff --git a/etc/systemd/system/system/dbus-org.freedesktop.timesync1.service b/etc/systemd/system/system/dbus-org.freedesktop.timesync1.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/etc/systemd/system/system/dbus-org.freedesktop.timesync1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service \ No newline at end of file diff --git a/etc/systemd/system/system/default.target.wants/wtmpdb-update-boot.service b/etc/systemd/system/system/default.target.wants/wtmpdb-update-boot.service new file mode 120000 index 0000000..6cf726e --- /dev/null +++ b/etc/systemd/system/system/default.target.wants/wtmpdb-update-boot.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/wtmpdb-update-boot.service \ No newline at end of file diff --git a/etc/systemd/system/system/getty.target.wants/getty@tty1.service b/etc/systemd/system/system/getty.target.wants/getty@tty1.service new file mode 120000 index 0000000..7bfe080 --- /dev/null +++ b/etc/systemd/system/system/getty.target.wants/getty@tty1.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/getty@.service \ No newline at end of file diff --git a/etc/systemd/system/system/hibernate.target.wants/grub-common.service b/etc/systemd/system/system/hibernate.target.wants/grub-common.service new file mode 120000 index 0000000..a655fbb --- /dev/null +++ b/etc/systemd/system/system/hibernate.target.wants/grub-common.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/grub-common.service \ No newline at end of file diff --git a/etc/systemd/system/system/hybrid-sleep.target.wants/grub-common.service b/etc/systemd/system/system/hybrid-sleep.target.wants/grub-common.service new file mode 120000 index 0000000..a655fbb --- /dev/null +++ b/etc/systemd/system/system/hybrid-sleep.target.wants/grub-common.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/grub-common.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/chrony.service b/etc/systemd/system/system/multi-user.target.wants/chrony.service new file mode 120000 index 0000000..2156f44 --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/chrony.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/chrony.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/console-setup.service b/etc/systemd/system/system/multi-user.target.wants/console-setup.service new file mode 120000 index 0000000..b7959d0 --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/console-setup.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/console-setup.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/containerd.service b/etc/systemd/system/system/multi-user.target.wants/containerd.service new file mode 120000 index 0000000..969ffbc --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/containerd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/containerd.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/cron.service b/etc/systemd/system/system/multi-user.target.wants/cron.service new file mode 120000 index 0000000..06cfbda --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/cron.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/cron.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/docker.service b/etc/systemd/system/system/multi-user.target.wants/docker.service new file mode 120000 index 0000000..dd74917 --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/docker.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/docker.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/e2scrub_reap.service b/etc/systemd/system/system/multi-user.target.wants/e2scrub_reap.service new file mode 120000 index 0000000..5be3ee0 --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/e2scrub_reap.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/e2scrub_reap.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/fail2ban.service b/etc/systemd/system/system/multi-user.target.wants/fail2ban.service new file mode 120000 index 0000000..c1d3169 --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/fail2ban.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/fail2ban.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/grub-common.service b/etc/systemd/system/system/multi-user.target.wants/grub-common.service new file mode 120000 index 0000000..a655fbb --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/grub-common.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/grub-common.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/networking.service b/etc/systemd/system/system/multi-user.target.wants/networking.service new file mode 120000 index 0000000..dbf81ff --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/networking.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/networking.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/nmbd.service b/etc/systemd/system/system/multi-user.target.wants/nmbd.service new file mode 120000 index 0000000..58c0d85 --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/nmbd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/nmbd.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/remote-fs.target b/etc/systemd/system/system/multi-user.target.wants/remote-fs.target new file mode 120000 index 0000000..2bc8b1c --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/remote-fs.target @@ -0,0 +1 @@ +/usr/lib/systemd/system/remote-fs.target \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/rsyslog.service b/etc/systemd/system/system/multi-user.target.wants/rsyslog.service new file mode 120000 index 0000000..f2d9aa9 --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/rsyslog.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/rsyslog.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/samba-ad-dc.service b/etc/systemd/system/system/multi-user.target.wants/samba-ad-dc.service new file mode 120000 index 0000000..335955f --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/samba-ad-dc.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/samba-ad-dc.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/smbd.service b/etc/systemd/system/system/multi-user.target.wants/smbd.service new file mode 120000 index 0000000..5de284e --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/smbd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/smbd.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/ssh.service b/etc/systemd/system/system/multi-user.target.wants/ssh.service new file mode 120000 index 0000000..9535998 --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/ssh.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/ssh.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/start-containers.service b/etc/systemd/system/system/multi-user.target.wants/start-containers.service new file mode 120000 index 0000000..efdfaff --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/start-containers.service @@ -0,0 +1 @@ +/etc/systemd/system/start-containers.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/unattended-upgrades.service b/etc/systemd/system/system/multi-user.target.wants/unattended-upgrades.service new file mode 120000 index 0000000..8c8c89b --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/unattended-upgrades.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/unattended-upgrades.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/winbind.service b/etc/systemd/system/system/multi-user.target.wants/winbind.service new file mode 120000 index 0000000..7d8257c --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/winbind.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/winbind.service \ No newline at end of file diff --git a/etc/systemd/system/system/multi-user.target.wants/zfs.target b/etc/systemd/system/system/multi-user.target.wants/zfs.target new file mode 120000 index 0000000..1969637 --- /dev/null +++ b/etc/systemd/system/system/multi-user.target.wants/zfs.target @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs.target \ No newline at end of file diff --git a/etc/systemd/system/system/network-online.target.wants/networking.service b/etc/systemd/system/system/network-online.target.wants/networking.service new file mode 120000 index 0000000..dbf81ff --- /dev/null +++ b/etc/systemd/system/system/network-online.target.wants/networking.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/networking.service \ No newline at end of file diff --git a/etc/systemd/system/system/nmb.service b/etc/systemd/system/system/nmb.service new file mode 120000 index 0000000..58c0d85 --- /dev/null +++ b/etc/systemd/system/system/nmb.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/nmbd.service \ No newline at end of file diff --git a/etc/systemd/system/system/samba.service b/etc/systemd/system/system/samba.service new file mode 120000 index 0000000..335955f --- /dev/null +++ b/etc/systemd/system/system/samba.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/samba-ad-dc.service \ No newline at end of file diff --git a/etc/systemd/system/system/smb.service b/etc/systemd/system/system/smb.service new file mode 120000 index 0000000..5de284e --- /dev/null +++ b/etc/systemd/system/system/smb.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/smbd.service \ No newline at end of file diff --git a/etc/systemd/system/system/sockets.target.wants/docker.socket b/etc/systemd/system/system/sockets.target.wants/docker.socket new file mode 120000 index 0000000..746690c --- /dev/null +++ b/etc/systemd/system/system/sockets.target.wants/docker.socket @@ -0,0 +1 @@ +/usr/lib/systemd/system/docker.socket \ No newline at end of file diff --git a/etc/systemd/system/system/ssh.service.wants/sshd-keygen.service b/etc/systemd/system/system/ssh.service.wants/sshd-keygen.service new file mode 120000 index 0000000..feffd4f --- /dev/null +++ b/etc/systemd/system/system/ssh.service.wants/sshd-keygen.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/sshd-keygen.service \ No newline at end of file diff --git a/etc/systemd/system/system/ssh.socket.wants/sshd-keygen.service b/etc/systemd/system/system/ssh.socket.wants/sshd-keygen.service new file mode 120000 index 0000000..feffd4f --- /dev/null +++ b/etc/systemd/system/system/ssh.socket.wants/sshd-keygen.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/sshd-keygen.service \ No newline at end of file diff --git a/etc/systemd/system/system/sshd.service b/etc/systemd/system/system/sshd.service new file mode 120000 index 0000000..9535998 --- /dev/null +++ b/etc/systemd/system/system/sshd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/ssh.service \ No newline at end of file diff --git a/etc/systemd/system/system/sshd.service.wants/sshd-keygen.service b/etc/systemd/system/system/sshd.service.wants/sshd-keygen.service new file mode 120000 index 0000000..feffd4f --- /dev/null +++ b/etc/systemd/system/system/sshd.service.wants/sshd-keygen.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/sshd-keygen.service \ No newline at end of file diff --git a/etc/systemd/system/system/sshd@.service.wants/sshd-keygen.service b/etc/systemd/system/system/sshd@.service.wants/sshd-keygen.service new file mode 120000 index 0000000..feffd4f --- /dev/null +++ b/etc/systemd/system/system/sshd@.service.wants/sshd-keygen.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/sshd-keygen.service \ No newline at end of file diff --git a/etc/systemd/system/system/start-containers.service b/etc/systemd/system/system/start-containers.service new file mode 100755 index 0000000..595ea51 --- /dev/null +++ b/etc/systemd/system/system/start-containers.service @@ -0,0 +1,14 @@ +#/etc/systemd/system/start-containers.service + +[Unit] +Description=Update and start containers after Docker starts +Wants=network-online.target +After=docker.service network-online.target + +[Service] +Type=oneshot +ExecStart=/root/docker/start.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/etc/systemd/system/system/suspend-then-hibernate.target.wants/grub-common.service b/etc/systemd/system/system/suspend-then-hibernate.target.wants/grub-common.service new file mode 120000 index 0000000..a655fbb --- /dev/null +++ b/etc/systemd/system/system/suspend-then-hibernate.target.wants/grub-common.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/grub-common.service \ No newline at end of file diff --git a/etc/systemd/system/system/suspend.target.wants/grub-common.service b/etc/systemd/system/system/suspend.target.wants/grub-common.service new file mode 120000 index 0000000..a655fbb --- /dev/null +++ b/etc/systemd/system/system/suspend.target.wants/grub-common.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/grub-common.service \ No newline at end of file diff --git a/etc/systemd/system/system/sysinit.target.wants/apparmor.service b/etc/systemd/system/system/sysinit.target.wants/apparmor.service new file mode 120000 index 0000000..f9a498e --- /dev/null +++ b/etc/systemd/system/system/sysinit.target.wants/apparmor.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/apparmor.service \ No newline at end of file diff --git a/etc/systemd/system/system/sysinit.target.wants/keyboard-setup.service b/etc/systemd/system/system/sysinit.target.wants/keyboard-setup.service new file mode 120000 index 0000000..312d354 --- /dev/null +++ b/etc/systemd/system/system/sysinit.target.wants/keyboard-setup.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/keyboard-setup.service \ No newline at end of file diff --git a/etc/systemd/system/system/sysinit.target.wants/resolvconf.service b/etc/systemd/system/system/sysinit.target.wants/resolvconf.service new file mode 120000 index 0000000..4321852 --- /dev/null +++ b/etc/systemd/system/system/sysinit.target.wants/resolvconf.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/resolvconf.service \ No newline at end of file diff --git a/etc/systemd/system/system/sysinit.target.wants/systemd-pstore.service b/etc/systemd/system/system/sysinit.target.wants/systemd-pstore.service new file mode 120000 index 0000000..3e9b562 --- /dev/null +++ b/etc/systemd/system/system/sysinit.target.wants/systemd-pstore.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-pstore.service \ No newline at end of file diff --git a/etc/systemd/system/system/sysinit.target.wants/systemd-timesyncd.service b/etc/systemd/system/system/sysinit.target.wants/systemd-timesyncd.service new file mode 120000 index 0000000..cd00411 --- /dev/null +++ b/etc/systemd/system/system/sysinit.target.wants/systemd-timesyncd.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/systemd-timesyncd.service \ No newline at end of file diff --git a/etc/systemd/system/system/syslog.service b/etc/systemd/system/system/syslog.service new file mode 120000 index 0000000..f2d9aa9 --- /dev/null +++ b/etc/systemd/system/system/syslog.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/rsyslog.service \ No newline at end of file diff --git a/etc/systemd/system/system/systemd-resolved.service.wants/resolvconf-pull-resolved.path b/etc/systemd/system/system/systemd-resolved.service.wants/resolvconf-pull-resolved.path new file mode 120000 index 0000000..e9b4a62 --- /dev/null +++ b/etc/systemd/system/system/systemd-resolved.service.wants/resolvconf-pull-resolved.path @@ -0,0 +1 @@ +/usr/lib/systemd/system/resolvconf-pull-resolved.path \ No newline at end of file diff --git a/etc/systemd/system/system/systemd-resolved.service.wants/resolvconf-pull-resolved.service b/etc/systemd/system/system/systemd-resolved.service.wants/resolvconf-pull-resolved.service new file mode 120000 index 0000000..d897fbb --- /dev/null +++ b/etc/systemd/system/system/systemd-resolved.service.wants/resolvconf-pull-resolved.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/resolvconf-pull-resolved.service \ No newline at end of file diff --git a/etc/systemd/system/system/timers.target.wants/apt-daily-upgrade.timer b/etc/systemd/system/system/timers.target.wants/apt-daily-upgrade.timer new file mode 120000 index 0000000..ae3ad57 --- /dev/null +++ b/etc/systemd/system/system/timers.target.wants/apt-daily-upgrade.timer @@ -0,0 +1 @@ +/lib/systemd/system/apt-daily-upgrade.timer \ No newline at end of file diff --git a/etc/systemd/system/system/timers.target.wants/apt-daily.timer b/etc/systemd/system/system/timers.target.wants/apt-daily.timer new file mode 120000 index 0000000..0612ca7 --- /dev/null +++ b/etc/systemd/system/system/timers.target.wants/apt-daily.timer @@ -0,0 +1 @@ +/lib/systemd/system/apt-daily.timer \ No newline at end of file diff --git a/etc/systemd/system/system/timers.target.wants/dpkg-db-backup.timer b/etc/systemd/system/system/timers.target.wants/dpkg-db-backup.timer new file mode 120000 index 0000000..12072e6 --- /dev/null +++ b/etc/systemd/system/system/timers.target.wants/dpkg-db-backup.timer @@ -0,0 +1 @@ +/lib/systemd/system/dpkg-db-backup.timer \ No newline at end of file diff --git a/etc/systemd/system/system/timers.target.wants/e2scrub_all.timer b/etc/systemd/system/system/timers.target.wants/e2scrub_all.timer new file mode 120000 index 0000000..30881ac --- /dev/null +++ b/etc/systemd/system/system/timers.target.wants/e2scrub_all.timer @@ -0,0 +1 @@ +/usr/lib/systemd/system/e2scrub_all.timer \ No newline at end of file diff --git a/etc/systemd/system/system/timers.target.wants/fstrim.timer b/etc/systemd/system/system/timers.target.wants/fstrim.timer new file mode 120000 index 0000000..2ed9fe6 --- /dev/null +++ b/etc/systemd/system/system/timers.target.wants/fstrim.timer @@ -0,0 +1 @@ +/lib/systemd/system/fstrim.timer \ No newline at end of file diff --git a/etc/systemd/system/system/timers.target.wants/logrotate.timer b/etc/systemd/system/system/timers.target.wants/logrotate.timer new file mode 120000 index 0000000..3bd6b36 --- /dev/null +++ b/etc/systemd/system/system/timers.target.wants/logrotate.timer @@ -0,0 +1 @@ +/usr/lib/systemd/system/logrotate.timer \ No newline at end of file diff --git a/etc/systemd/system/system/timers.target.wants/man-db.timer b/etc/systemd/system/system/timers.target.wants/man-db.timer new file mode 120000 index 0000000..d6b8a6e --- /dev/null +++ b/etc/systemd/system/system/timers.target.wants/man-db.timer @@ -0,0 +1 @@ +/usr/lib/systemd/system/man-db.timer \ No newline at end of file diff --git a/etc/systemd/system/system/zed.service b/etc/systemd/system/system/zed.service new file mode 120000 index 0000000..304d426 --- /dev/null +++ b/etc/systemd/system/system/zed.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-zed.service \ No newline at end of file diff --git a/etc/systemd/system/system/zfs-import.target.wants/zfs-import-cache.service b/etc/systemd/system/system/zfs-import.target.wants/zfs-import-cache.service new file mode 120000 index 0000000..4e5d50a --- /dev/null +++ b/etc/systemd/system/system/zfs-import.target.wants/zfs-import-cache.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-import-cache.service \ No newline at end of file diff --git a/etc/systemd/system/system/zfs-mount.service.wants/zfs-load-module.service b/etc/systemd/system/system/zfs-mount.service.wants/zfs-load-module.service new file mode 120000 index 0000000..ae92181 --- /dev/null +++ b/etc/systemd/system/system/zfs-mount.service.wants/zfs-load-module.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-load-module.service \ No newline at end of file diff --git a/etc/systemd/system/system/zfs-volumes.target.wants/zfs-volume-wait.service b/etc/systemd/system/system/zfs-volumes.target.wants/zfs-volume-wait.service new file mode 120000 index 0000000..2362893 --- /dev/null +++ b/etc/systemd/system/system/zfs-volumes.target.wants/zfs-volume-wait.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-volume-wait.service \ No newline at end of file diff --git a/etc/systemd/system/system/zfs.target.wants/zfs-import.target b/etc/systemd/system/system/zfs.target.wants/zfs-import.target new file mode 120000 index 0000000..849e85d --- /dev/null +++ b/etc/systemd/system/system/zfs.target.wants/zfs-import.target @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-import.target \ No newline at end of file diff --git a/etc/systemd/system/system/zfs.target.wants/zfs-load-module.service b/etc/systemd/system/system/zfs.target.wants/zfs-load-module.service new file mode 120000 index 0000000..ae92181 --- /dev/null +++ b/etc/systemd/system/system/zfs.target.wants/zfs-load-module.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-load-module.service \ No newline at end of file diff --git a/etc/systemd/system/system/zfs.target.wants/zfs-mount.service b/etc/systemd/system/system/zfs.target.wants/zfs-mount.service new file mode 120000 index 0000000..0d15a72 --- /dev/null +++ b/etc/systemd/system/system/zfs.target.wants/zfs-mount.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-mount.service \ No newline at end of file diff --git a/etc/systemd/system/system/zfs.target.wants/zfs-share.service b/etc/systemd/system/system/zfs.target.wants/zfs-share.service new file mode 120000 index 0000000..a4e4b51 --- /dev/null +++ b/etc/systemd/system/system/zfs.target.wants/zfs-share.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-share.service \ No newline at end of file diff --git a/etc/systemd/system/system/zfs.target.wants/zfs-volumes.target b/etc/systemd/system/system/zfs.target.wants/zfs-volumes.target new file mode 120000 index 0000000..d225773 --- /dev/null +++ b/etc/systemd/system/system/zfs.target.wants/zfs-volumes.target @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-volumes.target \ No newline at end of file diff --git a/etc/systemd/system/system/zfs.target.wants/zfs-zed.service b/etc/systemd/system/system/zfs.target.wants/zfs-zed.service new file mode 120000 index 0000000..304d426 --- /dev/null +++ b/etc/systemd/system/system/zfs.target.wants/zfs-zed.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/zfs-zed.service \ No newline at end of file diff --git a/root/docker/Webproxy/Data/nginx/nginx/auth/.htpasswd b/root/docker/Webproxy/Data/nginx/nginx/auth/.htpasswd new file mode 100644 index 0000000..5155746 --- /dev/null +++ b/root/docker/Webproxy/Data/nginx/nginx/auth/.htpasswd @@ -0,0 +1,2 @@ +drawioUser:$2y$05$Ckt.CPSBzFPWkkRhCe3M7eYePnkPVfhfjDcjpw.1Knn7Amh0N.gxq + diff --git a/root/docker/Webproxy/Data/nginx/nginx/service.conf b/root/docker/Webproxy/Data/nginx/nginx/service.conf new file mode 100644 index 0000000..fbad445 --- /dev/null +++ b/root/docker/Webproxy/Data/nginx/nginx/service.conf @@ -0,0 +1,171 @@ + +#/root/docker/Webproxy/Data/nginx/service.conf + +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +server { + listen 80; + server_name service.focus-on-it.net; + + location /.well-known/acme-challenge/ { root /var/www/certbot; } + location / { return 301 https://$host$request_uri; } +} + +server { + listen 443 ssl; + server_name service.focus-on-it.net; + + ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem; + + location / { + return 200 "service endpoint\n"; + } +} + +server { + listen 80; + server_name dokuwiki.focus-on-it.net; + location /.well-known/acme-challenge/ { root /var/www/certbot; } + location / { return 301 https://$host$request_uri; } +} + +server { + listen 443 ssl; + server_name dokuwiki.focus-on-it.net; + resolver 127.0.0.11 valid=30s ipv6=off; + ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem; + + location / { + set $dokuwiki_upstream dokuwiki:8080; + proxy_pass http://$dokuwiki_upstream; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Port 443; + } +} +server { + listen 80; + server_name guacamole.focus-on-it.net; + + location /.well-known/acme-challenge/ { root /var/www/certbot; } + location / { return 301 https://$host$request_uri; } +} + +server { + listen 443 ssl; + server_name guacamole.focus-on-it.net; + + ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem; + + # optional sinnvoll + client_max_body_size 50m; + + # Guacamole läuft standardmäßig unter /guacamole/ + location / { + return 302 /guacamole/; + } + + location /guacamole/ { + proxy_pass http://guacamole:8080/guacamole/; + proxy_http_version 1.1; + + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Port 443; + + # WebSocket für Guacamole Tunnel + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + + proxy_buffering off; + } +} +server { + listen 80; + server_name drawio.focus-on-it.net; + + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } + + location / { + return 301 https://$host$request_uri; + } +} + +server { + listen 443 ssl; + server_name drawio.focus-on-it.net; + + ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem; + + client_max_body_size 50m; + + location / { + auth_basic "Restricted"; + auth_basic_user_file /etc/nginx/auth/.htpasswd; + proxy_pass http://drawio:8080; + + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Port 443; + + proxy_read_timeout 300; + proxy_send_timeout 300; + } +} +server { + listen 80; + server_name nextcloud.focus-on-it.net; + + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } + + location / { + return 301 https://$host$request_uri; + } +} + +server { + listen 443 ssl; + server_name nextcloud.focus-on-it.net; + + resolver 127.0.0.11 valid=30s ipv6=off; + + ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem; + + client_max_body_size 10G; + proxy_read_timeout 3600; + proxy_send_timeout 3600; + + location / { + set $nextcloud_upstream nextcloud-nginx:80; + proxy_pass http://$nextcloud_upstream; + + proxy_http_version 1.1; + proxy_request_buffering off; + + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port 443; + } +} diff --git a/root/docker/dokuwiki/data/conf/conf/acl.auth.php b/root/docker/dokuwiki/data/conf/conf/acl.auth.php new file mode 100644 index 0000000..ea1fda6 --- /dev/null +++ b/root/docker/dokuwiki/data/conf/conf/acl.auth.php @@ -0,0 +1,17 @@ +# acl.auth.php +# +# Don't modify the lines above +# +# Access Control Lists +# +# Auto-generated by install script +# Date: Sat, 14 Feb 2026 13:16:27 +0000 +* @ALL 0 +* micha 16 +it-doku:* @foit 1 +it-doku:* @it 16 +knowledgebase:* @it 16 +rsit:* @rsit 16 +start @user 1 +user:username:* @ALL 1 +user:username:* @user 1 diff --git a/root/docker/dokuwiki/data/conf/conf/license.php b/root/docker/dokuwiki/data/conf/conf/license.php new file mode 120000 index 0000000..db18d59 --- /dev/null +++ b/root/docker/dokuwiki/data/conf/conf/license.php @@ -0,0 +1 @@ +/var/www/html/conf.core/license.php \ No newline at end of file diff --git a/root/docker/dokuwiki/data/conf/conf/local.php b/root/docker/dokuwiki/data/conf/conf/local.php new file mode 100644 index 0000000..8ce95f2 --- /dev/null +++ b/root/docker/dokuwiki/data/conf/conf/local.php @@ -0,0 +1,25 @@ + +# Don't modify the lines above +# +# Userfile +# +# Auto-generated by install script +# Date: Sat, 14 Feb 2026 13:16:27 +0000 +# +# Format: +# login:passwordhash:Real Name:email:groups,comma,separated + +admin:$2y$10$jJlC0eW/qKfyZsXxwYlOTuNOpjKzdL32wIFArVbiknOWrjxfwho8e:Admin:Michael.Seidel@focus-on-it.de:admin,user +dany:$2y$10$id0jpOSPPzQU2Obx5ZMX8eCcqMH1PFQc7dW8XswjbjXzcGkFD/iBi:Daniela Seidel:Daniela.Seidel@focus-on-it.de:user,dany,foit +micha:$2y$10$8wh6APl35INN752EY3NTM.yy04SZWUzQhrkk040wMX8IFwMiMMrV6:Michael Seidel:Michael.Seidel@focus-on-it.de:user,it,rsit,foit +matthias:$2y$10$aSQqSxmUKm97IZPqUdEMzug9C1XlZGKcAhFytCO0vveJ9SMxoQahy:Matthias Ruckwied:matthias@ruckwied-it.de:rsit,user +testuser:$2y$10$RFWOkg5sm5W51pLpgOXLOO.h0PszrYOhFcTxrLkVMtvncCX2nQWWa:Testo:test@focus-on-it.de:user +testrsit:$2y$10$LmgM9kTY11ynNdNOH6g2qeADFO8GrNiRbFo8lK.lSreiQRi8P9SBy:RSITler:RSIt@focus-on-it.de:rsit,user diff --git a/root/docker/dokuwiki/data/conf/conf/users.auth.php.bak b/root/docker/dokuwiki/data/conf/conf/users.auth.php.bak new file mode 100644 index 0000000..b13290a --- /dev/null +++ b/root/docker/dokuwiki/data/conf/conf/users.auth.php.bak @@ -0,0 +1,14 @@ +# users.auth.php +# +# Don't modify the lines above +# +# Userfile +# +# Auto-generated by install script +# Date: Sat, 14 Feb 2026 13:16:27 +0000 +# +# Format: +# login:passwordhash:Real Name:email:groups,comma,separated + +admin:$2y$10$zGnIfotQJ7QVVrsQtBzRy.vbbR3dOPJjNHpPqUjAUrh3nZ/E1SBRG:Admin:Michael.Seidel@focus-on-it.de:admin,user +micha:$2y$10$vfJ2kebl9bNf9kzfkxzgB.HuMQkyDMBPSOOXcItO6.MLg9wt4rXMO:Michael Seidel:Michael.Seidel@focus-on-it.de:user diff --git a/root/docker/gitea/docker-compose.yml b/root/docker/gitea/docker-compose.yml new file mode 100644 index 0000000..31ba03b --- /dev/null +++ b/root/docker/gitea/docker-compose.yml @@ -0,0 +1,86 @@ +services: + gitea: + image: gitea/gitea:1.24.7 + container_name: gitea + restart: unless-stopped + depends_on: + gitea-db: + condition: service_healthy + + environment: + - USER_UID=2000 + - USER_GID=2000 + + # Server + - GITEA__server__DOMAIN=git.focus-on-it.net + - GITEA__server__ROOT_URL=https://git.focus-on-it.net/ + - GITEA__server__SSH_DOMAIN=git.focus-on-it.net + - GITEA__server__SSH_PORT=2222 + - GITEA__server__SSH_LISTEN_PORT=22 + - GITEA__server__START_SSH_SERVER=false + + # Datenbank + - GITEA__database__DB_TYPE=mysql + - GITEA__database__HOST=gitea-db:3306 + - GITEA__database__NAME=gitea + - GITEA__database__USER=gitea + - GITEA__database__PASSWD=STRONG_DB_PASSWORD + + volumes: + - gitea:/data + + networks: + - webproxy-net + - gitea-internal + + ports: + - "2222:22" + + labels: + - "traefik.enable=true" + - "traefik.docker.network=webproxy-net" + - "traefik.http.routers.gitea.rule=Host(`git.focus-on-it.net`)" + - "traefik.http.routers.gitea.entrypoints=websecure" + - "traefik.http.routers.gitea.tls=true" + - "traefik.http.routers.gitea.tls.certresolver=le" + - "traefik.http.services.gitea.loadbalancer.server.port=3000" + + gitea-db: + image: mariadb:11.8 + container_name: gitea-db + restart: unless-stopped + + environment: + - MARIADB_ROOT_PASSWORD=STRONG_ROOT_PASSWORD + - MARIADB_DATABASE=gitea + - MARIADB_USER=gitea + - MARIADB_PASSWORD=STRONG_DB_PASSWORD + + command: + - --character-set-server=utf8mb4 + - --collation-server=utf8mb4_unicode_ci + + volumes: + - mysql:/var/lib/mysql + + networks: + - gitea-internal + + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + interval: 10s + timeout: 5s + retries: 10 + start_period: 20s + +volumes: + gitea: + driver: local + mysql: + driver: local + +networks: + webproxy-net: + external: true + gitea-internal: + driver: bridge diff --git a/root/docker/gitea/start.sh b/root/docker/gitea/start.sh new file mode 100755 index 0000000..91ad10d --- /dev/null +++ b/root/docker/gitea/start.sh @@ -0,0 +1,17 @@ +#!/bin/sh +#/root/docker/gitea/start.sh +set -euo pipefail +cd "$(dirname "$0")" + +# 1) Name freimachen – egal ob Container von docker run oder compose stammt +docker rm -f dokuwiki >/dev/null 2>&1 || true + +# 2) Falls Compose-Reste existieren, wegräumen (optional, aber sauber) +docker compose down >/dev/null 2>&1 || true + +# 3) Update + Recreate +docker compose pull +docker compose up -d --force-recreate --remove-orphans + +# 4) Cleanup +docker image prune -f diff --git a/root/docker/traefik/data/letsencrypt/acme.json b/root/docker/traefik/data/letsencrypt/acme.json index 2b981f2..ae13d79 100644 --- a/root/docker/traefik/data/letsencrypt/acme.json +++ b/root/docker/traefik/data/letsencrypt/acme.json @@ -51,6 +51,14 @@ "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdDRENDQlBDZ0F3SUJBZ0lTQlo4Z0c5MHhJSFd2S1lhVEQzdlZZWWlFTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRJd0hoY05Nall3TXpJNE1EVXhPREkzV2hjTk1qWXdOakkyTURVeE9ESTJXakFpTVNBd0hnWURWUVFECkV4ZDBjbUZsWm1sckxtWnZZM1Z6TFc5dUxXbDBMbTVsZERDQ0FpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVAKQURDQ0Fnb0NnZ0lCQVBLSDBSS0w2czdlZjJGYVZSTktNazJkZ05ncUwyNnhzdlNTbUVxTTMzUDJxcUliQldFVApROVdCb3pLS2dSdWdCdlhGVXduOXVFSHo2RTZ0aFZjMFkyWCtxandKS3B4ZU1nSnJPd0lXeHYyMnhDN0hNSjMyCmFoVmUxeno5STV2LzN1bjI0cC9UMUx6djJkdkVxb0Z1WE5SRDFJYkZZcDFyaWswY2N4UXY2M08vWUE0V2Z1eXoKYjIzZWlHR3NPbjVBUnpUdSt5NGlMRzMwWFozWm94dXNKZUhyaTNpdVJtcEFuSVV4VE9LMmFFZFlCMXF3UkhrWgp3RGNsWFJwSFZSd3FnUWM0VWt6TXlLZkM5Uy83WmpNQU9YYzIxSWQ1TmpLV0NobnBZcjhBN1ZTa3RlVjRxZFJRCkpWbEtaSFM1b05DOFh5NFpySEtkZ0Z2MFNPNVhuNjZON3JSRDZ2QmVxdVFsdGF1eDlGWkxERngvOHFnc1FOZXEKajhkRjdKVkhQWmdOYW1ITnJ0SG5SS0xWeU1QT2oxMFFrYVhsbWlrYW00NHpEUnN5NzdycmFjRkNLMnlGQ0xhUwpDdGxPSjh0QjQyRFcwTE9RR2dENzFwUjlGRXVrdHpNZ1NweWI0UFdMckJCM05qaXZNNGZvQ2pMcE1qOG84NVpZCitIcXJKc2JGT1E4czI3bWM0OXh4REhzWi9rT2lKbENYcERZS0NBYlIrV2ZGdGtmZkVweUMrQkF5anlsSC9MLy8KWWhWSEhsRjVxQmpNUkNSSVN5V2ZTOHMwTERjajVCdGR5N0VyOHloUDUvSVJUN3BBMDFENTFnZS9YckU1ZUJ2TgphYlBOa2xVRTJXTjZxd0hpeTJaTGQ5MlBTNG1zRE5RZGFEU1YrMHJTc2t1R2w4S3dzN1RUSUJlSEFnTUJBQUdqCmdnSWxNSUlDSVRBT0JnTlZIUThCQWY4RUJBTUNCYUF3RXdZRFZSMGxCQXd3Q2dZSUt3WUJCUVVIQXdFd0RBWUQKVlIwVEFRSC9CQUl3QURBZEJnTlZIUTRFRmdRVUw3T1F2bjFneGhNQTFsT2NOU3BnNnFJMW05OHdId1lEVlIwagpCQmd3Rm9BVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdNd1lJS3dZQkJRVUhBUUVFSnpBbE1DTUdDQ3NHCkFRVUZCekFDaGhkb2RIUndPaTh2Y2pFeUxta3ViR1Z1WTNJdWIzSm5MekFpQmdOVkhSRUVHekFaZ2hkMGNtRmwKWm1sckxtWnZZM1Z6TFc5dUxXbDBMbTVsZERBVEJnTlZIU0FFRERBS01BZ0dCbWVCREFFQ0FUQXRCZ05WSFI4RQpKakFrTUNLZ0lLQWVoaHhvZEhSd09pOHZjakV5TG1NdWJHVnVZM0l1YjNKbkx6VXVZM0pzTUlJQkRRWUtLd1lCCkJBSFdlUUlFQWdTQi9nU0Ird0Q1QUhjQVpCSEViS1FTN0tlSkhLSUNMZ0M4cTA4b0I5UWVOU2VyNnY3VkE4bDkKemZBQUFBR2RNeGFzdWdBQUJBTUFTREJHQWlFQTFTVHhNV2RiYmFpWmpvYUY3blpzc2ZqWUJmVnY5YWl0MFphSwpTNEhRcGk4Q0lRRHk3UWtwQVc2VmNwRkp1R2hWcWRGM1QxVU8zU3I2NzVuajFhZ3pIcVRaR2dCK0FHeitVQmxECnFGNnBGcnhTMFRQazNNa2U4VUVjZlNXRUlORnpnSjRZR09zNkFBQUJuVE1Xc0NZQUNBQUFCUUFFcCt0RkJBTUEKUnpCRkFpRUF3WCtiNTA0WkdVSUd0KzBUcE1tTjJDTWZudHJjbG9YWlg3WW4zTmlET29JQ0lDM2ZodHdaMUtEQQpMcWVhdmtWMEtNb2xEeEQ2L2pIQ2c3TndmSDl6bVBDNU1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQlZKOWZXCnUvZkxEaGZKUXFTYzNYY1hLRlJ2R3hqYmlHcUFSWUg4MVova09qQmFiSm5uQmI2cSszOStaV0g3dC93dzUvK0kKREZnVXBlOEVIWVllWW03a0ZpUlRySHNuM20xSGMzb2NSOEdWZ255TFVNdGVmb01YZk92cHdURHRER3RYdEtxQgpsV0NlU2EyRDhuOUJzeVFBbENHMTNwN1hQeUE5T0swdXNIWU5QQUF1TkliRFR1Mmp2WkZacmpzVEExSHY4M1hQCkttK2RwSkJNV1pHM1dDWnJzL3RHbzRNY3NLN3B0cUFLMlc5YmVKbUZmSnl4ME13cGcyOGE2QzV0TEdrcGxrVjQKbEdRNVlJL1VsbmdaV21nSlBScXBGZ0IvdFJ0aUpUcVA5ekkwanU5OWNMa3g0WEFWSGZ0KzlYcFpGVVpIY3VrWApSSzkxeWNDMlFWNm5JQlJJCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlGQmpDQ0F1NmdBd0lCQWdJUkFNSVNNa3R3cWJTUmNkeEE5K0tGSmp3d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClR6RUxNQWtHQTFVRUJoTUNWVk14S1RBbkJnTlZCQW9USUVsdWRHVnlibVYwSUZObFkzVnlhWFI1SUZKbGMyVmgKY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNRZ1dERXdIaGNOTWpRd016RXpNREF3TURBdwpXaGNOTWpjd016RXlNak0xT1RVNVdqQXpNUXN3Q1FZRFZRUUdFd0pWVXpFV01CUUdBMVVFQ2hNTlRHVjBKM01nClJXNWpjbmx3ZERFTU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUEycGdvZEsyK2xQNDc0QjdpNVV0MXF5d1NmKzJuQXpKK05wZnM2REdQcFJPTkM1a3VIczBCVVQxTQo1U2h1Q1ZVeHFxVWlYWEwwTFFmQ1RVQTgzd0VqdVhnMzlScGxNalRtaG5HZEJPK0VDRnU5QWhxWjY2WUJBSnB6CmtHMlBvZ2VnMEpmVDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscEwKVGhqcDJ5cHpYSWxoWlo3KzdUeW15MDV2NUo3NUFFYXoveGxOS21PemptYkdHSVZ3eDFCbGJ6dDA1VWlERHdoWQpYUzBqblY2ai91amJBS0hTOU9NWlRmTHVldllubnVYTm5DMmk4bitjRjYzdkV6YzUwYlRJTEVIV2hzRHA3Q0g0CldSdC91VHA4bjF3Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUIKaGpBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFnWUlLd1lCQlFVSEF3RXdFZ1lEVlIwVEFRSC9CQWd3QmdFQgovd0lCQURBZEJnTlZIUTRFRmdRVUFMVXA4aTJPYnpIb20weXRlRDc2M09rTTBkSXdId1lEVlIwakJCZ3dGb0FVCmViUlo1bnUyNWVRQmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUMKaGhab2RIUndPaTh2ZURFdWFTNXNaVzVqY2k1dmNtY3ZNQk1HQTFVZElBUU1NQW93Q0FZR1o0RU1BUUlCTUNjRwpBMVVkSHdRZ01CNHdIS0Fhb0JpR0ZtaDBkSEE2THk5NE1TNWpMbXhsYm1OeUxtOXlaeTh3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dJQkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjMKNGVvQWVFaVBkWkxqNUVaN0cyQXJJSytnemhUbFJRMXE0RktHcFBQYUZCU3BxVi94YlViNVVsQVhRT25rSG4zbQpGVmorcVl2ODcvV2VZK0JtNHNOM094OEJoeWFVN1VBUTNMZVo3TjFYMDF4eFFlNHdJQUFFM0pWTFVDaUhtWkwrCnFvQ1V0Z1lJRlBnY2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk8KWkNCN3FPTXh4TUJvQ1VlTDJMbDRvTXBPU3I1cEpDcExOM3RSQTJzNlAxS0xzOVRTclZoT2srN0xYMjhOTVVsSQp1c1EvbnhMSklEMFJoQWVGdFBqeU9DT3NjUUJBNTMrTlJqU0NhazdQNEE1alg3cHBta2NKRUNMK1MwaTNrWFZVCnk1TWU1QmJyVTg5NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2IKemxoU2dKODFDbDR0djNTYllpWVhuSkV4S1F2emY4M0RZb3RveDNmMGZ3djd4bG4xQTJaTHBsQ2IwTytsL0FLMApZRTBEUzJGUHhTQUhpMGl3TWZXMm5OSEpyWGNZM0xMSEQ3N2dSZ2plNEV2ZXViaTJ4eGErTm1rL2htaExkSUVUCmlWREZhbm9Dck1WSXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0EKMHpyTG5PckFqL2RmcmxFV1JoQ3ZBZ2J1d0xaWDFBMnNqTmpYb1BPSGJzUGl5K2xPMUtGOC9YWTcKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBOG9mUkVvdnF6dDUvWVZwVkUwb3lUWjJBMkNvdmJyR3k5SktZU296ZmMvYXFvaHNGCllSTkQxWUdqTW9xQkc2QUc5Y1ZUQ2YyNFFmUG9UcTJGVnpSalpmNnFQQWtxbkY0eUFtczdBaGJHL2JiRUxzY3cKbmZacUZWN1hQUDBqbS8vZTZmYmluOVBVdk8vWjI4U3FnVzVjMUVQVWhzVmluV3VLVFJ4ekZDL3JjNzlnRGhaKwo3TE52YmQ2SVlhdzZma0JITk83N0xpSXNiZlJkbmRtakc2d2w0ZXVMZUs1R2FrQ2NoVEZNNHJab1IxZ0hXckJFCmVSbkFOeVZkR2tkVkhDcUJCemhTVE16SXA4TDFML3RtTXdBNWR6YlVoM2syTXBZS0dlbGl2d0R0VktTMTVYaXAKMUZBbFdVcGtkTG1nMEx4ZkxobXNjcDJBVy9SSTdsZWZybzN1dEVQcThGNnE1Q1cxcTdIMFZrc01YSC95cUN4QQoxNnFQeDBYc2xVYzltQTFxWWMydTBlZEVvdFhJdzg2UFhSQ1JwZVdhS1JxYmpqTU5Hekx2dXV0cHdVSXJiSVVJCnRwSUsyVTRueTBIallOYlFzNUFhQVB2V2xIMFVTNlMzTXlCS25Kdmc5WXVzRUhjMk9LOHpoK2dLTXVreVB5anoKbGxqNGVxc214c1U1RHl6YnVaemozSEVNZXhuK1E2SW1VSmVrTmdvSUJ0SDVaOFcyUjk4U25JTDRFREtQS1VmOAp2LzlpRlVjZVVYbW9HTXhFSkVoTEpaOUx5elFzTnlQa0cxM0xzU3Z6S0UvbjhoRlB1a0RUVVBuV0I3OWVzVGw0Ckc4MXBzODJTVlFUWlkzcXJBZUxMWmt0MzNZOUxpYXdNMUIxb05KWDdTdEt5UzRhWHdyQ3p0Tk1nRjRjQ0F3RUEKQVFLQ0FnQVA2VGdlb3Q1RE54YWRRT3RlNmhtMXZOVUVtWFBtSzdORlYwNjFhVnVKaEkrNk5kS2JCVVFJZ0VwQQpHUlVTUm1QZWdOVUxUVUZtMWtVUjBGRjBvS082djhQVVQzZWpyWXhUVzB5U1BRTk9CczBGRXAxT1o2bWJBRTlYCm1YWGFHS1c3cks0K2RRdTZYM1BuOXBXSEMwSDh6UHhtNFJFd3FhcjNseHUzb2RNdEUwdU9jUXhmby8vMThjajUKdTI1VTlRdVczZXpOb0lGUXIxenE2Nm5IT1hwOHdWS3pscDlZL2ljbWw4N20rcmVKb3ExTTFrNlBzVkJLYmVHWApSVUhBcU1zeE9aRXdwNmlzVk41NENPS3lDdHc2UlhjWThpdExrMHRUV3R2WEV3eis1aFZtMmcwdU9CblRLMDIrCjJLVER2Ty96bXN5VThsOUc2UlpWeUpyWnZVY0JITllhWGV1RmcyZFBWcCtKenRrQksyaVdvODg1dkZBclZhN3YKSDNsWmh4bVFvMStpelkrbFFKSWJLbDFtRGlPYWxaaTM0NUR0NXhXVEV6K1YycGkzTjNtTzFyVDRtU0I1UEhYcgpEaENjcVQwcXdtSnh1WUpHRnBVc2xEOGkyZUV6N2pFcU5aQm4rRUNHSzdqYXc1cHF0a2V6WmlHQUVaRldGSk00Ck1XOThGOGlDMmJFc2tNM3R3dFV4TXpDd29NWHIwNTVsbHRaNm5mZ3NLSVBzR3dqK0Jtb0lidHFERHZGZFV6WU0KTVhqVDluZi9ya2diTEJ4VGN1Q2I1aW9mMmhKZ1JXQXA5eVN1SzhuazgrQ2JlcnFwSlBkMXJwTXl4YzAvcjVycApVOTlITFlJdjdJNUNkbnlqSUM5TmZoRlFubjQvK1BpdWw3dVVNdE1WVHFCWkd1Ukh2UUtDQVFFQTlDZldlQUFhCnFlUFpob09kQkVDcWVTVGJpYWhKaHEvV0xJVU1rQnZyK0xPVWJVRWNyelNqUHZnalNLWUMvaUl3SjhnY2pqNE0KckJpY250ektFekh6VjJzc3lMNjdRSXR3T0tXWW1kM3BYVFNjOEJKNHlNVS9ta2tVcm9WbGZCM21aTWpjQzF4cApubHBpQkhWTHU2bk45WG45WjBxOGxXb0YrRFFJcEpLNzBWR3RkN05QN2RFWEdCZ3J1U0UyaC9BK3VvbUtZWjFmCk1WS1ROYjZBaC9jYjVXUjdzcE5RTEpIUkpKU1c2QWVaMkNlWXlJTm5ob3NFakZ1TWFMVmMzWDJLRUxWOU9COTUKeXhwR0Z2cHlaTHVCbDVWN1RReU1tbXhueWx2dGorYzFySURUSWt4Z3lTNnJ0UUdZU3A2S0hLdmY0SS96U1NpdwpodHFMc04vR3kxZDBGUUtDQVFFQS9rdk1ESHVhcUpOb0lUVGJ5YTREUnN2RnBTSnI3bG96dkR3Nm1odEZkcTlCCmkrQ3p6dHJ0a0puc2dBcjN5OGVSaVJ1a3YvK3pIK3RZWkpSd0tmYjVkZUpDS1RQSXd2TkplS0x4NTljWmxpUDIKZjg0Z2tkdTgrVG0yODVkM0VRc3IyS2U0WjVncjhZSnBUY1JlWWZRUnE4eG1yck9XQi9JbVdPYzBrNlRsR1pjcgpIK3N5ZFBqWlNnbFhGMUg3S1UyVDltK2VOd1JGaGhVTEd0NjNKaUxNM0UxQVRTbEJpRTB5M1FBeFlpUWQ4VG5jClFEdG52NGVjd1hsa1ZpT0ZBSHczdTcxZGZkdmNtcUtiK3hMUDZrVVMvblV3TkplS1FkZ0dSSjBIUjZoK014RUEKSGNIcVp4bGdQeEZPM25OSGl4YS9SbnZVeWR5NjNBNktoaVVaN1o4NEt3S0NBUUVBMXBuOWhOUnltMGxPZFZGUgp2ZDhvOS9wUmpSbUNKd1IrOS9xcUpEQ21wSjhUbzBSTDlpUUtLTnJxQ0gwQ3ZHVklkbThKeW16M3JueWpqVzc3Cm53dVVuQTN6K3k3S1g5MHY4bHA3V3lNV2IzcERSekMxUWFNK1dGcEw5Mm9BM2F0YVN0UFJ0WnF3cXlNK2JEUzkKTUdIOFNmdkRvL3FvNzV1VlM2aFF3SGJJNXg4bm5jTGFTbW95SmxkNGR1eWVoYlhCTFN5Zm1WVTl5cGlPRS9zeAo5bEJaRUxQVmxneXR0NzhqV1VmUnJIaWgzTUJSSmsxNXZXU0x4dUxnODFnV0hBaXdSaWQvdk1qTndKdURaOGNTCnJUK3lsSTRySm5vVlM5WmxGQlRoSms5UGVpUnhjQUE2UWhybmlkMnhBa1YvbDl2cWwvTnZINnJJSG9BUnNKSEEKcGhKa1VRS0NBUUJmM1M4bEhZdW1OVHV5R1AwcVFJRlh0UVhqUk9DdlVDM2tya2ZoUkpxaExWeG1ZT1VuKy94Rwo0Ti81UFNsQkZ4RFVRU21RZjlLRkcvR01xVERIZ1NWMXZULzN6Ri9Jcm5KcUdmTmIxUWorUXJ4d1hjS0ZlZkw1CmVUcHhCZzZLekUxUk5aa2M1STdjVXE5ajg3MG83QnVsU2o4RGFRd01Ic3M2Qko4YmNiUTBPM3EwWTdQM3lNQVIKV3dnTDhJbmdmakJqWEp5bVhPUGdzaG9ublFJcVRFQXlaS1R5OGJTVXI1V1hIclYvSytKbHg4d3lJckx2enkzVworZTVMVXNTVzlEMEdkMUxCV1pzR2FIcW80ZVNqaWpxbzFvQy9zc2thSFZmdmtjcm14cXdja0RJZEJiZForb1VBCkFZUmI4OVZxcDc2ZjBacmNKbXdDL1RCWGRiRWFsVVZWQW9JQkFETVRpMU1yVHordXc5bXA2L2lJbllSaVB2YWgKZmVxOFFHczZTRmVvbHI0WDVCZ2o0NUcydjdodUFGOWlMNXk4QWxDRS91anl6TWRiL1JiNTI4TXk5MkxSeGZHUgo5a2Q4R3FORUpMc1NkeU9qNjdDT2RvNVVXMmFyY05zVTVNTlN5QVJEYXFlQTBIKzZqNVNXVG1RaDJhMmpuVmZzCkJiK1dYN3o3WnNjWUxKSmxjb0lMSjhCUTNyWFllQlY0S0xXOEdUU3IyNHlGamw4ZFg1dVByK1VrdHJhQzJuUTcKRFhtNDh0QjhIRk91YjFJb0ljVmFrSTFBcWl5b0MxOVZyRTlKRWRzR1RPb0JBLzlGSXhOT1RkRmNtUWZzMVg3Qgp6U3M5QVdINHQvU0h3QWpTK21XSk5DQ3ZPVXF2bHZhZ3pKQWp2bmdXN3JaZ0VQSVdqR2RTdkpRY2JUTT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", "Store": "default" + }, + { + "domain": { + "main": "git.focus-on-it.net" + }, + "certificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdBVENDQk9tZ0F3SUJBZ0lTQnZCL1h2MlJvSlFhMTdqaW1YcUQrcXhhTUEwR0NTcUdTSWIzRFFFQkN3VUEKTURNeEN6QUpCZ05WQkFZVEFsVlRNUll3RkFZRFZRUUtFdzFNWlhRbmN5QkZibU55ZVhCME1Rd3dDZ1lEVlFRRApFd05TTVRNd0hoY05Nall3TXpJNE1USXpNek00V2hjTk1qWXdOakkyTVRJek16TTNXakFlTVJ3d0dnWURWUVFECkV4Tm5hWFF1Wm05amRYTXRiMjR0YVhRdWJtVjBNSUlDSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQWc4QU1JSUMKQ2dLQ0FnRUFvSUJocDRINzVSdTBNcFZYZVcrbFNMcDhYVU5jbEIwdityOEt1TWRoN0UvNytYWDBENHBIOFRYMwo1ZVI5d2tyTENLb3BWeStPQkJHVmdGa3Q3cTUwZTAwaHhjR1BlUFdRd0ZXeGtDYVF3SnYwUkR3bWtqZXRJSEFhClBUbXc5M1oyVGxRa0JDZnYrZjNuaTFnZ2Nla3U5Z1pGZkdUU0s1UzJxa0cxYVBKWUMyUGdGcXMzNnNwR0s0T1AKUnVKeTlSTVlidTRFUVdSQnM4TXpwQ3pPWU1FdHV5ZTU1T1Z3UnpuSjREM0lPcHlleFMrZ2FBbUErNk42SkgyMQozalRyTWFyWEZXRnFXK2dnNnZtT21DVGRIOU1aVjFoR0RjLy9PQUpZcGVGS1JPaWNXYjZncGZLNDZSVTYvYzVtCllCaDh4aEVncnMraEEwaGgvUkQzTXVKT2VpS2NDaFpUa0VVL0lHMnM3ZHdibEFsbjFSdjd1aUZtL0llbnVxd0gKbmIvRzlIM1dLMkNpdkpENENueVpWclVnQ1NjQUdnY3NNbGFwUEUxOXNsRzgwUHFTVjdWOGdrWTBuMGgyOXNnZwpqY2ZFbG5BdWEvQW1EWUpha1FGcTU2dkVzbTJJdXg1Z2NrRjZlaGhSOXdmZUlpQ2piOWMvbEI2L1ZlNVFlVG5YCnAzNVhsVHU4NnBQc2JIenZwQ20xajc3Y1hVQ2RWMHdlUzRRQ1p3dmhuamRZMEJzZFhSQTZjay9zMDRnMVlOaGwKcmN3VHN5KzBiNFE2WGE3T2JXTnB1RnlLejE0RnQ1M0l2RHhmOEk0ay9YNnEyTGFCWVQyNnVYbG1XaTFPbWliTQp6UjJHY3llUndPWTVncGI2dUdwRkp2T0UvbjRnYVk3MWJJTkxxdml1T1pxNGZQOTVaYzhDQXdFQUFhT0NBaUl3CmdnSWVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBVEFNQmdOVkhSTUIKQWY4RUFqQUFNQjBHQTFVZERnUVdCQlFHM2RIekZ0MmNEZjd0UVJReDRiOGJsU1I0RURBZkJnTlZIU01FR0RBVwpnQlRucTU4UExET2dVOU5lVDNqSXNvUU9POWFTTXpBekJnZ3JCZ0VGQlFjQkFRUW5NQ1V3SXdZSUt3WUJCUVVICk1BS0dGMmgwZEhBNkx5OXlNVE11YVM1c1pXNWpjaTV2Y21jdk1CNEdBMVVkRVFRWE1CV0NFMmRwZEM1bWIyTjEKY3kxdmJpMXBkQzV1WlhRd0V3WURWUjBnQkF3d0NqQUlCZ1puZ1F3QkFnRXdMZ1lEVlIwZkJDY3dKVEFqb0NHZwpINFlkYUhSMGNEb3ZMM0l4TXk1akxteGxibU55TG05eVp5ODVNUzVqY213d2dnRU5CZ29yQmdFRUFkWjVBZ1FDCkJJSCtCSUg3QVBrQWRnQU9WNVM4ODY2cFBqTWJMSmtIcy9lUTM1dkNQWEV5SmQwaHFTV3NZY1ZPSVFBQUFaMDAKcFJ1Y0FBQUVBd0JITUVVQ0lCV29yVEllTFhLTkxweGtKN25KYi9qNEhpazVUTy9EMzlENm5jWmNqdVdzQWlFQQo5TVpMUGhmQ0c3TWJIZVhpSXp0b3VSeEd4YktBeVBhTmJYQzNwb2c2RGpRQWZ3QnhmcFh6d2ppS2JiSGpoRWs5Ck1lRmFxV0lJZGkxQ0FPQUZETkJudGFaaDRnQUFBWjAwcFJ4M0FBZ0FBQVVBRE0xL0RRUURBRWd3UmdJaEFOalcKWGd1VUMrM1A1eUdienc0UzdxQjkvb1RRWHp5NktSM3ZxQmk2akxVRUFpRUF2QnR6eXJYdU5wSkJYNk4vOXBHdQpranRrZ295QUVUMnI0eUd3ajRmc1B5UXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBRU5IblBISTE2WnI5Y2g4CjJsV2R1MjJYeXU0MVVqeXNPYnA1dHpkY1hXeC9YMFhoNDZTb3VObnVRaFdGeFlrbU4zeXJLaVFFaWhGajFwWngKeWJCTUU2LytsbFl2WHNCZVJYN0NoUlJ1MTVad0Y1d0dyZGdFZWpLdzhrNFVYME1zYm9Qd0N4enpJcGFMWFpmWAp4emJsMzFPOStqdG9iNnlJTHJBMFZZY0MwdWlvNFVjWllzOUxwaFoyZFo3RkVGY3VybzRnUXFDWmhqMEY2L0JiCjVoT2RBbkk3NkJuUnhzTzY4TFZaNGk4V3Q1MmMvenkrYTZsd1lERllTMS9KZ0NXSk9wOHNYNHJ4UDlVekgzZHAKWnJYcXE5emFvM3lJSy9lTjVKZFhjRzBRMEJ4M0VjQkdadkI4VXBTMTBqL0tJSEx1ZGtCOFBGb1VXUWtkUkFOeAp5alEyWmhFPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRkJUQ0NBdTJnQXdJQkFnSVFXZ0R5RXRqVXRJRHpra0ZYNmltREJUQU5CZ2txaGtpRzl3MEJBUXNGQURCUApNUXN3Q1FZRFZRUUdFd0pWVXpFcE1DY0dBMVVFQ2hNZ1NXNTBaWEp1WlhRZ1UyVmpkWEpwZEhrZ1VtVnpaV0Z5ClkyZ2dSM0p2ZFhBeEZUQVRCZ05WQkFNVERFbFRVa2NnVW05dmRDQllNVEFlRncweU5EQXpNVE13TURBd01EQmEKRncweU56QXpNVEl5TXpVNU5UbGFNRE14Q3pBSkJnTlZCQVlUQWxWVE1SWXdGQVlEVlFRS0V3MU1aWFFuY3lCRgpibU55ZVhCME1Rd3dDZ1lEVlFRREV3TlNNVE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsWjNDTjBGYUJaQlVYWWMyNUJ0U3RHWkNNSmxBM21CWmprbFRiMmN5RUJaUHMwK3dJRzZCZ1VVTkkKZlN2SFNKYWV0QzNhbmNnbk8xZWhuNnZ3MWc3VURqREtiNXV4MGRha25USStXRTQxYjBWWWFIRVgvRDdZWFlLZwpMN0pSYkxBYVhiaFp6alZseUl1aHJ4QTMvK09jWGNKSkZ6VC9qQ3VMamZDOGNTeVREQjBGeExySHphckpYbnpSCnlRSDNuQVAyL0FwZDlOcDc1dHQyUW5EcjlFMGkyZ0IzYjliSlh4ZjkyblV1cFZjTTl1cGN0dUJ6cFdqUG9YVGkKZFlKK0VKL0I5YUxyQWVrNHNRcEV6TlBDaWZWSk5ZSUtOTE1jNllqQ1IwNkNEZ28yOEVkUGl2RXBCSFhhemVHYQpYUDllblppVnVwcEQwRXFpRndVQkJERFRNck9QQWdNQkFBR2pnZmd3Z2ZVd0RnWURWUjBQQVFIL0JBUURBZ0dHCk1CMEdBMVVkSlFRV01CUUdDQ3NHQVFVRkJ3TUNCZ2dyQmdFRkJRY0RBVEFTQmdOVkhSTUJBZjhFQ0RBR0FRSC8KQWdFQU1CMEdBMVVkRGdRV0JCVG5xNThQTERPZ1U5TmVUM2pJc29RT085YVNNekFmQmdOVkhTTUVHREFXZ0JSNQp0Rm5tZTdibDVBRnpnQWlJeUJwWTl1bWJiakF5QmdnckJnRUZCUWNCQVFRbU1DUXdJZ1lJS3dZQkJRVUhNQUtHCkZtaDBkSEE2THk5NE1TNXBMbXhsYm1OeUxtOXlaeTh3RXdZRFZSMGdCQXd3Q2pBSUJnWm5nUXdCQWdFd0p3WUQKVlIwZkJDQXdIakFjb0JxZ0dJWVdhSFIwY0RvdkwzZ3hMbU11YkdWdVkzSXViM0puTHpBTkJna3Foa2lHOXcwQgpBUXNGQUFPQ0FnRUFVVGRZVXFFaW16VzdUYnJPeXBMcUNmTDdWT3dZZi9RNzlPSDVjSExDWmVnZ2ZRaERjb25sCms3S2doOGIwdmkrL1h1V3U3Q044bi9VUGVnMXZvM0crdGFYaXJyeXR0aFFpbkFIR3djL1VkYk95Z0phOXp1QmMKVnlxb0gzQ1hUWERJblQrOGErYzNhRVZNSjJTdCtwU240ZWQrV2tEcDhpanNpanZFeUZ3RTQ3aHVsVzBMdHpqZwo5Zk9WNVBtcmcvenhXYlJ1TCtrMERCREhFSmVubkNzQWVuN2MzNVBteDdqcG1KL0h0Z1JoY256MHlqU0J2eUl3CjZMMVFJdXBrQ3YyU0JPRFQveEREM2dmUVF5S3Y2cm9WNEcyRWhmRXlBc1dwbW9qeGpDVUNHaXlnOTdGdkR0bS8KTksyTFNjOWx5Ykt4QjczSTIrUDJHM0NhV3B2dnBBaUhDVnUzMGpXOEdDeEtkZmhzWHRuSXkyaW1za1FxVloybQowUG14b2JiMjhUdWNyN3hCSzdDdHd2UHJiNzlvczd1MlhQM081ZjliL0g2NkdOeVJyZ2xSWGxyWWpJMW9HWUwvCmY0STFuL1NndXNkYTZXdkE2QzE5MGt4alUxNVkxMm1IVTQrQnh5UjljeDJoaEdTOWZBak1aS0pzczI4cXh2ejYKQXh1NENhRG1STlpwSy9wUXJYRjE3eVhDWGttRVdndlNPRVp5Nlo5cGNiTElWRUdja1YvaVZlcTBBT28ycGtnOQpwNFFSSXkwdEsyZGlSRU5MU0YyS3lzRndiWTZCMjZCRmVGczN2MXNZVlJoRlc5bkxrT3JRVnBvckNTMEt5Wm1mCndWRDg5cVNUbG5jdExjWm5JYXZqS3NLVXUxbkExaVUweVlNZFllcEtSN2xXYm53aGR4M2V3b2s9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", + "key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBb0lCaHA0SDc1UnUwTXBWWGVXK2xTTHA4WFVOY2xCMHYrcjhLdU1kaDdFLzcrWFgwCkQ0cEg4VFgzNWVSOXdrckxDS29wVnkrT0JCR1ZnRmt0N3E1MGUwMGh4Y0dQZVBXUXdGV3hrQ2FRd0p2MFJEd20Ka2pldElIQWFQVG13OTNaMlRsUWtCQ2Z2K2YzbmkxZ2djZWt1OWdaRmZHVFNLNVMycWtHMWFQSllDMlBnRnFzMwo2c3BHSzRPUFJ1Snk5Uk1ZYnU0RVFXUkJzOE16cEN6T1lNRXR1eWU1NU9Wd1J6bko0RDNJT3B5ZXhTK2dhQW1BCis2TjZKSDIxM2pUck1hclhGV0ZxVytnZzZ2bU9tQ1RkSDlNWlYxaEdEYy8vT0FKWXBlRktST2ljV2I2Z3BmSzQKNlJVNi9jNW1ZQmg4eGhFZ3JzK2hBMGhoL1JEM011Sk9laUtjQ2haVGtFVS9JRzJzN2R3YmxBbG4xUnY3dWlGbQovSWVudXF3SG5iL0c5SDNXSzJDaXZKRDRDbnlaVnJVZ0NTY0FHZ2NzTWxhcFBFMTlzbEc4MFBxU1Y3Vjhna1kwCm4waDI5c2dnamNmRWxuQXVhL0FtRFlKYWtRRnE1NnZFc20ySXV4NWdja0Y2ZWhoUjl3ZmVJaUNqYjljL2xCNi8KVmU1UWVUblhwMzVYbFR1ODZwUHNiSHp2cENtMWo3N2NYVUNkVjB3ZVM0UUNad3ZobmpkWTBCc2RYUkE2Y2svcwowNGcxWU5obHJjd1RzeSswYjRRNlhhN09iV05wdUZ5S3oxNEZ0NTNJdkR4ZjhJNGsvWDZxMkxhQllUMjZ1WGxtCldpMU9taWJNelIyR2N5ZVJ3T1k1Z3BiNnVHcEZKdk9FL240Z2FZNzFiSU5McXZpdU9acTRmUDk1WmM4Q0F3RUEKQVFLQ0FnQWM2NlV0Q3NYNTNZa1Z5RVV2MDRkRDJKNktLNVlsOWpCc0RUcUFXeVR3OE9TbGFiU2xqRFEwYVpZVwpyWnBmaFJ5YW5oYSs2QW05Ly9FaFpIQmJYc0lNYWJTWkxxeU1qaXNjRFJUbXRaeEZxSlJXSzBTRCtsWk96d1JiClhlYmVZRkVuQWhCUFUyYnhjK2ZoK3VvMXZGL0M0eFJvT3I2SUxjN1FWUEM4VFZiQ0RxZ1ZUWnJReXN2a0VWdWkKMlREL3FnWXdEdUZqYXc1UHR1KzZPSHlqZ0l1ZCtxV0xjakJPRlVLa0RsM2krYysrRmp2Z0l6NURtWXhyd044aApnQVdWT0lSekRNK2VhZkJzaHJWRUF2aDVRSStEWnB1UTU1YkVYOS9iWEFJRzhxY2hvTERQMWpHdGhpN1FCdjM1CmVOQWEzSUU0SHArVHVObzNRSFJhamQ2NE1UNU9aZUJBMjFUdmxvcXRsY1dMd1pYdWhTU2xvb2RsdDhyR3U0ZTQKcEsyMy9LUUh0YkFvc0Vqb2M2WWVLYkNDSlBOVGViUmxPTWR4S0tNT0d0UUZ5RE03K3NoZ0lYYVkrSWRPQzRaWQp2OGZWT0JmS1FsdzI3Y0E5amZBSUdiOXlyOG0xTVZaeENyMW9uajhXMVpVRjBNbGRLNjJPR0RUSFFxV3ZaMmd4Ck0yaXJpVkpWcHArSmozWFI2NXFTWHVUUCs0dzJlOGFVeTFVQW04c2Y2Q3FVVDRuT1lMV1VCMUZ2OWxicWRSemoKUXc0OFgwbm1aUm90RTROREV5cXpSOGg0UVBoZXFNUXdtbUpwNHVuSkY1ZHN2eEtMbHUrZ295L1VjOG53RWRxYgoxNnljU0FhcTlVWTNXYSttblJpeElVaUkwTm5Gdm5oTFF1bkFpQ2ttVmh3d08zN3ZlUUtDQVFFQTFHRHJza2M5ClhPeGkzU2Y4S3R1N3k4ZnVvbHpsUWhmMlVNRVJKQnJPMW5qMFRXKzNxbXpUUDdXZU1sVEZpSkFJUlhuZUJicFEKMDFRRjg3ajNKR0FhdEMxbzFiZnV0WGc5M2I3bTl0TlhucG5zd1YvamR3VW80WHVzZXFXTUtMWEgvd3N4T2RxbApkU0RNMCtIRU4vL3NXVHdLZmVlQlFRczVJSU9aWlA0a0JXNUlsd3NXSWZJUVJTSE1DUTZZNXF5bmptMlBxeW9kClhCS1UrakNBd2RkelVRRGJvUllVcVQ0ZzJvQnpWcXhXMko0L25SYTlieTIxSHBrQk9tNDBZalljWWJoQlQ1dm8KdlJEMkRBa0MxOHlTM1FSUnRORXdDUUxSSHczcHNhT3pCTWlvWDl4WlNWaENDS0JwTWdxUFBMdkFrV0x6bUloWQpEN2s5ajNvazRCbm5qUUtDQVFFQXdYZTE1M1FWaTBYR2lXTUh4VEM0NHQvbmhjZmJySHJXQkkxZVp4Mi93ZkVDCnY5N1ZkV25BQkRBdk9kVHFKR3Z3OU9IT2ZlRTkrOEJqRXo1WS8weFFRVkZLYjZBMkVTS3lMV0YrY3NKRXNmTjcKM05kWlUxaDA3c3h2eEVqSXc4NnpmdEFDcmNlRUZveVBKUTF3MW80WXFRZVlyYUxXdEpQS1FOWEplVktITENvYQo5RCtHb2h2clVBYTV1bCs2NzJMKzlEdFZQc0prMnF3MGx0K3RVbXVSKzFHQmF6RTBFYklreU9mdUZqOGR5V1FRCkRxc01CTDN6Z2F2ZnhRMUhLbHpUeisrV0NEWFFnaEZSdGJHaHMzT2EzQWsvYUNMTUcvYU1oOGovUUJYcGw4TmYKZ0VwSm9McFM1ajVaYmNOOUUvRkw2NE5qMTFhL3R6WkU0SzF3UWVjdHl3S0NBUUF0S1M3MWloQ1NZZkhqOVV5NgpFRit1eGFVSkFaZitwZm5LMGtOQzJqQ0JpdGJvWUlrOXhFWm5sY2MrREtpMGtXd3cyZWxNYm9JaGJneVY5dzhXCnZSandsM2RqZXVsWHpXbmFiVzNQcnNGRENKZy94cFFvQ3dEV2NlWUxib2lQWDVoWHM1bVVJOXByUGI1UWtBR1oKcHVJclY0a2puTWJ2ZmVOMzlvUDM1ZExqRk1CNjNmQ201MEp1Y1BGaU82aG41Tzc4YW0vU2hmSVlVaHM3MkhTSQp3N2ZSMGN6aVJEL0FmV1dmRVJGMXJOQUs0QnZHMjc4TWxUdWVkZ3E4MGhKeGovQVpGNFZMMkd0MVNOWUpXU0V4Cm9sN1lnTUtmSUp5R1RnTUtCM3RhT3VVbWIwVGVuWXllL0JXT29BMitobUJQR2QycEROR2Y3ZDVMK2FnTmludXMKNjlWQkFvSUJBUUNCdXU1RmQvZ0NYaFdWaHN4dEZCREdRWElVcVVISzFNdXlYY0dSejhjSUc3N0dQbnhRc1VyTApCQ3lHMFJqNHQxRHFSSWljckc5TjQySU1RMkNXUU93SUFLU3pXWEVuNkdZbVBCdjRoQUJnZTI3eFZZNVdieGhxCkVMaFpuSnpUZ0VXb29YOUtYR0ZjWllDUFRnWCtPV2FiNGJZbHFPM2tSTDM0MytLcjhnVW1QazI0dnVoZXgrM3cKeWJHOUlmaE9FY240cDlpdnJ0YkdNM2RJUEZFUzFZTWNUVGxGVWNjaW5weEFCQllJNE9YdVo2VEUwVG5MN0R2ZgpGZ3VGTFRRdFdmWEdsMWU1eGF3OXE3Tm83T1lMV1ZmY2VHOEdPMTgyMlFxKytxNytvREwxUzFNOHlaTzVyWGR0CllSM0NsclhHcTZWSEZlSGJRaFpvbW9GeFQ1dlk5VllsQW9JQkFGM3lST0N6NE5aV1pZQ3BqNXVCNlV6eEdPdisKL3ozT0ZGYVd5VUladEFBblI2SEprMzM2SXVBMXRKbDQzNDczbDFGUkdxUHRHc2x4enBTaDZod1gxYkJIam5RWQpWVDl5SjNRR292NEp0QnhHVmtZbG84UmI0ajA4WG1yZEVTSmhheFM5WHRWRWxzRmpYSzFDbWpjNldzNjgzWSszClVNeTRxL25Ob0ttTjB0TnVuamNhbEdFdU5ZUVFhSytHOWN5YUZ6WDVhdzJzYnhUWFlrZWxlZ3JQVTNIZzFsY28KRlBVZEcwU3VDNDgwako2M3YxQmgrRVoyZEgvWGQ4b2JLZ2NPdTdwbEVQc1ZUSGhwRlRGZzc1SGIyU2d3dGFveQpYL1dtUG42LzRQbXFHRVdpMER5N1Z5R0hwbEplNUROVFViNVAzSEtzYUdBTG1OUFBIWmNOTHM4Y2pJVT0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K", + "Store": "default" } ] }